{"id":"3e6f240b66bb67651ec3562e7b113f27","_format":"hh-sol-build-info-1","solcVersion":"0.8.7","solcLongVersion":"0.8.7+commit.e28d00a7","input":{"language":"Solidity","sources":{"@chainlink/contracts/src/v0.8/Chainlink.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport {CBORChainlink} from \"./vendor/CBORChainlink.sol\";\nimport {BufferChainlink} from \"./vendor/BufferChainlink.sol\";\n\n/**\n * @title Library for common Chainlink functions\n * @dev Uses imported CBOR library for encoding to buffer\n */\nlibrary Chainlink {\n  uint256 internal constant defaultBufferSize = 256; // solhint-disable-line const-name-snakecase\n\n  using CBORChainlink for BufferChainlink.buffer;\n\n  struct Request {\n    bytes32 id;\n    address callbackAddress;\n    bytes4 callbackFunctionId;\n    uint256 nonce;\n    BufferChainlink.buffer buf;\n  }\n\n  /**\n   * @notice Initializes a Chainlink request\n   * @dev Sets the ID, callback address, and callback function signature on the request\n   * @param self The uninitialized request\n   * @param jobId The Job Specification ID\n   * @param callbackAddr The callback address\n   * @param callbackFunc The callback function signature\n   * @return The initialized request\n   */\n  function initialize(\n    Request memory self,\n    bytes32 jobId,\n    address callbackAddr,\n    bytes4 callbackFunc\n  ) internal pure returns (Chainlink.Request memory) {\n    BufferChainlink.init(self.buf, defaultBufferSize);\n    self.id = jobId;\n    self.callbackAddress = callbackAddr;\n    self.callbackFunctionId = callbackFunc;\n    return self;\n  }\n\n  /**\n   * @notice Sets the data for the buffer without encoding CBOR on-chain\n   * @dev CBOR can be closed with curly-brackets {} or they can be left off\n   * @param self The initialized request\n   * @param data The CBOR data\n   */\n  function setBuffer(Request memory self, bytes memory data) internal pure {\n    BufferChainlink.init(self.buf, data.length);\n    BufferChainlink.append(self.buf, data);\n  }\n\n  /**\n   * @notice Adds a string value to the request with a given key name\n   * @param self The initialized request\n   * @param key The name of the key\n   * @param value The string value to add\n   */\n  function add(\n    Request memory self,\n    string memory key,\n    string memory value\n  ) internal pure {\n    self.buf.encodeString(key);\n    self.buf.encodeString(value);\n  }\n\n  /**\n   * @notice Adds a bytes value to the request with a given key name\n   * @param self The initialized request\n   * @param key The name of the key\n   * @param value The bytes value to add\n   */\n  function addBytes(\n    Request memory self,\n    string memory key,\n    bytes memory value\n  ) internal pure {\n    self.buf.encodeString(key);\n    self.buf.encodeBytes(value);\n  }\n\n  /**\n   * @notice Adds a int256 value to the request with a given key name\n   * @param self The initialized request\n   * @param key The name of the key\n   * @param value The int256 value to add\n   */\n  function addInt(\n    Request memory self,\n    string memory key,\n    int256 value\n  ) internal pure {\n    self.buf.encodeString(key);\n    self.buf.encodeInt(value);\n  }\n\n  /**\n   * @notice Adds a uint256 value to the request with a given key name\n   * @param self The initialized request\n   * @param key The name of the key\n   * @param value The uint256 value to add\n   */\n  function addUint(\n    Request memory self,\n    string memory key,\n    uint256 value\n  ) internal pure {\n    self.buf.encodeString(key);\n    self.buf.encodeUInt(value);\n  }\n\n  /**\n   * @notice Adds an array of strings to the request with a given key name\n   * @param self The initialized request\n   * @param key The name of the key\n   * @param values The array of string values to add\n   */\n  function addStringArray(\n    Request memory self,\n    string memory key,\n    string[] memory values\n  ) internal pure {\n    self.buf.encodeString(key);\n    self.buf.startArray();\n    for (uint256 i = 0; i < values.length; i++) {\n      self.buf.encodeString(values[i]);\n    }\n    self.buf.endSequence();\n  }\n}\n"},"@chainlink/contracts/src/v0.8/ChainlinkClient.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport \"./Chainlink.sol\";\nimport \"./interfaces/ENSInterface.sol\";\nimport \"./interfaces/LinkTokenInterface.sol\";\nimport \"./interfaces/ChainlinkRequestInterface.sol\";\nimport \"./interfaces/OperatorInterface.sol\";\nimport \"./interfaces/PointerInterface.sol\";\nimport {ENSResolver as ENSResolver_Chainlink} from \"./vendor/ENSResolver.sol\";\n\n/**\n * @title The ChainlinkClient contract\n * @notice Contract writers can inherit this contract in order to create requests for the\n * Chainlink network\n */\nabstract contract ChainlinkClient {\n  using Chainlink for Chainlink.Request;\n\n  uint256 internal constant LINK_DIVISIBILITY = 10**18;\n  uint256 private constant AMOUNT_OVERRIDE = 0;\n  address private constant SENDER_OVERRIDE = address(0);\n  uint256 private constant ORACLE_ARGS_VERSION = 1;\n  uint256 private constant OPERATOR_ARGS_VERSION = 2;\n  bytes32 private constant ENS_TOKEN_SUBNAME = keccak256(\"link\");\n  bytes32 private constant ENS_ORACLE_SUBNAME = keccak256(\"oracle\");\n  address private constant LINK_TOKEN_POINTER = 0xC89bD4E1632D3A43CB03AAAd5262cbe4038Bc571;\n\n  ENSInterface private s_ens;\n  bytes32 private s_ensNode;\n  LinkTokenInterface private s_link;\n  OperatorInterface private s_oracle;\n  uint256 private s_requestCount = 1;\n  mapping(bytes32 => address) private s_pendingRequests;\n\n  event ChainlinkRequested(bytes32 indexed id);\n  event ChainlinkFulfilled(bytes32 indexed id);\n  event ChainlinkCancelled(bytes32 indexed id);\n\n  /**\n   * @notice Creates a request that can hold additional parameters\n   * @param specId The Job Specification ID that the request will be created for\n   * @param callbackAddr address to operate the callback on\n   * @param callbackFunctionSignature function signature to use for the callback\n   * @return A Chainlink Request struct in memory\n   */\n  function buildChainlinkRequest(\n    bytes32 specId,\n    address callbackAddr,\n    bytes4 callbackFunctionSignature\n  ) internal pure returns (Chainlink.Request memory) {\n    Chainlink.Request memory req;\n    return req.initialize(specId, callbackAddr, callbackFunctionSignature);\n  }\n\n  /**\n   * @notice Creates a request that can hold additional parameters\n   * @param specId The Job Specification ID that the request will be created for\n   * @param callbackFunctionSignature function signature to use for the callback\n   * @return A Chainlink Request struct in memory\n   */\n  function buildOperatorRequest(bytes32 specId, bytes4 callbackFunctionSignature)\n    internal\n    view\n    returns (Chainlink.Request memory)\n  {\n    Chainlink.Request memory req;\n    return req.initialize(specId, address(this), callbackFunctionSignature);\n  }\n\n  /**\n   * @notice Creates a Chainlink request to the stored oracle address\n   * @dev Calls `chainlinkRequestTo` with the stored oracle address\n   * @param req The initialized Chainlink Request\n   * @param payment The amount of LINK to send for the request\n   * @return requestId The request ID\n   */\n  function sendChainlinkRequest(Chainlink.Request memory req, uint256 payment) internal returns (bytes32) {\n    return sendChainlinkRequestTo(address(s_oracle), req, payment);\n  }\n\n  /**\n   * @notice Creates a Chainlink request to the specified oracle address\n   * @dev Generates and stores a request ID, increments the local nonce, and uses `transferAndCall` to\n   * send LINK which creates a request on the target oracle contract.\n   * Emits ChainlinkRequested event.\n   * @param oracleAddress The address of the oracle for the request\n   * @param req The initialized Chainlink Request\n   * @param payment The amount of LINK to send for the request\n   * @return requestId The request ID\n   */\n  function sendChainlinkRequestTo(\n    address oracleAddress,\n    Chainlink.Request memory req,\n    uint256 payment\n  ) internal returns (bytes32 requestId) {\n    uint256 nonce = s_requestCount;\n    s_requestCount = nonce + 1;\n    bytes memory encodedRequest = abi.encodeWithSelector(\n      ChainlinkRequestInterface.oracleRequest.selector,\n      SENDER_OVERRIDE, // Sender value - overridden by onTokenTransfer by the requesting contract's address\n      AMOUNT_OVERRIDE, // Amount value - overridden by onTokenTransfer by the actual amount of LINK sent\n      req.id,\n      address(this),\n      req.callbackFunctionId,\n      nonce,\n      ORACLE_ARGS_VERSION,\n      req.buf.buf\n    );\n    return _rawRequest(oracleAddress, nonce, payment, encodedRequest);\n  }\n\n  /**\n   * @notice Creates a Chainlink request to the stored oracle address\n   * @dev This function supports multi-word response\n   * @dev Calls `sendOperatorRequestTo` with the stored oracle address\n   * @param req The initialized Chainlink Request\n   * @param payment The amount of LINK to send for the request\n   * @return requestId The request ID\n   */\n  function sendOperatorRequest(Chainlink.Request memory req, uint256 payment) internal returns (bytes32) {\n    return sendOperatorRequestTo(address(s_oracle), req, payment);\n  }\n\n  /**\n   * @notice Creates a Chainlink request to the specified oracle address\n   * @dev This function supports multi-word response\n   * @dev Generates and stores a request ID, increments the local nonce, and uses `transferAndCall` to\n   * send LINK which creates a request on the target oracle contract.\n   * Emits ChainlinkRequested event.\n   * @param oracleAddress The address of the oracle for the request\n   * @param req The initialized Chainlink Request\n   * @param payment The amount of LINK to send for the request\n   * @return requestId The request ID\n   */\n  function sendOperatorRequestTo(\n    address oracleAddress,\n    Chainlink.Request memory req,\n    uint256 payment\n  ) internal returns (bytes32 requestId) {\n    uint256 nonce = s_requestCount;\n    s_requestCount = nonce + 1;\n    bytes memory encodedRequest = abi.encodeWithSelector(\n      OperatorInterface.operatorRequest.selector,\n      SENDER_OVERRIDE, // Sender value - overridden by onTokenTransfer by the requesting contract's address\n      AMOUNT_OVERRIDE, // Amount value - overridden by onTokenTransfer by the actual amount of LINK sent\n      req.id,\n      req.callbackFunctionId,\n      nonce,\n      OPERATOR_ARGS_VERSION,\n      req.buf.buf\n    );\n    return _rawRequest(oracleAddress, nonce, payment, encodedRequest);\n  }\n\n  /**\n   * @notice Make a request to an oracle\n   * @param oracleAddress The address of the oracle for the request\n   * @param nonce used to generate the request ID\n   * @param payment The amount of LINK to send for the request\n   * @param encodedRequest data encoded for request type specific format\n   * @return requestId The request ID\n   */\n  function _rawRequest(\n    address oracleAddress,\n    uint256 nonce,\n    uint256 payment,\n    bytes memory encodedRequest\n  ) private returns (bytes32 requestId) {\n    requestId = keccak256(abi.encodePacked(this, nonce));\n    s_pendingRequests[requestId] = oracleAddress;\n    emit ChainlinkRequested(requestId);\n    require(s_link.transferAndCall(oracleAddress, payment, encodedRequest), \"unable to transferAndCall to oracle\");\n  }\n\n  /**\n   * @notice Allows a request to be cancelled if it has not been fulfilled\n   * @dev Requires keeping track of the expiration value emitted from the oracle contract.\n   * Deletes the request from the `pendingRequests` mapping.\n   * Emits ChainlinkCancelled event.\n   * @param requestId The request ID\n   * @param payment The amount of LINK sent for the request\n   * @param callbackFunc The callback function specified for the request\n   * @param expiration The time of the expiration for the request\n   */\n  function cancelChainlinkRequest(\n    bytes32 requestId,\n    uint256 payment,\n    bytes4 callbackFunc,\n    uint256 expiration\n  ) internal {\n    OperatorInterface requested = OperatorInterface(s_pendingRequests[requestId]);\n    delete s_pendingRequests[requestId];\n    emit ChainlinkCancelled(requestId);\n    requested.cancelOracleRequest(requestId, payment, callbackFunc, expiration);\n  }\n\n  /**\n   * @notice the next request count to be used in generating a nonce\n   * @dev starts at 1 in order to ensure consistent gas cost\n   * @return returns the next request count to be used in a nonce\n   */\n  function getNextRequestCount() internal view returns (uint256) {\n    return s_requestCount;\n  }\n\n  /**\n   * @notice Sets the stored oracle address\n   * @param oracleAddress The address of the oracle contract\n   */\n  function setChainlinkOracle(address oracleAddress) internal {\n    s_oracle = OperatorInterface(oracleAddress);\n  }\n\n  /**\n   * @notice Sets the LINK token address\n   * @param linkAddress The address of the LINK token contract\n   */\n  function setChainlinkToken(address linkAddress) internal {\n    s_link = LinkTokenInterface(linkAddress);\n  }\n\n  /**\n   * @notice Sets the Chainlink token address for the public\n   * network as given by the Pointer contract\n   */\n  function setPublicChainlinkToken() internal {\n    setChainlinkToken(PointerInterface(LINK_TOKEN_POINTER).getAddress());\n  }\n\n  /**\n   * @notice Retrieves the stored address of the LINK token\n   * @return The address of the LINK token\n   */\n  function chainlinkTokenAddress() internal view returns (address) {\n    return address(s_link);\n  }\n\n  /**\n   * @notice Retrieves the stored address of the oracle contract\n   * @return The address of the oracle contract\n   */\n  function chainlinkOracleAddress() internal view returns (address) {\n    return address(s_oracle);\n  }\n\n  /**\n   * @notice Allows for a request which was created on another contract to be fulfilled\n   * on this contract\n   * @param oracleAddress The address of the oracle contract that will fulfill the request\n   * @param requestId The request ID used for the response\n   */\n  function addChainlinkExternalRequest(address oracleAddress, bytes32 requestId) internal notPendingRequest(requestId) {\n    s_pendingRequests[requestId] = oracleAddress;\n  }\n\n  /**\n   * @notice Sets the stored oracle and LINK token contracts with the addresses resolved by ENS\n   * @dev Accounts for subnodes having different resolvers\n   * @param ensAddress The address of the ENS contract\n   * @param node The ENS node hash\n   */\n  function useChainlinkWithENS(address ensAddress, bytes32 node) internal {\n    s_ens = ENSInterface(ensAddress);\n    s_ensNode = node;\n    bytes32 linkSubnode = keccak256(abi.encodePacked(s_ensNode, ENS_TOKEN_SUBNAME));\n    ENSResolver_Chainlink resolver = ENSResolver_Chainlink(s_ens.resolver(linkSubnode));\n    setChainlinkToken(resolver.addr(linkSubnode));\n    updateChainlinkOracleWithENS();\n  }\n\n  /**\n   * @notice Sets the stored oracle contract with the address resolved by ENS\n   * @dev This may be called on its own as long as `useChainlinkWithENS` has been called previously\n   */\n  function updateChainlinkOracleWithENS() internal {\n    bytes32 oracleSubnode = keccak256(abi.encodePacked(s_ensNode, ENS_ORACLE_SUBNAME));\n    ENSResolver_Chainlink resolver = ENSResolver_Chainlink(s_ens.resolver(oracleSubnode));\n    setChainlinkOracle(resolver.addr(oracleSubnode));\n  }\n\n  /**\n   * @notice Ensures that the fulfillment is valid for this contract\n   * @dev Use if the contract developer prefers methods instead of modifiers for validation\n   * @param requestId The request ID for fulfillment\n   */\n  function validateChainlinkCallback(bytes32 requestId)\n    internal\n    recordChainlinkFulfillment(requestId)\n  // solhint-disable-next-line no-empty-blocks\n  {\n\n  }\n\n  /**\n   * @dev Reverts if the sender is not the oracle of the request.\n   * Emits ChainlinkFulfilled event.\n   * @param requestId The request ID for fulfillment\n   */\n  modifier recordChainlinkFulfillment(bytes32 requestId) {\n    require(msg.sender == s_pendingRequests[requestId], \"Source must be the oracle of the request\");\n    delete s_pendingRequests[requestId];\n    emit ChainlinkFulfilled(requestId);\n    _;\n  }\n\n  /**\n   * @dev Reverts if the request is already pending\n   * @param requestId The request ID for fulfillment\n   */\n  modifier notPendingRequest(bytes32 requestId) {\n    require(s_pendingRequests[requestId] == address(0), \"Request is already pending\");\n    _;\n  }\n}\n"},"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface AggregatorV3Interface {\n  function decimals() external view returns (uint8);\n\n  function description() external view returns (string memory);\n\n  function version() external view returns (uint256);\n\n  function getRoundData(uint80 _roundId)\n    external\n    view\n    returns (\n      uint80 roundId,\n      int256 answer,\n      uint256 startedAt,\n      uint256 updatedAt,\n      uint80 answeredInRound\n    );\n\n  function latestRoundData()\n    external\n    view\n    returns (\n      uint80 roundId,\n      int256 answer,\n      uint256 startedAt,\n      uint256 updatedAt,\n      uint80 answeredInRound\n    );\n}\n"},"@chainlink/contracts/src/v0.8/interfaces/ChainlinkRequestInterface.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface ChainlinkRequestInterface {\n  function oracleRequest(\n    address sender,\n    uint256 requestPrice,\n    bytes32 serviceAgreementID,\n    address callbackAddress,\n    bytes4 callbackFunctionId,\n    uint256 nonce,\n    uint256 dataVersion,\n    bytes calldata data\n  ) external;\n\n  function cancelOracleRequest(\n    bytes32 requestId,\n    uint256 payment,\n    bytes4 callbackFunctionId,\n    uint256 expiration\n  ) external;\n}\n"},"@chainlink/contracts/src/v0.8/interfaces/ENSInterface.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface ENSInterface {\n  // Logged when the owner of a node assigns a new owner to a subnode.\n  event NewOwner(bytes32 indexed node, bytes32 indexed label, address owner);\n\n  // Logged when the owner of a node transfers ownership to a new account.\n  event Transfer(bytes32 indexed node, address owner);\n\n  // Logged when the resolver for a node changes.\n  event NewResolver(bytes32 indexed node, address resolver);\n\n  // Logged when the TTL of a node changes\n  event NewTTL(bytes32 indexed node, uint64 ttl);\n\n  function setSubnodeOwner(\n    bytes32 node,\n    bytes32 label,\n    address owner\n  ) external;\n\n  function setResolver(bytes32 node, address resolver) external;\n\n  function setOwner(bytes32 node, address owner) external;\n\n  function setTTL(bytes32 node, uint64 ttl) external;\n\n  function owner(bytes32 node) external view returns (address);\n\n  function resolver(bytes32 node) external view returns (address);\n\n  function ttl(bytes32 node) external view returns (uint64);\n}\n"},"@chainlink/contracts/src/v0.8/interfaces/KeeperCompatibleInterface.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface KeeperCompatibleInterface {\n  /**\n   * @notice method that is simulated by the keepers to see if any work actually\n   * needs to be performed. This method does does not actually need to be\n   * executable, and since it is only ever simulated it can consume lots of gas.\n   * @dev To ensure that it is never called, you may want to add the\n   * cannotExecute modifier from KeeperBase to your implementation of this\n   * method.\n   * @param checkData specified in the upkeep registration so it is always the\n   * same for a registered upkeep. This can easily be broken down into specific\n   * arguments using `abi.decode`, so multiple upkeeps can be registered on the\n   * same contract and easily differentiated by the contract.\n   * @return upkeepNeeded boolean to indicate whether the keeper should call\n   * performUpkeep or not.\n   * @return performData bytes that the keeper should call performUpkeep with, if\n   * upkeep is needed. If you would like to encode data to decode later, try\n   * `abi.encode`.\n   */\n  function checkUpkeep(bytes calldata checkData) external returns (bool upkeepNeeded, bytes memory performData);\n\n  /**\n   * @notice method that is actually executed by the keepers, via the registry.\n   * The data returned by the checkUpkeep simulation will be passed into\n   * this method to actually be executed.\n   * @dev The input to this method should not be trusted, and the caller of the\n   * method should not even be restricted to any single registry. Anyone should\n   * be able call it, and the input should be validated, there is no guarantee\n   * that the data passed in is the performData returned from checkUpkeep. This\n   * could happen due to malicious keepers, racing keepers, or simply a state\n   * change while the performUpkeep transaction is waiting for confirmation.\n   * Always validate the data passed in.\n   * @param performData is the data which was passed back from the checkData\n   * simulation. If it is encoded, it can easily be decoded into other types by\n   * calling `abi.decode`. This data should not be trusted, and should be\n   * validated against the contract's current state.\n   */\n  function performUpkeep(bytes calldata performData) external;\n}\n"},"@chainlink/contracts/src/v0.8/interfaces/LinkTokenInterface.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface LinkTokenInterface {\n  function allowance(address owner, address spender) external view returns (uint256 remaining);\n\n  function approve(address spender, uint256 value) external returns (bool success);\n\n  function balanceOf(address owner) external view returns (uint256 balance);\n\n  function decimals() external view returns (uint8 decimalPlaces);\n\n  function decreaseApproval(address spender, uint256 addedValue) external returns (bool success);\n\n  function increaseApproval(address spender, uint256 subtractedValue) external;\n\n  function name() external view returns (string memory tokenName);\n\n  function symbol() external view returns (string memory tokenSymbol);\n\n  function totalSupply() external view returns (uint256 totalTokensIssued);\n\n  function transfer(address to, uint256 value) external returns (bool success);\n\n  function transferAndCall(\n    address to,\n    uint256 value,\n    bytes calldata data\n  ) external returns (bool success);\n\n  function transferFrom(\n    address from,\n    address to,\n    uint256 value\n  ) external returns (bool success);\n}\n"},"@chainlink/contracts/src/v0.8/interfaces/OperatorInterface.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport \"./OracleInterface.sol\";\nimport \"./ChainlinkRequestInterface.sol\";\n\ninterface OperatorInterface is OracleInterface, ChainlinkRequestInterface {\n  function operatorRequest(\n    address sender,\n    uint256 payment,\n    bytes32 specId,\n    bytes4 callbackFunctionId,\n    uint256 nonce,\n    uint256 dataVersion,\n    bytes calldata data\n  ) external;\n\n  function fulfillOracleRequest2(\n    bytes32 requestId,\n    uint256 payment,\n    address callbackAddress,\n    bytes4 callbackFunctionId,\n    uint256 expiration,\n    bytes calldata data\n  ) external returns (bool);\n\n  function ownerTransferAndCall(\n    address to,\n    uint256 value,\n    bytes calldata data\n  ) external returns (bool success);\n\n  function distributeFunds(address payable[] calldata receivers, uint256[] calldata amounts) external payable;\n\n  function getAuthorizedSenders() external returns (address[] memory);\n\n  function setAuthorizedSenders(address[] calldata senders) external;\n\n  function getForwarder() external returns (address);\n}\n"},"@chainlink/contracts/src/v0.8/interfaces/OracleInterface.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface OracleInterface {\n  function fulfillOracleRequest(\n    bytes32 requestId,\n    uint256 payment,\n    address callbackAddress,\n    bytes4 callbackFunctionId,\n    uint256 expiration,\n    bytes32 data\n  ) external returns (bool);\n\n  function isAuthorizedSender(address node) external view returns (bool);\n\n  function withdraw(address recipient, uint256 amount) external;\n\n  function withdrawable() external view returns (uint256);\n}\n"},"@chainlink/contracts/src/v0.8/interfaces/PointerInterface.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface PointerInterface {\n  function getAddress() external view returns (address);\n}\n"},"@chainlink/contracts/src/v0.8/interfaces/VRFCoordinatorV2Interface.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface VRFCoordinatorV2Interface {\n  /**\n   * @notice Get configuration relevant for making requests\n   * @return minimumRequestConfirmations global min for request confirmations\n   * @return maxGasLimit global max for request gas limit\n   * @return s_provingKeyHashes list of registered key hashes\n   */\n  function getRequestConfig()\n    external\n    view\n    returns (\n      uint16,\n      uint32,\n      bytes32[] memory\n    );\n\n  /**\n   * @notice Request a set of random words.\n   * @param keyHash - Corresponds to a particular oracle job which uses\n   * that key for generating the VRF proof. Different keyHash's have different gas price\n   * ceilings, so you can select a specific one to bound your maximum per request cost.\n   * @param subId  - The ID of the VRF subscription. Must be funded\n   * with the minimum subscription balance required for the selected keyHash.\n   * @param minimumRequestConfirmations - How many blocks you'd like the\n   * oracle to wait before responding to the request. See SECURITY CONSIDERATIONS\n   * for why you may want to request more. The acceptable range is\n   * [minimumRequestBlockConfirmations, 200].\n   * @param callbackGasLimit - How much gas you'd like to receive in your\n   * fulfillRandomWords callback. Note that gasleft() inside fulfillRandomWords\n   * may be slightly less than this amount because of gas used calling the function\n   * (argument decoding etc.), so you may need to request slightly more than you expect\n   * to have inside fulfillRandomWords. The acceptable range is\n   * [0, maxGasLimit]\n   * @param numWords - The number of uint256 random values you'd like to receive\n   * in your fulfillRandomWords callback. Note these numbers are expanded in a\n   * secure way by the VRFCoordinator from a single random value supplied by the oracle.\n   * @return requestId - A unique identifier of the request. Can be used to match\n   * a request to a response in fulfillRandomWords.\n   */\n  function requestRandomWords(\n    bytes32 keyHash,\n    uint64 subId,\n    uint16 minimumRequestConfirmations,\n    uint32 callbackGasLimit,\n    uint32 numWords\n  ) external returns (uint256 requestId);\n\n  /**\n   * @notice Create a VRF subscription.\n   * @return subId - A unique subscription id.\n   * @dev You can manage the consumer set dynamically with addConsumer/removeConsumer.\n   * @dev Note to fund the subscription, use transferAndCall. For example\n   * @dev  LINKTOKEN.transferAndCall(\n   * @dev    address(COORDINATOR),\n   * @dev    amount,\n   * @dev    abi.encode(subId));\n   */\n  function createSubscription() external returns (uint64 subId);\n\n  /**\n   * @notice Get a VRF subscription.\n   * @param subId - ID of the subscription\n   * @return balance - LINK balance of the subscription in juels.\n   * @return reqCount - number of requests for this subscription, determines fee tier.\n   * @return owner - owner of the subscription.\n   * @return consumers - list of consumer address which are able to use this subscription.\n   */\n  function getSubscription(uint64 subId)\n    external\n    view\n    returns (\n      uint96 balance,\n      uint64 reqCount,\n      address owner,\n      address[] memory consumers\n    );\n\n  /**\n   * @notice Request subscription owner transfer.\n   * @param subId - ID of the subscription\n   * @param newOwner - proposed new owner of the subscription\n   */\n  function requestSubscriptionOwnerTransfer(uint64 subId, address newOwner) external;\n\n  /**\n   * @notice Request subscription owner transfer.\n   * @param subId - ID of the subscription\n   * @dev will revert if original owner of subId has\n   * not requested that msg.sender become the new owner.\n   */\n  function acceptSubscriptionOwnerTransfer(uint64 subId) external;\n\n  /**\n   * @notice Add a consumer to a VRF subscription.\n   * @param subId - ID of the subscription\n   * @param consumer - New consumer which can use the subscription\n   */\n  function addConsumer(uint64 subId, address consumer) external;\n\n  /**\n   * @notice Remove a consumer from a VRF subscription.\n   * @param subId - ID of the subscription\n   * @param consumer - Consumer to remove from the subscription\n   */\n  function removeConsumer(uint64 subId, address consumer) external;\n\n  /**\n   * @notice Cancel a subscription\n   * @param subId - ID of the subscription\n   * @param to - Where to send the remaining LINK to\n   */\n  function cancelSubscription(uint64 subId, address to) external;\n\n  /*\n   * @notice Check to see if there exists a request commitment consumers\n   * for all consumers and keyhashes for a given sub.\n   * @param subId - ID of the subscription\n   * @return true if there exists at least one unfulfilled request for the subscription, false\n   * otherwise.\n   */\n  function pendingRequestExists(uint64 subId) external view returns (bool);\n}\n"},"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol":{"content":"// SPDX-License-Identifier: MIT\n// A mock for testing code that relies on VRFCoordinatorV2.\npragma solidity ^0.8.4;\n\nimport \"../interfaces/LinkTokenInterface.sol\";\nimport \"../interfaces/VRFCoordinatorV2Interface.sol\";\nimport \"../VRFConsumerBaseV2.sol\";\n\ncontract VRFCoordinatorV2Mock is VRFCoordinatorV2Interface {\n  uint96 public immutable BASE_FEE;\n  uint96 public immutable GAS_PRICE_LINK;\n  uint16 public immutable MAX_CONSUMERS = 100;\n\n  error InvalidSubscription();\n  error InsufficientBalance();\n  error MustBeSubOwner(address owner);\n  error TooManyConsumers();\n  error InvalidConsumer();\n  error InvalidRandomWords();\n\n  event RandomWordsRequested(\n    bytes32 indexed keyHash,\n    uint256 requestId,\n    uint256 preSeed,\n    uint64 indexed subId,\n    uint16 minimumRequestConfirmations,\n    uint32 callbackGasLimit,\n    uint32 numWords,\n    address indexed sender\n  );\n  event RandomWordsFulfilled(uint256 indexed requestId, uint256 outputSeed, uint96 payment, bool success);\n  event SubscriptionCreated(uint64 indexed subId, address owner);\n  event SubscriptionFunded(uint64 indexed subId, uint256 oldBalance, uint256 newBalance);\n  event SubscriptionCanceled(uint64 indexed subId, address to, uint256 amount);\n  event ConsumerAdded(uint64 indexed subId, address consumer);\n  event ConsumerRemoved(uint64 indexed subId, address consumer);\n\n  uint64 s_currentSubId;\n  uint256 s_nextRequestId = 1;\n  uint256 s_nextPreSeed = 100;\n  struct Subscription {\n    address owner;\n    uint96 balance;\n  }\n  mapping(uint64 => Subscription) s_subscriptions; /* subId */ /* subscription */\n  mapping(uint64 => address[]) s_consumers; /* subId */ /* consumers */\n\n  struct Request {\n    uint64 subId;\n    uint32 callbackGasLimit;\n    uint32 numWords;\n  }\n  mapping(uint256 => Request) s_requests; /* requestId */ /* request */\n\n  constructor(uint96 _baseFee, uint96 _gasPriceLink) {\n    BASE_FEE = _baseFee;\n    GAS_PRICE_LINK = _gasPriceLink;\n  }\n\n  function consumerIsAdded(uint64 _subId, address _consumer) public view returns (bool) {\n    address[] memory consumers = s_consumers[_subId];\n    for (uint256 i = 0; i < consumers.length; i++) {\n      if (consumers[i] == _consumer) {\n        return true;\n      }\n    }\n    return false;\n  }\n\n  modifier onlyValidConsumer(uint64 _subId, address _consumer) {\n    if (!consumerIsAdded(_subId, _consumer)) {\n      revert InvalidConsumer();\n    }\n    _;\n  }\n\n  /**\n   * @notice fulfillRandomWords fulfills the given request, sending the random words to the supplied\n   * @notice consumer.\n   *\n   * @dev This mock uses a simplified formula for calculating payment amount and gas usage, and does\n   * @dev not account for all edge cases handled in the real VRF coordinator. When making requests\n   * @dev against the real coordinator a small amount of additional LINK is required.\n   *\n   * @param _requestId the request to fulfill\n   * @param _consumer the VRF randomness consumer to send the result to\n   */\n  function fulfillRandomWords(uint256 _requestId, address _consumer) external {\n    fulfillRandomWordsWithOverride(_requestId, _consumer, new uint256[](0));\n  }\n\n  /**\n   * @notice fulfillRandomWordsWithOverride allows the user to pass in their own random words.\n   *\n   * @param _requestId the request to fulfill\n   * @param _consumer the VRF randomness consumer to send the result to\n   * @param _words user-provided random words\n   */\n  function fulfillRandomWordsWithOverride(\n    uint256 _requestId,\n    address _consumer,\n    uint256[] memory _words\n  ) public {\n    uint256 startGas = gasleft();\n    if (s_requests[_requestId].subId == 0) {\n      revert(\"nonexistent request\");\n    }\n    Request memory req = s_requests[_requestId];\n\n    if (_words.length == 0) {\n      _words = new uint256[](req.numWords);\n      for (uint256 i = 0; i < req.numWords; i++) {\n        _words[i] = uint256(keccak256(abi.encode(_requestId, i)));\n      }\n    } else if (_words.length != req.numWords) {\n      revert InvalidRandomWords();\n    }\n\n    VRFConsumerBaseV2 v;\n    bytes memory callReq = abi.encodeWithSelector(v.rawFulfillRandomWords.selector, _requestId, _words);\n    (bool success, ) = _consumer.call{gas: req.callbackGasLimit}(callReq);\n\n    uint96 payment = uint96(BASE_FEE + ((startGas - gasleft()) * GAS_PRICE_LINK));\n    if (s_subscriptions[req.subId].balance < payment) {\n      revert InsufficientBalance();\n    }\n    s_subscriptions[req.subId].balance -= payment;\n    delete (s_requests[_requestId]);\n    emit RandomWordsFulfilled(_requestId, _requestId, payment, success);\n  }\n\n  /**\n   * @notice fundSubscription allows funding a subscription with an arbitrary amount for testing.\n   *\n   * @param _subId the subscription to fund\n   * @param _amount the amount to fund\n   */\n  function fundSubscription(uint64 _subId, uint96 _amount) public {\n    if (s_subscriptions[_subId].owner == address(0)) {\n      revert InvalidSubscription();\n    }\n    uint96 oldBalance = s_subscriptions[_subId].balance;\n    s_subscriptions[_subId].balance += _amount;\n    emit SubscriptionFunded(_subId, oldBalance, oldBalance + _amount);\n  }\n\n  function requestRandomWords(\n    bytes32 _keyHash,\n    uint64 _subId,\n    uint16 _minimumRequestConfirmations,\n    uint32 _callbackGasLimit,\n    uint32 _numWords\n  ) external override onlyValidConsumer(_subId, msg.sender) returns (uint256) {\n    if (s_subscriptions[_subId].owner == address(0)) {\n      revert InvalidSubscription();\n    }\n\n    uint256 requestId = s_nextRequestId++;\n    uint256 preSeed = s_nextPreSeed++;\n\n    s_requests[requestId] = Request({subId: _subId, callbackGasLimit: _callbackGasLimit, numWords: _numWords});\n\n    emit RandomWordsRequested(\n      _keyHash,\n      requestId,\n      preSeed,\n      _subId,\n      _minimumRequestConfirmations,\n      _callbackGasLimit,\n      _numWords,\n      msg.sender\n    );\n    return requestId;\n  }\n\n  function createSubscription() external override returns (uint64 _subId) {\n    s_currentSubId++;\n    s_subscriptions[s_currentSubId] = Subscription({owner: msg.sender, balance: 0});\n    emit SubscriptionCreated(s_currentSubId, msg.sender);\n    return s_currentSubId;\n  }\n\n  function getSubscription(uint64 _subId)\n    external\n    view\n    override\n    returns (\n      uint96 balance,\n      uint64 reqCount,\n      address owner,\n      address[] memory consumers\n    )\n  {\n    if (s_subscriptions[_subId].owner == address(0)) {\n      revert InvalidSubscription();\n    }\n    return (s_subscriptions[_subId].balance, 0, s_subscriptions[_subId].owner, s_consumers[_subId]);\n  }\n\n  function cancelSubscription(uint64 _subId, address _to) external override onlySubOwner(_subId) {\n    emit SubscriptionCanceled(_subId, _to, s_subscriptions[_subId].balance);\n    delete (s_subscriptions[_subId]);\n  }\n\n  modifier onlySubOwner(uint64 _subId) {\n    address owner = s_subscriptions[_subId].owner;\n    if (owner == address(0)) {\n      revert InvalidSubscription();\n    }\n    if (msg.sender != owner) {\n      revert MustBeSubOwner(owner);\n    }\n    _;\n  }\n\n  function getRequestConfig()\n    external\n    pure\n    override\n    returns (\n      uint16,\n      uint32,\n      bytes32[] memory\n    )\n  {\n    return (3, 2000000, new bytes32[](0));\n  }\n\n  function addConsumer(uint64 _subId, address _consumer) external override onlySubOwner(_subId) {\n    if (s_consumers[_subId].length == MAX_CONSUMERS) {\n      revert TooManyConsumers();\n    }\n\n    if (consumerIsAdded(_subId, _consumer)) {\n      return;\n    }\n\n    s_consumers[_subId].push(_consumer);\n    emit ConsumerAdded(_subId, _consumer);\n  }\n\n  function removeConsumer(uint64 _subId, address _consumer)\n    external\n    override\n    onlySubOwner(_subId)\n    onlyValidConsumer(_subId, _consumer)\n  {\n    address[] storage consumers = s_consumers[_subId];\n    for (uint256 i = 0; i < consumers.length; i++) {\n      if (consumers[i] == _consumer) {\n        address last = consumers[consumers.length - 1];\n        consumers[i] = last;\n        consumers.pop();\n        break;\n      }\n    }\n\n    emit ConsumerRemoved(_subId, _consumer);\n  }\n\n  function getConfig()\n    external\n    view\n    returns (\n      uint16 minimumRequestConfirmations,\n      uint32 maxGasLimit,\n      uint32 stalenessSeconds,\n      uint32 gasAfterPaymentCalculation\n    )\n  {\n    return (4, 2_500_000, 2_700, 33285);\n  }\n\n  function getFeeConfig()\n    external\n    view\n    returns (\n      uint32 fulfillmentFlatFeeLinkPPMTier1,\n      uint32 fulfillmentFlatFeeLinkPPMTier2,\n      uint32 fulfillmentFlatFeeLinkPPMTier3,\n      uint32 fulfillmentFlatFeeLinkPPMTier4,\n      uint32 fulfillmentFlatFeeLinkPPMTier5,\n      uint24 reqsForTier2,\n      uint24 reqsForTier3,\n      uint24 reqsForTier4,\n      uint24 reqsForTier5\n    )\n  {\n    return (\n      100000, // 0.1 LINK\n      100000, // 0.1 LINK\n      100000, // 0.1 LINK\n      100000, // 0.1 LINK\n      100000, // 0.1 LINK\n      0,\n      0,\n      0,\n      0\n    );\n  }\n\n  function getFallbackWeiPerUnitLink() external view returns (int256) {\n    return 4000000000000000; // 0.004 Ether\n  }\n\n  function requestSubscriptionOwnerTransfer(uint64 _subId, address _newOwner) external pure override {\n    revert(\"not implemented\");\n  }\n\n  function acceptSubscriptionOwnerTransfer(uint64 _subId) external pure override {\n    revert(\"not implemented\");\n  }\n\n  function pendingRequestExists(uint64 subId) public view override returns (bool) {\n    revert(\"not implemented\");\n  }\n}\n"},"@chainlink/contracts/src/v0.8/vendor/BufferChainlink.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\n/**\n * @dev A library for working with mutable byte buffers in Solidity.\n *\n * Byte buffers are mutable and expandable, and provide a variety of primitives\n * for writing to them. At any time you can fetch a bytes object containing the\n * current contents of the buffer. The bytes object should not be stored between\n * operations, as it may change due to resizing of the buffer.\n */\nlibrary BufferChainlink {\n  /**\n   * @dev Represents a mutable buffer. Buffers have a current value (buf) and\n   *      a capacity. The capacity may be longer than the current value, in\n   *      which case it can be extended without the need to allocate more memory.\n   */\n  struct buffer {\n    bytes buf;\n    uint256 capacity;\n  }\n\n  /**\n   * @dev Initializes a buffer with an initial capacity.\n   * @param buf The buffer to initialize.\n   * @param capacity The number of bytes of space to allocate the buffer.\n   * @return The buffer, for chaining.\n   */\n  function init(buffer memory buf, uint256 capacity) internal pure returns (buffer memory) {\n    if (capacity % 32 != 0) {\n      capacity += 32 - (capacity % 32);\n    }\n    // Allocate space for the buffer data\n    buf.capacity = capacity;\n    assembly {\n      let ptr := mload(0x40)\n      mstore(buf, ptr)\n      mstore(ptr, 0)\n      mstore(0x40, add(32, add(ptr, capacity)))\n    }\n    return buf;\n  }\n\n  /**\n   * @dev Initializes a new buffer from an existing bytes object.\n   *      Changes to the buffer may mutate the original value.\n   * @param b The bytes object to initialize the buffer with.\n   * @return A new buffer.\n   */\n  function fromBytes(bytes memory b) internal pure returns (buffer memory) {\n    buffer memory buf;\n    buf.buf = b;\n    buf.capacity = b.length;\n    return buf;\n  }\n\n  function resize(buffer memory buf, uint256 capacity) private pure {\n    bytes memory oldbuf = buf.buf;\n    init(buf, capacity);\n    append(buf, oldbuf);\n  }\n\n  function max(uint256 a, uint256 b) private pure returns (uint256) {\n    if (a > b) {\n      return a;\n    }\n    return b;\n  }\n\n  /**\n   * @dev Sets buffer length to 0.\n   * @param buf The buffer to truncate.\n   * @return The original buffer, for chaining..\n   */\n  function truncate(buffer memory buf) internal pure returns (buffer memory) {\n    assembly {\n      let bufptr := mload(buf)\n      mstore(bufptr, 0)\n    }\n    return buf;\n  }\n\n  /**\n   * @dev Writes a byte string to a buffer. Resizes if doing so would exceed\n   *      the capacity of the buffer.\n   * @param buf The buffer to append to.\n   * @param off The start offset to write to.\n   * @param data The data to append.\n   * @param len The number of bytes to copy.\n   * @return The original buffer, for chaining.\n   */\n  function write(\n    buffer memory buf,\n    uint256 off,\n    bytes memory data,\n    uint256 len\n  ) internal pure returns (buffer memory) {\n    require(len <= data.length);\n\n    if (off + len > buf.capacity) {\n      resize(buf, max(buf.capacity, len + off) * 2);\n    }\n\n    uint256 dest;\n    uint256 src;\n    assembly {\n      // Memory address of the buffer data\n      let bufptr := mload(buf)\n      // Length of existing buffer data\n      let buflen := mload(bufptr)\n      // Start address = buffer address + offset + sizeof(buffer length)\n      dest := add(add(bufptr, 32), off)\n      // Update buffer length if we're extending it\n      if gt(add(len, off), buflen) {\n        mstore(bufptr, add(len, off))\n      }\n      src := add(data, 32)\n    }\n\n    // Copy word-length chunks while possible\n    for (; len >= 32; len -= 32) {\n      assembly {\n        mstore(dest, mload(src))\n      }\n      dest += 32;\n      src += 32;\n    }\n\n    // Copy remaining bytes\n    unchecked {\n      uint256 mask = (256**(32 - len)) - 1;\n      assembly {\n        let srcpart := and(mload(src), not(mask))\n        let destpart := and(mload(dest), mask)\n        mstore(dest, or(destpart, srcpart))\n      }\n    }\n\n    return buf;\n  }\n\n  /**\n   * @dev Appends a byte string to a buffer. Resizes if doing so would exceed\n   *      the capacity of the buffer.\n   * @param buf The buffer to append to.\n   * @param data The data to append.\n   * @param len The number of bytes to copy.\n   * @return The original buffer, for chaining.\n   */\n  function append(\n    buffer memory buf,\n    bytes memory data,\n    uint256 len\n  ) internal pure returns (buffer memory) {\n    return write(buf, buf.buf.length, data, len);\n  }\n\n  /**\n   * @dev Appends a byte string to a buffer. Resizes if doing so would exceed\n   *      the capacity of the buffer.\n   * @param buf The buffer to append to.\n   * @param data The data to append.\n   * @return The original buffer, for chaining.\n   */\n  function append(buffer memory buf, bytes memory data) internal pure returns (buffer memory) {\n    return write(buf, buf.buf.length, data, data.length);\n  }\n\n  /**\n   * @dev Writes a byte to the buffer. Resizes if doing so would exceed the\n   *      capacity of the buffer.\n   * @param buf The buffer to append to.\n   * @param off The offset to write the byte at.\n   * @param data The data to append.\n   * @return The original buffer, for chaining.\n   */\n  function writeUint8(\n    buffer memory buf,\n    uint256 off,\n    uint8 data\n  ) internal pure returns (buffer memory) {\n    if (off >= buf.capacity) {\n      resize(buf, buf.capacity * 2);\n    }\n\n    assembly {\n      // Memory address of the buffer data\n      let bufptr := mload(buf)\n      // Length of existing buffer data\n      let buflen := mload(bufptr)\n      // Address = buffer address + sizeof(buffer length) + off\n      let dest := add(add(bufptr, off), 32)\n      mstore8(dest, data)\n      // Update buffer length if we extended it\n      if eq(off, buflen) {\n        mstore(bufptr, add(buflen, 1))\n      }\n    }\n    return buf;\n  }\n\n  /**\n   * @dev Appends a byte to the buffer. Resizes if doing so would exceed the\n   *      capacity of the buffer.\n   * @param buf The buffer to append to.\n   * @param data The data to append.\n   * @return The original buffer, for chaining.\n   */\n  function appendUint8(buffer memory buf, uint8 data) internal pure returns (buffer memory) {\n    return writeUint8(buf, buf.buf.length, data);\n  }\n\n  /**\n   * @dev Writes up to 32 bytes to the buffer. Resizes if doing so would\n   *      exceed the capacity of the buffer.\n   * @param buf The buffer to append to.\n   * @param off The offset to write at.\n   * @param data The data to append.\n   * @param len The number of bytes to write (left-aligned).\n   * @return The original buffer, for chaining.\n   */\n  function write(\n    buffer memory buf,\n    uint256 off,\n    bytes32 data,\n    uint256 len\n  ) private pure returns (buffer memory) {\n    if (len + off > buf.capacity) {\n      resize(buf, (len + off) * 2);\n    }\n\n    unchecked {\n      uint256 mask = (256**len) - 1;\n      // Right-align data\n      data = data >> (8 * (32 - len));\n      assembly {\n        // Memory address of the buffer data\n        let bufptr := mload(buf)\n        // Address = buffer address + sizeof(buffer length) + off + len\n        let dest := add(add(bufptr, off), len)\n        mstore(dest, or(and(mload(dest), not(mask)), data))\n        // Update buffer length if we extended it\n        if gt(add(off, len), mload(bufptr)) {\n          mstore(bufptr, add(off, len))\n        }\n      }\n    }\n    return buf;\n  }\n\n  /**\n   * @dev Writes a bytes20 to the buffer. Resizes if doing so would exceed the\n   *      capacity of the buffer.\n   * @param buf The buffer to append to.\n   * @param off The offset to write at.\n   * @param data The data to append.\n   * @return The original buffer, for chaining.\n   */\n  function writeBytes20(\n    buffer memory buf,\n    uint256 off,\n    bytes20 data\n  ) internal pure returns (buffer memory) {\n    return write(buf, off, bytes32(data), 20);\n  }\n\n  /**\n   * @dev Appends a bytes20 to the buffer. Resizes if doing so would exceed\n   *      the capacity of the buffer.\n   * @param buf The buffer to append to.\n   * @param data The data to append.\n   * @return The original buffer, for chhaining.\n   */\n  function appendBytes20(buffer memory buf, bytes20 data) internal pure returns (buffer memory) {\n    return write(buf, buf.buf.length, bytes32(data), 20);\n  }\n\n  /**\n   * @dev Appends a bytes32 to the buffer. Resizes if doing so would exceed\n   *      the capacity of the buffer.\n   * @param buf The buffer to append to.\n   * @param data The data to append.\n   * @return The original buffer, for chaining.\n   */\n  function appendBytes32(buffer memory buf, bytes32 data) internal pure returns (buffer memory) {\n    return write(buf, buf.buf.length, data, 32);\n  }\n\n  /**\n   * @dev Writes an integer to the buffer. Resizes if doing so would exceed\n   *      the capacity of the buffer.\n   * @param buf The buffer to append to.\n   * @param off The offset to write at.\n   * @param data The data to append.\n   * @param len The number of bytes to write (right-aligned).\n   * @return The original buffer, for chaining.\n   */\n  function writeInt(\n    buffer memory buf,\n    uint256 off,\n    uint256 data,\n    uint256 len\n  ) private pure returns (buffer memory) {\n    if (len + off > buf.capacity) {\n      resize(buf, (len + off) * 2);\n    }\n\n    uint256 mask = (256**len) - 1;\n    assembly {\n      // Memory address of the buffer data\n      let bufptr := mload(buf)\n      // Address = buffer address + off + sizeof(buffer length) + len\n      let dest := add(add(bufptr, off), len)\n      mstore(dest, or(and(mload(dest), not(mask)), data))\n      // Update buffer length if we extended it\n      if gt(add(off, len), mload(bufptr)) {\n        mstore(bufptr, add(off, len))\n      }\n    }\n    return buf;\n  }\n\n  /**\n   * @dev Appends a byte to the end of the buffer. Resizes if doing so would\n   * exceed the capacity of the buffer.\n   * @param buf The buffer to append to.\n   * @param data The data to append.\n   * @return The original buffer.\n   */\n  function appendInt(\n    buffer memory buf,\n    uint256 data,\n    uint256 len\n  ) internal pure returns (buffer memory) {\n    return writeInt(buf, buf.buf.length, data, len);\n  }\n}\n"},"@chainlink/contracts/src/v0.8/vendor/CBORChainlink.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.4.19;\n\nimport {BufferChainlink} from \"./BufferChainlink.sol\";\n\nlibrary CBORChainlink {\n  using BufferChainlink for BufferChainlink.buffer;\n\n  uint8 private constant MAJOR_TYPE_INT = 0;\n  uint8 private constant MAJOR_TYPE_NEGATIVE_INT = 1;\n  uint8 private constant MAJOR_TYPE_BYTES = 2;\n  uint8 private constant MAJOR_TYPE_STRING = 3;\n  uint8 private constant MAJOR_TYPE_ARRAY = 4;\n  uint8 private constant MAJOR_TYPE_MAP = 5;\n  uint8 private constant MAJOR_TYPE_TAG = 6;\n  uint8 private constant MAJOR_TYPE_CONTENT_FREE = 7;\n\n  uint8 private constant TAG_TYPE_BIGNUM = 2;\n  uint8 private constant TAG_TYPE_NEGATIVE_BIGNUM = 3;\n\n  function encodeFixedNumeric(BufferChainlink.buffer memory buf, uint8 major, uint64 value) private pure {\n    if(value <= 23) {\n      buf.appendUint8(uint8((major << 5) | value));\n    } else if (value <= 0xFF) {\n      buf.appendUint8(uint8((major << 5) | 24));\n      buf.appendInt(value, 1);\n    } else if (value <= 0xFFFF) {\n      buf.appendUint8(uint8((major << 5) | 25));\n      buf.appendInt(value, 2);\n    } else if (value <= 0xFFFFFFFF) {\n      buf.appendUint8(uint8((major << 5) | 26));\n      buf.appendInt(value, 4);\n    } else {\n      buf.appendUint8(uint8((major << 5) | 27));\n      buf.appendInt(value, 8);\n    }\n  }\n\n  function encodeIndefiniteLengthType(BufferChainlink.buffer memory buf, uint8 major) private pure {\n    buf.appendUint8(uint8((major << 5) | 31));\n  }\n\n  function encodeUInt(BufferChainlink.buffer memory buf, uint value) internal pure {\n    if(value > 0xFFFFFFFFFFFFFFFF) {\n      encodeBigNum(buf, value);\n    } else {\n      encodeFixedNumeric(buf, MAJOR_TYPE_INT, uint64(value));\n    }\n  }\n\n  function encodeInt(BufferChainlink.buffer memory buf, int value) internal pure {\n    if(value < -0x10000000000000000) {\n      encodeSignedBigNum(buf, value);\n    } else if(value > 0xFFFFFFFFFFFFFFFF) {\n      encodeBigNum(buf, uint(value));\n    } else if(value >= 0) {\n      encodeFixedNumeric(buf, MAJOR_TYPE_INT, uint64(uint256(value)));\n    } else {\n      encodeFixedNumeric(buf, MAJOR_TYPE_NEGATIVE_INT, uint64(uint256(-1 - value)));\n    }\n  }\n\n  function encodeBytes(BufferChainlink.buffer memory buf, bytes memory value) internal pure {\n    encodeFixedNumeric(buf, MAJOR_TYPE_BYTES, uint64(value.length));\n    buf.append(value);\n  }\n\n  function encodeBigNum(BufferChainlink.buffer memory buf, uint value) internal pure {\n    buf.appendUint8(uint8((MAJOR_TYPE_TAG << 5) | TAG_TYPE_BIGNUM));\n    encodeBytes(buf, abi.encode(value));\n  }\n\n  function encodeSignedBigNum(BufferChainlink.buffer memory buf, int input) internal pure {\n    buf.appendUint8(uint8((MAJOR_TYPE_TAG << 5) | TAG_TYPE_NEGATIVE_BIGNUM));\n    encodeBytes(buf, abi.encode(uint256(-1 - input)));\n  }\n\n  function encodeString(BufferChainlink.buffer memory buf, string memory value) internal pure {\n    encodeFixedNumeric(buf, MAJOR_TYPE_STRING, uint64(bytes(value).length));\n    buf.append(bytes(value));\n  }\n\n  function startArray(BufferChainlink.buffer memory buf) internal pure {\n    encodeIndefiniteLengthType(buf, MAJOR_TYPE_ARRAY);\n  }\n\n  function startMap(BufferChainlink.buffer memory buf) internal pure {\n    encodeIndefiniteLengthType(buf, MAJOR_TYPE_MAP);\n  }\n\n  function endSequence(BufferChainlink.buffer memory buf) internal pure {\n    encodeIndefiniteLengthType(buf, MAJOR_TYPE_CONTENT_FREE);\n  }\n}\n"},"@chainlink/contracts/src/v0.8/vendor/ENSResolver.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nabstract contract ENSResolver {\n  function addr(bytes32 node) public view virtual returns (address);\n}\n"},"@chainlink/contracts/src/v0.8/VRFConsumerBaseV2.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.4;\n\n/** ****************************************************************************\n * @notice Interface for contracts using VRF randomness\n * *****************************************************************************\n * @dev PURPOSE\n *\n * @dev Reggie the Random Oracle (not his real job) wants to provide randomness\n * @dev to Vera the verifier in such a way that Vera can be sure he's not\n * @dev making his output up to suit himself. Reggie provides Vera a public key\n * @dev to which he knows the secret key. Each time Vera provides a seed to\n * @dev Reggie, he gives back a value which is computed completely\n * @dev deterministically from the seed and the secret key.\n *\n * @dev Reggie provides a proof by which Vera can verify that the output was\n * @dev correctly computed once Reggie tells it to her, but without that proof,\n * @dev the output is indistinguishable to her from a uniform random sample\n * @dev from the output space.\n *\n * @dev The purpose of this contract is to make it easy for unrelated contracts\n * @dev to talk to Vera the verifier about the work Reggie is doing, to provide\n * @dev simple access to a verifiable source of randomness. It ensures 2 things:\n * @dev 1. The fulfillment came from the VRFCoordinator\n * @dev 2. The consumer contract implements fulfillRandomWords.\n * *****************************************************************************\n * @dev USAGE\n *\n * @dev Calling contracts must inherit from VRFConsumerBase, and can\n * @dev initialize VRFConsumerBase's attributes in their constructor as\n * @dev shown:\n *\n * @dev   contract VRFConsumer {\n * @dev     constructor(<other arguments>, address _vrfCoordinator, address _link)\n * @dev       VRFConsumerBase(_vrfCoordinator) public {\n * @dev         <initialization with other arguments goes here>\n * @dev       }\n * @dev   }\n *\n * @dev The oracle will have given you an ID for the VRF keypair they have\n * @dev committed to (let's call it keyHash). Create subscription, fund it\n * @dev and your consumer contract as a consumer of it (see VRFCoordinatorInterface\n * @dev subscription management functions).\n * @dev Call requestRandomWords(keyHash, subId, minimumRequestConfirmations,\n * @dev callbackGasLimit, numWords),\n * @dev see (VRFCoordinatorInterface for a description of the arguments).\n *\n * @dev Once the VRFCoordinator has received and validated the oracle's response\n * @dev to your request, it will call your contract's fulfillRandomWords method.\n *\n * @dev The randomness argument to fulfillRandomWords is a set of random words\n * @dev generated from your requestId and the blockHash of the request.\n *\n * @dev If your contract could have concurrent requests open, you can use the\n * @dev requestId returned from requestRandomWords to track which response is associated\n * @dev with which randomness request.\n * @dev See \"SECURITY CONSIDERATIONS\" for principles to keep in mind,\n * @dev if your contract could have multiple requests in flight simultaneously.\n *\n * @dev Colliding `requestId`s are cryptographically impossible as long as seeds\n * @dev differ.\n *\n * *****************************************************************************\n * @dev SECURITY CONSIDERATIONS\n *\n * @dev A method with the ability to call your fulfillRandomness method directly\n * @dev could spoof a VRF response with any random value, so it's critical that\n * @dev it cannot be directly called by anything other than this base contract\n * @dev (specifically, by the VRFConsumerBase.rawFulfillRandomness method).\n *\n * @dev For your users to trust that your contract's random behavior is free\n * @dev from malicious interference, it's best if you can write it so that all\n * @dev behaviors implied by a VRF response are executed *during* your\n * @dev fulfillRandomness method. If your contract must store the response (or\n * @dev anything derived from it) and use it later, you must ensure that any\n * @dev user-significant behavior which depends on that stored value cannot be\n * @dev manipulated by a subsequent VRF request.\n *\n * @dev Similarly, both miners and the VRF oracle itself have some influence\n * @dev over the order in which VRF responses appear on the blockchain, so if\n * @dev your contract could have multiple VRF requests in flight simultaneously,\n * @dev you must ensure that the order in which the VRF responses arrive cannot\n * @dev be used to manipulate your contract's user-significant behavior.\n *\n * @dev Since the block hash of the block which contains the requestRandomness\n * @dev call is mixed into the input to the VRF *last*, a sufficiently powerful\n * @dev miner could, in principle, fork the blockchain to evict the block\n * @dev containing the request, forcing the request to be included in a\n * @dev different block with a different hash, and therefore a different input\n * @dev to the VRF. However, such an attack would incur a substantial economic\n * @dev cost. This cost scales with the number of blocks the VRF oracle waits\n * @dev until it calls responds to a request. It is for this reason that\n * @dev that you can signal to an oracle you'd like them to wait longer before\n * @dev responding to the request (however this is not enforced in the contract\n * @dev and so remains effective only in the case of unmodified oracle software).\n */\nabstract contract VRFConsumerBaseV2 {\n  error OnlyCoordinatorCanFulfill(address have, address want);\n  address private immutable vrfCoordinator;\n\n  /**\n   * @param _vrfCoordinator address of VRFCoordinator contract\n   */\n  constructor(address _vrfCoordinator) {\n    vrfCoordinator = _vrfCoordinator;\n  }\n\n  /**\n   * @notice fulfillRandomness handles the VRF response. Your contract must\n   * @notice implement it. See \"SECURITY CONSIDERATIONS\" above for important\n   * @notice principles to keep in mind when implementing your fulfillRandomness\n   * @notice method.\n   *\n   * @dev VRFConsumerBaseV2 expects its subcontracts to have a method with this\n   * @dev signature, and will call it once it has verified the proof\n   * @dev associated with the randomness. (It is triggered via a call to\n   * @dev rawFulfillRandomness, below.)\n   *\n   * @param requestId The Id initially returned by requestRandomness\n   * @param randomWords the VRF output expanded to the requested number of words\n   */\n  function fulfillRandomWords(uint256 requestId, uint256[] memory randomWords) internal virtual;\n\n  // rawFulfillRandomness is called by VRFCoordinator when it receives a valid VRF\n  // proof. rawFulfillRandomness then calls fulfillRandomness, after validating\n  // the origin of the call\n  function rawFulfillRandomWords(uint256 requestId, uint256[] memory randomWords) external {\n    if (msg.sender != vrfCoordinator) {\n      revert OnlyCoordinatorCanFulfill(msg.sender, vrfCoordinator);\n    }\n    fulfillRandomWords(requestId, randomWords);\n  }\n}\n"},"ado-contracts/contracts/interfaces/IERC2362.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.5.0 <0.9.0;\n\n/**\n* @dev EIP2362 Interface for pull oracles\n* https://github.com/adoracles/EIPs/blob/erc-2362/EIPS/eip-2362.md\n*/\ninterface IERC2362\n{\n\t/**\n\t * @dev Exposed function pertaining to EIP standards\n\t * @param _id bytes32 ID of the query\n\t * @return int,uint,uint returns the value, timestamp, and status code of query\n\t */\n\tfunction valueFor(bytes32 _id) external view returns(int256,uint256,uint256);\n}"},"contracts/APIConsumer.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.7;\n\nimport \"@chainlink/contracts/src/v0.8/ChainlinkClient.sol\";\n\n/**\n * @title The APIConsumer contract\n * @notice An API Consumer contract that makes GET requests to obtain 24h trading volume of ETH in USD\n */\ncontract APIConsumer is ChainlinkClient {\n    using Chainlink for Chainlink.Request;\n\n    uint256 public volume;\n    address private immutable oracle;\n    bytes32 private immutable jobId;\n    uint256 private immutable fee;\n\n    event DataFullfilled(uint256 volume);\n\n    /**\n     * @notice Executes once when a contract is created to initialize state variables\n     *\n     * @param _oracle - address of the specific Chainlink node that a contract makes an API call from\n     * @param _jobId - specific job for :_oracle: to run; each job is unique and returns different types of data\n     * @param _fee - node operator price per API call / data request\n     * @param _link - LINK token address on the corresponding network\n     *\n     * Network: Baobab\n     * Oracle: 0xfC3BdAbD8a6A73B40010350E2a61716a21c87610\n     * Job ID: ca98366cc7314957b8c012c72f05aeeb\n     * Fee: 0.1 LINK\n     * Link: 0x04c5046A1f4E3fFf094c26dFCAA75eF293932f18\n     */\n    constructor(\n        address _oracle,\n        bytes32 _jobId,\n        uint256 _fee,\n        address _link\n    ) {\n        if (_link == address(0)) {\n            setPublicChainlinkToken();\n        } else {\n            setChainlinkToken(_link);\n        }\n        oracle = _oracle;\n        jobId = _jobId;\n        fee = _fee;\n    }\n\n    /**\n     * @notice Creates a Chainlink request to retrieve API response, find the target\n     * data, then multiply by 10*_coinDecimals (to remove decimal places from data).\n     *\n     * @return requestId - id of the request\n     */\n    function requestVolumeData(string memory _coinSymbol, uint8 _coinDecimals) public returns (bytes32 requestId) {\n        Chainlink.Request memory request = buildChainlinkRequest(\n            jobId,\n            address(this),\n            this.fulfill.selector\n        );\n\n        // Set the URL to perform the GET request on\n        request.add(\n            \"get\",\n            string(abi.encodePacked(\"https://min-api.cryptocompare.com/data/pricemultifull?fsyms=\", _coinSymbol, \"&tsyms=USD\"))\n        );\n\n        // Set the path to find the desired data in the API response, where the response format is:\n        // {\"RAW\":\n        //   {\"KLAY\":\n        //    {\"USD\":\n        //     {\n        //      \"VOLUME24HOUR\": xxx.xxx,\n        //     }\n        //    }\n        //   }\n        //  }\n        // request.add(\"path\", \"RAW.KLAY.USD.VOLUME24HOUR\"); // Chainlink nodes prior to 1.0.0 support this format\n        request.add(\"path\", \"RAW,KLAY,USD,VOLUME24HOUR\"); // Chainlink nodes 1.0.0 and later support this format\n\n        // Multiply the result by 10**_coinDecimals to remove decimals\n        int256 timesAmount = int256(10**_coinDecimals);\n        request.addInt(\"times\", timesAmount);\n\n        // Sends the request\n        return sendChainlinkRequestTo(oracle, request, fee);\n    }\n\n    /**\n     * @notice Receives the response in the form of uint256\n     *\n     * @param _requestId - id of the request\n     * @param _volume - response; requested 24h trading volume of ETH in USD\n     */\n    function fulfill(bytes32 _requestId, uint256 _volume)\n        public\n        recordChainlinkFulfillment(_requestId)\n    {\n        volume = _volume;\n        emit DataFullfilled(volume);\n    }\n\n    /**\n     * @notice Witdraws LINK from the contract\n     * @dev Implement a withdraw function to avoid locking your LINK in the contract\n     */\n    function withdrawLink() external {}\n}\n"},"contracts/KeepersCounter.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.7;\n\nimport \"@chainlink/contracts/src/v0.8/interfaces/KeeperCompatibleInterface.sol\";\n\n/**\n * @title The Counter contract\n * @notice  A keeper-compatible contract that increments counter variable at fixed time intervals\n */\ncontract KeepersCounter is KeeperCompatibleInterface {\n  /**\n   * Public counter variable\n   */\n  uint256 public counter;\n\n  /**\n   * Use an interval in seconds and a timestamp to slow execution of Upkeep\n   */\n  uint256 public immutable interval;\n  uint256 public lastTimeStamp;\n\n  /**\n   * @notice Executes once when a contract is created to initialize state variables\n   *\n   * @param updateInterval - Period of time between two counter increments expressed as UNIX timestamp value\n   */\n  constructor(uint256 updateInterval) {\n    interval = updateInterval;\n    lastTimeStamp = block.timestamp;\n\n    counter = 0;\n  }\n\n  /**\n   * @notice Checks if the contract requires work to be done\n   */\n  function checkUpkeep(\n    bytes memory /* checkData */\n  )\n    public\n    view\n    override\n    returns (\n      bool upkeepNeeded,\n      bytes memory /* performData */\n    )\n  {\n    upkeepNeeded = (block.timestamp - lastTimeStamp) > interval;\n    // We don't use the checkData in this example. The checkData is defined when the Upkeep was registered.\n  }\n\n  /**\n   * @notice Performs the work on the contract, if instructed by :checkUpkeep():\n   */\n  function performUpkeep(\n    bytes calldata /* performData */\n  ) external override {\n    // add some verification\n    (bool upkeepNeeded, ) = checkUpkeep(\"\");\n    require(upkeepNeeded, \"Time interval not met\");\n\n    lastTimeStamp = block.timestamp;\n    counter = counter + 1;\n    // We don't use the performData in this example. The performData is generated by the Keeper's call to your checkUpkeep function\n  }\n}\n"},"contracts/PriceConsumerV3.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.7;\n\nimport \"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol\";\n\n/**\n * @title The PriceConsumerV3 contract\n * @notice Acontract that returns latest price from Chainlink Price Feeds\n */\ncontract PriceConsumerV3 {\n    AggregatorV3Interface internal priceFeed;\n\n    /**\n     * @notice Executes once when a contract is created to initialize state variables\n     *\n     * @param _priceFeed - Price Feed Address. Refer here https://docs.chain.link/data-feeds/price-feeds/addresses/?network=klaytn\n     *\n     * Network: Baobab\n     * Aggregator: LINK/KLAY\n     * Address: 0xf49f81b3d2F2a79b706621FA2D5934136352140c\n     */\n    constructor(address _priceFeed) {\n        priceFeed = AggregatorV3Interface(_priceFeed);\n    }\n\n    /**\n     * @notice Changes price feed address\n     * \n     * @param _priceFeed - Price Feed Address. Refer here https://docs.chain.link/data-feeds/price-feeds/addresses/?network=klaytn\n     *\n     * \n     */\n    function changePriceFeed(address _priceFeed) public {\n        priceFeed = AggregatorV3Interface(_priceFeed);\n    }\n\n    /**\n     * @notice Returns the latest price\n     *\n     * @return latest price\n     */\n    function getLatestPrice() public view returns (int256) {\n        (\n            uint80 roundID,\n            int256 price,\n            uint256 startedAt,\n            uint256 timeStamp,\n            uint80 answeredInRound\n        ) = priceFeed.latestRoundData();\n        return price;\n    }\n\n    \n    /**\n     * @notice Returns the Price Feed address\n     *\n     * @return Price Feed address\n     */\n    function getPriceFeed() public view returns (AggregatorV3Interface) {\n        return priceFeed;\n    }\n}\n"},"contracts/RandomNumberConsumerV2.sol":{"content":"// SPDX-License-Identifier: MIT\n// An example of a consumer contract that relies on a subscription for funding.\npragma solidity ^0.8.7;\n\nimport \"@chainlink/contracts/src/v0.8/interfaces/VRFCoordinatorV2Interface.sol\";\nimport \"@chainlink/contracts/src/v0.8/VRFConsumerBaseV2.sol\";\n\n/**\n * @title The RandomNumberConsumerV2 contract\n * @notice A contract that gets random values from Chainlink VRF V2\n */\ncontract RandomNumberConsumerV2 is VRFConsumerBaseV2 {\n  VRFCoordinatorV2Interface immutable COORDINATOR;\n\n  // Your subscription ID.\n  uint64 immutable s_subscriptionId;\n\n  // The gas lane to use, which specifies the maximum gas price to bump to.\n  // For a list of available gas lanes on each network,\n  // see https://docs.chain.link/docs/vrf-contracts/#configurations\n  bytes32 immutable s_keyHash;\n\n  // Depends on the number of requested values that you want sent to the\n  // fulfillRandomWords() function. Storing each word costs about 20,000 gas,\n  // so 100,000 is a safe default for this example contract. Test and adjust\n  // this limit based on the network that you select, the size of the request,\n  // and the processing of the callback request in the fulfillRandomWords()\n  // function.\n  uint32 constant CALLBACK_GAS_LIMIT = 100000;\n\n  // The default is 3, but you can set this higher.\n  uint16 constant REQUEST_CONFIRMATIONS = 3;\n\n  uint256[] public s_randomWords;\n  uint256 public s_requestId;\n  address s_owner;\n\n  event ReturnedRandomness(uint256[] randomWords);\n\n  /**\n   * @notice Constructor inherits VRFConsumerBaseV2\n   *\n   * @param subscriptionId - the subscription ID that this contract uses for funding requests\n   * @param vrfCoordinator - coordinator, check https://docs.chain.link/docs/vrf-contracts/#configurations\n   * @param keyHash - the gas lane to use, which specifies the maximum gas price to bump to\n   */\n  constructor(\n    uint64 subscriptionId,\n    address vrfCoordinator,\n    bytes32 keyHash\n  ) VRFConsumerBaseV2(vrfCoordinator) {\n    COORDINATOR = VRFCoordinatorV2Interface(vrfCoordinator);\n    s_keyHash = keyHash;\n    s_owner = msg.sender;\n    s_subscriptionId = subscriptionId;\n  }\n\n  /**\n   * @return Length of random words array\n   */\n  function getRandomWordsCount() view external returns(uint256){\n    return s_randomWords.length;\n  }\n\n  /**\n   * @notice Requests randomness\n   * @param _numWords - retrieve no of random values in one request. Cannot exceed VRFCoordinatorV2.MAX_NUM_WORDS.\n   * Assumes the subscription is funded sufficiently; \"Words\" refers to unit of data in Computer Science\n   */\n  function requestRandomWords(uint32 _numWords) external onlyOwner {\n    // Will revert if subscription is not set and funded.\n    s_requestId = COORDINATOR.requestRandomWords(\n      s_keyHash,\n      s_subscriptionId,\n      REQUEST_CONFIRMATIONS,\n      CALLBACK_GAS_LIMIT,\n      _numWords\n    );\n  }\n\n  /**\n   * @notice Callback function used by VRF Coordinator\n   *\n   * @param requestId - id of the request\n   * @param randomWords - array of random results from VRF Coordinator\n   */\n  function fulfillRandomWords(uint256 requestId, uint256[] memory randomWords) internal override {\n    s_randomWords = randomWords;\n    emit ReturnedRandomness(randomWords);\n  }\n\n  modifier onlyOwner() {\n    require(msg.sender == s_owner);\n    _;\n  }\n}\n"},"contracts/test/fuzzing/KeepersCounterEchidnaTest.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.7;\n\nimport \"../../KeepersCounter.sol\";\n\ncontract KeepersCounterEchidnaTest is KeepersCounter {\n  constructor() KeepersCounter(8 days) {}\n\n  function echidna_test_perform_upkeep_gate() public view returns (bool) {\n    return counter == 0;\n  }\n}\n"},"contracts/test/MockWitnetRandomness.sol":{"content":"//SPDX-License-Identifier: MIT\npragma solidity >=0.5.0 <0.9.0;\n\nimport \"witnet-solidity-bridge/contracts/mocks/WitnetRandomnessMock.sol\";\n"},"contracts/test/MockWitnetRouter.sol":{"content":"//SPDX-License-Identifier: MIT\npragma solidity >=0.5.0 <0.9.0;\n\ncontract MockWitnetRouter {\n    function valueFor(bytes32 _id) public view returns (int256,uint256,uint256) {\n        return (10, 10, 10);\n    }\n}"},"contracts/test/VRFCoordinatorV2Mock.sol":{"content":"//SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport \"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol\";\n"},"contracts/witnet-requests/coinPrice.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\n\n// For the Witnet Request Board OVM-compatible (Optimism) \"trustable\" implementation (e.g. BOBA network),\n// replace the next import line with:\n// import \"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableBoba.sol\";\nimport \"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableDefault.sol\";\nimport \"witnet-solidity-bridge/contracts/requests/WitnetRequestInitializableBase.sol\";\n\n// The bytecode of the klayPrice query that will be sent to Witnet\ncontract coinPriceRequest is WitnetRequestInitializableBase {\n  function initialize() public {\n    WitnetRequestInitializableBase.initialize(hex\"0adf01125a0801124068747470733a2f2f6d696e2d6170692e63727970746f636f6d706172652e636f6d2f646174612f70726963653f6673796d3d4b4c4159267473796d733d5553441a14841877821864635553448218571a000f4240185b12630801123868747470733a2f2f6170692e636f696e626173652e636f6d2f76322f65786368616e67652d72617465733f63757272656e63793d4b4c41591a258618778218666464617461821866657261746573821864635553448218571a000f4240185b1a0d0a0908051205fa3fc000001003220d0a0908051205fa4020000010031080e497d012180a208094ebdc0328333080e8eda1ba01\");\n  }\n}\n"},"contracts/witnet-requests/postAPI.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\n\n// For the Witnet Request Board OVM-compatible (Optimism) \"trustable\" implementation (e.g. BOBA network),\n// replace the next import line with:\n// import \"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableBoba.sol\";\nimport \"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableDefault.sol\";\nimport \"witnet-solidity-bridge/contracts/requests/WitnetRequestInitializableBase.sol\";\n\n// The bytecode of the postAPIExample query that will be sent to Witnet\ncontract postAPIRequest is WitnetRequestInitializableBase {\n  function initialize() public {\n    WitnetRequestInitializableBase.initialize(hex\"0a8a0112720803121868747470733a2f2f6874747062696e2e6f72672f706f73741a1d83187782186667686561646572738218676b4865616465722d4e616d6522185468697320697320746865207265717565737420626f64792a1b0a0b4865616465722d4e616d65120c4865616465722d56616c75651a090a050808120180100222090a05080812018010021080e497d012180a208094ebdc0328333080e8eda1ba01\");\n  }\n}\n"},"contracts/WitnetPriceFeed.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.5.0 <0.9.0;\n\nimport \"witnet-solidity-bridge/contracts/interfaces/IWitnetPriceRouter.sol\";\n\ncontract WitnetPriceFeed {\n    IWitnetPriceRouter public immutable witnetPriceRouter;\n\n    /*\n     * Network: Klaytn Baobab\n     * WitnetPriceRouter: 0xeD074DA2A76FD2Ca90C1508930b4FB4420e413B0\n     **/\n    constructor(IWitnetPriceRouter _router) {\n        witnetPriceRouter = _router;\n    }\n\n    /*\n    * @param _id4 - pricefeed id. \n    * id4 can be found here https://docs.witnet.io/smart-contracts/witnet-data-feeds/addresses/klaytn-price-feeds\n    * \n    **/\n    function getPrice(bytes4 _id4) public view returns (int256 _lastPrice, uint256 _lastTimestamp) {\n        (_lastPrice, _lastTimestamp,) = witnetPriceRouter.valueFor(_id4);\n    }\n}"},"contracts/WitnetRandom.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.5.0 <0.9.0;\n\nimport \"witnet-solidity-bridge/contracts/interfaces/IWitnetRandomness.sol\";\n\ncontract WitnetRandom {\n    uint32 public randomness;\n    uint256 public latestRandomizingBlock;\n    IWitnetRandomness public immutable witnetRandomness;\n\n    /*\n     * Network: Klaytn Baobab\n     * WitnetRandomness: 0xb4b2e2e00e9d6e5490d55623e4f403ec84c6d33f\n     **/\n    constructor(IWitnetRandomness _witnetRandomness) {\n        assert(address(_witnetRandomness) != address(0));\n        witnetRandomness = _witnetRandomness;\n    }\n\n    receive() external payable {}\n\n    function requestRandomness() external payable {\n        latestRandomizingBlock = block.number;\n        uint _usedFunds = witnetRandomness.randomize{ value: msg.value }();\n        if (_usedFunds < msg.value) {\n            payable(msg.sender).transfer(msg.value - _usedFunds);\n        }\n    }\n\n    function fetchRandomNumber() external {\n        assert(latestRandomizingBlock > 0);\n        randomness =  witnetRandomness.random(type(uint32).max, 0, latestRandomizingBlock);\n    }\n}"},"witnet-solidity-bridge/contracts/apps/WitnetRandomness.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport \"../UsingWitnet.sol\";\nimport \"../interfaces/IWitnetRandomness.sol\";\nimport \"../requests/WitnetRequestRandomness.sol\";\n\n/// @title WitnetRandomness: A trustless randomness generator and registry, based on the Witnet oracle. \n/// @author Witnet Foundation.\ncontract WitnetRandomness\n    is\n        IWitnetRandomness,\n        UsingWitnet,\n        Clonable\n{\n    WitnetRequestRandomness public witnetRandomnessRequest;\n    uint256 public override latestRandomizeBlock;\n\n    mapping (uint256 => RandomizeData) internal __randomize_;\n    struct RandomizeData {\n        address from;\n        uint256 prevBlock;\n        uint256 nextBlock;\n        uint256 witnetQueryId;\n    }\n\n    /// Include an address to specify the immutable WitnetRequestBoard entrypoint address.\n    /// @param _wrb The WitnetRequestBoard immutable entrypoint address.\n    constructor(WitnetRequestBoard _wrb)\n        UsingWitnet(_wrb)\n    {\n        witnetRandomnessRequest = new WitnetRequestRandomness();\n        witnetRandomnessRequest.transferOwnership(msg.sender);\n    }\n\n    /// Returns amount of wei required to be paid as a fee when requesting randomization with a \n    /// transaction gas price as the one given.\n    function estimateRandomizeFee(uint256 _gasPrice)\n        public view\n        virtual override\n        returns (uint256)\n    {\n        return _witnetEstimateReward(_gasPrice);\n    }\n\n    /// Retrieves data of a randomization request that got successfully posted to the WRB within a given block.\n    /// @dev Returns zero values if no randomness request was actually posted within a given block.\n    /// @param _block Block number whose randomness request is being queried for.\n    /// @return _from Address from which the latest randomness request was posted.\n    /// @return _id Unique request identifier as provided by the WRB.\n    /// @return _prevBlock Block number in which a randomness request got posted just before this one. 0 if none.\n    /// @return _nextBlock Block number in which a randomness request got posted just after this one, 0 if none.\n    function getRandomizeData(uint256 _block)\n        external view\n        virtual override\n        returns (\n            address _from,\n            uint256 _id,\n            uint256 _prevBlock,\n            uint256 _nextBlock\n        )\n    {\n        RandomizeData storage _data = __randomize_[_block];\n        _id = _data.witnetQueryId;\n        _from = _data.from;\n        _prevBlock = _data.prevBlock;\n        _nextBlock = _data.nextBlock;\n    }\n\n    /// Retrieves the randomness generated upon solving a request that was posted within a given block,\n    /// if any, or to the _first_ request posted after that block, otherwise. Should the intended \n    /// request happen to be finalized with errors on the Witnet oracle network side, this function \n    /// will recursively try to return randomness from the next non-faulty randomization request found \n    /// in storage, if any. \n    /// @dev Fails if:\n    /// @dev   i.   no `randomize()` was not called in either the given block, or afterwards.\n    /// @dev   ii.  a request posted in/after given block does exist, but no result has been provided yet.\n    /// @dev   iii. all requests in/after the given block were solved with errors.\n    /// @param _block Block number from which the search will start.\n    function getRandomnessAfter(uint256 _block)\n        public view\n        virtual override\n        returns (bytes32)\n    {\n        if (__randomize_[_block].from == address(0)) {\n            _block = getRandomnessNextBlock(_block);\n        }\n        uint256 _queryId = __randomize_[_block].witnetQueryId;\n        require(_queryId != 0, \"WitnetRandomness: not randomized\");\n        require(_witnetCheckResultAvailability(_queryId), \"WitnetRandomness: pending randomize\");\n        Witnet.Result memory _witnetResult = _witnetReadResult(_queryId);\n        if (witnet.isOk(_witnetResult)) {\n            return witnet.asBytes32(_witnetResult);\n        } else {\n            uint256 _nextRandomizeBlock = __randomize_[_block].nextBlock;\n            require(_nextRandomizeBlock != 0, \"WitnetRandomness: faulty randomize\");\n            return getRandomnessAfter(_nextRandomizeBlock);\n        }\n    }\n\n    /// Tells what is the number of the next block in which a randomization request was posted after the given one. \n    /// @param _block Block number from which the search will start.\n    /// @return Number of the first block found after the given one, or `0` otherwise.\n    function getRandomnessNextBlock(uint256 _block)\n        public view\n        virtual override\n        returns (uint256)\n    {\n        return ((__randomize_[_block].from != address(0))\n            ? __randomize_[_block].nextBlock\n            // start search from the latest block\n            : _searchNextBlock(_block, latestRandomizeBlock)\n        );\n    }\n\n    /// Gets previous block in which a randomness request was posted before the given one.\n    /// @param _block Block number from which the search will start. Cannot be zero.\n    /// @return First block found before the given one, or `0` otherwise.\n    function getRandomnessPrevBlock(uint256 _block)\n        public view\n        virtual override\n        returns (uint256)\n    {\n        assert(_block > 0);\n        uint256 _latest = latestRandomizeBlock;\n        return ((_block > _latest)\n            ? _latest\n            // start search from the latest block\n            : _searchPrevBlock(_block, __randomize_[_latest].prevBlock)\n        );\n    }\n\n    /// Returns `true` only when the randomness request that got posted within given block was already\n    /// reported back from the Witnet oracle, either successfully or with an error of any kind.\n    function isRandomized(uint256 _block)\n        public view\n        virtual override\n        returns (bool)\n    {\n        RandomizeData storage _data = __randomize_[_block];\n        return (\n            _data.witnetQueryId != 0 \n                && _witnetCheckResultAvailability(_data.witnetQueryId)\n        );\n    }\n\n    /// Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using \n    /// the given `_nonce` value and the randomness returned by `getRandomnessAfter(_block)`. \n    /// @dev Fails under same conditions as `getRandomnessAfter(uint256)` may do.\n    /// @param _range Range within which the uniformly-distributed random number will be generated.\n    /// @param _nonce Nonce value enabling multiple random numbers from the same randomness value.\n    /// @param _block Block number from which the search will start.\n    function random(uint32 _range, uint256 _nonce, uint256 _block)\n        external view\n        virtual override\n        returns (uint32)\n    {\n        return random(\n            _range,\n            _nonce,\n            keccak256(\n                abi.encode(\n                    msg.sender,\n                    getRandomnessAfter(_block)\n                )\n            )\n        );\n    }\n\n    /// Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using \n    /// the given `_nonce` value and the given `_seed` as a source of entropy.\n    /// @param _range Range within which the uniformly-distributed random number will be generated.\n    /// @param _nonce Nonce value enabling multiple random numbers from the same randomness value.\n    /// @param _seed Seed value used as entropy source.\n    function random(uint32 _range, uint256 _nonce, bytes32 _seed)\n        public pure\n        virtual override\n        returns (uint32)\n    {\n        uint8 _flagBits = uint8(255 - _msbDeBruijn32(_range));\n        uint256 _number = uint256(\n                keccak256(\n                    abi.encode(_seed, _nonce)\n                )\n            ) & uint256(2 ** _flagBits - 1);\n        return uint32((_number * _range) >> _flagBits);\n    }\n\n    /// Requests the Witnet oracle to generate an EVM-agnostic and trustless source of randomness. \n    /// Only one randomness request per block will be actually posted to the WRB. Should there \n    /// already be a posted request within current block, it will try to upgrade Witnet fee of current's \n    /// block randomness request according to current gas price. In both cases, all unused funds shall \n    /// be transfered back to the tx sender.\n    /// @return _usedFunds Amount of funds actually used from those provided by the tx sender.\n    function randomize()\n        external payable\n        virtual override\n        returns (uint256 _usedFunds)\n    {\n        if (latestRandomizeBlock < block.number) {\n            // Post the Witnet Randomness request:\n            uint _queryId;\n            (_queryId, _usedFunds) = _witnetPostRequest(witnetRandomnessRequest);\n            // Keep Randomize data in storage:\n            RandomizeData storage _data = __randomize_[block.number];\n            _data.witnetQueryId = _queryId;\n            _data.from = msg.sender;\n            // Update block links:\n            uint256 _prevBlock = latestRandomizeBlock;\n            _data.prevBlock = _prevBlock;\n            __randomize_[_prevBlock].nextBlock = block.number;\n            latestRandomizeBlock = block.number;\n            // Throw event:\n            emit Randomized(\n                msg.sender,\n                _prevBlock,\n                _queryId,\n                witnetRandomnessRequest.hash()\n            );\n            // Transfer back unused tx value:\n            if (_usedFunds < msg.value) {\n                payable(msg.sender).transfer(msg.value - _usedFunds);\n            }\n        } else {\n            return upgradeRandomizeFee(block.number);\n        }\n    }\n\n    /// Increases Witnet fee related to a pending-to-be-solved randomness request, as much as it\n    /// may be required in proportion to how much bigger the current tx gas price is with respect the \n    /// highest gas price that was paid in either previous fee upgrades, or when the given randomness \n    /// request was posted. All unused funds shall be transferred back to the tx sender.\n    /// @return _usedFunds Amount of dunds actually used from those provided by the tx sender.\n    function upgradeRandomizeFee(uint256 _block)\n        public payable\n        virtual override\n        returns (uint256 _usedFunds)\n    {\n        RandomizeData storage _data = __randomize_[_block];\n        if (_data.witnetQueryId != 0) {\n            _usedFunds = _witnetUpgradeReward(_data.witnetQueryId);\n        }\n        if (_usedFunds < msg.value) {\n            payable(msg.sender).transfer(msg.value - _usedFunds);\n        }\n    }\n\n\n    // ================================================================================================================\n    // --- 'Clonable' overriden functions -----------------------------------------------------------------------------\n\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract\n    /// behaviour while using its own EVM storage.\n    /// @dev This function should always provide a new address, no matter how many times \n    /// @dev is actually called from the same `msg.sender`.\n    function clone()\n        public\n        virtual override\n        returns (Clonable _newInstance)\n    {\n        _newInstance = super.clone();\n        _clone(_newInstance);\n    }\n\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract \n    /// behaviour while using its own EVM storage.\n    /// @dev This function uses the CREATE2 opcode and a `_salt` to deterministically deploy\n    /// @dev the clone. Using the same `_salt` multiple time will revert, since\n    /// @dev no contract can be deployed more than once at the same address.\n    function cloneDeterministic(bytes32 _salt)\n        public\n        virtual override\n        returns (Clonable _newInstance)\n    {\n        _newInstance = super.cloneDeterministic(_salt);\n        _clone(_newInstance);\n    }\n\n\n    // ================================================================================================================\n    // --- 'Initializable' overriden functions ------------------------------------------------------------------------\n\n    /// @dev Initializes contract's storage context.\n    function initialize(bytes memory _initData)\n        public\n        virtual override\n    {\n        require(address(witnetRandomnessRequest) == address(0), \"WitnetRandomness: already initialized\");\n        witnetRandomnessRequest = WitnetRequestRandomness(\n            abi.decode(\n                _initData,\n                (address)\n            )\n        );\n    }\n\n\n    // ================================================================================================================\n    // --- INTERNAL FUNCTIONS -----------------------------------------------------------------------------------------\n\n    /// @dev Common steps for both deterministic and non-deterministic cloning.\n    function _clone(Clonable _instance) internal {\n        address _request = address(witnetRandomnessRequest.clone());\n        Ownable(_request).transferOwnership(msg.sender);\n        _instance.initialize(abi.encode(_request));\n    }\n\n    /// @dev Returns index of the Most Significant Bit of the given number, applying De Bruijn O(1) algorithm.\n    function _msbDeBruijn32(uint32 _v)\n        internal pure\n        returns (uint8)\n    {\n        uint8[32] memory _bitPosition = [\n                0, 9, 1, 10, 13, 21, 2, 29,\n                11, 14, 16, 18, 22, 25, 3, 30,\n                8, 12, 20, 28, 15, 17, 24, 7,\n                19, 27, 23, 6, 26, 5, 4, 31\n            ];\n        _v |= _v >> 1;\n        _v |= _v >> 2;\n        _v |= _v >> 4;\n        _v |= _v >> 8;\n        _v |= _v >> 16;\n        return _bitPosition[\n            uint32(_v * uint256(0x07c4acdd)) >> 27\n        ];\n    }\n\n    /// @dev Recursively searches for the number of the first block after the given one in which a Witnet randomization request was posted.\n    /// @dev Returns 0 if none found.\n    function _searchNextBlock(uint256 _target, uint256 _latest) internal view returns (uint256) {\n        return ((_target >= _latest) \n            ? __randomize_[_latest].nextBlock\n            : _searchNextBlock(_target, __randomize_[_latest].prevBlock)\n        );\n    }\n\n    /// @dev Recursively searches for the number of the first block before the given one in which a Witnet randomization request was posted.\n    /// @dev Returns 0 if none found.\n\n    function _searchPrevBlock(uint256 _target, uint256 _latest) internal view returns (uint256) {\n        return ((_target > _latest)\n            ? _latest\n            : _searchPrevBlock(_target, __randomize_[_latest].prevBlock)\n        );\n    }\n}\n"},"witnet-solidity-bridge/contracts/data/WitnetBoardData.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\n\nimport \"../libs/Witnet.sol\";\n\n/// @title Witnet Request Board base data model. \n/// @author The Witnet Foundation.\nabstract contract WitnetBoardData {  \n\n    bytes32 internal constant _WITNET_BOARD_DATA_SLOTHASH =\n        /* keccak256(\"io.witnet.boards.data\") */\n        0xf595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183;\n\n    struct WitnetBoardState {\n        address base;\n        address owner;    \n        uint256 numQueries;\n        mapping (uint => Witnet.Query) queries;\n    }\n\n    constructor() {\n        _state().owner = msg.sender;\n    }\n\n    /// Asserts the given query is currently in the given status.\n    modifier inStatus(uint256 _queryId, Witnet.QueryStatus _status) {\n      require(\n          _getQueryStatus(_queryId) == _status,\n          _getQueryStatusRevertMessage(_status)\n        );\n      _;\n    }\n\n    /// Asserts the given query was previously posted and that it was not yet deleted.\n    modifier notDeleted(uint256 _queryId) {\n        require(_queryId > 0 && _queryId <= _state().numQueries, \"WitnetBoardData: not yet posted\");\n        require(_getRequester(_queryId) != address(0), \"WitnetBoardData: deleted\");\n        _;\n    }\n\n    /// Asserts caller corresponds to the current owner. \n    modifier onlyOwner {\n        require(msg.sender == _state().owner, \"WitnetBoardData: only owner\");\n        _;    \n    }\n\n    /// Asserts the give query was actually posted before calling this method.\n    modifier wasPosted(uint256 _queryId) {\n        require(_queryId > 0 && _queryId <= _state().numQueries, \"WitnetBoardData: not yet posted\");\n        _;\n    }\n\n    // ================================================================================================================\n    // --- Internal functions -----------------------------------------------------------------------------------------\n\n    /// Gets current status of given query.\n    function _getQueryStatus(uint256 _queryId)\n      internal view\n      returns (Witnet.QueryStatus)\n    {\n      if (_queryId == 0 || _queryId > _state().numQueries) {\n        // \"Unknown\" status if queryId is out of range:\n        return Witnet.QueryStatus.Unknown;\n      }\n      else {\n        Witnet.Query storage _query = _state().queries[_queryId];\n        if (_query.response.drTxHash != 0) {\n          // Query is in \"Reported\" status as soon as the hash of the\n          // Witnet transaction that solved the query is reported\n          // back from a Witnet bridge:\n          return Witnet.QueryStatus.Reported;\n        }\n        else if (_query.from != address(0)) {\n          // Otherwise, while address from which the query was posted\n          // is kept in storage, the query remains in \"Posted\" status:\n          return Witnet.QueryStatus.Posted;\n        }\n        else {\n          // Requester's address is removed from storage only if\n          // the query gets \"Deleted\" by its requester.\n          return Witnet.QueryStatus.Deleted;\n        }\n      }\n    }\n\n    function _getQueryStatusRevertMessage(Witnet.QueryStatus _status)\n      internal pure\n      returns (string memory)\n    {\n      if (_status == Witnet.QueryStatus.Posted) {\n        return \"WitnetBoardData: not in Posted status\";\n      } else if (_status == Witnet.QueryStatus.Reported) {\n        return \"WitnetBoardData: not in Reported status\";\n      } else if (_status == Witnet.QueryStatus.Deleted) {\n        return \"WitnetBoardData: not in Deleted status\";\n      } else {\n        return \"WitnetBoardData: bad mood\";\n      }\n    }\n\n    /// Gets from of a given query.\n    function _getRequester(uint256 _queryId)\n      internal view\n      returns (address)\n    {\n      return _state().queries[_queryId].from;\n    }\n\n    /// Gets the Witnet.Request part of a given query.\n    function _getRequestData(uint256 _queryId)\n      internal view\n      returns (Witnet.Request storage)\n    {\n        return _state().queries[_queryId].request;\n    }\n\n    /// Gets the Witnet.Result part of a given query.\n    function _getResponseData(uint256 _queryId)\n      internal view\n      returns (Witnet.Response storage)\n    {\n        return _state().queries[_queryId].response;\n    }\n\n    /// Returns storage pointer to contents of 'WitnetBoardState' struct.\n    function _state()\n      internal pure\n      returns (WitnetBoardState storage _ptr)\n    {\n        assembly {\n            _ptr.slot := _WITNET_BOARD_DATA_SLOTHASH\n        }\n    }\n\n}\n"},"witnet-solidity-bridge/contracts/data/WitnetBoardDataACLs.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\n\nimport \"./WitnetBoardData.sol\";\n\n/// @title Witnet Access Control Lists storage layout, for Witnet-trusted request boards.\n/// @author The Witnet Foundation.\nabstract contract WitnetBoardDataACLs\n    is\n        WitnetBoardData\n{\n    bytes32 internal constant _WITNET_BOARD_ACLS_SLOTHASH =\n        /* keccak256(\"io.witnet.boards.data.acls\") */\n        0xa6db7263983f337bae2c9fb315730227961d1c1153ae1e10a56b5791465dd6fd;\n\n    struct WitnetBoardACLs {\n        mapping (address => bool) isReporter_;\n    }\n\n    constructor() {\n        _acls().isReporter_[msg.sender] = true;\n    }\n\n    modifier onlyReporters {\n        require(\n            _acls().isReporter_[msg.sender],\n            \"WitnetBoardDataACLs: unauthorized reporter\"\n        );\n        _;\n    } \n\n    // ================================================================================================================\n    // --- Internal functions -----------------------------------------------------------------------------------------\n\n    function _acls() internal pure returns (WitnetBoardACLs storage _struct) {\n        assembly {\n            _struct.slot := _WITNET_BOARD_ACLS_SLOTHASH\n        }\n    }\n}\n"},"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableBase.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport \"../WitnetRequestBoardUpgradableBase.sol\";\nimport \"../../data/WitnetBoardDataACLs.sol\";\nimport \"../../interfaces/IWitnetRequestBoardAdmin.sol\";\nimport \"../../interfaces/IWitnetRequestBoardAdminACLs.sol\";\nimport \"../../libs/WitnetParserLib.sol\";\nimport \"../../patterns/Payable.sol\";\n\n/// @title Witnet Request Board \"trustable\" base implementation contract.\n/// @notice Contract to bridge requests to Witnet Decentralized Oracle Network.\n/// @dev This contract enables posting requests that Witnet bridges will insert into the Witnet network.\n/// The result of the requests will be posted back to this contract by the bridge nodes too.\n/// @author The Witnet Foundation\nabstract contract WitnetRequestBoardTrustableBase\n    is \n        Payable,\n        IWitnetRequestBoardAdmin,\n        IWitnetRequestBoardAdminACLs,        \n        WitnetBoardDataACLs,\n        WitnetRequestBoardUpgradableBase        \n{\n    using Witnet for bytes;\n    using WitnetParserLib for Witnet.Result;\n    \n    constructor(bool _upgradable, bytes32 _versionTag, address _currency)\n        Payable(_currency)\n        WitnetRequestBoardUpgradableBase(_upgradable, _versionTag)\n    {}\n\n\n    // ================================================================================================================\n    // --- Overrides 'Upgradable' -------------------------------------------------------------------------------------\n\n    /// Initialize storage-context when invoked as delegatecall. \n    /// @dev Must fail when trying to initialize same instance more than once.\n    function initialize(bytes memory _initData) virtual external override {\n        address _owner = _state().owner;\n        if (_owner == address(0)) {\n            // set owner if none set yet\n            _owner = msg.sender;\n            _state().owner = _owner;\n        } else {\n            // only owner can initialize:\n            require(msg.sender == _owner, \"WitnetRequestBoardTrustableBase: only owner\");\n        }        \n\n        if (_state().base != address(0)) {\n            // current implementation cannot be initialized more than once:\n            require(_state().base != base(), \"WitnetRequestBoardTrustableBase: already initialized\");\n        }        \n        _state().base = base();\n\n        emit Upgraded(msg.sender, base(), codehash(), version());\n\n        // Do actual base initialization:\n        setReporters(abi.decode(_initData, (address[])));\n    }\n\n    /// Tells whether provided address could eventually upgrade the contract.\n    function isUpgradableFrom(address _from) external view override returns (bool) {\n        address _owner = _state().owner;\n        return (\n            // false if the WRB is intrinsically not upgradable, or `_from` is no owner\n            isUpgradable()\n                && _owner == _from\n        );\n    }\n\n\n    // ================================================================================================================\n    // --- Full implementation of 'IWitnetRequestBoardAdmin' ----------------------------------------------------------\n\n    /// Gets admin/owner address.\n    function owner()\n        public view\n        override\n        returns (address)\n    {\n        return _state().owner;\n    }\n\n    /// Transfers ownership.\n    function transferOwnership(address _newOwner)\n        external\n        virtual override\n        onlyOwner\n    {\n        address _owner = _state().owner;\n        if (_newOwner != _owner) {\n            _state().owner = _newOwner;\n            emit OwnershipTransferred(_owner, _newOwner);\n        }\n    }\n\n\n    // ================================================================================================================\n    // --- Full implementation of 'IWitnetRequestBoardAdminACLs' ------------------------------------------------------\n\n    /// Tells whether given address is included in the active reporters control list.\n    /// @param _reporter The address to be checked.\n    function isReporter(address _reporter) public view override returns (bool) {\n        return _acls().isReporter_[_reporter];\n    }\n\n    /// Adds given addresses to the active reporters control list.\n    /// @dev Can only be called from the owner address.\n    /// @dev Emits the `ReportersSet` event. \n    /// @param _reporters List of addresses to be added to the active reporters control list.\n    function setReporters(address[] memory _reporters)\n        public\n        override\n        onlyOwner\n    {\n        for (uint ix = 0; ix < _reporters.length; ix ++) {\n            address _reporter = _reporters[ix];\n            _acls().isReporter_[_reporter] = true;\n        }\n        emit ReportersSet(_reporters);\n    }\n\n    /// Removes given addresses from the active reporters control list.\n    /// @dev Can only be called from the owner address.\n    /// @dev Emits the `ReportersUnset` event. \n    /// @param _exReporters List of addresses to be added to the active reporters control list.\n    function unsetReporters(address[] memory _exReporters)\n        public\n        override\n        onlyOwner\n    {\n        for (uint ix = 0; ix < _exReporters.length; ix ++) {\n            address _reporter = _exReporters[ix];\n            _acls().isReporter_[_reporter] = false;\n        }\n        emit ReportersUnset(_exReporters);\n    }\n\n\n    // ================================================================================================================\n    // --- Full implementation of 'IWitnetRequestBoardReporter' -------------------------------------------------------\n\n    /// Reports the Witnet-provided result to a previously posted request. \n    /// @dev Will assume `block.timestamp` as the timestamp at which the request was solved.\n    /// @dev Fails if:\n    /// @dev - the `_queryId` is not in 'Posted' status.\n    /// @dev - provided `_drTxHash` is zero;\n    /// @dev - length of provided `_result` is zero.\n    /// @param _queryId The unique identifier of the data request.\n    /// @param _drTxHash The hash of the solving tally transaction in Witnet.\n    /// @param _cborBytes The result itself as bytes.\n    function reportResult(\n            uint256 _queryId,\n            bytes32 _drTxHash,\n            bytes calldata _cborBytes\n        )\n        external\n        override\n        onlyReporters\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\n    {\n        require(_drTxHash != 0, \"WitnetRequestBoardTrustableDefault: Witnet drTxHash cannot be zero\");\n        // Ensures the result bytes do not have zero length\n        // This would not be a valid encoding with CBOR and could trigger a reentrancy attack\n        require(_cborBytes.length != 0, \"WitnetRequestBoardTrustableDefault: result cannot be empty\");\n        // solhint-disable not-rely-on-time\n        _safeTransferTo(\n            payable(msg.sender),\n            __reportResult(\n                _queryId,\n                block.timestamp,\n                _drTxHash,\n                _cborBytes\n            )\n        );\n        emit PostedResult(_queryId, msg.sender);\n    }\n\n    /// Reports the Witnet-provided result to a previously posted request.\n    /// @dev Fails if:\n    /// @dev - called from unauthorized address;\n    /// @dev - the `_queryId` is not in 'Posted' status.\n    /// @dev - provided `_drTxHash` is zero;\n    /// @dev - length of provided `_result` is zero.\n    /// @param _queryId The unique query identifier\n    /// @param _timestamp The timestamp of the solving tally transaction in Witnet.\n    /// @param _drTxHash The hash of the solving tally transaction in Witnet.\n    /// @param _cborBytes The result itself as bytes.\n    function reportResult(\n            uint256 _queryId,\n            uint256 _timestamp,\n            bytes32 _drTxHash,\n            bytes calldata _cborBytes\n        )\n        external\n        override\n        onlyReporters\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\n    {\n        require(_timestamp <= block.timestamp, \"WitnetRequestBoardTrustableDefault: bad timestamp\");\n        require(_drTxHash != 0, \"WitnetRequestBoardTrustableDefault: Witnet drTxHash cannot be zero\");\n        // Ensures the result bytes do not have zero length\n        // This would not be a valid encoding with CBOR and could trigger a reentrancy attack\n        require(_cborBytes.length != 0, \"WitnetRequestBoardTrustableDefault: result cannot be empty\");\n        _safeTransferTo(\n            payable(msg.sender),\n            __reportResult(\n                _queryId,\n                _timestamp,\n                _drTxHash,\n                _cborBytes\n            )\n        );\n        emit PostedResult(_queryId, msg.sender);\n    }\n\n    /// Reports Witnet-provided results to multiple requests within a single EVM tx.\n    /// @dev Fails if called from unauthorized address.\n    /// @dev Emits a PostedResult event for every succesfully reported result, if any.\n    /// @param _batchResults Array of BatchedResult structs, every one containing:\n    ///         - unique query identifier;\n    ///         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;\n    ///         - hash of the corresponding data request tx at the Witnet side-chain level;\n    ///         - data request result in raw bytes.\n    /// @param _verbose If true, emits a BatchReportError event for every failing report, if any. \n    function reportResultBatch(\n            BatchResult[] memory _batchResults,\n            bool _verbose\n        )\n        external\n        override\n        onlyReporters\n    {\n        uint _batchReward;\n        uint _batchSize = _batchResults.length;\n        for ( uint _i = 0; _i < _batchSize; _i ++) {\n            BatchResult memory _result = _batchResults[_i];\n            if (_getQueryStatus(_result.queryId) != Witnet.QueryStatus.Posted) {\n                if (_verbose) {\n                    emit BatchReportError(\n                        _result.queryId,\n                        \"WitnetRequestBoardTrustableBase: bad queryId\"\n                    );\n                }\n            } else if (_result.drTxHash == 0) {\n                if (_verbose) {\n                    emit BatchReportError(\n                        _result.queryId,\n                        \"WitnetRequestBoardTrustableBase: bad drTxHash\"\n                    );\n                }\n            } else if (_result.cborBytes.length == 0) {\n                if (_verbose) {\n                    emit BatchReportError(\n                        _result.queryId, \n                        \"WitnetRequestBoardTrustableBase: bad cborBytes\"\n                    );\n                }\n            } else if (_result.timestamp > 0 && _result.timestamp > block.timestamp) {\n                if (_verbose) {\n                    emit BatchReportError(\n                        _result.queryId,\n                        \"WitnetRequestBoardTrustableBase: bad timestamp\"\n                    );\n                }\n            } else {\n                _batchReward += __reportResult(\n                    _result.queryId,\n                    _result.timestamp == 0 ? block.timestamp : _result.timestamp,\n                    _result.drTxHash,\n                    _result.cborBytes\n                );\n                emit PostedResult(\n                    _result.queryId,\n                    msg.sender\n                );\n            }\n        }   \n        // Transfer all successful rewards in one single shot to the authorized reporter, if any:\n        if (_batchReward > 0) {\n            _safeTransferTo(\n                payable(msg.sender),\n                _batchReward\n            );\n        }\n    }\n    \n\n    // ================================================================================================================\n    // --- Full implementation of 'IWitnetRequestBoardRequestor' ------------------------------------------------------\n\n    /// Retrieves copy of all response data related to a previously posted request, removing the whole query from storage.\n    /// @dev Fails if the `_queryId` is not in 'Reported' status, or called from an address different to\n    /// @dev the one that actually posted the given request.\n    /// @param _queryId The unique query identifier.\n    function deleteQuery(uint256 _queryId)\n        public\n        virtual override\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\n        returns (Witnet.Response memory _response)\n    {\n        Witnet.Query storage __query = _state().queries[_queryId];\n        require(\n            msg.sender == __query.from,\n            \"WitnetRequestBoardTrustableBase: only requester\"\n        );\n        _response = __query.response;\n        delete _state().queries[_queryId];\n        emit DeletedQuery(_queryId, msg.sender);\n    }\n\n    /// Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON.\n    /// A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided \n    /// result to this request.\n    /// @dev Fails if:\n    /// @dev - provided reward is too low.\n    /// @dev - provided script is zero address.\n    /// @dev - provided script bytecode is empty.\n    /// @param _addr The address of a IWitnetRequest contract, containing the actual Data Request seralized bytecode.\n    /// @return _queryId An unique query identifier.\n    function postRequest(IWitnetRequest _addr)\n        public payable\n        virtual override\n        returns (uint256 _queryId)\n    {\n        uint256 _value = _getMsgValue();\n        uint256 _gasPrice = _getGasPrice();\n\n        // Checks the tally reward is covering gas cost\n        uint256 minResultReward = estimateReward(_gasPrice);\n        require(_value >= minResultReward, \"WitnetRequestBoardTrustableBase: reward too low\");\n\n        // Validates provided script:\n        require(address(_addr) != address(0), \"WitnetRequestBoardTrustableBase: null script\");\n        bytes memory _bytecode = _addr.bytecode();\n        require(_bytecode.length > 0, \"WitnetRequestBoardTrustableBase: empty script\");\n\n        _queryId = ++ _state().numQueries;\n        _state().queries[_queryId].from = msg.sender;\n\n        Witnet.Request storage _request = _getRequestData(_queryId);\n        _request.addr = _addr;\n        _request.hash = _bytecode.hash();\n        _request.gasprice = _gasPrice;\n        _request.reward = _value;\n\n        // Let observers know that a new request has been posted\n        emit PostedRequest(_queryId, msg.sender);\n    }\n    \n    /// Increments the reward of a previously posted request by adding the transaction value to it.\n    /// @dev Updates request `gasPrice` in case this method is called with a higher \n    /// @dev gas price value than the one used in previous calls to `postRequest` or\n    /// @dev `upgradeReward`. \n    /// @dev Fails if the `_queryId` is not in 'Posted' status.\n    /// @dev Fails also in case the request `gasPrice` is increased, and the new \n    /// @dev reward value gets below new recalculated threshold. \n    /// @param _queryId The unique query identifier.\n    function upgradeReward(uint256 _queryId)\n        public payable\n        virtual override      \n        inStatus(_queryId, Witnet.QueryStatus.Posted)\n    {\n        Witnet.Request storage _request = _getRequestData(_queryId);\n\n        uint256 _newReward = _request.reward + _getMsgValue();\n        uint256 _newGasPrice = _getGasPrice();\n\n        // If gas price is increased, then check if new rewards cover gas costs\n        if (_newGasPrice > _request.gasprice) {\n            // Checks the reward is covering gas cost\n            uint256 _minResultReward = estimateReward(_newGasPrice);\n            require(\n                _newReward >= _minResultReward,\n                \"WitnetRequestBoardTrustableBase: reward too low\"\n            );\n            _request.gasprice = _newGasPrice;\n        }\n        _request.reward = _newReward;\n    }\n\n\n    // ================================================================================================================\n    // --- Full implementation of 'IWitnetRequestBoardView' -----------------------------------------------------------\n\n    /// Estimates the amount of reward we need to insert for a given gas price.\n    /// @param _gasPrice The gas price for which we need to calculate the rewards.\n    function estimateReward(uint256 _gasPrice)\n        public view\n        virtual override\n        returns (uint256);\n\n    /// Returns next request id to be generated by the Witnet Request Board.\n    function getNextQueryId()\n        external view \n        override\n        returns (uint256)\n    {\n        return _state().numQueries + 1;\n    }\n\n    /// Gets the whole Query data contents, if any, no matter its current status.\n    function getQueryData(uint256 _queryId)\n      external view\n      override\n      returns (Witnet.Query memory)\n    {\n        return _state().queries[_queryId];\n    }\n\n    /// Gets current status of given query.\n    function getQueryStatus(uint256 _queryId)\n        external view\n        override\n        returns (Witnet.QueryStatus)\n    {\n        return _getQueryStatus(_queryId);\n\n    }\n\n    /// Retrieves the whole Request record posted to the Witnet Request Board.\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been reported\n    /// @dev or deleted.\n    /// @param _queryId The unique identifier of a previously posted query.\n    function readRequest(uint256 _queryId)\n        external view\n        override\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\n        returns (Witnet.Request memory _request)\n    {\n        Witnet.Query storage __query = _state().queries[_queryId];\n        _request = __query.request;\n        if (__query.from != address(0)) {\n            _request.requester = __query.from;\n        }\n    }\n    \n    /// Retrieves the serialized bytecode of a previously posted Witnet Data Request.\n    /// @dev Fails if the `_queryId` is not valid, or if the related script bytecode \n    /// @dev got changed after being posted. Returns empty array once it gets reported, \n    /// @dev or deleted.\n    /// @param _queryId The unique query identifier.\n    function readRequestBytecode(uint256 _queryId)\n        external view\n        override\n        returns (bytes memory _bytecode)\n    {\n        require(\n            _getQueryStatus(_queryId) != Witnet.QueryStatus.Unknown,\n            \"WitnetRequestBoardTrustableBase: not yet posted\"\n        );\n        Witnet.Request storage _request = _getRequestData(_queryId);\n        if (address(_request.addr) != address(0)) {\n            // if DR's request contract address is not zero,\n            // we assume the DR has not been deleted, so\n            // DR's bytecode can still be fetched:\n            _bytecode = _request.addr.bytecode();\n            require(\n                _bytecode.hash() == _request.hash,\n                \"WitnetRequestBoardTrustableBase: bytecode changed after posting\"\n            );\n        } \n    }\n\n    /// Retrieves the gas price that any assigned reporter will have to pay when reporting \n    /// result to a previously posted Witnet data request.\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \n    /// @dev reported, or deleted. \n    /// @param _queryId The unique query identifier\n    function readRequestGasPrice(uint256 _queryId)\n        external view\n        override\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\n        returns (uint256)\n    {\n        return _state().queries[_queryId].request.gasprice;\n    }\n\n    /// Retrieves the reward currently set for a previously posted request.\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \n    /// @dev reported, or deleted. \n    /// @param _queryId The unique query identifier\n    function readRequestReward(uint256 _queryId)\n        external view\n        override\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\n        returns (uint256)\n    {\n        return _state().queries[_queryId].request.reward;\n    }\n\n    /// Retrieves the Witnet-provided result, and metadata, to a previously posted request.    \n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\n    /// @param _queryId The unique query identifier\n    function readResponse(uint256 _queryId)\n        external view\n        override\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\n        returns (Witnet.Response memory _response)\n    {\n        return _getResponseData(_queryId);\n    }\n\n    /// Retrieves the hash of the Witnet transaction that actually solved the referred query.\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\n    /// @param _queryId The unique query identifier.\n    function readResponseDrTxHash(uint256 _queryId)\n        external view        \n        override\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\n        returns (bytes32)\n    {\n        return _getResponseData(_queryId).drTxHash;\n    }\n\n    /// Retrieves the address that reported the result to a previously-posted request.\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\n    /// @param _queryId The unique query identifier\n    function readResponseReporter(uint256 _queryId)\n        external view\n        override\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\n        returns (address)\n    {\n        return _getResponseData(_queryId).reporter;\n    }\n\n    /// Retrieves the Witnet-provided CBOR-bytes result of a previously posted request.\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\n    /// @param _queryId The unique query identifier\n    function readResponseResult(uint256 _queryId)\n        external view\n        override\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\n        returns (Witnet.Result memory)\n    {\n        Witnet.Response storage _response = _getResponseData(_queryId);\n        return WitnetParserLib.resultFromCborBytes(_response.cborBytes);\n    }\n\n    /// Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON.\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\n    /// @param _queryId The unique query identifier.\n    function readResponseTimestamp(uint256 _queryId)\n        external view\n        override\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\n        returns (uint256)\n    {\n        return _getResponseData(_queryId).timestamp;\n    }\n\n\n    // ================================================================================================================\n    // --- Full implementation of 'IWitnetRequestParser' interface ----------------------------------------------------\n\n    /// Decode raw CBOR bytes into a Witnet.Result instance.\n    /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\n    /// @return A `Witnet.Result` instance.\n    function resultFromCborBytes(bytes memory _cborBytes)\n        external pure\n        override\n        returns (Witnet.Result memory)\n    {\n        return WitnetParserLib.resultFromCborBytes(_cborBytes);\n    }\n\n    /// Decode a CBOR value into a Witnet.Result instance.\n    /// @param _cborValue An instance of `Witnet.CBOR`.\n    /// @return A `Witnet.Result` instance.\n    function resultFromCborValue(Witnet.CBOR memory _cborValue)\n        external pure\n        override\n        returns (Witnet.Result memory)\n    {\n        return WitnetParserLib.resultFromCborValue(_cborValue);\n    }\n\n    /// Tell if a Witnet.Result is successful.\n    /// @param _result An instance of Witnet.Result.\n    /// @return `true` if successful, `false` if errored.\n    function isOk(Witnet.Result memory _result)\n        external pure\n        override\n        returns (bool)\n    {\n        return _result.isOk();\n    }\n\n    /// Tell if a Witnet.Result is errored.\n    /// @param _result An instance of Witnet.Result.\n    /// @return `true` if errored, `false` if successful.\n    function isError(Witnet.Result memory _result)\n        external pure\n        override\n        returns (bool)\n    {\n        return _result.isError();\n    }\n\n    /// Decode a bytes value from a Witnet.Result as a `bytes` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `bytes` decoded from the Witnet.Result.\n    function asBytes(Witnet.Result memory _result)\n        external pure\n        override\n        returns (bytes memory)\n    {\n        return _result.asBytes();\n    }\n\n    /// Decode a bytes value from a Witnet.Result as a `bytes32` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `bytes32` decoded from the Witnet.Result.\n    function asBytes32(Witnet.Result memory _result)\n        external pure\n        override\n        returns (bytes32)\n    {\n        return _result.asBytes32();\n    }\n\n    /// Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\n    /// @param _result An instance of `Witnet.Result`.\n    /// @return The `CBORValue.Error memory` decoded from the Witnet.Result.\n    function asErrorCode(Witnet.Result memory _result)\n        external pure\n        override\n        returns (Witnet.ErrorCodes)\n    {\n        return _result.asErrorCode();\n    }\n\n    /// Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\n    /// @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\n    /// @param _result An instance of `Witnet.Result`.\n    /// @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\n    function asErrorMessage(Witnet.Result memory _result)\n        external pure\n        override\n        returns (Witnet.ErrorCodes, string memory)\n    {\n        try _result.asErrorMessage() returns (Witnet.ErrorCodes _code, string memory _message) {\n            return (_code, _message);\n        } \n        catch Error(string memory _reason) {\n            return (Witnet.ErrorCodes.Unknown, _reason);\n        }\n        catch (bytes memory) {\n            return (Witnet.ErrorCodes.UnhandledIntercept, \"WitnetRequestBoardTrustableBase: failing assert\");\n        }\n    }\n\n    /// Decode a raw error from a `Witnet.Result` as a `uint64[]`.\n    /// @param _result An instance of `Witnet.Result`.\n    /// @return The `uint64[]` raw error as decoded from the `Witnet.Result`.\n    function asRawError(Witnet.Result memory _result)\n        external pure\n        override\n        returns(uint64[] memory)\n    {\n        return _result.asRawError();\n    }\n\n    /// Decode a boolean value from a Witnet.Result as an `bool` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `bool` decoded from the Witnet.Result.\n    function asBool(Witnet.Result memory _result)\n        external pure\n        override\n        returns (bool)\n    {\n        return _result.asBool();\n    }\n\n    /// Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\n    /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\n    /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\n    /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `int128` decoded from the Witnet.Result.\n    function asFixed16(Witnet.Result memory _result)\n        external pure\n        override\n        returns (int32)\n    {\n        return _result.asFixed16();\n    }\n\n    /// Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `int128[]` decoded from the Witnet.Result.\n    function asFixed16Array(Witnet.Result memory _result)\n        external pure\n        override\n        returns (int32[] memory)\n    {\n        return _result.asFixed16Array();\n    }\n\n    /// Decode a integer numeric value from a Witnet.Result as an `int128` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `int128` decoded from the Witnet.Result.\n    function asInt128(Witnet.Result memory _result)\n        external pure\n        override\n        returns (int128)\n    {\n        return _result.asInt128();\n    }\n\n    /// Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `int128[]` decoded from the Witnet.Result.\n    function asInt128Array(Witnet.Result memory _result)\n        external pure\n        override\n        returns (int128[] memory)\n    {\n        return _result.asInt128Array();\n    }\n\n    /// Decode a string value from a Witnet.Result as a `string` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `string` decoded from the Witnet.Result.\n    function asString(Witnet.Result memory _result)\n        external pure\n        override\n        returns (string memory)\n    {\n        return _result.asString();\n    }\n\n    /// Decode an array of string values from a Witnet.Result as a `string[]` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `string[]` decoded from the Witnet.Result.\n    function asStringArray(Witnet.Result memory _result)\n        external pure\n        override\n        returns (string[] memory)\n    {\n        return _result.asStringArray();\n    }\n\n    /// Decode a natural numeric value from a Witnet.Result as a `uint64` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `uint64` decoded from the Witnet.Result.\n    function asUint64(Witnet.Result memory _result)\n        external pure \n        override\n        returns(uint64)\n    {\n        return _result.asUint64();\n    }\n\n    /// Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `uint64[]` decoded from the Witnet.Result.\n    function asUint64Array(Witnet.Result memory _result)\n        external pure\n        override\n        returns (uint64[] memory)\n    {\n        return _result.asUint64Array();\n    }\n\n\n    // ================================================================================================================\n    // --- Internal functions -----------------------------------------------------------------------------------------\n\n    function __reportResult(\n            uint256 _queryId,\n            uint256 _timestamp,\n            bytes32 _drTxHash,\n            bytes memory _cborBytes\n        )\n        internal\n        returns (uint256 _reward)\n    {\n        Witnet.Query storage __query = _state().queries[_queryId];\n        Witnet.Request storage __request = __query.request;\n        Witnet.Response storage __response = __query.response;\n\n        // solhint-disable not-rely-on-time\n        __response.timestamp = _timestamp;\n        __response.drTxHash = _drTxHash;\n        __response.reporter = msg.sender;\n        __response.cborBytes = _cborBytes;\n\n        // return request latest reward\n        _reward = __request.reward;\n\n        // Request data won't be needed anymore, so it can just get deleted right now:  \n        delete __query.request;\n    }\n}\n"},"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableDefault.sol":{"content":"// SPDX-License-Identifier: MIT\n\n/* solhint-disable var-name-mixedcase */\n\npragma solidity >=0.7.0 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport \"./WitnetRequestBoardTrustableBase.sol\";\nimport \"../../patterns/Destructible.sol\";\n\n/// @title Witnet Request Board \"trustable\" implementation contract.\n/// @notice Contract to bridge requests to Witnet Decentralized Oracle Network.\n/// @dev This contract enables posting requests that Witnet bridges will insert into the Witnet network.\n/// The result of the requests will be posted back to this contract by the bridge nodes too.\n/// @author The Witnet Foundation\ncontract WitnetRequestBoardTrustableDefault\n    is \n        Destructible,\n        WitnetRequestBoardTrustableBase\n{  \n    uint256 internal immutable _ESTIMATED_REPORT_RESULT_GAS;\n\n    constructor(\n        bool _upgradable,\n        bytes32 _versionTag,\n        uint256 _reportResultGasLimit\n    )\n        WitnetRequestBoardTrustableBase(_upgradable, _versionTag, address(0))\n    {\n        _ESTIMATED_REPORT_RESULT_GAS = _reportResultGasLimit;\n    }\n\n\n    // ================================================================================================================\n    // --- Overrides implementation of 'IWitnetRequestBoardView' ------------------------------------------------------\n\n    /// Estimates the amount of reward we need to insert for a given gas price.\n    /// @param _gasPrice The gas price for which we need to calculate the rewards.\n    function estimateReward(uint256 _gasPrice)\n        public view\n        virtual override\n        returns (uint256)\n    {\n        return _gasPrice * _ESTIMATED_REPORT_RESULT_GAS;\n    }\n\n\n    // ================================================================================================================\n    // --- Overrides 'Destructible' -----------------------------------------------------------------------------------\n\n    /// Destroys current instance. Only callable by the owner.\n    function destruct() external override onlyOwner {\n        selfdestruct(payable(msg.sender));\n    }\n\n\n    // ================================================================================================================\n    // --- Overrides 'Payable' ----------------------------------------------------------------------------------------\n\n    /// Gets current transaction price.\n    function _getGasPrice()\n        internal view\n        override\n        returns (uint256)\n    {\n        return tx.gasprice;\n    }\n\n    /// Gets current payment value.\n    function _getMsgValue()\n        internal view\n        override\n        returns (uint256)\n    {\n        return msg.value;\n    }\n\n    /// Transfers ETHs to given address.\n    /// @param _to Recipient address.\n    /// @param _amount Amount of ETHs to transfer.\n    function _safeTransferTo(address payable _to, uint256 _amount)\n        internal\n        override\n    {\n        payable(_to).transfer(_amount);\n    }   \n}\n"},"witnet-solidity-bridge/contracts/impls/WitnetProxy.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport \"../patterns/Upgradable.sol\";\n\n/// @title WitnetProxy: upgradable delegate-proxy contract that routes Witnet data requests coming from a \n/// `UsingWitnet`-inheriting contract to a currently active `WitnetRequestBoard` implementation. \n/// @author The Witnet Foundation.\ncontract WitnetProxy {\n\n    struct WitnetProxySlot {\n        address implementation;\n    }\n\n    /// Event emitted every time the implementation gets updated.\n    event Upgraded(address indexed implementation);  \n\n    /// Constructor with no params as to ease eventual support of Singleton pattern (i.e. ERC-2470).\n    constructor () {}\n\n    /// WitnetProxies will never accept direct transfer of ETHs.\n    receive() external payable {\n        revert(\"WitnetProxy: no transfers accepted\");\n    }\n\n    /// Payable fallback accepts delegating calls to payable functions.  \n    fallback() external payable { /* solhint-disable no-complex-fallback */\n        address _implementation = implementation();\n\n        assembly { /* solhint-disable avoid-low-level-calls */\n            // Gas optimized delegate call to 'implementation' contract.\n            // Note: `msg.data`, `msg.sender` and `msg.value` will be passed over \n            //       to actual implementation of `msg.sig` within `implementation` contract.\n            let ptr := mload(0x40)\n            calldatacopy(ptr, 0, calldatasize())\n            let result := delegatecall(gas(), _implementation, ptr, calldatasize(), 0, 0)\n            let size := returndatasize()\n            returndatacopy(ptr, 0, size)\n            switch result\n                case 0  { \n                    // pass back revert message:\n                    revert(ptr, size) \n                }\n                default {\n                  // pass back same data as returned by 'implementation' contract:\n                  return(ptr, size) \n                }\n        }\n    }\n\n    /// Returns proxy's current implementation address.\n    function implementation() public view returns (address) {\n        return _proxySlot().implementation;\n    }\n\n    /// Upgrades the `implementation` address.\n    /// @param _newImplementation New implementation address.\n    /// @param _initData Raw data with which new implementation will be initialized.\n    /// @return Returns whether new implementation would be further upgradable, or not.\n    function upgradeTo(address _newImplementation, bytes memory _initData)\n        public returns (bool)\n    {\n        // New implementation cannot be null:\n        require(_newImplementation != address(0), \"WitnetProxy: null implementation\");\n\n        address _oldImplementation = implementation();\n        if (_oldImplementation != address(0)) {\n            // New implementation address must differ from current one:\n            require(_newImplementation != _oldImplementation, \"WitnetProxy: nothing to upgrade\");\n\n            // Assert whether current implementation is intrinsically upgradable:\n            try Upgradable(_oldImplementation).isUpgradable() returns (bool _isUpgradable) {\n                require(_isUpgradable, \"WitnetProxy: not upgradable\");\n            } catch {\n                revert(\"WitnetProxy: unable to check upgradability\");\n            }\n\n            // Assert whether current implementation allows `msg.sender` to upgrade the proxy:\n            (bool _wasCalled, bytes memory _result) = _oldImplementation.delegatecall(\n                abi.encodeWithSignature(\n                    \"isUpgradableFrom(address)\",\n                    msg.sender\n                )\n            );\n            require(_wasCalled, \"WitnetProxy: not compliant\");\n            require(abi.decode(_result, (bool)), \"WitnetProxy: not authorized\");\n            require(\n                Upgradable(_oldImplementation).proxiableUUID() == Upgradable(_newImplementation).proxiableUUID(),\n                \"WitnetProxy: proxiableUUIDs mismatch\"\n            );\n        }\n\n        // Initialize new implementation within proxy-context storage:\n        (bool _wasInitialized,) = _newImplementation.delegatecall(\n            abi.encodeWithSignature(\n                \"initialize(bytes)\",\n                _initData\n            )\n        );\n        require(_wasInitialized, \"WitnetProxy: unable to initialize\");\n\n        // If all checks and initialization pass, update implementation address:\n        _proxySlot().implementation = _newImplementation;\n        emit Upgraded(_newImplementation);\n\n        // Asserts new implementation complies w/ minimal implementation of Upgradable interface:\n        try Upgradable(_newImplementation).isUpgradable() returns (bool _isUpgradable) {\n            return _isUpgradable;\n        }\n        catch {\n            revert (\"WitnetProxy: not compliant\");\n        }\n    }\n\n    /// @dev Complying with EIP-1967, retrieves storage struct containing proxy's current implementation address.\n    function _proxySlot() private pure returns (WitnetProxySlot storage _slot) {\n        assembly {\n            // bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)\n            _slot.slot := 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\n        }\n    }\n\n}\n"},"witnet-solidity-bridge/contracts/impls/WitnetRequestBoardUpgradableBase.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\npragma experimental ABIEncoderV2;\n\n/* solhint-disable var-name-mixedcase */\n\n// Inherits from:\nimport \"../WitnetRequestBoard.sol\";\nimport \"../patterns/Proxiable.sol\";\nimport \"../patterns/Upgradable.sol\";\n\n// Eventual deployment dependencies:\nimport \"./WitnetProxy.sol\";\n\n/// @title Witnet Request Board base contract, with an Upgradable (and Destructible) touch.\n/// @author The Witnet Foundation.\nabstract contract WitnetRequestBoardUpgradableBase\n    is\n        Proxiable,\n        Upgradable,\n        WitnetRequestBoard\n{\n    bytes32 internal immutable _VERSION;\n\n    constructor(\n            bool _upgradable,\n            bytes32 _versionTag\n        )\n        Upgradable(_upgradable)\n    {\n        _VERSION = _versionTag;\n    }\n\n    /// @dev Reverts if proxy delegatecalls to unexistent method.\n    fallback() external payable {\n        revert(\"WitnetRequestBoardUpgradableBase: not implemented\");\n    }\n\n    // ================================================================================================================\n    // --- Overrides 'Proxiable' --------------------------------------------------------------------------------------\n\n    /// @dev Gets immutable \"heritage blood line\" (ie. genotype) as a Proxiable, and eventually Upgradable, contract.\n    ///      If implemented as an Upgradable touch, upgrading this contract to another one with a different \n    ///      `proxiableUUID()` value should fail.\n    function proxiableUUID() external pure override returns (bytes32) {\n        return (\n            /* keccak256(\"io.witnet.proxiable.board\") */\n            0x9969c6aff411c5e5f0807500693e8f819ce88529615cfa6cab569b24788a1018\n        );\n    }   \n\n    // ================================================================================================================\n    // --- Overrides 'Upgradable' --------------------------------------------------------------------------------------\n\n    /// Retrieves human-readable version tag of current implementation.\n    function version() public view override returns (bytes32) {\n        return _VERSION;\n    }\n\n}\n"},"witnet-solidity-bridge/contracts/interfaces/IERC165.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n    /**\n     * @dev Returns true if this contract implements the interface defined by\n     * `interfaceId`. See the corresponding\n     * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n     * to learn more about how these ids are created.\n     *\n     * This function call must use less than 30 000 gas.\n     */\n    function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n"},"witnet-solidity-bridge/contracts/interfaces/IERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n    /// Returns the amount of tokens in existence.\n    function totalSupply() external view returns (uint256);\n\n    /// Returns the amount of tokens owned by `_account`.\n    function balanceOf(address _account) external view returns (uint256);\n\n    /// Moves `_amount` tokens from the caller's account to `_recipient`.\n    /// Returns a boolean value indicating whether the operation succeeded.\n    /// Emits a {Transfer} event.\n    function transfer(address _recipient, uint256 _amount) external returns (bool);\n\n    /// Returns the remaining number of tokens that `_spender` will be\n    /// allowed to spend on behalf of `_owner` through {transferFrom}. This is\n    /// zero by default.\n    /// This value changes when {approve} or {transferFrom} are called.\n    function allowance(address _owner, address _spender) external view returns (uint256);\n\n    /// Sets `_amount` as the allowance of `_spender` over the caller's tokens.\n    /// Returns a boolean value indicating whether the operation succeeded.\n    /// \n    /// IMPORTANT: Beware that changing an allowance with this method brings the risk\n    /// that someone may use both the old and the new allowance by unfortunate\n    /// transaction ordering. One possible solution to mitigate this race\n    /// condition is to first reduce the spender's allowance to 0 and set the\n    /// desired value afterwards:\n    /// https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n    ///\n    /// Emits an {Approval} event.     \n    function approve(address _spender, uint256 _amount) external returns (bool);\n\n    /// Moves `amount` tokens from `_sender` to `_recipient` using the\n    /// allowance mechanism. `amount` is then deducted from the caller's\n    /// allowance.\n    /// Returns a boolean value indicating whether the operation succeeded.\n    /// Emits a {Transfer} event. \n    function transferFrom(\n        address _sender,\n        address _recipient,\n        uint256 _amount\n    ) external returns (bool);\n\n    /// Emitted when `value` tokens are moved from one account (`from`) to\n    /// another (`to`).\n    /// Note that `:value` may be zero.\n    event Transfer(address indexed from, address indexed to, uint256 value);\n\n    /// Emitted when the allowance of a `spender` for an `owner` is set by\n    /// a call to {approve}. `value` is the new allowance.\n    event Approval(address indexed owner, address indexed spender, uint256 value);\n}\n"},"witnet-solidity-bridge/contracts/interfaces/IWitnetPriceRouter.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.7.0 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport \"ado-contracts/contracts/interfaces/IERC2362.sol\";\nimport \"./IERC165.sol\";\n\n/// @title The Witnet Price Router basic interface.\n/// @dev Guides implementation of price feeds aggregation contracts.\n/// @author The Witnet Foundation.\nabstract contract IWitnetPriceRouter\n    is\n        IERC2362 \n{\n    /// Emitted everytime a currency pair is attached to a new price feed contract\n    /// @dev See https://github.com/adoracles/ADOIPs/blob/main/adoip-0010.md \n    /// @dev to learn how these ids are created.\n    event CurrencyPairSet(bytes32 indexed erc2362ID, IERC165 pricefeed);\n\n    /// Helper pure function: returns hash of the provided ERC2362-compliant currency pair caption (aka ID).\n    function currencyPairId(string memory) external pure virtual returns (bytes32);\n\n    /// Returns the ERC-165-compliant price feed contract currently serving \n    /// updates on the given currency pair.\n    function getPriceFeed(bytes32 _erc2362id) external view virtual returns (IERC165);\n\n    /// Returns human-readable ERC2362-based caption of the currency pair being\n    /// served by the given price feed contract address. \n    /// @dev Should fail if the given price feed contract address is not currently\n    /// @dev registered in the router.\n    function getPriceFeedCaption(IERC165) external view virtual returns (string memory);\n\n    /// Returns human-readable caption of the ERC2362-based currency pair identifier, if known.\n    function lookupERC2362ID(bytes32 _erc2362id) external view virtual returns (string memory);\n\n    /// Register a price feed contract that will serve updates for the given currency pair.\n    /// @dev Setting zero address to a currency pair implies that it will not be served any longer.\n    /// @dev Otherwise, should fail if the price feed contract does not support the `IWitnetPriceFeed` interface,\n    /// @dev or if given price feed is already serving another currency pair (within this WitnetPriceRouter instance).\n    function setPriceFeed(\n            IERC165 _pricefeed,\n            uint256 _decimals,\n            string calldata _base,\n            string calldata _quote\n        )\n        external virtual;\n\n    /// Returns list of known currency pairs IDs.\n    function supportedCurrencyPairs() external view virtual returns (bytes32[] memory);\n\n    /// Returns `true` if given pair is currently being served by a compliant price feed contract.\n    function supportsCurrencyPair(bytes32 _erc2362id) external view virtual returns (bool);\n\n    /// Returns `true` if given price feed contract is currently serving updates to any known currency pair. \n    function supportsPriceFeed(IERC165 _priceFeed) external view virtual returns (bool);\n}\n"},"witnet-solidity-bridge/contracts/interfaces/IWitnetRandomness.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\n\nimport \"../libs/Witnet.sol\";\n\n/// @title The Witnet Randomness generator interface.\n/// @author Witnet Foundation.\ninterface IWitnetRandomness {\n\n    /// Thrown every time a new WitnetRandomnessRequest gets succesfully posted to the WitnetRequestBoard.\n    /// @param from Address from which the randomize() function was called. \n    /// @param prevBlock Block number in which a randomness request got posted just before this one. 0 if none.\n    /// @param witnetQueryId Unique query id assigned to this request by the WRB.\n    /// @param witnetRequestHash SHA-256 hash of the WitnetRandomnessRequest actual bytecode just posted to the WRB.\n    event Randomized(\n        address indexed from,\n        uint256 indexed prevBlock,\n        uint256 witnetQueryId,\n        bytes32 witnetRequestHash\n    );\n\n    /// Returns amount of wei required to be paid as a fee when requesting randomization with a \n    /// transaction gas price as the one given.\n    function estimateRandomizeFee(uint256 _gasPrice) external view returns (uint256);\n\n    /// Retrieves data of a randomization request that got successfully posted to the WRB within a given block.\n    /// @dev Returns zero values if no randomness request was actually posted within a given block.\n    /// @param _block Block number whose randomness request is being queried for.\n    /// @return _from Address from which the latest randomness request was posted.\n    /// @return _id Unique request identifier as provided by the WRB.\n    /// @return _prevBlock Block number in which a randomness request got posted just before this one. 0 if none.\n    /// @return _nextBlock Block number in which a randomness request got posted just after this one, 0 if none.\n    function getRandomizeData(uint256 _block)\n        external view returns (address _from, uint256 _id, uint256 _prevBlock, uint256 _nextBlock);\n\n    /// Retrieves the randomness generated upon solving a request that was posted within a given block,\n    /// if any, or to the _first_ request posted after that block, otherwise. Should the intended \n    /// request happen to be finalized with errors on the Witnet oracle network side, this function \n    /// will recursively try to return randomness from the next non-faulty randomization request found \n    /// in storage, if any. \n    /// @dev Fails if:\n    /// @dev   i.   no `randomize()` was not called in either the given block, or afterwards.\n    /// @dev   ii.  a request posted in/after given block does exist, but no result has been provided yet.\n    /// @dev   iii. all requests in/after the given block were solved with errors.\n    /// @param _block Block number from which the search will start.\n    function getRandomnessAfter(uint256 _block) external view returns (bytes32); \n\n    /// Tells what is the number of the next block in which a randomization request was posted after the given one. \n    /// @param _block Block number from which the search will start.\n    /// @return Number of the first block found after the given one, or `0` otherwise.\n    function getRandomnessNextBlock(uint256 _block) external view returns (uint256); \n\n    /// Gets previous block in which a randomness request was posted before the given one.\n    /// @param _block Block number from which the search will start.\n    /// @return First block found before the given one, or `0` otherwise.\n    function getRandomnessPrevBlock(uint256 _block) external view returns (uint256);\n\n    /// Returns `true` only when the randomness request that got posted within given block was already\n    /// reported back from the Witnet oracle, either successfully or with an error of any kind.\n    function isRandomized(uint256 _block) external view returns (bool);\n\n    /// Returns latest block in which a randomness request got sucessfully posted to the WRB.\n    function latestRandomizeBlock() external view returns (uint256);\n\n    /// Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using \n    /// the given `_nonce` value and the randomness returned by `getRandomnessAfter(_block)`. \n    /// @dev Fails under same conditions as `getRandomnessAfter(uint256)` may do.\n    /// @param _range Range within which the uniformly-distributed random number will be generated.\n    /// @param _nonce Nonce value enabling multiple random numbers from the same randomness value.\n    /// @param _block Block number from which the search will start.\n    function random(uint32 _range, uint256 _nonce, uint256 _block) external view returns (uint32);\n\n    /// Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using \n    /// the given `_nonce` value and the given `_seed` as a source of entropy.\n    /// @param _range Range within which the uniformly-distributed random number will be generated.\n    /// @param _nonce Nonce value enabling multiple random numbers from the same randomness value.\n    /// @param _seed Seed value used as entropy source.\n    function random(uint32 _range, uint256 _nonce, bytes32 _seed) external pure returns (uint32);\n\n    /// Requests the Witnet oracle to generate an EVM-agnostic and trustless source of randomness. \n    /// Only one randomness request per block will be actually posted to the WRB. Should there \n    /// already be a posted request within current block, it will try to upgrade Witnet fee of current's \n    /// block randomness request according to current gas price. In both cases, all unused funds shall \n    /// be transfered back to the tx sender.\n    /// @return _usedFunds Amount of funds actually used from those provided by the tx sender.\n    function randomize() external payable returns (uint256 _usedFunds);\n\n    /// Increases Witnet fee related to a pending-to-be-solved randomness request, as much as it\n    /// may be required in proportion to how much bigger the current tx gas price is with respect the \n    /// highest gas price that was paid in either previous fee upgrades, or when the given randomness \n    /// request was posted. All unused funds shall be transferred back to the tx sender.\n    /// @return _usedFunds Amount of dunds actually used from those provided by the tx sender.\n    function upgradeRandomizeFee(uint256 _block) external payable returns (uint256 _usedFunds);\n}\n"},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\n\n/// @title The Witnet Data Request basic interface.\n/// @author The Witnet Foundation.\ninterface IWitnetRequest {\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \n    /// a well-formed Witnet Data Request using Protocol Buffers.\n    function bytecode() external view returns (bytes memory);\n\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\n    function hash() external view returns (bytes32);\n}\n"},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardAdmin.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\n\n/// @title Witnet Request Board basic administration interface.\n/// @author The Witnet Foundation.\ninterface IWitnetRequestBoardAdmin {\n    event OwnershipTransferred(address indexed from, address indexed to);\n\n    /// Gets admin/owner address.\n    function owner() external view returns (address);\n\n    /// Transfers ownership.\n    function transferOwnership(address) external;\n}\n"},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardAdminACLs.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\n\n/// @title Witnet Request Board ACLs administration interface.\n/// @author The Witnet Foundation.\ninterface IWitnetRequestBoardAdminACLs {\n    event ReportersSet(address[] reporters);\n    event ReportersUnset(address[] reporters);\n\n    /// Tells whether given address is included in the active reporters control list.\n    function isReporter(address) external view returns (bool);\n\n    /// Adds given addresses to the active reporters control list.\n    /// @dev Can only be called from the owner address.\n    /// @dev Emits the `ReportersSet` event. \n    function setReporters(address[] calldata reporters) external;\n\n    /// Removes given addresses from the active reporters control list.\n    /// @dev Can only be called from the owner address.\n    /// @dev Emits the `ReportersUnset` event. \n    function unsetReporters(address[] calldata reporters) external;\n}\n"},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardEvents.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\n\n/// @title Witnet Request Board emitting events interface.\n/// @author The Witnet Foundation.\ninterface IWitnetRequestBoardEvents {\n    /// Emitted when a Witnet Data Request is posted to the WRB.\n    event PostedRequest(uint256 queryId, address from);\n\n    /// Emitted when a Witnet-solved result is reported to the WRB.\n    event PostedResult(uint256 queryId, address from);\n\n    /// Emitted when all data related to given query is deleted from the WRB.\n    event DeletedQuery(uint256 queryId, address from);\n}\n"},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardReporter.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\n\n/// @title The Witnet Request Board Reporter interface.\n/// @author The Witnet Foundation.\ninterface IWitnetRequestBoardReporter {\n    /// Reports the Witnet-provided result to a previously posted request. \n    /// @dev Will assume `block.timestamp` as the timestamp at which the request was solved.\n    /// @dev Fails if:\n    /// @dev - the `_queryId` is not in 'Posted' status.\n    /// @dev - provided `_drTxHash` is zero;\n    /// @dev - length of provided `_result` is zero.\n    /// @param _queryId The unique identifier of the data request.\n    /// @param _drTxHash The hash of the corresponding data request transaction in Witnet.\n    /// @param _result The result itself as bytes.\n    function reportResult(\n            uint256 _queryId,\n            bytes32 _drTxHash,\n            bytes calldata _result\n        ) external;\n\n    /// Reports the Witnet-provided result to a previously posted request.\n    /// @dev Fails if:\n    /// @dev - called from unauthorized address;\n    /// @dev - the `_queryId` is not in 'Posted' status.\n    /// @dev - provided `_drTxHash` is zero;\n    /// @dev - length of provided `_result` is zero.\n    /// @param _queryId The unique query identifier\n    /// @param _timestamp The timestamp of the solving tally transaction in Witnet.\n    /// @param _drTxHash The hash of the corresponding data request transaction in Witnet.\n    /// @param _result The result itself as bytes.\n    function reportResult(\n            uint256 _queryId,\n            uint256 _timestamp,\n            bytes32 _drTxHash,\n            bytes calldata _result\n        ) external;\n\n    /// Reports Witnet-provided results to multiple requests within a single EVM tx.\n    /// @dev Must emit a PostedResult event for every succesfully reported result.\n    /// @param _batchResults Array of BatchResult structs, every one containing:\n    ///         - unique query identifier;\n    ///         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;\n    ///         - hash of the corresponding data request tx at the Witnet side-chain level;\n    ///         - data request result in raw bytes.\n    /// @param _verbose If true, must emit a BatchReportError event for every failing report, if any. \n    function reportResultBatch(BatchResult[] calldata _batchResults, bool _verbose) external;\n        \n        struct BatchResult {\n            uint256 queryId;\n            uint256 timestamp;\n            bytes32 drTxHash;\n            bytes   cborBytes;\n        }\n\n        event BatchReportError(uint256 queryId, string reason);\n}\n"},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardRequestor.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport \"../libs/Witnet.sol\";\n\n/// @title Witnet Requestor Interface\n/// @notice It defines how to interact with the Witnet Request Board in order to:\n///   - request the execution of Witnet Radon scripts (data request);\n///   - upgrade the resolution reward of any previously posted request, in case gas price raises in mainnet;\n///   - read the result of any previously posted request, eventually reported by the Witnet DON.\n///   - remove from storage all data related to past and solved data requests, and results.\n/// @author The Witnet Foundation.\ninterface IWitnetRequestBoardRequestor {\n    /// Retrieves a copy of all Witnet-provided data related to a previously posted request, removing the whole query from the WRB storage.\n    /// @dev Fails if the `_queryId` is not in 'Reported' status, or called from an address different to\n    /// @dev the one that actually posted the given request.\n    /// @param _queryId The unique query identifier.\n    function deleteQuery(uint256 _queryId) external returns (Witnet.Response memory);\n\n    /// Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON.\n    /// A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided \n    /// result to this request.\n    /// @dev Fails if:\n    /// @dev - provided reward is too low.\n    /// @dev - provided script is zero address.\n    /// @dev - provided script bytecode is empty.\n    /// @param _addr The address of the IWitnetRequest contract that can provide the actual Data Request bytecode.\n    /// @return _queryId An unique query identifier.\n    function postRequest(IWitnetRequest _addr) external payable returns (uint256 _queryId);\n\n    /// Increments the reward of a previously posted request by adding the transaction value to it.\n    /// @dev Updates request `gasPrice` in case this method is called with a higher \n    /// @dev gas price value than the one used in previous calls to `postRequest` or\n    /// @dev `upgradeReward`. \n    /// @dev Fails if the `_queryId` is not in 'Posted' status.\n    /// @dev Fails also in case the request `gasPrice` is increased, and the new \n    /// @dev reward value gets below new recalculated threshold. \n    /// @param _queryId The unique query identifier.\n    function upgradeReward(uint256 _queryId) external payable;\n}\n"},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardView.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport \"../libs/Witnet.sol\";\n\n/// @title Witnet Request Board info interface.\n/// @author The Witnet Foundation.\ninterface IWitnetRequestBoardView {\n    /// Estimates the amount of reward we need to insert for a given gas price.\n    /// @param _gasPrice The gas price for which we need to calculate the rewards.\n    function estimateReward(uint256 _gasPrice) external view returns (uint256);\n\n    /// Returns next query id to be generated by the Witnet Request Board.\n    function getNextQueryId() external view returns (uint256);\n\n    /// Gets the whole Query data contents, if any, no matter its current status.\n    function getQueryData(uint256 _queryId) external view returns (Witnet.Query memory);\n\n    /// Gets current status of given query.\n    function getQueryStatus(uint256 _queryId) external view returns (Witnet.QueryStatus);\n\n    /// Retrieves the whole Request record posted to the Witnet Request Board.\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been reported\n    /// @dev or deleted.\n    /// @param _queryId The unique identifier of a previously posted query.\n    function readRequest(uint256 _queryId) external view returns (Witnet.Request memory);\n\n    /// Retrieves the serialized bytecode of a previously posted Witnet Data Request.\n    /// @dev Fails if the `_queryId` is not valid, or if the related script bytecode \n    /// @dev got changed after being posted. Returns empty array once it gets reported, \n    /// @dev or deleted.\n    /// @param _queryId The unique query identifier.\n    function readRequestBytecode(uint256 _queryId) external view returns (bytes memory);\n\n    /// Retrieves the gas price that any assigned reporter will have to pay when reporting \n    /// result to a previously posted Witnet data request.\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \n    /// @dev reported, or deleted. \n    /// @param _queryId The unique query identifie\n    function readRequestGasPrice(uint256 _queryId) external view returns (uint256);\n\n    /// Retrieves the reward currently set for the referred query.\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \n    /// @dev reported, or deleted. \n    /// @param _queryId The unique query identifier.\n    function readRequestReward(uint256 _queryId) external view returns (uint256);\n\n    /// Retrieves the whole `Witnet.Response` record referred to a previously posted Witnet Data Request.\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\n    /// @param _queryId The unique query identifier.\n    function readResponse(uint256 _queryId) external view returns (Witnet.Response memory);\n\n    /// Retrieves the hash of the Witnet transaction hash that actually solved the referred query.\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\n    /// @param _queryId The unique query identifier.\n    function readResponseDrTxHash(uint256 _queryId) external view returns (bytes32);    \n\n    /// Retrieves the address that reported the result to a previously-posted request.\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\n    /// @param _queryId The unique query identifier.\n    function readResponseReporter(uint256 _queryId) external view returns (address);\n\n    /// Retrieves the Witnet-provided CBOR-bytes result of a previously posted request.\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\n    /// @param _queryId The unique query identifier.\n    function readResponseResult(uint256 _queryId) external view returns (Witnet.Result memory);\n\n    /// Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON.\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\n    /// @param _queryId The unique query identifier.\n    function readResponseTimestamp(uint256 _queryId) external view returns (uint256);\n}\n"},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestParser.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport \"../libs/Witnet.sol\";\n\n/// @title The Witnet interface for decoding Witnet-provided request to Data Requests.\n/// This interface exposes functions to check for the success/failure of\n/// a Witnet-provided result, as well as to parse and convert result into\n/// Solidity types suitable to the application level. \n/// @author The Witnet Foundation.\ninterface IWitnetRequestParser {\n\n    /// Decode raw CBOR bytes into a Witnet.Result instance.\n    /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\n    /// @return A `Witnet.Result` instance.\n    function resultFromCborBytes(bytes memory _cborBytes) external pure returns (Witnet.Result memory);\n\n    /// Decode a CBOR value into a Witnet.Result instance.\n    /// @param _cborValue An instance of `Witnet.CBOR`.\n    /// @return A `Witnet.Result` instance.\n    function resultFromCborValue(Witnet.CBOR memory _cborValue) external pure returns (Witnet.Result memory);\n\n    /// Tell if a Witnet.Result is successful.\n    /// @param _result An instance of Witnet.Result.\n    /// @return `true` if successful, `false` if errored.\n    function isOk(Witnet.Result memory _result) external pure returns (bool);\n\n    /// Tell if a Witnet.Result is errored.\n    /// @param _result An instance of Witnet.Result.\n    /// @return `true` if errored, `false` if successful.\n    function isError(Witnet.Result memory _result) external pure returns (bool);\n\n    /// Decode a bytes value from a Witnet.Result as a `bytes` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `bytes` decoded from the Witnet.Result.\n    function asBytes(Witnet.Result memory _result) external pure returns (bytes memory);\n\n    /// Decode a bytes value from a Witnet.Result as a `bytes32` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `bytes32` decoded from the Witnet.Result.\n    function asBytes32(Witnet.Result memory _result) external pure returns (bytes32);\n\n    /// Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\n    /// @param _result An instance of `Witnet.Result`.\n    /// @return The `CBORValue.Error memory` decoded from the Witnet.Result.\n    function asErrorCode(Witnet.Result memory _result) external pure returns (Witnet.ErrorCodes);\n\n\n    /// Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\n    /// @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\n    /// @param _result An instance of `Witnet.Result`.\n    /// @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\n    function asErrorMessage(Witnet.Result memory _result) external pure returns (Witnet.ErrorCodes, string memory);\n\n    /// Decode a raw error from a `Witnet.Result` as a `uint64[]`.\n    /// @param _result An instance of `Witnet.Result`.\n    /// @return The `uint64[]` raw error as decoded from the `Witnet.Result`.\n    function asRawError(Witnet.Result memory _result) external pure returns(uint64[] memory);\n\n    /// Decode a boolean value from a Witnet.Result as an `bool` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `bool` decoded from the Witnet.Result.\n    function asBool(Witnet.Result memory _result) external pure returns (bool);\n\n    /// Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\n    /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\n    /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\n    /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `int128` decoded from the Witnet.Result.\n    function asFixed16(Witnet.Result memory _result) external pure returns (int32);\n\n    /// Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `int128[]` decoded from the Witnet.Result.\n    function asFixed16Array(Witnet.Result memory _result) external pure returns (int32[] memory);\n\n    /// Decode a integer numeric value from a Witnet.Result as an `int128` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `int128` decoded from the Witnet.Result.\n    function asInt128(Witnet.Result memory _result) external pure returns (int128);\n\n    /// Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `int128[]` decoded from the Witnet.Result.\n    function asInt128Array(Witnet.Result memory _result) external pure returns (int128[] memory);\n\n    /// Decode a string value from a Witnet.Result as a `string` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `string` decoded from the Witnet.Result.\n    function asString(Witnet.Result memory _result) external pure returns (string memory);\n\n    /// Decode an array of string values from a Witnet.Result as a `string[]` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `string[]` decoded from the Witnet.Result.\n    function asStringArray(Witnet.Result memory _result) external pure returns (string[] memory);\n\n    /// Decode a natural numeric value from a Witnet.Result as a `uint64` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `uint64` decoded from the Witnet.Result.\n    function asUint64(Witnet.Result memory _result) external pure returns(uint64);\n\n    /// Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `uint64[]` decoded from the Witnet.Result.\n    function asUint64Array(Witnet.Result memory _result) external pure returns (uint64[] memory);\n\n}\n"},"witnet-solidity-bridge/contracts/libs/Witnet.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport \"../interfaces/IWitnetRequest.sol\";\n\nlibrary Witnet {\n\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\n    /// @param _bytecode CBOR-encoded RADON.\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\n        return sha256(_bytecode);\n    }\n\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\n    struct Query {\n        Request request;\n        Response response;\n        address from;      // Address from which the request was posted.\n    }\n\n    /// Possible status of a Witnet query.\n    enum QueryStatus {\n        Unknown,\n        Posted,\n        Reported,\n        Deleted\n    }\n\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\n    struct Request {\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\n        address requester;      // Address from which the request was posted.\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\n    }\n\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\n    struct Response {\n        address reporter;       // Address from which the result was reported.\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\n    }\n\n    /// Data struct containing the Witnet-provided result to a Data Request.\n    struct Result {\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\n    }\n\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\n    struct CBOR {\n        Buffer buffer;\n        uint8 initialByte;\n        uint8 majorType;\n        uint8 additionalInformation;\n        uint64 len;\n        uint64 tag;\n    }\n\n    /// Iterable bytes buffer.\n    struct Buffer {\n        bytes data;\n        uint32 cursor;\n    }\n\n    /// Witnet error codes table.\n    enum ErrorCodes {\n        // 0x00: Unknown error. Something went really bad!\n        Unknown,\n        // Script format errors\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\n        SourceScriptNotCBOR,\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\n        SourceScriptNotArray,\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\n        SourceScriptNotRADON,\n        /// Unallocated\n        ScriptFormat0x04,\n        ScriptFormat0x05,\n        ScriptFormat0x06,\n        ScriptFormat0x07,\n        ScriptFormat0x08,\n        ScriptFormat0x09,\n        ScriptFormat0x0A,\n        ScriptFormat0x0B,\n        ScriptFormat0x0C,\n        ScriptFormat0x0D,\n        ScriptFormat0x0E,\n        ScriptFormat0x0F,\n        // Complexity errors\n        /// 0x10: The request contains too many sources.\n        RequestTooManySources,\n        /// 0x11: The script contains too many calls.\n        ScriptTooManyCalls,\n        /// Unallocated\n        Complexity0x12,\n        Complexity0x13,\n        Complexity0x14,\n        Complexity0x15,\n        Complexity0x16,\n        Complexity0x17,\n        Complexity0x18,\n        Complexity0x19,\n        Complexity0x1A,\n        Complexity0x1B,\n        Complexity0x1C,\n        Complexity0x1D,\n        Complexity0x1E,\n        Complexity0x1F,\n        // Operator errors\n        /// 0x20: The operator does not exist.\n        UnsupportedOperator,\n        /// Unallocated\n        Operator0x21,\n        Operator0x22,\n        Operator0x23,\n        Operator0x24,\n        Operator0x25,\n        Operator0x26,\n        Operator0x27,\n        Operator0x28,\n        Operator0x29,\n        Operator0x2A,\n        Operator0x2B,\n        Operator0x2C,\n        Operator0x2D,\n        Operator0x2E,\n        Operator0x2F,\n        // Retrieval-specific errors\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\n        HTTP,\n        /// 0x31: Retrieval of at least one of the sources timed out.\n        RetrievalTimeout,\n        /// Unallocated\n        Retrieval0x32,\n        Retrieval0x33,\n        Retrieval0x34,\n        Retrieval0x35,\n        Retrieval0x36,\n        Retrieval0x37,\n        Retrieval0x38,\n        Retrieval0x39,\n        Retrieval0x3A,\n        Retrieval0x3B,\n        Retrieval0x3C,\n        Retrieval0x3D,\n        Retrieval0x3E,\n        Retrieval0x3F,\n        // Math errors\n        /// 0x40: Math operator caused an underflow.\n        Underflow,\n        /// 0x41: Math operator caused an overflow.\n        Overflow,\n        /// 0x42: Tried to divide by zero.\n        DivisionByZero,\n        /// Unallocated\n        Math0x43,\n        Math0x44,\n        Math0x45,\n        Math0x46,\n        Math0x47,\n        Math0x48,\n        Math0x49,\n        Math0x4A,\n        Math0x4B,\n        Math0x4C,\n        Math0x4D,\n        Math0x4E,\n        Math0x4F,\n        // Other errors\n        /// 0x50: Received zero reveals\n        NoReveals,\n        /// 0x51: Insufficient consensus in tally precondition clause\n        InsufficientConsensus,\n        /// 0x52: Received zero commits\n        InsufficientCommits,\n        /// 0x53: Generic error during tally execution\n        TallyExecution,\n        /// Unallocated\n        OtherError0x54,\n        OtherError0x55,\n        OtherError0x56,\n        OtherError0x57,\n        OtherError0x58,\n        OtherError0x59,\n        OtherError0x5A,\n        OtherError0x5B,\n        OtherError0x5C,\n        OtherError0x5D,\n        OtherError0x5E,\n        OtherError0x5F,\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\n        MalformedReveal,\n        /// Unallocated\n        OtherError0x61,\n        OtherError0x62,\n        OtherError0x63,\n        OtherError0x64,\n        OtherError0x65,\n        OtherError0x66,\n        OtherError0x67,\n        OtherError0x68,\n        OtherError0x69,\n        OtherError0x6A,\n        OtherError0x6B,\n        OtherError0x6C,\n        OtherError0x6D,\n        OtherError0x6E,\n        OtherError0x6F,\n        // Access errors\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\n        ArrayIndexOutOfBounds,\n        /// 0x71: Tried to access a value from a map using a key that does not exist\n        MapKeyNotFound,\n        /// Unallocated\n        OtherError0x72,\n        OtherError0x73,\n        OtherError0x74,\n        OtherError0x75,\n        OtherError0x76,\n        OtherError0x77,\n        OtherError0x78,\n        OtherError0x79,\n        OtherError0x7A,\n        OtherError0x7B,\n        OtherError0x7C,\n        OtherError0x7D,\n        OtherError0x7E,\n        OtherError0x7F,\n        OtherError0x80,\n        OtherError0x81,\n        OtherError0x82,\n        OtherError0x83,\n        OtherError0x84,\n        OtherError0x85,\n        OtherError0x86,\n        OtherError0x87,\n        OtherError0x88,\n        OtherError0x89,\n        OtherError0x8A,\n        OtherError0x8B,\n        OtherError0x8C,\n        OtherError0x8D,\n        OtherError0x8E,\n        OtherError0x8F,\n        OtherError0x90,\n        OtherError0x91,\n        OtherError0x92,\n        OtherError0x93,\n        OtherError0x94,\n        OtherError0x95,\n        OtherError0x96,\n        OtherError0x97,\n        OtherError0x98,\n        OtherError0x99,\n        OtherError0x9A,\n        OtherError0x9B,\n        OtherError0x9C,\n        OtherError0x9D,\n        OtherError0x9E,\n        OtherError0x9F,\n        OtherError0xA0,\n        OtherError0xA1,\n        OtherError0xA2,\n        OtherError0xA3,\n        OtherError0xA4,\n        OtherError0xA5,\n        OtherError0xA6,\n        OtherError0xA7,\n        OtherError0xA8,\n        OtherError0xA9,\n        OtherError0xAA,\n        OtherError0xAB,\n        OtherError0xAC,\n        OtherError0xAD,\n        OtherError0xAE,\n        OtherError0xAF,\n        OtherError0xB0,\n        OtherError0xB1,\n        OtherError0xB2,\n        OtherError0xB3,\n        OtherError0xB4,\n        OtherError0xB5,\n        OtherError0xB6,\n        OtherError0xB7,\n        OtherError0xB8,\n        OtherError0xB9,\n        OtherError0xBA,\n        OtherError0xBB,\n        OtherError0xBC,\n        OtherError0xBD,\n        OtherError0xBE,\n        OtherError0xBF,\n        OtherError0xC0,\n        OtherError0xC1,\n        OtherError0xC2,\n        OtherError0xC3,\n        OtherError0xC4,\n        OtherError0xC5,\n        OtherError0xC6,\n        OtherError0xC7,\n        OtherError0xC8,\n        OtherError0xC9,\n        OtherError0xCA,\n        OtherError0xCB,\n        OtherError0xCC,\n        OtherError0xCD,\n        OtherError0xCE,\n        OtherError0xCF,\n        OtherError0xD0,\n        OtherError0xD1,\n        OtherError0xD2,\n        OtherError0xD3,\n        OtherError0xD4,\n        OtherError0xD5,\n        OtherError0xD6,\n        OtherError0xD7,\n        OtherError0xD8,\n        OtherError0xD9,\n        OtherError0xDA,\n        OtherError0xDB,\n        OtherError0xDC,\n        OtherError0xDD,\n        OtherError0xDE,\n        OtherError0xDF,\n        // Bridge errors: errors that only belong in inter-client communication\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\n        /// are never included into blocks and therefore never get a Tally in response.\n        BridgeMalformedRequest,\n        /// 0xE1: Witnesses exceeds 100\n        BridgePoorIncentives,\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\n        BridgeOversizedResult,\n        /// Unallocated\n        OtherError0xE3,\n        OtherError0xE4,\n        OtherError0xE5,\n        OtherError0xE6,\n        OtherError0xE7,\n        OtherError0xE8,\n        OtherError0xE9,\n        OtherError0xEA,\n        OtherError0xEB,\n        OtherError0xEC,\n        OtherError0xED,\n        OtherError0xEE,\n        OtherError0xEF,\n        OtherError0xF0,\n        OtherError0xF1,\n        OtherError0xF2,\n        OtherError0xF3,\n        OtherError0xF4,\n        OtherError0xF5,\n        OtherError0xF6,\n        OtherError0xF7,\n        OtherError0xF8,\n        OtherError0xF9,\n        OtherError0xFA,\n        OtherError0xFB,\n        OtherError0xFC,\n        OtherError0xFD,\n        OtherError0xFE,\n        // This should not exist:\n        /// 0xFF: Some tally error is not intercepted but should\n        UnhandledIntercept\n    }\n}\n"},"witnet-solidity-bridge/contracts/libs/WitnetBuffer.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\n\nimport \"./Witnet.sol\";\n\n/// @title A convenient wrapper around the `bytes memory` type that exposes a buffer-like interface\n/// @notice The buffer has an inner cursor that tracks the final offset of every read, i.e. any subsequent read will\n/// start with the byte that goes right after the last one in the previous read.\n/// @dev `uint32` is used here for `cursor` because `uint16` would only enable seeking up to 8KB, which could in some\n/// theoretical use cases be exceeded. Conversely, `uint32` supports up to 512MB, which cannot credibly be exceeded.\n/// @author The Witnet Foundation.\nlibrary WitnetBuffer {\n\n  // Ensures we access an existing index in an array\n  modifier notOutOfBounds(uint32 index, uint256 length) {\n    require(index < length, \"WitnetBuffer: Tried to read from a consumed Buffer (must rewind it first)\");\n    _;\n  }\n\n  /// @notice Read and consume a certain amount of bytes from the buffer.\n  /// @param _buffer An instance of `Witnet.Buffer`.\n  /// @param _length How many bytes to read and consume from the buffer.\n  /// @return A `bytes memory` containing the first `_length` bytes from the buffer, counting from the cursor position.\n  function read(Witnet.Buffer memory _buffer, uint32 _length) internal pure returns (bytes memory) {\n    // Make sure not to read out of the bounds of the original bytes\n    require(_buffer.cursor + _length <= _buffer.data.length, \"WitnetBuffer: Not enough bytes in buffer when reading\");\n\n    // Create a new `bytes memory destination` value\n    bytes memory destination = new bytes(_length);\n\n    // Early return in case that bytes length is 0\n    if (_length != 0) {\n      bytes memory source = _buffer.data;\n      uint32 offset = _buffer.cursor;\n\n      // Get raw pointers for source and destination\n      uint sourcePointer;\n      uint destinationPointer;\n      assembly {\n        sourcePointer := add(add(source, 32), offset)\n        destinationPointer := add(destination, 32)\n      }\n      // Copy `_length` bytes from source to destination\n      memcpy(destinationPointer, sourcePointer, uint(_length));\n\n      // Move the cursor forward by `_length` bytes\n      seek(_buffer, _length, true);\n    }\n    return destination;\n  }\n\n  /// @notice Read and consume the next byte from the buffer.\n  /// @param _buffer An instance of `Witnet.Buffer`.\n  /// @return The next byte in the buffer counting from the cursor position.\n  function next(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor, _buffer.data.length) returns (bytes1) {\n    // Return the byte at the position marked by the cursor and advance the cursor all at once\n    return _buffer.data[_buffer.cursor++];\n  }\n\n  /// @notice Move the inner cursor of the buffer to a relative or absolute position.\n  /// @param _buffer An instance of `Witnet.Buffer`.\n  /// @param _offset How many bytes to move the cursor forward.\n  /// @param _relative Whether to count `_offset` from the last position of the cursor (`true`) or the beginning of the\n  /// buffer (`true`).\n  /// @return The final position of the cursor (will equal `_offset` if `_relative` is `false`).\n  // solium-disable-next-line security/no-assign-params\n  function seek(Witnet.Buffer memory _buffer, uint32 _offset, bool _relative) internal pure returns (uint32) {\n    // Deal with relative offsets\n    if (_relative) {\n      require(_offset + _buffer.cursor > _offset, \"WitnetBuffer: Integer overflow when seeking\");\n      _offset += _buffer.cursor;\n    }\n    // Make sure not to read out of the bounds of the original bytes\n    require(_offset <= _buffer.data.length, \"WitnetBuffer: Not enough bytes in buffer when seeking\");\n    _buffer.cursor = _offset;\n    return _buffer.cursor;\n  }\n\n  /// @notice Move the inner cursor a number of bytes forward.\n  /// @dev This is a simple wrapper around the relative offset case of `seek()`.\n  /// @param _buffer An instance of `Witnet.Buffer`.\n  /// @param _relativeOffset How many bytes to move the cursor forward.\n  /// @return The final position of the cursor.\n  function seek(Witnet.Buffer memory _buffer, uint32 _relativeOffset) internal pure returns (uint32) {\n    return seek(_buffer, _relativeOffset, true);\n  }\n\n  /// @notice Move the inner cursor back to the first byte in the buffer.\n  /// @param _buffer An instance of `Witnet.Buffer`.\n  function rewind(Witnet.Buffer memory _buffer) internal pure {\n    _buffer.cursor = 0;\n  }\n\n  /// @notice Read and consume the next byte from the buffer as an `uint8`.\n  /// @param _buffer An instance of `Witnet.Buffer`.\n  /// @return The `uint8` value of the next byte in the buffer counting from the cursor position.\n  function readUint8(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor, _buffer.data.length) returns (uint8) {\n    bytes memory bytesValue = _buffer.data;\n    uint32 offset = _buffer.cursor;\n    uint8 value;\n    assembly {\n      value := mload(add(add(bytesValue, 1), offset))\n    }\n    _buffer.cursor++;\n\n    return value;\n  }\n\n  /// @notice Read and consume the next 2 bytes from the buffer as an `uint16`.\n  /// @param _buffer An instance of `Witnet.Buffer`.\n  /// @return The `uint16` value of the next 2 bytes in the buffer counting from the cursor position.\n  function readUint16(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 1, _buffer.data.length) returns (uint16) {\n    bytes memory bytesValue = _buffer.data;\n    uint32 offset = _buffer.cursor;\n    uint16 value;\n    assembly {\n      value := mload(add(add(bytesValue, 2), offset))\n    }\n    _buffer.cursor += 2;\n\n    return value;\n  }\n\n  /// @notice Read and consume the next 4 bytes from the buffer as an `uint32`.\n  /// @param _buffer An instance of `Witnet.Buffer`.\n  /// @return The `uint32` value of the next 4 bytes in the buffer counting from the cursor position.\n  function readUint32(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 3, _buffer.data.length) returns (uint32) {\n    bytes memory bytesValue = _buffer.data;\n    uint32 offset = _buffer.cursor;\n    uint32 value;\n    assembly {\n      value := mload(add(add(bytesValue, 4), offset))\n    }\n    _buffer.cursor += 4;\n\n    return value;\n  }\n\n  /// @notice Read and consume the next 8 bytes from the buffer as an `uint64`.\n  /// @param _buffer An instance of `Witnet.Buffer`.\n  /// @return The `uint64` value of the next 8 bytes in the buffer counting from the cursor position.\n  function readUint64(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 7, _buffer.data.length) returns (uint64) {\n    bytes memory bytesValue = _buffer.data;\n    uint32 offset = _buffer.cursor;\n    uint64 value;\n    assembly {\n      value := mload(add(add(bytesValue, 8), offset))\n    }\n    _buffer.cursor += 8;\n\n    return value;\n  }\n\n  /// @notice Read and consume the next 16 bytes from the buffer as an `uint128`.\n  /// @param _buffer An instance of `Witnet.Buffer`.\n  /// @return The `uint128` value of the next 16 bytes in the buffer counting from the cursor position.\n  function readUint128(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 15, _buffer.data.length) returns (uint128) {\n    bytes memory bytesValue = _buffer.data;\n    uint32 offset = _buffer.cursor;\n    uint128 value;\n    assembly {\n      value := mload(add(add(bytesValue, 16), offset))\n    }\n    _buffer.cursor += 16;\n\n    return value;\n  }\n\n  /// @notice Read and consume the next 32 bytes from the buffer as an `uint256`.\n  /// @return The `uint256` value of the next 32 bytes in the buffer counting from the cursor position.\n  /// @param _buffer An instance of `Witnet.Buffer`.\n  function readUint256(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 31, _buffer.data.length) returns (uint256) {\n    bytes memory bytesValue = _buffer.data;\n    uint32 offset = _buffer.cursor;\n    uint256 value;\n    assembly {\n      value := mload(add(add(bytesValue, 32), offset))\n    }\n    _buffer.cursor += 32;\n\n    return value;\n  }\n\n  /// @notice Read and consume the next 2 bytes from the buffer as an IEEE 754-2008 floating point number enclosed in an\n  /// `int32`.\n  /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values\n  /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `float16`\n  /// use cases. In other words, the integer output of this method is 10,000 times the actual value. The input bytes are\n  /// expected to follow the 16-bit base-2 format (a.k.a. `binary16`) in the IEEE 754-2008 standard.\n  /// @param _buffer An instance of `Witnet.Buffer`.\n  /// @return The `uint32` value of the next 4 bytes in the buffer counting from the cursor position.\n  function readFloat16(Witnet.Buffer memory _buffer) internal pure returns (int32) {\n    uint32 bytesValue = readUint16(_buffer);\n    // Get bit at position 0\n    uint32 sign = bytesValue & 0x8000;\n    // Get bits 1 to 5, then normalize to the [-14, 15] range so as to counterweight the IEEE 754 exponent bias\n    int32 exponent = (int32(bytesValue & 0x7c00) >> 10) - 15;\n    // Get bits 6 to 15\n    int32 significand = int32(bytesValue & 0x03ff);\n\n    // Add 1024 to the fraction if the exponent is 0\n    if (exponent == 15) {\n      significand |= 0x400;\n    }\n\n    // Compute `2 ^ exponent · (1 + fraction / 1024)`\n    int32 result = 0;\n    if (exponent >= 0) {\n      result = int32((int256(1 << uint256(int256(exponent))) * 10000 * int256(uint256(int256(significand)) | 0x400)) >> 10);\n    } else {\n      result = int32(((int256(uint256(int256(significand)) | 0x400) * 10000) / int256(1 << uint256(int256(- exponent)))) >> 10);\n    }\n\n    // Make the result negative if the sign bit is not 0\n    if (sign != 0) {\n      result *= - 1;\n    }\n    return result;\n  }\n\n  /// @notice Copy bytes from one memory address into another.\n  /// @dev This function was borrowed from Nick Johnson's `solidity-stringutils` lib, and reproduced here under the terms\n  /// of [Apache License 2.0](https://github.com/Arachnid/solidity-stringutils/blob/master/LICENSE).\n  /// @param _dest Address of the destination memory.\n  /// @param _src Address to the source memory.\n  /// @param _len How many bytes to copy.\n  // solium-disable-next-line security/no-assign-params\n  function memcpy(uint _dest, uint _src, uint _len) private pure {\n    require(_len > 0, \"WitnetBuffer: Cannot copy 0 bytes\");\n\n    // Copy word-length chunks while possible\n    for (; _len >= 32; _len -= 32) {\n      assembly {\n        mstore(_dest, mload(_src))\n      }\n      _dest += 32;\n      _src += 32;\n    }\n    if (_len > 0) {\n      // Copy remaining bytes\n      uint mask = 256 ** (32 - _len) - 1;\n      assembly {\n        let srcpart := and(mload(_src), not(mask))\n        let destpart := and(mload(_dest), mask)\n        mstore(_dest, or(destpart, srcpart))\n      }\n    }\n  }\n\n}\n"},"witnet-solidity-bridge/contracts/libs/WitnetDecoderLib.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport \"./WitnetBuffer.sol\";\n\n/// @title A minimalistic implementation of “RFC 7049 Concise Binary Object Representation”\n/// @notice This library leverages a buffer-like structure for step-by-step decoding of bytes so as to minimize\n/// the gas cost of decoding them into a useful native type.\n/// @dev Most of the logic has been borrowed from Patrick Gansterer’s cbor.js library: https://github.com/paroga/cbor-js\n/// @author The Witnet Foundation.\n/// \n/// TODO: add support for Array (majorType = 4)\n/// TODO: add support for Map (majorType = 5)\n/// TODO: add support for Float32 (majorType = 7, additionalInformation = 26)\n/// TODO: add support for Float64 (majorType = 7, additionalInformation = 27) \n\nlibrary WitnetDecoderLib {\n\n  using WitnetBuffer for Witnet.Buffer;\n\n  uint32 constant internal _UINT32_MAX = type(uint32).max;\n  uint64 constant internal _UINT64_MAX = type(uint64).max;\n\n  /// @notice Decode a `Witnet.CBOR` structure into a native `bool` value.\n  /// @param _cborValue An instance of `Witnet.CBOR`.\n  /// @return The value represented by the input, as a `bool` value.\n  function decodeBool(Witnet.CBOR memory _cborValue) public pure returns(bool) {\n    _cborValue.len = readLength(_cborValue.buffer, _cborValue.additionalInformation);\n    require(_cborValue.majorType == 7, \"WitnetDecoderLib: Tried to read a `bool` value from a `Witnet.CBOR` with majorType != 7\");\n    if (_cborValue.len == 20) {\n      return false;\n    } else if (_cborValue.len == 21) {\n      return true;\n    } else {\n      revert(\"WitnetDecoderLib: Tried to read `bool` from a `Witnet.CBOR` with len different than 20 or 21\");\n    }\n  }\n\n  /// @notice Decode a `Witnet.CBOR` structure into a native `bytes` value.\n  /// @param _cborValue An instance of `Witnet.CBOR`.\n  /// @return The value represented by the input, as a `bytes` value.   \n  function decodeBytes(Witnet.CBOR memory _cborValue) public pure returns(bytes memory) {\n    _cborValue.len = readLength(_cborValue.buffer, _cborValue.additionalInformation);\n    if (_cborValue.len == _UINT32_MAX) {\n      bytes memory bytesData;\n\n      // These checks look repetitive but the equivalent loop would be more expensive.\n      uint32 itemLength = uint32(readIndefiniteStringLength(_cborValue.buffer, _cborValue.majorType));\n      if (itemLength < _UINT32_MAX) {\n        bytesData = abi.encodePacked(bytesData, _cborValue.buffer.read(itemLength));\n        itemLength = uint32(readIndefiniteStringLength(_cborValue.buffer, _cborValue.majorType));\n        if (itemLength < _UINT32_MAX) {\n          bytesData = abi.encodePacked(bytesData, _cborValue.buffer.read(itemLength));\n        }\n      }\n      return bytesData;\n    } else {\n      return _cborValue.buffer.read(uint32(_cborValue.len));\n    }\n  }\n\n  /// @notice Decode a `Witnet.CBOR` structure into a native `bytes32` value.\n  /// @param _cborValue An instance of `Witnet.CBOR`.\n  /// @return _bytes32 The value represented by the input, as a `bytes32` value.\n  function decodeBytes32(Witnet.CBOR memory _cborValue) public pure returns(bytes32 _bytes32) {\n    bytes memory _bb = decodeBytes(_cborValue);\n    uint _len = _bb.length > 32 ? 32 : _bb.length;\n    for (uint _i = 0; _i < _len; _i ++) {\n        _bytes32 |= bytes32(_bb[_i] & 0xff) >> (_i * 8);\n    }\n  }\n\n  /// @notice Decode a `Witnet.CBOR` structure into a `fixed16` value.\n  /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values\n  /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`\n  /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\n  /// @param _cborValue An instance of `Witnet.CBOR`.\n  /// @return The value represented by the input, as an `int128` value.\n  function decodeFixed16(Witnet.CBOR memory _cborValue) public pure returns(int32) {\n    require(_cborValue.majorType == 7, \"WitnetDecoderLib: Tried to read a `fixed` value from a `WT.CBOR` with majorType != 7\");\n    require(_cborValue.additionalInformation == 25, \"WitnetDecoderLib: Tried to read `fixed16` from a `WT.CBOR` with additionalInformation != 25\");\n    return _cborValue.buffer.readFloat16();\n  }\n\n  /// @notice Decode a `Witnet.CBOR` structure into a native `int128[]` value whose inner values follow the same convention.\n  /// as explained in `decodeFixed16`.\n  /// @param _cborValue An instance of `Witnet.CBOR`.\n  /// @return The value represented by the input, as an `int128[]` value.\n  function decodeFixed16Array(Witnet.CBOR memory _cborValue) external pure returns(int32[] memory) {\n    require(_cborValue.majorType == 4, \"WitnetDecoderLib: Tried to read `int128[]` from a `Witnet.CBOR` with majorType != 4\");\n\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\n    require(length < _UINT64_MAX, \"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\");\n\n    int32[] memory array = new int32[](length);\n    for (uint64 i = 0; i < length; i++) {\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\n      array[i] = decodeFixed16(item);\n    }\n\n    return array;\n  }\n\n  /// @notice Decode a `Witnet.CBOR` structure into a native `int128` value.\n  /// @param _cborValue An instance of `Witnet.CBOR`.\n  /// @return The value represented by the input, as an `int128` value.\n  function decodeInt128(Witnet.CBOR memory _cborValue) public pure returns(int128) {\n    if (_cborValue.majorType == 1) {\n      uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\n      return int128(-1) - int128(uint128(length));\n    } else if (_cborValue.majorType == 0) {\n      // Any `uint64` can be safely casted to `int128`, so this method supports majorType 1 as well so as to have offer\n      // a uniform API for positive and negative numbers\n      return int128(uint128(decodeUint64(_cborValue)));\n    }\n    revert(\"WitnetDecoderLib: Tried to read `int128` from a `Witnet.CBOR` with majorType not 0 or 1\");\n  }\n\n  /// @notice Decode a `Witnet.CBOR` structure into a native `int128[]` value.\n  /// @param _cborValue An instance of `Witnet.CBOR`.\n  /// @return The value represented by the input, as an `int128[]` value.\n  function decodeInt128Array(Witnet.CBOR memory _cborValue) external pure returns(int128[] memory) {\n    require(_cborValue.majorType == 4, \"WitnetDecoderLib: Tried to read `int128[]` from a `Witnet.CBOR` with majorType != 4\");\n\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\n    require(length < _UINT64_MAX, \"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\");\n\n    int128[] memory array = new int128[](length);\n    for (uint64 i = 0; i < length; i++) {\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\n      array[i] = decodeInt128(item);\n    }\n\n    return array;\n  }\n\n  /// @notice Decode a `Witnet.CBOR` structure into a native `string` value.\n  /// @param _cborValue An instance of `Witnet.CBOR`.\n  /// @return The value represented by the input, as a `string` value.\n  function decodeString(Witnet.CBOR memory _cborValue) public pure returns(string memory) {\n    _cborValue.len = readLength(_cborValue.buffer, _cborValue.additionalInformation);\n    if (_cborValue.len == _UINT64_MAX) {\n      bytes memory textData;\n      bool done;\n      while (!done) {\n        uint64 itemLength = readIndefiniteStringLength(_cborValue.buffer, _cborValue.majorType);\n        if (itemLength < _UINT64_MAX) {\n          textData = abi.encodePacked(textData, readText(_cborValue.buffer, itemLength / 4));\n        } else {\n          done = true;\n        }\n      }\n      return string(textData);\n    } else {\n      return string(readText(_cborValue.buffer, _cborValue.len));\n    }\n  }\n\n  /// @notice Decode a `Witnet.CBOR` structure into a native `string[]` value.\n  /// @param _cborValue An instance of `Witnet.CBOR`.\n  /// @return The value represented by the input, as an `string[]` value.\n  function decodeStringArray(Witnet.CBOR memory _cborValue) external pure returns(string[] memory) {\n    require(_cborValue.majorType == 4, \"WitnetDecoderLib: Tried to read `string[]` from a `Witnet.CBOR` with majorType != 4\");\n\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\n    require(length < _UINT64_MAX, \"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\");\n\n    string[] memory array = new string[](length);\n    for (uint64 i = 0; i < length; i++) {\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\n      array[i] = decodeString(item);\n    }\n\n    return array;\n  }\n\n  /// @notice Decode a `Witnet.CBOR` structure into a native `uint64` value.\n  /// @param _cborValue An instance of `Witnet.CBOR`.\n  /// @return The value represented by the input, as an `uint64` value.\n  function decodeUint64(Witnet.CBOR memory _cborValue) public pure returns(uint64) {\n    require(_cborValue.majorType == 0, \"WitnetDecoderLib: Tried to read `uint64` from a `Witnet.CBOR` with majorType != 0\");\n    return readLength(_cborValue.buffer, _cborValue.additionalInformation);\n  }\n\n  /// @notice Decode a `Witnet.CBOR` structure into a native `uint64[]` value.\n  /// @param _cborValue An instance of `Witnet.CBOR`.\n  /// @return The value represented by the input, as an `uint64[]` value.\n  function decodeUint64Array(Witnet.CBOR memory _cborValue) external pure returns(uint64[] memory) {\n    require(_cborValue.majorType == 4, \"WitnetDecoderLib: Tried to read `uint64[]` from a `Witnet.CBOR` with majorType != 4\");\n\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\n    require(length < _UINT64_MAX, \"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\");\n\n    uint64[] memory array = new uint64[](length);\n    for (uint64 i = 0; i < length; i++) {\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\n      array[i] = decodeUint64(item);\n    }\n\n    return array;\n  }\n\n  /// @notice Decode a Witnet.CBOR structure from raw bytes.\n  /// @dev This is the main factory for Witnet.CBOR instances, which can be later decoded into native EVM types.\n  /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\n  /// @return A `Witnet.CBOR` instance containing a partially decoded value.\n  function valueFromBytes(bytes memory _cborBytes) external pure returns(Witnet.CBOR memory) {\n    Witnet.Buffer memory buffer = Witnet.Buffer(_cborBytes, 0);\n\n    return valueFromBuffer(buffer);\n  }\n\n  /// @notice Decode a Witnet.CBOR structure from raw bytes.\n  /// @dev This is an alternate factory for Witnet.CBOR instances, which can be later decoded into native EVM types.\n  /// @param _buffer A Buffer structure representing a CBOR-encoded value.\n  /// @return A `Witnet.CBOR` instance containing a partially decoded value.\n  function valueFromBuffer(Witnet.Buffer memory _buffer) public pure returns(Witnet.CBOR memory) {\n    require(_buffer.data.length > 0, \"WitnetDecoderLib: Found empty buffer when parsing CBOR value\");\n\n    uint8 initialByte;\n    uint8 majorType = 255;\n    uint8 additionalInformation;\n    uint64 tag = _UINT64_MAX;\n\n    bool isTagged = true;\n    while (isTagged) {\n      // Extract basic CBOR properties from input bytes\n      initialByte = _buffer.readUint8();\n      majorType = initialByte >> 5;\n      additionalInformation = initialByte & 0x1f;\n\n      // Early CBOR tag parsing.\n      if (majorType == 6) {\n        tag = readLength(_buffer, additionalInformation);\n      } else {\n        isTagged = false;\n      }\n    }\n\n    require(majorType <= 7, \"WitnetDecoderLib: Invalid CBOR major type\");\n\n    return Witnet.CBOR(\n      _buffer,\n      initialByte,\n      majorType,\n      additionalInformation,\n      0,\n      tag);\n  }\n\n  /// Reads the length of the next CBOR item from a buffer, consuming a different number of bytes depending on the\n  /// value of the `additionalInformation` argument.\n  function readLength(Witnet.Buffer memory _buffer, uint8 additionalInformation) private pure returns(uint64) {\n    if (additionalInformation < 24) {\n      return additionalInformation;\n    }\n    if (additionalInformation == 24) {\n      return _buffer.readUint8();\n    }\n    if (additionalInformation == 25) {\n      return _buffer.readUint16();\n    }\n    if (additionalInformation == 26) {\n      return _buffer.readUint32();\n    }\n    if (additionalInformation == 27) {\n      return _buffer.readUint64();\n    }\n    if (additionalInformation == 31) {\n      return _UINT64_MAX;\n    }\n    revert(\"WitnetDecoderLib: Invalid length encoding (non-existent additionalInformation value)\");\n  }\n\n  /// Read the length of a CBOR indifinite-length item (arrays, maps, byte strings and text) from a buffer, consuming\n  /// as many bytes as specified by the first byte.\n  function readIndefiniteStringLength(Witnet.Buffer memory _buffer, uint8 majorType) private pure returns(uint64) {\n    uint8 initialByte = _buffer.readUint8();\n    if (initialByte == 0xff) {\n      return _UINT64_MAX;\n    }\n    uint64 length = readLength(_buffer, initialByte & 0x1f);\n    require(length < _UINT64_MAX && (initialByte >> 5) == majorType, \"WitnetDecoderLib: Invalid indefinite length\");\n    return length;\n  }\n\n  /// Read a text string of a given length from a buffer. Returns a `bytes memory` value for the sake of genericness,\n  /// but it can be easily casted into a string with `string(result)`.\n  // solium-disable-next-line security/no-assign-params\n  function readText(Witnet.Buffer memory _buffer, uint64 _length) private pure returns(bytes memory) {\n    bytes memory result;\n    for (uint64 index = 0; index < _length; index++) {\n      uint8 value = _buffer.readUint8();\n      if (value & 0x80 != 0) {\n        if (value < 0xe0) {\n          value = (value & 0x1f) << 6 |\n            (_buffer.readUint8() & 0x3f);\n          _length -= 1;\n        } else if (value < 0xf0) {\n          value = (value & 0x0f) << 12 |\n            (_buffer.readUint8() & 0x3f) << 6 |\n            (_buffer.readUint8() & 0x3f);\n          _length -= 2;\n        } else {\n          value = (value & 0x0f) << 18 |\n            (_buffer.readUint8() & 0x3f) << 12 |\n            (_buffer.readUint8() & 0x3f) << 6  |\n            (_buffer.readUint8() & 0x3f);\n          _length -= 3;\n        }\n      }\n      result = abi.encodePacked(result, value);\n    }\n    return result;\n  }\n}\n"},"witnet-solidity-bridge/contracts/libs/WitnetParserLib.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport \"./WitnetDecoderLib.sol\";\n\n/// @title A library for decoding Witnet request results\n/// @notice The library exposes functions to check the Witnet request success.\n/// and retrieve Witnet results from CBOR values into solidity types.\n/// @author The Witnet Foundation.\nlibrary WitnetParserLib {\n\n    using WitnetDecoderLib for bytes;\n    using WitnetDecoderLib for Witnet.CBOR;\n\n    /// @notice Decode raw CBOR bytes into a Witnet.Result instance.\n    /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\n    /// @return A `Witnet.Result` instance.\n    function resultFromCborBytes(bytes calldata _cborBytes)\n        external pure\n        returns (Witnet.Result memory)\n    {\n        Witnet.CBOR memory cborValue = _cborBytes.valueFromBytes();\n        return resultFromCborValue(cborValue);\n    }\n\n    /// @notice Decode a CBOR value into a Witnet.Result instance.\n    /// @param _cborValue An instance of `Witnet.Value`.\n    /// @return A `Witnet.Result` instance.\n    function resultFromCborValue(Witnet.CBOR memory _cborValue)\n        public pure\n        returns (Witnet.Result memory)    \n    {\n        // Witnet uses CBOR tag 39 to represent RADON error code identifiers.\n        // [CBOR tag 39] Identifiers for CBOR: https://github.com/lucas-clemente/cbor-specs/blob/master/id.md\n        bool success = _cborValue.tag != 39;\n        return Witnet.Result(success, _cborValue);\n    }\n\n    /// @notice Tell if a Witnet.Result is successful.\n    /// @param _result An instance of Witnet.Result.\n    /// @return `true` if successful, `false` if errored.\n    function isOk(Witnet.Result memory _result)\n        external pure\n        returns (bool)\n    {\n        return _result.success;\n    }\n\n    /// @notice Tell if a Witnet.Result is errored.\n    /// @param _result An instance of Witnet.Result.\n    /// @return `true` if errored, `false` if successful.\n    function isError(Witnet.Result memory _result)\n      external pure\n      returns (bool)\n    {\n        return !_result.success;\n    }\n\n    /// @notice Decode a bytes value from a Witnet.Result as a `bytes` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `bytes` decoded from the Witnet.Result.\n    function asBytes(Witnet.Result memory _result)\n        external pure\n        returns(bytes memory)\n    {\n        require(_result.success, \"WitnetParserLib: Tried to read bytes value from errored Witnet.Result\");\n        return _result.value.decodeBytes();\n    }\n\n    /// @notice Decode a bytes value from a Witnet.Result as a `bytes32` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `bytes32` decoded from the Witnet.Result.\n    function asBytes32(Witnet.Result memory _result)\n        external pure\n        returns(bytes32)\n    {\n        require(_result.success, \"WitnetParserLib: tried to read bytes32 value from errored Witnet.Result\");\n        return _result.value.decodeBytes32();\n    }\n\n    /// @notice Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\n    /// @param _result An instance of `Witnet.Result`.\n    /// @return The `CBORValue.Error memory` decoded from the Witnet.Result.\n    function asErrorCode(Witnet.Result memory _result)\n        external pure\n        returns (Witnet.ErrorCodes)\n    {\n        uint64[] memory error = asRawError(_result);\n        if (error.length == 0) {\n            return Witnet.ErrorCodes.Unknown;\n        }\n        return _supportedErrorOrElseUnknown(error[0]);\n    }\n\n    /// @notice Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\n    /// @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\n    /// @param _result An instance of `Witnet.Result`.\n    /// @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\n    function asErrorMessage(Witnet.Result memory _result)\n      public pure\n      returns (Witnet.ErrorCodes, string memory)\n    {\n        uint64[] memory error = asRawError(_result);\n        if (error.length == 0) {\n            return (Witnet.ErrorCodes.Unknown, \"Unknown error (no error code)\");\n        }\n        Witnet.ErrorCodes errorCode = _supportedErrorOrElseUnknown(error[0]);\n        bytes memory errorMessage;\n\n        if (errorCode == Witnet.ErrorCodes.SourceScriptNotCBOR && error.length >= 2) {\n            errorMessage = abi.encodePacked(\n                \"Source script #\",\n                _utoa(error[1]),\n                \" was not a valid CBOR value\"\n            );\n        } else if (errorCode == Witnet.ErrorCodes.SourceScriptNotArray && error.length >= 2) {\n            errorMessage = abi.encodePacked(\n                \"The CBOR value in script #\",\n                _utoa(error[1]),\n                \" was not an Array of calls\"\n            );\n        } else if (errorCode == Witnet.ErrorCodes.SourceScriptNotRADON && error.length >= 2) {\n            errorMessage = abi.encodePacked(\n                \"The CBOR value in script #\",\n                _utoa(error[1]),\n                \" was not a valid Data Request\"\n            );\n        } else if (errorCode == Witnet.ErrorCodes.RequestTooManySources && error.length >= 2) {\n            errorMessage = abi.encodePacked(\n                \"The request contained too many sources (\", \n                _utoa(error[1]), \n                \")\"\n            );\n        } else if (errorCode == Witnet.ErrorCodes.ScriptTooManyCalls && error.length >= 4) {\n            errorMessage = abi.encodePacked(\n                \"Script #\",\n                _utoa(error[2]),\n                \" from the \",\n                stageName(error[1]),\n                \" stage contained too many calls (\",\n                _utoa(error[3]),\n                \")\"\n            );\n        } else if (errorCode == Witnet.ErrorCodes.UnsupportedOperator && error.length >= 5) {\n            errorMessage = abi.encodePacked(\n                \"Operator code 0x\",\n                _utohex(error[4]),\n                \" found at call #\",\n                _utoa(error[3]),\n                \" in script #\",\n                _utoa(error[2]),\n                \" from \",\n                stageName(error[1]),\n                \" stage is not supported\"\n            );\n        } else if (errorCode == Witnet.ErrorCodes.HTTP && error.length >= 3) {\n            errorMessage = abi.encodePacked(\n                \"Source #\",\n                _utoa(error[1]),\n                \" could not be retrieved. Failed with HTTP error code: \",\n                _utoa(error[2] / 100),\n                _utoa(error[2] % 100 / 10),\n                _utoa(error[2] % 10)\n            );\n        } else if (errorCode == Witnet.ErrorCodes.RetrievalTimeout && error.length >= 2) {\n            errorMessage = abi.encodePacked(\n                \"Source #\",\n                _utoa(error[1]),\n                \" could not be retrieved because of a timeout\"\n            );\n        } else if (errorCode == Witnet.ErrorCodes.Underflow && error.length >= 5) {\n              errorMessage = abi.encodePacked(\n                \"Underflow at operator code 0x\",\n                _utohex(error[4]),\n                \" found at call #\",\n                _utoa(error[3]),\n                \" in script #\",\n                _utoa(error[2]),\n                \" from \",\n                stageName(error[1]),\n                \" stage\"\n            );\n        } else if (errorCode == Witnet.ErrorCodes.Overflow && error.length >= 5) {\n            errorMessage = abi.encodePacked(\n                \"Overflow at operator code 0x\",\n                _utohex(error[4]),\n                \" found at call #\",\n                _utoa(error[3]),\n                \" in script #\",\n                _utoa(error[2]),\n                \" from \",\n                stageName(error[1]),\n                \" stage\"\n            );\n        } else if (errorCode == Witnet.ErrorCodes.DivisionByZero && error.length >= 5) {\n            errorMessage = abi.encodePacked(\n                \"Division by zero at operator code 0x\",\n                _utohex(error[4]),\n                \" found at call #\",\n                _utoa(error[3]),\n                \" in script #\",\n                _utoa(error[2]),\n                \" from \",\n                stageName(error[1]),\n                \" stage\"\n            );\n        } else if (errorCode == Witnet.ErrorCodes.BridgeMalformedRequest) {\n            errorMessage = \"The structure of the request is invalid and it cannot be parsed\";\n        } else if (errorCode == Witnet.ErrorCodes.BridgePoorIncentives) {\n            errorMessage = \"The request has been rejected by the bridge node due to poor incentives\";\n        } else if (errorCode == Witnet.ErrorCodes.BridgeOversizedResult) {\n            errorMessage = \"The request result length exceeds a bridge contract defined limit\";\n        } else {\n            errorMessage = abi.encodePacked(\"Unknown error (0x\", _utohex(error[0]), \")\");\n        }\n        return (errorCode, string(errorMessage));\n    }\n\n    /// @notice Decode a raw error from a `Witnet.Result` as a `uint64[]`.\n    /// @param _result An instance of `Witnet.Result`.\n    /// @return The `uint64[]` raw error as decoded from the `Witnet.Result`.\n    function asRawError(Witnet.Result memory _result)\n        public pure\n        returns(uint64[] memory)\n    {\n        require(\n            !_result.success,\n            \"WitnetParserLib: Tried to read error code from successful Witnet.Result\"\n        );\n        return _result.value.decodeUint64Array();\n    }\n\n    /// @notice Decode a boolean value from a Witnet.Result as an `bool` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `bool` decoded from the Witnet.Result.\n    function asBool(Witnet.Result memory _result)\n        external pure\n        returns (bool)\n    {\n        require(_result.success, \"WitnetParserLib: Tried to read `bool` value from errored Witnet.Result\");\n        return _result.value.decodeBool();\n    }\n\n    /// @notice Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\n    /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\n    /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\n    /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `int128` decoded from the Witnet.Result.\n    function asFixed16(Witnet.Result memory _result)\n        external pure\n        returns (int32)\n    {\n        require(_result.success, \"WitnetParserLib: Tried to read `fixed16` value from errored Witnet.Result\");\n        return _result.value.decodeFixed16();\n    }\n\n    /// @notice Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `int128[]` decoded from the Witnet.Result.\n    function asFixed16Array(Witnet.Result memory _result)\n        external pure\n        returns (int32[] memory)\n    {\n        require(_result.success, \"WitnetParserLib: Tried to read `fixed16[]` value from errored Witnet.Result\");\n        return _result.value.decodeFixed16Array();\n    }\n\n    /// @notice Decode a integer numeric value from a Witnet.Result as an `int128` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `int128` decoded from the Witnet.Result.\n    function asInt128(Witnet.Result memory _result)\n      external pure\n      returns (int128)\n    {\n        require(_result.success, \"WitnetParserLib: Tried to read `int128` value from errored Witnet.Result\");\n        return _result.value.decodeInt128();\n    }\n\n    /// @notice Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `int128[]` decoded from the Witnet.Result.\n    function asInt128Array(Witnet.Result memory _result)\n        external pure\n        returns (int128[] memory)\n    {\n        require(_result.success, \"WitnetParserLib: Tried to read `int128[]` value from errored Witnet.Result\");\n        return _result.value.decodeInt128Array();\n    }\n\n    /// @notice Decode a string value from a Witnet.Result as a `string` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `string` decoded from the Witnet.Result.\n    function asString(Witnet.Result memory _result)\n        external pure\n        returns(string memory)\n    {\n        require(_result.success, \"WitnetParserLib: Tried to read `string` value from errored Witnet.Result\");\n        return _result.value.decodeString();\n    }\n\n    /// @notice Decode an array of string values from a Witnet.Result as a `string[]` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `string[]` decoded from the Witnet.Result.\n    function asStringArray(Witnet.Result memory _result)\n        external pure\n        returns (string[] memory)\n    {\n        require(_result.success, \"WitnetParserLib: Tried to read `string[]` value from errored Witnet.Result\");\n        return _result.value.decodeStringArray();\n    }\n\n    /// @notice Decode a natural numeric value from a Witnet.Result as a `uint64` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `uint64` decoded from the Witnet.Result.\n    function asUint64(Witnet.Result memory _result)\n        external pure\n        returns(uint64)\n    {\n        require(_result.success, \"WitnetParserLib: Tried to read `uint64` value from errored Witnet.Result\");\n        return _result.value.decodeUint64();\n    }\n\n    /// @notice Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\n    /// @param _result An instance of Witnet.Result.\n    /// @return The `uint64[]` decoded from the Witnet.Result.\n    function asUint64Array(Witnet.Result memory _result)\n        external pure\n        returns (uint64[] memory)\n    {\n        require(_result.success, \"WitnetParserLib: Tried to read `uint64[]` value from errored Witnet.Result\");\n        return _result.value.decodeUint64Array();\n    }\n\n    /// @notice Convert a stage index number into the name of the matching Witnet request stage.\n    /// @param _stageIndex A `uint64` identifying the index of one of the Witnet request stages.\n    /// @return The name of the matching stage.\n    function stageName(uint64 _stageIndex)\n        public pure\n        returns (string memory)\n    {\n        if (_stageIndex == 0) {\n            return \"retrieval\";\n        } else if (_stageIndex == 1) {\n            return \"aggregation\";\n        } else if (_stageIndex == 2) {\n            return \"tally\";\n        } else {\n            return \"unknown\";\n        }\n    }\n\n    /// @notice Get an `Witnet.ErrorCodes` item from its `uint64` discriminant.\n    /// @param _discriminant The numeric identifier of an error.\n    /// @return A member of `Witnet.ErrorCodes`.\n    function _supportedErrorOrElseUnknown(uint64 _discriminant)\n        private pure\n        returns (Witnet.ErrorCodes)\n    {\n        return Witnet.ErrorCodes(_discriminant);\n    }\n\n    /// @notice Convert a `uint64` into a 1, 2 or 3 characters long `string` representing its.\n    /// three less significant decimal values.\n    /// @param _u A `uint64` value.\n    /// @return The `string` representing its decimal value.\n    function _utoa(uint64 _u)\n        private pure\n        returns (string memory)\n    {\n        if (_u < 10) {\n            bytes memory b1 = new bytes(1);\n            b1[0] = bytes1(uint8(_u) + 48);\n            return string(b1);\n        } else if (_u < 100) {\n            bytes memory b2 = new bytes(2);\n            b2[0] = bytes1(uint8(_u / 10) + 48);\n            b2[1] = bytes1(uint8(_u % 10) + 48);\n            return string(b2);\n        } else {\n            bytes memory b3 = new bytes(3);\n            b3[0] = bytes1(uint8(_u / 100) + 48);\n            b3[1] = bytes1(uint8(_u % 100 / 10) + 48);\n            b3[2] = bytes1(uint8(_u % 10) + 48);\n            return string(b3);\n        }\n    }\n\n    /// @notice Convert a `uint64` into a 2 characters long `string` representing its two less significant hexadecimal values.\n    /// @param _u A `uint64` value.\n    /// @return The `string` representing its hexadecimal value.\n    function _utohex(uint64 _u)\n        private pure\n        returns (string memory)\n    {\n        bytes memory b2 = new bytes(2);\n        uint8 d0 = uint8(_u / 16) + 48;\n        uint8 d1 = uint8(_u % 16) + 48;\n        if (d0 > 57)\n            d0 += 7;\n        if (d1 > 57)\n            d1 += 7;\n        b2[0] = bytes1(d0);\n        b2[1] = bytes1(d1);\n        return string(b2);\n    }\n}\n"},"witnet-solidity-bridge/contracts/mocks/WitnetRandomnessMock.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport \"../apps/WitnetRandomness.sol\";\n\n/// @title WitnetRandomness mock contract implementation. \n/// @dev TO BE USED ONLY ON DEVELOPMENT ENVIRONMENTS. \n/// @dev ON SUPPORTED TESTNETS, PLEASE USE THE `WitnetRandomness`\n/// @dev CONTRACT ADDRESS PROVIDED BY THE WITNET FOUNDATION.\n/// @dev SEE: https://docs.witnet.io/smart-contracts/witnet-randomness-oracle/contract-addresses\n/// @author Witnet Foundation.\ncontract WitnetRandomnessMock\n    is\n        WitnetRandomness\n{\n    uint8 internal __mockRandomizeLatencyBlocks;\n    uint256 internal __mockRandomizeFee;\n    uint256 internal __mockRandomizeLatestId;\n\n    /// Constructor: new WitnetRandomnessMock contract\n    /// @param _mockRandomizeLatencyBlocks Mocked number of blocks in which a new randomness will be provided after `randomize()`\n    /// @param _mockRandomizeFee Mocked randomize fee (will be constant no matter what tx gas price is provided).\n    constructor (\n            uint8 _mockRandomizeLatencyBlocks,\n            uint256 _mockRandomizeFee\n        )\n        WitnetRandomness(WitnetRequestBoard(payable(0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF)))\n    {\n        __mockRandomizeLatencyBlocks = _mockRandomizeLatencyBlocks;\n        __mockRandomizeFee = _mockRandomizeFee;\n    }\n\n    /// Returns mocked amount of wei required to be paid as a fee when requesting new randomization.\n    function estimateRandomizeFee(uint256)\n        public view\n        virtual override\n        returns (uint256)\n    {\n        return __mockRandomizeFee;\n    }\n\n    /// Retrieves data of a randomization request that got successfully posted to the WRB within a given block.\n    /// @dev Returns zero values if no randomness request was actually posted within a given block.\n    /// @param _block Block number whose randomness request is being queried for.\n    /// @return _from Address from which the latest randomness request was posted.\n    /// @return _id Unique request identifier as provided by the WRB.\n    /// @return _prevBlock Block number in which a randomness request got posted just before this one. 0 if none.\n    /// @return _nextBlock Block number in which a randomness request got posted just after this one, 0 if none.\n    function getRandomizeData(uint256 _block)\n        external view\n        virtual override\n        returns (\n            address _from,\n            uint256 _id,\n            uint256 _prevBlock,\n            uint256 _nextBlock\n        )\n    {\n        RandomizeData storage _data = __randomize_[_block];\n        _id = _data.witnetQueryId;\n        _from = _data.from;\n        _prevBlock = _data.prevBlock;\n        _nextBlock = _data.nextBlock;\n    }\n\n    /// Mocks randomness generated upon solving a request that was posted within a given block,\n    /// if more than `__mockRandomizeLatencyBlocks` have elapsed since rquest, or to the _first_ request \n    /// posted after that block, otherwise. \n    /// @dev Please, note that 256 blocks after a `randomize()` request, randomness will be possibly returned \n    /// @dev as `bytes32(0)` (depending on actual EVM implementation). \n    /// @dev Fails if:\n    /// @dev   i.   no `randomize()` was not called in either the given block, or afterwards.\n    /// @dev   ii.  a request posted in/after given block does exist, but lest than `__mockRandomizeLatencyBlocks` have elapsed.\n    /// @param _block Block number from which the search will start.\n    function getRandomnessAfter(uint256 _block)\n        public view\n        virtual override\n        returns (bytes32)\n    {\n        if (__randomize_[_block].from == address(0)) {\n            _block = getRandomnessNextBlock(_block);\n        }\n        uint256 _queryId = __randomize_[_block].witnetQueryId;\n        require(_queryId != 0, \"WitnetRandomnessMock: not randomized\");\n        require(block.number >= _block + __mockRandomizeLatencyBlocks, \"WitnetRandomnessMock: pending randomize\");\n        return blockhash(_block);\n    }\n\n    /// Mocks `true` only when a randomness request got actually posted within given block,\n    /// and at least `__mockRandomizeLatencyBlocks` have elapsed since then. \n    function isRandomized(uint256 _block)\n        public view\n        virtual override\n        returns (bool)\n    {\n        RandomizeData storage _data = __randomize_[_block];\n        return (\n            _data.witnetQueryId != 0 \n                && block.number >= _block + __mockRandomizeLatencyBlocks\n        );\n    }\n\n    /// Mocks request to generate randomness, using underlying EVM as entropy source.\n    /// Only one randomness request per block will be actually posted. Unused funds shall \n    /// be transfered back to the tx sender.\n    /// @dev FOR UNITARY TESTING ONLY. DO NOT USE IN PRODUCTION, AS PROVIDED RANDOMNESS\n    /// @dev WILL NEITHER BE EVM-AGNOSTIC, NOR SECURE.\n    /// @return _usedFunds Amount of funds actually used from those provided by the tx sender.\n    function randomize()\n        external payable\n        virtual override\n        returns (uint256 _usedFunds)\n    {\n        if (latestRandomizeBlock < block.number) {\n            _usedFunds = __mockRandomizeFee;\n            require(\n                msg.value >= _usedFunds,\n                \"WitnetRandomnessMock: reward too low\"\n            );\n            // Post the Witnet Randomness request:\n            uint _queryId = ++ __mockRandomizeLatestId;\n            RandomizeData storage _data = __randomize_[block.number];\n            _data.from = msg.sender;\n            _data.witnetQueryId = _queryId;            \n            // Update block links:\n            uint256 _prevBlock = latestRandomizeBlock;\n            _data.prevBlock = _prevBlock;\n            __randomize_[_prevBlock].nextBlock = block.number;\n            latestRandomizeBlock = block.number;\n            // Throw event:\n            emit Randomized(\n                msg.sender,\n                _prevBlock,\n                _queryId,\n                witnetRandomnessRequest.hash()\n            );\n        }\n        // Transfer back unused tx value:\n        if (_usedFunds < msg.value) {\n            payable(msg.sender).transfer(msg.value - _usedFunds);\n        }\n    }\n\n    /// Mocks by ignoring any fee increase on a pending-to-be-solved randomness request.\n    /// @dev The whole `msg.value` shall be transferred back to the tx sender.\n    /// @return _usedFunds Amount of funds actually used from those provided by the tx sender.\n    function upgradeRandomizeFee(uint256)\n        public payable\n        virtual override\n        returns (uint256)\n    {\n        if (msg.value > 0) {\n            payable(msg.sender).transfer(msg.value);\n        }\n        return 0;\n    }\n}\n"},"witnet-solidity-bridge/contracts/patterns/Clonable.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.9.0;\n\nimport \"./Initializable.sol\";\n\nabstract contract Clonable is Initializable {\n    /// Immutable contract address that actually attends all calls to this contract.\n    /// @dev Differs from `address(this)` when reached within a DELEGATECALL.\n    address immutable public self = address(this);\n\n    event Cloned(address indexed by, Clonable indexed self, Clonable indexed clone);\n\n    /// Tells whether this contract is a clone of another (i.e. `self()`)\n    function cloned()\n        public view\n        returns (bool)\n    {\n        return (\n            address(this) != self\n        );\n    }\n\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract\n    /// behaviour while using its own EVM storage.\n    /// @dev This function should always provide a new address, no matter how many times \n    /// @dev is actually called from the same `msg.sender`.\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1167.\n    /// @dev See https://blog.openzeppelin.com/deep-dive-into-the-minimal-proxy-contract/.\n    function clone()\n        public virtual\n        returns (Clonable _instance)\n    {\n        address _self = self;\n        assembly {\n            // ptr to free mem:\n            let ptr := mload(0x40)\n            // begin minimal proxy construction bytecode:\n            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)\n            // make minimal proxy delegate all calls to `self()`:\n            mstore(add(ptr, 0x14), shl(0x60, _self))\n            // end minimal proxy construction bytecode:\n            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)\n            // CREATE new instance:\n            _instance := create(0, ptr, 0x37)\n        }        \n        require(address(_instance) != address(0), \"Clonable: CREATE failed\");\n        emit Cloned(msg.sender, Clonable(self), _instance);\n    }\n\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract \n    /// behaviour while using its own EVM storage.\n    /// @dev This function uses the CREATE2 opcode and a `_salt` to deterministically deploy\n    /// @dev the clone. Using the same `_salt` multiple times will revert, since\n    /// @dev no contract can be deployed more than once at the same address.\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1167.\n    /// @dev See https://blog.openzeppelin.com/deep-dive-into-the-minimal-proxy-contract/.\n    function cloneDeterministic(bytes32 _salt)\n        public virtual\n        returns (Clonable _instance)\n    {\n        address _self = self;\n        assembly {\n            // ptr to free mem:\n            let ptr := mload(0x40)\n            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)\n            // make minimal proxy delegate all calls to `self()`:\n            mstore(add(ptr, 0x14), shl(0x60, _self))\n            // end minimal proxy construction bytecode:\n            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)\n            // CREATE2 new instance:\n            _instance := create2(0, ptr, 0x37, _salt)\n        }\n        require(address(_instance) != address(0), \"Clonable: CREATE2 failed\");\n        emit Cloned(msg.sender, Clonable(self), _instance);\n    }\n}\n"},"witnet-solidity-bridge/contracts/patterns/Context.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\n/// @dev Provides information about the current execution context, including the\n/// sender of the transaction and its data. While these are generally available\n/// via msg.sender and msg.data, they should not be accessed in such a direct\n/// manner, since when dealing with meta-transactions the account sending and\n/// paying for execution may not be the actual sender (as far as an application\n/// is concerned).\nabstract contract Context {\n    function _msgSender() internal view virtual returns (address) {\n        return msg.sender;\n    }\n\n    function _msgData() internal view virtual returns (bytes calldata) {\n        return msg.data;\n    }\n\n    function _msgValue() internal view virtual returns (uint256) {\n        return msg.value;\n    }\n}\n"},"witnet-solidity-bridge/contracts/patterns/Destructible.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.9.0;\n\ninterface Destructible {\n    /// @dev Self-destruct the whole contract.\n    function destruct() external;\n}\n"},"witnet-solidity-bridge/contracts/patterns/Initializable.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.9.0;\n\ninterface Initializable {\n    /// @dev Initialize contract's storage context.\n    function initialize(bytes calldata) external;\n}\n"},"witnet-solidity-bridge/contracts/patterns/Ownable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.3.2 (access/Ownable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./Context.sol\";\n\n/// @dev Contract module which provides a basic access control mechanism, where\n/// there is an account (an owner) that can be granted exclusive access to\n/// specific functions.\n///\n/// By default, the owner account will be the one that deploys the contract. This\n/// can later be changed with {transferOwnership}.\n///\n/// This module is used through inheritance. It will make available the modifier\n/// `onlyOwner`, which can be applied to your functions to restrict their use to\n/// the owner.\n\nabstract contract Ownable is Context {\n    address private _owner;\n\n    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n    /// @dev Initializes the contract setting the deployer as the initial owner.\n    constructor() {\n        _transferOwnership(_msgSender());\n    }\n\n    /// @dev Returns the address of the current owner.\n    function owner() public view virtual returns (address) {\n        return _owner;\n    }\n\n    /// @dev Throws if called by any account other than the owner.\n    modifier onlyOwner() {\n        require(owner() == _msgSender(), \"Ownable: caller is not the owner\");\n        _;\n    }\n\n    /// @dev Leaves the contract without owner. It will not be possible to call\n    /// `onlyOwner` functions anymore. Can only be called by the current owner.\n    /// NOTE: Renouncing ownership will leave the contract without an owner,\n    /// thereby removing any functionality that is only available to the owner.\n    function renounceOwnership() public virtual onlyOwner {\n        _transferOwnership(address(0));\n    }\n\n    /// @dev Transfers ownership of the contract to a new account (`newOwner`).\n    /// Can only be called by the current owner.\n    function transferOwnership(address newOwner) public virtual onlyOwner {\n        require(newOwner != address(0), \"Ownable: new owner is the zero address\");\n        _transferOwnership(newOwner);\n    }\n\n    /// @dev Transfers ownership of the contract to a new account (`newOwner`).\n    /// Internal function without access restriction.\n    function _transferOwnership(address newOwner) internal virtual {\n        address oldOwner = _owner;\n        _owner = newOwner;\n        emit OwnershipTransferred(oldOwner, newOwner);\n    }\n}"},"witnet-solidity-bridge/contracts/patterns/Payable.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.9.0;\n\nimport \"../interfaces/IERC20.sol\";\n\nabstract contract Payable {\n    IERC20 public immutable currency;\n\n    event Received(address from, uint256 amount);\n    event Transfer(address to, uint256 amount);\n\n    constructor(address _currency) {\n        currency = IERC20(_currency);\n    }\n\n    /// Gets current transaction price.\n    function _getGasPrice() internal view virtual returns (uint256);\n\n    /// Gets current payment value.\n    function _getMsgValue() internal view virtual returns (uint256);\n\n    /// Perform safe transfer or whatever token is used for paying rewards.\n    function _safeTransferTo(address payable, uint256) internal virtual;\n}\n"},"witnet-solidity-bridge/contracts/patterns/Proxiable.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.9.0;\n\ninterface Proxiable {\n    /// @dev Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1822.\n    function proxiableUUID() external pure returns (bytes32);\n}\n"},"witnet-solidity-bridge/contracts/patterns/Upgradable.sol":{"content":"// SPDX-License-Identifier: MIT\n\n/* solhint-disable var-name-mixedcase */\n\npragma solidity >=0.6.0 <0.9.0;\n\nimport \"./Initializable.sol\";\nimport \"./Proxiable.sol\";\n\nabstract contract Upgradable is Initializable, Proxiable {\n\n    address internal immutable _BASE;\n    bytes32 internal immutable _CODEHASH;\n    bool internal immutable _UPGRADABLE;\n\n    /// Emitted every time the contract gets upgraded.\n    /// @param from The address who ordered the upgrading. Namely, the WRB operator in \"trustable\" implementations.\n    /// @param baseAddr The address of the new implementation contract.\n    /// @param baseCodehash The EVM-codehash of the new implementation contract.\n    /// @param versionTag Ascii-encoded version literal with which the implementation deployer decided to tag it.\n    event Upgraded(\n        address indexed from,\n        address indexed baseAddr,\n        bytes32 indexed baseCodehash,\n        bytes32 versionTag\n    );\n\n    constructor (bool _isUpgradable) {\n        address _base = address(this);\n        bytes32 _codehash;        \n        assembly {\n            _codehash := extcodehash(_base)\n        }\n        _BASE = _base;\n        _CODEHASH = _codehash;        \n        _UPGRADABLE = _isUpgradable;\n    }\n\n    /// @dev Tells whether provided address could eventually upgrade the contract.\n    function isUpgradableFrom(address from) virtual external view returns (bool);\n\n\n    /// TODO: the following methods should be all declared as pure \n    ///       whenever this Solidity's PR gets merged and released: \n    ///       https://github.com/ethereum/solidity/pull/10240\n\n    /// @dev Retrieves base contract. Differs from address(this) when via delegate-proxy pattern.\n    function base() public view returns (address) {\n        return _BASE;\n    }\n\n    /// @dev Retrieves the immutable codehash of this contract, even if invoked as delegatecall.\n    /// @return _codehash This contracts immutable codehash.\n    function codehash() public view returns (bytes32 _codehash) {\n        return _CODEHASH;\n    }\n    \n    /// @dev Determines whether current instance allows being upgraded.\n    /// @dev Returned value should be invariant from whoever is calling.\n    function isUpgradable() public view returns (bool) {        \n        return _UPGRADABLE;\n    }\n\n    /// @dev Retrieves human-redable named version of current implementation.\n    function version() virtual public view returns (bytes32); \n}"},"witnet-solidity-bridge/contracts/requests/WitnetRequestBase.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\n\nimport \"../libs/Witnet.sol\";\n\nabstract contract WitnetRequestBase\n    is\n        IWitnetRequest\n{\n    /// Contains a well-formed Witnet Data Request, encoded using Protocol Buffers.\n    bytes public override bytecode;\n\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\n    bytes32 public override hash;\n}\n"},"witnet-solidity-bridge/contracts/requests/WitnetRequestInitializableBase.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\n\nimport \"./WitnetRequestBase.sol\";\nimport \"../patterns/Initializable.sol\";\n\nabstract contract WitnetRequestInitializableBase\n    is\n        Initializable,\n        WitnetRequestBase\n{\n    using Witnet for bytes;\n    function initialize(bytes memory _bytecode)\n        public\n        virtual override\n    {\n        require(\n            bytecode.length == 0,\n            \"WitnetRequestInitializableBase: cannot change bytecode\"\n        );\n        bytecode = _bytecode;\n        hash = _bytecode.hash();\n    }\n}\n"},"witnet-solidity-bridge/contracts/requests/WitnetRequestMalleableBase.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\n\nimport \"../libs/Witnet.sol\";\nimport \"../patterns/Clonable.sol\";\nimport \"../patterns/Ownable.sol\";\nimport \"../patterns/Proxiable.sol\";\n\nabstract contract WitnetRequestMalleableBase\n    is\n        IWitnetRequest,\n        Clonable,\n        Ownable,\n        Proxiable\n{   \n    using Witnet for *;\n\n    event WitnessingParamsChanged(\n        address indexed by,\n        uint8 numWitnesses,\n        uint8 minWitnessingConsensus,\n        uint64 witnssingCollateral,\n        uint64 witnessingReward,\n        uint64 witnessingUnitaryFee\n    );\n\n    struct WitnetRequestMalleableBaseContext {\n        /// Contract owner address.\n        address owner;\n        /// Immutable bytecode template.\n        bytes template;\n        /// Current request bytecode.\n        bytes bytecode;\n        /// Current request hash.\n        bytes32 hash;\n        /// Current request witnessing params.\n        WitnetRequestWitnessingParams params;\n    }\n\n    struct WitnetRequestWitnessingParams {\n        /// Number of witnesses required to be involved for solving this Witnet Data Request.\n        uint8 numWitnesses;\n\n        /// Threshold percentage for aborting resolution of a request if the witnessing nodes did not arrive to a broad consensus.\n        uint8 minWitnessingConsensus;\n\n        /// Amount of nanowits that a witness solving the request will be required to collateralize in the commitment transaction.\n        uint64 witnessingCollateral;\n\n        /// Amount of nanowits that every request-solving witness will be rewarded with.\n        uint64 witnessingReward;\n\n        /// Amount of nanowits that will be earned by Witnet miners for each each valid commit/reveal transaction they include in a block.\n        uint64 witnessingUnitaryFee;\n    }\n\n    /// Returns current Witnet Data Request bytecode, encoded using Protocol Buffers.\n    function bytecode() external view override returns (bytes memory) {\n        return _request().bytecode;\n    }\n\n    /// Returns SHA256 hash of current Witnet Data Request bytecode.\n    function hash() external view override returns (bytes32) {\n        return _request().hash;\n    }\n\n    /// Sets amount of nanowits that a witness solving the request will be required to collateralize in the commitment transaction.\n    function setWitnessingCollateral(uint64 _witnessingCollateral)\n        public\n        virtual\n        onlyOwner\n    {\n        WitnetRequestWitnessingParams storage _params = _request().params;\n        _params.witnessingCollateral = _witnessingCollateral;\n        _malleateBytecode(\n            _params.numWitnesses,\n            _params.minWitnessingConsensus,\n            _witnessingCollateral,\n            _params.witnessingReward,\n            _params.witnessingUnitaryFee\n        );\n    }\n\n    /// Specifies how much you want to pay for rewarding each of the Witnet nodes.\n    /// @param _witnessingReward Amount of nanowits that every request-solving witness will be rewarded with.\n    /// @param _witnessingUnitaryFee Amount of nanowits that will be earned by Witnet miners for each each valid \n    /// commit/reveal transaction they include in a block.\n    function setWitnessingFees(uint64 _witnessingReward, uint64 _witnessingUnitaryFee)\n        public\n        virtual\n        onlyOwner\n    {\n        WitnetRequestWitnessingParams storage _params = _request().params;\n        _params.witnessingReward = _witnessingReward;\n        _params.witnessingUnitaryFee = _witnessingUnitaryFee;\n        _malleateBytecode(\n            _params.numWitnesses,\n            _params.minWitnessingConsensus,\n            _params.witnessingCollateral,\n            _witnessingReward,\n            _witnessingUnitaryFee\n        );\n    }\n\n    /// Sets how many Witnet nodes will be \"hired\" for resolving the request.\n    /// @param _numWitnesses Number of witnesses required to be involved for solving this Witnet Data Request.\n    /// @param _minWitnessingConsensus Threshold percentage for aborting resolution of a request if the witnessing \n    /// nodes did not arrive to a broad consensus.\n    function setWitnessingQuorum(uint8 _numWitnesses, uint8 _minWitnessingConsensus)\n        public\n        virtual\n        onlyOwner\n    {\n        WitnetRequestWitnessingParams storage _params = _request().params;\n        _params.numWitnesses = _numWitnesses;\n        _params.minWitnessingConsensus = _minWitnessingConsensus;\n        _malleateBytecode(\n            _numWitnesses,\n            _minWitnessingConsensus,\n            _params.witnessingCollateral,\n            _params.witnessingReward,\n            _params.witnessingUnitaryFee\n        );\n    }\n\n    /// Returns immutable template bytecode: actual CBOR-encoded data request at the Witnet protocol\n    /// level, including no witnessing parameters at all.\n    function template()\n        external view\n        returns (bytes memory)\n    {\n        return _request().template;\n    }\n\n    /// Returns total amount of nanowits that witnessing nodes will need to collateralize all together.\n    function totalWitnessingCollateral()\n        external view\n        returns (uint128)\n    {\n        WitnetRequestWitnessingParams storage _params = _request().params;\n        return _params.numWitnesses * _params.witnessingCollateral;\n    }\n\n    /// Returns total amount of nanowits that will have to be paid in total for this request to be solved.\n    function totalWitnessingFee()\n        external view\n        returns (uint128)\n    {\n        WitnetRequestWitnessingParams storage _params = _request().params;\n        return _params.numWitnesses * (2 * _params.witnessingUnitaryFee + _params.witnessingReward);\n    }\n\n    /// Returns witnessing parameters of current Witnet Data Request.\n    function witnessingParams()\n        external view\n        returns (WitnetRequestWitnessingParams memory)\n    {\n        return _request().params;\n    }\n\n\n    // ================================================================================================================\n    // --- 'Clonable' overriden functions -----------------------------------------------------------------------------\n\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract\n    /// behaviour while using its own EVM storage.\n    /// @dev This function should always provide a new address, no matter how many times \n    /// @dev is actually called from the same `msg.sender`.\n    function clone()\n        public\n        virtual override\n        returns (Clonable _instance)\n    {\n        _instance = super.clone();\n        _instance.initialize(_request().template);\n        Ownable(address(_instance)).transferOwnership(msg.sender);\n    }\n\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract \n    /// behaviour while using its own EVM storage.\n    /// @dev This function uses the CREATE2 opcode and a `_salt` to deterministically deploy\n    /// @dev the clone. Using the same `_salt` multiple time will revert, since\n    /// @dev no contract can be deployed more than once at the same address.\n    function cloneDeterministic(bytes32 _salt)\n        public\n        virtual override\n        returns (Clonable _instance)\n    {\n        _instance = super.cloneDeterministic(_salt);\n        _instance.initialize(_request().template);\n        Ownable(address(_instance)).transferOwnership(msg.sender);\n    }\n\n\n    // ================================================================================================================\n    // --- 'Initializable' overriden functions ------------------------------------------------------------------------\n\n    /// @dev Initializes contract's storage context.\n    function initialize(bytes memory _template)\n        public\n        virtual override\n    {\n        require(_request().template.length == 0, \"WitnetRequestMalleableBase: already initialized\");\n        _initialize(_template);\n        _transferOwnership(_msgSender());\n    }\n\n    // ================================================================================================================\n    // --- 'Ownable' overriden functions ------------------------------------------------------------------------------\n\n    /// Returns the address of the current owner.\n    function owner()\n        public view\n        virtual override\n        returns (address)\n    {\n        return _request().owner;\n    }\n\n    /// @dev Transfers ownership of the contract to a new account (`newOwner`).\n    function _transferOwnership(address newOwner)\n        internal\n        virtual override\n    {\n        address oldOwner = _request().owner;\n        _request().owner = newOwner;\n        emit OwnershipTransferred(oldOwner, newOwner);\n    }\n\n    // ================================================================================================================\n    // --- 'Proxiable 'overriden functions ----------------------------------------------------------------------------\n\n    /// @dev Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1822.\n    function proxiableUUID()\n        external pure\n        virtual override\n        returns (bytes32)\n    {\n        return (\n            /* keccak256(\"io.witnet.requests.malleable\") */\n            0x851d0a92a3ad30295bef33afc69d6874779826b7789386b336e22621365ed2c2\n        );\n    }\n\n\n    // ================================================================================================================\n    // --- INTERNAL FUNCTIONS -----------------------------------------------------------------------------------------    \n\n    /// @dev Initializes witnessing params and template bytecode.\n    function _initialize(bytes memory _template)\n        internal\n    {\n        assert(_template.length > 0);\n        _request().template = _template;\n\n        WitnetRequestWitnessingParams storage _params = _request().params;\n        _params.numWitnesses = 2;\n        _params.minWitnessingConsensus = 51;\n        _params.witnessingCollateral = 10 ** 9;      // 1 WIT\n        _params.witnessingReward = 5 * 10 ** 5;      // 0.5 milliWITs\n        _params.witnessingUnitaryFee = 25 * 10 ** 4; // 0.25 milliWITs\n        \n        _malleateBytecode(\n            _params.numWitnesses,\n            _params.minWitnessingConsensus,\n            _params.witnessingCollateral,\n            _params.witnessingReward,\n            _params.witnessingUnitaryFee\n        );\n    }\n\n    /// @dev Serializes new `bytecode` by combining immutable template with given parameters.\n    function _malleateBytecode(\n            uint8 _numWitnesses,\n            uint8 _minWitnessingConsensus,\n            uint64 _witnessingCollateral,\n            uint64 _witnessingReward,\n            uint64 _witnessingUnitaryFee\n        )\n        internal\n        virtual\n    {\n        require(\n            _witnessingReward > 0,\n            \"WitnetRequestMalleableBase: no reward\"\n        );\n        require(\n            _numWitnesses >= 1 && _numWitnesses <= 127,\n            \"WitnetRequestMalleableBase: number of witnesses out of range\"\n        );\n        require(\n            _minWitnessingConsensus >= 51 && _minWitnessingConsensus <= 99,\n            \"WitnetRequestMalleableBase: witnessing consensus out of range\"\n        );\n        require(\n            _witnessingCollateral >= 10 ** 9,\n            \"WitnetRequestMalleableBase: witnessing collateral below 1 WIT\"\n        );\n\n        _request().bytecode = abi.encodePacked(\n            _request().template,\n            _uint64varint(bytes1(0x10), _witnessingReward),\n            _uint8varint(bytes1(0x18), _numWitnesses),\n            _uint64varint(0x20, _witnessingUnitaryFee),\n            _uint8varint(0x28, _minWitnessingConsensus),\n            _uint64varint(0x30, _witnessingCollateral)\n        );\n        _request().hash = _request().bytecode.hash();\n        emit WitnessingParamsChanged(\n            msg.sender,\n            _numWitnesses,\n            _minWitnessingConsensus,\n            _witnessingCollateral,\n            _witnessingReward,\n            _witnessingUnitaryFee\n        );\n    }\n\n    /// @dev Returns pointer to storage slot where State struct is located.\n    function _request()\n        internal pure\n        virtual\n        returns (WitnetRequestMalleableBaseContext storage _ptr)\n    {\n        assembly {\n            _ptr.slot :=\n                /* keccak256(\"io.witnet.requests.malleable.context\") */\n                0x375930152e1d0d102998be6e496b0cee86c9ecd0efef01014ecff169b17dfba7\n        }\n    }\n\n    /// @dev Encode uint64 into tagged varint.\n    /// @dev See https://developers.google.com/protocol-buffers/docs/encoding#varints.\n    /// @param t Tag\n    /// @param n Number\n    /// @return Marshaled bytes\n    function _uint64varint(bytes1 t, uint64 n)\n        internal pure\n        returns (bytes memory)\n    {\n        // Count the number of groups of 7 bits\n        // We need this pre-processing step since Solidity doesn't allow dynamic memory resizing\n        uint64 tmp = n;\n        uint64 numBytes = 2;\n        while (tmp > 0x7F) {\n            tmp = tmp >> 7;\n            numBytes += 1;\n        }\n        bytes memory buf = new bytes(numBytes);\n        tmp = n;\n        buf[0] = t;\n        for (uint64 i = 1; i < numBytes; i++) {\n            // Set the first bit in the byte for each group of 7 bits\n            buf[i] = bytes1(0x80 | uint8(tmp & 0x7F));\n            tmp = tmp >> 7;\n        }\n        // Unset the first bit of the last byte\n        buf[numBytes - 1] &= 0x7F;\n        return buf;\n    }\n\n    /// @dev Encode uint8 into tagged varint.\n    /// @param t Tag\n    /// @param n Number\n    /// @return Marshaled bytes\n    function _uint8varint(bytes1 t, uint8 n)\n        internal pure\n        returns (bytes memory)\n    {\n        return _uint64varint(t, uint64(n));\n    }\n}\n"},"witnet-solidity-bridge/contracts/requests/WitnetRequestRandomness.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\n\nimport \"./WitnetRequestMalleableBase.sol\";\n\ncontract WitnetRequestRandomness is WitnetRequestMalleableBase {\n    bytes internal constant _WITNET_RANDOMNESS_BYTECODE_TEMPLATE = hex\"0a0f120508021a01801a0210022202100b\";\n\n    constructor() {\n        initialize(bytes(\"\"));\n    }\n\n    function initialize(bytes memory)\n        public\n        virtual override\n    {\n        super.initialize(_WITNET_RANDOMNESS_BYTECODE_TEMPLATE);\n    }\n}\n"},"witnet-solidity-bridge/contracts/UsingWitnet.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport \"./WitnetRequestBoard.sol\";\n\n/// @title The UsingWitnet contract\n/// @dev Witnet-aware contracts can inherit from this contract in order to interact with Witnet.\n/// @author The Witnet Foundation.\nabstract contract UsingWitnet {\n\n    WitnetRequestBoard public immutable witnet;\n\n    /// Include an address to specify the WitnetRequestBoard entry point address.\n    /// @param _wrb The WitnetRequestBoard entry point address.\n    constructor(WitnetRequestBoard _wrb)\n    {\n        require(address(_wrb) != address(0), \"UsingWitnet: zero address\");\n        witnet = _wrb;\n    }\n\n    /// Provides a convenient way for client contracts extending this to block the execution of the main logic of the\n    /// contract until a particular request has been successfully solved and reported by Witnet.\n    modifier witnetRequestSolved(uint256 _id) {\n        require(\n                _witnetCheckResultAvailability(_id),\n                \"UsingWitnet: request not solved\"\n            );\n        _;\n    }\n\n    /// Check if a data request has been solved and reported by Witnet.\n    /// @dev Contracts depending on Witnet should not start their main business logic (e.g. receiving value from third.\n    /// parties) before this method returns `true`.\n    /// @param _id The unique identifier of a previously posted data request.\n    /// @return A boolean telling if the request has been already resolved or not. Returns `false` also, if the result was deleted.\n    function _witnetCheckResultAvailability(uint256 _id)\n        internal view\n        virtual\n        returns (bool)\n    {\n        return witnet.getQueryStatus(_id) == Witnet.QueryStatus.Reported;\n    }\n\n    /// Estimate the reward amount.\n    /// @param _gasPrice The gas price for which we want to retrieve the estimation.\n    /// @return The reward to be included when either posting a new request, or upgrading the reward of a previously posted one.\n    function _witnetEstimateReward(uint256 _gasPrice)\n        internal view\n        virtual\n        returns (uint256)\n    {\n        return witnet.estimateReward(_gasPrice);\n    }\n\n    /// Estimates the reward amount, considering current transaction gas price.\n    /// @return The reward to be included when either posting a new request, or upgrading the reward of a previously posted one.\n    function _witnetEstimateReward()\n        internal view\n        virtual\n        returns (uint256)\n    {\n        return witnet.estimateReward(tx.gasprice);\n    }\n\n    /// Send a new request to the Witnet network with transaction value as a reward.\n    /// @param _request An instance of `IWitnetRequest` contract.\n    /// @return _id Sequential identifier for the request included in the WitnetRequestBoard.\n    /// @return _reward Current reward amount escrowed by the WRB until a result gets reported.\n    function _witnetPostRequest(IWitnetRequest _request)\n        internal\n        virtual\n        returns (uint256 _id, uint256 _reward)\n    {\n        _reward = _witnetEstimateReward();\n        require(\n            _reward <= msg.value,\n            \"UsingWitnet: reward too low\"\n        );\n        _id = witnet.postRequest{value: _reward}(_request);\n    }\n\n    /// Upgrade the reward for a previously posted request.\n    /// @dev Call to `upgradeReward` function in the WitnetRequestBoard contract.\n    /// @param _id The unique identifier of a request that has been previously sent to the WitnetRequestBoard.\n    /// @return Amount in which the reward has been increased.\n    function _witnetUpgradeReward(uint256 _id)\n        internal\n        virtual\n        returns (uint256)\n    {\n        uint256 _currentReward = witnet.readRequestReward(_id);        \n        uint256 _newReward = _witnetEstimateReward();\n        uint256 _fundsToAdd = 0;\n        if (_newReward > _currentReward) {\n            _fundsToAdd = (_newReward - _currentReward);\n        }\n        witnet.upgradeReward{value: _fundsToAdd}(_id); // Let Request.gasPrice be updated\n        return _fundsToAdd;\n    }\n\n    /// Read the Witnet-provided result to a previously posted request.\n    /// @param _id The unique identifier of a request that was posted to Witnet.\n    /// @return The result of the request as an instance of `Witnet.Result`.\n    function _witnetReadResult(uint256 _id)\n        internal view\n        virtual\n        returns (Witnet.Result memory)\n    {\n        return witnet.readResponseResult(_id);\n    }\n\n    /// Retrieves copy of all response data related to a previously posted request, removing the whole query from storage.\n    /// @param _id The unique identifier of a previously posted request.\n    /// @return The Witnet-provided result to the request.\n    function _witnetDeleteQuery(uint256 _id)\n        internal\n        virtual\n        returns (Witnet.Response memory)\n    {\n        return witnet.deleteQuery(_id);\n    }\n\n}\n"},"witnet-solidity-bridge/contracts/WitnetRequestBoard.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport \"./interfaces/IWitnetRequestBoardEvents.sol\";\nimport \"./interfaces/IWitnetRequestBoardReporter.sol\";\nimport \"./interfaces/IWitnetRequestBoardRequestor.sol\";\nimport \"./interfaces/IWitnetRequestBoardView.sol\";\nimport \"./interfaces/IWitnetRequestParser.sol\";\n\n/// @title Witnet Request Board functionality base contract.\n/// @author The Witnet Foundation.\nabstract contract WitnetRequestBoard is\n    IWitnetRequestBoardEvents,\n    IWitnetRequestBoardReporter,\n    IWitnetRequestBoardRequestor,\n    IWitnetRequestBoardView,\n    IWitnetRequestParser\n{\n    receive() external payable {\n        revert(\"WitnetRequestBoard: no transfers accepted\");\n    }\n}\n"}},"settings":{"optimizer":{"enabled":false,"runs":200},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata","devdoc","userdoc","storageLayout","evm.gasEstimates"],"":["ast"]}},"metadata":{"useLiteralContent":true}}},"output":{"errors":[{"component":"general","errorCode":"6321","formattedMessage":"Warning: Unnamed return variable can remain unassigned. Add an explicit return with value to all non-reverting code paths or name the variable.\n  --> contracts/KeepersCounter.sol:45:7:\n   |\n45 |       bytes memory /* performData */\n   |       ^^^^^^^^^^^^\n\n","message":"Unnamed return variable can remain unassigned. Add an explicit return with value to all non-reverting code paths or name the variable.","severity":"warning","sourceLocation":{"end":1122,"file":"contracts/KeepersCounter.sol","start":1110},"type":"Warning"},{"component":"general","errorCode":"5667","formattedMessage":"Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n   --> @chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol:306:45:\n    |\n306 |   function requestSubscriptionOwnerTransfer(uint64 _subId, address _newOwner) external pure override {\n    |                                             ^^^^^^^^^^^^^\n\n","message":"Unused function parameter. Remove or comment out the variable name to silence this warning.","severity":"warning","sourceLocation":{"end":9040,"file":"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol","start":9027},"type":"Warning"},{"component":"general","errorCode":"5667","formattedMessage":"Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n   --> @chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol:306:60:\n    |\n306 |   function requestSubscriptionOwnerTransfer(uint64 _subId, address _newOwner) external pure override {\n    |                                                            ^^^^^^^^^^^^^^^^^\n\n","message":"Unused function parameter. Remove or comment out the variable name to silence this warning.","severity":"warning","sourceLocation":{"end":9059,"file":"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol","start":9042},"type":"Warning"},{"component":"general","errorCode":"5667","formattedMessage":"Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n   --> @chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol:310:44:\n    |\n310 |   function acceptSubscriptionOwnerTransfer(uint64 _subId) external pure override {\n    |                                            ^^^^^^^^^^^^^\n\n","message":"Unused function parameter. Remove or comment out the variable name to silence this warning.","severity":"warning","sourceLocation":{"end":9178,"file":"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol","start":9165},"type":"Warning"},{"component":"general","errorCode":"5667","formattedMessage":"Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n   --> @chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol:314:33:\n    |\n314 |   function pendingRequestExists(uint64 subId) public view override returns (bool) {\n    |                                 ^^^^^^^^^^^^\n\n","message":"Unused function parameter. Remove or comment out the variable name to silence this warning.","severity":"warning","sourceLocation":{"end":9285,"file":"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol","start":9273},"type":"Warning"},{"component":"general","errorCode":"2072","formattedMessage":"Warning: Unused local variable.\n  --> contracts/PriceConsumerV3.sol:44:13:\n   |\n44 |             uint80 roundID,\n   |             ^^^^^^^^^^^^^^\n\n","message":"Unused local variable.","severity":"warning","sourceLocation":{"end":1308,"file":"contracts/PriceConsumerV3.sol","start":1294},"type":"Warning"},{"component":"general","errorCode":"2072","formattedMessage":"Warning: Unused local variable.\n  --> contracts/PriceConsumerV3.sol:46:13:\n   |\n46 |             uint256 startedAt,\n   |             ^^^^^^^^^^^^^^^^^\n\n","message":"Unused local variable.","severity":"warning","sourceLocation":{"end":1365,"file":"contracts/PriceConsumerV3.sol","start":1348},"type":"Warning"},{"component":"general","errorCode":"2072","formattedMessage":"Warning: Unused local variable.\n  --> contracts/PriceConsumerV3.sol:47:13:\n   |\n47 |             uint256 timeStamp,\n   |             ^^^^^^^^^^^^^^^^^\n\n","message":"Unused local variable.","severity":"warning","sourceLocation":{"end":1396,"file":"contracts/PriceConsumerV3.sol","start":1379},"type":"Warning"},{"component":"general","errorCode":"2072","formattedMessage":"Warning: Unused local variable.\n  --> contracts/PriceConsumerV3.sol:48:13:\n   |\n48 |             uint80 answeredInRound\n   |             ^^^^^^^^^^^^^^^^^^^^^^\n\n","message":"Unused local variable.","severity":"warning","sourceLocation":{"end":1432,"file":"contracts/PriceConsumerV3.sol","start":1410},"type":"Warning"},{"component":"general","errorCode":"5667","formattedMessage":"Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n  --> contracts/RandomNumberConsumerV2.sol:87:31:\n   |\n87 |   function fulfillRandomWords(uint256 requestId, uint256[] memory randomWords) internal override {\n   |                               ^^^^^^^^^^^^^^^^^\n\n","message":"Unused function parameter. Remove or comment out the variable name to silence this warning.","severity":"warning","sourceLocation":{"end":3090,"file":"contracts/RandomNumberConsumerV2.sol","start":3073},"type":"Warning"},{"component":"general","errorCode":"5667","formattedMessage":"Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/test/MockWitnetRouter.sol:5:23:\n  |\n5 |     function valueFor(bytes32 _id) public view returns (int256,uint256,uint256) {\n  |                       ^^^^^^^^^^^\n\n","message":"Unused function parameter. Remove or comment out the variable name to silence this warning.","severity":"warning","sourceLocation":{"end":125,"file":"contracts/test/MockWitnetRouter.sol","start":114},"type":"Warning"},{"component":"general","errorCode":"2018","formattedMessage":"Warning: Function state mutability can be restricted to pure\n   --> @chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol:261:3:\n    |\n261 |   function getConfig()\n    |   ^ (Relevant source part starts here and spans across multiple lines).\n\n","message":"Function state mutability can be restricted to pure","severity":"warning","sourceLocation":{"end":8266,"file":"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol","start":8016},"type":"Warning"},{"component":"general","errorCode":"2018","formattedMessage":"Warning: Function state mutability can be restricted to pure\n   --> @chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol:274:3:\n    |\n274 |   function getFeeConfig()\n    |   ^ (Relevant source part starts here and spans across multiple lines).\n\n","message":"Function state mutability can be restricted to pure","severity":"warning","sourceLocation":{"end":8860,"file":"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol","start":8270},"type":"Warning"},{"component":"general","errorCode":"2018","formattedMessage":"Warning: Function state mutability can be restricted to pure\n   --> @chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol:302:3:\n    |\n302 |   function getFallbackWeiPerUnitLink() external view returns (int256) {\n    |   ^ (Relevant source part starts here and spans across multiple lines).\n\n","message":"Function state mutability can be restricted to pure","severity":"warning","sourceLocation":{"end":8981,"file":"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol","start":8864},"type":"Warning"},{"component":"general","errorCode":"2018","formattedMessage":"Warning: Function state mutability can be restricted to pure\n   --> @chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol:314:3:\n    |\n314 |   function pendingRequestExists(uint64 subId) public view override returns (bool) {\n    |   ^ (Relevant source part starts here and spans across multiple lines).\n\n","message":"Function state mutability can be restricted to pure","severity":"warning","sourceLocation":{"end":9359,"file":"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol","start":9243},"type":"Warning"},{"component":"general","errorCode":"2018","formattedMessage":"Warning: Function state mutability can be restricted to pure\n --> contracts/test/MockWitnetRouter.sol:5:5:\n  |\n5 |     function valueFor(bytes32 _id) public view returns (int256,uint256,uint256) {\n  |     ^ (Relevant source part starts here and spans across multiple lines).\n\n","message":"Function state mutability can be restricted to pure","severity":"warning","sourceLocation":{"end":208,"file":"contracts/test/MockWitnetRouter.sol","start":96},"type":"Warning"},{"component":"general","errorCode":"5574","formattedMessage":"Warning: Contract code size exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.\n  --> witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableDefault.sol:16:1:\n   |\n16 | contract WitnetRequestBoardTrustableDefault\n   | ^ (Relevant source part starts here and spans across multiple lines).\n\n","message":"Contract code size exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.","severity":"warning","sourceLocation":{"end":2936,"file":"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableDefault.sol","start":614},"type":"Warning"}],"sources":{"@chainlink/contracts/src/v0.8/Chainlink.sol":{"ast":{"absolutePath":"@chainlink/contracts/src/v0.8/Chainlink.sol","exportedSymbols":{"BufferChainlink":[2800],"CBORChainlink":[3247],"Chainlink":[268]},"id":269,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:0"},{"absolutePath":"@chainlink/contracts/src/v0.8/vendor/CBORChainlink.sol","file":"./vendor/CBORChainlink.sol","id":3,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":269,"sourceUnit":3248,"src":"57:57:0","symbolAliases":[{"foreign":{"id":2,"name":"CBORChainlink","nodeType":"Identifier","overloadedDeclarations":[],"src":"65:13:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@chainlink/contracts/src/v0.8/vendor/BufferChainlink.sol","file":"./vendor/BufferChainlink.sol","id":5,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":269,"sourceUnit":2801,"src":"115:61:0","symbolAliases":[{"foreign":{"id":4,"name":"BufferChainlink","nodeType":"Identifier","overloadedDeclarations":[],"src":"123:15:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"library","documentation":{"id":6,"nodeType":"StructuredDocumentation","src":"178:114:0","text":" @title Library for common Chainlink functions\n @dev Uses imported CBOR library for encoding to buffer"},"fullyImplemented":true,"id":268,"linearizedBaseContracts":[268],"name":"Chainlink","nameLocation":"301:9:0","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":9,"mutability":"constant","name":"defaultBufferSize","nameLocation":"341:17:0","nodeType":"VariableDeclaration","scope":268,"src":"315:49:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7,"name":"uint256","nodeType":"ElementaryTypeName","src":"315:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"323536","id":8,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"361:3:0","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"visibility":"internal"},{"id":13,"libraryName":{"id":10,"name":"CBORChainlink","nodeType":"IdentifierPath","referencedDeclaration":3247,"src":"420:13:0"},"nodeType":"UsingForDirective","src":"414:47:0","typeName":{"id":12,"nodeType":"UserDefinedTypeName","pathNode":{"id":11,"name":"BufferChainlink.buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"438:22:0"},"referencedDeclaration":2286,"src":"438:22:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}}},{"canonicalName":"Chainlink.Request","id":25,"members":[{"constant":false,"id":15,"mutability":"mutable","name":"id","nameLocation":"494:2:0","nodeType":"VariableDeclaration","scope":25,"src":"486:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14,"name":"bytes32","nodeType":"ElementaryTypeName","src":"486:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":17,"mutability":"mutable","name":"callbackAddress","nameLocation":"510:15:0","nodeType":"VariableDeclaration","scope":25,"src":"502:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16,"name":"address","nodeType":"ElementaryTypeName","src":"502:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19,"mutability":"mutable","name":"callbackFunctionId","nameLocation":"538:18:0","nodeType":"VariableDeclaration","scope":25,"src":"531:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":18,"name":"bytes4","nodeType":"ElementaryTypeName","src":"531:6:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":21,"mutability":"mutable","name":"nonce","nameLocation":"570:5:0","nodeType":"VariableDeclaration","scope":25,"src":"562:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20,"name":"uint256","nodeType":"ElementaryTypeName","src":"562:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24,"mutability":"mutable","name":"buf","nameLocation":"604:3:0","nodeType":"VariableDeclaration","scope":25,"src":"581:26:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":23,"nodeType":"UserDefinedTypeName","pathNode":{"id":22,"name":"BufferChainlink.buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"581:22:0"},"referencedDeclaration":2286,"src":"581:22:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"}],"name":"Request","nameLocation":"472:7:0","nodeType":"StructDefinition","scope":268,"src":"465:147:0","visibility":"public"},{"body":{"id":69,"nodeType":"Block","src":"1155:183:0","statements":[{"expression":{"arguments":[{"expression":{"id":44,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29,"src":"1182:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":45,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":24,"src":"1182:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"id":46,"name":"defaultBufferSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9,"src":"1192:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":41,"name":"BufferChainlink","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2800,"src":"1161:15:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_BufferChainlink_$2800_$","typeString":"type(library BufferChainlink)"}},"id":43,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"init","nodeType":"MemberAccess","referencedDeclaration":2324,"src":"1161:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint256_$returns$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,uint256) pure returns (struct BufferChainlink.buffer memory)"}},"id":47,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1161:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":48,"nodeType":"ExpressionStatement","src":"1161:49:0"},{"expression":{"id":53,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":49,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29,"src":"1216:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":51,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"id","nodeType":"MemberAccess","referencedDeclaration":15,"src":"1216:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":52,"name":"jobId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31,"src":"1226:5:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1216:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":54,"nodeType":"ExpressionStatement","src":"1216:15:0"},{"expression":{"id":59,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":55,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29,"src":"1237:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":57,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"callbackAddress","nodeType":"MemberAccess","referencedDeclaration":17,"src":"1237:20:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":58,"name":"callbackAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33,"src":"1260:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1237:35:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":60,"nodeType":"ExpressionStatement","src":"1237:35:0"},{"expression":{"id":65,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29,"src":"1278:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":63,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"callbackFunctionId","nodeType":"MemberAccess","referencedDeclaration":19,"src":"1278:23:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":64,"name":"callbackFunc","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35,"src":"1304:12:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"1278:38:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":66,"nodeType":"ExpressionStatement","src":"1278:38:0"},{"expression":{"id":67,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29,"src":"1329:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"functionReturnParameters":40,"id":68,"nodeType":"Return","src":"1322:11:0"}]},"documentation":{"id":26,"nodeType":"StructuredDocumentation","src":"616:368:0","text":" @notice Initializes a Chainlink request\n @dev Sets the ID, callback address, and callback function signature on the request\n @param self The uninitialized request\n @param jobId The Job Specification ID\n @param callbackAddr The callback address\n @param callbackFunc The callback function signature\n @return The initialized request"},"id":70,"implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"996:10:0","nodeType":"FunctionDefinition","parameters":{"id":36,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29,"mutability":"mutable","name":"self","nameLocation":"1027:4:0","nodeType":"VariableDeclaration","scope":70,"src":"1012:19:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request"},"typeName":{"id":28,"nodeType":"UserDefinedTypeName","pathNode":{"id":27,"name":"Request","nodeType":"IdentifierPath","referencedDeclaration":25,"src":"1012:7:0"},"referencedDeclaration":25,"src":"1012:7:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_storage_ptr","typeString":"struct Chainlink.Request"}},"visibility":"internal"},{"constant":false,"id":31,"mutability":"mutable","name":"jobId","nameLocation":"1045:5:0","nodeType":"VariableDeclaration","scope":70,"src":"1037:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1037:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33,"mutability":"mutable","name":"callbackAddr","nameLocation":"1064:12:0","nodeType":"VariableDeclaration","scope":70,"src":"1056:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32,"name":"address","nodeType":"ElementaryTypeName","src":"1056:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35,"mutability":"mutable","name":"callbackFunc","nameLocation":"1089:12:0","nodeType":"VariableDeclaration","scope":70,"src":"1082:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":34,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1082:6:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1006:99:0"},"returnParameters":{"id":40,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70,"src":"1129:24:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request"},"typeName":{"id":38,"nodeType":"UserDefinedTypeName","pathNode":{"id":37,"name":"Chainlink.Request","nodeType":"IdentifierPath","referencedDeclaration":25,"src":"1129:17:0"},"referencedDeclaration":25,"src":"1129:17:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_storage_ptr","typeString":"struct Chainlink.Request"}},"visibility":"internal"}],"src":"1128:26:0"},"scope":268,"src":"987:351:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":96,"nodeType":"Block","src":"1648:98:0","statements":[{"expression":{"arguments":[{"expression":{"id":82,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"1675:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":83,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":24,"src":"1675:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"expression":{"id":84,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76,"src":"1685:4:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":85,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1685:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":79,"name":"BufferChainlink","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2800,"src":"1654:15:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_BufferChainlink_$2800_$","typeString":"type(library BufferChainlink)"}},"id":81,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"init","nodeType":"MemberAccess","referencedDeclaration":2324,"src":"1654:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint256_$returns$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,uint256) pure returns (struct BufferChainlink.buffer memory)"}},"id":86,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1654:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":87,"nodeType":"ExpressionStatement","src":"1654:43:0"},{"expression":{"arguments":[{"expression":{"id":91,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"1726:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":92,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":24,"src":"1726:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"id":93,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76,"src":"1736:4:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":88,"name":"BufferChainlink","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2800,"src":"1703:15:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_BufferChainlink_$2800_$","typeString":"type(library BufferChainlink)"}},"id":90,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"append","nodeType":"MemberAccess","referencedDeclaration":2543,"src":"1703:22:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,bytes memory) pure returns (struct BufferChainlink.buffer memory)"}},"id":94,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1703:38:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":95,"nodeType":"ExpressionStatement","src":"1703:38:0"}]},"documentation":{"id":71,"nodeType":"StructuredDocumentation","src":"1342:230:0","text":" @notice Sets the data for the buffer without encoding CBOR on-chain\n @dev CBOR can be closed with curly-brackets {} or they can be left off\n @param self The initialized request\n @param data The CBOR data"},"id":97,"implemented":true,"kind":"function","modifiers":[],"name":"setBuffer","nameLocation":"1584:9:0","nodeType":"FunctionDefinition","parameters":{"id":77,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74,"mutability":"mutable","name":"self","nameLocation":"1609:4:0","nodeType":"VariableDeclaration","scope":97,"src":"1594:19:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request"},"typeName":{"id":73,"nodeType":"UserDefinedTypeName","pathNode":{"id":72,"name":"Request","nodeType":"IdentifierPath","referencedDeclaration":25,"src":"1594:7:0"},"referencedDeclaration":25,"src":"1594:7:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_storage_ptr","typeString":"struct Chainlink.Request"}},"visibility":"internal"},{"constant":false,"id":76,"mutability":"mutable","name":"data","nameLocation":"1628:4:0","nodeType":"VariableDeclaration","scope":97,"src":"1615:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":75,"name":"bytes","nodeType":"ElementaryTypeName","src":"1615:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1593:40:0"},"returnParameters":{"id":78,"nodeType":"ParameterList","parameters":[],"src":"1648:0:0"},"scope":268,"src":"1575:171:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":124,"nodeType":"Block","src":"2055:71:0","statements":[{"expression":{"arguments":[{"id":113,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103,"src":"2083:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"expression":{"id":108,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101,"src":"2061:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":111,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":24,"src":"2061:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":112,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"encodeString","nodeType":"MemberAccess","referencedDeclaration":3210,"src":"2061:21:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_string_memory_ptr_$returns$__$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,string memory) pure"}},"id":114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2061:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":115,"nodeType":"ExpressionStatement","src":"2061:26:0"},{"expression":{"arguments":[{"id":121,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"2115:5:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"expression":{"id":116,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101,"src":"2093:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":119,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":24,"src":"2093:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":120,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"encodeString","nodeType":"MemberAccess","referencedDeclaration":3210,"src":"2093:21:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_string_memory_ptr_$returns$__$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,string memory) pure"}},"id":122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2093:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":123,"nodeType":"ExpressionStatement","src":"2093:28:0"}]},"documentation":{"id":98,"nodeType":"StructuredDocumentation","src":"1750:198:0","text":" @notice Adds a string value to the request with a given key name\n @param self The initialized request\n @param key The name of the key\n @param value The string value to add"},"id":125,"implemented":true,"kind":"function","modifiers":[],"name":"add","nameLocation":"1960:3:0","nodeType":"FunctionDefinition","parameters":{"id":106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101,"mutability":"mutable","name":"self","nameLocation":"1984:4:0","nodeType":"VariableDeclaration","scope":125,"src":"1969:19:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request"},"typeName":{"id":100,"nodeType":"UserDefinedTypeName","pathNode":{"id":99,"name":"Request","nodeType":"IdentifierPath","referencedDeclaration":25,"src":"1969:7:0"},"referencedDeclaration":25,"src":"1969:7:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_storage_ptr","typeString":"struct Chainlink.Request"}},"visibility":"internal"},{"constant":false,"id":103,"mutability":"mutable","name":"key","nameLocation":"2008:3:0","nodeType":"VariableDeclaration","scope":125,"src":"1994:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":102,"name":"string","nodeType":"ElementaryTypeName","src":"1994:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":105,"mutability":"mutable","name":"value","nameLocation":"2031:5:0","nodeType":"VariableDeclaration","scope":125,"src":"2017:19:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":104,"name":"string","nodeType":"ElementaryTypeName","src":"2017:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1963:77:0"},"returnParameters":{"id":107,"nodeType":"ParameterList","parameters":[],"src":"2055:0:0"},"scope":268,"src":"1951:175:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":152,"nodeType":"Block","src":"2437:70:0","statements":[{"expression":{"arguments":[{"id":141,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":131,"src":"2465:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"expression":{"id":136,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129,"src":"2443:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":139,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":24,"src":"2443:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":140,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"encodeString","nodeType":"MemberAccess","referencedDeclaration":3210,"src":"2443:21:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_string_memory_ptr_$returns$__$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,string memory) pure"}},"id":142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2443:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":143,"nodeType":"ExpressionStatement","src":"2443:26:0"},{"expression":{"arguments":[{"id":149,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":133,"src":"2496:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"expression":{"id":144,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129,"src":"2475:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":147,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":24,"src":"2475:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":148,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"encodeBytes","nodeType":"MemberAccess","referencedDeclaration":3111,"src":"2475:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_bytes_memory_ptr_$returns$__$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,bytes memory) pure"}},"id":150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2475:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":151,"nodeType":"ExpressionStatement","src":"2475:27:0"}]},"documentation":{"id":126,"nodeType":"StructuredDocumentation","src":"2130:196:0","text":" @notice Adds a bytes value to the request with a given key name\n @param self The initialized request\n @param key The name of the key\n @param value The bytes value to add"},"id":153,"implemented":true,"kind":"function","modifiers":[],"name":"addBytes","nameLocation":"2338:8:0","nodeType":"FunctionDefinition","parameters":{"id":134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":129,"mutability":"mutable","name":"self","nameLocation":"2367:4:0","nodeType":"VariableDeclaration","scope":153,"src":"2352:19:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request"},"typeName":{"id":128,"nodeType":"UserDefinedTypeName","pathNode":{"id":127,"name":"Request","nodeType":"IdentifierPath","referencedDeclaration":25,"src":"2352:7:0"},"referencedDeclaration":25,"src":"2352:7:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_storage_ptr","typeString":"struct Chainlink.Request"}},"visibility":"internal"},{"constant":false,"id":131,"mutability":"mutable","name":"key","nameLocation":"2391:3:0","nodeType":"VariableDeclaration","scope":153,"src":"2377:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":130,"name":"string","nodeType":"ElementaryTypeName","src":"2377:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":133,"mutability":"mutable","name":"value","nameLocation":"2413:5:0","nodeType":"VariableDeclaration","scope":153,"src":"2400:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":132,"name":"bytes","nodeType":"ElementaryTypeName","src":"2400:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2346:76:0"},"returnParameters":{"id":135,"nodeType":"ParameterList","parameters":[],"src":"2437:0:0"},"scope":268,"src":"2329:178:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":180,"nodeType":"Block","src":"2812:68:0","statements":[{"expression":{"arguments":[{"id":169,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":159,"src":"2840:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"expression":{"id":164,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":157,"src":"2818:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":167,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":24,"src":"2818:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":168,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"encodeString","nodeType":"MemberAccess","referencedDeclaration":3210,"src":"2818:21:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_string_memory_ptr_$returns$__$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,string memory) pure"}},"id":170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2818:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171,"nodeType":"ExpressionStatement","src":"2818:26:0"},{"expression":{"arguments":[{"id":177,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"2869:5:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"expression":{"id":172,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":157,"src":"2850:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":175,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":24,"src":"2850:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":176,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"encodeInt","nodeType":"MemberAccess","referencedDeclaration":3086,"src":"2850:18:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_int256_$returns$__$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,int256) pure"}},"id":178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2850:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":179,"nodeType":"ExpressionStatement","src":"2850:25:0"}]},"documentation":{"id":154,"nodeType":"StructuredDocumentation","src":"2511:198:0","text":" @notice Adds a int256 value to the request with a given key name\n @param self The initialized request\n @param key The name of the key\n @param value The int256 value to add"},"id":181,"implemented":true,"kind":"function","modifiers":[],"name":"addInt","nameLocation":"2721:6:0","nodeType":"FunctionDefinition","parameters":{"id":162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":157,"mutability":"mutable","name":"self","nameLocation":"2748:4:0","nodeType":"VariableDeclaration","scope":181,"src":"2733:19:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request"},"typeName":{"id":156,"nodeType":"UserDefinedTypeName","pathNode":{"id":155,"name":"Request","nodeType":"IdentifierPath","referencedDeclaration":25,"src":"2733:7:0"},"referencedDeclaration":25,"src":"2733:7:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_storage_ptr","typeString":"struct Chainlink.Request"}},"visibility":"internal"},{"constant":false,"id":159,"mutability":"mutable","name":"key","nameLocation":"2772:3:0","nodeType":"VariableDeclaration","scope":181,"src":"2758:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":158,"name":"string","nodeType":"ElementaryTypeName","src":"2758:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":161,"mutability":"mutable","name":"value","nameLocation":"2788:5:0","nodeType":"VariableDeclaration","scope":181,"src":"2781:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":160,"name":"int256","nodeType":"ElementaryTypeName","src":"2781:6:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2727:70:0"},"returnParameters":{"id":163,"nodeType":"ParameterList","parameters":[],"src":"2812:0:0"},"scope":268,"src":"2712:168:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":208,"nodeType":"Block","src":"3189:69:0","statements":[{"expression":{"arguments":[{"id":197,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":187,"src":"3217:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"expression":{"id":192,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":185,"src":"3195:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":195,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":24,"src":"3195:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":196,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"encodeString","nodeType":"MemberAccess","referencedDeclaration":3210,"src":"3195:21:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_string_memory_ptr_$returns$__$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,string memory) pure"}},"id":198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3195:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":199,"nodeType":"ExpressionStatement","src":"3195:26:0"},{"expression":{"arguments":[{"id":205,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":189,"src":"3247:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":200,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":185,"src":"3227:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":203,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":24,"src":"3227:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":204,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"encodeUInt","nodeType":"MemberAccess","referencedDeclaration":3020,"src":"3227:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,uint256) pure"}},"id":206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3227:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":207,"nodeType":"ExpressionStatement","src":"3227:26:0"}]},"documentation":{"id":182,"nodeType":"StructuredDocumentation","src":"2884:200:0","text":" @notice Adds a uint256 value to the request with a given key name\n @param self The initialized request\n @param key The name of the key\n @param value The uint256 value to add"},"id":209,"implemented":true,"kind":"function","modifiers":[],"name":"addUint","nameLocation":"3096:7:0","nodeType":"FunctionDefinition","parameters":{"id":190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":185,"mutability":"mutable","name":"self","nameLocation":"3124:4:0","nodeType":"VariableDeclaration","scope":209,"src":"3109:19:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request"},"typeName":{"id":184,"nodeType":"UserDefinedTypeName","pathNode":{"id":183,"name":"Request","nodeType":"IdentifierPath","referencedDeclaration":25,"src":"3109:7:0"},"referencedDeclaration":25,"src":"3109:7:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_storage_ptr","typeString":"struct Chainlink.Request"}},"visibility":"internal"},{"constant":false,"id":187,"mutability":"mutable","name":"key","nameLocation":"3148:3:0","nodeType":"VariableDeclaration","scope":209,"src":"3134:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":186,"name":"string","nodeType":"ElementaryTypeName","src":"3134:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":189,"mutability":"mutable","name":"value","nameLocation":"3165:5:0","nodeType":"VariableDeclaration","scope":209,"src":"3157:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":188,"name":"uint256","nodeType":"ElementaryTypeName","src":"3157:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3103:71:0"},"returnParameters":{"id":191,"nodeType":"ParameterList","parameters":[],"src":"3189:0:0"},"scope":268,"src":"3087:171:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":266,"nodeType":"Block","src":"3597:188:0","statements":[{"expression":{"arguments":[{"id":226,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":215,"src":"3625:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"expression":{"id":221,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":213,"src":"3603:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":224,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":24,"src":"3603:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":225,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"encodeString","nodeType":"MemberAccess","referencedDeclaration":3210,"src":"3603:21:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_string_memory_ptr_$returns$__$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,string memory) pure"}},"id":227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3603:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":228,"nodeType":"ExpressionStatement","src":"3603:26:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":229,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":213,"src":"3635:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":232,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":24,"src":"3635:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":233,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"startArray","nodeType":"MemberAccess","referencedDeclaration":3222,"src":"3635:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$returns$__$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory) pure"}},"id":234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3635:21:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":235,"nodeType":"ExpressionStatement","src":"3635:21:0"},{"body":{"id":257,"nodeType":"Block","src":"3706:47:0","statements":[{"expression":{"arguments":[{"baseExpression":{"id":252,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"3736:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":254,"indexExpression":{"id":253,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":237,"src":"3743:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3736:9:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"expression":{"id":247,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":213,"src":"3714:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":250,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":24,"src":"3714:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":251,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"encodeString","nodeType":"MemberAccess","referencedDeclaration":3210,"src":"3714:21:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_string_memory_ptr_$returns$__$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,string memory) pure"}},"id":255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3714:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":256,"nodeType":"ExpressionStatement","src":"3714:32:0"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":240,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":237,"src":"3682:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":241,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"3686:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"3686:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3682:17:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":258,"initializationExpression":{"assignments":[237],"declarations":[{"constant":false,"id":237,"mutability":"mutable","name":"i","nameLocation":"3675:1:0","nodeType":"VariableDeclaration","scope":258,"src":"3667:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":236,"name":"uint256","nodeType":"ElementaryTypeName","src":"3667:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":239,"initialValue":{"hexValue":"30","id":238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3679:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"3667:13:0"},"loopExpression":{"expression":{"id":245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3701:3:0","subExpression":{"id":244,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":237,"src":"3701:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":246,"nodeType":"ExpressionStatement","src":"3701:3:0"},"nodeType":"ForStatement","src":"3662:91:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":259,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":213,"src":"3758:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":262,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":24,"src":"3758:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":263,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"endSequence","nodeType":"MemberAccess","referencedDeclaration":3246,"src":"3758:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$returns$__$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory) pure"}},"id":264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3758:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":265,"nodeType":"ExpressionStatement","src":"3758:22:0"}]},"documentation":{"id":210,"nodeType":"StructuredDocumentation","src":"3262:214:0","text":" @notice Adds an array of strings to the request with a given key name\n @param self The initialized request\n @param key The name of the key\n @param values The array of string values to add"},"id":267,"implemented":true,"kind":"function","modifiers":[],"name":"addStringArray","nameLocation":"3488:14:0","nodeType":"FunctionDefinition","parameters":{"id":219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":213,"mutability":"mutable","name":"self","nameLocation":"3523:4:0","nodeType":"VariableDeclaration","scope":267,"src":"3508:19:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request"},"typeName":{"id":212,"nodeType":"UserDefinedTypeName","pathNode":{"id":211,"name":"Request","nodeType":"IdentifierPath","referencedDeclaration":25,"src":"3508:7:0"},"referencedDeclaration":25,"src":"3508:7:0","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_storage_ptr","typeString":"struct Chainlink.Request"}},"visibility":"internal"},{"constant":false,"id":215,"mutability":"mutable","name":"key","nameLocation":"3547:3:0","nodeType":"VariableDeclaration","scope":267,"src":"3533:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":214,"name":"string","nodeType":"ElementaryTypeName","src":"3533:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":218,"mutability":"mutable","name":"values","nameLocation":"3572:6:0","nodeType":"VariableDeclaration","scope":267,"src":"3556:22:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":216,"name":"string","nodeType":"ElementaryTypeName","src":"3556:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":217,"nodeType":"ArrayTypeName","src":"3556:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"3502:80:0"},"returnParameters":{"id":220,"nodeType":"ParameterList","parameters":[],"src":"3597:0:0"},"scope":268,"src":"3479:306:0","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":269,"src":"293:3494:0","usedErrors":[]}],"src":"32:3756:0"},"id":0},"@chainlink/contracts/src/v0.8/ChainlinkClient.sol":{"ast":{"absolutePath":"@chainlink/contracts/src/v0.8/ChainlinkClient.sol","exportedSymbols":{"BufferChainlink":[2800],"CBORChainlink":[3247],"Chainlink":[268],"ChainlinkClient":[861],"ChainlinkRequestInterface":[998],"ENSInterface":[1078],"ENSResolver_Chainlink":[3257],"LinkTokenInterface":[1192],"OperatorInterface":[1272],"OracleInterface":[1311],"PointerInterface":[1319]},"id":862,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":270,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:1"},{"absolutePath":"@chainlink/contracts/src/v0.8/Chainlink.sol","file":"./Chainlink.sol","id":271,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":862,"sourceUnit":269,"src":"57:25:1","symbolAliases":[],"unitAlias":""},{"absolutePath":"@chainlink/contracts/src/v0.8/interfaces/ENSInterface.sol","file":"./interfaces/ENSInterface.sol","id":272,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":862,"sourceUnit":1079,"src":"83:39:1","symbolAliases":[],"unitAlias":""},{"absolutePath":"@chainlink/contracts/src/v0.8/interfaces/LinkTokenInterface.sol","file":"./interfaces/LinkTokenInterface.sol","id":273,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":862,"sourceUnit":1193,"src":"123:45:1","symbolAliases":[],"unitAlias":""},{"absolutePath":"@chainlink/contracts/src/v0.8/interfaces/ChainlinkRequestInterface.sol","file":"./interfaces/ChainlinkRequestInterface.sol","id":274,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":862,"sourceUnit":999,"src":"169:52:1","symbolAliases":[],"unitAlias":""},{"absolutePath":"@chainlink/contracts/src/v0.8/interfaces/OperatorInterface.sol","file":"./interfaces/OperatorInterface.sol","id":275,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":862,"sourceUnit":1273,"src":"222:44:1","symbolAliases":[],"unitAlias":""},{"absolutePath":"@chainlink/contracts/src/v0.8/interfaces/PointerInterface.sol","file":"./interfaces/PointerInterface.sol","id":276,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":862,"sourceUnit":1320,"src":"267:43:1","symbolAliases":[],"unitAlias":""},{"absolutePath":"@chainlink/contracts/src/v0.8/vendor/ENSResolver.sol","file":"./vendor/ENSResolver.sol","id":278,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":862,"sourceUnit":3258,"src":"311:78:1","symbolAliases":[{"foreign":{"id":277,"name":"ENSResolver","nodeType":"Identifier","overloadedDeclarations":[],"src":"319:11:1","typeDescriptions":{}},"local":"ENSResolver_Chainlink","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":{"id":279,"nodeType":"StructuredDocumentation","src":"391:157:1","text":" @title The ChainlinkClient contract\n @notice Contract writers can inherit this contract in order to create requests for the\n Chainlink network"},"fullyImplemented":true,"id":861,"linearizedBaseContracts":[861],"name":"ChainlinkClient","nameLocation":"567:15:1","nodeType":"ContractDefinition","nodes":[{"id":283,"libraryName":{"id":280,"name":"Chainlink","nodeType":"IdentifierPath","referencedDeclaration":268,"src":"593:9:1"},"nodeType":"UsingForDirective","src":"587:38:1","typeName":{"id":282,"nodeType":"UserDefinedTypeName","pathNode":{"id":281,"name":"Chainlink.Request","nodeType":"IdentifierPath","referencedDeclaration":25,"src":"607:17:1"},"referencedDeclaration":25,"src":"607:17:1","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_storage_ptr","typeString":"struct Chainlink.Request"}}},{"constant":true,"id":288,"mutability":"constant","name":"LINK_DIVISIBILITY","nameLocation":"655:17:1","nodeType":"VariableDeclaration","scope":861,"src":"629:52:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":284,"name":"uint256","nodeType":"ElementaryTypeName","src":"629:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"id":287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"675:2:1","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3138","id":286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"679:2:1","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"src":"675:6:1","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}},"visibility":"internal"},{"constant":true,"id":291,"mutability":"constant","name":"AMOUNT_OVERRIDE","nameLocation":"710:15:1","nodeType":"VariableDeclaration","scope":861,"src":"685:44:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":289,"name":"uint256","nodeType":"ElementaryTypeName","src":"685:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"728:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"private"},{"constant":true,"id":297,"mutability":"constant","name":"SENDER_OVERRIDE","nameLocation":"758:15:1","nodeType":"VariableDeclaration","scope":861,"src":"733:53:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":292,"name":"address","nodeType":"ElementaryTypeName","src":"733:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"30","id":295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"784:1:1","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":294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"776:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":293,"name":"address","nodeType":"ElementaryTypeName","src":"776:7:1","typeDescriptions":{}}},"id":296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"776:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"constant":true,"id":300,"mutability":"constant","name":"ORACLE_ARGS_VERSION","nameLocation":"815:19:1","nodeType":"VariableDeclaration","scope":861,"src":"790:48:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":298,"name":"uint256","nodeType":"ElementaryTypeName","src":"790:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"837:1:1","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"private"},{"constant":true,"id":303,"mutability":"constant","name":"OPERATOR_ARGS_VERSION","nameLocation":"867:21:1","nodeType":"VariableDeclaration","scope":861,"src":"842:50:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":301,"name":"uint256","nodeType":"ElementaryTypeName","src":"842:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"891:1:1","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"private"},{"constant":true,"id":308,"mutability":"constant","name":"ENS_TOKEN_SUBNAME","nameLocation":"921:17:1","nodeType":"VariableDeclaration","scope":861,"src":"896:62:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":304,"name":"bytes32","nodeType":"ElementaryTypeName","src":"896:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"6c696e6b","id":306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"951:6:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_90430203e2d9ce04f00738d355173358b054545ecb52218de9c6fb01cbd9aeaf","typeString":"literal_string \"link\""},"value":"link"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90430203e2d9ce04f00738d355173358b054545ecb52218de9c6fb01cbd9aeaf","typeString":"literal_string \"link\""}],"id":305,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"941:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"941:17:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"constant":true,"id":313,"mutability":"constant","name":"ENS_ORACLE_SUBNAME","nameLocation":"987:18:1","nodeType":"VariableDeclaration","scope":861,"src":"962:65:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":309,"name":"bytes32","nodeType":"ElementaryTypeName","src":"962:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"6f7261636c65","id":311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1018:8:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_89cbf5af14e0328a3cd3a734f92c3832d729d431da79b7873a62cbeebd37beb6","typeString":"literal_string \"oracle\""},"value":"oracle"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_89cbf5af14e0328a3cd3a734f92c3832d729d431da79b7873a62cbeebd37beb6","typeString":"literal_string \"oracle\""}],"id":310,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1008:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1008:19:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"constant":true,"id":316,"mutability":"constant","name":"LINK_TOKEN_POINTER","nameLocation":"1056:18:1","nodeType":"VariableDeclaration","scope":861,"src":"1031:88:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":314,"name":"address","nodeType":"ElementaryTypeName","src":"1031:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307843383962443445313633324433413433434230334141416435323632636265343033384263353731","id":315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1077:42:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xC89bD4E1632D3A43CB03AAAd5262cbe4038Bc571"},"visibility":"private"},{"constant":false,"id":319,"mutability":"mutable","name":"s_ens","nameLocation":"1145:5:1","nodeType":"VariableDeclaration","scope":861,"src":"1124:26:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ENSInterface_$1078","typeString":"contract ENSInterface"},"typeName":{"id":318,"nodeType":"UserDefinedTypeName","pathNode":{"id":317,"name":"ENSInterface","nodeType":"IdentifierPath","referencedDeclaration":1078,"src":"1124:12:1"},"referencedDeclaration":1078,"src":"1124:12:1","typeDescriptions":{"typeIdentifier":"t_contract$_ENSInterface_$1078","typeString":"contract ENSInterface"}},"visibility":"private"},{"constant":false,"id":321,"mutability":"mutable","name":"s_ensNode","nameLocation":"1170:9:1","nodeType":"VariableDeclaration","scope":861,"src":"1154:25:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":320,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1154:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"constant":false,"id":324,"mutability":"mutable","name":"s_link","nameLocation":"1210:6:1","nodeType":"VariableDeclaration","scope":861,"src":"1183:33:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_LinkTokenInterface_$1192","typeString":"contract LinkTokenInterface"},"typeName":{"id":323,"nodeType":"UserDefinedTypeName","pathNode":{"id":322,"name":"LinkTokenInterface","nodeType":"IdentifierPath","referencedDeclaration":1192,"src":"1183:18:1"},"referencedDeclaration":1192,"src":"1183:18:1","typeDescriptions":{"typeIdentifier":"t_contract$_LinkTokenInterface_$1192","typeString":"contract LinkTokenInterface"}},"visibility":"private"},{"constant":false,"id":327,"mutability":"mutable","name":"s_oracle","nameLocation":"1246:8:1","nodeType":"VariableDeclaration","scope":861,"src":"1220:34:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_OperatorInterface_$1272","typeString":"contract OperatorInterface"},"typeName":{"id":326,"nodeType":"UserDefinedTypeName","pathNode":{"id":325,"name":"OperatorInterface","nodeType":"IdentifierPath","referencedDeclaration":1272,"src":"1220:17:1"},"referencedDeclaration":1272,"src":"1220:17:1","typeDescriptions":{"typeIdentifier":"t_contract$_OperatorInterface_$1272","typeString":"contract OperatorInterface"}},"visibility":"private"},{"constant":false,"id":330,"mutability":"mutable","name":"s_requestCount","nameLocation":"1274:14:1","nodeType":"VariableDeclaration","scope":861,"src":"1258:34:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":328,"name":"uint256","nodeType":"ElementaryTypeName","src":"1258:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1291:1:1","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"private"},{"constant":false,"id":334,"mutability":"mutable","name":"s_pendingRequests","nameLocation":"1332:17:1","nodeType":"VariableDeclaration","scope":861,"src":"1296:53:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"typeName":{"id":333,"keyType":{"id":331,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1304:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"1296:27:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"valueType":{"id":332,"name":"address","nodeType":"ElementaryTypeName","src":"1315:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"private"},{"anonymous":false,"id":338,"name":"ChainlinkRequested","nameLocation":"1360:18:1","nodeType":"EventDefinition","parameters":{"id":337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":336,"indexed":true,"mutability":"mutable","name":"id","nameLocation":"1395:2:1","nodeType":"VariableDeclaration","scope":338,"src":"1379:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":335,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1379:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1378:20:1"},"src":"1354:45:1"},{"anonymous":false,"id":342,"name":"ChainlinkFulfilled","nameLocation":"1408:18:1","nodeType":"EventDefinition","parameters":{"id":341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":340,"indexed":true,"mutability":"mutable","name":"id","nameLocation":"1443:2:1","nodeType":"VariableDeclaration","scope":342,"src":"1427:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":339,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1427:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1426:20:1"},"src":"1402:45:1"},{"anonymous":false,"id":346,"name":"ChainlinkCancelled","nameLocation":"1456:18:1","nodeType":"EventDefinition","parameters":{"id":345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":344,"indexed":true,"mutability":"mutable","name":"id","nameLocation":"1491:2:1","nodeType":"VariableDeclaration","scope":346,"src":"1475:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":343,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1475:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1474:20:1"},"src":"1450:45:1"},{"body":{"id":372,"nodeType":"Block","src":"2018:115:1","statements":[{"assignments":[363],"declarations":[{"constant":false,"id":363,"mutability":"mutable","name":"req","nameLocation":"2049:3:1","nodeType":"VariableDeclaration","scope":372,"src":"2024:28:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request"},"typeName":{"id":362,"nodeType":"UserDefinedTypeName","pathNode":{"id":361,"name":"Chainlink.Request","nodeType":"IdentifierPath","referencedDeclaration":25,"src":"2024:17:1"},"referencedDeclaration":25,"src":"2024:17:1","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_storage_ptr","typeString":"struct Chainlink.Request"}},"visibility":"internal"}],"id":364,"nodeType":"VariableDeclarationStatement","src":"2024:28:1"},{"expression":{"arguments":[{"id":367,"name":"specId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":349,"src":"2080:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":368,"name":"callbackAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":351,"src":"2088:12:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":369,"name":"callbackFunctionSignature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":353,"src":"2102:25:1","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":365,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":363,"src":"2065:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":366,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":70,"src":"2065:14:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Request_$25_memory_ptr_$_t_bytes32_$_t_address_$_t_bytes4_$returns$_t_struct$_Request_$25_memory_ptr_$bound_to$_t_struct$_Request_$25_memory_ptr_$","typeString":"function (struct Chainlink.Request memory,bytes32,address,bytes4) pure returns (struct Chainlink.Request memory)"}},"id":370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2065:63:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"functionReturnParameters":358,"id":371,"nodeType":"Return","src":"2058:70:1"}]},"documentation":{"id":347,"nodeType":"StructuredDocumentation","src":"1499:348:1","text":" @notice Creates a request that can hold additional parameters\n @param specId The Job Specification ID that the request will be created for\n @param callbackAddr address to operate the callback on\n @param callbackFunctionSignature function signature to use for the callback\n @return A Chainlink Request struct in memory"},"id":373,"implemented":true,"kind":"function","modifiers":[],"name":"buildChainlinkRequest","nameLocation":"1859:21:1","nodeType":"FunctionDefinition","parameters":{"id":354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":349,"mutability":"mutable","name":"specId","nameLocation":"1894:6:1","nodeType":"VariableDeclaration","scope":373,"src":"1886:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":348,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1886:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":351,"mutability":"mutable","name":"callbackAddr","nameLocation":"1914:12:1","nodeType":"VariableDeclaration","scope":373,"src":"1906:20:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":350,"name":"address","nodeType":"ElementaryTypeName","src":"1906:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":353,"mutability":"mutable","name":"callbackFunctionSignature","nameLocation":"1939:25:1","nodeType":"VariableDeclaration","scope":373,"src":"1932:32:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":352,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1932:6:1","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1880:88:1"},"returnParameters":{"id":358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":357,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":373,"src":"1992:24:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request"},"typeName":{"id":356,"nodeType":"UserDefinedTypeName","pathNode":{"id":355,"name":"Chainlink.Request","nodeType":"IdentifierPath","referencedDeclaration":25,"src":"1992:17:1"},"referencedDeclaration":25,"src":"1992:17:1","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_storage_ptr","typeString":"struct Chainlink.Request"}},"visibility":"internal"}],"src":"1991:26:1"},"scope":861,"src":"1850:283:1","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":400,"nodeType":"Block","src":"2571:116:1","statements":[{"assignments":[388],"declarations":[{"constant":false,"id":388,"mutability":"mutable","name":"req","nameLocation":"2602:3:1","nodeType":"VariableDeclaration","scope":400,"src":"2577:28:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request"},"typeName":{"id":387,"nodeType":"UserDefinedTypeName","pathNode":{"id":386,"name":"Chainlink.Request","nodeType":"IdentifierPath","referencedDeclaration":25,"src":"2577:17:1"},"referencedDeclaration":25,"src":"2577:17:1","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_storage_ptr","typeString":"struct Chainlink.Request"}},"visibility":"internal"}],"id":389,"nodeType":"VariableDeclarationStatement","src":"2577:28:1"},{"expression":{"arguments":[{"id":392,"name":"specId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":376,"src":"2633:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":395,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2649:4:1","typeDescriptions":{"typeIdentifier":"t_contract$_ChainlinkClient_$861","typeString":"contract ChainlinkClient"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ChainlinkClient_$861","typeString":"contract ChainlinkClient"}],"id":394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2641:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":393,"name":"address","nodeType":"ElementaryTypeName","src":"2641:7:1","typeDescriptions":{}}},"id":396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2641:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":397,"name":"callbackFunctionSignature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":378,"src":"2656:25:1","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":390,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":388,"src":"2618:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":391,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":70,"src":"2618:14:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Request_$25_memory_ptr_$_t_bytes32_$_t_address_$_t_bytes4_$returns$_t_struct$_Request_$25_memory_ptr_$bound_to$_t_struct$_Request_$25_memory_ptr_$","typeString":"function (struct Chainlink.Request memory,bytes32,address,bytes4) pure returns (struct Chainlink.Request memory)"}},"id":398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2618:64:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"functionReturnParameters":383,"id":399,"nodeType":"Return","src":"2611:71:1"}]},"documentation":{"id":374,"nodeType":"StructuredDocumentation","src":"2137:288:1","text":" @notice Creates a request that can hold additional parameters\n @param specId The Job Specification ID that the request will be created for\n @param callbackFunctionSignature function signature to use for the callback\n @return A Chainlink Request struct in memory"},"id":401,"implemented":true,"kind":"function","modifiers":[],"name":"buildOperatorRequest","nameLocation":"2437:20:1","nodeType":"FunctionDefinition","parameters":{"id":379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":376,"mutability":"mutable","name":"specId","nameLocation":"2466:6:1","nodeType":"VariableDeclaration","scope":401,"src":"2458:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":375,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2458:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":378,"mutability":"mutable","name":"callbackFunctionSignature","nameLocation":"2481:25:1","nodeType":"VariableDeclaration","scope":401,"src":"2474:32:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":377,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2474:6:1","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2457:50:1"},"returnParameters":{"id":383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":382,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":401,"src":"2543:24:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request"},"typeName":{"id":381,"nodeType":"UserDefinedTypeName","pathNode":{"id":380,"name":"Chainlink.Request","nodeType":"IdentifierPath","referencedDeclaration":25,"src":"2543:17:1"},"referencedDeclaration":25,"src":"2543:17:1","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_storage_ptr","typeString":"struct Chainlink.Request"}},"visibility":"internal"}],"src":"2542:26:1"},"scope":861,"src":"2428:259:1","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":421,"nodeType":"Block","src":"3096:73:1","statements":[{"expression":{"arguments":[{"arguments":[{"id":415,"name":"s_oracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":327,"src":"3140:8:1","typeDescriptions":{"typeIdentifier":"t_contract$_OperatorInterface_$1272","typeString":"contract OperatorInterface"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_OperatorInterface_$1272","typeString":"contract OperatorInterface"}],"id":414,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3132:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":413,"name":"address","nodeType":"ElementaryTypeName","src":"3132:7:1","typeDescriptions":{}}},"id":416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3132:17:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":417,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":405,"src":"3151:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},{"id":418,"name":"payment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":407,"src":"3156:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":412,"name":"sendChainlinkRequestTo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":477,"src":"3109:22:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_Request_$25_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (address,struct Chainlink.Request memory,uint256) returns (bytes32)"}},"id":419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3109:55:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":411,"id":420,"nodeType":"Return","src":"3102:62:1"}]},"documentation":{"id":402,"nodeType":"StructuredDocumentation","src":"2691:298:1","text":" @notice Creates a Chainlink request to the stored oracle address\n @dev Calls `chainlinkRequestTo` with the stored oracle address\n @param req The initialized Chainlink Request\n @param payment The amount of LINK to send for the request\n @return requestId The request ID"},"id":422,"implemented":true,"kind":"function","modifiers":[],"name":"sendChainlinkRequest","nameLocation":"3001:20:1","nodeType":"FunctionDefinition","parameters":{"id":408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":405,"mutability":"mutable","name":"req","nameLocation":"3047:3:1","nodeType":"VariableDeclaration","scope":422,"src":"3022:28:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request"},"typeName":{"id":404,"nodeType":"UserDefinedTypeName","pathNode":{"id":403,"name":"Chainlink.Request","nodeType":"IdentifierPath","referencedDeclaration":25,"src":"3022:17:1"},"referencedDeclaration":25,"src":"3022:17:1","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_storage_ptr","typeString":"struct Chainlink.Request"}},"visibility":"internal"},{"constant":false,"id":407,"mutability":"mutable","name":"payment","nameLocation":"3060:7:1","nodeType":"VariableDeclaration","scope":422,"src":"3052:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":406,"name":"uint256","nodeType":"ElementaryTypeName","src":"3052:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3021:47:1"},"returnParameters":{"id":411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":410,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":422,"src":"3087:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":409,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3087:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3086:9:1"},"scope":861,"src":"2992:177:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":476,"nodeType":"Block","src":"3842:601:1","statements":[{"assignments":[436],"declarations":[{"constant":false,"id":436,"mutability":"mutable","name":"nonce","nameLocation":"3856:5:1","nodeType":"VariableDeclaration","scope":476,"src":"3848:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":435,"name":"uint256","nodeType":"ElementaryTypeName","src":"3848:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":438,"initialValue":{"id":437,"name":"s_requestCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":330,"src":"3864:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3848:30:1"},{"expression":{"id":443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":439,"name":"s_requestCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":330,"src":"3884:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":440,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":436,"src":"3901:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3909:1:1","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3901:9:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3884:26:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":444,"nodeType":"ExpressionStatement","src":"3884:26:1"},{"assignments":[446],"declarations":[{"constant":false,"id":446,"mutability":"mutable","name":"encodedRequest","nameLocation":"3929:14:1","nodeType":"VariableDeclaration","scope":476,"src":"3916:27:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":445,"name":"bytes","nodeType":"ElementaryTypeName","src":"3916:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":468,"initialValue":{"arguments":[{"expression":{"expression":{"id":449,"name":"ChainlinkRequestInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":998,"src":"3976:25:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ChainlinkRequestInterface_$998_$","typeString":"type(contract ChainlinkRequestInterface)"}},"id":450,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"oracleRequest","nodeType":"MemberAccess","referencedDeclaration":986,"src":"3976:39:1","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$_t_address_$_t_bytes4_$_t_uint256_$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$","typeString":"function ChainlinkRequestInterface.oracleRequest(address,uint256,bytes32,address,bytes4,uint256,uint256,bytes calldata)"}},"id":451,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"3976:48:1","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":452,"name":"SENDER_OVERRIDE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":297,"src":"4032:15:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":453,"name":"AMOUNT_OVERRIDE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":291,"src":"4140:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":454,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":428,"src":"4245:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":455,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"id","nodeType":"MemberAccess","referencedDeclaration":15,"src":"4245:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":458,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4267:4:1","typeDescriptions":{"typeIdentifier":"t_contract$_ChainlinkClient_$861","typeString":"contract ChainlinkClient"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ChainlinkClient_$861","typeString":"contract ChainlinkClient"}],"id":457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4259:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":456,"name":"address","nodeType":"ElementaryTypeName","src":"4259:7:1","typeDescriptions":{}}},"id":459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4259:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":460,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":428,"src":"4280:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":461,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"callbackFunctionId","nodeType":"MemberAccess","referencedDeclaration":19,"src":"4280:22:1","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":462,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":436,"src":"4310:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":463,"name":"ORACLE_ARGS_VERSION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"4323:19:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":464,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":428,"src":"4350:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":465,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":24,"src":"4350:7:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":466,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":2283,"src":"4350:11:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":447,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3946:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":448,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3946:22:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3946:421:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3916:451:1"},{"expression":{"arguments":[{"id":470,"name":"oracleAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":425,"src":"4392:13:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":471,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":436,"src":"4407:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":472,"name":"payment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":430,"src":"4414:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":473,"name":"encodedRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":446,"src":"4423:14:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":469,"name":"_rawRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":594,"src":"4380:11:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (address,uint256,uint256,bytes memory) returns (bytes32)"}},"id":474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4380:58:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":434,"id":475,"nodeType":"Return","src":"4373:65:1"}]},"documentation":{"id":423,"nodeType":"StructuredDocumentation","src":"3173:511:1","text":" @notice Creates a Chainlink request to the specified oracle address\n @dev Generates and stores a request ID, increments the local nonce, and uses `transferAndCall` to\n send LINK which creates a request on the target oracle contract.\n Emits ChainlinkRequested event.\n @param oracleAddress The address of the oracle for the request\n @param req The initialized Chainlink Request\n @param payment The amount of LINK to send for the request\n @return requestId The request ID"},"id":477,"implemented":true,"kind":"function","modifiers":[],"name":"sendChainlinkRequestTo","nameLocation":"3696:22:1","nodeType":"FunctionDefinition","parameters":{"id":431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":425,"mutability":"mutable","name":"oracleAddress","nameLocation":"3732:13:1","nodeType":"VariableDeclaration","scope":477,"src":"3724:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":424,"name":"address","nodeType":"ElementaryTypeName","src":"3724:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":428,"mutability":"mutable","name":"req","nameLocation":"3776:3:1","nodeType":"VariableDeclaration","scope":477,"src":"3751:28:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request"},"typeName":{"id":427,"nodeType":"UserDefinedTypeName","pathNode":{"id":426,"name":"Chainlink.Request","nodeType":"IdentifierPath","referencedDeclaration":25,"src":"3751:17:1"},"referencedDeclaration":25,"src":"3751:17:1","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_storage_ptr","typeString":"struct Chainlink.Request"}},"visibility":"internal"},{"constant":false,"id":430,"mutability":"mutable","name":"payment","nameLocation":"3793:7:1","nodeType":"VariableDeclaration","scope":477,"src":"3785:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":429,"name":"uint256","nodeType":"ElementaryTypeName","src":"3785:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3718:86:1"},"returnParameters":{"id":434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":433,"mutability":"mutable","name":"requestId","nameLocation":"3831:9:1","nodeType":"VariableDeclaration","scope":477,"src":"3823:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":432,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3823:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3822:19:1"},"scope":861,"src":"3687:756:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":497,"nodeType":"Block","src":"4907:72:1","statements":[{"expression":{"arguments":[{"arguments":[{"id":491,"name":"s_oracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":327,"src":"4950:8:1","typeDescriptions":{"typeIdentifier":"t_contract$_OperatorInterface_$1272","typeString":"contract OperatorInterface"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_OperatorInterface_$1272","typeString":"contract OperatorInterface"}],"id":490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4942:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":489,"name":"address","nodeType":"ElementaryTypeName","src":"4942:7:1","typeDescriptions":{}}},"id":492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4942:17:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":493,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":481,"src":"4961:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},{"id":494,"name":"payment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":483,"src":"4966:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":488,"name":"sendOperatorRequestTo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":549,"src":"4920:21:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_Request_$25_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (address,struct Chainlink.Request memory,uint256) returns (bytes32)"}},"id":495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4920:54:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":487,"id":496,"nodeType":"Return","src":"4913:61:1"}]},"documentation":{"id":478,"nodeType":"StructuredDocumentation","src":"4447:354:1","text":" @notice Creates a Chainlink request to the stored oracle address\n @dev This function supports multi-word response\n @dev Calls `sendOperatorRequestTo` with the stored oracle address\n @param req The initialized Chainlink Request\n @param payment The amount of LINK to send for the request\n @return requestId The request ID"},"id":498,"implemented":true,"kind":"function","modifiers":[],"name":"sendOperatorRequest","nameLocation":"4813:19:1","nodeType":"FunctionDefinition","parameters":{"id":484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":481,"mutability":"mutable","name":"req","nameLocation":"4858:3:1","nodeType":"VariableDeclaration","scope":498,"src":"4833:28:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request"},"typeName":{"id":480,"nodeType":"UserDefinedTypeName","pathNode":{"id":479,"name":"Chainlink.Request","nodeType":"IdentifierPath","referencedDeclaration":25,"src":"4833:17:1"},"referencedDeclaration":25,"src":"4833:17:1","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_storage_ptr","typeString":"struct Chainlink.Request"}},"visibility":"internal"},{"constant":false,"id":483,"mutability":"mutable","name":"payment","nameLocation":"4871:7:1","nodeType":"VariableDeclaration","scope":498,"src":"4863:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":482,"name":"uint256","nodeType":"ElementaryTypeName","src":"4863:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4832:47:1"},"returnParameters":{"id":487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":486,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":498,"src":"4898:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":485,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4898:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4897:9:1"},"scope":861,"src":"4804:175:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":548,"nodeType":"Block","src":"5704:576:1","statements":[{"assignments":[512],"declarations":[{"constant":false,"id":512,"mutability":"mutable","name":"nonce","nameLocation":"5718:5:1","nodeType":"VariableDeclaration","scope":548,"src":"5710:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":511,"name":"uint256","nodeType":"ElementaryTypeName","src":"5710:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":514,"initialValue":{"id":513,"name":"s_requestCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":330,"src":"5726:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5710:30:1"},{"expression":{"id":519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":515,"name":"s_requestCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":330,"src":"5746:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":516,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":512,"src":"5763:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5771:1:1","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5763:9:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5746:26:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":520,"nodeType":"ExpressionStatement","src":"5746:26:1"},{"assignments":[522],"declarations":[{"constant":false,"id":522,"mutability":"mutable","name":"encodedRequest","nameLocation":"5791:14:1","nodeType":"VariableDeclaration","scope":548,"src":"5778:27:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":521,"name":"bytes","nodeType":"ElementaryTypeName","src":"5778:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":540,"initialValue":{"arguments":[{"expression":{"expression":{"id":525,"name":"OperatorInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1272,"src":"5838:17:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OperatorInterface_$1272_$","typeString":"type(contract OperatorInterface)"}},"id":526,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"operatorRequest","nodeType":"MemberAccess","referencedDeclaration":1217,"src":"5838:33:1","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$_t_bytes4_$_t_uint256_$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$","typeString":"function OperatorInterface.operatorRequest(address,uint256,bytes32,bytes4,uint256,uint256,bytes calldata)"}},"id":527,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"5838:42:1","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":528,"name":"SENDER_OVERRIDE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":297,"src":"5888:15:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":529,"name":"AMOUNT_OVERRIDE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":291,"src":"5996:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":530,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":504,"src":"6101:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":531,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"id","nodeType":"MemberAccess","referencedDeclaration":15,"src":"6101:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":532,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":504,"src":"6115:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":533,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"callbackFunctionId","nodeType":"MemberAccess","referencedDeclaration":19,"src":"6115:22:1","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":534,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":512,"src":"6145:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":535,"name":"OPERATOR_ARGS_VERSION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":303,"src":"6158:21:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":536,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":504,"src":"6187:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":537,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":24,"src":"6187:7:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":538,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":2283,"src":"6187:11:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":523,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5808:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":524,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"5808:22:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5808:396:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5778:426:1"},{"expression":{"arguments":[{"id":542,"name":"oracleAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":501,"src":"6229:13:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":543,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":512,"src":"6244:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":544,"name":"payment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":506,"src":"6251:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":545,"name":"encodedRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":522,"src":"6260:14:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":541,"name":"_rawRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":594,"src":"6217:11:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (address,uint256,uint256,bytes memory) returns (bytes32)"}},"id":546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6217:58:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":510,"id":547,"nodeType":"Return","src":"6210:65:1"}]},"documentation":{"id":499,"nodeType":"StructuredDocumentation","src":"4983:564:1","text":" @notice Creates a Chainlink request to the specified oracle address\n @dev This function supports multi-word response\n @dev Generates and stores a request ID, increments the local nonce, and uses `transferAndCall` to\n send LINK which creates a request on the target oracle contract.\n Emits ChainlinkRequested event.\n @param oracleAddress The address of the oracle for the request\n @param req The initialized Chainlink Request\n @param payment The amount of LINK to send for the request\n @return requestId The request ID"},"id":549,"implemented":true,"kind":"function","modifiers":[],"name":"sendOperatorRequestTo","nameLocation":"5559:21:1","nodeType":"FunctionDefinition","parameters":{"id":507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":501,"mutability":"mutable","name":"oracleAddress","nameLocation":"5594:13:1","nodeType":"VariableDeclaration","scope":549,"src":"5586:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":500,"name":"address","nodeType":"ElementaryTypeName","src":"5586:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":504,"mutability":"mutable","name":"req","nameLocation":"5638:3:1","nodeType":"VariableDeclaration","scope":549,"src":"5613:28:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request"},"typeName":{"id":503,"nodeType":"UserDefinedTypeName","pathNode":{"id":502,"name":"Chainlink.Request","nodeType":"IdentifierPath","referencedDeclaration":25,"src":"5613:17:1"},"referencedDeclaration":25,"src":"5613:17:1","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_storage_ptr","typeString":"struct Chainlink.Request"}},"visibility":"internal"},{"constant":false,"id":506,"mutability":"mutable","name":"payment","nameLocation":"5655:7:1","nodeType":"VariableDeclaration","scope":549,"src":"5647:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":505,"name":"uint256","nodeType":"ElementaryTypeName","src":"5647:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5580:86:1"},"returnParameters":{"id":510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":509,"mutability":"mutable","name":"requestId","nameLocation":"5693:9:1","nodeType":"VariableDeclaration","scope":549,"src":"5685:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":508,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5685:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5684:19:1"},"scope":861,"src":"5550:730:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":593,"nodeType":"Block","src":"6790:269:1","statements":[{"expression":{"id":571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":563,"name":"requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":561,"src":"6796:9:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":567,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"6835:4:1","typeDescriptions":{"typeIdentifier":"t_contract$_ChainlinkClient_$861","typeString":"contract ChainlinkClient"}},{"id":568,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":554,"src":"6841:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ChainlinkClient_$861","typeString":"contract ChainlinkClient"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":565,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6818:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":566,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"6818:16:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6818:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":564,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6808:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6808:40:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6796:52:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":572,"nodeType":"ExpressionStatement","src":"6796:52:1"},{"expression":{"id":577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":573,"name":"s_pendingRequests","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":334,"src":"6854:17:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":575,"indexExpression":{"id":574,"name":"requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":561,"src":"6872:9:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6854:28:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":576,"name":"oracleAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":552,"src":"6885:13:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6854:44:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":578,"nodeType":"ExpressionStatement","src":"6854:44:1"},{"eventCall":{"arguments":[{"id":580,"name":"requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":561,"src":"6928:9:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":579,"name":"ChainlinkRequested","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":338,"src":"6909:18:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6909:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":582,"nodeType":"EmitStatement","src":"6904:34:1"},{"expression":{"arguments":[{"arguments":[{"id":586,"name":"oracleAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":552,"src":"6975:13:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":587,"name":"payment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":556,"src":"6990:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":588,"name":"encodedRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":558,"src":"6999:14:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":584,"name":"s_link","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":324,"src":"6952:6:1","typeDescriptions":{"typeIdentifier":"t_contract$_LinkTokenInterface_$1192","typeString":"contract LinkTokenInterface"}},"id":585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transferAndCall","nodeType":"MemberAccess","referencedDeclaration":1180,"src":"6952:22:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (address,uint256,bytes memory) external returns (bool)"}},"id":589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6952:62:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"756e61626c6520746f207472616e73666572416e6443616c6c20746f206f7261636c65","id":590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7016:37:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b3efd608222b424e5ed8427d7f6a272069793e6a1f5930c93db5c7960c3ce96","typeString":"literal_string \"unable to transferAndCall to oracle\""},"value":"unable to transferAndCall to oracle"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3b3efd608222b424e5ed8427d7f6a272069793e6a1f5930c93db5c7960c3ce96","typeString":"literal_string \"unable to transferAndCall to oracle\""}],"id":583,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6944:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6944:110:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":592,"nodeType":"ExpressionStatement","src":"6944:110:1"}]},"documentation":{"id":550,"nodeType":"StructuredDocumentation","src":"6284:342:1","text":" @notice Make a request to an oracle\n @param oracleAddress The address of the oracle for the request\n @param nonce used to generate the request ID\n @param payment The amount of LINK to send for the request\n @param encodedRequest data encoded for request type specific format\n @return requestId The request ID"},"id":594,"implemented":true,"kind":"function","modifiers":[],"name":"_rawRequest","nameLocation":"6638:11:1","nodeType":"FunctionDefinition","parameters":{"id":559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":552,"mutability":"mutable","name":"oracleAddress","nameLocation":"6663:13:1","nodeType":"VariableDeclaration","scope":594,"src":"6655:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":551,"name":"address","nodeType":"ElementaryTypeName","src":"6655:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":554,"mutability":"mutable","name":"nonce","nameLocation":"6690:5:1","nodeType":"VariableDeclaration","scope":594,"src":"6682:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":553,"name":"uint256","nodeType":"ElementaryTypeName","src":"6682:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":556,"mutability":"mutable","name":"payment","nameLocation":"6709:7:1","nodeType":"VariableDeclaration","scope":594,"src":"6701:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":555,"name":"uint256","nodeType":"ElementaryTypeName","src":"6701:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":558,"mutability":"mutable","name":"encodedRequest","nameLocation":"6735:14:1","nodeType":"VariableDeclaration","scope":594,"src":"6722:27:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":557,"name":"bytes","nodeType":"ElementaryTypeName","src":"6722:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6649:104:1"},"returnParameters":{"id":562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":561,"mutability":"mutable","name":"requestId","nameLocation":"6779:9:1","nodeType":"VariableDeclaration","scope":594,"src":"6771:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":560,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6771:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6770:19:1"},"scope":861,"src":"6629:430:1","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":633,"nodeType":"Block","src":"7713:250:1","statements":[{"assignments":[608],"declarations":[{"constant":false,"id":608,"mutability":"mutable","name":"requested","nameLocation":"7737:9:1","nodeType":"VariableDeclaration","scope":633,"src":"7719:27:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_OperatorInterface_$1272","typeString":"contract OperatorInterface"},"typeName":{"id":607,"nodeType":"UserDefinedTypeName","pathNode":{"id":606,"name":"OperatorInterface","nodeType":"IdentifierPath","referencedDeclaration":1272,"src":"7719:17:1"},"referencedDeclaration":1272,"src":"7719:17:1","typeDescriptions":{"typeIdentifier":"t_contract$_OperatorInterface_$1272","typeString":"contract OperatorInterface"}},"visibility":"internal"}],"id":614,"initialValue":{"arguments":[{"baseExpression":{"id":610,"name":"s_pendingRequests","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":334,"src":"7767:17:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":612,"indexExpression":{"id":611,"name":"requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":597,"src":"7785:9:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7767:28:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":609,"name":"OperatorInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1272,"src":"7749:17:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OperatorInterface_$1272_$","typeString":"type(contract OperatorInterface)"}},"id":613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7749:47:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_OperatorInterface_$1272","typeString":"contract OperatorInterface"}},"nodeType":"VariableDeclarationStatement","src":"7719:77:1"},{"expression":{"id":618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"7802:35:1","subExpression":{"baseExpression":{"id":615,"name":"s_pendingRequests","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":334,"src":"7809:17:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":617,"indexExpression":{"id":616,"name":"requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":597,"src":"7827:9:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7809:28:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":619,"nodeType":"ExpressionStatement","src":"7802:35:1"},{"eventCall":{"arguments":[{"id":621,"name":"requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":597,"src":"7867:9:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":620,"name":"ChainlinkCancelled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":346,"src":"7848:18:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7848:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":623,"nodeType":"EmitStatement","src":"7843:34:1"},{"expression":{"arguments":[{"id":627,"name":"requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":597,"src":"7913:9:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":628,"name":"payment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":599,"src":"7924:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":629,"name":"callbackFunc","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":601,"src":"7933:12:1","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":630,"name":"expiration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"7947:10:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":624,"name":"requested","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"7883:9:1","typeDescriptions":{"typeIdentifier":"t_contract$_OperatorInterface_$1272","typeString":"contract OperatorInterface"}},"id":626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"cancelOracleRequest","nodeType":"MemberAccess","referencedDeclaration":997,"src":"7883:29:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_bytes4_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256,bytes4,uint256) external"}},"id":631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7883:75:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":632,"nodeType":"ExpressionStatement","src":"7883:75:1"}]},"documentation":{"id":595,"nodeType":"StructuredDocumentation","src":"7063:509:1","text":" @notice Allows a request to be cancelled if it has not been fulfilled\n @dev Requires keeping track of the expiration value emitted from the oracle contract.\n Deletes the request from the `pendingRequests` mapping.\n Emits ChainlinkCancelled event.\n @param requestId The request ID\n @param payment The amount of LINK sent for the request\n @param callbackFunc The callback function specified for the request\n @param expiration The time of the expiration for the request"},"id":634,"implemented":true,"kind":"function","modifiers":[],"name":"cancelChainlinkRequest","nameLocation":"7584:22:1","nodeType":"FunctionDefinition","parameters":{"id":604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":597,"mutability":"mutable","name":"requestId","nameLocation":"7620:9:1","nodeType":"VariableDeclaration","scope":634,"src":"7612:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":596,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7612:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":599,"mutability":"mutable","name":"payment","nameLocation":"7643:7:1","nodeType":"VariableDeclaration","scope":634,"src":"7635:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":598,"name":"uint256","nodeType":"ElementaryTypeName","src":"7635:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":601,"mutability":"mutable","name":"callbackFunc","nameLocation":"7663:12:1","nodeType":"VariableDeclaration","scope":634,"src":"7656:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":600,"name":"bytes4","nodeType":"ElementaryTypeName","src":"7656:6:1","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":603,"mutability":"mutable","name":"expiration","nameLocation":"7689:10:1","nodeType":"VariableDeclaration","scope":634,"src":"7681:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":602,"name":"uint256","nodeType":"ElementaryTypeName","src":"7681:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7606:97:1"},"returnParameters":{"id":605,"nodeType":"ParameterList","parameters":[],"src":"7713:0:1"},"scope":861,"src":"7575:388:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":642,"nodeType":"Block","src":"8238:32:1","statements":[{"expression":{"id":640,"name":"s_requestCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":330,"src":"8251:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":639,"id":641,"nodeType":"Return","src":"8244:21:1"}]},"documentation":{"id":635,"nodeType":"StructuredDocumentation","src":"7967:205:1","text":" @notice the next request count to be used in generating a nonce\n @dev starts at 1 in order to ensure consistent gas cost\n @return returns the next request count to be used in a nonce"},"id":643,"implemented":true,"kind":"function","modifiers":[],"name":"getNextRequestCount","nameLocation":"8184:19:1","nodeType":"FunctionDefinition","parameters":{"id":636,"nodeType":"ParameterList","parameters":[],"src":"8203:2:1"},"returnParameters":{"id":639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":638,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":643,"src":"8229:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":637,"name":"uint256","nodeType":"ElementaryTypeName","src":"8229:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8228:9:1"},"scope":861,"src":"8175:95:1","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":655,"nodeType":"Block","src":"8451:54:1","statements":[{"expression":{"id":653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":649,"name":"s_oracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":327,"src":"8457:8:1","typeDescriptions":{"typeIdentifier":"t_contract$_OperatorInterface_$1272","typeString":"contract OperatorInterface"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":651,"name":"oracleAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":646,"src":"8486:13:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":650,"name":"OperatorInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1272,"src":"8468:17:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OperatorInterface_$1272_$","typeString":"type(contract OperatorInterface)"}},"id":652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8468:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_OperatorInterface_$1272","typeString":"contract OperatorInterface"}},"src":"8457:43:1","typeDescriptions":{"typeIdentifier":"t_contract$_OperatorInterface_$1272","typeString":"contract OperatorInterface"}},"id":654,"nodeType":"ExpressionStatement","src":"8457:43:1"}]},"documentation":{"id":644,"nodeType":"StructuredDocumentation","src":"8274:114:1","text":" @notice Sets the stored oracle address\n @param oracleAddress The address of the oracle contract"},"id":656,"implemented":true,"kind":"function","modifiers":[],"name":"setChainlinkOracle","nameLocation":"8400:18:1","nodeType":"FunctionDefinition","parameters":{"id":647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":646,"mutability":"mutable","name":"oracleAddress","nameLocation":"8427:13:1","nodeType":"VariableDeclaration","scope":656,"src":"8419:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":645,"name":"address","nodeType":"ElementaryTypeName","src":"8419:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8418:23:1"},"returnParameters":{"id":648,"nodeType":"ParameterList","parameters":[],"src":"8451:0:1"},"scope":861,"src":"8391:114:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":668,"nodeType":"Block","src":"8682:51:1","statements":[{"expression":{"id":666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":662,"name":"s_link","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":324,"src":"8688:6:1","typeDescriptions":{"typeIdentifier":"t_contract$_LinkTokenInterface_$1192","typeString":"contract LinkTokenInterface"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":664,"name":"linkAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":659,"src":"8716:11:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":663,"name":"LinkTokenInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1192,"src":"8697:18:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LinkTokenInterface_$1192_$","typeString":"type(contract LinkTokenInterface)"}},"id":665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8697:31:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_LinkTokenInterface_$1192","typeString":"contract LinkTokenInterface"}},"src":"8688:40:1","typeDescriptions":{"typeIdentifier":"t_contract$_LinkTokenInterface_$1192","typeString":"contract LinkTokenInterface"}},"id":667,"nodeType":"ExpressionStatement","src":"8688:40:1"}]},"documentation":{"id":657,"nodeType":"StructuredDocumentation","src":"8509:113:1","text":" @notice Sets the LINK token address\n @param linkAddress The address of the LINK token contract"},"id":669,"implemented":true,"kind":"function","modifiers":[],"name":"setChainlinkToken","nameLocation":"8634:17:1","nodeType":"FunctionDefinition","parameters":{"id":660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":659,"mutability":"mutable","name":"linkAddress","nameLocation":"8660:11:1","nodeType":"VariableDeclaration","scope":669,"src":"8652:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":658,"name":"address","nodeType":"ElementaryTypeName","src":"8652:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8651:21:1"},"returnParameters":{"id":661,"nodeType":"ParameterList","parameters":[],"src":"8682:0:1"},"scope":861,"src":"8625:108:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":681,"nodeType":"Block","src":"8900:79:1","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":675,"name":"LINK_TOKEN_POINTER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":316,"src":"8941:18:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":674,"name":"PointerInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1319,"src":"8924:16:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PointerInterface_$1319_$","typeString":"type(contract PointerInterface)"}},"id":676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8924:36:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_PointerInterface_$1319","typeString":"contract PointerInterface"}},"id":677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getAddress","nodeType":"MemberAccess","referencedDeclaration":1318,"src":"8924:47:1","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8924:49:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":673,"name":"setChainlinkToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":669,"src":"8906:17:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8906:68:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":680,"nodeType":"ExpressionStatement","src":"8906:68:1"}]},"documentation":{"id":670,"nodeType":"StructuredDocumentation","src":"8737:116:1","text":" @notice Sets the Chainlink token address for the public\n network as given by the Pointer contract"},"id":682,"implemented":true,"kind":"function","modifiers":[],"name":"setPublicChainlinkToken","nameLocation":"8865:23:1","nodeType":"FunctionDefinition","parameters":{"id":671,"nodeType":"ParameterList","parameters":[],"src":"8888:2:1"},"returnParameters":{"id":672,"nodeType":"ParameterList","parameters":[],"src":"8900:0:1"},"scope":861,"src":"8856:123:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":693,"nodeType":"Block","src":"9163:33:1","statements":[{"expression":{"arguments":[{"id":690,"name":"s_link","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":324,"src":"9184:6:1","typeDescriptions":{"typeIdentifier":"t_contract$_LinkTokenInterface_$1192","typeString":"contract LinkTokenInterface"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_LinkTokenInterface_$1192","typeString":"contract LinkTokenInterface"}],"id":689,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9176:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":688,"name":"address","nodeType":"ElementaryTypeName","src":"9176:7:1","typeDescriptions":{}}},"id":691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9176:15:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":687,"id":692,"nodeType":"Return","src":"9169:22:1"}]},"documentation":{"id":683,"nodeType":"StructuredDocumentation","src":"8983:112:1","text":" @notice Retrieves the stored address of the LINK token\n @return The address of the LINK token"},"id":694,"implemented":true,"kind":"function","modifiers":[],"name":"chainlinkTokenAddress","nameLocation":"9107:21:1","nodeType":"FunctionDefinition","parameters":{"id":684,"nodeType":"ParameterList","parameters":[],"src":"9128:2:1"},"returnParameters":{"id":687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":686,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":694,"src":"9154:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":685,"name":"address","nodeType":"ElementaryTypeName","src":"9154:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9153:9:1"},"scope":861,"src":"9098:98:1","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":705,"nodeType":"Block","src":"9391:35:1","statements":[{"expression":{"arguments":[{"id":702,"name":"s_oracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":327,"src":"9412:8:1","typeDescriptions":{"typeIdentifier":"t_contract$_OperatorInterface_$1272","typeString":"contract OperatorInterface"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_OperatorInterface_$1272","typeString":"contract OperatorInterface"}],"id":701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9404:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":700,"name":"address","nodeType":"ElementaryTypeName","src":"9404:7:1","typeDescriptions":{}}},"id":703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9404:17:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":699,"id":704,"nodeType":"Return","src":"9397:24:1"}]},"documentation":{"id":695,"nodeType":"StructuredDocumentation","src":"9200:122:1","text":" @notice Retrieves the stored address of the oracle contract\n @return The address of the oracle contract"},"id":706,"implemented":true,"kind":"function","modifiers":[],"name":"chainlinkOracleAddress","nameLocation":"9334:22:1","nodeType":"FunctionDefinition","parameters":{"id":696,"nodeType":"ParameterList","parameters":[],"src":"9356:2:1"},"returnParameters":{"id":699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":698,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":706,"src":"9382:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":697,"name":"address","nodeType":"ElementaryTypeName","src":"9382:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9381:9:1"},"scope":861,"src":"9325:101:1","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":723,"nodeType":"Block","src":"9819:55:1","statements":[{"expression":{"id":721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":717,"name":"s_pendingRequests","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":334,"src":"9825:17:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":719,"indexExpression":{"id":718,"name":"requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":711,"src":"9843:9:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9825:28:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":720,"name":"oracleAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":709,"src":"9856:13:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9825:44:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":722,"nodeType":"ExpressionStatement","src":"9825:44:1"}]},"documentation":{"id":707,"nodeType":"StructuredDocumentation","src":"9430:269:1","text":" @notice Allows for a request which was created on another contract to be fulfilled\n on this contract\n @param oracleAddress The address of the oracle contract that will fulfill the request\n @param requestId The request ID used for the response"},"id":724,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":714,"name":"requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":711,"src":"9808:9:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":715,"kind":"modifierInvocation","modifierName":{"id":713,"name":"notPendingRequest","nodeType":"IdentifierPath","referencedDeclaration":860,"src":"9790:17:1"},"nodeType":"ModifierInvocation","src":"9790:28:1"}],"name":"addChainlinkExternalRequest","nameLocation":"9711:27:1","nodeType":"FunctionDefinition","parameters":{"id":712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":709,"mutability":"mutable","name":"oracleAddress","nameLocation":"9747:13:1","nodeType":"VariableDeclaration","scope":724,"src":"9739:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":708,"name":"address","nodeType":"ElementaryTypeName","src":"9739:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":711,"mutability":"mutable","name":"requestId","nameLocation":"9770:9:1","nodeType":"VariableDeclaration","scope":724,"src":"9762:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":710,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9762:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9738:42:1"},"returnParameters":{"id":716,"nodeType":"ParameterList","parameters":[],"src":"9819:0:1"},"scope":861,"src":"9702:172:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":772,"nodeType":"Block","src":"10207:326:1","statements":[{"expression":{"id":736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":732,"name":"s_ens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":319,"src":"10213:5:1","typeDescriptions":{"typeIdentifier":"t_contract$_ENSInterface_$1078","typeString":"contract ENSInterface"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":734,"name":"ensAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":727,"src":"10234:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":733,"name":"ENSInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1078,"src":"10221:12:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ENSInterface_$1078_$","typeString":"type(contract ENSInterface)"}},"id":735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10221:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ENSInterface_$1078","typeString":"contract ENSInterface"}},"src":"10213:32:1","typeDescriptions":{"typeIdentifier":"t_contract$_ENSInterface_$1078","typeString":"contract ENSInterface"}},"id":737,"nodeType":"ExpressionStatement","src":"10213:32:1"},{"expression":{"id":740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":738,"name":"s_ensNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":321,"src":"10251:9:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":739,"name":"node","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":729,"src":"10263:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10251:16:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":741,"nodeType":"ExpressionStatement","src":"10251:16:1"},{"assignments":[743],"declarations":[{"constant":false,"id":743,"mutability":"mutable","name":"linkSubnode","nameLocation":"10281:11:1","nodeType":"VariableDeclaration","scope":772,"src":"10273:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":742,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10273:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":751,"initialValue":{"arguments":[{"arguments":[{"id":747,"name":"s_ensNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":321,"src":"10322:9:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":748,"name":"ENS_TOKEN_SUBNAME","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":308,"src":"10333:17:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":745,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10305:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"10305:16:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10305:46:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":744,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"10295:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10295:57:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"10273:79:1"},{"assignments":[754],"declarations":[{"constant":false,"id":754,"mutability":"mutable","name":"resolver","nameLocation":"10380:8:1","nodeType":"VariableDeclaration","scope":772,"src":"10358:30:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ENSResolver_$3257","typeString":"contract ENSResolver"},"typeName":{"id":753,"nodeType":"UserDefinedTypeName","pathNode":{"id":752,"name":"ENSResolver_Chainlink","nodeType":"IdentifierPath","referencedDeclaration":3257,"src":"10358:21:1"},"referencedDeclaration":3257,"src":"10358:21:1","typeDescriptions":{"typeIdentifier":"t_contract$_ENSResolver_$3257","typeString":"contract ENSResolver"}},"visibility":"internal"}],"id":761,"initialValue":{"arguments":[{"arguments":[{"id":758,"name":"linkSubnode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":743,"src":"10428:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":756,"name":"s_ens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":319,"src":"10413:5:1","typeDescriptions":{"typeIdentifier":"t_contract$_ENSInterface_$1078","typeString":"contract ENSInterface"}},"id":757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"resolver","nodeType":"MemberAccess","referencedDeclaration":1070,"src":"10413:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) view external returns (address)"}},"id":759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10413:27:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":755,"name":"ENSResolver_Chainlink","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3257,"src":"10391:21:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ENSResolver_$3257_$","typeString":"type(contract ENSResolver)"}},"id":760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10391:50:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ENSResolver_$3257","typeString":"contract ENSResolver"}},"nodeType":"VariableDeclarationStatement","src":"10358:83:1"},{"expression":{"arguments":[{"arguments":[{"id":765,"name":"linkSubnode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":743,"src":"10479:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":763,"name":"resolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":754,"src":"10465:8:1","typeDescriptions":{"typeIdentifier":"t_contract$_ENSResolver_$3257","typeString":"contract ENSResolver"}},"id":764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":3256,"src":"10465:13:1","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) view external returns (address)"}},"id":766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10465:26:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":762,"name":"setChainlinkToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":669,"src":"10447:17:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10447:45:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":768,"nodeType":"ExpressionStatement","src":"10447:45:1"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":769,"name":"updateChainlinkOracleWithENS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":805,"src":"10498:28:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10498:30:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":771,"nodeType":"ExpressionStatement","src":"10498:30:1"}]},"documentation":{"id":725,"nodeType":"StructuredDocumentation","src":"9878:254:1","text":" @notice Sets the stored oracle and LINK token contracts with the addresses resolved by ENS\n @dev Accounts for subnodes having different resolvers\n @param ensAddress The address of the ENS contract\n @param node The ENS node hash"},"id":773,"implemented":true,"kind":"function","modifiers":[],"name":"useChainlinkWithENS","nameLocation":"10144:19:1","nodeType":"FunctionDefinition","parameters":{"id":730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":727,"mutability":"mutable","name":"ensAddress","nameLocation":"10172:10:1","nodeType":"VariableDeclaration","scope":773,"src":"10164:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":726,"name":"address","nodeType":"ElementaryTypeName","src":"10164:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":729,"mutability":"mutable","name":"node","nameLocation":"10192:4:1","nodeType":"VariableDeclaration","scope":773,"src":"10184:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":728,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10184:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10163:34:1"},"returnParameters":{"id":731,"nodeType":"ParameterList","parameters":[],"src":"10207:0:1"},"scope":861,"src":"10135:398:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":804,"nodeType":"Block","src":"10776:238:1","statements":[{"assignments":[778],"declarations":[{"constant":false,"id":778,"mutability":"mutable","name":"oracleSubnode","nameLocation":"10790:13:1","nodeType":"VariableDeclaration","scope":804,"src":"10782:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10782:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":786,"initialValue":{"arguments":[{"arguments":[{"id":782,"name":"s_ensNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":321,"src":"10833:9:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":783,"name":"ENS_ORACLE_SUBNAME","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":313,"src":"10844:18:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":780,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10816:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":781,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"10816:16:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10816:47:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":779,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"10806:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10806:58:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"10782:82:1"},{"assignments":[789],"declarations":[{"constant":false,"id":789,"mutability":"mutable","name":"resolver","nameLocation":"10892:8:1","nodeType":"VariableDeclaration","scope":804,"src":"10870:30:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ENSResolver_$3257","typeString":"contract ENSResolver"},"typeName":{"id":788,"nodeType":"UserDefinedTypeName","pathNode":{"id":787,"name":"ENSResolver_Chainlink","nodeType":"IdentifierPath","referencedDeclaration":3257,"src":"10870:21:1"},"referencedDeclaration":3257,"src":"10870:21:1","typeDescriptions":{"typeIdentifier":"t_contract$_ENSResolver_$3257","typeString":"contract ENSResolver"}},"visibility":"internal"}],"id":796,"initialValue":{"arguments":[{"arguments":[{"id":793,"name":"oracleSubnode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":778,"src":"10940:13:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":791,"name":"s_ens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":319,"src":"10925:5:1","typeDescriptions":{"typeIdentifier":"t_contract$_ENSInterface_$1078","typeString":"contract ENSInterface"}},"id":792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"resolver","nodeType":"MemberAccess","referencedDeclaration":1070,"src":"10925:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) view external returns (address)"}},"id":794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10925:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":790,"name":"ENSResolver_Chainlink","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3257,"src":"10903:21:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ENSResolver_$3257_$","typeString":"type(contract ENSResolver)"}},"id":795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10903:52:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ENSResolver_$3257","typeString":"contract ENSResolver"}},"nodeType":"VariableDeclarationStatement","src":"10870:85:1"},{"expression":{"arguments":[{"arguments":[{"id":800,"name":"oracleSubnode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":778,"src":"10994:13:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":798,"name":"resolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":789,"src":"10980:8:1","typeDescriptions":{"typeIdentifier":"t_contract$_ENSResolver_$3257","typeString":"contract ENSResolver"}},"id":799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":3256,"src":"10980:13:1","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) view external returns (address)"}},"id":801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10980:28:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":797,"name":"setChainlinkOracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":656,"src":"10961:18:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10961:48:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":803,"nodeType":"ExpressionStatement","src":"10961:48:1"}]},"documentation":{"id":774,"nodeType":"StructuredDocumentation","src":"10537:187:1","text":" @notice Sets the stored oracle contract with the address resolved by ENS\n @dev This may be called on its own as long as `useChainlinkWithENS` has been called previously"},"id":805,"implemented":true,"kind":"function","modifiers":[],"name":"updateChainlinkOracleWithENS","nameLocation":"10736:28:1","nodeType":"FunctionDefinition","parameters":{"id":775,"nodeType":"ParameterList","parameters":[],"src":"10764:2:1"},"returnParameters":{"id":776,"nodeType":"ParameterList","parameters":[],"src":"10776:0:1"},"scope":861,"src":"10727:287:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":814,"nodeType":"Block","src":"11402:6:1","statements":[]},"documentation":{"id":806,"nodeType":"StructuredDocumentation","src":"11018:223:1","text":" @notice Ensures that the fulfillment is valid for this contract\n @dev Use if the contract developer prefers methods instead of modifiers for validation\n @param requestId The request ID for fulfillment"},"id":815,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":811,"name":"requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":808,"src":"11342:9:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":812,"kind":"modifierInvocation","modifierName":{"id":810,"name":"recordChainlinkFulfillment","nodeType":"IdentifierPath","referencedDeclaration":841,"src":"11315:26:1"},"nodeType":"ModifierInvocation","src":"11315:37:1"}],"name":"validateChainlinkCallback","nameLocation":"11253:25:1","nodeType":"FunctionDefinition","parameters":{"id":809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":808,"mutability":"mutable","name":"requestId","nameLocation":"11287:9:1","nodeType":"VariableDeclaration","scope":815,"src":"11279:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":807,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11279:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11278:19:1"},"returnParameters":{"id":813,"nodeType":"ParameterList","parameters":[],"src":"11402:0:1"},"scope":861,"src":"11244:164:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":840,"nodeType":"Block","src":"11635:194:1","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":821,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11649:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"11649:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":823,"name":"s_pendingRequests","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":334,"src":"11663:17:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":825,"indexExpression":{"id":824,"name":"requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":818,"src":"11681:9:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11663:28:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11649:42:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"536f75726365206d75737420626520746865206f7261636c65206f66207468652072657175657374","id":827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11693:42:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_d5cafe2745dab6273b51cca76f8727c7664db74ede49af049a5b5ca6a3b184e4","typeString":"literal_string \"Source must be the oracle of the request\""},"value":"Source must be the oracle of the request"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d5cafe2745dab6273b51cca76f8727c7664db74ede49af049a5b5ca6a3b184e4","typeString":"literal_string \"Source must be the oracle of the request\""}],"id":820,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11641:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11641:95:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":829,"nodeType":"ExpressionStatement","src":"11641:95:1"},{"expression":{"id":833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11742:35:1","subExpression":{"baseExpression":{"id":830,"name":"s_pendingRequests","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":334,"src":"11749:17:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":832,"indexExpression":{"id":831,"name":"requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":818,"src":"11767:9:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11749:28:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":834,"nodeType":"ExpressionStatement","src":"11742:35:1"},{"eventCall":{"arguments":[{"id":836,"name":"requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":818,"src":"11807:9:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":835,"name":"ChainlinkFulfilled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":342,"src":"11788:18:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11788:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":838,"nodeType":"EmitStatement","src":"11783:34:1"},{"id":839,"nodeType":"PlaceholderStatement","src":"11823:1:1"}]},"documentation":{"id":816,"nodeType":"StructuredDocumentation","src":"11412:165:1","text":" @dev Reverts if the sender is not the oracle of the request.\n Emits ChainlinkFulfilled event.\n @param requestId The request ID for fulfillment"},"id":841,"name":"recordChainlinkFulfillment","nameLocation":"11589:26:1","nodeType":"ModifierDefinition","parameters":{"id":819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":818,"mutability":"mutable","name":"requestId","nameLocation":"11624:9:1","nodeType":"VariableDeclaration","scope":841,"src":"11616:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":817,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11616:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11615:19:1"},"src":"11580:249:1","virtual":false,"visibility":"internal"},{"body":{"id":859,"nodeType":"Block","src":"11996:99:1","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":847,"name":"s_pendingRequests","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":334,"src":"12010:17:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":849,"indexExpression":{"id":848,"name":"requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":844,"src":"12028:9:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12010:28:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12050:1:1","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":851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12042:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":850,"name":"address","nodeType":"ElementaryTypeName","src":"12042:7:1","typeDescriptions":{}}},"id":853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12042:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12010:42:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5265717565737420697320616c72656164792070656e64696e67","id":855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12054:28:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_efa688de2ca2442cd2f76ca864c7a15bdcb24ac77ed3de01d4cf9f6afd58c7aa","typeString":"literal_string \"Request is already pending\""},"value":"Request is already pending"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_efa688de2ca2442cd2f76ca864c7a15bdcb24ac77ed3de01d4cf9f6afd58c7aa","typeString":"literal_string \"Request is already pending\""}],"id":846,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12002:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12002:81:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":857,"nodeType":"ExpressionStatement","src":"12002:81:1"},{"id":858,"nodeType":"PlaceholderStatement","src":"12089:1:1"}]},"documentation":{"id":842,"nodeType":"StructuredDocumentation","src":"11833:114:1","text":" @dev Reverts if the request is already pending\n @param requestId The request ID for fulfillment"},"id":860,"name":"notPendingRequest","nameLocation":"11959:17:1","nodeType":"ModifierDefinition","parameters":{"id":845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":844,"mutability":"mutable","name":"requestId","nameLocation":"11985:9:1","nodeType":"VariableDeclaration","scope":860,"src":"11977:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":843,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11977:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11976:19:1"},"src":"11950:145:1","virtual":false,"visibility":"internal"}],"scope":862,"src":"549:11548:1","usedErrors":[]}],"src":"32:12066:1"},"id":1},"@chainlink/contracts/src/v0.8/VRFConsumerBaseV2.sol":{"ast":{"absolutePath":"@chainlink/contracts/src/v0.8/VRFConsumerBaseV2.sol","exportedSymbols":{"VRFConsumerBaseV2":[919]},"id":920,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":863,"literals":["solidity","^","0.8",".4"],"nodeType":"PragmaDirective","src":"32:23:2"},{"abstract":true,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":{"id":864,"nodeType":"StructuredDocumentation","src":"57:5275:2","text":"****************************************************************************\n @notice Interface for contracts using VRF randomness\n *****************************************************************************\n @dev PURPOSE\n @dev Reggie the Random Oracle (not his real job) wants to provide randomness\n @dev to Vera the verifier in such a way that Vera can be sure he's not\n @dev making his output up to suit himself. Reggie provides Vera a public key\n @dev to which he knows the secret key. Each time Vera provides a seed to\n @dev Reggie, he gives back a value which is computed completely\n @dev deterministically from the seed and the secret key.\n @dev Reggie provides a proof by which Vera can verify that the output was\n @dev correctly computed once Reggie tells it to her, but without that proof,\n @dev the output is indistinguishable to her from a uniform random sample\n @dev from the output space.\n @dev The purpose of this contract is to make it easy for unrelated contracts\n @dev to talk to Vera the verifier about the work Reggie is doing, to provide\n @dev simple access to a verifiable source of randomness. It ensures 2 things:\n @dev 1. The fulfillment came from the VRFCoordinator\n @dev 2. The consumer contract implements fulfillRandomWords.\n *****************************************************************************\n @dev USAGE\n @dev Calling contracts must inherit from VRFConsumerBase, and can\n @dev initialize VRFConsumerBase's attributes in their constructor as\n @dev shown:\n @dev   contract VRFConsumer {\n @dev     constructor(<other arguments>, address _vrfCoordinator, address _link)\n @dev       VRFConsumerBase(_vrfCoordinator) public {\n @dev         <initialization with other arguments goes here>\n @dev       }\n @dev   }\n @dev The oracle will have given you an ID for the VRF keypair they have\n @dev committed to (let's call it keyHash). Create subscription, fund it\n @dev and your consumer contract as a consumer of it (see VRFCoordinatorInterface\n @dev subscription management functions).\n @dev Call requestRandomWords(keyHash, subId, minimumRequestConfirmations,\n @dev callbackGasLimit, numWords),\n @dev see (VRFCoordinatorInterface for a description of the arguments).\n @dev Once the VRFCoordinator has received and validated the oracle's response\n @dev to your request, it will call your contract's fulfillRandomWords method.\n @dev The randomness argument to fulfillRandomWords is a set of random words\n @dev generated from your requestId and the blockHash of the request.\n @dev If your contract could have concurrent requests open, you can use the\n @dev requestId returned from requestRandomWords to track which response is associated\n @dev with which randomness request.\n @dev See \"SECURITY CONSIDERATIONS\" for principles to keep in mind,\n @dev if your contract could have multiple requests in flight simultaneously.\n @dev Colliding `requestId`s are cryptographically impossible as long as seeds\n @dev differ.\n *****************************************************************************\n @dev SECURITY CONSIDERATIONS\n @dev A method with the ability to call your fulfillRandomness method directly\n @dev could spoof a VRF response with any random value, so it's critical that\n @dev it cannot be directly called by anything other than this base contract\n @dev (specifically, by the VRFConsumerBase.rawFulfillRandomness method).\n @dev For your users to trust that your contract's random behavior is free\n @dev from malicious interference, it's best if you can write it so that all\n @dev behaviors implied by a VRF response are executed *during* your\n @dev fulfillRandomness method. If your contract must store the response (or\n @dev anything derived from it) and use it later, you must ensure that any\n @dev user-significant behavior which depends on that stored value cannot be\n @dev manipulated by a subsequent VRF request.\n @dev Similarly, both miners and the VRF oracle itself have some influence\n @dev over the order in which VRF responses appear on the blockchain, so if\n @dev your contract could have multiple VRF requests in flight simultaneously,\n @dev you must ensure that the order in which the VRF responses arrive cannot\n @dev be used to manipulate your contract's user-significant behavior.\n @dev Since the block hash of the block which contains the requestRandomness\n @dev call is mixed into the input to the VRF *last*, a sufficiently powerful\n @dev miner could, in principle, fork the blockchain to evict the block\n @dev containing the request, forcing the request to be included in a\n @dev different block with a different hash, and therefore a different input\n @dev to the VRF. However, such an attack would incur a substantial economic\n @dev cost. This cost scales with the number of blocks the VRF oracle waits\n @dev until it calls responds to a request. It is for this reason that\n @dev that you can signal to an oracle you'd like them to wait longer before\n @dev responding to the request (however this is not enforced in the contract\n @dev and so remains effective only in the case of unmodified oracle software)."},"fullyImplemented":false,"id":919,"linearizedBaseContracts":[919],"name":"VRFConsumerBaseV2","nameLocation":"5351:17:2","nodeType":"ContractDefinition","nodes":[{"id":870,"name":"OnlyCoordinatorCanFulfill","nameLocation":"5379:25:2","nodeType":"ErrorDefinition","parameters":{"id":869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":866,"mutability":"mutable","name":"have","nameLocation":"5413:4:2","nodeType":"VariableDeclaration","scope":870,"src":"5405:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":865,"name":"address","nodeType":"ElementaryTypeName","src":"5405:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":868,"mutability":"mutable","name":"want","nameLocation":"5427:4:2","nodeType":"VariableDeclaration","scope":870,"src":"5419:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":867,"name":"address","nodeType":"ElementaryTypeName","src":"5419:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5404:28:2"},"src":"5373:60:2"},{"constant":false,"id":872,"mutability":"immutable","name":"vrfCoordinator","nameLocation":"5462:14:2","nodeType":"VariableDeclaration","scope":919,"src":"5436:40:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":871,"name":"address","nodeType":"ElementaryTypeName","src":"5436:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"body":{"id":882,"nodeType":"Block","src":"5593:43:2","statements":[{"expression":{"id":880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":878,"name":"vrfCoordinator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":872,"src":"5599:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":879,"name":"_vrfCoordinator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"5616:15:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5599:32:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":881,"nodeType":"ExpressionStatement","src":"5599:32:2"}]},"documentation":{"id":873,"nodeType":"StructuredDocumentation","src":"5481:72:2","text":" @param _vrfCoordinator address of VRFCoordinator contract"},"id":883,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":875,"mutability":"mutable","name":"_vrfCoordinator","nameLocation":"5576:15:2","nodeType":"VariableDeclaration","scope":883,"src":"5568:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":874,"name":"address","nodeType":"ElementaryTypeName","src":"5568:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5567:25:2"},"returnParameters":{"id":877,"nodeType":"ParameterList","parameters":[],"src":"5593:0:2"},"scope":919,"src":"5556:80:2","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"documentation":{"id":884,"nodeType":"StructuredDocumentation","src":"5640:686:2","text":" @notice fulfillRandomness handles the VRF response. Your contract must\n @notice implement it. See \"SECURITY CONSIDERATIONS\" above for important\n @notice principles to keep in mind when implementing your fulfillRandomness\n @notice method.\n @dev VRFConsumerBaseV2 expects its subcontracts to have a method with this\n @dev signature, and will call it once it has verified the proof\n @dev associated with the randomness. (It is triggered via a call to\n @dev rawFulfillRandomness, below.)\n @param requestId The Id initially returned by requestRandomness\n @param randomWords the VRF output expanded to the requested number of words"},"id":892,"implemented":false,"kind":"function","modifiers":[],"name":"fulfillRandomWords","nameLocation":"6338:18:2","nodeType":"FunctionDefinition","parameters":{"id":890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":886,"mutability":"mutable","name":"requestId","nameLocation":"6365:9:2","nodeType":"VariableDeclaration","scope":892,"src":"6357:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":885,"name":"uint256","nodeType":"ElementaryTypeName","src":"6357:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":889,"mutability":"mutable","name":"randomWords","nameLocation":"6393:11:2","nodeType":"VariableDeclaration","scope":892,"src":"6376:28:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":887,"name":"uint256","nodeType":"ElementaryTypeName","src":"6376:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":888,"nodeType":"ArrayTypeName","src":"6376:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"6356:49:2"},"returnParameters":{"id":891,"nodeType":"ParameterList","parameters":[],"src":"6422:0:2"},"scope":919,"src":"6329:94:2","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":917,"nodeType":"Block","src":"6707:167:2","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":900,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6717:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"6717:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":902,"name":"vrfCoordinator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":872,"src":"6731:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6717:28:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":911,"nodeType":"IfStatement","src":"6713:109:2","trueBody":{"id":910,"nodeType":"Block","src":"6747:75:2","statements":[{"errorCall":{"arguments":[{"expression":{"id":905,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6788:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"6788:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":907,"name":"vrfCoordinator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":872,"src":"6800:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":904,"name":"OnlyCoordinatorCanFulfill","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":870,"src":"6762:25:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6762:53:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":909,"nodeType":"RevertStatement","src":"6755:60:2"}]}},{"expression":{"arguments":[{"id":913,"name":"requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":894,"src":"6846:9:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":914,"name":"randomWords","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":897,"src":"6857:11:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":912,"name":"fulfillRandomWords","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":892,"src":"6827:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256,uint256[] memory)"}},"id":915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6827:42:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":916,"nodeType":"ExpressionStatement","src":"6827:42:2"}]},"functionSelector":"1fe543e3","id":918,"implemented":true,"kind":"function","modifiers":[],"name":"rawFulfillRandomWords","nameLocation":"6627:21:2","nodeType":"FunctionDefinition","parameters":{"id":898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":894,"mutability":"mutable","name":"requestId","nameLocation":"6657:9:2","nodeType":"VariableDeclaration","scope":918,"src":"6649:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":893,"name":"uint256","nodeType":"ElementaryTypeName","src":"6649:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":897,"mutability":"mutable","name":"randomWords","nameLocation":"6685:11:2","nodeType":"VariableDeclaration","scope":918,"src":"6668:28:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":895,"name":"uint256","nodeType":"ElementaryTypeName","src":"6668:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":896,"nodeType":"ArrayTypeName","src":"6668:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"6648:49:2"},"returnParameters":{"id":899,"nodeType":"ParameterList","parameters":[],"src":"6707:0:2"},"scope":919,"src":"6618:256:2","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":920,"src":"5333:1543:2","usedErrors":[870]}],"src":"32:6845:2"},"id":2},"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol":{"ast":{"absolutePath":"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol","exportedSymbols":{"AggregatorV3Interface":[965]},"id":966,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":921,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:3"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":965,"linearizedBaseContracts":[965],"name":"AggregatorV3Interface","nameLocation":"67:21:3","nodeType":"ContractDefinition","nodes":[{"functionSelector":"313ce567","id":926,"implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"102:8:3","nodeType":"FunctionDefinition","parameters":{"id":922,"nodeType":"ParameterList","parameters":[],"src":"110:2:3"},"returnParameters":{"id":925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":924,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":926,"src":"136:5:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":923,"name":"uint8","nodeType":"ElementaryTypeName","src":"136:5:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"135:7:3"},"scope":965,"src":"93:50:3","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"7284e416","id":931,"implemented":false,"kind":"function","modifiers":[],"name":"description","nameLocation":"156:11:3","nodeType":"FunctionDefinition","parameters":{"id":927,"nodeType":"ParameterList","parameters":[],"src":"167:2:3"},"returnParameters":{"id":930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":929,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":931,"src":"193:13:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":928,"name":"string","nodeType":"ElementaryTypeName","src":"193:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"192:15:3"},"scope":965,"src":"147:61:3","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"54fd4d50","id":936,"implemented":false,"kind":"function","modifiers":[],"name":"version","nameLocation":"221:7:3","nodeType":"FunctionDefinition","parameters":{"id":932,"nodeType":"ParameterList","parameters":[],"src":"228:2:3"},"returnParameters":{"id":935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":934,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":936,"src":"254:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":933,"name":"uint256","nodeType":"ElementaryTypeName","src":"254:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"253:9:3"},"scope":965,"src":"212:51:3","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"9a6fc8f5","id":951,"implemented":false,"kind":"function","modifiers":[],"name":"getRoundData","nameLocation":"276:12:3","nodeType":"FunctionDefinition","parameters":{"id":939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":938,"mutability":"mutable","name":"_roundId","nameLocation":"296:8:3","nodeType":"VariableDeclaration","scope":951,"src":"289:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"},"typeName":{"id":937,"name":"uint80","nodeType":"ElementaryTypeName","src":"289:6:3","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"visibility":"internal"}],"src":"288:17:3"},"returnParameters":{"id":950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":941,"mutability":"mutable","name":"roundId","nameLocation":"355:7:3","nodeType":"VariableDeclaration","scope":951,"src":"348:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"},"typeName":{"id":940,"name":"uint80","nodeType":"ElementaryTypeName","src":"348:6:3","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"visibility":"internal"},{"constant":false,"id":943,"mutability":"mutable","name":"answer","nameLocation":"377:6:3","nodeType":"VariableDeclaration","scope":951,"src":"370:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":942,"name":"int256","nodeType":"ElementaryTypeName","src":"370:6:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":945,"mutability":"mutable","name":"startedAt","nameLocation":"399:9:3","nodeType":"VariableDeclaration","scope":951,"src":"391:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":944,"name":"uint256","nodeType":"ElementaryTypeName","src":"391:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":947,"mutability":"mutable","name":"updatedAt","nameLocation":"424:9:3","nodeType":"VariableDeclaration","scope":951,"src":"416:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":946,"name":"uint256","nodeType":"ElementaryTypeName","src":"416:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":949,"mutability":"mutable","name":"answeredInRound","nameLocation":"448:15:3","nodeType":"VariableDeclaration","scope":951,"src":"441:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"},"typeName":{"id":948,"name":"uint80","nodeType":"ElementaryTypeName","src":"441:6:3","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"visibility":"internal"}],"src":"340:129:3"},"scope":965,"src":"267:203:3","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"feaf968c","id":964,"implemented":false,"kind":"function","modifiers":[],"name":"latestRoundData","nameLocation":"483:15:3","nodeType":"FunctionDefinition","parameters":{"id":952,"nodeType":"ParameterList","parameters":[],"src":"498:2:3"},"returnParameters":{"id":963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":954,"mutability":"mutable","name":"roundId","nameLocation":"550:7:3","nodeType":"VariableDeclaration","scope":964,"src":"543:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"},"typeName":{"id":953,"name":"uint80","nodeType":"ElementaryTypeName","src":"543:6:3","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"visibility":"internal"},{"constant":false,"id":956,"mutability":"mutable","name":"answer","nameLocation":"572:6:3","nodeType":"VariableDeclaration","scope":964,"src":"565:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":955,"name":"int256","nodeType":"ElementaryTypeName","src":"565:6:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":958,"mutability":"mutable","name":"startedAt","nameLocation":"594:9:3","nodeType":"VariableDeclaration","scope":964,"src":"586:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":957,"name":"uint256","nodeType":"ElementaryTypeName","src":"586:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":960,"mutability":"mutable","name":"updatedAt","nameLocation":"619:9:3","nodeType":"VariableDeclaration","scope":964,"src":"611:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":959,"name":"uint256","nodeType":"ElementaryTypeName","src":"611:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":962,"mutability":"mutable","name":"answeredInRound","nameLocation":"643:15:3","nodeType":"VariableDeclaration","scope":964,"src":"636:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"},"typeName":{"id":961,"name":"uint80","nodeType":"ElementaryTypeName","src":"636:6:3","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"visibility":"internal"}],"src":"535:129:3"},"scope":965,"src":"474:191:3","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":966,"src":"57:610:3","usedErrors":[]}],"src":"32:636:3"},"id":3},"@chainlink/contracts/src/v0.8/interfaces/ChainlinkRequestInterface.sol":{"ast":{"absolutePath":"@chainlink/contracts/src/v0.8/interfaces/ChainlinkRequestInterface.sol","exportedSymbols":{"ChainlinkRequestInterface":[998]},"id":999,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":967,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:4"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":998,"linearizedBaseContracts":[998],"name":"ChainlinkRequestInterface","nameLocation":"67:25:4","nodeType":"ContractDefinition","nodes":[{"functionSelector":"40429946","id":986,"implemented":false,"kind":"function","modifiers":[],"name":"oracleRequest","nameLocation":"106:13:4","nodeType":"FunctionDefinition","parameters":{"id":984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":969,"mutability":"mutable","name":"sender","nameLocation":"133:6:4","nodeType":"VariableDeclaration","scope":986,"src":"125:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":968,"name":"address","nodeType":"ElementaryTypeName","src":"125:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":971,"mutability":"mutable","name":"requestPrice","nameLocation":"153:12:4","nodeType":"VariableDeclaration","scope":986,"src":"145:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":970,"name":"uint256","nodeType":"ElementaryTypeName","src":"145:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":973,"mutability":"mutable","name":"serviceAgreementID","nameLocation":"179:18:4","nodeType":"VariableDeclaration","scope":986,"src":"171:26:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":972,"name":"bytes32","nodeType":"ElementaryTypeName","src":"171:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":975,"mutability":"mutable","name":"callbackAddress","nameLocation":"211:15:4","nodeType":"VariableDeclaration","scope":986,"src":"203:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":974,"name":"address","nodeType":"ElementaryTypeName","src":"203:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":977,"mutability":"mutable","name":"callbackFunctionId","nameLocation":"239:18:4","nodeType":"VariableDeclaration","scope":986,"src":"232:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":976,"name":"bytes4","nodeType":"ElementaryTypeName","src":"232:6:4","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":979,"mutability":"mutable","name":"nonce","nameLocation":"271:5:4","nodeType":"VariableDeclaration","scope":986,"src":"263:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":978,"name":"uint256","nodeType":"ElementaryTypeName","src":"263:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":981,"mutability":"mutable","name":"dataVersion","nameLocation":"290:11:4","nodeType":"VariableDeclaration","scope":986,"src":"282:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":980,"name":"uint256","nodeType":"ElementaryTypeName","src":"282:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":983,"mutability":"mutable","name":"data","nameLocation":"322:4:4","nodeType":"VariableDeclaration","scope":986,"src":"307:19:4","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":982,"name":"bytes","nodeType":"ElementaryTypeName","src":"307:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"119:211:4"},"returnParameters":{"id":985,"nodeType":"ParameterList","parameters":[],"src":"339:0:4"},"scope":998,"src":"97:243:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"6ee4d553","id":997,"implemented":false,"kind":"function","modifiers":[],"name":"cancelOracleRequest","nameLocation":"353:19:4","nodeType":"FunctionDefinition","parameters":{"id":995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":988,"mutability":"mutable","name":"requestId","nameLocation":"386:9:4","nodeType":"VariableDeclaration","scope":997,"src":"378:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":987,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":990,"mutability":"mutable","name":"payment","nameLocation":"409:7:4","nodeType":"VariableDeclaration","scope":997,"src":"401:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":989,"name":"uint256","nodeType":"ElementaryTypeName","src":"401:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":992,"mutability":"mutable","name":"callbackFunctionId","nameLocation":"429:18:4","nodeType":"VariableDeclaration","scope":997,"src":"422:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":991,"name":"bytes4","nodeType":"ElementaryTypeName","src":"422:6:4","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":994,"mutability":"mutable","name":"expiration","nameLocation":"461:10:4","nodeType":"VariableDeclaration","scope":997,"src":"453:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":993,"name":"uint256","nodeType":"ElementaryTypeName","src":"453:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"372:103:4"},"returnParameters":{"id":996,"nodeType":"ParameterList","parameters":[],"src":"484:0:4"},"scope":998,"src":"344:141:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":999,"src":"57:430:4","usedErrors":[]}],"src":"32:456:4"},"id":4},"@chainlink/contracts/src/v0.8/interfaces/ENSInterface.sol":{"ast":{"absolutePath":"@chainlink/contracts/src/v0.8/interfaces/ENSInterface.sol","exportedSymbols":{"ENSInterface":[1078]},"id":1079,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1000,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:5"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":1078,"linearizedBaseContracts":[1078],"name":"ENSInterface","nameLocation":"67:12:5","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"id":1008,"name":"NewOwner","nameLocation":"161:8:5","nodeType":"EventDefinition","parameters":{"id":1007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1002,"indexed":true,"mutability":"mutable","name":"node","nameLocation":"186:4:5","nodeType":"VariableDeclaration","scope":1008,"src":"170:20:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1001,"name":"bytes32","nodeType":"ElementaryTypeName","src":"170:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1004,"indexed":true,"mutability":"mutable","name":"label","nameLocation":"208:5:5","nodeType":"VariableDeclaration","scope":1008,"src":"192:21:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1003,"name":"bytes32","nodeType":"ElementaryTypeName","src":"192:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1006,"indexed":false,"mutability":"mutable","name":"owner","nameLocation":"223:5:5","nodeType":"VariableDeclaration","scope":1008,"src":"215:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1005,"name":"address","nodeType":"ElementaryTypeName","src":"215:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"169:60:5"},"src":"155:75:5"},{"anonymous":false,"id":1014,"name":"Transfer","nameLocation":"315:8:5","nodeType":"EventDefinition","parameters":{"id":1013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1010,"indexed":true,"mutability":"mutable","name":"node","nameLocation":"340:4:5","nodeType":"VariableDeclaration","scope":1014,"src":"324:20:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1009,"name":"bytes32","nodeType":"ElementaryTypeName","src":"324:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1012,"indexed":false,"mutability":"mutable","name":"owner","nameLocation":"354:5:5","nodeType":"VariableDeclaration","scope":1014,"src":"346:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1011,"name":"address","nodeType":"ElementaryTypeName","src":"346:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"323:37:5"},"src":"309:52:5"},{"anonymous":false,"id":1020,"name":"NewResolver","nameLocation":"421:11:5","nodeType":"EventDefinition","parameters":{"id":1019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1016,"indexed":true,"mutability":"mutable","name":"node","nameLocation":"449:4:5","nodeType":"VariableDeclaration","scope":1020,"src":"433:20:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1015,"name":"bytes32","nodeType":"ElementaryTypeName","src":"433:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1018,"indexed":false,"mutability":"mutable","name":"resolver","nameLocation":"463:8:5","nodeType":"VariableDeclaration","scope":1020,"src":"455:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1017,"name":"address","nodeType":"ElementaryTypeName","src":"455:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"432:40:5"},"src":"415:58:5"},{"anonymous":false,"id":1026,"name":"NewTTL","nameLocation":"526:6:5","nodeType":"EventDefinition","parameters":{"id":1025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1022,"indexed":true,"mutability":"mutable","name":"node","nameLocation":"549:4:5","nodeType":"VariableDeclaration","scope":1026,"src":"533:20:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1021,"name":"bytes32","nodeType":"ElementaryTypeName","src":"533:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1024,"indexed":false,"mutability":"mutable","name":"ttl","nameLocation":"562:3:5","nodeType":"VariableDeclaration","scope":1026,"src":"555:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1023,"name":"uint64","nodeType":"ElementaryTypeName","src":"555:6:5","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"532:34:5"},"src":"520:47:5"},{"functionSelector":"06ab5923","id":1035,"implemented":false,"kind":"function","modifiers":[],"name":"setSubnodeOwner","nameLocation":"580:15:5","nodeType":"FunctionDefinition","parameters":{"id":1033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1028,"mutability":"mutable","name":"node","nameLocation":"609:4:5","nodeType":"VariableDeclaration","scope":1035,"src":"601:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1027,"name":"bytes32","nodeType":"ElementaryTypeName","src":"601:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1030,"mutability":"mutable","name":"label","nameLocation":"627:5:5","nodeType":"VariableDeclaration","scope":1035,"src":"619:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1029,"name":"bytes32","nodeType":"ElementaryTypeName","src":"619:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1032,"mutability":"mutable","name":"owner","nameLocation":"646:5:5","nodeType":"VariableDeclaration","scope":1035,"src":"638:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1031,"name":"address","nodeType":"ElementaryTypeName","src":"638:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"595:60:5"},"returnParameters":{"id":1034,"nodeType":"ParameterList","parameters":[],"src":"664:0:5"},"scope":1078,"src":"571:94:5","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"1896f70a","id":1042,"implemented":false,"kind":"function","modifiers":[],"name":"setResolver","nameLocation":"678:11:5","nodeType":"FunctionDefinition","parameters":{"id":1040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1037,"mutability":"mutable","name":"node","nameLocation":"698:4:5","nodeType":"VariableDeclaration","scope":1042,"src":"690:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1036,"name":"bytes32","nodeType":"ElementaryTypeName","src":"690:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1039,"mutability":"mutable","name":"resolver","nameLocation":"712:8:5","nodeType":"VariableDeclaration","scope":1042,"src":"704:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1038,"name":"address","nodeType":"ElementaryTypeName","src":"704:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"689:32:5"},"returnParameters":{"id":1041,"nodeType":"ParameterList","parameters":[],"src":"730:0:5"},"scope":1078,"src":"669:62:5","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"5b0fc9c3","id":1049,"implemented":false,"kind":"function","modifiers":[],"name":"setOwner","nameLocation":"744:8:5","nodeType":"FunctionDefinition","parameters":{"id":1047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1044,"mutability":"mutable","name":"node","nameLocation":"761:4:5","nodeType":"VariableDeclaration","scope":1049,"src":"753:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1043,"name":"bytes32","nodeType":"ElementaryTypeName","src":"753:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1046,"mutability":"mutable","name":"owner","nameLocation":"775:5:5","nodeType":"VariableDeclaration","scope":1049,"src":"767:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1045,"name":"address","nodeType":"ElementaryTypeName","src":"767:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"752:29:5"},"returnParameters":{"id":1048,"nodeType":"ParameterList","parameters":[],"src":"790:0:5"},"scope":1078,"src":"735:56:5","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"14ab9038","id":1056,"implemented":false,"kind":"function","modifiers":[],"name":"setTTL","nameLocation":"804:6:5","nodeType":"FunctionDefinition","parameters":{"id":1054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1051,"mutability":"mutable","name":"node","nameLocation":"819:4:5","nodeType":"VariableDeclaration","scope":1056,"src":"811:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1050,"name":"bytes32","nodeType":"ElementaryTypeName","src":"811:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1053,"mutability":"mutable","name":"ttl","nameLocation":"832:3:5","nodeType":"VariableDeclaration","scope":1056,"src":"825:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1052,"name":"uint64","nodeType":"ElementaryTypeName","src":"825:6:5","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"810:26:5"},"returnParameters":{"id":1055,"nodeType":"ParameterList","parameters":[],"src":"845:0:5"},"scope":1078,"src":"795:51:5","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"02571be3","id":1063,"implemented":false,"kind":"function","modifiers":[],"name":"owner","nameLocation":"859:5:5","nodeType":"FunctionDefinition","parameters":{"id":1059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1058,"mutability":"mutable","name":"node","nameLocation":"873:4:5","nodeType":"VariableDeclaration","scope":1063,"src":"865:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1057,"name":"bytes32","nodeType":"ElementaryTypeName","src":"865:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"864:14:5"},"returnParameters":{"id":1062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1061,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1063,"src":"902:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1060,"name":"address","nodeType":"ElementaryTypeName","src":"902:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"901:9:5"},"scope":1078,"src":"850:61:5","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"0178b8bf","id":1070,"implemented":false,"kind":"function","modifiers":[],"name":"resolver","nameLocation":"924:8:5","nodeType":"FunctionDefinition","parameters":{"id":1066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1065,"mutability":"mutable","name":"node","nameLocation":"941:4:5","nodeType":"VariableDeclaration","scope":1070,"src":"933:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1064,"name":"bytes32","nodeType":"ElementaryTypeName","src":"933:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"932:14:5"},"returnParameters":{"id":1069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1068,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1070,"src":"970:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1067,"name":"address","nodeType":"ElementaryTypeName","src":"970:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"969:9:5"},"scope":1078,"src":"915:64:5","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"16a25cbd","id":1077,"implemented":false,"kind":"function","modifiers":[],"name":"ttl","nameLocation":"992:3:5","nodeType":"FunctionDefinition","parameters":{"id":1073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1072,"mutability":"mutable","name":"node","nameLocation":"1004:4:5","nodeType":"VariableDeclaration","scope":1077,"src":"996:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1071,"name":"bytes32","nodeType":"ElementaryTypeName","src":"996:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"995:14:5"},"returnParameters":{"id":1076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1075,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1077,"src":"1033:6:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1074,"name":"uint64","nodeType":"ElementaryTypeName","src":"1033:6:5","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"1032:8:5"},"scope":1078,"src":"983:58:5","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":1079,"src":"57:986:5","usedErrors":[]}],"src":"32:1012:5"},"id":5},"@chainlink/contracts/src/v0.8/interfaces/KeeperCompatibleInterface.sol":{"ast":{"absolutePath":"@chainlink/contracts/src/v0.8/interfaces/KeeperCompatibleInterface.sol","exportedSymbols":{"KeeperCompatibleInterface":[1097]},"id":1098,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1080,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:6"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":1097,"linearizedBaseContracts":[1097],"name":"KeeperCompatibleInterface","nameLocation":"67:25:6","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":1081,"nodeType":"StructuredDocumentation","src":"97:985:6","text":" @notice method that is simulated by the keepers to see if any work actually\n needs to be performed. This method does does not actually need to be\n executable, and since it is only ever simulated it can consume lots of gas.\n @dev To ensure that it is never called, you may want to add the\n cannotExecute modifier from KeeperBase to your implementation of this\n method.\n @param checkData specified in the upkeep registration so it is always the\n same for a registered upkeep. This can easily be broken down into specific\n arguments using `abi.decode`, so multiple upkeeps can be registered on the\n same contract and easily differentiated by the contract.\n @return upkeepNeeded boolean to indicate whether the keeper should call\n performUpkeep or not.\n @return performData bytes that the keeper should call performUpkeep with, if\n upkeep is needed. If you would like to encode data to decode later, try\n `abi.encode`."},"functionSelector":"6e04ff0d","id":1090,"implemented":false,"kind":"function","modifiers":[],"name":"checkUpkeep","nameLocation":"1094:11:6","nodeType":"FunctionDefinition","parameters":{"id":1084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1083,"mutability":"mutable","name":"checkData","nameLocation":"1121:9:6","nodeType":"VariableDeclaration","scope":1090,"src":"1106:24:6","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1082,"name":"bytes","nodeType":"ElementaryTypeName","src":"1106:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1105:26:6"},"returnParameters":{"id":1089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1086,"mutability":"mutable","name":"upkeepNeeded","nameLocation":"1155:12:6","nodeType":"VariableDeclaration","scope":1090,"src":"1150:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1085,"name":"bool","nodeType":"ElementaryTypeName","src":"1150:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1088,"mutability":"mutable","name":"performData","nameLocation":"1182:11:6","nodeType":"VariableDeclaration","scope":1090,"src":"1169:24:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1087,"name":"bytes","nodeType":"ElementaryTypeName","src":"1169:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1149:45:6"},"scope":1097,"src":"1085:110:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1091,"nodeType":"StructuredDocumentation","src":"1199:1003:6","text":" @notice method that is actually executed by the keepers, via the registry.\n The data returned by the checkUpkeep simulation will be passed into\n this method to actually be executed.\n @dev The input to this method should not be trusted, and the caller of the\n method should not even be restricted to any single registry. Anyone should\n be able call it, and the input should be validated, there is no guarantee\n that the data passed in is the performData returned from checkUpkeep. This\n could happen due to malicious keepers, racing keepers, or simply a state\n change while the performUpkeep transaction is waiting for confirmation.\n Always validate the data passed in.\n @param performData is the data which was passed back from the checkData\n simulation. If it is encoded, it can easily be decoded into other types by\n calling `abi.decode`. This data should not be trusted, and should be\n validated against the contract's current state."},"functionSelector":"4585e33b","id":1096,"implemented":false,"kind":"function","modifiers":[],"name":"performUpkeep","nameLocation":"2214:13:6","nodeType":"FunctionDefinition","parameters":{"id":1094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1093,"mutability":"mutable","name":"performData","nameLocation":"2243:11:6","nodeType":"VariableDeclaration","scope":1096,"src":"2228:26:6","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1092,"name":"bytes","nodeType":"ElementaryTypeName","src":"2228:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2227:28:6"},"returnParameters":{"id":1095,"nodeType":"ParameterList","parameters":[],"src":"2264:0:6"},"scope":1097,"src":"2205:60:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":1098,"src":"57:2210:6","usedErrors":[]}],"src":"32:2236:6"},"id":6},"@chainlink/contracts/src/v0.8/interfaces/LinkTokenInterface.sol":{"ast":{"absolutePath":"@chainlink/contracts/src/v0.8/interfaces/LinkTokenInterface.sol","exportedSymbols":{"LinkTokenInterface":[1192]},"id":1193,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1099,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:7"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":1192,"linearizedBaseContracts":[1192],"name":"LinkTokenInterface","nameLocation":"67:18:7","nodeType":"ContractDefinition","nodes":[{"functionSelector":"dd62ed3e","id":1108,"implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"99:9:7","nodeType":"FunctionDefinition","parameters":{"id":1104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1101,"mutability":"mutable","name":"owner","nameLocation":"117:5:7","nodeType":"VariableDeclaration","scope":1108,"src":"109:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1100,"name":"address","nodeType":"ElementaryTypeName","src":"109:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1103,"mutability":"mutable","name":"spender","nameLocation":"132:7:7","nodeType":"VariableDeclaration","scope":1108,"src":"124:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1102,"name":"address","nodeType":"ElementaryTypeName","src":"124:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"108:32:7"},"returnParameters":{"id":1107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1106,"mutability":"mutable","name":"remaining","nameLocation":"172:9:7","nodeType":"VariableDeclaration","scope":1108,"src":"164:17:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1105,"name":"uint256","nodeType":"ElementaryTypeName","src":"164:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"163:19:7"},"scope":1192,"src":"90:93:7","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"095ea7b3","id":1117,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"196:7:7","nodeType":"FunctionDefinition","parameters":{"id":1113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1110,"mutability":"mutable","name":"spender","nameLocation":"212:7:7","nodeType":"VariableDeclaration","scope":1117,"src":"204:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1109,"name":"address","nodeType":"ElementaryTypeName","src":"204:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1112,"mutability":"mutable","name":"value","nameLocation":"229:5:7","nodeType":"VariableDeclaration","scope":1117,"src":"221:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1111,"name":"uint256","nodeType":"ElementaryTypeName","src":"221:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"203:32:7"},"returnParameters":{"id":1116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1115,"mutability":"mutable","name":"success","nameLocation":"259:7:7","nodeType":"VariableDeclaration","scope":1117,"src":"254:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1114,"name":"bool","nodeType":"ElementaryTypeName","src":"254:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"253:14:7"},"scope":1192,"src":"187:81:7","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"70a08231","id":1124,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"281:9:7","nodeType":"FunctionDefinition","parameters":{"id":1120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1119,"mutability":"mutable","name":"owner","nameLocation":"299:5:7","nodeType":"VariableDeclaration","scope":1124,"src":"291:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1118,"name":"address","nodeType":"ElementaryTypeName","src":"291:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"290:15:7"},"returnParameters":{"id":1123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1122,"mutability":"mutable","name":"balance","nameLocation":"337:7:7","nodeType":"VariableDeclaration","scope":1124,"src":"329:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1121,"name":"uint256","nodeType":"ElementaryTypeName","src":"329:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"328:17:7"},"scope":1192,"src":"272:74:7","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"313ce567","id":1129,"implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"359:8:7","nodeType":"FunctionDefinition","parameters":{"id":1125,"nodeType":"ParameterList","parameters":[],"src":"367:2:7"},"returnParameters":{"id":1128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1127,"mutability":"mutable","name":"decimalPlaces","nameLocation":"399:13:7","nodeType":"VariableDeclaration","scope":1129,"src":"393:19:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":1126,"name":"uint8","nodeType":"ElementaryTypeName","src":"393:5:7","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"392:21:7"},"scope":1192,"src":"350:64:7","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"66188463","id":1138,"implemented":false,"kind":"function","modifiers":[],"name":"decreaseApproval","nameLocation":"427:16:7","nodeType":"FunctionDefinition","parameters":{"id":1134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1131,"mutability":"mutable","name":"spender","nameLocation":"452:7:7","nodeType":"VariableDeclaration","scope":1138,"src":"444:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1130,"name":"address","nodeType":"ElementaryTypeName","src":"444:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1133,"mutability":"mutable","name":"addedValue","nameLocation":"469:10:7","nodeType":"VariableDeclaration","scope":1138,"src":"461:18:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1132,"name":"uint256","nodeType":"ElementaryTypeName","src":"461:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"443:37:7"},"returnParameters":{"id":1137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1136,"mutability":"mutable","name":"success","nameLocation":"504:7:7","nodeType":"VariableDeclaration","scope":1138,"src":"499:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1135,"name":"bool","nodeType":"ElementaryTypeName","src":"499:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"498:14:7"},"scope":1192,"src":"418:95:7","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"d73dd623","id":1145,"implemented":false,"kind":"function","modifiers":[],"name":"increaseApproval","nameLocation":"526:16:7","nodeType":"FunctionDefinition","parameters":{"id":1143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1140,"mutability":"mutable","name":"spender","nameLocation":"551:7:7","nodeType":"VariableDeclaration","scope":1145,"src":"543:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1139,"name":"address","nodeType":"ElementaryTypeName","src":"543:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1142,"mutability":"mutable","name":"subtractedValue","nameLocation":"568:15:7","nodeType":"VariableDeclaration","scope":1145,"src":"560:23:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1141,"name":"uint256","nodeType":"ElementaryTypeName","src":"560:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"542:42:7"},"returnParameters":{"id":1144,"nodeType":"ParameterList","parameters":[],"src":"593:0:7"},"scope":1192,"src":"517:77:7","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"06fdde03","id":1150,"implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"607:4:7","nodeType":"FunctionDefinition","parameters":{"id":1146,"nodeType":"ParameterList","parameters":[],"src":"611:2:7"},"returnParameters":{"id":1149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1148,"mutability":"mutable","name":"tokenName","nameLocation":"651:9:7","nodeType":"VariableDeclaration","scope":1150,"src":"637:23:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1147,"name":"string","nodeType":"ElementaryTypeName","src":"637:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"636:25:7"},"scope":1192,"src":"598:64:7","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"95d89b41","id":1155,"implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"675:6:7","nodeType":"FunctionDefinition","parameters":{"id":1151,"nodeType":"ParameterList","parameters":[],"src":"681:2:7"},"returnParameters":{"id":1154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1153,"mutability":"mutable","name":"tokenSymbol","nameLocation":"721:11:7","nodeType":"VariableDeclaration","scope":1155,"src":"707:25:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1152,"name":"string","nodeType":"ElementaryTypeName","src":"707:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"706:27:7"},"scope":1192,"src":"666:68:7","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"18160ddd","id":1160,"implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"747:11:7","nodeType":"FunctionDefinition","parameters":{"id":1156,"nodeType":"ParameterList","parameters":[],"src":"758:2:7"},"returnParameters":{"id":1159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1158,"mutability":"mutable","name":"totalTokensIssued","nameLocation":"792:17:7","nodeType":"VariableDeclaration","scope":1160,"src":"784:25:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1157,"name":"uint256","nodeType":"ElementaryTypeName","src":"784:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"783:27:7"},"scope":1192,"src":"738:73:7","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"a9059cbb","id":1169,"implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"824:8:7","nodeType":"FunctionDefinition","parameters":{"id":1165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1162,"mutability":"mutable","name":"to","nameLocation":"841:2:7","nodeType":"VariableDeclaration","scope":1169,"src":"833:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1161,"name":"address","nodeType":"ElementaryTypeName","src":"833:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1164,"mutability":"mutable","name":"value","nameLocation":"853:5:7","nodeType":"VariableDeclaration","scope":1169,"src":"845:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1163,"name":"uint256","nodeType":"ElementaryTypeName","src":"845:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"832:27:7"},"returnParameters":{"id":1168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1167,"mutability":"mutable","name":"success","nameLocation":"883:7:7","nodeType":"VariableDeclaration","scope":1169,"src":"878:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1166,"name":"bool","nodeType":"ElementaryTypeName","src":"878:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"877:14:7"},"scope":1192,"src":"815:77:7","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"4000aea0","id":1180,"implemented":false,"kind":"function","modifiers":[],"name":"transferAndCall","nameLocation":"905:15:7","nodeType":"FunctionDefinition","parameters":{"id":1176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1171,"mutability":"mutable","name":"to","nameLocation":"934:2:7","nodeType":"VariableDeclaration","scope":1180,"src":"926:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1170,"name":"address","nodeType":"ElementaryTypeName","src":"926:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1173,"mutability":"mutable","name":"value","nameLocation":"950:5:7","nodeType":"VariableDeclaration","scope":1180,"src":"942:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1172,"name":"uint256","nodeType":"ElementaryTypeName","src":"942:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1175,"mutability":"mutable","name":"data","nameLocation":"976:4:7","nodeType":"VariableDeclaration","scope":1180,"src":"961:19:7","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1174,"name":"bytes","nodeType":"ElementaryTypeName","src":"961:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"920:64:7"},"returnParameters":{"id":1179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1178,"mutability":"mutable","name":"success","nameLocation":"1008:7:7","nodeType":"VariableDeclaration","scope":1180,"src":"1003:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1177,"name":"bool","nodeType":"ElementaryTypeName","src":"1003:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1002:14:7"},"scope":1192,"src":"896:121:7","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"23b872dd","id":1191,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1030:12:7","nodeType":"FunctionDefinition","parameters":{"id":1187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1182,"mutability":"mutable","name":"from","nameLocation":"1056:4:7","nodeType":"VariableDeclaration","scope":1191,"src":"1048:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1181,"name":"address","nodeType":"ElementaryTypeName","src":"1048:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1184,"mutability":"mutable","name":"to","nameLocation":"1074:2:7","nodeType":"VariableDeclaration","scope":1191,"src":"1066:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1183,"name":"address","nodeType":"ElementaryTypeName","src":"1066:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1186,"mutability":"mutable","name":"value","nameLocation":"1090:5:7","nodeType":"VariableDeclaration","scope":1191,"src":"1082:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1185,"name":"uint256","nodeType":"ElementaryTypeName","src":"1082:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1042:57:7"},"returnParameters":{"id":1190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1189,"mutability":"mutable","name":"success","nameLocation":"1123:7:7","nodeType":"VariableDeclaration","scope":1191,"src":"1118:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1188,"name":"bool","nodeType":"ElementaryTypeName","src":"1118:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1117:14:7"},"scope":1192,"src":"1021:111:7","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":1193,"src":"57:1077:7","usedErrors":[]}],"src":"32:1103:7"},"id":7},"@chainlink/contracts/src/v0.8/interfaces/OperatorInterface.sol":{"ast":{"absolutePath":"@chainlink/contracts/src/v0.8/interfaces/OperatorInterface.sol","exportedSymbols":{"ChainlinkRequestInterface":[998],"OperatorInterface":[1272],"OracleInterface":[1311]},"id":1273,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1194,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:8"},{"absolutePath":"@chainlink/contracts/src/v0.8/interfaces/OracleInterface.sol","file":"./OracleInterface.sol","id":1195,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1273,"sourceUnit":1312,"src":"57:31:8","symbolAliases":[],"unitAlias":""},{"absolutePath":"@chainlink/contracts/src/v0.8/interfaces/ChainlinkRequestInterface.sol","file":"./ChainlinkRequestInterface.sol","id":1196,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1273,"sourceUnit":999,"src":"89:41:8","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":1197,"name":"OracleInterface","nodeType":"IdentifierPath","referencedDeclaration":1311,"src":"163:15:8"},"id":1198,"nodeType":"InheritanceSpecifier","src":"163:15:8"},{"baseName":{"id":1199,"name":"ChainlinkRequestInterface","nodeType":"IdentifierPath","referencedDeclaration":998,"src":"180:25:8"},"id":1200,"nodeType":"InheritanceSpecifier","src":"180:25:8"}],"contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":1272,"linearizedBaseContracts":[1272,998,1311],"name":"OperatorInterface","nameLocation":"142:17:8","nodeType":"ContractDefinition","nodes":[{"functionSelector":"3c6d41b9","id":1217,"implemented":false,"kind":"function","modifiers":[],"name":"operatorRequest","nameLocation":"219:15:8","nodeType":"FunctionDefinition","parameters":{"id":1215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1202,"mutability":"mutable","name":"sender","nameLocation":"248:6:8","nodeType":"VariableDeclaration","scope":1217,"src":"240:14:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1201,"name":"address","nodeType":"ElementaryTypeName","src":"240:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1204,"mutability":"mutable","name":"payment","nameLocation":"268:7:8","nodeType":"VariableDeclaration","scope":1217,"src":"260:15:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1203,"name":"uint256","nodeType":"ElementaryTypeName","src":"260:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1206,"mutability":"mutable","name":"specId","nameLocation":"289:6:8","nodeType":"VariableDeclaration","scope":1217,"src":"281:14:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1205,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1208,"mutability":"mutable","name":"callbackFunctionId","nameLocation":"308:18:8","nodeType":"VariableDeclaration","scope":1217,"src":"301:25:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1207,"name":"bytes4","nodeType":"ElementaryTypeName","src":"301:6:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":1210,"mutability":"mutable","name":"nonce","nameLocation":"340:5:8","nodeType":"VariableDeclaration","scope":1217,"src":"332:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1209,"name":"uint256","nodeType":"ElementaryTypeName","src":"332:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1212,"mutability":"mutable","name":"dataVersion","nameLocation":"359:11:8","nodeType":"VariableDeclaration","scope":1217,"src":"351:19:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1211,"name":"uint256","nodeType":"ElementaryTypeName","src":"351:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1214,"mutability":"mutable","name":"data","nameLocation":"391:4:8","nodeType":"VariableDeclaration","scope":1217,"src":"376:19:8","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1213,"name":"bytes","nodeType":"ElementaryTypeName","src":"376:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"234:165:8"},"returnParameters":{"id":1216,"nodeType":"ParameterList","parameters":[],"src":"408:0:8"},"scope":1272,"src":"210:199:8","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"6ae0bc76","id":1234,"implemented":false,"kind":"function","modifiers":[],"name":"fulfillOracleRequest2","nameLocation":"422:21:8","nodeType":"FunctionDefinition","parameters":{"id":1230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1219,"mutability":"mutable","name":"requestId","nameLocation":"457:9:8","nodeType":"VariableDeclaration","scope":1234,"src":"449:17:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1218,"name":"bytes32","nodeType":"ElementaryTypeName","src":"449:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1221,"mutability":"mutable","name":"payment","nameLocation":"480:7:8","nodeType":"VariableDeclaration","scope":1234,"src":"472:15:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1220,"name":"uint256","nodeType":"ElementaryTypeName","src":"472:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1223,"mutability":"mutable","name":"callbackAddress","nameLocation":"501:15:8","nodeType":"VariableDeclaration","scope":1234,"src":"493:23:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1222,"name":"address","nodeType":"ElementaryTypeName","src":"493:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1225,"mutability":"mutable","name":"callbackFunctionId","nameLocation":"529:18:8","nodeType":"VariableDeclaration","scope":1234,"src":"522:25:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1224,"name":"bytes4","nodeType":"ElementaryTypeName","src":"522:6:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":1227,"mutability":"mutable","name":"expiration","nameLocation":"561:10:8","nodeType":"VariableDeclaration","scope":1234,"src":"553:18:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1226,"name":"uint256","nodeType":"ElementaryTypeName","src":"553:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1229,"mutability":"mutable","name":"data","nameLocation":"592:4:8","nodeType":"VariableDeclaration","scope":1234,"src":"577:19:8","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1228,"name":"bytes","nodeType":"ElementaryTypeName","src":"577:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"443:157:8"},"returnParameters":{"id":1233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1232,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1234,"src":"619:4:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1231,"name":"bool","nodeType":"ElementaryTypeName","src":"619:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"618:6:8"},"scope":1272,"src":"413:212:8","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"902fc370","id":1245,"implemented":false,"kind":"function","modifiers":[],"name":"ownerTransferAndCall","nameLocation":"638:20:8","nodeType":"FunctionDefinition","parameters":{"id":1241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1236,"mutability":"mutable","name":"to","nameLocation":"672:2:8","nodeType":"VariableDeclaration","scope":1245,"src":"664:10:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1235,"name":"address","nodeType":"ElementaryTypeName","src":"664:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1238,"mutability":"mutable","name":"value","nameLocation":"688:5:8","nodeType":"VariableDeclaration","scope":1245,"src":"680:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1237,"name":"uint256","nodeType":"ElementaryTypeName","src":"680:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1240,"mutability":"mutable","name":"data","nameLocation":"714:4:8","nodeType":"VariableDeclaration","scope":1245,"src":"699:19:8","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1239,"name":"bytes","nodeType":"ElementaryTypeName","src":"699:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"658:64:8"},"returnParameters":{"id":1244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1243,"mutability":"mutable","name":"success","nameLocation":"746:7:8","nodeType":"VariableDeclaration","scope":1245,"src":"741:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1242,"name":"bool","nodeType":"ElementaryTypeName","src":"741:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"740:14:8"},"scope":1272,"src":"629:126:8","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"6bd59ec0","id":1254,"implemented":false,"kind":"function","modifiers":[],"name":"distributeFunds","nameLocation":"768:15:8","nodeType":"FunctionDefinition","parameters":{"id":1252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1248,"mutability":"mutable","name":"receivers","nameLocation":"811:9:8","nodeType":"VariableDeclaration","scope":1254,"src":"784:36:8","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_payable_$dyn_calldata_ptr","typeString":"address payable[]"},"typeName":{"baseType":{"id":1246,"name":"address","nodeType":"ElementaryTypeName","src":"784:15:8","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":1247,"nodeType":"ArrayTypeName","src":"784:17:8","typeDescriptions":{"typeIdentifier":"t_array$_t_address_payable_$dyn_storage_ptr","typeString":"address payable[]"}},"visibility":"internal"},{"constant":false,"id":1251,"mutability":"mutable","name":"amounts","nameLocation":"841:7:8","nodeType":"VariableDeclaration","scope":1254,"src":"822:26:8","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1249,"name":"uint256","nodeType":"ElementaryTypeName","src":"822:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1250,"nodeType":"ArrayTypeName","src":"822:9:8","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"783:66:8"},"returnParameters":{"id":1253,"nodeType":"ParameterList","parameters":[],"src":"866:0:8"},"scope":1272,"src":"759:108:8","stateMutability":"payable","virtual":false,"visibility":"external"},{"functionSelector":"2408afaa","id":1260,"implemented":false,"kind":"function","modifiers":[],"name":"getAuthorizedSenders","nameLocation":"880:20:8","nodeType":"FunctionDefinition","parameters":{"id":1255,"nodeType":"ParameterList","parameters":[],"src":"900:2:8"},"returnParameters":{"id":1259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1258,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1260,"src":"921:16:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1256,"name":"address","nodeType":"ElementaryTypeName","src":"921:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1257,"nodeType":"ArrayTypeName","src":"921:9:8","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"920:18:8"},"scope":1272,"src":"871:68:8","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"ee56997b","id":1266,"implemented":false,"kind":"function","modifiers":[],"name":"setAuthorizedSenders","nameLocation":"952:20:8","nodeType":"FunctionDefinition","parameters":{"id":1264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1263,"mutability":"mutable","name":"senders","nameLocation":"992:7:8","nodeType":"VariableDeclaration","scope":1266,"src":"973:26:8","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1261,"name":"address","nodeType":"ElementaryTypeName","src":"973:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1262,"nodeType":"ArrayTypeName","src":"973:9:8","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"972:28:8"},"returnParameters":{"id":1265,"nodeType":"ParameterList","parameters":[],"src":"1009:0:8"},"scope":1272,"src":"943:67:8","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"a0042526","id":1271,"implemented":false,"kind":"function","modifiers":[],"name":"getForwarder","nameLocation":"1023:12:8","nodeType":"FunctionDefinition","parameters":{"id":1267,"nodeType":"ParameterList","parameters":[],"src":"1035:2:8"},"returnParameters":{"id":1270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1269,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1271,"src":"1056:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1268,"name":"address","nodeType":"ElementaryTypeName","src":"1056:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1055:9:8"},"scope":1272,"src":"1014:51:8","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":1273,"src":"132:935:8","usedErrors":[]}],"src":"32:1036:8"},"id":8},"@chainlink/contracts/src/v0.8/interfaces/OracleInterface.sol":{"ast":{"absolutePath":"@chainlink/contracts/src/v0.8/interfaces/OracleInterface.sol","exportedSymbols":{"OracleInterface":[1311]},"id":1312,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1274,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:9"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":1311,"linearizedBaseContracts":[1311],"name":"OracleInterface","nameLocation":"67:15:9","nodeType":"ContractDefinition","nodes":[{"functionSelector":"4ab0d190","id":1291,"implemented":false,"kind":"function","modifiers":[],"name":"fulfillOracleRequest","nameLocation":"96:20:9","nodeType":"FunctionDefinition","parameters":{"id":1287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1276,"mutability":"mutable","name":"requestId","nameLocation":"130:9:9","nodeType":"VariableDeclaration","scope":1291,"src":"122:17:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1275,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1278,"mutability":"mutable","name":"payment","nameLocation":"153:7:9","nodeType":"VariableDeclaration","scope":1291,"src":"145:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1277,"name":"uint256","nodeType":"ElementaryTypeName","src":"145:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1280,"mutability":"mutable","name":"callbackAddress","nameLocation":"174:15:9","nodeType":"VariableDeclaration","scope":1291,"src":"166:23:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1279,"name":"address","nodeType":"ElementaryTypeName","src":"166:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1282,"mutability":"mutable","name":"callbackFunctionId","nameLocation":"202:18:9","nodeType":"VariableDeclaration","scope":1291,"src":"195:25:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1281,"name":"bytes4","nodeType":"ElementaryTypeName","src":"195:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":1284,"mutability":"mutable","name":"expiration","nameLocation":"234:10:9","nodeType":"VariableDeclaration","scope":1291,"src":"226:18:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1283,"name":"uint256","nodeType":"ElementaryTypeName","src":"226:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1286,"mutability":"mutable","name":"data","nameLocation":"258:4:9","nodeType":"VariableDeclaration","scope":1291,"src":"250:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1285,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"116:150:9"},"returnParameters":{"id":1290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1289,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1291,"src":"285:4:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1288,"name":"bool","nodeType":"ElementaryTypeName","src":"285:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"284:6:9"},"scope":1311,"src":"87:204:9","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"fa00763a","id":1298,"implemented":false,"kind":"function","modifiers":[],"name":"isAuthorizedSender","nameLocation":"304:18:9","nodeType":"FunctionDefinition","parameters":{"id":1294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1293,"mutability":"mutable","name":"node","nameLocation":"331:4:9","nodeType":"VariableDeclaration","scope":1298,"src":"323:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1292,"name":"address","nodeType":"ElementaryTypeName","src":"323:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"322:14:9"},"returnParameters":{"id":1297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1296,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1298,"src":"360:4:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1295,"name":"bool","nodeType":"ElementaryTypeName","src":"360:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"359:6:9"},"scope":1311,"src":"295:71:9","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"f3fef3a3","id":1305,"implemented":false,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"379:8:9","nodeType":"FunctionDefinition","parameters":{"id":1303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1300,"mutability":"mutable","name":"recipient","nameLocation":"396:9:9","nodeType":"VariableDeclaration","scope":1305,"src":"388:17:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1299,"name":"address","nodeType":"ElementaryTypeName","src":"388:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1302,"mutability":"mutable","name":"amount","nameLocation":"415:6:9","nodeType":"VariableDeclaration","scope":1305,"src":"407:14:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1301,"name":"uint256","nodeType":"ElementaryTypeName","src":"407:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"387:35:9"},"returnParameters":{"id":1304,"nodeType":"ParameterList","parameters":[],"src":"431:0:9"},"scope":1311,"src":"370:62:9","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"50188301","id":1310,"implemented":false,"kind":"function","modifiers":[],"name":"withdrawable","nameLocation":"445:12:9","nodeType":"FunctionDefinition","parameters":{"id":1306,"nodeType":"ParameterList","parameters":[],"src":"457:2:9"},"returnParameters":{"id":1309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1308,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1310,"src":"483:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1307,"name":"uint256","nodeType":"ElementaryTypeName","src":"483:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"482:9:9"},"scope":1311,"src":"436:56:9","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":1312,"src":"57:437:9","usedErrors":[]}],"src":"32:463:9"},"id":9},"@chainlink/contracts/src/v0.8/interfaces/PointerInterface.sol":{"ast":{"absolutePath":"@chainlink/contracts/src/v0.8/interfaces/PointerInterface.sol","exportedSymbols":{"PointerInterface":[1319]},"id":1320,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1313,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:10"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":1319,"linearizedBaseContracts":[1319],"name":"PointerInterface","nameLocation":"67:16:10","nodeType":"ContractDefinition","nodes":[{"functionSelector":"38cc4831","id":1318,"implemented":false,"kind":"function","modifiers":[],"name":"getAddress","nameLocation":"97:10:10","nodeType":"FunctionDefinition","parameters":{"id":1314,"nodeType":"ParameterList","parameters":[],"src":"107:2:10"},"returnParameters":{"id":1317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1316,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1318,"src":"133:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1315,"name":"address","nodeType":"ElementaryTypeName","src":"133:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"132:9:10"},"scope":1319,"src":"88:54:10","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":1320,"src":"57:87:10","usedErrors":[]}],"src":"32:113:10"},"id":10},"@chainlink/contracts/src/v0.8/interfaces/VRFCoordinatorV2Interface.sol":{"ast":{"absolutePath":"@chainlink/contracts/src/v0.8/interfaces/VRFCoordinatorV2Interface.sol","exportedSymbols":{"VRFCoordinatorV2Interface":[1415]},"id":1416,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1321,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:11"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":1415,"linearizedBaseContracts":[1415],"name":"VRFCoordinatorV2Interface","nameLocation":"67:25:11","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":1322,"nodeType":"StructuredDocumentation","src":"97:267:11","text":" @notice Get configuration relevant for making requests\n @return minimumRequestConfirmations global min for request confirmations\n @return maxGasLimit global max for request gas limit\n @return s_provingKeyHashes list of registered key hashes"},"functionSelector":"00012291","id":1332,"implemented":false,"kind":"function","modifiers":[],"name":"getRequestConfig","nameLocation":"376:16:11","nodeType":"FunctionDefinition","parameters":{"id":1323,"nodeType":"ParameterList","parameters":[],"src":"392:2:11"},"returnParameters":{"id":1331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1325,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1332,"src":"437:6:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1324,"name":"uint16","nodeType":"ElementaryTypeName","src":"437:6:11","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"},{"constant":false,"id":1327,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1332,"src":"451:6:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":1326,"name":"uint32","nodeType":"ElementaryTypeName","src":"451:6:11","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":1330,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1332,"src":"465:16:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1328,"name":"bytes32","nodeType":"ElementaryTypeName","src":"465:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1329,"nodeType":"ArrayTypeName","src":"465:9:11","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"429:58:11"},"scope":1415,"src":"367:121:11","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1333,"nodeType":"StructuredDocumentation","src":"492:1511:11","text":" @notice Request a set of random words.\n @param keyHash - Corresponds to a particular oracle job which uses\n that key for generating the VRF proof. Different keyHash's have different gas price\n ceilings, so you can select a specific one to bound your maximum per request cost.\n @param subId  - The ID of the VRF subscription. Must be funded\n with the minimum subscription balance required for the selected keyHash.\n @param minimumRequestConfirmations - How many blocks you'd like the\n oracle to wait before responding to the request. See SECURITY CONSIDERATIONS\n for why you may want to request more. The acceptable range is\n [minimumRequestBlockConfirmations, 200].\n @param callbackGasLimit - How much gas you'd like to receive in your\n fulfillRandomWords callback. Note that gasleft() inside fulfillRandomWords\n may be slightly less than this amount because of gas used calling the function\n (argument decoding etc.), so you may need to request slightly more than you expect\n to have inside fulfillRandomWords. The acceptable range is\n [0, maxGasLimit]\n @param numWords - The number of uint256 random values you'd like to receive\n in your fulfillRandomWords callback. Note these numbers are expanded in a\n secure way by the VRFCoordinator from a single random value supplied by the oracle.\n @return requestId - A unique identifier of the request. Can be used to match\n a request to a response in fulfillRandomWords."},"functionSelector":"5d3b1d30","id":1348,"implemented":false,"kind":"function","modifiers":[],"name":"requestRandomWords","nameLocation":"2015:18:11","nodeType":"FunctionDefinition","parameters":{"id":1344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1335,"mutability":"mutable","name":"keyHash","nameLocation":"2047:7:11","nodeType":"VariableDeclaration","scope":1348,"src":"2039:15:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1334,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2039:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1337,"mutability":"mutable","name":"subId","nameLocation":"2067:5:11","nodeType":"VariableDeclaration","scope":1348,"src":"2060:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1336,"name":"uint64","nodeType":"ElementaryTypeName","src":"2060:6:11","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1339,"mutability":"mutable","name":"minimumRequestConfirmations","nameLocation":"2085:27:11","nodeType":"VariableDeclaration","scope":1348,"src":"2078:34:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1338,"name":"uint16","nodeType":"ElementaryTypeName","src":"2078:6:11","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"},{"constant":false,"id":1341,"mutability":"mutable","name":"callbackGasLimit","nameLocation":"2125:16:11","nodeType":"VariableDeclaration","scope":1348,"src":"2118:23:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":1340,"name":"uint32","nodeType":"ElementaryTypeName","src":"2118:6:11","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":1343,"mutability":"mutable","name":"numWords","nameLocation":"2154:8:11","nodeType":"VariableDeclaration","scope":1348,"src":"2147:15:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":1342,"name":"uint32","nodeType":"ElementaryTypeName","src":"2147:6:11","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"2033:133:11"},"returnParameters":{"id":1347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1346,"mutability":"mutable","name":"requestId","nameLocation":"2193:9:11","nodeType":"VariableDeclaration","scope":1348,"src":"2185:17:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1345,"name":"uint256","nodeType":"ElementaryTypeName","src":"2185:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2184:19:11"},"scope":1415,"src":"2006:198:11","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1349,"nodeType":"StructuredDocumentation","src":"2208:384:11","text":" @notice Create a VRF subscription.\n @return subId - A unique subscription id.\n @dev You can manage the consumer set dynamically with addConsumer/removeConsumer.\n @dev Note to fund the subscription, use transferAndCall. For example\n @dev  LINKTOKEN.transferAndCall(\n @dev    address(COORDINATOR),\n @dev    amount,\n @dev    abi.encode(subId));"},"functionSelector":"a21a23e4","id":1354,"implemented":false,"kind":"function","modifiers":[],"name":"createSubscription","nameLocation":"2604:18:11","nodeType":"FunctionDefinition","parameters":{"id":1350,"nodeType":"ParameterList","parameters":[],"src":"2622:2:11"},"returnParameters":{"id":1353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1352,"mutability":"mutable","name":"subId","nameLocation":"2650:5:11","nodeType":"VariableDeclaration","scope":1354,"src":"2643:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1351,"name":"uint64","nodeType":"ElementaryTypeName","src":"2643:6:11","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"2642:14:11"},"scope":1415,"src":"2595:62:11","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1355,"nodeType":"StructuredDocumentation","src":"2661:381:11","text":" @notice Get a VRF subscription.\n @param subId - ID of the subscription\n @return balance - LINK balance of the subscription in juels.\n @return reqCount - number of requests for this subscription, determines fee tier.\n @return owner - owner of the subscription.\n @return consumers - list of consumer address which are able to use this subscription."},"functionSelector":"a47c7696","id":1369,"implemented":false,"kind":"function","modifiers":[],"name":"getSubscription","nameLocation":"3054:15:11","nodeType":"FunctionDefinition","parameters":{"id":1358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1357,"mutability":"mutable","name":"subId","nameLocation":"3077:5:11","nodeType":"VariableDeclaration","scope":1369,"src":"3070:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1356,"name":"uint64","nodeType":"ElementaryTypeName","src":"3070:6:11","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"3069:14:11"},"returnParameters":{"id":1368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1360,"mutability":"mutable","name":"balance","nameLocation":"3133:7:11","nodeType":"VariableDeclaration","scope":1369,"src":"3126:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":1359,"name":"uint96","nodeType":"ElementaryTypeName","src":"3126:6:11","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"},{"constant":false,"id":1362,"mutability":"mutable","name":"reqCount","nameLocation":"3155:8:11","nodeType":"VariableDeclaration","scope":1369,"src":"3148:15:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1361,"name":"uint64","nodeType":"ElementaryTypeName","src":"3148:6:11","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1364,"mutability":"mutable","name":"owner","nameLocation":"3179:5:11","nodeType":"VariableDeclaration","scope":1369,"src":"3171:13:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1363,"name":"address","nodeType":"ElementaryTypeName","src":"3171:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1367,"mutability":"mutable","name":"consumers","nameLocation":"3209:9:11","nodeType":"VariableDeclaration","scope":1369,"src":"3192:26:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1365,"name":"address","nodeType":"ElementaryTypeName","src":"3192:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1366,"nodeType":"ArrayTypeName","src":"3192:9:11","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"3118:106:11"},"scope":1415,"src":"3045:180:11","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1370,"nodeType":"StructuredDocumentation","src":"3229:164:11","text":" @notice Request subscription owner transfer.\n @param subId - ID of the subscription\n @param newOwner - proposed new owner of the subscription"},"functionSelector":"04c357cb","id":1377,"implemented":false,"kind":"function","modifiers":[],"name":"requestSubscriptionOwnerTransfer","nameLocation":"3405:32:11","nodeType":"FunctionDefinition","parameters":{"id":1375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1372,"mutability":"mutable","name":"subId","nameLocation":"3445:5:11","nodeType":"VariableDeclaration","scope":1377,"src":"3438:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1371,"name":"uint64","nodeType":"ElementaryTypeName","src":"3438:6:11","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1374,"mutability":"mutable","name":"newOwner","nameLocation":"3460:8:11","nodeType":"VariableDeclaration","scope":1377,"src":"3452:16:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1373,"name":"address","nodeType":"ElementaryTypeName","src":"3452:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3437:32:11"},"returnParameters":{"id":1376,"nodeType":"ParameterList","parameters":[],"src":"3478:0:11"},"scope":1415,"src":"3396:83:11","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1378,"nodeType":"StructuredDocumentation","src":"3483:212:11","text":" @notice Request subscription owner transfer.\n @param subId - ID of the subscription\n @dev will revert if original owner of subId has\n not requested that msg.sender become the new owner."},"functionSelector":"82359740","id":1383,"implemented":false,"kind":"function","modifiers":[],"name":"acceptSubscriptionOwnerTransfer","nameLocation":"3707:31:11","nodeType":"FunctionDefinition","parameters":{"id":1381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1380,"mutability":"mutable","name":"subId","nameLocation":"3746:5:11","nodeType":"VariableDeclaration","scope":1383,"src":"3739:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1379,"name":"uint64","nodeType":"ElementaryTypeName","src":"3739:6:11","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"3738:14:11"},"returnParameters":{"id":1382,"nodeType":"ParameterList","parameters":[],"src":"3761:0:11"},"scope":1415,"src":"3698:64:11","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1384,"nodeType":"StructuredDocumentation","src":"3766:170:11","text":" @notice Add a consumer to a VRF subscription.\n @param subId - ID of the subscription\n @param consumer - New consumer which can use the subscription"},"functionSelector":"7341c10c","id":1391,"implemented":false,"kind":"function","modifiers":[],"name":"addConsumer","nameLocation":"3948:11:11","nodeType":"FunctionDefinition","parameters":{"id":1389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1386,"mutability":"mutable","name":"subId","nameLocation":"3967:5:11","nodeType":"VariableDeclaration","scope":1391,"src":"3960:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1385,"name":"uint64","nodeType":"ElementaryTypeName","src":"3960:6:11","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1388,"mutability":"mutable","name":"consumer","nameLocation":"3982:8:11","nodeType":"VariableDeclaration","scope":1391,"src":"3974:16:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1387,"name":"address","nodeType":"ElementaryTypeName","src":"3974:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3959:32:11"},"returnParameters":{"id":1390,"nodeType":"ParameterList","parameters":[],"src":"4000:0:11"},"scope":1415,"src":"3939:62:11","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1392,"nodeType":"StructuredDocumentation","src":"4005:172:11","text":" @notice Remove a consumer from a VRF subscription.\n @param subId - ID of the subscription\n @param consumer - Consumer to remove from the subscription"},"functionSelector":"9f87fad7","id":1399,"implemented":false,"kind":"function","modifiers":[],"name":"removeConsumer","nameLocation":"4189:14:11","nodeType":"FunctionDefinition","parameters":{"id":1397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1394,"mutability":"mutable","name":"subId","nameLocation":"4211:5:11","nodeType":"VariableDeclaration","scope":1399,"src":"4204:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1393,"name":"uint64","nodeType":"ElementaryTypeName","src":"4204:6:11","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1396,"mutability":"mutable","name":"consumer","nameLocation":"4226:8:11","nodeType":"VariableDeclaration","scope":1399,"src":"4218:16:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1395,"name":"address","nodeType":"ElementaryTypeName","src":"4218:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4203:32:11"},"returnParameters":{"id":1398,"nodeType":"ParameterList","parameters":[],"src":"4244:0:11"},"scope":1415,"src":"4180:65:11","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1400,"nodeType":"StructuredDocumentation","src":"4249:140:11","text":" @notice Cancel a subscription\n @param subId - ID of the subscription\n @param to - Where to send the remaining LINK to"},"functionSelector":"d7ae1d30","id":1407,"implemented":false,"kind":"function","modifiers":[],"name":"cancelSubscription","nameLocation":"4401:18:11","nodeType":"FunctionDefinition","parameters":{"id":1405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1402,"mutability":"mutable","name":"subId","nameLocation":"4427:5:11","nodeType":"VariableDeclaration","scope":1407,"src":"4420:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1401,"name":"uint64","nodeType":"ElementaryTypeName","src":"4420:6:11","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1404,"mutability":"mutable","name":"to","nameLocation":"4442:2:11","nodeType":"VariableDeclaration","scope":1407,"src":"4434:10:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1403,"name":"address","nodeType":"ElementaryTypeName","src":"4434:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4419:26:11"},"returnParameters":{"id":1406,"nodeType":"ParameterList","parameters":[],"src":"4454:0:11"},"scope":1415,"src":"4392:63:11","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"e82ad7d4","id":1414,"implemented":false,"kind":"function","modifiers":[],"name":"pendingRequestExists","nameLocation":"4760:20:11","nodeType":"FunctionDefinition","parameters":{"id":1410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1409,"mutability":"mutable","name":"subId","nameLocation":"4788:5:11","nodeType":"VariableDeclaration","scope":1414,"src":"4781:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1408,"name":"uint64","nodeType":"ElementaryTypeName","src":"4781:6:11","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"4780:14:11"},"returnParameters":{"id":1413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1412,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1414,"src":"4818:4:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1411,"name":"bool","nodeType":"ElementaryTypeName","src":"4818:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4817:6:11"},"scope":1415,"src":"4751:73:11","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":1416,"src":"57:4769:11","usedErrors":[]}],"src":"32:4795:11"},"id":11},"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol":{"ast":{"absolutePath":"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol","exportedSymbols":{"LinkTokenInterface":[1192],"VRFConsumerBaseV2":[919],"VRFCoordinatorV2Interface":[1415],"VRFCoordinatorV2Mock":[2278]},"id":2279,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1417,"literals":["solidity","^","0.8",".4"],"nodeType":"PragmaDirective","src":"92:23:12"},{"absolutePath":"@chainlink/contracts/src/v0.8/interfaces/LinkTokenInterface.sol","file":"../interfaces/LinkTokenInterface.sol","id":1418,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2279,"sourceUnit":1193,"src":"117:46:12","symbolAliases":[],"unitAlias":""},{"absolutePath":"@chainlink/contracts/src/v0.8/interfaces/VRFCoordinatorV2Interface.sol","file":"../interfaces/VRFCoordinatorV2Interface.sol","id":1419,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2279,"sourceUnit":1416,"src":"164:53:12","symbolAliases":[],"unitAlias":""},{"absolutePath":"@chainlink/contracts/src/v0.8/VRFConsumerBaseV2.sol","file":"../VRFConsumerBaseV2.sol","id":1420,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2279,"sourceUnit":920,"src":"218:34:12","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":1421,"name":"VRFCoordinatorV2Interface","nodeType":"IdentifierPath","referencedDeclaration":1415,"src":"287:25:12"},"id":1422,"nodeType":"InheritanceSpecifier","src":"287:25:12"}],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":2278,"linearizedBaseContracts":[2278,1415],"name":"VRFCoordinatorV2Mock","nameLocation":"263:20:12","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"3d18651e","id":1424,"mutability":"immutable","name":"BASE_FEE","nameLocation":"341:8:12","nodeType":"VariableDeclaration","scope":2278,"src":"317:32:12","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":1423,"name":"uint96","nodeType":"ElementaryTypeName","src":"317:6:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"public"},{"constant":false,"functionSelector":"a410347f","id":1426,"mutability":"immutable","name":"GAS_PRICE_LINK","nameLocation":"377:14:12","nodeType":"VariableDeclaration","scope":2278,"src":"353:38:12","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":1425,"name":"uint96","nodeType":"ElementaryTypeName","src":"353:6:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"public"},{"constant":false,"functionSelector":"64d51a2a","id":1429,"mutability":"immutable","name":"MAX_CONSUMERS","nameLocation":"419:13:12","nodeType":"VariableDeclaration","scope":2278,"src":"395:43:12","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1427,"name":"uint16","nodeType":"ElementaryTypeName","src":"395:6:12","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313030","id":1428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"435:3:12","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"visibility":"public"},{"id":1431,"name":"InvalidSubscription","nameLocation":"449:19:12","nodeType":"ErrorDefinition","parameters":{"id":1430,"nodeType":"ParameterList","parameters":[],"src":"468:2:12"},"src":"443:28:12"},{"id":1433,"name":"InsufficientBalance","nameLocation":"480:19:12","nodeType":"ErrorDefinition","parameters":{"id":1432,"nodeType":"ParameterList","parameters":[],"src":"499:2:12"},"src":"474:28:12"},{"id":1437,"name":"MustBeSubOwner","nameLocation":"511:14:12","nodeType":"ErrorDefinition","parameters":{"id":1436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1435,"mutability":"mutable","name":"owner","nameLocation":"534:5:12","nodeType":"VariableDeclaration","scope":1437,"src":"526:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1434,"name":"address","nodeType":"ElementaryTypeName","src":"526:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"525:15:12"},"src":"505:36:12"},{"id":1439,"name":"TooManyConsumers","nameLocation":"550:16:12","nodeType":"ErrorDefinition","parameters":{"id":1438,"nodeType":"ParameterList","parameters":[],"src":"566:2:12"},"src":"544:25:12"},{"id":1441,"name":"InvalidConsumer","nameLocation":"578:15:12","nodeType":"ErrorDefinition","parameters":{"id":1440,"nodeType":"ParameterList","parameters":[],"src":"593:2:12"},"src":"572:24:12"},{"id":1443,"name":"InvalidRandomWords","nameLocation":"605:18:12","nodeType":"ErrorDefinition","parameters":{"id":1442,"nodeType":"ParameterList","parameters":[],"src":"623:2:12"},"src":"599:27:12"},{"anonymous":false,"id":1461,"name":"RandomWordsRequested","nameLocation":"636:20:12","nodeType":"EventDefinition","parameters":{"id":1460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1445,"indexed":true,"mutability":"mutable","name":"keyHash","nameLocation":"678:7:12","nodeType":"VariableDeclaration","scope":1461,"src":"662:23:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1444,"name":"bytes32","nodeType":"ElementaryTypeName","src":"662:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1447,"indexed":false,"mutability":"mutable","name":"requestId","nameLocation":"699:9:12","nodeType":"VariableDeclaration","scope":1461,"src":"691:17:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1446,"name":"uint256","nodeType":"ElementaryTypeName","src":"691:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1449,"indexed":false,"mutability":"mutable","name":"preSeed","nameLocation":"722:7:12","nodeType":"VariableDeclaration","scope":1461,"src":"714:15:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1448,"name":"uint256","nodeType":"ElementaryTypeName","src":"714:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1451,"indexed":true,"mutability":"mutable","name":"subId","nameLocation":"750:5:12","nodeType":"VariableDeclaration","scope":1461,"src":"735:20:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1450,"name":"uint64","nodeType":"ElementaryTypeName","src":"735:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1453,"indexed":false,"mutability":"mutable","name":"minimumRequestConfirmations","nameLocation":"768:27:12","nodeType":"VariableDeclaration","scope":1461,"src":"761:34:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1452,"name":"uint16","nodeType":"ElementaryTypeName","src":"761:6:12","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"},{"constant":false,"id":1455,"indexed":false,"mutability":"mutable","name":"callbackGasLimit","nameLocation":"808:16:12","nodeType":"VariableDeclaration","scope":1461,"src":"801:23:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":1454,"name":"uint32","nodeType":"ElementaryTypeName","src":"801:6:12","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":1457,"indexed":false,"mutability":"mutable","name":"numWords","nameLocation":"837:8:12","nodeType":"VariableDeclaration","scope":1461,"src":"830:15:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":1456,"name":"uint32","nodeType":"ElementaryTypeName","src":"830:6:12","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":1459,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"867:6:12","nodeType":"VariableDeclaration","scope":1461,"src":"851:22:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1458,"name":"address","nodeType":"ElementaryTypeName","src":"851:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"656:221:12"},"src":"630:248:12"},{"anonymous":false,"id":1471,"name":"RandomWordsFulfilled","nameLocation":"887:20:12","nodeType":"EventDefinition","parameters":{"id":1470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1463,"indexed":true,"mutability":"mutable","name":"requestId","nameLocation":"924:9:12","nodeType":"VariableDeclaration","scope":1471,"src":"908:25:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1462,"name":"uint256","nodeType":"ElementaryTypeName","src":"908:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1465,"indexed":false,"mutability":"mutable","name":"outputSeed","nameLocation":"943:10:12","nodeType":"VariableDeclaration","scope":1471,"src":"935:18:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1464,"name":"uint256","nodeType":"ElementaryTypeName","src":"935:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1467,"indexed":false,"mutability":"mutable","name":"payment","nameLocation":"962:7:12","nodeType":"VariableDeclaration","scope":1471,"src":"955:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":1466,"name":"uint96","nodeType":"ElementaryTypeName","src":"955:6:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"},{"constant":false,"id":1469,"indexed":false,"mutability":"mutable","name":"success","nameLocation":"976:7:12","nodeType":"VariableDeclaration","scope":1471,"src":"971:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1468,"name":"bool","nodeType":"ElementaryTypeName","src":"971:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"907:77:12"},"src":"881:104:12"},{"anonymous":false,"id":1477,"name":"SubscriptionCreated","nameLocation":"994:19:12","nodeType":"EventDefinition","parameters":{"id":1476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1473,"indexed":true,"mutability":"mutable","name":"subId","nameLocation":"1029:5:12","nodeType":"VariableDeclaration","scope":1477,"src":"1014:20:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1472,"name":"uint64","nodeType":"ElementaryTypeName","src":"1014:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1475,"indexed":false,"mutability":"mutable","name":"owner","nameLocation":"1044:5:12","nodeType":"VariableDeclaration","scope":1477,"src":"1036:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1474,"name":"address","nodeType":"ElementaryTypeName","src":"1036:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1013:37:12"},"src":"988:63:12"},{"anonymous":false,"id":1485,"name":"SubscriptionFunded","nameLocation":"1060:18:12","nodeType":"EventDefinition","parameters":{"id":1484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1479,"indexed":true,"mutability":"mutable","name":"subId","nameLocation":"1094:5:12","nodeType":"VariableDeclaration","scope":1485,"src":"1079:20:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1478,"name":"uint64","nodeType":"ElementaryTypeName","src":"1079:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1481,"indexed":false,"mutability":"mutable","name":"oldBalance","nameLocation":"1109:10:12","nodeType":"VariableDeclaration","scope":1485,"src":"1101:18:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1480,"name":"uint256","nodeType":"ElementaryTypeName","src":"1101:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1483,"indexed":false,"mutability":"mutable","name":"newBalance","nameLocation":"1129:10:12","nodeType":"VariableDeclaration","scope":1485,"src":"1121:18:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1482,"name":"uint256","nodeType":"ElementaryTypeName","src":"1121:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1078:62:12"},"src":"1054:87:12"},{"anonymous":false,"id":1493,"name":"SubscriptionCanceled","nameLocation":"1150:20:12","nodeType":"EventDefinition","parameters":{"id":1492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1487,"indexed":true,"mutability":"mutable","name":"subId","nameLocation":"1186:5:12","nodeType":"VariableDeclaration","scope":1493,"src":"1171:20:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1486,"name":"uint64","nodeType":"ElementaryTypeName","src":"1171:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1489,"indexed":false,"mutability":"mutable","name":"to","nameLocation":"1201:2:12","nodeType":"VariableDeclaration","scope":1493,"src":"1193:10:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1488,"name":"address","nodeType":"ElementaryTypeName","src":"1193:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1491,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"1213:6:12","nodeType":"VariableDeclaration","scope":1493,"src":"1205:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1490,"name":"uint256","nodeType":"ElementaryTypeName","src":"1205:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1170:50:12"},"src":"1144:77:12"},{"anonymous":false,"id":1499,"name":"ConsumerAdded","nameLocation":"1230:13:12","nodeType":"EventDefinition","parameters":{"id":1498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1495,"indexed":true,"mutability":"mutable","name":"subId","nameLocation":"1259:5:12","nodeType":"VariableDeclaration","scope":1499,"src":"1244:20:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1494,"name":"uint64","nodeType":"ElementaryTypeName","src":"1244:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1497,"indexed":false,"mutability":"mutable","name":"consumer","nameLocation":"1274:8:12","nodeType":"VariableDeclaration","scope":1499,"src":"1266:16:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1496,"name":"address","nodeType":"ElementaryTypeName","src":"1266:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1243:40:12"},"src":"1224:60:12"},{"anonymous":false,"id":1505,"name":"ConsumerRemoved","nameLocation":"1293:15:12","nodeType":"EventDefinition","parameters":{"id":1504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1501,"indexed":true,"mutability":"mutable","name":"subId","nameLocation":"1324:5:12","nodeType":"VariableDeclaration","scope":1505,"src":"1309:20:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1500,"name":"uint64","nodeType":"ElementaryTypeName","src":"1309:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1503,"indexed":false,"mutability":"mutable","name":"consumer","nameLocation":"1339:8:12","nodeType":"VariableDeclaration","scope":1505,"src":"1331:16:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1502,"name":"address","nodeType":"ElementaryTypeName","src":"1331:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1308:40:12"},"src":"1287:62:12"},{"constant":false,"id":1507,"mutability":"mutable","name":"s_currentSubId","nameLocation":"1360:14:12","nodeType":"VariableDeclaration","scope":2278,"src":"1353:21:12","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1506,"name":"uint64","nodeType":"ElementaryTypeName","src":"1353:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1510,"mutability":"mutable","name":"s_nextRequestId","nameLocation":"1386:15:12","nodeType":"VariableDeclaration","scope":2278,"src":"1378:27:12","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1508,"name":"uint256","nodeType":"ElementaryTypeName","src":"1378:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":1509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1404:1:12","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"constant":false,"id":1513,"mutability":"mutable","name":"s_nextPreSeed","nameLocation":"1417:13:12","nodeType":"VariableDeclaration","scope":2278,"src":"1409:27:12","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1511,"name":"uint256","nodeType":"ElementaryTypeName","src":"1409:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313030","id":1512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1433:3:12","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"visibility":"internal"},{"canonicalName":"VRFCoordinatorV2Mock.Subscription","id":1518,"members":[{"constant":false,"id":1515,"mutability":"mutable","name":"owner","nameLocation":"1474:5:12","nodeType":"VariableDeclaration","scope":1518,"src":"1466:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1514,"name":"address","nodeType":"ElementaryTypeName","src":"1466:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1517,"mutability":"mutable","name":"balance","nameLocation":"1492:7:12","nodeType":"VariableDeclaration","scope":1518,"src":"1485:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":1516,"name":"uint96","nodeType":"ElementaryTypeName","src":"1485:6:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"name":"Subscription","nameLocation":"1447:12:12","nodeType":"StructDefinition","scope":2278,"src":"1440:64:12","visibility":"public"},{"constant":false,"id":1523,"mutability":"mutable","name":"s_subscriptions","nameLocation":"1539:15:12","nodeType":"VariableDeclaration","scope":2278,"src":"1507:47:12","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_struct$_Subscription_$1518_storage_$","typeString":"mapping(uint64 => struct VRFCoordinatorV2Mock.Subscription)"},"typeName":{"id":1522,"keyType":{"id":1519,"name":"uint64","nodeType":"ElementaryTypeName","src":"1515:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Mapping","src":"1507:31:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_struct$_Subscription_$1518_storage_$","typeString":"mapping(uint64 => struct VRFCoordinatorV2Mock.Subscription)"},"valueType":{"id":1521,"nodeType":"UserDefinedTypeName","pathNode":{"id":1520,"name":"Subscription","nodeType":"IdentifierPath","referencedDeclaration":1518,"src":"1525:12:12"},"referencedDeclaration":1518,"src":"1525:12:12","typeDescriptions":{"typeIdentifier":"t_struct$_Subscription_$1518_storage_ptr","typeString":"struct VRFCoordinatorV2Mock.Subscription"}}},"visibility":"internal"},{"constant":false,"id":1528,"mutability":"mutable","name":"s_consumers","nameLocation":"1618:11:12","nodeType":"VariableDeclaration","scope":2278,"src":"1589:40:12","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(uint64 => address[])"},"typeName":{"id":1527,"keyType":{"id":1524,"name":"uint64","nodeType":"ElementaryTypeName","src":"1597:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Mapping","src":"1589:28:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(uint64 => address[])"},"valueType":{"baseType":{"id":1525,"name":"address","nodeType":"ElementaryTypeName","src":"1607:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1526,"nodeType":"ArrayTypeName","src":"1607:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"visibility":"internal"},{"canonicalName":"VRFCoordinatorV2Mock.Request","id":1535,"members":[{"constant":false,"id":1530,"mutability":"mutable","name":"subId","nameLocation":"1690:5:12","nodeType":"VariableDeclaration","scope":1535,"src":"1683:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1529,"name":"uint64","nodeType":"ElementaryTypeName","src":"1683:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1532,"mutability":"mutable","name":"callbackGasLimit","nameLocation":"1708:16:12","nodeType":"VariableDeclaration","scope":1535,"src":"1701:23:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":1531,"name":"uint32","nodeType":"ElementaryTypeName","src":"1701:6:12","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":1534,"mutability":"mutable","name":"numWords","nameLocation":"1737:8:12","nodeType":"VariableDeclaration","scope":1535,"src":"1730:15:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":1533,"name":"uint32","nodeType":"ElementaryTypeName","src":"1730:6:12","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"name":"Request","nameLocation":"1669:7:12","nodeType":"StructDefinition","scope":2278,"src":"1662:88:12","visibility":"public"},{"constant":false,"id":1540,"mutability":"mutable","name":"s_requests","nameLocation":"1781:10:12","nodeType":"VariableDeclaration","scope":2278,"src":"1753:38:12","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Request_$1535_storage_$","typeString":"mapping(uint256 => struct VRFCoordinatorV2Mock.Request)"},"typeName":{"id":1539,"keyType":{"id":1536,"name":"uint256","nodeType":"ElementaryTypeName","src":"1761:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1753:27:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Request_$1535_storage_$","typeString":"mapping(uint256 => struct VRFCoordinatorV2Mock.Request)"},"valueType":{"id":1538,"nodeType":"UserDefinedTypeName","pathNode":{"id":1537,"name":"Request","nodeType":"IdentifierPath","referencedDeclaration":1535,"src":"1772:7:12"},"referencedDeclaration":1535,"src":"1772:7:12","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$1535_storage_ptr","typeString":"struct VRFCoordinatorV2Mock.Request"}}},"visibility":"internal"},{"body":{"id":1555,"nodeType":"Block","src":"1877:66:12","statements":[{"expression":{"id":1549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1547,"name":"BASE_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1424,"src":"1883:8:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1548,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1542,"src":"1894:8:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"1883:19:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"id":1550,"nodeType":"ExpressionStatement","src":"1883:19:12"},{"expression":{"id":1553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1551,"name":"GAS_PRICE_LINK","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1426,"src":"1908:14:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1552,"name":"_gasPriceLink","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1544,"src":"1925:13:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"1908:30:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"id":1554,"nodeType":"ExpressionStatement","src":"1908:30:12"}]},"id":1556,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":1545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1542,"mutability":"mutable","name":"_baseFee","nameLocation":"1845:8:12","nodeType":"VariableDeclaration","scope":1556,"src":"1838:15:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":1541,"name":"uint96","nodeType":"ElementaryTypeName","src":"1838:6:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"},{"constant":false,"id":1544,"mutability":"mutable","name":"_gasPriceLink","nameLocation":"1862:13:12","nodeType":"VariableDeclaration","scope":1556,"src":"1855:20:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":1543,"name":"uint96","nodeType":"ElementaryTypeName","src":"1855:6:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"1837:39:12"},"returnParameters":{"id":1546,"nodeType":"ParameterList","parameters":[],"src":"1877:0:12"},"scope":2278,"src":"1826:117:12","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":1598,"nodeType":"Block","src":"2033:204:12","statements":[{"assignments":[1569],"declarations":[{"constant":false,"id":1569,"mutability":"mutable","name":"consumers","nameLocation":"2056:9:12","nodeType":"VariableDeclaration","scope":1598,"src":"2039:26:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1567,"name":"address","nodeType":"ElementaryTypeName","src":"2039:7:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1568,"nodeType":"ArrayTypeName","src":"2039:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":1573,"initialValue":{"baseExpression":{"id":1570,"name":"s_consumers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1528,"src":"2068:11:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(uint64 => address[] storage ref)"}},"id":1572,"indexExpression":{"id":1571,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1558,"src":"2080:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2068:19:12","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"2039:48:12"},{"body":{"id":1594,"nodeType":"Block","src":"2140:75:12","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":1585,"name":"consumers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1569,"src":"2152:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1587,"indexExpression":{"id":1586,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1575,"src":"2162:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2152:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1588,"name":"_consumer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1560,"src":"2168:9:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2152:25:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1593,"nodeType":"IfStatement","src":"2148:61:12","trueBody":{"id":1592,"nodeType":"Block","src":"2179:30:12","statements":[{"expression":{"hexValue":"74727565","id":1590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2196:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":1564,"id":1591,"nodeType":"Return","src":"2189:11:12"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1578,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1575,"src":"2113:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":1579,"name":"consumers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1569,"src":"2117:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2117:16:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2113:20:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1595,"initializationExpression":{"assignments":[1575],"declarations":[{"constant":false,"id":1575,"mutability":"mutable","name":"i","nameLocation":"2106:1:12","nodeType":"VariableDeclaration","scope":1595,"src":"2098:9:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1574,"name":"uint256","nodeType":"ElementaryTypeName","src":"2098:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1577,"initialValue":{"hexValue":"30","id":1576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2110:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2098:13:12"},"loopExpression":{"expression":{"id":1583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2135:3:12","subExpression":{"id":1582,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1575,"src":"2135:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1584,"nodeType":"ExpressionStatement","src":"2135:3:12"},"nodeType":"ForStatement","src":"2093:122:12"},{"expression":{"hexValue":"66616c7365","id":1596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2227:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":1564,"id":1597,"nodeType":"Return","src":"2220:12:12"}]},"functionSelector":"ed5eb06d","id":1599,"implemented":true,"kind":"function","modifiers":[],"name":"consumerIsAdded","nameLocation":"1956:15:12","nodeType":"FunctionDefinition","parameters":{"id":1561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1558,"mutability":"mutable","name":"_subId","nameLocation":"1979:6:12","nodeType":"VariableDeclaration","scope":1599,"src":"1972:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1557,"name":"uint64","nodeType":"ElementaryTypeName","src":"1972:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1560,"mutability":"mutable","name":"_consumer","nameLocation":"1995:9:12","nodeType":"VariableDeclaration","scope":1599,"src":"1987:17:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1559,"name":"address","nodeType":"ElementaryTypeName","src":"1987:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1971:34:12"},"returnParameters":{"id":1564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1563,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1599,"src":"2027:4:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1562,"name":"bool","nodeType":"ElementaryTypeName","src":"2027:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2026:6:12"},"scope":2278,"src":"1947:290:12","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":1616,"nodeType":"Block","src":"2302:97:12","statements":[{"condition":{"id":1609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2312:35:12","subExpression":{"arguments":[{"id":1606,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1601,"src":"2329:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":1607,"name":"_consumer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1603,"src":"2337:9:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1605,"name":"consumerIsAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1599,"src":"2313:15:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint64_$_t_address_$returns$_t_bool_$","typeString":"function (uint64,address) view returns (bool)"}},"id":1608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2313:34:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1614,"nodeType":"IfStatement","src":"2308:80:12","trueBody":{"id":1613,"nodeType":"Block","src":"2349:39:12","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1610,"name":"InvalidConsumer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1441,"src":"2364:15:12","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2364:17:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1612,"nodeType":"RevertStatement","src":"2357:24:12"}]}},{"id":1615,"nodeType":"PlaceholderStatement","src":"2393:1:12"}]},"id":1617,"name":"onlyValidConsumer","nameLocation":"2250:17:12","nodeType":"ModifierDefinition","parameters":{"id":1604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1601,"mutability":"mutable","name":"_subId","nameLocation":"2275:6:12","nodeType":"VariableDeclaration","scope":1617,"src":"2268:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1600,"name":"uint64","nodeType":"ElementaryTypeName","src":"2268:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1603,"mutability":"mutable","name":"_consumer","nameLocation":"2291:9:12","nodeType":"VariableDeclaration","scope":1617,"src":"2283:17:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1602,"name":"address","nodeType":"ElementaryTypeName","src":"2283:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2267:34:12"},"src":"2241:158:12","virtual":false,"visibility":"internal"},{"body":{"id":1635,"nodeType":"Block","src":"3029:82:12","statements":[{"expression":{"arguments":[{"id":1626,"name":"_requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1620,"src":"3066:10:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1627,"name":"_consumer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"3078:9:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":1631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3103:1:12","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":1630,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3089:13:12","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":1628,"name":"uint256","nodeType":"ElementaryTypeName","src":"3093:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1629,"nodeType":"ArrayTypeName","src":"3093:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":1632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3089:16:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":1625,"name":"fulfillRandomWordsWithOverride","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1799,"src":"3035:30:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256,address,uint256[] memory)"}},"id":1633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3035:71:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1634,"nodeType":"ExpressionStatement","src":"3035:71:12"}]},"documentation":{"id":1618,"nodeType":"StructuredDocumentation","src":"2403:547:12","text":" @notice fulfillRandomWords fulfills the given request, sending the random words to the supplied\n @notice consumer.\n @dev This mock uses a simplified formula for calculating payment amount and gas usage, and does\n @dev not account for all edge cases handled in the real VRF coordinator. When making requests\n @dev against the real coordinator a small amount of additional LINK is required.\n @param _requestId the request to fulfill\n @param _consumer the VRF randomness consumer to send the result to"},"functionSelector":"808974ff","id":1636,"implemented":true,"kind":"function","modifiers":[],"name":"fulfillRandomWords","nameLocation":"2962:18:12","nodeType":"FunctionDefinition","parameters":{"id":1623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1620,"mutability":"mutable","name":"_requestId","nameLocation":"2989:10:12","nodeType":"VariableDeclaration","scope":1636,"src":"2981:18:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1619,"name":"uint256","nodeType":"ElementaryTypeName","src":"2981:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1622,"mutability":"mutable","name":"_consumer","nameLocation":"3009:9:12","nodeType":"VariableDeclaration","scope":1636,"src":"3001:17:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1621,"name":"address","nodeType":"ElementaryTypeName","src":"3001:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2980:39:12"},"returnParameters":{"id":1624,"nodeType":"ParameterList","parameters":[],"src":"3029:0:12"},"scope":2278,"src":"2953:158:12","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":1798,"nodeType":"Block","src":"3518:1015:12","statements":[{"assignments":[1648],"declarations":[{"constant":false,"id":1648,"mutability":"mutable","name":"startGas","nameLocation":"3532:8:12","nodeType":"VariableDeclaration","scope":1798,"src":"3524:16:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1647,"name":"uint256","nodeType":"ElementaryTypeName","src":"3524:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1651,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":1649,"name":"gasleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-7,"src":"3543:7:12","typeDescriptions":{"typeIdentifier":"t_function_gasleft_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":1650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3543:9:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3524:28:12"},{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":1657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":1652,"name":"s_requests","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1540,"src":"3562:10:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Request_$1535_storage_$","typeString":"mapping(uint256 => struct VRFCoordinatorV2Mock.Request storage ref)"}},"id":1654,"indexExpression":{"id":1653,"name":"_requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1639,"src":"3573:10:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3562:22:12","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$1535_storage","typeString":"struct VRFCoordinatorV2Mock.Request storage ref"}},"id":1655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"subId","nodeType":"MemberAccess","referencedDeclaration":1530,"src":"3562:28:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":1656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3594:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3562:33:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1663,"nodeType":"IfStatement","src":"3558:83:12","trueBody":{"id":1662,"nodeType":"Block","src":"3597:44:12","statements":[{"expression":{"arguments":[{"hexValue":"6e6f6e6578697374656e742072657175657374","id":1659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3612:21:12","typeDescriptions":{"typeIdentifier":"t_stringliteral_3ef79182ce6d98492afe1a096e15a790f2acf5883840b8ae9a09f74be7e958f0","typeString":"literal_string \"nonexistent request\""},"value":"nonexistent request"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3ef79182ce6d98492afe1a096e15a790f2acf5883840b8ae9a09f74be7e958f0","typeString":"literal_string \"nonexistent request\""}],"id":1658,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"3605:6:12","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":1660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3605:29:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1661,"nodeType":"ExpressionStatement","src":"3605:29:12"}]}},{"assignments":[1666],"declarations":[{"constant":false,"id":1666,"mutability":"mutable","name":"req","nameLocation":"3661:3:12","nodeType":"VariableDeclaration","scope":1798,"src":"3646:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$1535_memory_ptr","typeString":"struct VRFCoordinatorV2Mock.Request"},"typeName":{"id":1665,"nodeType":"UserDefinedTypeName","pathNode":{"id":1664,"name":"Request","nodeType":"IdentifierPath","referencedDeclaration":1535,"src":"3646:7:12"},"referencedDeclaration":1535,"src":"3646:7:12","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$1535_storage_ptr","typeString":"struct VRFCoordinatorV2Mock.Request"}},"visibility":"internal"}],"id":1670,"initialValue":{"baseExpression":{"id":1667,"name":"s_requests","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1540,"src":"3667:10:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Request_$1535_storage_$","typeString":"mapping(uint256 => struct VRFCoordinatorV2Mock.Request storage ref)"}},"id":1669,"indexExpression":{"id":1668,"name":"_requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1639,"src":"3678:10:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3667:22:12","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$1535_storage","typeString":"struct VRFCoordinatorV2Mock.Request storage ref"}},"nodeType":"VariableDeclarationStatement","src":"3646:43:12"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1671,"name":"_words","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1644,"src":"3700:6:12","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":1672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"3700:13:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":1673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3717:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3700:18:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1713,"name":"_words","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1644,"src":"3907:6:12","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":1714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"3907:13:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":1715,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1666,"src":"3924:3:12","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$1535_memory_ptr","typeString":"struct VRFCoordinatorV2Mock.Request memory"}},"id":1716,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"numWords","nodeType":"MemberAccess","referencedDeclaration":1534,"src":"3924:12:12","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"3907:29:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1722,"nodeType":"IfStatement","src":"3903:77:12","trueBody":{"id":1721,"nodeType":"Block","src":"3938:42:12","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1718,"name":"InvalidRandomWords","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1443,"src":"3953:18:12","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3953:20:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1720,"nodeType":"RevertStatement","src":"3946:27:12"}]}},"id":1723,"nodeType":"IfStatement","src":"3696:284:12","trueBody":{"id":1712,"nodeType":"Block","src":"3720:177:12","statements":[{"expression":{"id":1682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1675,"name":"_words","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1644,"src":"3728:6:12","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":1679,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1666,"src":"3751:3:12","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$1535_memory_ptr","typeString":"struct VRFCoordinatorV2Mock.Request memory"}},"id":1680,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"numWords","nodeType":"MemberAccess","referencedDeclaration":1534,"src":"3751:12:12","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":1678,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3737:13:12","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":1676,"name":"uint256","nodeType":"ElementaryTypeName","src":"3741:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1677,"nodeType":"ArrayTypeName","src":"3741:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":1681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3737:27:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"3728:36:12","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":1683,"nodeType":"ExpressionStatement","src":"3728:36:12"},{"body":{"id":1710,"nodeType":"Block","src":"3815:76:12","statements":[{"expression":{"id":1708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1695,"name":"_words","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1644,"src":"3825:6:12","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":1697,"indexExpression":{"id":1696,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1685,"src":"3832:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3825:9:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":1703,"name":"_requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1639,"src":"3866:10:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1704,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1685,"src":"3878:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1701,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3855:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"3855:10:12","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":1705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3855:25:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1700,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3845:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3845:36:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1699,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3837:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":1698,"name":"uint256","nodeType":"ElementaryTypeName","src":"3837:7:12","typeDescriptions":{}}},"id":1707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3837:45:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3825:57:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1709,"nodeType":"ExpressionStatement","src":"3825:57:12"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1688,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1685,"src":"3792:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":1689,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1666,"src":"3796:3:12","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$1535_memory_ptr","typeString":"struct VRFCoordinatorV2Mock.Request memory"}},"id":1690,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"numWords","nodeType":"MemberAccess","referencedDeclaration":1534,"src":"3796:12:12","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"3792:16:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1711,"initializationExpression":{"assignments":[1685],"declarations":[{"constant":false,"id":1685,"mutability":"mutable","name":"i","nameLocation":"3785:1:12","nodeType":"VariableDeclaration","scope":1711,"src":"3777:9:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1684,"name":"uint256","nodeType":"ElementaryTypeName","src":"3777:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1687,"initialValue":{"hexValue":"30","id":1686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3789:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"3777:13:12"},"loopExpression":{"expression":{"id":1693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3810:3:12","subExpression":{"id":1692,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1685,"src":"3810:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1694,"nodeType":"ExpressionStatement","src":"3810:3:12"},"nodeType":"ForStatement","src":"3772:119:12"}]}},{"assignments":[1726],"declarations":[{"constant":false,"id":1726,"mutability":"mutable","name":"v","nameLocation":"4004:1:12","nodeType":"VariableDeclaration","scope":1798,"src":"3986:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VRFConsumerBaseV2_$919","typeString":"contract VRFConsumerBaseV2"},"typeName":{"id":1725,"nodeType":"UserDefinedTypeName","pathNode":{"id":1724,"name":"VRFConsumerBaseV2","nodeType":"IdentifierPath","referencedDeclaration":919,"src":"3986:17:12"},"referencedDeclaration":919,"src":"3986:17:12","typeDescriptions":{"typeIdentifier":"t_contract$_VRFConsumerBaseV2_$919","typeString":"contract VRFConsumerBaseV2"}},"visibility":"internal"}],"id":1727,"nodeType":"VariableDeclarationStatement","src":"3986:19:12"},{"assignments":[1729],"declarations":[{"constant":false,"id":1729,"mutability":"mutable","name":"callReq","nameLocation":"4024:7:12","nodeType":"VariableDeclaration","scope":1798,"src":"4011:20:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1728,"name":"bytes","nodeType":"ElementaryTypeName","src":"4011:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1738,"initialValue":{"arguments":[{"expression":{"expression":{"id":1732,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1726,"src":"4057:1:12","typeDescriptions":{"typeIdentifier":"t_contract$_VRFConsumerBaseV2_$919","typeString":"contract VRFConsumerBaseV2"}},"id":1733,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"rawFulfillRandomWords","nodeType":"MemberAccess","referencedDeclaration":918,"src":"4057:23:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256,uint256[] memory) external"}},"id":1734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"4057:32:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":1735,"name":"_requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1639,"src":"4091:10:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1736,"name":"_words","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1644,"src":"4103:6:12","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":1730,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4034:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1731,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"4034:22:12","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":1737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4034:76:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4011:99:12"},{"assignments":[1740,null],"declarations":[{"constant":false,"id":1740,"mutability":"mutable","name":"success","nameLocation":"4122:7:12","nodeType":"VariableDeclaration","scope":1798,"src":"4117:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1739,"name":"bool","nodeType":"ElementaryTypeName","src":"4117:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":1748,"initialValue":{"arguments":[{"id":1746,"name":"callReq","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1729,"src":"4177:7:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1741,"name":"_consumer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1641,"src":"4135:9:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"4135:14:12","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["gas"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":1743,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1666,"src":"4155:3:12","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$1535_memory_ptr","typeString":"struct VRFCoordinatorV2Mock.Request memory"}},"id":1744,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"callbackGasLimit","nodeType":"MemberAccess","referencedDeclaration":1532,"src":"4155:20:12","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"src":"4135:41:12","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gas","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4135:50:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"4116:69:12"},{"assignments":[1750],"declarations":[{"constant":false,"id":1750,"mutability":"mutable","name":"payment","nameLocation":"4199:7:12","nodeType":"VariableDeclaration","scope":1798,"src":"4192:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":1749,"name":"uint96","nodeType":"ElementaryTypeName","src":"4192:6:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"id":1764,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1753,"name":"BASE_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1424,"src":"4216:8:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1754,"name":"startGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1648,"src":"4229:8:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":1755,"name":"gasleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-7,"src":"4240:7:12","typeDescriptions":{"typeIdentifier":"t_function_gasleft_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":1756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4240:9:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4229:20:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":1758,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4228:22:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":1759,"name":"GAS_PRICE_LINK","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1426,"src":"4253:14:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"4228:39:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":1761,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4227:41:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4216:52:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4209:6:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint96_$","typeString":"type(uint96)"},"typeName":{"id":1751,"name":"uint96","nodeType":"ElementaryTypeName","src":"4209:6:12","typeDescriptions":{}}},"id":1763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4209:60:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"VariableDeclarationStatement","src":"4192:77:12"},{"condition":{"commonType":{"typeIdentifier":"t_uint96","typeString":"uint96"},"id":1771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":1765,"name":"s_subscriptions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"4279:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_struct$_Subscription_$1518_storage_$","typeString":"mapping(uint64 => struct VRFCoordinatorV2Mock.Subscription storage ref)"}},"id":1768,"indexExpression":{"expression":{"id":1766,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1666,"src":"4295:3:12","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$1535_memory_ptr","typeString":"struct VRFCoordinatorV2Mock.Request memory"}},"id":1767,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"subId","nodeType":"MemberAccess","referencedDeclaration":1530,"src":"4295:9:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4279:26:12","typeDescriptions":{"typeIdentifier":"t_struct$_Subscription_$1518_storage","typeString":"struct VRFCoordinatorV2Mock.Subscription storage ref"}},"id":1769,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"balance","nodeType":"MemberAccess","referencedDeclaration":1517,"src":"4279:34:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1770,"name":"payment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1750,"src":"4316:7:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"4279:44:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1776,"nodeType":"IfStatement","src":"4275:93:12","trueBody":{"id":1775,"nodeType":"Block","src":"4325:43:12","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1772,"name":"InsufficientBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1433,"src":"4340:19:12","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4340:21:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1774,"nodeType":"RevertStatement","src":"4333:28:12"}]}},{"expression":{"id":1783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":1777,"name":"s_subscriptions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"4373:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_struct$_Subscription_$1518_storage_$","typeString":"mapping(uint64 => struct VRFCoordinatorV2Mock.Subscription storage ref)"}},"id":1780,"indexExpression":{"expression":{"id":1778,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1666,"src":"4389:3:12","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$1535_memory_ptr","typeString":"struct VRFCoordinatorV2Mock.Request memory"}},"id":1779,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"subId","nodeType":"MemberAccess","referencedDeclaration":1530,"src":"4389:9:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4373:26:12","typeDescriptions":{"typeIdentifier":"t_struct$_Subscription_$1518_storage","typeString":"struct VRFCoordinatorV2Mock.Subscription storage ref"}},"id":1781,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"balance","nodeType":"MemberAccess","referencedDeclaration":1517,"src":"4373:34:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":1782,"name":"payment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1750,"src":"4411:7:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"4373:45:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"id":1784,"nodeType":"ExpressionStatement","src":"4373:45:12"},{"expression":{"id":1789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4424:31:12","subExpression":{"components":[{"baseExpression":{"id":1785,"name":"s_requests","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1540,"src":"4432:10:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Request_$1535_storage_$","typeString":"mapping(uint256 => struct VRFCoordinatorV2Mock.Request storage ref)"}},"id":1787,"indexExpression":{"id":1786,"name":"_requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1639,"src":"4443:10:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4432:22:12","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$1535_storage","typeString":"struct VRFCoordinatorV2Mock.Request storage ref"}}],"id":1788,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"4431:24:12","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$1535_storage","typeString":"struct VRFCoordinatorV2Mock.Request storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1790,"nodeType":"ExpressionStatement","src":"4424:31:12"},{"eventCall":{"arguments":[{"id":1792,"name":"_requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1639,"src":"4487:10:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1793,"name":"_requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1639,"src":"4499:10:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1794,"name":"payment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1750,"src":"4511:7:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"id":1795,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1740,"src":"4520:7:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1791,"name":"RandomWordsFulfilled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1471,"src":"4466:20:12","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint96_$_t_bool_$returns$__$","typeString":"function (uint256,uint256,uint96,bool)"}},"id":1796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4466:62:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1797,"nodeType":"EmitStatement","src":"4461:67:12"}]},"documentation":{"id":1637,"nodeType":"StructuredDocumentation","src":"3115:273:12","text":" @notice fulfillRandomWordsWithOverride allows the user to pass in their own random words.\n @param _requestId the request to fulfill\n @param _consumer the VRF randomness consumer to send the result to\n @param _words user-provided random words"},"functionSelector":"08e3898e","id":1799,"implemented":true,"kind":"function","modifiers":[],"name":"fulfillRandomWordsWithOverride","nameLocation":"3400:30:12","nodeType":"FunctionDefinition","parameters":{"id":1645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1639,"mutability":"mutable","name":"_requestId","nameLocation":"3444:10:12","nodeType":"VariableDeclaration","scope":1799,"src":"3436:18:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1638,"name":"uint256","nodeType":"ElementaryTypeName","src":"3436:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1641,"mutability":"mutable","name":"_consumer","nameLocation":"3468:9:12","nodeType":"VariableDeclaration","scope":1799,"src":"3460:17:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1640,"name":"address","nodeType":"ElementaryTypeName","src":"3460:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1644,"mutability":"mutable","name":"_words","nameLocation":"3500:6:12","nodeType":"VariableDeclaration","scope":1799,"src":"3483:23:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1642,"name":"uint256","nodeType":"ElementaryTypeName","src":"3483:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1643,"nodeType":"ArrayTypeName","src":"3483:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3430:80:12"},"returnParameters":{"id":1646,"nodeType":"ParameterList","parameters":[],"src":"3518:0:12"},"scope":2278,"src":"3391:1142:12","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":1843,"nodeType":"Block","src":"4799:278:12","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":1807,"name":"s_subscriptions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"4809:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_struct$_Subscription_$1518_storage_$","typeString":"mapping(uint64 => struct VRFCoordinatorV2Mock.Subscription storage ref)"}},"id":1809,"indexExpression":{"id":1808,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1802,"src":"4825:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4809:23:12","typeDescriptions":{"typeIdentifier":"t_struct$_Subscription_$1518_storage","typeString":"struct VRFCoordinatorV2Mock.Subscription storage ref"}},"id":1810,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":1515,"src":"4809:29:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4850:1:12","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":1812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4842:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1811,"name":"address","nodeType":"ElementaryTypeName","src":"4842:7:12","typeDescriptions":{}}},"id":1814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4842:10:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4809:43:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1820,"nodeType":"IfStatement","src":"4805:92:12","trueBody":{"id":1819,"nodeType":"Block","src":"4854:43:12","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1816,"name":"InvalidSubscription","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1431,"src":"4869:19:12","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4869:21:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1818,"nodeType":"RevertStatement","src":"4862:28:12"}]}},{"assignments":[1822],"declarations":[{"constant":false,"id":1822,"mutability":"mutable","name":"oldBalance","nameLocation":"4909:10:12","nodeType":"VariableDeclaration","scope":1843,"src":"4902:17:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":1821,"name":"uint96","nodeType":"ElementaryTypeName","src":"4902:6:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"id":1827,"initialValue":{"expression":{"baseExpression":{"id":1823,"name":"s_subscriptions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"4922:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_struct$_Subscription_$1518_storage_$","typeString":"mapping(uint64 => struct VRFCoordinatorV2Mock.Subscription storage ref)"}},"id":1825,"indexExpression":{"id":1824,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1802,"src":"4938:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4922:23:12","typeDescriptions":{"typeIdentifier":"t_struct$_Subscription_$1518_storage","typeString":"struct VRFCoordinatorV2Mock.Subscription storage ref"}},"id":1826,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"balance","nodeType":"MemberAccess","referencedDeclaration":1517,"src":"4922:31:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"VariableDeclarationStatement","src":"4902:51:12"},{"expression":{"id":1833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":1828,"name":"s_subscriptions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"4959:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_struct$_Subscription_$1518_storage_$","typeString":"mapping(uint64 => struct VRFCoordinatorV2Mock.Subscription storage ref)"}},"id":1830,"indexExpression":{"id":1829,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1802,"src":"4975:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4959:23:12","typeDescriptions":{"typeIdentifier":"t_struct$_Subscription_$1518_storage","typeString":"struct VRFCoordinatorV2Mock.Subscription storage ref"}},"id":1831,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"balance","nodeType":"MemberAccess","referencedDeclaration":1517,"src":"4959:31:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":1832,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1804,"src":"4994:7:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"4959:42:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"id":1834,"nodeType":"ExpressionStatement","src":"4959:42:12"},{"eventCall":{"arguments":[{"id":1836,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1802,"src":"5031:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":1837,"name":"oldBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1822,"src":"5039:10:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"commonType":{"typeIdentifier":"t_uint96","typeString":"uint96"},"id":1840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1838,"name":"oldBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1822,"src":"5051:10:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":1839,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1804,"src":"5064:7:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"5051:20:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_uint96","typeString":"uint96"}],"id":1835,"name":"SubscriptionFunded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1485,"src":"5012:18:12","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint64_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint64,uint256,uint256)"}},"id":1841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5012:60:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1842,"nodeType":"EmitStatement","src":"5007:65:12"}]},"documentation":{"id":1800,"nodeType":"StructuredDocumentation","src":"4537:195:12","text":" @notice fundSubscription allows funding a subscription with an arbitrary amount for testing.\n @param _subId the subscription to fund\n @param _amount the amount to fund"},"functionSelector":"afc69b53","id":1844,"implemented":true,"kind":"function","modifiers":[],"name":"fundSubscription","nameLocation":"4744:16:12","nodeType":"FunctionDefinition","parameters":{"id":1805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1802,"mutability":"mutable","name":"_subId","nameLocation":"4768:6:12","nodeType":"VariableDeclaration","scope":1844,"src":"4761:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1801,"name":"uint64","nodeType":"ElementaryTypeName","src":"4761:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1804,"mutability":"mutable","name":"_amount","nameLocation":"4783:7:12","nodeType":"VariableDeclaration","scope":1844,"src":"4776:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":1803,"name":"uint96","nodeType":"ElementaryTypeName","src":"4776:6:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"4760:31:12"},"returnParameters":{"id":1806,"nodeType":"ParameterList","parameters":[],"src":"4799:0:12"},"scope":2278,"src":"4735:342:12","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[1348],"body":{"id":1913,"nodeType":"Block","src":"5321:516:12","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":1865,"name":"s_subscriptions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"5331:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_struct$_Subscription_$1518_storage_$","typeString":"mapping(uint64 => struct VRFCoordinatorV2Mock.Subscription storage ref)"}},"id":1867,"indexExpression":{"id":1866,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"5347:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5331:23:12","typeDescriptions":{"typeIdentifier":"t_struct$_Subscription_$1518_storage","typeString":"struct VRFCoordinatorV2Mock.Subscription storage ref"}},"id":1868,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":1515,"src":"5331:29:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5372:1:12","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":1870,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5364:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1869,"name":"address","nodeType":"ElementaryTypeName","src":"5364:7:12","typeDescriptions":{}}},"id":1872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5364:10:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5331:43:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1878,"nodeType":"IfStatement","src":"5327:92:12","trueBody":{"id":1877,"nodeType":"Block","src":"5376:43:12","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1874,"name":"InvalidSubscription","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1431,"src":"5391:19:12","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5391:21:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1876,"nodeType":"RevertStatement","src":"5384:28:12"}]}},{"assignments":[1880],"declarations":[{"constant":false,"id":1880,"mutability":"mutable","name":"requestId","nameLocation":"5433:9:12","nodeType":"VariableDeclaration","scope":1913,"src":"5425:17:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1879,"name":"uint256","nodeType":"ElementaryTypeName","src":"5425:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1883,"initialValue":{"id":1882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5445:17:12","subExpression":{"id":1881,"name":"s_nextRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1510,"src":"5445:15:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5425:37:12"},{"assignments":[1885],"declarations":[{"constant":false,"id":1885,"mutability":"mutable","name":"preSeed","nameLocation":"5476:7:12","nodeType":"VariableDeclaration","scope":1913,"src":"5468:15:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1884,"name":"uint256","nodeType":"ElementaryTypeName","src":"5468:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1888,"initialValue":{"id":1887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5486:15:12","subExpression":{"id":1886,"name":"s_nextPreSeed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1513,"src":"5486:13:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5468:33:12"},{"expression":{"id":1897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1889,"name":"s_requests","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1540,"src":"5508:10:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Request_$1535_storage_$","typeString":"mapping(uint256 => struct VRFCoordinatorV2Mock.Request storage ref)"}},"id":1891,"indexExpression":{"id":1890,"name":"requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1880,"src":"5519:9:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5508:21:12","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$1535_storage","typeString":"struct VRFCoordinatorV2Mock.Request storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1893,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"5548:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":1894,"name":"_callbackGasLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1852,"src":"5574:17:12","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":1895,"name":"_numWords","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1854,"src":"5603:9:12","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":1892,"name":"Request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1535,"src":"5532:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Request_$1535_storage_ptr_$","typeString":"type(struct VRFCoordinatorV2Mock.Request storage pointer)"}},"id":1896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["subId","callbackGasLimit","numWords"],"nodeType":"FunctionCall","src":"5532:82:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Request_$1535_memory_ptr","typeString":"struct VRFCoordinatorV2Mock.Request memory"}},"src":"5508:106:12","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$1535_storage","typeString":"struct VRFCoordinatorV2Mock.Request storage ref"}},"id":1898,"nodeType":"ExpressionStatement","src":"5508:106:12"},{"eventCall":{"arguments":[{"id":1900,"name":"_keyHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1846,"src":"5654:8:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1901,"name":"requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1880,"src":"5670:9:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1902,"name":"preSeed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1885,"src":"5687:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1903,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"5702:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":1904,"name":"_minimumRequestConfirmations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"5716:28:12","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},{"id":1905,"name":"_callbackGasLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1852,"src":"5752:17:12","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":1906,"name":"_numWords","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1854,"src":"5777:9:12","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"expression":{"id":1907,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5794:3:12","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"5794:10:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint16","typeString":"uint16"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1899,"name":"RandomWordsRequested","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1461,"src":"5626:20:12","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint64_$_t_uint16_$_t_uint32_$_t_uint32_$_t_address_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint64,uint16,uint32,uint32,address)"}},"id":1909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5626:184:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1910,"nodeType":"EmitStatement","src":"5621:189:12"},{"expression":{"id":1911,"name":"requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1880,"src":"5823:9:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1864,"id":1912,"nodeType":"Return","src":"5816:16:12"}]},"functionSelector":"5d3b1d30","id":1914,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1858,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"5283:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"expression":{"id":1859,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5291:3:12","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"5291:10:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":1861,"kind":"modifierInvocation","modifierName":{"id":1857,"name":"onlyValidConsumer","nodeType":"IdentifierPath","referencedDeclaration":1617,"src":"5265:17:12"},"nodeType":"ModifierInvocation","src":"5265:37:12"}],"name":"requestRandomWords","nameLocation":"5090:18:12","nodeType":"FunctionDefinition","overrides":{"id":1856,"nodeType":"OverrideSpecifier","overrides":[],"src":"5256:8:12"},"parameters":{"id":1855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1846,"mutability":"mutable","name":"_keyHash","nameLocation":"5122:8:12","nodeType":"VariableDeclaration","scope":1914,"src":"5114:16:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1845,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5114:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1848,"mutability":"mutable","name":"_subId","nameLocation":"5143:6:12","nodeType":"VariableDeclaration","scope":1914,"src":"5136:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1847,"name":"uint64","nodeType":"ElementaryTypeName","src":"5136:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1850,"mutability":"mutable","name":"_minimumRequestConfirmations","nameLocation":"5162:28:12","nodeType":"VariableDeclaration","scope":1914,"src":"5155:35:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1849,"name":"uint16","nodeType":"ElementaryTypeName","src":"5155:6:12","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"},{"constant":false,"id":1852,"mutability":"mutable","name":"_callbackGasLimit","nameLocation":"5203:17:12","nodeType":"VariableDeclaration","scope":1914,"src":"5196:24:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":1851,"name":"uint32","nodeType":"ElementaryTypeName","src":"5196:6:12","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":1854,"mutability":"mutable","name":"_numWords","nameLocation":"5233:9:12","nodeType":"VariableDeclaration","scope":1914,"src":"5226:16:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":1853,"name":"uint32","nodeType":"ElementaryTypeName","src":"5226:6:12","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"5108:138:12"},"returnParameters":{"id":1864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1863,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1914,"src":"5312:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1862,"name":"uint256","nodeType":"ElementaryTypeName","src":"5312:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5311:9:12"},"scope":2278,"src":"5081:756:12","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[1354],"body":{"id":1941,"nodeType":"Block","src":"5913:197:12","statements":[{"expression":{"id":1921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5919:16:12","subExpression":{"id":1920,"name":"s_currentSubId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1507,"src":"5919:14:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":1922,"nodeType":"ExpressionStatement","src":"5919:16:12"},{"expression":{"id":1931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1923,"name":"s_subscriptions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"5941:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_struct$_Subscription_$1518_storage_$","typeString":"mapping(uint64 => struct VRFCoordinatorV2Mock.Subscription storage ref)"}},"id":1925,"indexExpression":{"id":1924,"name":"s_currentSubId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1507,"src":"5957:14:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5941:31:12","typeDescriptions":{"typeIdentifier":"t_struct$_Subscription_$1518_storage","typeString":"struct VRFCoordinatorV2Mock.Subscription storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":1927,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5996:3:12","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"5996:10:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":1929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6017:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1926,"name":"Subscription","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1518,"src":"5975:12:12","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Subscription_$1518_storage_ptr_$","typeString":"type(struct VRFCoordinatorV2Mock.Subscription storage pointer)"}},"id":1930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["owner","balance"],"nodeType":"FunctionCall","src":"5975:45:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Subscription_$1518_memory_ptr","typeString":"struct VRFCoordinatorV2Mock.Subscription memory"}},"src":"5941:79:12","typeDescriptions":{"typeIdentifier":"t_struct$_Subscription_$1518_storage","typeString":"struct VRFCoordinatorV2Mock.Subscription storage ref"}},"id":1932,"nodeType":"ExpressionStatement","src":"5941:79:12"},{"eventCall":{"arguments":[{"id":1934,"name":"s_currentSubId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1507,"src":"6051:14:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"expression":{"id":1935,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6067:3:12","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"6067:10:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1933,"name":"SubscriptionCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1477,"src":"6031:19:12","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint64_$_t_address_$returns$__$","typeString":"function (uint64,address)"}},"id":1937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6031:47:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1938,"nodeType":"EmitStatement","src":"6026:52:12"},{"expression":{"id":1939,"name":"s_currentSubId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1507,"src":"6091:14:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":1919,"id":1940,"nodeType":"Return","src":"6084:21:12"}]},"functionSelector":"a21a23e4","id":1942,"implemented":true,"kind":"function","modifiers":[],"name":"createSubscription","nameLocation":"5850:18:12","nodeType":"FunctionDefinition","overrides":{"id":1916,"nodeType":"OverrideSpecifier","overrides":[],"src":"5880:8:12"},"parameters":{"id":1915,"nodeType":"ParameterList","parameters":[],"src":"5868:2:12"},"returnParameters":{"id":1919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1918,"mutability":"mutable","name":"_subId","nameLocation":"5905:6:12","nodeType":"VariableDeclaration","scope":1942,"src":"5898:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1917,"name":"uint64","nodeType":"ElementaryTypeName","src":"5898:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"5897:15:12"},"scope":2278,"src":"5841:269:12","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[1369],"body":{"id":1985,"nodeType":"Block","src":"6310:203:12","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":1957,"name":"s_subscriptions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"6320:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_struct$_Subscription_$1518_storage_$","typeString":"mapping(uint64 => struct VRFCoordinatorV2Mock.Subscription storage ref)"}},"id":1959,"indexExpression":{"id":1958,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1944,"src":"6336:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6320:23:12","typeDescriptions":{"typeIdentifier":"t_struct$_Subscription_$1518_storage","typeString":"struct VRFCoordinatorV2Mock.Subscription storage ref"}},"id":1960,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":1515,"src":"6320:29:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6361:1:12","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":1962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6353:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1961,"name":"address","nodeType":"ElementaryTypeName","src":"6353:7:12","typeDescriptions":{}}},"id":1964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6353:10:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6320:43:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1970,"nodeType":"IfStatement","src":"6316:92:12","trueBody":{"id":1969,"nodeType":"Block","src":"6365:43:12","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1966,"name":"InvalidSubscription","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1431,"src":"6380:19:12","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6380:21:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1968,"nodeType":"RevertStatement","src":"6373:28:12"}]}},{"expression":{"components":[{"expression":{"baseExpression":{"id":1971,"name":"s_subscriptions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"6421:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_struct$_Subscription_$1518_storage_$","typeString":"mapping(uint64 => struct VRFCoordinatorV2Mock.Subscription storage ref)"}},"id":1973,"indexExpression":{"id":1972,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1944,"src":"6437:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6421:23:12","typeDescriptions":{"typeIdentifier":"t_struct$_Subscription_$1518_storage","typeString":"struct VRFCoordinatorV2Mock.Subscription storage ref"}},"id":1974,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"balance","nodeType":"MemberAccess","referencedDeclaration":1517,"src":"6421:31:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"hexValue":"30","id":1975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6454:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"baseExpression":{"id":1976,"name":"s_subscriptions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"6457:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_struct$_Subscription_$1518_storage_$","typeString":"mapping(uint64 => struct VRFCoordinatorV2Mock.Subscription storage ref)"}},"id":1978,"indexExpression":{"id":1977,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1944,"src":"6473:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6457:23:12","typeDescriptions":{"typeIdentifier":"t_struct$_Subscription_$1518_storage","typeString":"struct VRFCoordinatorV2Mock.Subscription storage ref"}},"id":1979,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":1515,"src":"6457:29:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":1980,"name":"s_consumers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1528,"src":"6488:11:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(uint64 => address[] storage ref)"}},"id":1982,"indexExpression":{"id":1981,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1944,"src":"6500:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6488:19:12","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}}],"id":1983,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6420:88:12","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint96_$_t_rational_0_by_1_$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"tuple(uint96,int_const 0,address,address[] storage ref)"}},"functionReturnParameters":1956,"id":1984,"nodeType":"Return","src":"6413:95:12"}]},"functionSelector":"a47c7696","id":1986,"implemented":true,"kind":"function","modifiers":[],"name":"getSubscription","nameLocation":"6123:15:12","nodeType":"FunctionDefinition","overrides":{"id":1946,"nodeType":"OverrideSpecifier","overrides":[],"src":"6180:8:12"},"parameters":{"id":1945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1944,"mutability":"mutable","name":"_subId","nameLocation":"6146:6:12","nodeType":"VariableDeclaration","scope":1986,"src":"6139:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1943,"name":"uint64","nodeType":"ElementaryTypeName","src":"6139:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"6138:15:12"},"returnParameters":{"id":1956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1948,"mutability":"mutable","name":"balance","nameLocation":"6216:7:12","nodeType":"VariableDeclaration","scope":1986,"src":"6209:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":1947,"name":"uint96","nodeType":"ElementaryTypeName","src":"6209:6:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"},{"constant":false,"id":1950,"mutability":"mutable","name":"reqCount","nameLocation":"6238:8:12","nodeType":"VariableDeclaration","scope":1986,"src":"6231:15:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1949,"name":"uint64","nodeType":"ElementaryTypeName","src":"6231:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1952,"mutability":"mutable","name":"owner","nameLocation":"6262:5:12","nodeType":"VariableDeclaration","scope":1986,"src":"6254:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1951,"name":"address","nodeType":"ElementaryTypeName","src":"6254:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1955,"mutability":"mutable","name":"consumers","nameLocation":"6292:9:12","nodeType":"VariableDeclaration","scope":1986,"src":"6275:26:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1953,"name":"address","nodeType":"ElementaryTypeName","src":"6275:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1954,"nodeType":"ArrayTypeName","src":"6275:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"6201:106:12"},"scope":2278,"src":"6114:399:12","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[1407],"body":{"id":2012,"nodeType":"Block","src":"6612:120:12","statements":[{"eventCall":{"arguments":[{"id":1998,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1988,"src":"6644:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":1999,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1990,"src":"6652:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":2000,"name":"s_subscriptions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"6657:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_struct$_Subscription_$1518_storage_$","typeString":"mapping(uint64 => struct VRFCoordinatorV2Mock.Subscription storage ref)"}},"id":2002,"indexExpression":{"id":2001,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1988,"src":"6673:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6657:23:12","typeDescriptions":{"typeIdentifier":"t_struct$_Subscription_$1518_storage","typeString":"struct VRFCoordinatorV2Mock.Subscription storage ref"}},"id":2003,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"balance","nodeType":"MemberAccess","referencedDeclaration":1517,"src":"6657:31:12","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint96","typeString":"uint96"}],"id":1997,"name":"SubscriptionCanceled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1493,"src":"6623:20:12","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint64_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint64,address,uint256)"}},"id":2004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6623:66:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2005,"nodeType":"EmitStatement","src":"6618:71:12"},{"expression":{"id":2010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"6695:32:12","subExpression":{"components":[{"baseExpression":{"id":2006,"name":"s_subscriptions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"6703:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_struct$_Subscription_$1518_storage_$","typeString":"mapping(uint64 => struct VRFCoordinatorV2Mock.Subscription storage ref)"}},"id":2008,"indexExpression":{"id":2007,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1988,"src":"6719:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6703:23:12","typeDescriptions":{"typeIdentifier":"t_struct$_Subscription_$1518_storage","typeString":"struct VRFCoordinatorV2Mock.Subscription storage ref"}}],"id":2009,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"6702:25:12","typeDescriptions":{"typeIdentifier":"t_struct$_Subscription_$1518_storage","typeString":"struct VRFCoordinatorV2Mock.Subscription storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2011,"nodeType":"ExpressionStatement","src":"6695:32:12"}]},"functionSelector":"d7ae1d30","id":2013,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1994,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1988,"src":"6604:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"id":1995,"kind":"modifierInvocation","modifierName":{"id":1993,"name":"onlySubOwner","nodeType":"IdentifierPath","referencedDeclaration":2047,"src":"6591:12:12"},"nodeType":"ModifierInvocation","src":"6591:20:12"}],"name":"cancelSubscription","nameLocation":"6526:18:12","nodeType":"FunctionDefinition","overrides":{"id":1992,"nodeType":"OverrideSpecifier","overrides":[],"src":"6582:8:12"},"parameters":{"id":1991,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1988,"mutability":"mutable","name":"_subId","nameLocation":"6552:6:12","nodeType":"VariableDeclaration","scope":2013,"src":"6545:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1987,"name":"uint64","nodeType":"ElementaryTypeName","src":"6545:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1990,"mutability":"mutable","name":"_to","nameLocation":"6568:3:12","nodeType":"VariableDeclaration","scope":2013,"src":"6560:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1989,"name":"address","nodeType":"ElementaryTypeName","src":"6560:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6544:28:12"},"returnParameters":{"id":1996,"nodeType":"ParameterList","parameters":[],"src":"6612:0:12"},"scope":2278,"src":"6517:215:12","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":2046,"nodeType":"Block","src":"6773:209:12","statements":[{"assignments":[2018],"declarations":[{"constant":false,"id":2018,"mutability":"mutable","name":"owner","nameLocation":"6787:5:12","nodeType":"VariableDeclaration","scope":2046,"src":"6779:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2017,"name":"address","nodeType":"ElementaryTypeName","src":"6779:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":2023,"initialValue":{"expression":{"baseExpression":{"id":2019,"name":"s_subscriptions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"6795:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_struct$_Subscription_$1518_storage_$","typeString":"mapping(uint64 => struct VRFCoordinatorV2Mock.Subscription storage ref)"}},"id":2021,"indexExpression":{"id":2020,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2015,"src":"6811:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6795:23:12","typeDescriptions":{"typeIdentifier":"t_struct$_Subscription_$1518_storage","typeString":"struct VRFCoordinatorV2Mock.Subscription storage ref"}},"id":2022,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":1515,"src":"6795:29:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6779:45:12"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2024,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2018,"src":"6834:5:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":2027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6851:1:12","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":2026,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6843:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2025,"name":"address","nodeType":"ElementaryTypeName","src":"6843:7:12","typeDescriptions":{}}},"id":2028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6843:10:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6834:19:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2034,"nodeType":"IfStatement","src":"6830:68:12","trueBody":{"id":2033,"nodeType":"Block","src":"6855:43:12","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2030,"name":"InvalidSubscription","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1431,"src":"6870:19:12","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6870:21:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2032,"nodeType":"RevertStatement","src":"6863:28:12"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2035,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6907:3:12","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"6907:10:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":2037,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2018,"src":"6921:5:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6907:19:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2044,"nodeType":"IfStatement","src":"6903:68:12","trueBody":{"id":2043,"nodeType":"Block","src":"6928:43:12","statements":[{"errorCall":{"arguments":[{"id":2040,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2018,"src":"6958:5:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2039,"name":"MustBeSubOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1437,"src":"6943:14:12","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":2041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6943:21:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2042,"nodeType":"RevertStatement","src":"6936:28:12"}]}},{"id":2045,"nodeType":"PlaceholderStatement","src":"6976:1:12"}]},"id":2047,"name":"onlySubOwner","nameLocation":"6745:12:12","nodeType":"ModifierDefinition","parameters":{"id":2016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2015,"mutability":"mutable","name":"_subId","nameLocation":"6765:6:12","nodeType":"VariableDeclaration","scope":2047,"src":"6758:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":2014,"name":"uint64","nodeType":"ElementaryTypeName","src":"6758:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"6757:15:12"},"src":"6736:246:12","virtual":false,"visibility":"internal"},{"baseFunctions":[1332],"body":{"id":2067,"nodeType":"Block","src":"7122:48:12","statements":[{"expression":{"components":[{"hexValue":"33","id":2058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7136:1:12","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},{"hexValue":"32303030303030","id":2059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7139:7:12","typeDescriptions":{"typeIdentifier":"t_rational_2000000_by_1","typeString":"int_const 2000000"},"value":"2000000"},{"arguments":[{"hexValue":"30","id":2063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7162:1:12","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":2062,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7148:13:12","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":2060,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7152:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":2061,"nodeType":"ArrayTypeName","src":"7152:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":2064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7148:16:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"id":2065,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7135:30:12","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_3_by_1_$_t_rational_2000000_by_1_$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"tuple(int_const 3,int_const 2000000,bytes32[] memory)"}},"functionReturnParameters":2057,"id":2066,"nodeType":"Return","src":"7128:37:12"}]},"functionSelector":"00012291","id":2068,"implemented":true,"kind":"function","modifiers":[],"name":"getRequestConfig","nameLocation":"6995:16:12","nodeType":"FunctionDefinition","overrides":{"id":2049,"nodeType":"OverrideSpecifier","overrides":[],"src":"7040:8:12"},"parameters":{"id":2048,"nodeType":"ParameterList","parameters":[],"src":"7011:2:12"},"returnParameters":{"id":2057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2051,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2068,"src":"7069:6:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":2050,"name":"uint16","nodeType":"ElementaryTypeName","src":"7069:6:12","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"},{"constant":false,"id":2053,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2068,"src":"7083:6:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":2052,"name":"uint32","nodeType":"ElementaryTypeName","src":"7083:6:12","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":2056,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2068,"src":"7097:16:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":2054,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7097:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":2055,"nodeType":"ArrayTypeName","src":"7097:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"7061:58:12"},"scope":2278,"src":"6986:184:12","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[1391],"body":{"id":2109,"nodeType":"Block","src":"7268:251:12","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":2079,"name":"s_consumers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1528,"src":"7278:11:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(uint64 => address[] storage ref)"}},"id":2081,"indexExpression":{"id":2080,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2070,"src":"7290:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7278:19:12","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":2082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7278:26:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":2083,"name":"MAX_CONSUMERS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1429,"src":"7308:13:12","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"src":"7278:43:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2089,"nodeType":"IfStatement","src":"7274:89:12","trueBody":{"id":2088,"nodeType":"Block","src":"7323:40:12","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2085,"name":"TooManyConsumers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1439,"src":"7338:16:12","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7338:18:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2087,"nodeType":"RevertStatement","src":"7331:25:12"}]}},{"condition":{"arguments":[{"id":2091,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2070,"src":"7389:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":2092,"name":"_consumer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2072,"src":"7397:9:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2090,"name":"consumerIsAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1599,"src":"7373:15:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint64_$_t_address_$returns$_t_bool_$","typeString":"function (uint64,address) view returns (bool)"}},"id":2093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7373:34:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2096,"nodeType":"IfStatement","src":"7369:61:12","trueBody":{"id":2095,"nodeType":"Block","src":"7409:21:12","statements":[{"functionReturnParameters":2078,"id":2094,"nodeType":"Return","src":"7417:7:12"}]}},{"expression":{"arguments":[{"id":2101,"name":"_consumer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2072,"src":"7461:9:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"baseExpression":{"id":2097,"name":"s_consumers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1528,"src":"7436:11:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(uint64 => address[] storage ref)"}},"id":2099,"indexExpression":{"id":2098,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2070,"src":"7448:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7436:19:12","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":2100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"7436:24:12","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":2102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7436:35:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2103,"nodeType":"ExpressionStatement","src":"7436:35:12"},{"eventCall":{"arguments":[{"id":2105,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2070,"src":"7496:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":2106,"name":"_consumer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2072,"src":"7504:9:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2104,"name":"ConsumerAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1499,"src":"7482:13:12","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint64_$_t_address_$returns$__$","typeString":"function (uint64,address)"}},"id":2107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7482:32:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2108,"nodeType":"EmitStatement","src":"7477:37:12"}]},"functionSelector":"7341c10c","id":2110,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":2076,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2070,"src":"7260:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"id":2077,"kind":"modifierInvocation","modifierName":{"id":2075,"name":"onlySubOwner","nodeType":"IdentifierPath","referencedDeclaration":2047,"src":"7247:12:12"},"nodeType":"ModifierInvocation","src":"7247:20:12"}],"name":"addConsumer","nameLocation":"7183:11:12","nodeType":"FunctionDefinition","overrides":{"id":2074,"nodeType":"OverrideSpecifier","overrides":[],"src":"7238:8:12"},"parameters":{"id":2073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2070,"mutability":"mutable","name":"_subId","nameLocation":"7202:6:12","nodeType":"VariableDeclaration","scope":2110,"src":"7195:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":2069,"name":"uint64","nodeType":"ElementaryTypeName","src":"7195:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":2072,"mutability":"mutable","name":"_consumer","nameLocation":"7218:9:12","nodeType":"VariableDeclaration","scope":2110,"src":"7210:17:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2071,"name":"address","nodeType":"ElementaryTypeName","src":"7210:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7194:34:12"},"returnParameters":{"id":2078,"nodeType":"ParameterList","parameters":[],"src":"7268:0:12"},"scope":2278,"src":"7174:345:12","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[1399],"body":{"id":2180,"nodeType":"Block","src":"7675:337:12","statements":[{"assignments":[2129],"declarations":[{"constant":false,"id":2129,"mutability":"mutable","name":"consumers","nameLocation":"7699:9:12","nodeType":"VariableDeclaration","scope":2180,"src":"7681:27:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2127,"name":"address","nodeType":"ElementaryTypeName","src":"7681:7:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2128,"nodeType":"ArrayTypeName","src":"7681:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":2133,"initialValue":{"baseExpression":{"id":2130,"name":"s_consumers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1528,"src":"7711:11:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(uint64 => address[] storage ref)"}},"id":2132,"indexExpression":{"id":2131,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2112,"src":"7723:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7711:19:12","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"7681:49:12"},{"body":{"id":2173,"nodeType":"Block","src":"7783:179:12","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":2145,"name":"consumers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2129,"src":"7795:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":2147,"indexExpression":{"id":2146,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2135,"src":"7805:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7795:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":2148,"name":"_consumer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2114,"src":"7811:9:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7795:25:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2172,"nodeType":"IfStatement","src":"7791:165:12","trueBody":{"id":2171,"nodeType":"Block","src":"7822:134:12","statements":[{"assignments":[2151],"declarations":[{"constant":false,"id":2151,"mutability":"mutable","name":"last","nameLocation":"7840:4:12","nodeType":"VariableDeclaration","scope":2171,"src":"7832:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2150,"name":"address","nodeType":"ElementaryTypeName","src":"7832:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":2158,"initialValue":{"baseExpression":{"id":2152,"name":"consumers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2129,"src":"7847:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":2157,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2153,"name":"consumers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2129,"src":"7857:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":2154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7857:16:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":2155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7876:1:12","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7857:20:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7847:31:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"7832:46:12"},{"expression":{"id":2163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":2159,"name":"consumers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2129,"src":"7888:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":2161,"indexExpression":{"id":2160,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2135,"src":"7898:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7888:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":2162,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2151,"src":"7903:4:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7888:19:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2164,"nodeType":"ExpressionStatement","src":"7888:19:12"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":2165,"name":"consumers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2129,"src":"7917:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":2167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"pop","nodeType":"MemberAccess","src":"7917:13:12","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer)"}},"id":2168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7917:15:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2169,"nodeType":"ExpressionStatement","src":"7917:15:12"},{"id":2170,"nodeType":"Break","src":"7942:5:12"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2138,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2135,"src":"7756:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":2139,"name":"consumers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2129,"src":"7760:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":2140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7760:16:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7756:20:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2174,"initializationExpression":{"assignments":[2135],"declarations":[{"constant":false,"id":2135,"mutability":"mutable","name":"i","nameLocation":"7749:1:12","nodeType":"VariableDeclaration","scope":2174,"src":"7741:9:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2134,"name":"uint256","nodeType":"ElementaryTypeName","src":"7741:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2137,"initialValue":{"hexValue":"30","id":2136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7753:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"7741:13:12"},"loopExpression":{"expression":{"id":2143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"7778:3:12","subExpression":{"id":2142,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2135,"src":"7778:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2144,"nodeType":"ExpressionStatement","src":"7778:3:12"},"nodeType":"ForStatement","src":"7736:226:12"},{"eventCall":{"arguments":[{"id":2176,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2112,"src":"7989:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":2177,"name":"_consumer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2114,"src":"7997:9:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2175,"name":"ConsumerRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1505,"src":"7973:15:12","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint64_$_t_address_$returns$__$","typeString":"function (uint64,address)"}},"id":2178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7973:34:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2179,"nodeType":"EmitStatement","src":"7968:39:12"}]},"functionSelector":"9f87fad7","id":2181,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":2118,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2112,"src":"7624:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"id":2119,"kind":"modifierInvocation","modifierName":{"id":2117,"name":"onlySubOwner","nodeType":"IdentifierPath","referencedDeclaration":2047,"src":"7611:12:12"},"nodeType":"ModifierInvocation","src":"7611:20:12"},{"arguments":[{"id":2121,"name":"_subId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2112,"src":"7654:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":2122,"name":"_consumer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2114,"src":"7662:9:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":2123,"kind":"modifierInvocation","modifierName":{"id":2120,"name":"onlyValidConsumer","nodeType":"IdentifierPath","referencedDeclaration":1617,"src":"7636:17:12"},"nodeType":"ModifierInvocation","src":"7636:36:12"}],"name":"removeConsumer","nameLocation":"7532:14:12","nodeType":"FunctionDefinition","overrides":{"id":2116,"nodeType":"OverrideSpecifier","overrides":[],"src":"7598:8:12"},"parameters":{"id":2115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2112,"mutability":"mutable","name":"_subId","nameLocation":"7554:6:12","nodeType":"VariableDeclaration","scope":2181,"src":"7547:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":2111,"name":"uint64","nodeType":"ElementaryTypeName","src":"7547:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":2114,"mutability":"mutable","name":"_consumer","nameLocation":"7570:9:12","nodeType":"VariableDeclaration","scope":2181,"src":"7562:17:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2113,"name":"address","nodeType":"ElementaryTypeName","src":"7562:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7546:34:12"},"returnParameters":{"id":2124,"nodeType":"ParameterList","parameters":[],"src":"7675:0:12"},"scope":2278,"src":"7523:489:12","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":2198,"nodeType":"Block","src":"8220:46:12","statements":[{"expression":{"components":[{"hexValue":"34","id":2192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8234:1:12","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},{"hexValue":"325f3530305f303030","id":2193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8237:9:12","typeDescriptions":{"typeIdentifier":"t_rational_2500000_by_1","typeString":"int_const 2500000"},"value":"2_500_000"},{"hexValue":"325f373030","id":2194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8248:5:12","typeDescriptions":{"typeIdentifier":"t_rational_2700_by_1","typeString":"int_const 2700"},"value":"2_700"},{"hexValue":"3333323835","id":2195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8255:5:12","typeDescriptions":{"typeIdentifier":"t_rational_33285_by_1","typeString":"int_const 33285"},"value":"33285"}],"id":2196,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8233:28:12","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_4_by_1_$_t_rational_2500000_by_1_$_t_rational_2700_by_1_$_t_rational_33285_by_1_$","typeString":"tuple(int_const 4,int_const 2500000,int_const 2700,int_const 33285)"}},"functionReturnParameters":2191,"id":2197,"nodeType":"Return","src":"8226:35:12"}]},"functionSelector":"c3f909d4","id":2199,"implemented":true,"kind":"function","modifiers":[],"name":"getConfig","nameLocation":"8025:9:12","nodeType":"FunctionDefinition","parameters":{"id":2182,"nodeType":"ParameterList","parameters":[],"src":"8034:2:12"},"returnParameters":{"id":2191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2184,"mutability":"mutable","name":"minimumRequestConfirmations","nameLocation":"8086:27:12","nodeType":"VariableDeclaration","scope":2199,"src":"8079:34:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":2183,"name":"uint16","nodeType":"ElementaryTypeName","src":"8079:6:12","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"},{"constant":false,"id":2186,"mutability":"mutable","name":"maxGasLimit","nameLocation":"8128:11:12","nodeType":"VariableDeclaration","scope":2199,"src":"8121:18:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":2185,"name":"uint32","nodeType":"ElementaryTypeName","src":"8121:6:12","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":2188,"mutability":"mutable","name":"stalenessSeconds","nameLocation":"8154:16:12","nodeType":"VariableDeclaration","scope":2199,"src":"8147:23:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":2187,"name":"uint32","nodeType":"ElementaryTypeName","src":"8147:6:12","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":2190,"mutability":"mutable","name":"gasAfterPaymentCalculation","nameLocation":"8185:26:12","nodeType":"VariableDeclaration","scope":2199,"src":"8178:33:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":2189,"name":"uint32","nodeType":"ElementaryTypeName","src":"8178:6:12","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"8071:146:12"},"scope":2278,"src":"8016:250:12","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":2231,"nodeType":"Block","src":"8670:190:12","statements":[{"expression":{"components":[{"hexValue":"313030303030","id":2220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8691:6:12","typeDescriptions":{"typeIdentifier":"t_rational_100000_by_1","typeString":"int_const 100000"},"value":"100000"},{"hexValue":"313030303030","id":2221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8717:6:12","typeDescriptions":{"typeIdentifier":"t_rational_100000_by_1","typeString":"int_const 100000"},"value":"100000"},{"hexValue":"313030303030","id":2222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8743:6:12","typeDescriptions":{"typeIdentifier":"t_rational_100000_by_1","typeString":"int_const 100000"},"value":"100000"},{"hexValue":"313030303030","id":2223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8769:6:12","typeDescriptions":{"typeIdentifier":"t_rational_100000_by_1","typeString":"int_const 100000"},"value":"100000"},{"hexValue":"313030303030","id":2224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8795:6:12","typeDescriptions":{"typeIdentifier":"t_rational_100000_by_1","typeString":"int_const 100000"},"value":"100000"},{"hexValue":"30","id":2225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8821:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":2226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8830:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":2227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8839:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":2228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8848:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":2229,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8683:172:12","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_100000_by_1_$_t_rational_100000_by_1_$_t_rational_100000_by_1_$_t_rational_100000_by_1_$_t_rational_100000_by_1_$_t_rational_0_by_1_$_t_rational_0_by_1_$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 100000,int_const 100000,int_const 100000,int_const 100000,int_const 100000,int_const 0,int_const 0,int_const 0,int_const 0)"}},"functionReturnParameters":2219,"id":2230,"nodeType":"Return","src":"8676:179:12"}]},"functionSelector":"5fbbc0d2","id":2232,"implemented":true,"kind":"function","modifiers":[],"name":"getFeeConfig","nameLocation":"8279:12:12","nodeType":"FunctionDefinition","parameters":{"id":2200,"nodeType":"ParameterList","parameters":[],"src":"8291:2:12"},"returnParameters":{"id":2219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2202,"mutability":"mutable","name":"fulfillmentFlatFeeLinkPPMTier1","nameLocation":"8343:30:12","nodeType":"VariableDeclaration","scope":2232,"src":"8336:37:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":2201,"name":"uint32","nodeType":"ElementaryTypeName","src":"8336:6:12","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":2204,"mutability":"mutable","name":"fulfillmentFlatFeeLinkPPMTier2","nameLocation":"8388:30:12","nodeType":"VariableDeclaration","scope":2232,"src":"8381:37:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":2203,"name":"uint32","nodeType":"ElementaryTypeName","src":"8381:6:12","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":2206,"mutability":"mutable","name":"fulfillmentFlatFeeLinkPPMTier3","nameLocation":"8433:30:12","nodeType":"VariableDeclaration","scope":2232,"src":"8426:37:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":2205,"name":"uint32","nodeType":"ElementaryTypeName","src":"8426:6:12","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":2208,"mutability":"mutable","name":"fulfillmentFlatFeeLinkPPMTier4","nameLocation":"8478:30:12","nodeType":"VariableDeclaration","scope":2232,"src":"8471:37:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":2207,"name":"uint32","nodeType":"ElementaryTypeName","src":"8471:6:12","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":2210,"mutability":"mutable","name":"fulfillmentFlatFeeLinkPPMTier5","nameLocation":"8523:30:12","nodeType":"VariableDeclaration","scope":2232,"src":"8516:37:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":2209,"name":"uint32","nodeType":"ElementaryTypeName","src":"8516:6:12","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":2212,"mutability":"mutable","name":"reqsForTier2","nameLocation":"8568:12:12","nodeType":"VariableDeclaration","scope":2232,"src":"8561:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":2211,"name":"uint24","nodeType":"ElementaryTypeName","src":"8561:6:12","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"},{"constant":false,"id":2214,"mutability":"mutable","name":"reqsForTier3","nameLocation":"8595:12:12","nodeType":"VariableDeclaration","scope":2232,"src":"8588:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":2213,"name":"uint24","nodeType":"ElementaryTypeName","src":"8588:6:12","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"},{"constant":false,"id":2216,"mutability":"mutable","name":"reqsForTier4","nameLocation":"8622:12:12","nodeType":"VariableDeclaration","scope":2232,"src":"8615:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":2215,"name":"uint24","nodeType":"ElementaryTypeName","src":"8615:6:12","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"},{"constant":false,"id":2218,"mutability":"mutable","name":"reqsForTier5","nameLocation":"8649:12:12","nodeType":"VariableDeclaration","scope":2232,"src":"8642:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":2217,"name":"uint24","nodeType":"ElementaryTypeName","src":"8642:6:12","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"8328:339:12"},"scope":2278,"src":"8270:590:12","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":2239,"nodeType":"Block","src":"8932:49:12","statements":[{"expression":{"hexValue":"34303030303030303030303030303030","id":2237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8945:16:12","typeDescriptions":{"typeIdentifier":"t_rational_4000000000000000_by_1","typeString":"int_const 4000000000000000"},"value":"4000000000000000"},"functionReturnParameters":2236,"id":2238,"nodeType":"Return","src":"8938:23:12"}]},"functionSelector":"356dac71","id":2240,"implemented":true,"kind":"function","modifiers":[],"name":"getFallbackWeiPerUnitLink","nameLocation":"8873:25:12","nodeType":"FunctionDefinition","parameters":{"id":2233,"nodeType":"ParameterList","parameters":[],"src":"8898:2:12"},"returnParameters":{"id":2236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2235,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2240,"src":"8924:6:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2234,"name":"int256","nodeType":"ElementaryTypeName","src":"8924:6:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"8923:8:12"},"scope":2278,"src":"8864:117:12","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[1377],"body":{"id":2252,"nodeType":"Block","src":"9084:36:12","statements":[{"expression":{"arguments":[{"hexValue":"6e6f7420696d706c656d656e746564","id":2249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9097:17:12","typeDescriptions":{"typeIdentifier":"t_stringliteral_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9","typeString":"literal_string \"not implemented\""},"value":"not implemented"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9","typeString":"literal_string \"not implemented\""}],"id":2248,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"9090:6:12","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":2250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9090:25:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2251,"nodeType":"ExpressionStatement","src":"9090:25:12"}]},"functionSelector":"04c357cb","id":2253,"implemented":true,"kind":"function","modifiers":[],"name":"requestSubscriptionOwnerTransfer","nameLocation":"8994:32:12","nodeType":"FunctionDefinition","overrides":{"id":2246,"nodeType":"OverrideSpecifier","overrides":[],"src":"9075:8:12"},"parameters":{"id":2245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2242,"mutability":"mutable","name":"_subId","nameLocation":"9034:6:12","nodeType":"VariableDeclaration","scope":2253,"src":"9027:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":2241,"name":"uint64","nodeType":"ElementaryTypeName","src":"9027:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":2244,"mutability":"mutable","name":"_newOwner","nameLocation":"9050:9:12","nodeType":"VariableDeclaration","scope":2253,"src":"9042:17:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2243,"name":"address","nodeType":"ElementaryTypeName","src":"9042:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9026:34:12"},"returnParameters":{"id":2247,"nodeType":"ParameterList","parameters":[],"src":"9084:0:12"},"scope":2278,"src":"8985:135:12","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[1383],"body":{"id":2263,"nodeType":"Block","src":"9203:36:12","statements":[{"expression":{"arguments":[{"hexValue":"6e6f7420696d706c656d656e746564","id":2260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9216:17:12","typeDescriptions":{"typeIdentifier":"t_stringliteral_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9","typeString":"literal_string \"not implemented\""},"value":"not implemented"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9","typeString":"literal_string \"not implemented\""}],"id":2259,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"9209:6:12","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":2261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9209:25:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2262,"nodeType":"ExpressionStatement","src":"9209:25:12"}]},"functionSelector":"82359740","id":2264,"implemented":true,"kind":"function","modifiers":[],"name":"acceptSubscriptionOwnerTransfer","nameLocation":"9133:31:12","nodeType":"FunctionDefinition","overrides":{"id":2257,"nodeType":"OverrideSpecifier","overrides":[],"src":"9194:8:12"},"parameters":{"id":2256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2255,"mutability":"mutable","name":"_subId","nameLocation":"9172:6:12","nodeType":"VariableDeclaration","scope":2264,"src":"9165:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":2254,"name":"uint64","nodeType":"ElementaryTypeName","src":"9165:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"9164:15:12"},"returnParameters":{"id":2258,"nodeType":"ParameterList","parameters":[],"src":"9203:0:12"},"scope":2278,"src":"9124:115:12","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[1414],"body":{"id":2276,"nodeType":"Block","src":"9323:36:12","statements":[{"expression":{"arguments":[{"hexValue":"6e6f7420696d706c656d656e746564","id":2273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9336:17:12","typeDescriptions":{"typeIdentifier":"t_stringliteral_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9","typeString":"literal_string \"not implemented\""},"value":"not implemented"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9","typeString":"literal_string \"not implemented\""}],"id":2272,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"9329:6:12","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":2274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9329:25:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2275,"nodeType":"ExpressionStatement","src":"9329:25:12"}]},"functionSelector":"e82ad7d4","id":2277,"implemented":true,"kind":"function","modifiers":[],"name":"pendingRequestExists","nameLocation":"9252:20:12","nodeType":"FunctionDefinition","overrides":{"id":2268,"nodeType":"OverrideSpecifier","overrides":[],"src":"9299:8:12"},"parameters":{"id":2267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2266,"mutability":"mutable","name":"subId","nameLocation":"9280:5:12","nodeType":"VariableDeclaration","scope":2277,"src":"9273:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":2265,"name":"uint64","nodeType":"ElementaryTypeName","src":"9273:6:12","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"9272:14:12"},"returnParameters":{"id":2271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2270,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2277,"src":"9317:4:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2269,"name":"bool","nodeType":"ElementaryTypeName","src":"9317:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9316:6:12"},"scope":2278,"src":"9243:116:12","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":2279,"src":"254:9107:12","usedErrors":[1431,1433,1437,1439,1441,1443]}],"src":"92:9270:12"},"id":12},"@chainlink/contracts/src/v0.8/vendor/BufferChainlink.sol":{"ast":{"absolutePath":"@chainlink/contracts/src/v0.8/vendor/BufferChainlink.sol","exportedSymbols":{"BufferChainlink":[2800]},"id":2801,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":2280,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:13"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"library","documentation":{"id":2281,"nodeType":"StructuredDocumentation","src":"57:383:13","text":" @dev A library for working with mutable byte buffers in Solidity.\n Byte buffers are mutable and expandable, and provide a variety of primitives\n for writing to them. At any time you can fetch a bytes object containing the\n current contents of the buffer. The bytes object should not be stored between\n operations, as it may change due to resizing of the buffer."},"fullyImplemented":true,"id":2800,"linearizedBaseContracts":[2800],"name":"BufferChainlink","nameLocation":"449:15:13","nodeType":"ContractDefinition","nodes":[{"canonicalName":"BufferChainlink.buffer","id":2286,"members":[{"constant":false,"id":2283,"mutability":"mutable","name":"buf","nameLocation":"743:3:13","nodeType":"VariableDeclaration","scope":2286,"src":"737:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":2282,"name":"bytes","nodeType":"ElementaryTypeName","src":"737:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2285,"mutability":"mutable","name":"capacity","nameLocation":"760:8:13","nodeType":"VariableDeclaration","scope":2286,"src":"752:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2284,"name":"uint256","nodeType":"ElementaryTypeName","src":"752:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"buffer","nameLocation":"724:6:13","nodeType":"StructDefinition","scope":2800,"src":"717:56:13","visibility":"public"},{"body":{"id":2323,"nodeType":"Block","src":"1090:310:13","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2298,"name":"capacity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2292,"src":"1100:8:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"3332","id":2299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1111:2:13","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"1100:13:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1117:1:13","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1100:18:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2313,"nodeType":"IfStatement","src":"1096:71:13","trueBody":{"id":2312,"nodeType":"Block","src":"1120:47:13","statements":[{"expression":{"id":2310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2303,"name":"capacity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2292,"src":"1128:8:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":2304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1140:2:13","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2305,"name":"capacity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2292,"src":"1146:8:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"3332","id":2306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1157:2:13","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"1146:13:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2308,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1145:15:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1140:20:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1128:32:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2311,"nodeType":"ExpressionStatement","src":"1128:32:13"}]}},{"expression":{"id":2318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":2314,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2290,"src":"1214:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2316,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"capacity","nodeType":"MemberAccess","referencedDeclaration":2285,"src":"1214:12:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":2317,"name":"capacity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2292,"src":"1229:8:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1214:23:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2319,"nodeType":"ExpressionStatement","src":"1214:23:13"},{"AST":{"nodeType":"YulBlock","src":"1252:128:13","statements":[{"nodeType":"YulVariableDeclaration","src":"1260:22:13","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1277:4:13","type":"","value":"0x40"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1271:5:13"},"nodeType":"YulFunctionCall","src":"1271:11:13"},"variables":[{"name":"ptr","nodeType":"YulTypedName","src":"1264:3:13","type":""}]},{"expression":{"arguments":[{"name":"buf","nodeType":"YulIdentifier","src":"1296:3:13"},{"name":"ptr","nodeType":"YulIdentifier","src":"1301:3:13"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1289:6:13"},"nodeType":"YulFunctionCall","src":"1289:16:13"},"nodeType":"YulExpressionStatement","src":"1289:16:13"},{"expression":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"1319:3:13"},{"kind":"number","nodeType":"YulLiteral","src":"1324:1:13","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1312:6:13"},"nodeType":"YulFunctionCall","src":"1312:14:13"},"nodeType":"YulExpressionStatement","src":"1312:14:13"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1340:4:13","type":"","value":"0x40"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1350:2:13","type":"","value":"32"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"1358:3:13"},{"name":"capacity","nodeType":"YulIdentifier","src":"1363:8:13"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1354:3:13"},"nodeType":"YulFunctionCall","src":"1354:18:13"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1346:3:13"},"nodeType":"YulFunctionCall","src":"1346:27:13"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1333:6:13"},"nodeType":"YulFunctionCall","src":"1333:41:13"},"nodeType":"YulExpressionStatement","src":"1333:41:13"}]},"evmVersion":"london","externalReferences":[{"declaration":2290,"isOffset":false,"isSlot":false,"src":"1296:3:13","valueSize":1},{"declaration":2292,"isOffset":false,"isSlot":false,"src":"1363:8:13","valueSize":1}],"id":2320,"nodeType":"InlineAssembly","src":"1243:137:13"},{"expression":{"id":2321,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2290,"src":"1392:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"functionReturnParameters":2297,"id":2322,"nodeType":"Return","src":"1385:10:13"}]},"documentation":{"id":2287,"nodeType":"StructuredDocumentation","src":"777:221:13","text":" @dev Initializes a buffer with an initial capacity.\n @param buf The buffer to initialize.\n @param capacity The number of bytes of space to allocate the buffer.\n @return The buffer, for chaining."},"id":2324,"implemented":true,"kind":"function","modifiers":[],"name":"init","nameLocation":"1010:4:13","nodeType":"FunctionDefinition","parameters":{"id":2293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2290,"mutability":"mutable","name":"buf","nameLocation":"1029:3:13","nodeType":"VariableDeclaration","scope":2324,"src":"1015:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2289,"nodeType":"UserDefinedTypeName","pathNode":{"id":2288,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"1015:6:13"},"referencedDeclaration":2286,"src":"1015:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"},{"constant":false,"id":2292,"mutability":"mutable","name":"capacity","nameLocation":"1042:8:13","nodeType":"VariableDeclaration","scope":2324,"src":"1034:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2291,"name":"uint256","nodeType":"ElementaryTypeName","src":"1034:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1014:37:13"},"returnParameters":{"id":2297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2296,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2324,"src":"1075:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2295,"nodeType":"UserDefinedTypeName","pathNode":{"id":2294,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"1075:6:13"},"referencedDeclaration":2286,"src":"1075:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"}],"src":"1074:15:13"},"scope":2800,"src":"1001:399:13","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2352,"nodeType":"Block","src":"1707:90:13","statements":[{"assignments":[2335],"declarations":[{"constant":false,"id":2335,"mutability":"mutable","name":"buf","nameLocation":"1727:3:13","nodeType":"VariableDeclaration","scope":2352,"src":"1713:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2334,"nodeType":"UserDefinedTypeName","pathNode":{"id":2333,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"1713:6:13"},"referencedDeclaration":2286,"src":"1713:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"}],"id":2336,"nodeType":"VariableDeclarationStatement","src":"1713:17:13"},{"expression":{"id":2341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":2337,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2335,"src":"1736:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2339,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":2283,"src":"1736:7:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":2340,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2327,"src":"1746:1:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1736:11:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":2342,"nodeType":"ExpressionStatement","src":"1736:11:13"},{"expression":{"id":2348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":2343,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2335,"src":"1753:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2345,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"capacity","nodeType":"MemberAccess","referencedDeclaration":2285,"src":"1753:12:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":2346,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2327,"src":"1768:1:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":2347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1768:8:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1753:23:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2349,"nodeType":"ExpressionStatement","src":"1753:23:13"},{"expression":{"id":2350,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2335,"src":"1789:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"functionReturnParameters":2332,"id":2351,"nodeType":"Return","src":"1782:10:13"}]},"documentation":{"id":2325,"nodeType":"StructuredDocumentation","src":"1404:227:13","text":" @dev Initializes a new buffer from an existing bytes object.\n      Changes to the buffer may mutate the original value.\n @param b The bytes object to initialize the buffer with.\n @return A new buffer."},"id":2353,"implemented":true,"kind":"function","modifiers":[],"name":"fromBytes","nameLocation":"1643:9:13","nodeType":"FunctionDefinition","parameters":{"id":2328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2327,"mutability":"mutable","name":"b","nameLocation":"1666:1:13","nodeType":"VariableDeclaration","scope":2353,"src":"1653:14:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2326,"name":"bytes","nodeType":"ElementaryTypeName","src":"1653:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1652:16:13"},"returnParameters":{"id":2332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2331,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2353,"src":"1692:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2330,"nodeType":"UserDefinedTypeName","pathNode":{"id":2329,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"1692:6:13"},"referencedDeclaration":2286,"src":"1692:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"}],"src":"1691:15:13"},"scope":2800,"src":"1634:163:13","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2376,"nodeType":"Block","src":"1867:90:13","statements":[{"assignments":[2362],"declarations":[{"constant":false,"id":2362,"mutability":"mutable","name":"oldbuf","nameLocation":"1886:6:13","nodeType":"VariableDeclaration","scope":2376,"src":"1873:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2361,"name":"bytes","nodeType":"ElementaryTypeName","src":"1873:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2365,"initialValue":{"expression":{"id":2363,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2356,"src":"1895:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2364,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":2283,"src":"1895:7:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1873:29:13"},{"expression":{"arguments":[{"id":2367,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2356,"src":"1913:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"id":2368,"name":"capacity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2358,"src":"1918:8:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2366,"name":"init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2324,"src":"1908:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint256_$returns$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,uint256) pure returns (struct BufferChainlink.buffer memory)"}},"id":2369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1908:19:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2370,"nodeType":"ExpressionStatement","src":"1908:19:13"},{"expression":{"arguments":[{"id":2372,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2356,"src":"1940:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"id":2373,"name":"oldbuf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2362,"src":"1945:6:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2371,"name":"append","nodeType":"Identifier","overloadedDeclarations":[2520,2543],"referencedDeclaration":2543,"src":"1933:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,bytes memory) pure returns (struct BufferChainlink.buffer memory)"}},"id":2374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1933:19:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2375,"nodeType":"ExpressionStatement","src":"1933:19:13"}]},"id":2377,"implemented":true,"kind":"function","modifiers":[],"name":"resize","nameLocation":"1810:6:13","nodeType":"FunctionDefinition","parameters":{"id":2359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2356,"mutability":"mutable","name":"buf","nameLocation":"1831:3:13","nodeType":"VariableDeclaration","scope":2377,"src":"1817:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2355,"nodeType":"UserDefinedTypeName","pathNode":{"id":2354,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"1817:6:13"},"referencedDeclaration":2286,"src":"1817:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"},{"constant":false,"id":2358,"mutability":"mutable","name":"capacity","nameLocation":"1844:8:13","nodeType":"VariableDeclaration","scope":2377,"src":"1836:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2357,"name":"uint256","nodeType":"ElementaryTypeName","src":"1836:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1816:37:13"},"returnParameters":{"id":2360,"nodeType":"ParameterList","parameters":[],"src":"1867:0:13"},"scope":2800,"src":"1801:156:13","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":2395,"nodeType":"Block","src":"2027:58:13","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2386,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2379,"src":"2037:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2387,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2381,"src":"2041:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2037:5:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2392,"nodeType":"IfStatement","src":"2033:34:13","trueBody":{"id":2391,"nodeType":"Block","src":"2044:23:13","statements":[{"expression":{"id":2389,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2379,"src":"2059:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2385,"id":2390,"nodeType":"Return","src":"2052:8:13"}]}},{"expression":{"id":2393,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2381,"src":"2079:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2385,"id":2394,"nodeType":"Return","src":"2072:8:13"}]},"id":2396,"implemented":true,"kind":"function","modifiers":[],"name":"max","nameLocation":"1970:3:13","nodeType":"FunctionDefinition","parameters":{"id":2382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2379,"mutability":"mutable","name":"a","nameLocation":"1982:1:13","nodeType":"VariableDeclaration","scope":2396,"src":"1974:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2378,"name":"uint256","nodeType":"ElementaryTypeName","src":"1974:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2381,"mutability":"mutable","name":"b","nameLocation":"1993:1:13","nodeType":"VariableDeclaration","scope":2396,"src":"1985:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2380,"name":"uint256","nodeType":"ElementaryTypeName","src":"1985:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1973:22:13"},"returnParameters":{"id":2385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2384,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2396,"src":"2018:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2383,"name":"uint256","nodeType":"ElementaryTypeName","src":"2018:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2017:9:13"},"scope":2800,"src":"1961:124:13","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":2409,"nodeType":"Block","src":"2300:97:13","statements":[{"AST":{"nodeType":"YulBlock","src":"2315:62:13","statements":[{"nodeType":"YulVariableDeclaration","src":"2323:24:13","value":{"arguments":[{"name":"buf","nodeType":"YulIdentifier","src":"2343:3:13"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2337:5:13"},"nodeType":"YulFunctionCall","src":"2337:10:13"},"variables":[{"name":"bufptr","nodeType":"YulTypedName","src":"2327:6:13","type":""}]},{"expression":{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"2361:6:13"},{"kind":"number","nodeType":"YulLiteral","src":"2369:1:13","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2354:6:13"},"nodeType":"YulFunctionCall","src":"2354:17:13"},"nodeType":"YulExpressionStatement","src":"2354:17:13"}]},"evmVersion":"london","externalReferences":[{"declaration":2400,"isOffset":false,"isSlot":false,"src":"2343:3:13","valueSize":1}],"id":2406,"nodeType":"InlineAssembly","src":"2306:71:13"},{"expression":{"id":2407,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2400,"src":"2389:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"functionReturnParameters":2405,"id":2408,"nodeType":"Return","src":"2382:10:13"}]},"documentation":{"id":2397,"nodeType":"StructuredDocumentation","src":"2089:133:13","text":" @dev Sets buffer length to 0.\n @param buf The buffer to truncate.\n @return The original buffer, for chaining.."},"id":2410,"implemented":true,"kind":"function","modifiers":[],"name":"truncate","nameLocation":"2234:8:13","nodeType":"FunctionDefinition","parameters":{"id":2401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2400,"mutability":"mutable","name":"buf","nameLocation":"2257:3:13","nodeType":"VariableDeclaration","scope":2410,"src":"2243:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2399,"nodeType":"UserDefinedTypeName","pathNode":{"id":2398,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"2243:6:13"},"referencedDeclaration":2286,"src":"2243:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"}],"src":"2242:19:13"},"returnParameters":{"id":2405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2404,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2410,"src":"2285:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2403,"nodeType":"UserDefinedTypeName","pathNode":{"id":2402,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"2285:6:13"},"referencedDeclaration":2286,"src":"2285:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"}],"src":"2284:15:13"},"scope":2800,"src":"2225:172:13","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2495,"nodeType":"Block","src":"2882:1073:13","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2427,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2420,"src":"2896:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":2428,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2418,"src":"2903:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":2429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2903:11:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2896:18:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2426,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2888:7:13","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2888:27:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2432,"nodeType":"ExpressionStatement","src":"2888:27:13"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2433,"name":"off","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2416,"src":"2926:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":2434,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2420,"src":"2932:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2926:9:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":2436,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2414,"src":"2938:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2437,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"capacity","nodeType":"MemberAccess","referencedDeclaration":2285,"src":"2938:12:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2926:24:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2453,"nodeType":"IfStatement","src":"2922:90:13","trueBody":{"id":2452,"nodeType":"Block","src":"2952:60:13","statements":[{"expression":{"arguments":[{"id":2440,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2414,"src":"2967:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":2442,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2414,"src":"2976:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2443,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"capacity","nodeType":"MemberAccess","referencedDeclaration":2285,"src":"2976:12:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2444,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2420,"src":"2990:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":2445,"name":"off","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2416,"src":"2996:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2990:9:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2441,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2396,"src":"2972:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":2447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2972:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"32","id":2448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3003:1:13","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2972:32:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2439,"name":"resize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2377,"src":"2960:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (struct BufferChainlink.buffer memory,uint256) pure"}},"id":2450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2960:45:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2451,"nodeType":"ExpressionStatement","src":"2960:45:13"}]}},{"assignments":[2455],"declarations":[{"constant":false,"id":2455,"mutability":"mutable","name":"dest","nameLocation":"3026:4:13","nodeType":"VariableDeclaration","scope":2495,"src":"3018:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2454,"name":"uint256","nodeType":"ElementaryTypeName","src":"3018:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2456,"nodeType":"VariableDeclarationStatement","src":"3018:12:13"},{"assignments":[2458],"declarations":[{"constant":false,"id":2458,"mutability":"mutable","name":"src","nameLocation":"3044:3:13","nodeType":"VariableDeclaration","scope":2495,"src":"3036:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2457,"name":"uint256","nodeType":"ElementaryTypeName","src":"3036:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2459,"nodeType":"VariableDeclarationStatement","src":"3036:11:13"},{"AST":{"nodeType":"YulBlock","src":"3062:430:13","statements":[{"nodeType":"YulVariableDeclaration","src":"3113:24:13","value":{"arguments":[{"name":"buf","nodeType":"YulIdentifier","src":"3133:3:13"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3127:5:13"},"nodeType":"YulFunctionCall","src":"3127:10:13"},"variables":[{"name":"bufptr","nodeType":"YulTypedName","src":"3117:6:13","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3184:27:13","value":{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"3204:6:13"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3198:5:13"},"nodeType":"YulFunctionCall","src":"3198:13:13"},"variables":[{"name":"buflen","nodeType":"YulTypedName","src":"3188:6:13","type":""}]},{"nodeType":"YulAssignment","src":"3291:33:13","value":{"arguments":[{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"3307:6:13"},{"kind":"number","nodeType":"YulLiteral","src":"3315:2:13","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3303:3:13"},"nodeType":"YulFunctionCall","src":"3303:15:13"},{"name":"off","nodeType":"YulIdentifier","src":"3320:3:13"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3299:3:13"},"nodeType":"YulFunctionCall","src":"3299:25:13"},"variableNames":[{"name":"dest","nodeType":"YulIdentifier","src":"3291:4:13"}]},{"body":{"nodeType":"YulBlock","src":"3412:47:13","statements":[{"expression":{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"3429:6:13"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"3441:3:13"},{"name":"off","nodeType":"YulIdentifier","src":"3446:3:13"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3437:3:13"},"nodeType":"YulFunctionCall","src":"3437:13:13"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3422:6:13"},"nodeType":"YulFunctionCall","src":"3422:29:13"},"nodeType":"YulExpressionStatement","src":"3422:29:13"}]},"condition":{"arguments":[{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"3393:3:13"},{"name":"off","nodeType":"YulIdentifier","src":"3398:3:13"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3389:3:13"},"nodeType":"YulFunctionCall","src":"3389:13:13"},{"name":"buflen","nodeType":"YulIdentifier","src":"3404:6:13"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3386:2:13"},"nodeType":"YulFunctionCall","src":"3386:25:13"},"nodeType":"YulIf","src":"3383:76:13"},{"nodeType":"YulAssignment","src":"3466:20:13","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"3477:4:13"},{"kind":"number","nodeType":"YulLiteral","src":"3483:2:13","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3473:3:13"},"nodeType":"YulFunctionCall","src":"3473:13:13"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"3466:3:13"}]}]},"evmVersion":"london","externalReferences":[{"declaration":2414,"isOffset":false,"isSlot":false,"src":"3133:3:13","valueSize":1},{"declaration":2418,"isOffset":false,"isSlot":false,"src":"3477:4:13","valueSize":1},{"declaration":2455,"isOffset":false,"isSlot":false,"src":"3291:4:13","valueSize":1},{"declaration":2420,"isOffset":false,"isSlot":false,"src":"3393:3:13","valueSize":1},{"declaration":2420,"isOffset":false,"isSlot":false,"src":"3441:3:13","valueSize":1},{"declaration":2416,"isOffset":false,"isSlot":false,"src":"3320:3:13","valueSize":1},{"declaration":2416,"isOffset":false,"isSlot":false,"src":"3398:3:13","valueSize":1},{"declaration":2416,"isOffset":false,"isSlot":false,"src":"3446:3:13","valueSize":1},{"declaration":2458,"isOffset":false,"isSlot":false,"src":"3466:3:13","valueSize":1}],"id":2460,"nodeType":"InlineAssembly","src":"3053:439:13"},{"body":{"id":2477,"nodeType":"Block","src":"3573:100:13","statements":[{"AST":{"nodeType":"YulBlock","src":"3590:42:13","statements":[{"expression":{"arguments":[{"name":"dest","nodeType":"YulIdentifier","src":"3607:4:13"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3619:3:13"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3613:5:13"},"nodeType":"YulFunctionCall","src":"3613:10:13"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3600:6:13"},"nodeType":"YulFunctionCall","src":"3600:24:13"},"nodeType":"YulExpressionStatement","src":"3600:24:13"}]},"evmVersion":"london","externalReferences":[{"declaration":2455,"isOffset":false,"isSlot":false,"src":"3607:4:13","valueSize":1},{"declaration":2458,"isOffset":false,"isSlot":false,"src":"3619:3:13","valueSize":1}],"id":2468,"nodeType":"InlineAssembly","src":"3581:51:13"},{"expression":{"id":2471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2469,"name":"dest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2455,"src":"3639:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3332","id":2470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3647:2:13","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"3639:10:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2472,"nodeType":"ExpressionStatement","src":"3639:10:13"},{"expression":{"id":2475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2473,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2458,"src":"3657:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3332","id":2474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3664:2:13","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"3657:9:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2476,"nodeType":"ExpressionStatement","src":"3657:9:13"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2461,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2420,"src":"3551:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"3332","id":2462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3558:2:13","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"3551:9:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2478,"loopExpression":{"expression":{"id":2466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2464,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2420,"src":"3562:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"3332","id":2465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3569:2:13","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"3562:9:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2467,"nodeType":"ExpressionStatement","src":"3562:9:13"},"nodeType":"ForStatement","src":"3544:129:13"},{"id":2492,"nodeType":"UncheckedBlock","src":"3707:227:13","statements":[{"assignments":[2480],"declarations":[{"constant":false,"id":2480,"mutability":"mutable","name":"mask","nameLocation":"3733:4:13","nodeType":"VariableDeclaration","scope":2492,"src":"3725:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2479,"name":"uint256","nodeType":"ElementaryTypeName","src":"3725:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2490,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"323536","id":2481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3741:3:13","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":2482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3747:2:13","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":2483,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2420,"src":"3752:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3747:8:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2485,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3746:10:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3741:15:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2487,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3740:17:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":2488,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3760:1:13","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3740:21:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3725:36:13"},{"AST":{"nodeType":"YulBlock","src":"3778:150:13","statements":[{"nodeType":"YulVariableDeclaration","src":"3788:41:13","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3813:3:13"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3807:5:13"},"nodeType":"YulFunctionCall","src":"3807:10:13"},{"arguments":[{"name":"mask","nodeType":"YulIdentifier","src":"3823:4:13"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3819:3:13"},"nodeType":"YulFunctionCall","src":"3819:9:13"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3803:3:13"},"nodeType":"YulFunctionCall","src":"3803:26:13"},"variables":[{"name":"srcpart","nodeType":"YulTypedName","src":"3792:7:13","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3838:38:13","value":{"arguments":[{"arguments":[{"name":"dest","nodeType":"YulIdentifier","src":"3864:4:13"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3858:5:13"},"nodeType":"YulFunctionCall","src":"3858:11:13"},{"name":"mask","nodeType":"YulIdentifier","src":"3871:4:13"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3854:3:13"},"nodeType":"YulFunctionCall","src":"3854:22:13"},"variables":[{"name":"destpart","nodeType":"YulTypedName","src":"3842:8:13","type":""}]},{"expression":{"arguments":[{"name":"dest","nodeType":"YulIdentifier","src":"3892:4:13"},{"arguments":[{"name":"destpart","nodeType":"YulIdentifier","src":"3901:8:13"},{"name":"srcpart","nodeType":"YulIdentifier","src":"3911:7:13"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"3898:2:13"},"nodeType":"YulFunctionCall","src":"3898:21:13"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3885:6:13"},"nodeType":"YulFunctionCall","src":"3885:35:13"},"nodeType":"YulExpressionStatement","src":"3885:35:13"}]},"evmVersion":"london","externalReferences":[{"declaration":2455,"isOffset":false,"isSlot":false,"src":"3864:4:13","valueSize":1},{"declaration":2455,"isOffset":false,"isSlot":false,"src":"3892:4:13","valueSize":1},{"declaration":2480,"isOffset":false,"isSlot":false,"src":"3823:4:13","valueSize":1},{"declaration":2480,"isOffset":false,"isSlot":false,"src":"3871:4:13","valueSize":1},{"declaration":2458,"isOffset":false,"isSlot":false,"src":"3813:3:13","valueSize":1}],"id":2491,"nodeType":"InlineAssembly","src":"3769:159:13"}]},{"expression":{"id":2493,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2414,"src":"3947:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"functionReturnParameters":2425,"id":2494,"nodeType":"Return","src":"3940:10:13"}]},"documentation":{"id":2411,"nodeType":"StructuredDocumentation","src":"2401:341:13","text":" @dev Writes a byte string to a buffer. Resizes if doing so would exceed\n      the capacity of the buffer.\n @param buf The buffer to append to.\n @param off The start offset to write to.\n @param data The data to append.\n @param len The number of bytes to copy.\n @return The original buffer, for chaining."},"id":2496,"implemented":true,"kind":"function","modifiers":[],"name":"write","nameLocation":"2754:5:13","nodeType":"FunctionDefinition","parameters":{"id":2421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2414,"mutability":"mutable","name":"buf","nameLocation":"2779:3:13","nodeType":"VariableDeclaration","scope":2496,"src":"2765:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2413,"nodeType":"UserDefinedTypeName","pathNode":{"id":2412,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"2765:6:13"},"referencedDeclaration":2286,"src":"2765:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"},{"constant":false,"id":2416,"mutability":"mutable","name":"off","nameLocation":"2796:3:13","nodeType":"VariableDeclaration","scope":2496,"src":"2788:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2415,"name":"uint256","nodeType":"ElementaryTypeName","src":"2788:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2418,"mutability":"mutable","name":"data","nameLocation":"2818:4:13","nodeType":"VariableDeclaration","scope":2496,"src":"2805:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2417,"name":"bytes","nodeType":"ElementaryTypeName","src":"2805:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2420,"mutability":"mutable","name":"len","nameLocation":"2836:3:13","nodeType":"VariableDeclaration","scope":2496,"src":"2828:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2419,"name":"uint256","nodeType":"ElementaryTypeName","src":"2828:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2759:84:13"},"returnParameters":{"id":2425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2424,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2496,"src":"2867:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2423,"nodeType":"UserDefinedTypeName","pathNode":{"id":2422,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"2867:6:13"},"referencedDeclaration":2286,"src":"2867:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"}],"src":"2866:15:13"},"scope":2800,"src":"2745:1210:13","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2519,"nodeType":"Block","src":"4379:55:13","statements":[{"expression":{"arguments":[{"id":2511,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2500,"src":"4398:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"expression":{"expression":{"id":2512,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2500,"src":"4403:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2513,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":2283,"src":"4403:7:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":2514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4403:14:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2515,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2502,"src":"4419:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2516,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2504,"src":"4425:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2510,"name":"write","nodeType":"Identifier","overloadedDeclarations":[2496,2656],"referencedDeclaration":2496,"src":"4392:5:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint256_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,uint256,bytes memory,uint256) pure returns (struct BufferChainlink.buffer memory)"}},"id":2517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4392:37:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"functionReturnParameters":2509,"id":2518,"nodeType":"Return","src":"4385:44:13"}]},"documentation":{"id":2497,"nodeType":"StructuredDocumentation","src":"3959:296:13","text":" @dev Appends a byte string to a buffer. Resizes if doing so would exceed\n      the capacity of the buffer.\n @param buf The buffer to append to.\n @param data The data to append.\n @param len The number of bytes to copy.\n @return The original buffer, for chaining."},"id":2520,"implemented":true,"kind":"function","modifiers":[],"name":"append","nameLocation":"4267:6:13","nodeType":"FunctionDefinition","parameters":{"id":2505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2500,"mutability":"mutable","name":"buf","nameLocation":"4293:3:13","nodeType":"VariableDeclaration","scope":2520,"src":"4279:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2499,"nodeType":"UserDefinedTypeName","pathNode":{"id":2498,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"4279:6:13"},"referencedDeclaration":2286,"src":"4279:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"},{"constant":false,"id":2502,"mutability":"mutable","name":"data","nameLocation":"4315:4:13","nodeType":"VariableDeclaration","scope":2520,"src":"4302:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2501,"name":"bytes","nodeType":"ElementaryTypeName","src":"4302:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2504,"mutability":"mutable","name":"len","nameLocation":"4333:3:13","nodeType":"VariableDeclaration","scope":2520,"src":"4325:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2503,"name":"uint256","nodeType":"ElementaryTypeName","src":"4325:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4273:67:13"},"returnParameters":{"id":2509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2508,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2520,"src":"4364:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2507,"nodeType":"UserDefinedTypeName","pathNode":{"id":2506,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"4364:6:13"},"referencedDeclaration":2286,"src":"4364:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"}],"src":"4363:15:13"},"scope":2800,"src":"4258:176:13","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2542,"nodeType":"Block","src":"4784:63:13","statements":[{"expression":{"arguments":[{"id":2533,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2524,"src":"4803:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"expression":{"expression":{"id":2534,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2524,"src":"4808:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2535,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":2283,"src":"4808:7:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":2536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4808:14:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2537,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2526,"src":"4824:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":2538,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2526,"src":"4830:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":2539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4830:11:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2532,"name":"write","nodeType":"Identifier","overloadedDeclarations":[2496,2656],"referencedDeclaration":2496,"src":"4797:5:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint256_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,uint256,bytes memory,uint256) pure returns (struct BufferChainlink.buffer memory)"}},"id":2540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4797:45:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"functionReturnParameters":2531,"id":2541,"nodeType":"Return","src":"4790:52:13"}]},"documentation":{"id":2521,"nodeType":"StructuredDocumentation","src":"4438:251:13","text":" @dev Appends a byte string to a buffer. Resizes if doing so would exceed\n      the capacity of the buffer.\n @param buf The buffer to append to.\n @param data The data to append.\n @return The original buffer, for chaining."},"id":2543,"implemented":true,"kind":"function","modifiers":[],"name":"append","nameLocation":"4701:6:13","nodeType":"FunctionDefinition","parameters":{"id":2527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2524,"mutability":"mutable","name":"buf","nameLocation":"4722:3:13","nodeType":"VariableDeclaration","scope":2543,"src":"4708:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2523,"nodeType":"UserDefinedTypeName","pathNode":{"id":2522,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"4708:6:13"},"referencedDeclaration":2286,"src":"4708:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"},{"constant":false,"id":2526,"mutability":"mutable","name":"data","nameLocation":"4740:4:13","nodeType":"VariableDeclaration","scope":2543,"src":"4727:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2525,"name":"bytes","nodeType":"ElementaryTypeName","src":"4727:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4707:38:13"},"returnParameters":{"id":2531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2530,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2543,"src":"4769:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2529,"nodeType":"UserDefinedTypeName","pathNode":{"id":2528,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"4769:6:13"},"referencedDeclaration":2286,"src":"4769:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"}],"src":"4768:15:13"},"scope":2800,"src":"4692:155:13","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2574,"nodeType":"Block","src":"5266:521:13","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2557,"name":"off","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2549,"src":"5276:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":2558,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2547,"src":"5283:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2559,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"capacity","nodeType":"MemberAccess","referencedDeclaration":2285,"src":"5283:12:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5276:19:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2570,"nodeType":"IfStatement","src":"5272:69:13","trueBody":{"id":2569,"nodeType":"Block","src":"5297:44:13","statements":[{"expression":{"arguments":[{"id":2562,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2547,"src":"5312:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2563,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2547,"src":"5317:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2564,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"capacity","nodeType":"MemberAccess","referencedDeclaration":2285,"src":"5317:12:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"32","id":2565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5332:1:13","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"5317:16:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2561,"name":"resize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2377,"src":"5305:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (struct BufferChainlink.buffer memory,uint256) pure"}},"id":2567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5305:29:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2568,"nodeType":"ExpressionStatement","src":"5305:29:13"}]}},{"AST":{"nodeType":"YulBlock","src":"5356:411:13","statements":[{"nodeType":"YulVariableDeclaration","src":"5407:24:13","value":{"arguments":[{"name":"buf","nodeType":"YulIdentifier","src":"5427:3:13"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5421:5:13"},"nodeType":"YulFunctionCall","src":"5421:10:13"},"variables":[{"name":"bufptr","nodeType":"YulTypedName","src":"5411:6:13","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5478:27:13","value":{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"5498:6:13"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5492:5:13"},"nodeType":"YulFunctionCall","src":"5492:13:13"},"variables":[{"name":"buflen","nodeType":"YulTypedName","src":"5482:6:13","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5576:37:13","value":{"arguments":[{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"5596:6:13"},{"name":"off","nodeType":"YulIdentifier","src":"5604:3:13"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5592:3:13"},"nodeType":"YulFunctionCall","src":"5592:16:13"},{"kind":"number","nodeType":"YulLiteral","src":"5610:2:13","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5588:3:13"},"nodeType":"YulFunctionCall","src":"5588:25:13"},"variables":[{"name":"dest","nodeType":"YulTypedName","src":"5580:4:13","type":""}]},{"expression":{"arguments":[{"name":"dest","nodeType":"YulIdentifier","src":"5628:4:13"},{"name":"data","nodeType":"YulIdentifier","src":"5634:4:13"}],"functionName":{"name":"mstore8","nodeType":"YulIdentifier","src":"5620:7:13"},"nodeType":"YulFunctionCall","src":"5620:19:13"},"nodeType":"YulExpressionStatement","src":"5620:19:13"},{"body":{"nodeType":"YulBlock","src":"5713:48:13","statements":[{"expression":{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"5730:6:13"},{"arguments":[{"name":"buflen","nodeType":"YulIdentifier","src":"5742:6:13"},{"kind":"number","nodeType":"YulLiteral","src":"5750:1:13","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5738:3:13"},"nodeType":"YulFunctionCall","src":"5738:14:13"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5723:6:13"},"nodeType":"YulFunctionCall","src":"5723:30:13"},"nodeType":"YulExpressionStatement","src":"5723:30:13"}]},"condition":{"arguments":[{"name":"off","nodeType":"YulIdentifier","src":"5700:3:13"},{"name":"buflen","nodeType":"YulIdentifier","src":"5705:6:13"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"5697:2:13"},"nodeType":"YulFunctionCall","src":"5697:15:13"},"nodeType":"YulIf","src":"5694:67:13"}]},"evmVersion":"london","externalReferences":[{"declaration":2547,"isOffset":false,"isSlot":false,"src":"5427:3:13","valueSize":1},{"declaration":2551,"isOffset":false,"isSlot":false,"src":"5634:4:13","valueSize":1},{"declaration":2549,"isOffset":false,"isSlot":false,"src":"5604:3:13","valueSize":1},{"declaration":2549,"isOffset":false,"isSlot":false,"src":"5700:3:13","valueSize":1}],"id":2571,"nodeType":"InlineAssembly","src":"5347:420:13"},{"expression":{"id":2572,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2547,"src":"5779:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"functionReturnParameters":2556,"id":2573,"nodeType":"Return","src":"5772:10:13"}]},"documentation":{"id":2544,"nodeType":"StructuredDocumentation","src":"4851:294:13","text":" @dev Writes a byte to the buffer. Resizes if doing so would exceed the\n      capacity of the buffer.\n @param buf The buffer to append to.\n @param off The offset to write the byte at.\n @param data The data to append.\n @return The original buffer, for chaining."},"id":2575,"implemented":true,"kind":"function","modifiers":[],"name":"writeUint8","nameLocation":"5157:10:13","nodeType":"FunctionDefinition","parameters":{"id":2552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2547,"mutability":"mutable","name":"buf","nameLocation":"5187:3:13","nodeType":"VariableDeclaration","scope":2575,"src":"5173:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2546,"nodeType":"UserDefinedTypeName","pathNode":{"id":2545,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"5173:6:13"},"referencedDeclaration":2286,"src":"5173:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"},{"constant":false,"id":2549,"mutability":"mutable","name":"off","nameLocation":"5204:3:13","nodeType":"VariableDeclaration","scope":2575,"src":"5196:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2548,"name":"uint256","nodeType":"ElementaryTypeName","src":"5196:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2551,"mutability":"mutable","name":"data","nameLocation":"5219:4:13","nodeType":"VariableDeclaration","scope":2575,"src":"5213:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":2550,"name":"uint8","nodeType":"ElementaryTypeName","src":"5213:5:13","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"5167:60:13"},"returnParameters":{"id":2556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2555,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2575,"src":"5251:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2554,"nodeType":"UserDefinedTypeName","pathNode":{"id":2553,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"5251:6:13"},"referencedDeclaration":2286,"src":"5251:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"}],"src":"5250:15:13"},"scope":2800,"src":"5148:639:13","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2595,"nodeType":"Block","src":"6130:55:13","statements":[{"expression":{"arguments":[{"id":2588,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2579,"src":"6154:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"expression":{"expression":{"id":2589,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2579,"src":"6159:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2590,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":2283,"src":"6159:7:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":2591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6159:14:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2592,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2581,"src":"6175:4:13","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":2587,"name":"writeUint8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2575,"src":"6143:10:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint256_$_t_uint8_$returns$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,uint256,uint8) pure returns (struct BufferChainlink.buffer memory)"}},"id":2593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6143:37:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"functionReturnParameters":2586,"id":2594,"nodeType":"Return","src":"6136:44:13"}]},"documentation":{"id":2576,"nodeType":"StructuredDocumentation","src":"5791:246:13","text":" @dev Appends a byte to the buffer. Resizes if doing so would exceed the\n      capacity of the buffer.\n @param buf The buffer to append to.\n @param data The data to append.\n @return The original buffer, for chaining."},"id":2596,"implemented":true,"kind":"function","modifiers":[],"name":"appendUint8","nameLocation":"6049:11:13","nodeType":"FunctionDefinition","parameters":{"id":2582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2579,"mutability":"mutable","name":"buf","nameLocation":"6075:3:13","nodeType":"VariableDeclaration","scope":2596,"src":"6061:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2578,"nodeType":"UserDefinedTypeName","pathNode":{"id":2577,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"6061:6:13"},"referencedDeclaration":2286,"src":"6061:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"},{"constant":false,"id":2581,"mutability":"mutable","name":"data","nameLocation":"6086:4:13","nodeType":"VariableDeclaration","scope":2596,"src":"6080:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":2580,"name":"uint8","nodeType":"ElementaryTypeName","src":"6080:5:13","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"6060:31:13"},"returnParameters":{"id":2586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2596,"src":"6115:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2584,"nodeType":"UserDefinedTypeName","pathNode":{"id":2583,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"6115:6:13"},"referencedDeclaration":2286,"src":"6115:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"}],"src":"6114:15:13"},"scope":2800,"src":"6040:145:13","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2655,"nodeType":"Block","src":"6677:652:13","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2612,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2606,"src":"6687:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":2613,"name":"off","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2602,"src":"6693:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6687:9:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":2615,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2600,"src":"6699:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2616,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"capacity","nodeType":"MemberAccess","referencedDeclaration":2285,"src":"6699:12:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6687:24:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2629,"nodeType":"IfStatement","src":"6683:73:13","trueBody":{"id":2628,"nodeType":"Block","src":"6713:43:13","statements":[{"expression":{"arguments":[{"id":2619,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2600,"src":"6728:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2620,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2606,"src":"6734:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":2621,"name":"off","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2602,"src":"6740:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6734:9:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2623,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6733:11:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"32","id":2624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6747:1:13","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"6733:15:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2618,"name":"resize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2377,"src":"6721:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (struct BufferChainlink.buffer memory,uint256) pure"}},"id":2626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6721:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2627,"nodeType":"ExpressionStatement","src":"6721:28:13"}]}},{"id":2652,"nodeType":"UncheckedBlock","src":"6762:547:13","statements":[{"assignments":[2631],"declarations":[{"constant":false,"id":2631,"mutability":"mutable","name":"mask","nameLocation":"6788:4:13","nodeType":"VariableDeclaration","scope":2652,"src":"6780:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2630,"name":"uint256","nodeType":"ElementaryTypeName","src":"6780:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2638,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"323536","id":2632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6796:3:13","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":2633,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2606,"src":"6801:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6796:8:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2635,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6795:10:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":2636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6808:1:13","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6795:14:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6780:29:13"},{"expression":{"id":2649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2639,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2604,"src":"6843:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2640,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2604,"src":"6850:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"38","id":2641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6859:1:13","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":2642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6864:2:13","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":2643,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2606,"src":"6869:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6864:8:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2645,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6863:10:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6859:14:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2647,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6858:16:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6850:24:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6843:31:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":2650,"nodeType":"ExpressionStatement","src":"6843:31:13"},{"AST":{"nodeType":"YulBlock","src":"6891:412:13","statements":[{"nodeType":"YulVariableDeclaration","src":"6946:24:13","value":{"arguments":[{"name":"buf","nodeType":"YulIdentifier","src":"6966:3:13"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6960:5:13"},"nodeType":"YulFunctionCall","src":"6960:10:13"},"variables":[{"name":"bufptr","nodeType":"YulTypedName","src":"6950:6:13","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7051:38:13","value":{"arguments":[{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"7071:6:13"},{"name":"off","nodeType":"YulIdentifier","src":"7079:3:13"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7067:3:13"},"nodeType":"YulFunctionCall","src":"7067:16:13"},{"name":"len","nodeType":"YulIdentifier","src":"7085:3:13"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7063:3:13"},"nodeType":"YulFunctionCall","src":"7063:26:13"},"variables":[{"name":"dest","nodeType":"YulTypedName","src":"7055:4:13","type":""}]},{"expression":{"arguments":[{"name":"dest","nodeType":"YulIdentifier","src":"7105:4:13"},{"arguments":[{"arguments":[{"arguments":[{"name":"dest","nodeType":"YulIdentifier","src":"7124:4:13"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7118:5:13"},"nodeType":"YulFunctionCall","src":"7118:11:13"},{"arguments":[{"name":"mask","nodeType":"YulIdentifier","src":"7135:4:13"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"7131:3:13"},"nodeType":"YulFunctionCall","src":"7131:9:13"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7114:3:13"},"nodeType":"YulFunctionCall","src":"7114:27:13"},{"name":"data","nodeType":"YulIdentifier","src":"7143:4:13"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"7111:2:13"},"nodeType":"YulFunctionCall","src":"7111:37:13"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7098:6:13"},"nodeType":"YulFunctionCall","src":"7098:51:13"},"nodeType":"YulExpressionStatement","src":"7098:51:13"},{"body":{"nodeType":"YulBlock","src":"7244:51:13","statements":[{"expression":{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"7263:6:13"},{"arguments":[{"name":"off","nodeType":"YulIdentifier","src":"7275:3:13"},{"name":"len","nodeType":"YulIdentifier","src":"7280:3:13"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7271:3:13"},"nodeType":"YulFunctionCall","src":"7271:13:13"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7256:6:13"},"nodeType":"YulFunctionCall","src":"7256:29:13"},"nodeType":"YulExpressionStatement","src":"7256:29:13"}]},"condition":{"arguments":[{"arguments":[{"name":"off","nodeType":"YulIdentifier","src":"7218:3:13"},{"name":"len","nodeType":"YulIdentifier","src":"7223:3:13"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7214:3:13"},"nodeType":"YulFunctionCall","src":"7214:13:13"},{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"7235:6:13"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7229:5:13"},"nodeType":"YulFunctionCall","src":"7229:13:13"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7211:2:13"},"nodeType":"YulFunctionCall","src":"7211:32:13"},"nodeType":"YulIf","src":"7208:87:13"}]},"evmVersion":"london","externalReferences":[{"declaration":2600,"isOffset":false,"isSlot":false,"src":"6966:3:13","valueSize":1},{"declaration":2604,"isOffset":false,"isSlot":false,"src":"7143:4:13","valueSize":1},{"declaration":2606,"isOffset":false,"isSlot":false,"src":"7085:3:13","valueSize":1},{"declaration":2606,"isOffset":false,"isSlot":false,"src":"7223:3:13","valueSize":1},{"declaration":2606,"isOffset":false,"isSlot":false,"src":"7280:3:13","valueSize":1},{"declaration":2631,"isOffset":false,"isSlot":false,"src":"7135:4:13","valueSize":1},{"declaration":2602,"isOffset":false,"isSlot":false,"src":"7079:3:13","valueSize":1},{"declaration":2602,"isOffset":false,"isSlot":false,"src":"7218:3:13","valueSize":1},{"declaration":2602,"isOffset":false,"isSlot":false,"src":"7275:3:13","valueSize":1}],"id":2651,"nodeType":"InlineAssembly","src":"6882:421:13"}]},{"expression":{"id":2653,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2600,"src":"7321:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"functionReturnParameters":2611,"id":2654,"nodeType":"Return","src":"7314:10:13"}]},"documentation":{"id":2597,"nodeType":"StructuredDocumentation","src":"6189:354:13","text":" @dev Writes up to 32 bytes to the buffer. Resizes if doing so would\n      exceed the capacity of the buffer.\n @param buf The buffer to append to.\n @param off The offset to write at.\n @param data The data to append.\n @param len The number of bytes to write (left-aligned).\n @return The original buffer, for chaining."},"id":2656,"implemented":true,"kind":"function","modifiers":[],"name":"write","nameLocation":"6555:5:13","nodeType":"FunctionDefinition","parameters":{"id":2607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2600,"mutability":"mutable","name":"buf","nameLocation":"6580:3:13","nodeType":"VariableDeclaration","scope":2656,"src":"6566:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2599,"nodeType":"UserDefinedTypeName","pathNode":{"id":2598,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"6566:6:13"},"referencedDeclaration":2286,"src":"6566:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"},{"constant":false,"id":2602,"mutability":"mutable","name":"off","nameLocation":"6597:3:13","nodeType":"VariableDeclaration","scope":2656,"src":"6589:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2601,"name":"uint256","nodeType":"ElementaryTypeName","src":"6589:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2604,"mutability":"mutable","name":"data","nameLocation":"6614:4:13","nodeType":"VariableDeclaration","scope":2656,"src":"6606:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2603,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6606:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2606,"mutability":"mutable","name":"len","nameLocation":"6632:3:13","nodeType":"VariableDeclaration","scope":2656,"src":"6624:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2605,"name":"uint256","nodeType":"ElementaryTypeName","src":"6624:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6560:79:13"},"returnParameters":{"id":2611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2610,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2656,"src":"6662:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2609,"nodeType":"UserDefinedTypeName","pathNode":{"id":2608,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"6662:6:13"},"referencedDeclaration":2286,"src":"6662:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"}],"src":"6661:15:13"},"scope":2800,"src":"6546:783:13","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":2680,"nodeType":"Block","src":"7746:52:13","statements":[{"expression":{"arguments":[{"id":2671,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2660,"src":"7765:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"id":2672,"name":"off","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2662,"src":"7770:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":2675,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2664,"src":"7783:4:13","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes20","typeString":"bytes20"}],"id":2674,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7775:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":2673,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7775:7:13","typeDescriptions":{}}},"id":2676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7775:13:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"3230","id":2677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7790:2:13","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"}],"id":2670,"name":"write","nodeType":"Identifier","overloadedDeclarations":[2496,2656],"referencedDeclaration":2656,"src":"7759:5:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint256_$_t_bytes32_$_t_uint256_$returns$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,uint256,bytes32,uint256) pure returns (struct BufferChainlink.buffer memory)"}},"id":2678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7759:34:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"functionReturnParameters":2669,"id":2679,"nodeType":"Return","src":"7752:41:13"}]},"documentation":{"id":2657,"nodeType":"StructuredDocumentation","src":"7333:288:13","text":" @dev Writes a bytes20 to the buffer. Resizes if doing so would exceed the\n      capacity of the buffer.\n @param buf The buffer to append to.\n @param off The offset to write at.\n @param data The data to append.\n @return The original buffer, for chaining."},"id":2681,"implemented":true,"kind":"function","modifiers":[],"name":"writeBytes20","nameLocation":"7633:12:13","nodeType":"FunctionDefinition","parameters":{"id":2665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2660,"mutability":"mutable","name":"buf","nameLocation":"7665:3:13","nodeType":"VariableDeclaration","scope":2681,"src":"7651:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2659,"nodeType":"UserDefinedTypeName","pathNode":{"id":2658,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"7651:6:13"},"referencedDeclaration":2286,"src":"7651:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"},{"constant":false,"id":2662,"mutability":"mutable","name":"off","nameLocation":"7682:3:13","nodeType":"VariableDeclaration","scope":2681,"src":"7674:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2661,"name":"uint256","nodeType":"ElementaryTypeName","src":"7674:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2664,"mutability":"mutable","name":"data","nameLocation":"7699:4:13","nodeType":"VariableDeclaration","scope":2681,"src":"7691:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"},"typeName":{"id":2663,"name":"bytes20","nodeType":"ElementaryTypeName","src":"7691:7:13","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}},"visibility":"internal"}],"src":"7645:62:13"},"returnParameters":{"id":2669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2668,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2681,"src":"7731:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2667,"nodeType":"UserDefinedTypeName","pathNode":{"id":2666,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"7731:6:13"},"referencedDeclaration":2286,"src":"7731:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"}],"src":"7730:15:13"},"scope":2800,"src":"7624:174:13","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2705,"nodeType":"Block","src":"8149:63:13","statements":[{"expression":{"arguments":[{"id":2694,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2685,"src":"8168:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"expression":{"expression":{"id":2695,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2685,"src":"8173:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2696,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":2283,"src":"8173:7:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":2697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"8173:14:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":2700,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2687,"src":"8197:4:13","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes20","typeString":"bytes20"}],"id":2699,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8189:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":2698,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8189:7:13","typeDescriptions":{}}},"id":2701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8189:13:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"3230","id":2702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8204:2:13","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"}],"id":2693,"name":"write","nodeType":"Identifier","overloadedDeclarations":[2496,2656],"referencedDeclaration":2656,"src":"8162:5:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint256_$_t_bytes32_$_t_uint256_$returns$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,uint256,bytes32,uint256) pure returns (struct BufferChainlink.buffer memory)"}},"id":2703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8162:45:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"functionReturnParameters":2692,"id":2704,"nodeType":"Return","src":"8155:52:13"}]},"documentation":{"id":2682,"nodeType":"StructuredDocumentation","src":"7802:250:13","text":" @dev Appends a bytes20 to the buffer. Resizes if doing so would exceed\n      the capacity of the buffer.\n @param buf The buffer to append to.\n @param data The data to append.\n @return The original buffer, for chhaining."},"id":2706,"implemented":true,"kind":"function","modifiers":[],"name":"appendBytes20","nameLocation":"8064:13:13","nodeType":"FunctionDefinition","parameters":{"id":2688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2685,"mutability":"mutable","name":"buf","nameLocation":"8092:3:13","nodeType":"VariableDeclaration","scope":2706,"src":"8078:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2684,"nodeType":"UserDefinedTypeName","pathNode":{"id":2683,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"8078:6:13"},"referencedDeclaration":2286,"src":"8078:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"},{"constant":false,"id":2687,"mutability":"mutable","name":"data","nameLocation":"8105:4:13","nodeType":"VariableDeclaration","scope":2706,"src":"8097:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"},"typeName":{"id":2686,"name":"bytes20","nodeType":"ElementaryTypeName","src":"8097:7:13","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}},"visibility":"internal"}],"src":"8077:33:13"},"returnParameters":{"id":2692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2691,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2706,"src":"8134:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2690,"nodeType":"UserDefinedTypeName","pathNode":{"id":2689,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"8134:6:13"},"referencedDeclaration":2286,"src":"8134:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"}],"src":"8133:15:13"},"scope":2800,"src":"8055:157:13","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2727,"nodeType":"Block","src":"8562:54:13","statements":[{"expression":{"arguments":[{"id":2719,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2710,"src":"8581:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"expression":{"expression":{"id":2720,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2710,"src":"8586:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2721,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":2283,"src":"8586:7:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":2722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"8586:14:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2723,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2712,"src":"8602:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"3332","id":2724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8608:2:13","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"}],"id":2718,"name":"write","nodeType":"Identifier","overloadedDeclarations":[2496,2656],"referencedDeclaration":2656,"src":"8575:5:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint256_$_t_bytes32_$_t_uint256_$returns$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,uint256,bytes32,uint256) pure returns (struct BufferChainlink.buffer memory)"}},"id":2725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8575:36:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"functionReturnParameters":2717,"id":2726,"nodeType":"Return","src":"8568:43:13"}]},"documentation":{"id":2707,"nodeType":"StructuredDocumentation","src":"8216:249:13","text":" @dev Appends a bytes32 to the buffer. Resizes if doing so would exceed\n      the capacity of the buffer.\n @param buf The buffer to append to.\n @param data The data to append.\n @return The original buffer, for chaining."},"id":2728,"implemented":true,"kind":"function","modifiers":[],"name":"appendBytes32","nameLocation":"8477:13:13","nodeType":"FunctionDefinition","parameters":{"id":2713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2710,"mutability":"mutable","name":"buf","nameLocation":"8505:3:13","nodeType":"VariableDeclaration","scope":2728,"src":"8491:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2709,"nodeType":"UserDefinedTypeName","pathNode":{"id":2708,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"8491:6:13"},"referencedDeclaration":2286,"src":"8491:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"},{"constant":false,"id":2712,"mutability":"mutable","name":"data","nameLocation":"8518:4:13","nodeType":"VariableDeclaration","scope":2728,"src":"8510:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2711,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8510:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8490:33:13"},"returnParameters":{"id":2717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2716,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2728,"src":"8547:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2715,"nodeType":"UserDefinedTypeName","pathNode":{"id":2714,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"8547:6:13"},"referencedDeclaration":2286,"src":"8547:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"}],"src":"8546:15:13"},"scope":2800,"src":"8468:148:13","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2774,"nodeType":"Block","src":"9108:541:13","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2744,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2738,"src":"9118:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":2745,"name":"off","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2734,"src":"9124:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9118:9:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":2747,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2732,"src":"9130:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2748,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"capacity","nodeType":"MemberAccess","referencedDeclaration":2285,"src":"9130:12:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9118:24:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2761,"nodeType":"IfStatement","src":"9114:73:13","trueBody":{"id":2760,"nodeType":"Block","src":"9144:43:13","statements":[{"expression":{"arguments":[{"id":2751,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2732,"src":"9159:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2752,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2738,"src":"9165:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":2753,"name":"off","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2734,"src":"9171:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9165:9:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2755,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9164:11:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"32","id":2756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9178:1:13","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"9164:15:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2750,"name":"resize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2377,"src":"9152:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (struct BufferChainlink.buffer memory,uint256) pure"}},"id":2758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9152:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2759,"nodeType":"ExpressionStatement","src":"9152:28:13"}]}},{"assignments":[2763],"declarations":[{"constant":false,"id":2763,"mutability":"mutable","name":"mask","nameLocation":"9201:4:13","nodeType":"VariableDeclaration","scope":2774,"src":"9193:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2762,"name":"uint256","nodeType":"ElementaryTypeName","src":"9193:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2770,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"323536","id":2764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9209:3:13","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":2765,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2738,"src":"9214:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9209:8:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2767,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9208:10:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":2768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9221:1:13","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9208:14:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9193:29:13"},{"AST":{"nodeType":"YulBlock","src":"9237:392:13","statements":[{"nodeType":"YulVariableDeclaration","src":"9288:24:13","value":{"arguments":[{"name":"buf","nodeType":"YulIdentifier","src":"9308:3:13"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9302:5:13"},"nodeType":"YulFunctionCall","src":"9302:10:13"},"variables":[{"name":"bufptr","nodeType":"YulTypedName","src":"9292:6:13","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9389:38:13","value":{"arguments":[{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"9409:6:13"},{"name":"off","nodeType":"YulIdentifier","src":"9417:3:13"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9405:3:13"},"nodeType":"YulFunctionCall","src":"9405:16:13"},{"name":"len","nodeType":"YulIdentifier","src":"9423:3:13"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9401:3:13"},"nodeType":"YulFunctionCall","src":"9401:26:13"},"variables":[{"name":"dest","nodeType":"YulTypedName","src":"9393:4:13","type":""}]},{"expression":{"arguments":[{"name":"dest","nodeType":"YulIdentifier","src":"9441:4:13"},{"arguments":[{"arguments":[{"arguments":[{"name":"dest","nodeType":"YulIdentifier","src":"9460:4:13"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9454:5:13"},"nodeType":"YulFunctionCall","src":"9454:11:13"},{"arguments":[{"name":"mask","nodeType":"YulIdentifier","src":"9471:4:13"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"9467:3:13"},"nodeType":"YulFunctionCall","src":"9467:9:13"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9450:3:13"},"nodeType":"YulFunctionCall","src":"9450:27:13"},{"name":"data","nodeType":"YulIdentifier","src":"9479:4:13"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"9447:2:13"},"nodeType":"YulFunctionCall","src":"9447:37:13"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9434:6:13"},"nodeType":"YulFunctionCall","src":"9434:51:13"},"nodeType":"YulExpressionStatement","src":"9434:51:13"},{"body":{"nodeType":"YulBlock","src":"9576:47:13","statements":[{"expression":{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"9593:6:13"},{"arguments":[{"name":"off","nodeType":"YulIdentifier","src":"9605:3:13"},{"name":"len","nodeType":"YulIdentifier","src":"9610:3:13"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9601:3:13"},"nodeType":"YulFunctionCall","src":"9601:13:13"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9586:6:13"},"nodeType":"YulFunctionCall","src":"9586:29:13"},"nodeType":"YulExpressionStatement","src":"9586:29:13"}]},"condition":{"arguments":[{"arguments":[{"name":"off","nodeType":"YulIdentifier","src":"9550:3:13"},{"name":"len","nodeType":"YulIdentifier","src":"9555:3:13"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9546:3:13"},"nodeType":"YulFunctionCall","src":"9546:13:13"},{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"9567:6:13"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9561:5:13"},"nodeType":"YulFunctionCall","src":"9561:13:13"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9543:2:13"},"nodeType":"YulFunctionCall","src":"9543:32:13"},"nodeType":"YulIf","src":"9540:83:13"}]},"evmVersion":"london","externalReferences":[{"declaration":2732,"isOffset":false,"isSlot":false,"src":"9308:3:13","valueSize":1},{"declaration":2736,"isOffset":false,"isSlot":false,"src":"9479:4:13","valueSize":1},{"declaration":2738,"isOffset":false,"isSlot":false,"src":"9423:3:13","valueSize":1},{"declaration":2738,"isOffset":false,"isSlot":false,"src":"9555:3:13","valueSize":1},{"declaration":2738,"isOffset":false,"isSlot":false,"src":"9610:3:13","valueSize":1},{"declaration":2763,"isOffset":false,"isSlot":false,"src":"9471:4:13","valueSize":1},{"declaration":2734,"isOffset":false,"isSlot":false,"src":"9417:3:13","valueSize":1},{"declaration":2734,"isOffset":false,"isSlot":false,"src":"9550:3:13","valueSize":1},{"declaration":2734,"isOffset":false,"isSlot":false,"src":"9605:3:13","valueSize":1}],"id":2771,"nodeType":"InlineAssembly","src":"9228:401:13"},{"expression":{"id":2772,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2732,"src":"9641:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"functionReturnParameters":2743,"id":2773,"nodeType":"Return","src":"9634:10:13"}]},"documentation":{"id":2729,"nodeType":"StructuredDocumentation","src":"8620:351:13","text":" @dev Writes an integer to the buffer. Resizes if doing so would exceed\n      the capacity of the buffer.\n @param buf The buffer to append to.\n @param off The offset to write at.\n @param data The data to append.\n @param len The number of bytes to write (right-aligned).\n @return The original buffer, for chaining."},"id":2775,"implemented":true,"kind":"function","modifiers":[],"name":"writeInt","nameLocation":"8983:8:13","nodeType":"FunctionDefinition","parameters":{"id":2739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2732,"mutability":"mutable","name":"buf","nameLocation":"9011:3:13","nodeType":"VariableDeclaration","scope":2775,"src":"8997:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2731,"nodeType":"UserDefinedTypeName","pathNode":{"id":2730,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"8997:6:13"},"referencedDeclaration":2286,"src":"8997:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"},{"constant":false,"id":2734,"mutability":"mutable","name":"off","nameLocation":"9028:3:13","nodeType":"VariableDeclaration","scope":2775,"src":"9020:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2733,"name":"uint256","nodeType":"ElementaryTypeName","src":"9020:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2736,"mutability":"mutable","name":"data","nameLocation":"9045:4:13","nodeType":"VariableDeclaration","scope":2775,"src":"9037:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2735,"name":"uint256","nodeType":"ElementaryTypeName","src":"9037:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2738,"mutability":"mutable","name":"len","nameLocation":"9063:3:13","nodeType":"VariableDeclaration","scope":2775,"src":"9055:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2737,"name":"uint256","nodeType":"ElementaryTypeName","src":"9055:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8991:79:13"},"returnParameters":{"id":2743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2742,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2775,"src":"9093:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2741,"nodeType":"UserDefinedTypeName","pathNode":{"id":2740,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"9093:6:13"},"referencedDeclaration":2286,"src":"9093:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"}],"src":"9092:15:13"},"scope":2800,"src":"8974:675:13","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":2798,"nodeType":"Block","src":"10013:58:13","statements":[{"expression":{"arguments":[{"id":2790,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2779,"src":"10035:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"expression":{"expression":{"id":2791,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2779,"src":"10040:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2792,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":2283,"src":"10040:7:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":2793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"10040:14:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2794,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2781,"src":"10056:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2795,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2783,"src":"10062:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2789,"name":"writeInt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2775,"src":"10026:8:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,uint256,uint256,uint256) pure returns (struct BufferChainlink.buffer memory)"}},"id":2796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10026:40:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"functionReturnParameters":2788,"id":2797,"nodeType":"Return","src":"10019:47:13"}]},"documentation":{"id":2776,"nodeType":"StructuredDocumentation","src":"9653:238:13","text":" @dev Appends a byte to the end of the buffer. Resizes if doing so would\n exceed the capacity of the buffer.\n @param buf The buffer to append to.\n @param data The data to append.\n @return The original buffer."},"id":2799,"implemented":true,"kind":"function","modifiers":[],"name":"appendInt","nameLocation":"9903:9:13","nodeType":"FunctionDefinition","parameters":{"id":2784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2779,"mutability":"mutable","name":"buf","nameLocation":"9932:3:13","nodeType":"VariableDeclaration","scope":2799,"src":"9918:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2778,"nodeType":"UserDefinedTypeName","pathNode":{"id":2777,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"9918:6:13"},"referencedDeclaration":2286,"src":"9918:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"},{"constant":false,"id":2781,"mutability":"mutable","name":"data","nameLocation":"9949:4:13","nodeType":"VariableDeclaration","scope":2799,"src":"9941:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2780,"name":"uint256","nodeType":"ElementaryTypeName","src":"9941:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2783,"mutability":"mutable","name":"len","nameLocation":"9967:3:13","nodeType":"VariableDeclaration","scope":2799,"src":"9959:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2782,"name":"uint256","nodeType":"ElementaryTypeName","src":"9959:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9912:62:13"},"returnParameters":{"id":2788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2787,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2799,"src":"9998:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2786,"nodeType":"UserDefinedTypeName","pathNode":{"id":2785,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"9998:6:13"},"referencedDeclaration":2286,"src":"9998:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"}],"src":"9997:15:13"},"scope":2800,"src":"9894:177:13","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":2801,"src":"441:9632:13","usedErrors":[]}],"src":"32:10042:13"},"id":13},"@chainlink/contracts/src/v0.8/vendor/CBORChainlink.sol":{"ast":{"absolutePath":"@chainlink/contracts/src/v0.8/vendor/CBORChainlink.sol","exportedSymbols":{"BufferChainlink":[2800],"CBORChainlink":[3247]},"id":3248,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":2802,"literals":["solidity",">=","0.4",".19"],"nodeType":"PragmaDirective","src":"32:25:14"},{"absolutePath":"@chainlink/contracts/src/v0.8/vendor/BufferChainlink.sol","file":"./BufferChainlink.sol","id":2804,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3248,"sourceUnit":2801,"src":"59:54:14","symbolAliases":[{"foreign":{"id":2803,"name":"BufferChainlink","nodeType":"Identifier","overloadedDeclarations":[],"src":"67:15:14","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":3247,"linearizedBaseContracts":[3247],"name":"CBORChainlink","nameLocation":"123:13:14","nodeType":"ContractDefinition","nodes":[{"id":2808,"libraryName":{"id":2805,"name":"BufferChainlink","nodeType":"IdentifierPath","referencedDeclaration":2800,"src":"147:15:14"},"nodeType":"UsingForDirective","src":"141:49:14","typeName":{"id":2807,"nodeType":"UserDefinedTypeName","pathNode":{"id":2806,"name":"BufferChainlink.buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"167:22:14"},"referencedDeclaration":2286,"src":"167:22:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}}},{"constant":true,"id":2811,"mutability":"constant","name":"MAJOR_TYPE_INT","nameLocation":"217:14:14","nodeType":"VariableDeclaration","scope":3247,"src":"194:41:14","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":2809,"name":"uint8","nodeType":"ElementaryTypeName","src":"194:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"30","id":2810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"234:1:14","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"private"},{"constant":true,"id":2814,"mutability":"constant","name":"MAJOR_TYPE_NEGATIVE_INT","nameLocation":"262:23:14","nodeType":"VariableDeclaration","scope":3247,"src":"239:50:14","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":2812,"name":"uint8","nodeType":"ElementaryTypeName","src":"239:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"31","id":2813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"288:1:14","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"private"},{"constant":true,"id":2817,"mutability":"constant","name":"MAJOR_TYPE_BYTES","nameLocation":"316:16:14","nodeType":"VariableDeclaration","scope":3247,"src":"293:43:14","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":2815,"name":"uint8","nodeType":"ElementaryTypeName","src":"293:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"32","id":2816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"335:1:14","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"private"},{"constant":true,"id":2820,"mutability":"constant","name":"MAJOR_TYPE_STRING","nameLocation":"363:17:14","nodeType":"VariableDeclaration","scope":3247,"src":"340:44:14","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":2818,"name":"uint8","nodeType":"ElementaryTypeName","src":"340:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"33","id":2819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"383:1:14","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"private"},{"constant":true,"id":2823,"mutability":"constant","name":"MAJOR_TYPE_ARRAY","nameLocation":"411:16:14","nodeType":"VariableDeclaration","scope":3247,"src":"388:43:14","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":2821,"name":"uint8","nodeType":"ElementaryTypeName","src":"388:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"34","id":2822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"430:1:14","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"visibility":"private"},{"constant":true,"id":2826,"mutability":"constant","name":"MAJOR_TYPE_MAP","nameLocation":"458:14:14","nodeType":"VariableDeclaration","scope":3247,"src":"435:41:14","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":2824,"name":"uint8","nodeType":"ElementaryTypeName","src":"435:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"35","id":2825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"475:1:14","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"visibility":"private"},{"constant":true,"id":2829,"mutability":"constant","name":"MAJOR_TYPE_TAG","nameLocation":"503:14:14","nodeType":"VariableDeclaration","scope":3247,"src":"480:41:14","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":2827,"name":"uint8","nodeType":"ElementaryTypeName","src":"480:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"36","id":2828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"520:1:14","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"visibility":"private"},{"constant":true,"id":2832,"mutability":"constant","name":"MAJOR_TYPE_CONTENT_FREE","nameLocation":"548:23:14","nodeType":"VariableDeclaration","scope":3247,"src":"525:50:14","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":2830,"name":"uint8","nodeType":"ElementaryTypeName","src":"525:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"37","id":2831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"574:1:14","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"visibility":"private"},{"constant":true,"id":2835,"mutability":"constant","name":"TAG_TYPE_BIGNUM","nameLocation":"603:15:14","nodeType":"VariableDeclaration","scope":3247,"src":"580:42:14","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":2833,"name":"uint8","nodeType":"ElementaryTypeName","src":"580:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"32","id":2834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"621:1:14","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"private"},{"constant":true,"id":2838,"mutability":"constant","name":"TAG_TYPE_NEGATIVE_BIGNUM","nameLocation":"649:24:14","nodeType":"VariableDeclaration","scope":3247,"src":"626:51:14","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":2836,"name":"uint8","nodeType":"ElementaryTypeName","src":"626:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"33","id":2837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"676:1:14","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"private"},{"body":{"id":2967,"nodeType":"Block","src":"785:522:14","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":2850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2848,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2845,"src":"794:5:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"3233","id":2849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"803:2:14","typeDescriptions":{"typeIdentifier":"t_rational_23_by_1","typeString":"int_const 23"},"value":"23"},"src":"794:11:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":2868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2866,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2845,"src":"876:5:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30784646","id":2867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"885:4:14","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xFF"},"src":"876:13:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":2893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2891,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2845,"src":"988:5:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"307846464646","id":2892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"997:6:14","typeDescriptions":{"typeIdentifier":"t_rational_65535_by_1","typeString":"int_const 65535"},"value":"0xFFFF"},"src":"988:15:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":2918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2916,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2845,"src":"1102:5:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30784646464646464646","id":2917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1111:10:14","typeDescriptions":{"typeIdentifier":"t_rational_4294967295_by_1","typeString":"int_const 4294967295"},"value":"0xFFFFFFFF"},"src":"1102:19:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":2962,"nodeType":"Block","src":"1216:87:14","statements":[{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":2951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":2948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2946,"name":"major","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2843,"src":"1247:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"35","id":2947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1256:1:14","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"1247:10:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":2949,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1246:12:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"hexValue":"3237","id":2950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1261:2:14","typeDescriptions":{"typeIdentifier":"t_rational_27_by_1","typeString":"int_const 27"},"value":"27"},"src":"1246:17:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":2945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1240:5:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":2944,"name":"uint8","nodeType":"ElementaryTypeName","src":"1240:5:14","typeDescriptions":{}}},"id":2952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1240:24:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":2941,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2841,"src":"1224:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2943,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"appendUint8","nodeType":"MemberAccess","referencedDeclaration":2596,"src":"1224:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint8_$returns$_t_struct$_buffer_$2286_memory_ptr_$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,uint8) pure returns (struct BufferChainlink.buffer memory)"}},"id":2953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1224:41:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2954,"nodeType":"ExpressionStatement","src":"1224:41:14"},{"expression":{"arguments":[{"id":2958,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2845,"src":"1287:5:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"hexValue":"38","id":2959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1294:1:14","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"}],"expression":{"id":2955,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2841,"src":"1273:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2957,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"appendInt","nodeType":"MemberAccess","referencedDeclaration":2799,"src":"1273:13:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_struct$_buffer_$2286_memory_ptr_$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,uint256,uint256) pure returns (struct BufferChainlink.buffer memory)"}},"id":2960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1273:23:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2961,"nodeType":"ExpressionStatement","src":"1273:23:14"}]},"id":2963,"nodeType":"IfStatement","src":"1098:205:14","trueBody":{"id":2940,"nodeType":"Block","src":"1123:87:14","statements":[{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":2929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":2926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2924,"name":"major","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2843,"src":"1154:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"35","id":2925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1163:1:14","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"1154:10:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":2927,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1153:12:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"hexValue":"3236","id":2928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1168:2:14","typeDescriptions":{"typeIdentifier":"t_rational_26_by_1","typeString":"int_const 26"},"value":"26"},"src":"1153:17:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":2923,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1147:5:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":2922,"name":"uint8","nodeType":"ElementaryTypeName","src":"1147:5:14","typeDescriptions":{}}},"id":2930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1147:24:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":2919,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2841,"src":"1131:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2921,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"appendUint8","nodeType":"MemberAccess","referencedDeclaration":2596,"src":"1131:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint8_$returns$_t_struct$_buffer_$2286_memory_ptr_$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,uint8) pure returns (struct BufferChainlink.buffer memory)"}},"id":2931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1131:41:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2932,"nodeType":"ExpressionStatement","src":"1131:41:14"},{"expression":{"arguments":[{"id":2936,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2845,"src":"1194:5:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"hexValue":"34","id":2937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1201:1:14","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"}],"expression":{"id":2933,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2841,"src":"1180:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2935,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"appendInt","nodeType":"MemberAccess","referencedDeclaration":2799,"src":"1180:13:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_struct$_buffer_$2286_memory_ptr_$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,uint256,uint256) pure returns (struct BufferChainlink.buffer memory)"}},"id":2938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1180:23:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2939,"nodeType":"ExpressionStatement","src":"1180:23:14"}]}},"id":2964,"nodeType":"IfStatement","src":"984:319:14","trueBody":{"id":2915,"nodeType":"Block","src":"1005:87:14","statements":[{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":2904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":2901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2899,"name":"major","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2843,"src":"1036:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"35","id":2900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1045:1:14","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"1036:10:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":2902,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1035:12:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"hexValue":"3235","id":2903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1050:2:14","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"src":"1035:17:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":2898,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1029:5:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":2897,"name":"uint8","nodeType":"ElementaryTypeName","src":"1029:5:14","typeDescriptions":{}}},"id":2905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1029:24:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":2894,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2841,"src":"1013:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2896,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"appendUint8","nodeType":"MemberAccess","referencedDeclaration":2596,"src":"1013:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint8_$returns$_t_struct$_buffer_$2286_memory_ptr_$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,uint8) pure returns (struct BufferChainlink.buffer memory)"}},"id":2906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1013:41:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2907,"nodeType":"ExpressionStatement","src":"1013:41:14"},{"expression":{"arguments":[{"id":2911,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2845,"src":"1076:5:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"hexValue":"32","id":2912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1083:1:14","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"expression":{"id":2908,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2841,"src":"1062:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2910,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"appendInt","nodeType":"MemberAccess","referencedDeclaration":2799,"src":"1062:13:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_struct$_buffer_$2286_memory_ptr_$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,uint256,uint256) pure returns (struct BufferChainlink.buffer memory)"}},"id":2913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1062:23:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2914,"nodeType":"ExpressionStatement","src":"1062:23:14"}]}},"id":2965,"nodeType":"IfStatement","src":"872:431:14","trueBody":{"id":2890,"nodeType":"Block","src":"891:87:14","statements":[{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":2879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":2876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2874,"name":"major","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2843,"src":"922:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"35","id":2875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"931:1:14","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"922:10:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":2877,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"921:12:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"hexValue":"3234","id":2878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"936:2:14","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"24"},"src":"921:17:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":2873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"915:5:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":2872,"name":"uint8","nodeType":"ElementaryTypeName","src":"915:5:14","typeDescriptions":{}}},"id":2880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"915:24:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":2869,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2841,"src":"899:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2871,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"appendUint8","nodeType":"MemberAccess","referencedDeclaration":2596,"src":"899:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint8_$returns$_t_struct$_buffer_$2286_memory_ptr_$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,uint8) pure returns (struct BufferChainlink.buffer memory)"}},"id":2881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"899:41:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2882,"nodeType":"ExpressionStatement","src":"899:41:14"},{"expression":{"arguments":[{"id":2886,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2845,"src":"962:5:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"hexValue":"31","id":2887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"969:1:14","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":2883,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2841,"src":"948:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2885,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"appendInt","nodeType":"MemberAccess","referencedDeclaration":2799,"src":"948:13:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_struct$_buffer_$2286_memory_ptr_$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,uint256,uint256) pure returns (struct BufferChainlink.buffer memory)"}},"id":2888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"948:23:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2889,"nodeType":"ExpressionStatement","src":"948:23:14"}]}},"id":2966,"nodeType":"IfStatement","src":"791:512:14","trueBody":{"id":2865,"nodeType":"Block","src":"807:59:14","statements":[{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":2861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":2858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2856,"name":"major","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2843,"src":"838:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"35","id":2857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"847:1:14","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"838:10:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":2859,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"837:12:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"id":2860,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2845,"src":"852:5:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"837:20:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":2855,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"831:5:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":2854,"name":"uint8","nodeType":"ElementaryTypeName","src":"831:5:14","typeDescriptions":{}}},"id":2862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"831:27:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":2851,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2841,"src":"815:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2853,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"appendUint8","nodeType":"MemberAccess","referencedDeclaration":2596,"src":"815:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint8_$returns$_t_struct$_buffer_$2286_memory_ptr_$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,uint8) pure returns (struct BufferChainlink.buffer memory)"}},"id":2863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"815:44:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2864,"nodeType":"ExpressionStatement","src":"815:44:14"}]}}]},"id":2968,"implemented":true,"kind":"function","modifiers":[],"name":"encodeFixedNumeric","nameLocation":"691:18:14","nodeType":"FunctionDefinition","parameters":{"id":2846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2841,"mutability":"mutable","name":"buf","nameLocation":"740:3:14","nodeType":"VariableDeclaration","scope":2968,"src":"710:33:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2840,"nodeType":"UserDefinedTypeName","pathNode":{"id":2839,"name":"BufferChainlink.buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"710:22:14"},"referencedDeclaration":2286,"src":"710:22:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"},{"constant":false,"id":2843,"mutability":"mutable","name":"major","nameLocation":"751:5:14","nodeType":"VariableDeclaration","scope":2968,"src":"745:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":2842,"name":"uint8","nodeType":"ElementaryTypeName","src":"745:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":2845,"mutability":"mutable","name":"value","nameLocation":"765:5:14","nodeType":"VariableDeclaration","scope":2968,"src":"758:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":2844,"name":"uint64","nodeType":"ElementaryTypeName","src":"758:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"709:62:14"},"returnParameters":{"id":2847,"nodeType":"ParameterList","parameters":[],"src":"785:0:14"},"scope":3247,"src":"682:625:14","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":2990,"nodeType":"Block","src":"1408:52:14","statements":[{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":2986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":2983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2981,"name":"major","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2973,"src":"1437:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"35","id":2982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1446:1:14","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"1437:10:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":2984,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1436:12:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"hexValue":"3331","id":2985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1451:2:14","typeDescriptions":{"typeIdentifier":"t_rational_31_by_1","typeString":"int_const 31"},"value":"31"},"src":"1436:17:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":2980,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1430:5:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":2979,"name":"uint8","nodeType":"ElementaryTypeName","src":"1430:5:14","typeDescriptions":{}}},"id":2987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1430:24:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":2976,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2971,"src":"1414:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2978,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"appendUint8","nodeType":"MemberAccess","referencedDeclaration":2596,"src":"1414:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint8_$returns$_t_struct$_buffer_$2286_memory_ptr_$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,uint8) pure returns (struct BufferChainlink.buffer memory)"}},"id":2988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1414:41:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":2989,"nodeType":"ExpressionStatement","src":"1414:41:14"}]},"id":2991,"implemented":true,"kind":"function","modifiers":[],"name":"encodeIndefiniteLengthType","nameLocation":"1320:26:14","nodeType":"FunctionDefinition","parameters":{"id":2974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2971,"mutability":"mutable","name":"buf","nameLocation":"1377:3:14","nodeType":"VariableDeclaration","scope":2991,"src":"1347:33:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2970,"nodeType":"UserDefinedTypeName","pathNode":{"id":2969,"name":"BufferChainlink.buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"1347:22:14"},"referencedDeclaration":2286,"src":"1347:22:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"},{"constant":false,"id":2973,"mutability":"mutable","name":"major","nameLocation":"1388:5:14","nodeType":"VariableDeclaration","scope":2991,"src":"1382:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":2972,"name":"uint8","nodeType":"ElementaryTypeName","src":"1382:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"1346:48:14"},"returnParameters":{"id":2975,"nodeType":"ParameterList","parameters":[],"src":"1408:0:14"},"scope":3247,"src":"1311:149:14","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":3019,"nodeType":"Block","src":"1545:155:14","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2999,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2996,"src":"1554:5:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"307846464646464646464646464646464646","id":3000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1562:18:14","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551615_by_1","typeString":"int_const 18446744073709551615"},"value":"0xFFFFFFFFFFFFFFFF"},"src":"1554:26:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":3017,"nodeType":"Block","src":"1627:69:14","statements":[{"expression":{"arguments":[{"id":3009,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2994,"src":"1654:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"id":3010,"name":"MAJOR_TYPE_INT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2811,"src":"1659:14:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"arguments":[{"id":3013,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2996,"src":"1682:5:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3012,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1675:6:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":3011,"name":"uint64","nodeType":"ElementaryTypeName","src":"1675:6:14","typeDescriptions":{}}},"id":3014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1675:13:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":3008,"name":"encodeFixedNumeric","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2968,"src":"1635:18:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint8_$_t_uint64_$returns$__$","typeString":"function (struct BufferChainlink.buffer memory,uint8,uint64) pure"}},"id":3015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1635:54:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3016,"nodeType":"ExpressionStatement","src":"1635:54:14"}]},"id":3018,"nodeType":"IfStatement","src":"1551:145:14","trueBody":{"id":3007,"nodeType":"Block","src":"1582:39:14","statements":[{"expression":{"arguments":[{"id":3003,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2994,"src":"1603:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"id":3004,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2996,"src":"1608:5:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3002,"name":"encodeBigNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3142,"src":"1590:12:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (struct BufferChainlink.buffer memory,uint256) pure"}},"id":3005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1590:24:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3006,"nodeType":"ExpressionStatement","src":"1590:24:14"}]}}]},"id":3020,"implemented":true,"kind":"function","modifiers":[],"name":"encodeUInt","nameLocation":"1473:10:14","nodeType":"FunctionDefinition","parameters":{"id":2997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2994,"mutability":"mutable","name":"buf","nameLocation":"1514:3:14","nodeType":"VariableDeclaration","scope":3020,"src":"1484:33:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":2993,"nodeType":"UserDefinedTypeName","pathNode":{"id":2992,"name":"BufferChainlink.buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"1484:22:14"},"referencedDeclaration":2286,"src":"1484:22:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"},{"constant":false,"id":2996,"mutability":"mutable","name":"value","nameLocation":"1524:5:14","nodeType":"VariableDeclaration","scope":3020,"src":"1519:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2995,"name":"uint","nodeType":"ElementaryTypeName","src":"1519:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1483:47:14"},"returnParameters":{"id":2998,"nodeType":"ParameterList","parameters":[],"src":"1545:0:14"},"scope":3247,"src":"1464:236:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3085,"nodeType":"Block","src":"1783:367:14","statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3028,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3025,"src":"1792:5:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":3030,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"1800:20:14","subExpression":{"hexValue":"30783130303030303030303030303030303030","id":3029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1801:19:14","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_18446744073709551616_by_1","typeString":"int_const -18446744073709551616"}},"src":"1792:28:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3038,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3025,"src":"1876:5:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"307846464646464646464646464646464646","id":3039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1884:18:14","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551615_by_1","typeString":"int_const 18446744073709551615"},"value":"0xFFFFFFFFFFFFFFFF"},"src":"1876:26:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3050,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3025,"src":"1958:5:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30","id":3051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1967:1:14","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1958:10:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":3081,"nodeType":"Block","src":"2054:92:14","statements":[{"expression":{"arguments":[{"id":3067,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3023,"src":"2081:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"id":3068,"name":"MAJOR_TYPE_NEGATIVE_INT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2814,"src":"2086:23:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"2126:2:14","subExpression":{"hexValue":"31","id":3073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2127:1:14","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":3075,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3025,"src":"2131:5:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"2126:10:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":3072,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2118:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3071,"name":"uint256","nodeType":"ElementaryTypeName","src":"2118:7:14","typeDescriptions":{}}},"id":3077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2118:19:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3070,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2111:6:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":3069,"name":"uint64","nodeType":"ElementaryTypeName","src":"2111:6:14","typeDescriptions":{}}},"id":3078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2111:27:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":3066,"name":"encodeFixedNumeric","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2968,"src":"2062:18:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint8_$_t_uint64_$returns$__$","typeString":"function (struct BufferChainlink.buffer memory,uint8,uint64) pure"}},"id":3079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2062:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3080,"nodeType":"ExpressionStatement","src":"2062:77:14"}]},"id":3082,"nodeType":"IfStatement","src":"1955:191:14","trueBody":{"id":3065,"nodeType":"Block","src":"1970:78:14","statements":[{"expression":{"arguments":[{"id":3054,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3023,"src":"1997:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"id":3055,"name":"MAJOR_TYPE_INT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2811,"src":"2002:14:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"arguments":[{"arguments":[{"id":3060,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3025,"src":"2033:5:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":3059,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2025:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3058,"name":"uint256","nodeType":"ElementaryTypeName","src":"2025:7:14","typeDescriptions":{}}},"id":3061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2025:14:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3057,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2018:6:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":3056,"name":"uint64","nodeType":"ElementaryTypeName","src":"2018:6:14","typeDescriptions":{}}},"id":3062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2018:22:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":3053,"name":"encodeFixedNumeric","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2968,"src":"1978:18:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint8_$_t_uint64_$returns$__$","typeString":"function (struct BufferChainlink.buffer memory,uint8,uint64) pure"}},"id":3063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1978:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3064,"nodeType":"ExpressionStatement","src":"1978:63:14"}]}},"id":3083,"nodeType":"IfStatement","src":"1873:273:14","trueBody":{"id":3049,"nodeType":"Block","src":"1904:45:14","statements":[{"expression":{"arguments":[{"id":3042,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3023,"src":"1925:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"arguments":[{"id":3045,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3025,"src":"1935:5:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":3044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1930:4:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3043,"name":"uint","nodeType":"ElementaryTypeName","src":"1930:4:14","typeDescriptions":{}}},"id":3046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1930:11:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3041,"name":"encodeBigNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3142,"src":"1912:12:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (struct BufferChainlink.buffer memory,uint256) pure"}},"id":3047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1912:30:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3048,"nodeType":"ExpressionStatement","src":"1912:30:14"}]}},"id":3084,"nodeType":"IfStatement","src":"1789:357:14","trueBody":{"id":3037,"nodeType":"Block","src":"1822:45:14","statements":[{"expression":{"arguments":[{"id":3033,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3023,"src":"1849:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"id":3034,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3025,"src":"1854:5:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":3032,"name":"encodeSignedBigNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3179,"src":"1830:18:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_int256_$returns$__$","typeString":"function (struct BufferChainlink.buffer memory,int256) pure"}},"id":3035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1830:30:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3036,"nodeType":"ExpressionStatement","src":"1830:30:14"}]}}]},"id":3086,"implemented":true,"kind":"function","modifiers":[],"name":"encodeInt","nameLocation":"1713:9:14","nodeType":"FunctionDefinition","parameters":{"id":3026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3023,"mutability":"mutable","name":"buf","nameLocation":"1753:3:14","nodeType":"VariableDeclaration","scope":3086,"src":"1723:33:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":3022,"nodeType":"UserDefinedTypeName","pathNode":{"id":3021,"name":"BufferChainlink.buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"1723:22:14"},"referencedDeclaration":2286,"src":"1723:22:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"},{"constant":false,"id":3025,"mutability":"mutable","name":"value","nameLocation":"1762:5:14","nodeType":"VariableDeclaration","scope":3086,"src":"1758:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3024,"name":"int","nodeType":"ElementaryTypeName","src":"1758:3:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1722:46:14"},"returnParameters":{"id":3027,"nodeType":"ParameterList","parameters":[],"src":"1783:0:14"},"scope":3247,"src":"1704:446:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3110,"nodeType":"Block","src":"2244:97:14","statements":[{"expression":{"arguments":[{"id":3095,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"2269:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"id":3096,"name":"MAJOR_TYPE_BYTES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2817,"src":"2274:16:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"arguments":[{"expression":{"id":3099,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3091,"src":"2299:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2299:12:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3098,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2292:6:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":3097,"name":"uint64","nodeType":"ElementaryTypeName","src":"2292:6:14","typeDescriptions":{}}},"id":3101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2292:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":3094,"name":"encodeFixedNumeric","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2968,"src":"2250:18:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint8_$_t_uint64_$returns$__$","typeString":"function (struct BufferChainlink.buffer memory,uint8,uint64) pure"}},"id":3102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2250:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3103,"nodeType":"ExpressionStatement","src":"2250:63:14"},{"expression":{"arguments":[{"id":3107,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3091,"src":"2330:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3104,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"2319:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":3106,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"append","nodeType":"MemberAccess","referencedDeclaration":2543,"src":"2319:10:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_buffer_$2286_memory_ptr_$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,bytes memory) pure returns (struct BufferChainlink.buffer memory)"}},"id":3108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2319:17:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":3109,"nodeType":"ExpressionStatement","src":"2319:17:14"}]},"id":3111,"implemented":true,"kind":"function","modifiers":[],"name":"encodeBytes","nameLocation":"2163:11:14","nodeType":"FunctionDefinition","parameters":{"id":3092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3089,"mutability":"mutable","name":"buf","nameLocation":"2205:3:14","nodeType":"VariableDeclaration","scope":3111,"src":"2175:33:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":3088,"nodeType":"UserDefinedTypeName","pathNode":{"id":3087,"name":"BufferChainlink.buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"2175:22:14"},"referencedDeclaration":2286,"src":"2175:22:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"},{"constant":false,"id":3091,"mutability":"mutable","name":"value","nameLocation":"2223:5:14","nodeType":"VariableDeclaration","scope":3111,"src":"2210:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3090,"name":"bytes","nodeType":"ElementaryTypeName","src":"2210:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2174:55:14"},"returnParameters":{"id":3093,"nodeType":"ParameterList","parameters":[],"src":"2244:0:14"},"scope":3247,"src":"2154:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3141,"nodeType":"Block","src":"2428:115:14","statements":[{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":3129,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":3126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":3124,"name":"MAJOR_TYPE_TAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2829,"src":"2457:14:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"35","id":3125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2475:1:14","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"2457:19:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":3127,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2456:21:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"id":3128,"name":"TAG_TYPE_BIGNUM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2835,"src":"2480:15:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"2456:39:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":3123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2450:5:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":3122,"name":"uint8","nodeType":"ElementaryTypeName","src":"2450:5:14","typeDescriptions":{}}},"id":3130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2450:46:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":3119,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3114,"src":"2434:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":3121,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"appendUint8","nodeType":"MemberAccess","referencedDeclaration":2596,"src":"2434:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint8_$returns$_t_struct$_buffer_$2286_memory_ptr_$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,uint8) pure returns (struct BufferChainlink.buffer memory)"}},"id":3131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2434:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":3132,"nodeType":"ExpressionStatement","src":"2434:63:14"},{"expression":{"arguments":[{"id":3134,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3114,"src":"2515:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"arguments":[{"id":3137,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3116,"src":"2531:5:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3135,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2520:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3136,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"2520:10:14","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2520:17:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3133,"name":"encodeBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3111,"src":"2503:11:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (struct BufferChainlink.buffer memory,bytes memory) pure"}},"id":3139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2503:35:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3140,"nodeType":"ExpressionStatement","src":"2503:35:14"}]},"id":3142,"implemented":true,"kind":"function","modifiers":[],"name":"encodeBigNum","nameLocation":"2354:12:14","nodeType":"FunctionDefinition","parameters":{"id":3117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3114,"mutability":"mutable","name":"buf","nameLocation":"2397:3:14","nodeType":"VariableDeclaration","scope":3142,"src":"2367:33:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":3113,"nodeType":"UserDefinedTypeName","pathNode":{"id":3112,"name":"BufferChainlink.buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"2367:22:14"},"referencedDeclaration":2286,"src":"2367:22:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"},{"constant":false,"id":3116,"mutability":"mutable","name":"value","nameLocation":"2407:5:14","nodeType":"VariableDeclaration","scope":3142,"src":"2402:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3115,"name":"uint","nodeType":"ElementaryTypeName","src":"2402:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2366:47:14"},"returnParameters":{"id":3118,"nodeType":"ParameterList","parameters":[],"src":"2428:0:14"},"scope":3247,"src":"2345:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3178,"nodeType":"Block","src":"2635:138:14","statements":[{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":3160,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":3157,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":3155,"name":"MAJOR_TYPE_TAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2829,"src":"2664:14:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"35","id":3156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2682:1:14","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"2664:19:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":3158,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2663:21:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"id":3159,"name":"TAG_TYPE_NEGATIVE_BIGNUM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2838,"src":"2687:24:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"2663:48:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":3154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2657:5:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":3153,"name":"uint8","nodeType":"ElementaryTypeName","src":"2657:5:14","typeDescriptions":{}}},"id":3161,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2657:55:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":3150,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3145,"src":"2641:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":3152,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"appendUint8","nodeType":"MemberAccess","referencedDeclaration":2596,"src":"2641:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint8_$returns$_t_struct$_buffer_$2286_memory_ptr_$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,uint8) pure returns (struct BufferChainlink.buffer memory)"}},"id":3162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2641:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":3163,"nodeType":"ExpressionStatement","src":"2641:72:14"},{"expression":{"arguments":[{"id":3165,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3145,"src":"2731:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3171,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"2755:2:14","subExpression":{"hexValue":"31","id":3170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2756:1:14","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":3172,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3147,"src":"2760:5:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"2755:10:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":3169,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2747:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3168,"name":"uint256","nodeType":"ElementaryTypeName","src":"2747:7:14","typeDescriptions":{}}},"id":3174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2747:19:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3166,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2736:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3167,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"2736:10:14","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2736:31:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3164,"name":"encodeBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3111,"src":"2719:11:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (struct BufferChainlink.buffer memory,bytes memory) pure"}},"id":3176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2719:49:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3177,"nodeType":"ExpressionStatement","src":"2719:49:14"}]},"id":3179,"implemented":true,"kind":"function","modifiers":[],"name":"encodeSignedBigNum","nameLocation":"2556:18:14","nodeType":"FunctionDefinition","parameters":{"id":3148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3145,"mutability":"mutable","name":"buf","nameLocation":"2605:3:14","nodeType":"VariableDeclaration","scope":3179,"src":"2575:33:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":3144,"nodeType":"UserDefinedTypeName","pathNode":{"id":3143,"name":"BufferChainlink.buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"2575:22:14"},"referencedDeclaration":2286,"src":"2575:22:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"},{"constant":false,"id":3147,"mutability":"mutable","name":"input","nameLocation":"2614:5:14","nodeType":"VariableDeclaration","scope":3179,"src":"2610:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3146,"name":"int","nodeType":"ElementaryTypeName","src":"2610:3:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2574:46:14"},"returnParameters":{"id":3149,"nodeType":"ParameterList","parameters":[],"src":"2635:0:14"},"scope":3247,"src":"2547:226:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3209,"nodeType":"Block","src":"2869:112:14","statements":[{"expression":{"arguments":[{"id":3188,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3182,"src":"2894:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"id":3189,"name":"MAJOR_TYPE_STRING","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2820,"src":"2899:17:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"arguments":[{"expression":{"arguments":[{"id":3194,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3184,"src":"2931:5:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3193,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2925:5:14","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3192,"name":"bytes","nodeType":"ElementaryTypeName","src":"2925:5:14","typeDescriptions":{}}},"id":3195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2925:12:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2925:19:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3191,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2918:6:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":3190,"name":"uint64","nodeType":"ElementaryTypeName","src":"2918:6:14","typeDescriptions":{}}},"id":3197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2918:27:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":3187,"name":"encodeFixedNumeric","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2968,"src":"2875:18:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint8_$_t_uint64_$returns$__$","typeString":"function (struct BufferChainlink.buffer memory,uint8,uint64) pure"}},"id":3198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2875:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3199,"nodeType":"ExpressionStatement","src":"2875:71:14"},{"expression":{"arguments":[{"arguments":[{"id":3205,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3184,"src":"2969:5:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2963:5:14","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3203,"name":"bytes","nodeType":"ElementaryTypeName","src":"2963:5:14","typeDescriptions":{}}},"id":3206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2963:12:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3200,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3182,"src":"2952:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":3202,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"append","nodeType":"MemberAccess","referencedDeclaration":2543,"src":"2952:10:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_buffer_$2286_memory_ptr_$bound_to$_t_struct$_buffer_$2286_memory_ptr_$","typeString":"function (struct BufferChainlink.buffer memory,bytes memory) pure returns (struct BufferChainlink.buffer memory)"}},"id":3207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2952:24:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},"id":3208,"nodeType":"ExpressionStatement","src":"2952:24:14"}]},"id":3210,"implemented":true,"kind":"function","modifiers":[],"name":"encodeString","nameLocation":"2786:12:14","nodeType":"FunctionDefinition","parameters":{"id":3185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3182,"mutability":"mutable","name":"buf","nameLocation":"2829:3:14","nodeType":"VariableDeclaration","scope":3210,"src":"2799:33:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":3181,"nodeType":"UserDefinedTypeName","pathNode":{"id":3180,"name":"BufferChainlink.buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"2799:22:14"},"referencedDeclaration":2286,"src":"2799:22:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"},{"constant":false,"id":3184,"mutability":"mutable","name":"value","nameLocation":"2848:5:14","nodeType":"VariableDeclaration","scope":3210,"src":"2834:19:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3183,"name":"string","nodeType":"ElementaryTypeName","src":"2834:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2798:56:14"},"returnParameters":{"id":3186,"nodeType":"ParameterList","parameters":[],"src":"2869:0:14"},"scope":3247,"src":"2777:204:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3221,"nodeType":"Block","src":"3054:60:14","statements":[{"expression":{"arguments":[{"id":3217,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3213,"src":"3087:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"id":3218,"name":"MAJOR_TYPE_ARRAY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2823,"src":"3092:16:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":3216,"name":"encodeIndefiniteLengthType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2991,"src":"3060:26:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint8_$returns$__$","typeString":"function (struct BufferChainlink.buffer memory,uint8) pure"}},"id":3219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3060:49:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3220,"nodeType":"ExpressionStatement","src":"3060:49:14"}]},"id":3222,"implemented":true,"kind":"function","modifiers":[],"name":"startArray","nameLocation":"2994:10:14","nodeType":"FunctionDefinition","parameters":{"id":3214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3213,"mutability":"mutable","name":"buf","nameLocation":"3035:3:14","nodeType":"VariableDeclaration","scope":3222,"src":"3005:33:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":3212,"nodeType":"UserDefinedTypeName","pathNode":{"id":3211,"name":"BufferChainlink.buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"3005:22:14"},"referencedDeclaration":2286,"src":"3005:22:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"}],"src":"3004:35:14"},"returnParameters":{"id":3215,"nodeType":"ParameterList","parameters":[],"src":"3054:0:14"},"scope":3247,"src":"2985:129:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3233,"nodeType":"Block","src":"3185:58:14","statements":[{"expression":{"arguments":[{"id":3229,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3225,"src":"3218:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"id":3230,"name":"MAJOR_TYPE_MAP","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2826,"src":"3223:14:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":3228,"name":"encodeIndefiniteLengthType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2991,"src":"3191:26:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint8_$returns$__$","typeString":"function (struct BufferChainlink.buffer memory,uint8) pure"}},"id":3231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3191:47:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3232,"nodeType":"ExpressionStatement","src":"3191:47:14"}]},"id":3234,"implemented":true,"kind":"function","modifiers":[],"name":"startMap","nameLocation":"3127:8:14","nodeType":"FunctionDefinition","parameters":{"id":3226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3225,"mutability":"mutable","name":"buf","nameLocation":"3166:3:14","nodeType":"VariableDeclaration","scope":3234,"src":"3136:33:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":3224,"nodeType":"UserDefinedTypeName","pathNode":{"id":3223,"name":"BufferChainlink.buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"3136:22:14"},"referencedDeclaration":2286,"src":"3136:22:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"}],"src":"3135:35:14"},"returnParameters":{"id":3227,"nodeType":"ParameterList","parameters":[],"src":"3185:0:14"},"scope":3247,"src":"3118:125:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3245,"nodeType":"Block","src":"3317:67:14","statements":[{"expression":{"arguments":[{"id":3241,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3237,"src":"3350:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"}},{"id":3242,"name":"MAJOR_TYPE_CONTENT_FREE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2832,"src":"3355:23:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":3240,"name":"encodeIndefiniteLengthType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2991,"src":"3323:26:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$2286_memory_ptr_$_t_uint8_$returns$__$","typeString":"function (struct BufferChainlink.buffer memory,uint8) pure"}},"id":3243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3323:56:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3244,"nodeType":"ExpressionStatement","src":"3323:56:14"}]},"id":3246,"implemented":true,"kind":"function","modifiers":[],"name":"endSequence","nameLocation":"3256:11:14","nodeType":"FunctionDefinition","parameters":{"id":3238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3237,"mutability":"mutable","name":"buf","nameLocation":"3298:3:14","nodeType":"VariableDeclaration","scope":3246,"src":"3268:33:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_memory_ptr","typeString":"struct BufferChainlink.buffer"},"typeName":{"id":3236,"nodeType":"UserDefinedTypeName","pathNode":{"id":3235,"name":"BufferChainlink.buffer","nodeType":"IdentifierPath","referencedDeclaration":2286,"src":"3268:22:14"},"referencedDeclaration":2286,"src":"3268:22:14","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$2286_storage_ptr","typeString":"struct BufferChainlink.buffer"}},"visibility":"internal"}],"src":"3267:35:14"},"returnParameters":{"id":3239,"nodeType":"ParameterList","parameters":[],"src":"3317:0:14"},"scope":3247,"src":"3247:137:14","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":3248,"src":"115:3271:14","usedErrors":[]}],"src":"32:3355:14"},"id":14},"@chainlink/contracts/src/v0.8/vendor/ENSResolver.sol":{"ast":{"absolutePath":"@chainlink/contracts/src/v0.8/vendor/ENSResolver.sol","exportedSymbols":{"ENSResolver":[3257]},"id":3258,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3249,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:15"},{"abstract":true,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","fullyImplemented":false,"id":3257,"linearizedBaseContracts":[3257],"name":"ENSResolver","nameLocation":"75:11:15","nodeType":"ContractDefinition","nodes":[{"functionSelector":"3b3b57de","id":3256,"implemented":false,"kind":"function","modifiers":[],"name":"addr","nameLocation":"100:4:15","nodeType":"FunctionDefinition","parameters":{"id":3252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3251,"mutability":"mutable","name":"node","nameLocation":"113:4:15","nodeType":"VariableDeclaration","scope":3256,"src":"105:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3250,"name":"bytes32","nodeType":"ElementaryTypeName","src":"105:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"104:14:15"},"returnParameters":{"id":3255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3254,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3256,"src":"148:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3253,"name":"address","nodeType":"ElementaryTypeName","src":"148:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"147:9:15"},"scope":3257,"src":"91:66:15","stateMutability":"view","virtual":true,"visibility":"public"}],"scope":3258,"src":"57:102:15","usedErrors":[]}],"src":"32:128:15"},"id":15},"ado-contracts/contracts/interfaces/IERC2362.sol":{"ast":{"absolutePath":"ado-contracts/contracts/interfaces/IERC2362.sol","exportedSymbols":{"IERC2362":[3273]},"id":3274,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3259,"literals":["solidity",">=","0.5",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:16"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","documentation":{"id":3260,"nodeType":"StructuredDocumentation","src":"66:115:16","text":" @dev EIP2362 Interface for pull oracles\n https://github.com/adoracles/EIPs/blob/erc-2362/EIPS/eip-2362.md"},"fullyImplemented":false,"id":3273,"linearizedBaseContracts":[3273],"name":"IERC2362","nameLocation":"192:8:16","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":3261,"nodeType":"StructuredDocumentation","src":"204:182:16","text":" @dev Exposed function pertaining to EIP standards\n @param _id bytes32 ID of the query\n @return int,uint,uint returns the value, timestamp, and status code of query"},"functionSelector":"f78eea83","id":3272,"implemented":false,"kind":"function","modifiers":[],"name":"valueFor","nameLocation":"397:8:16","nodeType":"FunctionDefinition","parameters":{"id":3264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3263,"mutability":"mutable","name":"_id","nameLocation":"414:3:16","nodeType":"VariableDeclaration","scope":3272,"src":"406:11:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3262,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406:7:16","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"405:13:16"},"returnParameters":{"id":3271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3266,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3272,"src":"441:6:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3265,"name":"int256","nodeType":"ElementaryTypeName","src":"441:6:16","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":3268,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3272,"src":"448:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3267,"name":"uint256","nodeType":"ElementaryTypeName","src":"448:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3270,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3272,"src":"456:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3269,"name":"uint256","nodeType":"ElementaryTypeName","src":"456:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"440:24:16"},"scope":3273,"src":"388:77:16","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":3274,"src":"182:285:16","usedErrors":[]}],"src":"33:434:16"},"id":16},"contracts/APIConsumer.sol":{"ast":{"absolutePath":"contracts/APIConsumer.sol","exportedSymbols":{"APIConsumer":[3433],"BufferChainlink":[2800],"CBORChainlink":[3247],"Chainlink":[268],"ChainlinkClient":[861],"ChainlinkRequestInterface":[998],"ENSInterface":[1078],"ENSResolver_Chainlink":[3257],"LinkTokenInterface":[1192],"OperatorInterface":[1272],"OracleInterface":[1311],"PointerInterface":[1319]},"id":3434,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3275,"literals":["solidity","^","0.8",".7"],"nodeType":"PragmaDirective","src":"32:23:17"},{"absolutePath":"@chainlink/contracts/src/v0.8/ChainlinkClient.sol","file":"@chainlink/contracts/src/v0.8/ChainlinkClient.sol","id":3276,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3434,"sourceUnit":862,"src":"57:59:17","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":3278,"name":"ChainlinkClient","nodeType":"IdentifierPath","referencedDeclaration":861,"src":"288:15:17"},"id":3279,"nodeType":"InheritanceSpecifier","src":"288:15:17"}],"contractDependencies":[],"contractKind":"contract","documentation":{"id":3277,"nodeType":"StructuredDocumentation","src":"118:145:17","text":" @title The APIConsumer contract\n @notice An API Consumer contract that makes GET requests to obtain 24h trading volume of ETH in USD"},"fullyImplemented":true,"id":3433,"linearizedBaseContracts":[3433,861],"name":"APIConsumer","nameLocation":"273:11:17","nodeType":"ContractDefinition","nodes":[{"id":3283,"libraryName":{"id":3280,"name":"Chainlink","nodeType":"IdentifierPath","referencedDeclaration":268,"src":"316:9:17"},"nodeType":"UsingForDirective","src":"310:38:17","typeName":{"id":3282,"nodeType":"UserDefinedTypeName","pathNode":{"id":3281,"name":"Chainlink.Request","nodeType":"IdentifierPath","referencedDeclaration":25,"src":"330:17:17"},"referencedDeclaration":25,"src":"330:17:17","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_storage_ptr","typeString":"struct Chainlink.Request"}}},{"constant":false,"functionSelector":"c618a1e4","id":3285,"mutability":"mutable","name":"volume","nameLocation":"369:6:17","nodeType":"VariableDeclaration","scope":3433,"src":"354:21:17","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3284,"name":"uint256","nodeType":"ElementaryTypeName","src":"354:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"id":3287,"mutability":"immutable","name":"oracle","nameLocation":"407:6:17","nodeType":"VariableDeclaration","scope":3433,"src":"381:32:17","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3286,"name":"address","nodeType":"ElementaryTypeName","src":"381:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"constant":false,"id":3289,"mutability":"immutable","name":"jobId","nameLocation":"445:5:17","nodeType":"VariableDeclaration","scope":3433,"src":"419:31:17","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3288,"name":"bytes32","nodeType":"ElementaryTypeName","src":"419:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"constant":false,"id":3291,"mutability":"immutable","name":"fee","nameLocation":"482:3:17","nodeType":"VariableDeclaration","scope":3433,"src":"456:29:17","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3290,"name":"uint256","nodeType":"ElementaryTypeName","src":"456:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"anonymous":false,"id":3295,"name":"DataFullfilled","nameLocation":"498:14:17","nodeType":"EventDefinition","parameters":{"id":3294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3293,"indexed":false,"mutability":"mutable","name":"volume","nameLocation":"521:6:17","nodeType":"VariableDeclaration","scope":3295,"src":"513:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3292,"name":"uint256","nodeType":"ElementaryTypeName","src":"513:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"512:16:17"},"src":"492:37:17"},{"body":{"id":3335,"nodeType":"Block","src":"1323:216:17","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":3312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3307,"name":"_link","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3304,"src":"1337:5:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":3310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1354:1:17","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":3309,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1346:7:17","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3308,"name":"address","nodeType":"ElementaryTypeName","src":"1346:7:17","typeDescriptions":{}}},"id":3311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1346:10:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1337:19:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":3321,"nodeType":"Block","src":"1414:49:17","statements":[{"expression":{"arguments":[{"id":3318,"name":"_link","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3304,"src":"1446:5:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3317,"name":"setChainlinkToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":669,"src":"1428:17:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":3319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1428:24:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3320,"nodeType":"ExpressionStatement","src":"1428:24:17"}]},"id":3322,"nodeType":"IfStatement","src":"1333:130:17","trueBody":{"id":3316,"nodeType":"Block","src":"1358:50:17","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":3313,"name":"setPublicChainlinkToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":682,"src":"1372:23:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":3314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1372:25:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3315,"nodeType":"ExpressionStatement","src":"1372:25:17"}]}},{"expression":{"id":3325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3323,"name":"oracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"1472:6:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3324,"name":"_oracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3298,"src":"1481:7:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1472:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3326,"nodeType":"ExpressionStatement","src":"1472:16:17"},{"expression":{"id":3329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3327,"name":"jobId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3289,"src":"1498:5:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3328,"name":"_jobId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3300,"src":"1506:6:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1498:14:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":3330,"nodeType":"ExpressionStatement","src":"1498:14:17"},{"expression":{"id":3333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3331,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3291,"src":"1522:3:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3332,"name":"_fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3302,"src":"1528:4:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1522:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3334,"nodeType":"ExpressionStatement","src":"1522:10:17"}]},"documentation":{"id":3296,"nodeType":"StructuredDocumentation","src":"535:671:17","text":" @notice Executes once when a contract is created to initialize state variables\n @param _oracle - address of the specific Chainlink node that a contract makes an API call from\n @param _jobId - specific job for :_oracle: to run; each job is unique and returns different types of data\n @param _fee - node operator price per API call / data request\n @param _link - LINK token address on the corresponding network\n Network: Baobab\n Oracle: 0xfC3BdAbD8a6A73B40010350E2a61716a21c87610\n Job ID: ca98366cc7314957b8c012c72f05aeeb\n Fee: 0.1 LINK\n Link: 0x04c5046A1f4E3fFf094c26dFCAA75eF293932f18"},"id":3336,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":3305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3298,"mutability":"mutable","name":"_oracle","nameLocation":"1240:7:17","nodeType":"VariableDeclaration","scope":3336,"src":"1232:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3297,"name":"address","nodeType":"ElementaryTypeName","src":"1232:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3300,"mutability":"mutable","name":"_jobId","nameLocation":"1265:6:17","nodeType":"VariableDeclaration","scope":3336,"src":"1257:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3299,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1257:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":3302,"mutability":"mutable","name":"_fee","nameLocation":"1289:4:17","nodeType":"VariableDeclaration","scope":3336,"src":"1281:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3301,"name":"uint256","nodeType":"ElementaryTypeName","src":"1281:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3304,"mutability":"mutable","name":"_link","nameLocation":"1311:5:17","nodeType":"VariableDeclaration","scope":3336,"src":"1303:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3303,"name":"address","nodeType":"ElementaryTypeName","src":"1303:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1222:100:17"},"returnParameters":{"id":3306,"nodeType":"ParameterList","parameters":[],"src":"1323:0:17"},"scope":3433,"src":"1211:328:17","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":3406,"nodeType":"Block","src":"1893:1174:17","statements":[{"assignments":[3350],"declarations":[{"constant":false,"id":3350,"mutability":"mutable","name":"request","nameLocation":"1928:7:17","nodeType":"VariableDeclaration","scope":3406,"src":"1903:32:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request"},"typeName":{"id":3349,"nodeType":"UserDefinedTypeName","pathNode":{"id":3348,"name":"Chainlink.Request","nodeType":"IdentifierPath","referencedDeclaration":25,"src":"1903:17:17"},"referencedDeclaration":25,"src":"1903:17:17","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_storage_ptr","typeString":"struct Chainlink.Request"}},"visibility":"internal"}],"id":3361,"initialValue":{"arguments":[{"id":3352,"name":"jobId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3289,"src":"1973:5:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":3355,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2000:4:17","typeDescriptions":{"typeIdentifier":"t_contract$_APIConsumer_$3433","typeString":"contract APIConsumer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_APIConsumer_$3433","typeString":"contract APIConsumer"}],"id":3354,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1992:7:17","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3353,"name":"address","nodeType":"ElementaryTypeName","src":"1992:7:17","typeDescriptions":{}}},"id":3356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1992:13:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":3357,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2019:4:17","typeDescriptions":{"typeIdentifier":"t_contract$_APIConsumer_$3433","typeString":"contract APIConsumer"}},"id":3358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"fulfill","nodeType":"MemberAccess","referencedDeclaration":3427,"src":"2019:12:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256) external"}},"id":3359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"2019:21:17","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":3351,"name":"buildChainlinkRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":373,"src":"1938:21:17","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_address_$_t_bytes4_$returns$_t_struct$_Request_$25_memory_ptr_$","typeString":"function (bytes32,address,bytes4) pure returns (struct Chainlink.Request memory)"}},"id":3360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1938:112:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"nodeType":"VariableDeclarationStatement","src":"1903:147:17"},{"expression":{"arguments":[{"hexValue":"676574","id":3365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2139:5:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_6817c00f03de8b5bd58d2016b59d251c13056b989171c5852949903bc043bc27","typeString":"literal_string \"get\""},"value":"get"},{"arguments":[{"arguments":[{"hexValue":"68747470733a2f2f6d696e2d6170692e63727970746f636f6d706172652e636f6d2f646174612f70726963656d756c746966756c6c3f6673796d733d","id":3370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2182:62:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_00bc081eadf40ed0dc7879af2269c622702c3e724c853277939febcc318c7ca0","typeString":"literal_string \"https://min-api.cryptocompare.com/data/pricemultifull?fsyms=\""},"value":"https://min-api.cryptocompare.com/data/pricemultifull?fsyms="},{"id":3371,"name":"_coinSymbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3339,"src":"2246:11:17","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"267473796d733d555344","id":3372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2259:12:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_7777c48c3199be13e96617288cd8bbab12953c2d243403b37a69369245a376d4","typeString":"literal_string \"&tsyms=USD\""},"value":"&tsyms=USD"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_00bc081eadf40ed0dc7879af2269c622702c3e724c853277939febcc318c7ca0","typeString":"literal_string \"https://min-api.cryptocompare.com/data/pricemultifull?fsyms=\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_7777c48c3199be13e96617288cd8bbab12953c2d243403b37a69369245a376d4","typeString":"literal_string \"&tsyms=USD\""}],"expression":{"id":3368,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2165:3:17","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"2165:16:17","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2165:107:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3367,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2158:6:17","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3366,"name":"string","nodeType":"ElementaryTypeName","src":"2158:6:17","typeDescriptions":{}}},"id":3374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2158:115:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6817c00f03de8b5bd58d2016b59d251c13056b989171c5852949903bc043bc27","typeString":"literal_string \"get\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3362,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3350,"src":"2114:7:17","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":3364,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":125,"src":"2114:11:17","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Request_$25_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$bound_to$_t_struct$_Request_$25_memory_ptr_$","typeString":"function (struct Chainlink.Request memory,string memory,string memory) pure"}},"id":3375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2114:169:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3376,"nodeType":"ExpressionStatement","src":"2114:169:17"},{"expression":{"arguments":[{"hexValue":"70617468","id":3380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2704:6:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_46f9db2921f88204395f1f47d741736216b2218e88e47f50e1f1b56261f0d0cd","typeString":"literal_string \"path\""},"value":"path"},{"hexValue":"5241572c4b4c41592c5553442c564f4c554d453234484f5552","id":3381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2712:27:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_a2bbb335e7755256d493c8f48f5be1feba55d1fbafcc4b7e1d6b75a090df8f99","typeString":"literal_string \"RAW,KLAY,USD,VOLUME24HOUR\""},"value":"RAW,KLAY,USD,VOLUME24HOUR"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46f9db2921f88204395f1f47d741736216b2218e88e47f50e1f1b56261f0d0cd","typeString":"literal_string \"path\""},{"typeIdentifier":"t_stringliteral_a2bbb335e7755256d493c8f48f5be1feba55d1fbafcc4b7e1d6b75a090df8f99","typeString":"literal_string \"RAW,KLAY,USD,VOLUME24HOUR\""}],"expression":{"id":3377,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3350,"src":"2692:7:17","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":3379,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":125,"src":"2692:11:17","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Request_$25_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$bound_to$_t_struct$_Request_$25_memory_ptr_$","typeString":"function (struct Chainlink.Request memory,string memory,string memory) pure"}},"id":3382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2692:48:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3383,"nodeType":"ExpressionStatement","src":"2692:48:17"},{"assignments":[3385],"declarations":[{"constant":false,"id":3385,"mutability":"mutable","name":"timesAmount","nameLocation":"2884:11:17","nodeType":"VariableDeclaration","scope":3406,"src":"2877:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3384,"name":"int256","nodeType":"ElementaryTypeName","src":"2877:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":3392,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2905:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":3389,"name":"_coinDecimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3341,"src":"2909:13:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"2905:17:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2898:6:17","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":3386,"name":"int256","nodeType":"ElementaryTypeName","src":"2898:6:17","typeDescriptions":{}}},"id":3391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2898:25:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"2877:46:17"},{"expression":{"arguments":[{"hexValue":"74696d6573","id":3396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2948:7:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_0bfab8028df7ddaceaf0a173b093c1269c5dd964bbe8cc0c6b210e554970802b","typeString":"literal_string \"times\""},"value":"times"},{"id":3397,"name":"timesAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3385,"src":"2957:11:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0bfab8028df7ddaceaf0a173b093c1269c5dd964bbe8cc0c6b210e554970802b","typeString":"literal_string \"times\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":3393,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3350,"src":"2933:7:17","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},"id":3395,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"addInt","nodeType":"MemberAccess","referencedDeclaration":181,"src":"2933:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Request_$25_memory_ptr_$_t_string_memory_ptr_$_t_int256_$returns$__$bound_to$_t_struct$_Request_$25_memory_ptr_$","typeString":"function (struct Chainlink.Request memory,string memory,int256) pure"}},"id":3398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2933:36:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3399,"nodeType":"ExpressionStatement","src":"2933:36:17"},{"expression":{"arguments":[{"id":3401,"name":"oracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"3039:6:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3402,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3350,"src":"3047:7:17","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"}},{"id":3403,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3291,"src":"3056:3:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Request_$25_memory_ptr","typeString":"struct Chainlink.Request memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3400,"name":"sendChainlinkRequestTo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":477,"src":"3016:22:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_Request_$25_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (address,struct Chainlink.Request memory,uint256) returns (bytes32)"}},"id":3404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3016:44:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":3345,"id":3405,"nodeType":"Return","src":"3009:51:17"}]},"documentation":{"id":3337,"nodeType":"StructuredDocumentation","src":"1545:233:17","text":" @notice Creates a Chainlink request to retrieve API response, find the target\n data, then multiply by 10*_coinDecimals (to remove decimal places from data).\n @return requestId - id of the request"},"functionSelector":"ca7baee4","id":3407,"implemented":true,"kind":"function","modifiers":[],"name":"requestVolumeData","nameLocation":"1792:17:17","nodeType":"FunctionDefinition","parameters":{"id":3342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3339,"mutability":"mutable","name":"_coinSymbol","nameLocation":"1824:11:17","nodeType":"VariableDeclaration","scope":3407,"src":"1810:25:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3338,"name":"string","nodeType":"ElementaryTypeName","src":"1810:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3341,"mutability":"mutable","name":"_coinDecimals","nameLocation":"1843:13:17","nodeType":"VariableDeclaration","scope":3407,"src":"1837:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3340,"name":"uint8","nodeType":"ElementaryTypeName","src":"1837:5:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"1809:48:17"},"returnParameters":{"id":3345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3344,"mutability":"mutable","name":"requestId","nameLocation":"1882:9:17","nodeType":"VariableDeclaration","scope":3407,"src":"1874:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3343,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1874:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1873:19:17"},"scope":3433,"src":"1783:1284:17","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":3426,"nodeType":"Block","src":"3398:70:17","statements":[{"expression":{"id":3420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3418,"name":"volume","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3285,"src":"3408:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3419,"name":"_volume","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3412,"src":"3417:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3408:16:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3421,"nodeType":"ExpressionStatement","src":"3408:16:17"},{"eventCall":{"arguments":[{"id":3423,"name":"volume","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3285,"src":"3454:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3422,"name":"DataFullfilled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3295,"src":"3439:14:17","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":3424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3439:22:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3425,"nodeType":"EmitStatement","src":"3434:27:17"}]},"documentation":{"id":3408,"nodeType":"StructuredDocumentation","src":"3073:200:17","text":" @notice Receives the response in the form of uint256\n @param _requestId - id of the request\n @param _volume - response; requested 24h trading volume of ETH in USD"},"functionSelector":"4357855e","id":3427,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":3415,"name":"_requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3410,"src":"3382:10:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":3416,"kind":"modifierInvocation","modifierName":{"id":3414,"name":"recordChainlinkFulfillment","nodeType":"IdentifierPath","referencedDeclaration":841,"src":"3355:26:17"},"nodeType":"ModifierInvocation","src":"3355:38:17"}],"name":"fulfill","nameLocation":"3287:7:17","nodeType":"FunctionDefinition","parameters":{"id":3413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3410,"mutability":"mutable","name":"_requestId","nameLocation":"3303:10:17","nodeType":"VariableDeclaration","scope":3427,"src":"3295:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3409,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3295:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":3412,"mutability":"mutable","name":"_volume","nameLocation":"3323:7:17","nodeType":"VariableDeclaration","scope":3427,"src":"3315:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3411,"name":"uint256","nodeType":"ElementaryTypeName","src":"3315:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3294:37:17"},"returnParameters":{"id":3417,"nodeType":"ParameterList","parameters":[],"src":"3398:0:17"},"scope":3433,"src":"3278:190:17","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":3431,"nodeType":"Block","src":"3655:2:17","statements":[]},"documentation":{"id":3428,"nodeType":"StructuredDocumentation","src":"3474:143:17","text":" @notice Witdraws LINK from the contract\n @dev Implement a withdraw function to avoid locking your LINK in the contract"},"functionSelector":"8dc654a2","id":3432,"implemented":true,"kind":"function","modifiers":[],"name":"withdrawLink","nameLocation":"3631:12:17","nodeType":"FunctionDefinition","parameters":{"id":3429,"nodeType":"ParameterList","parameters":[],"src":"3643:2:17"},"returnParameters":{"id":3430,"nodeType":"ParameterList","parameters":[],"src":"3655:0:17"},"scope":3433,"src":"3622:35:17","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":3434,"src":"264:3395:17","usedErrors":[]}],"src":"32:3628:17"},"id":17},"contracts/KeepersCounter.sol":{"ast":{"absolutePath":"contracts/KeepersCounter.sol","exportedSymbols":{"KeeperCompatibleInterface":[1097],"KeepersCounter":[3520]},"id":3521,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3435,"literals":["solidity","^","0.8",".7"],"nodeType":"PragmaDirective","src":"32:23:18"},{"absolutePath":"@chainlink/contracts/src/v0.8/interfaces/KeeperCompatibleInterface.sol","file":"@chainlink/contracts/src/v0.8/interfaces/KeeperCompatibleInterface.sol","id":3436,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3521,"sourceUnit":1098,"src":"57:80:18","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":3438,"name":"KeeperCompatibleInterface","nodeType":"IdentifierPath","referencedDeclaration":1097,"src":"303:25:18"},"id":3439,"nodeType":"InheritanceSpecifier","src":"303:25:18"}],"contractDependencies":[],"contractKind":"contract","documentation":{"id":3437,"nodeType":"StructuredDocumentation","src":"139:136:18","text":" @title The Counter contract\n @notice  A keeper-compatible contract that increments counter variable at fixed time intervals"},"fullyImplemented":true,"id":3520,"linearizedBaseContracts":[3520,1097],"name":"KeepersCounter","nameLocation":"285:14:18","nodeType":"ContractDefinition","nodes":[{"constant":false,"documentation":{"id":3440,"nodeType":"StructuredDocumentation","src":"333:38:18","text":" Public counter variable"},"functionSelector":"61bc221a","id":3442,"mutability":"mutable","name":"counter","nameLocation":"389:7:18","nodeType":"VariableDeclaration","scope":3520,"src":"374:22:18","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3441,"name":"uint256","nodeType":"ElementaryTypeName","src":"374:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"documentation":{"id":3443,"nodeType":"StructuredDocumentation","src":"401:85:18","text":" Use an interval in seconds and a timestamp to slow execution of Upkeep"},"functionSelector":"947a36fb","id":3445,"mutability":"immutable","name":"interval","nameLocation":"514:8:18","nodeType":"VariableDeclaration","scope":3520,"src":"489:33:18","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3444,"name":"uint256","nodeType":"ElementaryTypeName","src":"489:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"functionSelector":"3f3b3b27","id":3447,"mutability":"mutable","name":"lastTimeStamp","nameLocation":"541:13:18","nodeType":"VariableDeclaration","scope":3520,"src":"526:28:18","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3446,"name":"uint256","nodeType":"ElementaryTypeName","src":"526:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"body":{"id":3466,"nodeType":"Block","src":"805:91:18","statements":[{"expression":{"id":3455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3453,"name":"interval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3445,"src":"811:8:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3454,"name":"updateInterval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3450,"src":"822:14:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"811:25:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3456,"nodeType":"ExpressionStatement","src":"811:25:18"},{"expression":{"id":3460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3457,"name":"lastTimeStamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3447,"src":"842:13:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":3458,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"858:5:18","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":3459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"858:15:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"842:31:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3461,"nodeType":"ExpressionStatement","src":"842:31:18"},{"expression":{"id":3464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3462,"name":"counter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3442,"src":"880:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":3463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"890:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"880:11:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3465,"nodeType":"ExpressionStatement","src":"880:11:18"}]},"documentation":{"id":3448,"nodeType":"StructuredDocumentation","src":"559:207:18","text":" @notice Executes once when a contract is created to initialize state variables\n @param updateInterval - Period of time between two counter increments expressed as UNIX timestamp value"},"id":3467,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":3451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3450,"mutability":"mutable","name":"updateInterval","nameLocation":"789:14:18","nodeType":"VariableDeclaration","scope":3467,"src":"781:22:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3449,"name":"uint256","nodeType":"ElementaryTypeName","src":"781:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"780:24:18"},"returnParameters":{"id":3452,"nodeType":"ParameterList","parameters":[],"src":"805:0:18"},"scope":3520,"src":"769:127:18","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[1090],"body":{"id":3488,"nodeType":"Block","src":"1149:178:18","statements":[{"expression":{"id":3486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3478,"name":"upkeepNeeded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3474,"src":"1155:12:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3479,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1171:5:18","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":3480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"1171:15:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":3481,"name":"lastTimeStamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3447,"src":"1189:13:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1171:31:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":3483,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1170:33:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":3484,"name":"interval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3445,"src":"1206:8:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1170:44:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1155:59:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3487,"nodeType":"ExpressionStatement","src":"1155:59:18"}]},"documentation":{"id":3468,"nodeType":"StructuredDocumentation","src":"900:70:18","text":" @notice Checks if the contract requires work to be done"},"functionSelector":"6e04ff0d","id":3489,"implemented":true,"kind":"function","modifiers":[],"name":"checkUpkeep","nameLocation":"982:11:18","nodeType":"FunctionDefinition","overrides":{"id":3472,"nodeType":"OverrideSpecifier","overrides":[],"src":"1056:8:18"},"parameters":{"id":3471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3470,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3489,"src":"999:12:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3469,"name":"bytes","nodeType":"ElementaryTypeName","src":"999:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"993:38:18"},"returnParameters":{"id":3477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3474,"mutability":"mutable","name":"upkeepNeeded","nameLocation":"1090:12:18","nodeType":"VariableDeclaration","scope":3489,"src":"1085:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3473,"name":"bool","nodeType":"ElementaryTypeName","src":"1085:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3476,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3489,"src":"1110:12:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3475,"name":"bytes","nodeType":"ElementaryTypeName","src":"1110:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1077:69:18"},"scope":3520,"src":"973:354:18","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[1096],"body":{"id":3518,"nodeType":"Block","src":"1507:328:18","statements":[{"assignments":[3497,null],"declarations":[{"constant":false,"id":3497,"mutability":"mutable","name":"upkeepNeeded","nameLocation":"1548:12:18","nodeType":"VariableDeclaration","scope":3518,"src":"1543:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3496,"name":"bool","nodeType":"ElementaryTypeName","src":"1543:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":3501,"initialValue":{"arguments":[{"hexValue":"","id":3499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1578:2:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":3498,"name":"checkUpkeep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3489,"src":"1566:11:18","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":3500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1566:15:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"1542:39:18"},{"expression":{"arguments":[{"id":3503,"name":"upkeepNeeded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3497,"src":"1595:12:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"54696d6520696e74657276616c206e6f74206d6574","id":3504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1609:23:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4","typeString":"literal_string \"Time interval not met\""},"value":"Time interval not met"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4","typeString":"literal_string \"Time interval not met\""}],"id":3502,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1587:7:18","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1587:46:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3506,"nodeType":"ExpressionStatement","src":"1587:46:18"},{"expression":{"id":3510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3507,"name":"lastTimeStamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3447,"src":"1640:13:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":3508,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1656:5:18","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":3509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"1656:15:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1640:31:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3511,"nodeType":"ExpressionStatement","src":"1640:31:18"},{"expression":{"id":3516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3512,"name":"counter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3442,"src":"1677:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3513,"name":"counter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3442,"src":"1687:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":3514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1697:1:18","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1687:11:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1677:21:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3517,"nodeType":"ExpressionStatement","src":"1677:21:18"}]},"documentation":{"id":3490,"nodeType":"StructuredDocumentation","src":"1331:90:18","text":" @notice Performs the work on the contract, if instructed by :checkUpkeep():"},"functionSelector":"4585e33b","id":3519,"implemented":true,"kind":"function","modifiers":[],"name":"performUpkeep","nameLocation":"1433:13:18","nodeType":"FunctionDefinition","overrides":{"id":3494,"nodeType":"OverrideSpecifier","overrides":[],"src":"1498:8:18"},"parameters":{"id":3493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3492,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3519,"src":"1452:14:18","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":3491,"name":"bytes","nodeType":"ElementaryTypeName","src":"1452:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1446:42:18"},"returnParameters":{"id":3495,"nodeType":"ParameterList","parameters":[],"src":"1507:0:18"},"scope":3520,"src":"1424:411:18","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":3521,"src":"276:1561:18","usedErrors":[]}],"src":"32:1806:18"},"id":18},"contracts/PriceConsumerV3.sol":{"ast":{"absolutePath":"contracts/PriceConsumerV3.sol","exportedSymbols":{"AggregatorV3Interface":[965],"PriceConsumerV3":[3587]},"id":3588,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3522,"literals":["solidity","^","0.8",".7"],"nodeType":"PragmaDirective","src":"32:23:19"},{"absolutePath":"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol","file":"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol","id":3523,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3588,"sourceUnit":966,"src":"57:76:19","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":{"id":3524,"nodeType":"StructuredDocumentation","src":"135:120:19","text":" @title The PriceConsumerV3 contract\n @notice Acontract that returns latest price from Chainlink Price Feeds"},"fullyImplemented":true,"id":3587,"linearizedBaseContracts":[3587],"name":"PriceConsumerV3","nameLocation":"265:15:19","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":3527,"mutability":"mutable","name":"priceFeed","nameLocation":"318:9:19","nodeType":"VariableDeclaration","scope":3587,"src":"287:40:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AggregatorV3Interface_$965","typeString":"contract AggregatorV3Interface"},"typeName":{"id":3526,"nodeType":"UserDefinedTypeName","pathNode":{"id":3525,"name":"AggregatorV3Interface","nodeType":"IdentifierPath","referencedDeclaration":965,"src":"287:21:19"},"referencedDeclaration":965,"src":"287:21:19","typeDescriptions":{"typeIdentifier":"t_contract$_AggregatorV3Interface_$965","typeString":"contract AggregatorV3Interface"}},"visibility":"internal"},{"body":{"id":3539,"nodeType":"Block","src":"724:62:19","statements":[{"expression":{"id":3537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3533,"name":"priceFeed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3527,"src":"734:9:19","typeDescriptions":{"typeIdentifier":"t_contract$_AggregatorV3Interface_$965","typeString":"contract AggregatorV3Interface"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3535,"name":"_priceFeed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3530,"src":"768:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3534,"name":"AggregatorV3Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":965,"src":"746:21:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AggregatorV3Interface_$965_$","typeString":"type(contract AggregatorV3Interface)"}},"id":3536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"746:33:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AggregatorV3Interface_$965","typeString":"contract AggregatorV3Interface"}},"src":"734:45:19","typeDescriptions":{"typeIdentifier":"t_contract$_AggregatorV3Interface_$965","typeString":"contract AggregatorV3Interface"}},"id":3538,"nodeType":"ExpressionStatement","src":"734:45:19"}]},"documentation":{"id":3528,"nodeType":"StructuredDocumentation","src":"334:353:19","text":" @notice Executes once when a contract is created to initialize state variables\n @param _priceFeed - Price Feed Address. Refer here https://docs.chain.link/data-feeds/price-feeds/addresses/?network=klaytn\n Network: Baobab\n Aggregator: LINK/KLAY\n Address: 0xf49f81b3d2F2a79b706621FA2D5934136352140c"},"id":3540,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":3531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3530,"mutability":"mutable","name":"_priceFeed","nameLocation":"712:10:19","nodeType":"VariableDeclaration","scope":3540,"src":"704:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3529,"name":"address","nodeType":"ElementaryTypeName","src":"704:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"703:20:19"},"returnParameters":{"id":3532,"nodeType":"ParameterList","parameters":[],"src":"724:0:19"},"scope":3587,"src":"692:94:19","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":3552,"nodeType":"Block","src":"1056:62:19","statements":[{"expression":{"id":3550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3546,"name":"priceFeed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3527,"src":"1066:9:19","typeDescriptions":{"typeIdentifier":"t_contract$_AggregatorV3Interface_$965","typeString":"contract AggregatorV3Interface"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3548,"name":"_priceFeed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3543,"src":"1100:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3547,"name":"AggregatorV3Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":965,"src":"1078:21:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AggregatorV3Interface_$965_$","typeString":"type(contract AggregatorV3Interface)"}},"id":3549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1078:33:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AggregatorV3Interface_$965","typeString":"contract AggregatorV3Interface"}},"src":"1066:45:19","typeDescriptions":{"typeIdentifier":"t_contract$_AggregatorV3Interface_$965","typeString":"contract AggregatorV3Interface"}},"id":3551,"nodeType":"ExpressionStatement","src":"1066:45:19"}]},"documentation":{"id":3541,"nodeType":"StructuredDocumentation","src":"792:207:19","text":" @notice Changes price feed address\n \n @param _priceFeed - Price Feed Address. Refer here https://docs.chain.link/data-feeds/price-feeds/addresses/?network=klaytn\n "},"functionSelector":"cbd3df38","id":3553,"implemented":true,"kind":"function","modifiers":[],"name":"changePriceFeed","nameLocation":"1013:15:19","nodeType":"FunctionDefinition","parameters":{"id":3544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3543,"mutability":"mutable","name":"_priceFeed","nameLocation":"1037:10:19","nodeType":"VariableDeclaration","scope":3553,"src":"1029:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3542,"name":"address","nodeType":"ElementaryTypeName","src":"1029:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1028:20:19"},"returnParameters":{"id":3545,"nodeType":"ParameterList","parameters":[],"src":"1056:0:19"},"scope":3587,"src":"1004:114:19","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":3575,"nodeType":"Block","src":"1270:231:19","statements":[{"assignments":[3560,3562,3564,3566,3568],"declarations":[{"constant":false,"id":3560,"mutability":"mutable","name":"roundID","nameLocation":"1301:7:19","nodeType":"VariableDeclaration","scope":3575,"src":"1294:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"},"typeName":{"id":3559,"name":"uint80","nodeType":"ElementaryTypeName","src":"1294:6:19","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"visibility":"internal"},{"constant":false,"id":3562,"mutability":"mutable","name":"price","nameLocation":"1329:5:19","nodeType":"VariableDeclaration","scope":3575,"src":"1322:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3561,"name":"int256","nodeType":"ElementaryTypeName","src":"1322:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":3564,"mutability":"mutable","name":"startedAt","nameLocation":"1356:9:19","nodeType":"VariableDeclaration","scope":3575,"src":"1348:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3563,"name":"uint256","nodeType":"ElementaryTypeName","src":"1348:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3566,"mutability":"mutable","name":"timeStamp","nameLocation":"1387:9:19","nodeType":"VariableDeclaration","scope":3575,"src":"1379:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3565,"name":"uint256","nodeType":"ElementaryTypeName","src":"1379:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3568,"mutability":"mutable","name":"answeredInRound","nameLocation":"1417:15:19","nodeType":"VariableDeclaration","scope":3575,"src":"1410:22:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"},"typeName":{"id":3567,"name":"uint80","nodeType":"ElementaryTypeName","src":"1410:6:19","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"visibility":"internal"}],"id":3572,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3569,"name":"priceFeed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3527,"src":"1445:9:19","typeDescriptions":{"typeIdentifier":"t_contract$_AggregatorV3Interface_$965","typeString":"contract AggregatorV3Interface"}},"id":3570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"latestRoundData","nodeType":"MemberAccess","referencedDeclaration":964,"src":"1445:25:19","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint80_$_t_int256_$_t_uint256_$_t_uint256_$_t_uint80_$","typeString":"function () view external returns (uint80,int256,uint256,uint256,uint80)"}},"id":3571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1445:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint80_$_t_int256_$_t_uint256_$_t_uint256_$_t_uint80_$","typeString":"tuple(uint80,int256,uint256,uint256,uint80)"}},"nodeType":"VariableDeclarationStatement","src":"1280:192:19"},{"expression":{"id":3573,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3562,"src":"1489:5:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":3558,"id":3574,"nodeType":"Return","src":"1482:12:19"}]},"documentation":{"id":3554,"nodeType":"StructuredDocumentation","src":"1124:86:19","text":" @notice Returns the latest price\n @return latest price"},"functionSelector":"8e15f473","id":3576,"implemented":true,"kind":"function","modifiers":[],"name":"getLatestPrice","nameLocation":"1224:14:19","nodeType":"FunctionDefinition","parameters":{"id":3555,"nodeType":"ParameterList","parameters":[],"src":"1238:2:19"},"returnParameters":{"id":3558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3557,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3576,"src":"1262:6:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3556,"name":"int256","nodeType":"ElementaryTypeName","src":"1262:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1261:8:19"},"scope":3587,"src":"1215:286:19","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":3585,"nodeType":"Block","src":"1683:33:19","statements":[{"expression":{"id":3583,"name":"priceFeed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3527,"src":"1700:9:19","typeDescriptions":{"typeIdentifier":"t_contract$_AggregatorV3Interface_$965","typeString":"contract AggregatorV3Interface"}},"functionReturnParameters":3582,"id":3584,"nodeType":"Return","src":"1693:16:19"}]},"documentation":{"id":3577,"nodeType":"StructuredDocumentation","src":"1512:98:19","text":" @notice Returns the Price Feed address\n @return Price Feed address"},"functionSelector":"9e87a5cd","id":3586,"implemented":true,"kind":"function","modifiers":[],"name":"getPriceFeed","nameLocation":"1624:12:19","nodeType":"FunctionDefinition","parameters":{"id":3578,"nodeType":"ParameterList","parameters":[],"src":"1636:2:19"},"returnParameters":{"id":3582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3581,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3586,"src":"1660:21:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AggregatorV3Interface_$965","typeString":"contract AggregatorV3Interface"},"typeName":{"id":3580,"nodeType":"UserDefinedTypeName","pathNode":{"id":3579,"name":"AggregatorV3Interface","nodeType":"IdentifierPath","referencedDeclaration":965,"src":"1660:21:19"},"referencedDeclaration":965,"src":"1660:21:19","typeDescriptions":{"typeIdentifier":"t_contract$_AggregatorV3Interface_$965","typeString":"contract AggregatorV3Interface"}},"visibility":"internal"}],"src":"1659:23:19"},"scope":3587,"src":"1615:101:19","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":3588,"src":"256:1462:19","usedErrors":[]}],"src":"32:1687:19"},"id":19},"contracts/RandomNumberConsumerV2.sol":{"ast":{"absolutePath":"contracts/RandomNumberConsumerV2.sol","exportedSymbols":{"RandomNumberConsumerV2":[3713],"VRFConsumerBaseV2":[919],"VRFCoordinatorV2Interface":[1415]},"id":3714,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3589,"literals":["solidity","^","0.8",".7"],"nodeType":"PragmaDirective","src":"112:23:20"},{"absolutePath":"@chainlink/contracts/src/v0.8/interfaces/VRFCoordinatorV2Interface.sol","file":"@chainlink/contracts/src/v0.8/interfaces/VRFCoordinatorV2Interface.sol","id":3590,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3714,"sourceUnit":1416,"src":"137:80:20","symbolAliases":[],"unitAlias":""},{"absolutePath":"@chainlink/contracts/src/v0.8/VRFConsumerBaseV2.sol","file":"@chainlink/contracts/src/v0.8/VRFConsumerBaseV2.sol","id":3591,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3714,"sourceUnit":920,"src":"218:61:20","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":3593,"name":"VRFConsumerBaseV2","nodeType":"IdentifierPath","referencedDeclaration":919,"src":"438:17:20"},"id":3594,"nodeType":"InheritanceSpecifier","src":"438:17:20"}],"contractDependencies":[],"contractKind":"contract","documentation":{"id":3592,"nodeType":"StructuredDocumentation","src":"281:121:20","text":" @title The RandomNumberConsumerV2 contract\n @notice A contract that gets random values from Chainlink VRF V2"},"fullyImplemented":true,"id":3713,"linearizedBaseContracts":[3713,919],"name":"RandomNumberConsumerV2","nameLocation":"412:22:20","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":3597,"mutability":"immutable","name":"COORDINATOR","nameLocation":"496:11:20","nodeType":"VariableDeclaration","scope":3713,"src":"460:47:20","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VRFCoordinatorV2Interface_$1415","typeString":"contract VRFCoordinatorV2Interface"},"typeName":{"id":3596,"nodeType":"UserDefinedTypeName","pathNode":{"id":3595,"name":"VRFCoordinatorV2Interface","nodeType":"IdentifierPath","referencedDeclaration":1415,"src":"460:25:20"},"referencedDeclaration":1415,"src":"460:25:20","typeDescriptions":{"typeIdentifier":"t_contract$_VRFCoordinatorV2Interface_$1415","typeString":"contract VRFCoordinatorV2Interface"}},"visibility":"internal"},{"constant":false,"id":3599,"mutability":"immutable","name":"s_subscriptionId","nameLocation":"556:16:20","nodeType":"VariableDeclaration","scope":3713,"src":"539:33:20","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":3598,"name":"uint64","nodeType":"ElementaryTypeName","src":"539:6:20","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":3601,"mutability":"immutable","name":"s_keyHash","nameLocation":"795:9:20","nodeType":"VariableDeclaration","scope":3713,"src":"777:27:20","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3600,"name":"bytes32","nodeType":"ElementaryTypeName","src":"777:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":true,"id":3604,"mutability":"constant","name":"CALLBACK_GAS_LIMIT","nameLocation":"1223:18:20","nodeType":"VariableDeclaration","scope":3713,"src":"1207:43:20","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":3602,"name":"uint32","nodeType":"ElementaryTypeName","src":"1207:6:20","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"value":{"hexValue":"313030303030","id":3603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1244:6:20","typeDescriptions":{"typeIdentifier":"t_rational_100000_by_1","typeString":"int_const 100000"},"value":"100000"},"visibility":"internal"},{"constant":true,"id":3607,"mutability":"constant","name":"REQUEST_CONFIRMATIONS","nameLocation":"1323:21:20","nodeType":"VariableDeclaration","scope":3713,"src":"1307:41:20","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":3605,"name":"uint16","nodeType":"ElementaryTypeName","src":"1307:6:20","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"33","id":3606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1347:1:20","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"internal"},{"constant":false,"functionSelector":"f6eaffc8","id":3610,"mutability":"mutable","name":"s_randomWords","nameLocation":"1370:13:20","nodeType":"VariableDeclaration","scope":3713,"src":"1353:30:20","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[]"},"typeName":{"baseType":{"id":3608,"name":"uint256","nodeType":"ElementaryTypeName","src":"1353:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3609,"nodeType":"ArrayTypeName","src":"1353:9:20","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"public"},{"constant":false,"functionSelector":"e89e106a","id":3612,"mutability":"mutable","name":"s_requestId","nameLocation":"1402:11:20","nodeType":"VariableDeclaration","scope":3713,"src":"1387:26:20","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3611,"name":"uint256","nodeType":"ElementaryTypeName","src":"1387:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"id":3614,"mutability":"mutable","name":"s_owner","nameLocation":"1425:7:20","nodeType":"VariableDeclaration","scope":3713,"src":"1417:15:20","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3613,"name":"address","nodeType":"ElementaryTypeName","src":"1417:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"anonymous":false,"id":3619,"name":"ReturnedRandomness","nameLocation":"1443:18:20","nodeType":"EventDefinition","parameters":{"id":3618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3617,"indexed":false,"mutability":"mutable","name":"randomWords","nameLocation":"1472:11:20","nodeType":"VariableDeclaration","scope":3619,"src":"1462:21:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":3615,"name":"uint256","nodeType":"ElementaryTypeName","src":"1462:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3616,"nodeType":"ArrayTypeName","src":"1462:9:20","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1461:23:20"},"src":"1437:48:20"},{"body":{"id":3651,"nodeType":"Block","src":"1977:156:20","statements":[{"expression":{"id":3636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3632,"name":"COORDINATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3597,"src":"1983:11:20","typeDescriptions":{"typeIdentifier":"t_contract$_VRFCoordinatorV2Interface_$1415","typeString":"contract VRFCoordinatorV2Interface"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3634,"name":"vrfCoordinator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3624,"src":"2023:14:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3633,"name":"VRFCoordinatorV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1415,"src":"1997:25:20","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VRFCoordinatorV2Interface_$1415_$","typeString":"type(contract VRFCoordinatorV2Interface)"}},"id":3635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1997:41:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VRFCoordinatorV2Interface_$1415","typeString":"contract VRFCoordinatorV2Interface"}},"src":"1983:55:20","typeDescriptions":{"typeIdentifier":"t_contract$_VRFCoordinatorV2Interface_$1415","typeString":"contract VRFCoordinatorV2Interface"}},"id":3637,"nodeType":"ExpressionStatement","src":"1983:55:20"},{"expression":{"id":3640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3638,"name":"s_keyHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3601,"src":"2044:9:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3639,"name":"keyHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3626,"src":"2056:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2044:19:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":3641,"nodeType":"ExpressionStatement","src":"2044:19:20"},{"expression":{"id":3645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3642,"name":"s_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3614,"src":"2069:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":3643,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2079:3:20","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"2079:10:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2069:20:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3646,"nodeType":"ExpressionStatement","src":"2069:20:20"},{"expression":{"id":3649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3647,"name":"s_subscriptionId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3599,"src":"2095:16:20","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3648,"name":"subscriptionId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3622,"src":"2114:14:20","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"2095:33:20","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":3650,"nodeType":"ExpressionStatement","src":"2095:33:20"}]},"documentation":{"id":3620,"nodeType":"StructuredDocumentation","src":"1489:359:20","text":" @notice Constructor inherits VRFConsumerBaseV2\n @param subscriptionId - the subscription ID that this contract uses for funding requests\n @param vrfCoordinator - coordinator, check https://docs.chain.link/docs/vrf-contracts/#configurations\n @param keyHash - the gas lane to use, which specifies the maximum gas price to bump to"},"id":3652,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":3629,"name":"vrfCoordinator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3624,"src":"1961:14:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":3630,"kind":"baseConstructorSpecifier","modifierName":{"id":3628,"name":"VRFConsumerBaseV2","nodeType":"IdentifierPath","referencedDeclaration":919,"src":"1943:17:20"},"nodeType":"ModifierInvocation","src":"1943:33:20"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":3627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3622,"mutability":"mutable","name":"subscriptionId","nameLocation":"1875:14:20","nodeType":"VariableDeclaration","scope":3652,"src":"1868:21:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":3621,"name":"uint64","nodeType":"ElementaryTypeName","src":"1868:6:20","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":3624,"mutability":"mutable","name":"vrfCoordinator","nameLocation":"1903:14:20","nodeType":"VariableDeclaration","scope":3652,"src":"1895:22:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3623,"name":"address","nodeType":"ElementaryTypeName","src":"1895:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3626,"mutability":"mutable","name":"keyHash","nameLocation":"1931:7:20","nodeType":"VariableDeclaration","scope":3652,"src":"1923:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3625,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1923:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1862:80:20"},"returnParameters":{"id":3631,"nodeType":"ParameterList","parameters":[],"src":"1977:0:20"},"scope":3713,"src":"1851:282:20","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":3661,"nodeType":"Block","src":"2252:38:20","statements":[{"expression":{"expression":{"id":3658,"name":"s_randomWords","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3610,"src":"2265:13:20","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":3659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2265:20:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3657,"id":3660,"nodeType":"Return","src":"2258:27:20"}]},"documentation":{"id":3653,"nodeType":"StructuredDocumentation","src":"2137:51:20","text":" @return Length of random words array"},"functionSelector":"705a050b","id":3662,"implemented":true,"kind":"function","modifiers":[],"name":"getRandomWordsCount","nameLocation":"2200:19:20","nodeType":"FunctionDefinition","parameters":{"id":3654,"nodeType":"ParameterList","parameters":[],"src":"2219:2:20"},"returnParameters":{"id":3657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3656,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3662,"src":"2244:7:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3655,"name":"uint256","nodeType":"ElementaryTypeName","src":"2244:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2243:9:20"},"scope":3713,"src":"2191:99:20","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":3681,"nodeType":"Block","src":"2624:232:20","statements":[{"expression":{"id":3679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3670,"name":"s_requestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3612,"src":"2688:11:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3673,"name":"s_keyHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3601,"src":"2740:9:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":3674,"name":"s_subscriptionId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3599,"src":"2757:16:20","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":3675,"name":"REQUEST_CONFIRMATIONS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3607,"src":"2781:21:20","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},{"id":3676,"name":"CALLBACK_GAS_LIMIT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3604,"src":"2810:18:20","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":3677,"name":"_numWords","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3665,"src":"2836:9:20","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint16","typeString":"uint16"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint32","typeString":"uint32"}],"expression":{"id":3671,"name":"COORDINATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3597,"src":"2702:11:20","typeDescriptions":{"typeIdentifier":"t_contract$_VRFCoordinatorV2Interface_$1415","typeString":"contract VRFCoordinatorV2Interface"}},"id":3672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"requestRandomWords","nodeType":"MemberAccess","referencedDeclaration":1348,"src":"2702:30:20","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_uint64_$_t_uint16_$_t_uint32_$_t_uint32_$returns$_t_uint256_$","typeString":"function (bytes32,uint64,uint16,uint32,uint32) external returns (uint256)"}},"id":3678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2702:149:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2688:163:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3680,"nodeType":"ExpressionStatement","src":"2688:163:20"}]},"documentation":{"id":3663,"nodeType":"StructuredDocumentation","src":"2294:262:20","text":" @notice Requests randomness\n @param _numWords - retrieve no of random values in one request. Cannot exceed VRFCoordinatorV2.MAX_NUM_WORDS.\n Assumes the subscription is funded sufficiently; \"Words\" refers to unit of data in Computer Science"},"functionSelector":"e726f2e1","id":3682,"implemented":true,"kind":"function","modifiers":[{"id":3668,"kind":"modifierInvocation","modifierName":{"id":3667,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":3712,"src":"2614:9:20"},"nodeType":"ModifierInvocation","src":"2614:9:20"}],"name":"requestRandomWords","nameLocation":"2568:18:20","nodeType":"FunctionDefinition","parameters":{"id":3666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3665,"mutability":"mutable","name":"_numWords","nameLocation":"2594:9:20","nodeType":"VariableDeclaration","scope":3682,"src":"2587:16:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":3664,"name":"uint32","nodeType":"ElementaryTypeName","src":"2587:6:20","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"2586:18:20"},"returnParameters":{"id":3669,"nodeType":"ParameterList","parameters":[],"src":"2624:0:20"},"scope":3713,"src":"2559:297:20","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[892],"body":{"id":3700,"nodeType":"Block","src":"3140:80:20","statements":[{"expression":{"id":3694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3692,"name":"s_randomWords","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3610,"src":"3146:13:20","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3693,"name":"randomWords","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3688,"src":"3162:11:20","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"3146:27:20","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":3695,"nodeType":"ExpressionStatement","src":"3146:27:20"},{"eventCall":{"arguments":[{"id":3697,"name":"randomWords","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3688,"src":"3203:11:20","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":3696,"name":"ReturnedRandomness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3619,"src":"3184:18:20","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256[] memory)"}},"id":3698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3184:31:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3699,"nodeType":"EmitStatement","src":"3179:36:20"}]},"documentation":{"id":3683,"nodeType":"StructuredDocumentation","src":"2860:182:20","text":" @notice Callback function used by VRF Coordinator\n @param requestId - id of the request\n @param randomWords - array of random results from VRF Coordinator"},"id":3701,"implemented":true,"kind":"function","modifiers":[],"name":"fulfillRandomWords","nameLocation":"3054:18:20","nodeType":"FunctionDefinition","overrides":{"id":3690,"nodeType":"OverrideSpecifier","overrides":[],"src":"3131:8:20"},"parameters":{"id":3689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3685,"mutability":"mutable","name":"requestId","nameLocation":"3081:9:20","nodeType":"VariableDeclaration","scope":3701,"src":"3073:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3684,"name":"uint256","nodeType":"ElementaryTypeName","src":"3073:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3688,"mutability":"mutable","name":"randomWords","nameLocation":"3109:11:20","nodeType":"VariableDeclaration","scope":3701,"src":"3092:28:20","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":3686,"name":"uint256","nodeType":"ElementaryTypeName","src":"3092:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3687,"nodeType":"ArrayTypeName","src":"3092:9:20","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3072:49:20"},"returnParameters":{"id":3691,"nodeType":"ParameterList","parameters":[],"src":"3140:0:20"},"scope":3713,"src":"3045:175:20","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3711,"nodeType":"Block","src":"3245:48:20","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":3707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3704,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3259:3:20","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"3259:10:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":3706,"name":"s_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3614,"src":"3273:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3259:21:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3703,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3251:7:20","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3251:30:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3709,"nodeType":"ExpressionStatement","src":"3251:30:20"},{"id":3710,"nodeType":"PlaceholderStatement","src":"3287:1:20"}]},"id":3712,"name":"onlyOwner","nameLocation":"3233:9:20","nodeType":"ModifierDefinition","parameters":{"id":3702,"nodeType":"ParameterList","parameters":[],"src":"3242:2:20"},"src":"3224:69:20","virtual":false,"visibility":"internal"}],"scope":3714,"src":"403:2892:20","usedErrors":[870]}],"src":"112:3184:20"},"id":20},"contracts/WitnetPriceFeed.sol":{"ast":{"absolutePath":"contracts/WitnetPriceFeed.sol","exportedSymbols":{"IERC165":[7214],"IERC2362":[3273],"IWitnetPriceRouter":[7380],"WitnetPriceFeed":[3750]},"id":3751,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3715,"literals":["solidity",">=","0.5",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"32:31:21"},{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IWitnetPriceRouter.sol","file":"witnet-solidity-bridge/contracts/interfaces/IWitnetPriceRouter.sol","id":3716,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3751,"sourceUnit":7381,"src":"65:76:21","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":3750,"linearizedBaseContracts":[3750],"name":"WitnetPriceFeed","nameLocation":"152:15:21","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"4fc87f24","id":3719,"mutability":"immutable","name":"witnetPriceRouter","nameLocation":"210:17:21","nodeType":"VariableDeclaration","scope":3750,"src":"174:53:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetPriceRouter_$7380","typeString":"contract IWitnetPriceRouter"},"typeName":{"id":3718,"nodeType":"UserDefinedTypeName","pathNode":{"id":3717,"name":"IWitnetPriceRouter","nodeType":"IdentifierPath","referencedDeclaration":7380,"src":"174:18:21"},"referencedDeclaration":7380,"src":"174:18:21","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetPriceRouter_$7380","typeString":"contract IWitnetPriceRouter"}},"visibility":"public"},{"body":{"id":3729,"nodeType":"Block","src":"389:44:21","statements":[{"expression":{"id":3727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3725,"name":"witnetPriceRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3719,"src":"399:17:21","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetPriceRouter_$7380","typeString":"contract IWitnetPriceRouter"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3726,"name":"_router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3722,"src":"419:7:21","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetPriceRouter_$7380","typeString":"contract IWitnetPriceRouter"}},"src":"399:27:21","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetPriceRouter_$7380","typeString":"contract IWitnetPriceRouter"}},"id":3728,"nodeType":"ExpressionStatement","src":"399:27:21"}]},"id":3730,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":3723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3722,"mutability":"mutable","name":"_router","nameLocation":"380:7:21","nodeType":"VariableDeclaration","scope":3730,"src":"361:26:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetPriceRouter_$7380","typeString":"contract IWitnetPriceRouter"},"typeName":{"id":3721,"nodeType":"UserDefinedTypeName","pathNode":{"id":3720,"name":"IWitnetPriceRouter","nodeType":"IdentifierPath","referencedDeclaration":7380,"src":"361:18:21"},"referencedDeclaration":7380,"src":"361:18:21","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetPriceRouter_$7380","typeString":"contract IWitnetPriceRouter"}},"visibility":"internal"}],"src":"360:28:21"},"returnParameters":{"id":3724,"nodeType":"ParameterList","parameters":[],"src":"389:0:21"},"scope":3750,"src":"349:84:21","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":3748,"nodeType":"Block","src":"705:81:21","statements":[{"expression":{"id":3746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":3739,"name":"_lastPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3735,"src":"716:10:21","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":3740,"name":"_lastTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3737,"src":"728:14:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},null],"id":3741,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"715:29:21","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_uint256_$__$","typeString":"tuple(int256,uint256,)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3744,"name":"_id4","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3732,"src":"774:4:21","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":3742,"name":"witnetPriceRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3719,"src":"747:17:21","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetPriceRouter_$7380","typeString":"contract IWitnetPriceRouter"}},"id":3743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"valueFor","nodeType":"MemberAccess","referencedDeclaration":3272,"src":"747:26:21","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_int256_$_t_uint256_$_t_uint256_$","typeString":"function (bytes32) view external returns (int256,uint256,uint256)"}},"id":3745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"747:32:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_uint256_$_t_uint256_$","typeString":"tuple(int256,uint256,uint256)"}},"src":"715:64:21","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3747,"nodeType":"ExpressionStatement","src":"715:64:21"}]},"functionSelector":"c66f4c0a","id":3749,"implemented":true,"kind":"function","modifiers":[],"name":"getPrice","nameLocation":"619:8:21","nodeType":"FunctionDefinition","parameters":{"id":3733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3732,"mutability":"mutable","name":"_id4","nameLocation":"635:4:21","nodeType":"VariableDeclaration","scope":3749,"src":"628:11:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":3731,"name":"bytes4","nodeType":"ElementaryTypeName","src":"628:6:21","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"627:13:21"},"returnParameters":{"id":3738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3735,"mutability":"mutable","name":"_lastPrice","nameLocation":"669:10:21","nodeType":"VariableDeclaration","scope":3749,"src":"662:17:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3734,"name":"int256","nodeType":"ElementaryTypeName","src":"662:6:21","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":3737,"mutability":"mutable","name":"_lastTimestamp","nameLocation":"689:14:21","nodeType":"VariableDeclaration","scope":3749,"src":"681:22:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3736,"name":"uint256","nodeType":"ElementaryTypeName","src":"681:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"661:43:21"},"scope":3750,"src":"610:176:21","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":3751,"src":"143:645:21","usedErrors":[]}],"src":"32:756:21"},"id":21},"contracts/WitnetRandom.sol":{"ast":{"absolutePath":"contracts/WitnetRandom.sol","exportedSymbols":{"IWitnetRandomness":[7494],"IWitnetRequest":[7510],"Witnet":[8300],"WitnetRandom":[3847]},"id":3848,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3752,"literals":["solidity",">=","0.5",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"32:31:22"},{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IWitnetRandomness.sol","file":"witnet-solidity-bridge/contracts/interfaces/IWitnetRandomness.sol","id":3753,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3848,"sourceUnit":7495,"src":"65:75:22","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":3847,"linearizedBaseContracts":[3847],"name":"WitnetRandom","nameLocation":"151:12:22","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"36013189","id":3755,"mutability":"mutable","name":"randomness","nameLocation":"184:10:22","nodeType":"VariableDeclaration","scope":3847,"src":"170:24:22","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":3754,"name":"uint32","nodeType":"ElementaryTypeName","src":"170:6:22","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"public"},{"constant":false,"functionSelector":"b1fa4176","id":3757,"mutability":"mutable","name":"latestRandomizingBlock","nameLocation":"215:22:22","nodeType":"VariableDeclaration","scope":3847,"src":"200:37:22","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3756,"name":"uint256","nodeType":"ElementaryTypeName","src":"200:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"functionSelector":"27eef8b9","id":3760,"mutability":"immutable","name":"witnetRandomness","nameLocation":"278:16:22","nodeType":"VariableDeclaration","scope":3847,"src":"243:51:22","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRandomness_$7494","typeString":"contract IWitnetRandomness"},"typeName":{"id":3759,"nodeType":"UserDefinedTypeName","pathNode":{"id":3758,"name":"IWitnetRandomness","nodeType":"IdentifierPath","referencedDeclaration":7494,"src":"243:17:22"},"referencedDeclaration":7494,"src":"243:17:22","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRandomness_$7494","typeString":"contract IWitnetRandomness"}},"visibility":"public"},{"body":{"id":3782,"nodeType":"Block","src":"464:111:22","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":3775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3769,"name":"_witnetRandomness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3763,"src":"489:17:22","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRandomness_$7494","typeString":"contract IWitnetRandomness"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IWitnetRandomness_$7494","typeString":"contract IWitnetRandomness"}],"id":3768,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"481:7:22","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3767,"name":"address","nodeType":"ElementaryTypeName","src":"481:7:22","typeDescriptions":{}}},"id":3770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"481:26:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":3773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"519:1:22","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":3772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"511:7:22","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3771,"name":"address","nodeType":"ElementaryTypeName","src":"511:7:22","typeDescriptions":{}}},"id":3774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"511:10:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"481:40:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3766,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"474:6:22","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"474:48:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3777,"nodeType":"ExpressionStatement","src":"474:48:22"},{"expression":{"id":3780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3778,"name":"witnetRandomness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3760,"src":"532:16:22","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRandomness_$7494","typeString":"contract IWitnetRandomness"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3779,"name":"_witnetRandomness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3763,"src":"551:17:22","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRandomness_$7494","typeString":"contract IWitnetRandomness"}},"src":"532:36:22","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRandomness_$7494","typeString":"contract IWitnetRandomness"}},"id":3781,"nodeType":"ExpressionStatement","src":"532:36:22"}]},"id":3783,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":3764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3763,"mutability":"mutable","name":"_witnetRandomness","nameLocation":"445:17:22","nodeType":"VariableDeclaration","scope":3783,"src":"427:35:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRandomness_$7494","typeString":"contract IWitnetRandomness"},"typeName":{"id":3762,"nodeType":"UserDefinedTypeName","pathNode":{"id":3761,"name":"IWitnetRandomness","nodeType":"IdentifierPath","referencedDeclaration":7494,"src":"427:17:22"},"referencedDeclaration":7494,"src":"427:17:22","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRandomness_$7494","typeString":"contract IWitnetRandomness"}},"visibility":"internal"}],"src":"426:37:22"},"returnParameters":{"id":3765,"nodeType":"ParameterList","parameters":[],"src":"464:0:22"},"scope":3847,"src":"415:160:22","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":3786,"nodeType":"Block","src":"608:2:22","statements":[]},"id":3787,"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":3784,"nodeType":"ParameterList","parameters":[],"src":"588:2:22"},"returnParameters":{"id":3785,"nodeType":"ParameterList","parameters":[],"src":"608:0:22"},"scope":3847,"src":"581:29:22","stateMutability":"payable","virtual":false,"visibility":"external"},{"body":{"id":3822,"nodeType":"Block","src":"662:244:22","statements":[{"expression":{"id":3793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3790,"name":"latestRandomizingBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3757,"src":"672:22:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":3791,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"697:5:22","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":3792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"697:12:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"672:37:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3794,"nodeType":"ExpressionStatement","src":"672:37:22"},{"assignments":[3796],"declarations":[{"constant":false,"id":3796,"mutability":"mutable","name":"_usedFunds","nameLocation":"724:10:22","nodeType":"VariableDeclaration","scope":3822,"src":"719:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3795,"name":"uint","nodeType":"ElementaryTypeName","src":"719:4:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3803,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"argumentTypes":[],"expression":{"id":3797,"name":"witnetRandomness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3760,"src":"737:16:22","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRandomness_$7494","typeString":"contract IWitnetRandomness"}},"id":3798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"randomize","nodeType":"MemberAccess","referencedDeclaration":7485,"src":"737:26:22","typeDescriptions":{"typeIdentifier":"t_function_external_payable$__$returns$_t_uint256_$","typeString":"function () payable external returns (uint256)"}},"id":3801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":3799,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"772:3:22","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"772:9:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"737:46:22","typeDescriptions":{"typeIdentifier":"t_function_external_payable$__$returns$_t_uint256_$value","typeString":"function () payable external returns (uint256)"}},"id":3802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"737:48:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"719:66:22"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3804,"name":"_usedFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3796,"src":"799:10:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":3805,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"812:3:22","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"812:9:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"799:22:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3821,"nodeType":"IfStatement","src":"795:105:22","trueBody":{"id":3820,"nodeType":"Block","src":"823:77:22","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3814,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"866:3:22","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"866:9:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":3816,"name":"_usedFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3796,"src":"878:10:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"866:22:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"expression":{"id":3810,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"845:3:22","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"845:10:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3809,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"837:8:22","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":3808,"name":"address","nodeType":"ElementaryTypeName","src":"837:8:22","stateMutability":"payable","typeDescriptions":{}}},"id":3812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"837:19:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":3813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","src":"837:28:22","typeDescriptions":{"typeIdentifier":"t_function_transfer_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":3818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"837:52:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3819,"nodeType":"ExpressionStatement","src":"837:52:22"}]}}]},"functionSelector":"f8413b07","id":3823,"implemented":true,"kind":"function","modifiers":[],"name":"requestRandomness","nameLocation":"625:17:22","nodeType":"FunctionDefinition","parameters":{"id":3788,"nodeType":"ParameterList","parameters":[],"src":"642:2:22"},"returnParameters":{"id":3789,"nodeType":"ParameterList","parameters":[],"src":"662:0:22"},"scope":3847,"src":"616:290:22","stateMutability":"payable","virtual":false,"visibility":"external"},{"body":{"id":3845,"nodeType":"Block","src":"950:143:22","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3827,"name":"latestRandomizingBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3757,"src":"967:22:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":3828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"992:1:22","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"967:26:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3826,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"960:6:22","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"960:34:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3831,"nodeType":"ExpressionStatement","src":"960:34:22"},{"expression":{"id":3843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3832,"name":"randomness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3755,"src":"1004:10:22","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"arguments":[{"id":3837,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1047:6:22","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":3836,"name":"uint32","nodeType":"ElementaryTypeName","src":"1047:6:22","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"}],"id":3835,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1042:4:22","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":3838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1042:12:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint32","typeString":"type(uint32)"}},"id":3839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"1042:16:22","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"hexValue":"30","id":3840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1060:1:22","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":3841,"name":"latestRandomizingBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3757,"src":"1063:22:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3833,"name":"witnetRandomness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3760,"src":"1018:16:22","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRandomness_$7494","typeString":"contract IWitnetRandomness"}},"id":3834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"random","nodeType":"MemberAccess","referencedDeclaration":7467,"src":"1018:23:22","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint32_$_t_uint256_$_t_uint256_$returns$_t_uint32_$","typeString":"function (uint32,uint256,uint256) view external returns (uint32)"}},"id":3842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1018:68:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"1004:82:22","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":3844,"nodeType":"ExpressionStatement","src":"1004:82:22"}]},"functionSelector":"921b9763","id":3846,"implemented":true,"kind":"function","modifiers":[],"name":"fetchRandomNumber","nameLocation":"921:17:22","nodeType":"FunctionDefinition","parameters":{"id":3824,"nodeType":"ParameterList","parameters":[],"src":"938:2:22"},"returnParameters":{"id":3825,"nodeType":"ParameterList","parameters":[],"src":"950:0:22"},"scope":3847,"src":"912:181:22","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":3848,"src":"142:953:22","usedErrors":[]}],"src":"32:1063:22"},"id":22},"contracts/test/MockWitnetRandomness.sol":{"ast":{"absolutePath":"contracts/test/MockWitnetRandomness.sol","exportedSymbols":{"Clonable":[11629],"Context":[11660],"IWitnetRandomness":[7494],"IWitnetRequest":[7510],"IWitnetRequestBoardEvents":[7593],"IWitnetRequestBoardReporter":[7644],"IWitnetRequestBoardRequestor":[7674],"IWitnetRequestBoardView":[7787],"IWitnetRequestParser":[7965],"Initializable":[11676],"Ownable":[11781],"Proxiable":[11841],"UsingWitnet":[4134],"Witnet":[8300],"WitnetRandomness":[4952],"WitnetRandomnessMock":[11519],"WitnetRequestBoard":[4162],"WitnetRequestMalleableBase":[12720],"WitnetRequestRandomness":[12753]},"id":3851,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3849,"literals":["solidity",">=","0.5",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"31:31:23"},{"absolutePath":"witnet-solidity-bridge/contracts/mocks/WitnetRandomnessMock.sol","file":"witnet-solidity-bridge/contracts/mocks/WitnetRandomnessMock.sol","id":3850,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3851,"sourceUnit":11520,"src":"64:73:23","symbolAliases":[],"unitAlias":""}],"src":"31:107:23"},"id":23},"contracts/test/MockWitnetRouter.sol":{"ast":{"absolutePath":"contracts/test/MockWitnetRouter.sol","exportedSymbols":{"MockWitnetRouter":[3870]},"id":3871,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3852,"literals":["solidity",">=","0.5",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"31:31:24"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":3870,"linearizedBaseContracts":[3870],"name":"MockWitnetRouter","nameLocation":"73:16:24","nodeType":"ContractDefinition","nodes":[{"body":{"id":3868,"nodeType":"Block","src":"172:36:24","statements":[{"expression":{"components":[{"hexValue":"3130","id":3863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"190:2:24","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"3130","id":3864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"194:2:24","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"3130","id":3865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"198:2:24","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"}],"id":3866,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"189:12:24","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_10_by_1_$_t_rational_10_by_1_$_t_rational_10_by_1_$","typeString":"tuple(int_const 10,int_const 10,int_const 10)"}},"functionReturnParameters":3862,"id":3867,"nodeType":"Return","src":"182:19:24"}]},"functionSelector":"f78eea83","id":3869,"implemented":true,"kind":"function","modifiers":[],"name":"valueFor","nameLocation":"105:8:24","nodeType":"FunctionDefinition","parameters":{"id":3855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3854,"mutability":"mutable","name":"_id","nameLocation":"122:3:24","nodeType":"VariableDeclaration","scope":3869,"src":"114:11:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3853,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114:7:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"113:13:24"},"returnParameters":{"id":3862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3857,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3869,"src":"148:6:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3856,"name":"int256","nodeType":"ElementaryTypeName","src":"148:6:24","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":3859,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3869,"src":"155:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3858,"name":"uint256","nodeType":"ElementaryTypeName","src":"155:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3861,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3869,"src":"163:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3860,"name":"uint256","nodeType":"ElementaryTypeName","src":"163:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"147:24:24"},"scope":3870,"src":"96:112:24","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":3871,"src":"64:146:24","usedErrors":[]}],"src":"31:179:24"},"id":24},"contracts/test/VRFCoordinatorV2Mock.sol":{"ast":{"absolutePath":"contracts/test/VRFCoordinatorV2Mock.sol","exportedSymbols":{"LinkTokenInterface":[1192],"VRFConsumerBaseV2":[919],"VRFCoordinatorV2Interface":[1415],"VRFCoordinatorV2Mock":[2278]},"id":3874,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3872,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"31:23:25"},{"absolutePath":"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol","file":"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol","id":3873,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3874,"sourceUnit":2279,"src":"56:70:25","symbolAliases":[],"unitAlias":""}],"src":"31:96:25"},"id":25},"contracts/test/fuzzing/KeepersCounterEchidnaTest.sol":{"ast":{"absolutePath":"contracts/test/fuzzing/KeepersCounterEchidnaTest.sol","exportedSymbols":{"KeeperCompatibleInterface":[1097],"KeepersCounter":[3520],"KeepersCounterEchidnaTest":[3896]},"id":3897,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3875,"literals":["solidity","^","0.8",".7"],"nodeType":"PragmaDirective","src":"32:23:26"},{"absolutePath":"contracts/KeepersCounter.sol","file":"../../KeepersCounter.sol","id":3876,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3897,"sourceUnit":3521,"src":"57:34:26","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":3877,"name":"KeepersCounter","nodeType":"IdentifierPath","referencedDeclaration":3520,"src":"131:14:26"},"id":3878,"nodeType":"InheritanceSpecifier","src":"131:14:26"}],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":3896,"linearizedBaseContracts":[3896,3520,1097],"name":"KeepersCounterEchidnaTest","nameLocation":"102:25:26","nodeType":"ContractDefinition","nodes":[{"body":{"id":3884,"nodeType":"Block","src":"187:2:26","statements":[]},"id":3885,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"hexValue":"38","id":3881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"179:6:26","subdenomination":"days","typeDescriptions":{"typeIdentifier":"t_rational_691200_by_1","typeString":"int_const 691200"},"value":"8"}],"id":3882,"kind":"baseConstructorSpecifier","modifierName":{"id":3880,"name":"KeepersCounter","nodeType":"IdentifierPath","referencedDeclaration":3520,"src":"164:14:26"},"nodeType":"ModifierInvocation","src":"164:22:26"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":3879,"nodeType":"ParameterList","parameters":[],"src":"161:2:26"},"returnParameters":{"id":3883,"nodeType":"ParameterList","parameters":[],"src":"187:0:26"},"scope":3896,"src":"150:39:26","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":3894,"nodeType":"Block","src":"264:30:26","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3890,"name":"counter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3442,"src":"277:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"288:1:26","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"277:12:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3889,"id":3893,"nodeType":"Return","src":"270:19:26"}]},"functionSelector":"7d1b7ebd","id":3895,"implemented":true,"kind":"function","modifiers":[],"name":"echidna_test_perform_upkeep_gate","nameLocation":"202:32:26","nodeType":"FunctionDefinition","parameters":{"id":3886,"nodeType":"ParameterList","parameters":[],"src":"234:2:26"},"returnParameters":{"id":3889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3888,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3895,"src":"258:4:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3887,"name":"bool","nodeType":"ElementaryTypeName","src":"258:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"257:6:26"},"scope":3896,"src":"193:101:26","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":3897,"src":"93:203:26","usedErrors":[]}],"src":"32:265:26"},"id":26},"contracts/witnet-requests/coinPrice.sol":{"ast":{"absolutePath":"contracts/witnet-requests/coinPrice.sol","exportedSymbols":{"Destructible":[11667],"IERC20":[7292],"IWitnetRequest":[7510],"IWitnetRequestBoardAdmin":[7532],"IWitnetRequestBoardAdminACLs":[7568],"IWitnetRequestBoardEvents":[7593],"IWitnetRequestBoardReporter":[7644],"IWitnetRequestBoardRequestor":[7674],"IWitnetRequestBoardView":[7787],"IWitnetRequestParser":[7965],"Initializable":[11676],"Payable":[11832],"Proxiable":[11841],"Upgradable":[11937],"Witnet":[8300],"WitnetBoardData":[5235],"WitnetBoardDataACLs":[5285],"WitnetBuffer":[8942],"WitnetDecoderLib":[10067],"WitnetParserLib":[11209],"WitnetProxy":[5497],"WitnetRequestBase":[11951],"WitnetRequestBoard":[4162],"WitnetRequestBoardTrustableBase":[7097],"WitnetRequestBoardTrustableDefault":[7202],"WitnetRequestBoardUpgradableBase":[5559],"WitnetRequestInitializableBase":[11988],"coinPriceRequest":[3913]},"id":3914,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3898,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:27"},{"absolutePath":"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableDefault.sol","file":"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableDefault.sol","id":3899,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3914,"sourceUnit":7203,"src":"308:97:27","symbolAliases":[],"unitAlias":""},{"absolutePath":"witnet-solidity-bridge/contracts/requests/WitnetRequestInitializableBase.sol","file":"witnet-solidity-bridge/contracts/requests/WitnetRequestInitializableBase.sol","id":3900,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3914,"sourceUnit":11989,"src":"406:86:27","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":3901,"name":"WitnetRequestInitializableBase","nodeType":"IdentifierPath","referencedDeclaration":11988,"src":"590:30:27"},"id":3902,"nodeType":"InheritanceSpecifier","src":"590:30:27"}],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":3913,"linearizedBaseContracts":[3913,11988,11951,7510,11676],"name":"coinPriceRequest","nameLocation":"570:16:27","nodeType":"ContractDefinition","nodes":[{"body":{"id":3911,"nodeType":"Block","src":"654:557:27","statements":[{"expression":{"arguments":[{"hexValue":"0adf01125a0801124068747470733a2f2f6d696e2d6170692e63727970746f636f6d706172652e636f6d2f646174612f70726963653f6673796d3d4b4c4159267473796d733d5553441a14841877821864635553448218571a000f4240185b12630801123868747470733a2f2f6170692e636f696e626173652e636f6d2f76322f65786368616e67652d72617465733f63757272656e63793d4b4c41591a258618778218666464617461821866657261746573821864635553448218571a000f4240185b1a0d0a0908051205fa3fc000001003220d0a0908051205fa4020000010031080e497d012180a208094ebdc0328333080e8eda1ba01","id":3908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"702:503:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_65e3282e7a3641e10a096b43cafa56e183e0b80c7ea7ca06014613c4e45ad5b4","typeString":"literal_string hex\"0adf01125a0801124068747470733a2f2f6d696e2d6170692e63727970746f636f6d706172652e636f6d2f646174612f70726963653f6673796d3d4b4c4159267473796d733d5553441a14841877821864635553448218571a000f4240185b12630801123868747470733a2f2f6170692e636f696e626173652e636f6d2f76322f65786368616e67652d72617465733f63757272656e63793d4b4c41591a258618778218666464617461821866657261746573821864635553448218571a000f4240185b1a0d0a0908051205fa3fc000001003220d0a0908051205fa4020000010031080e497d012180a208094ebdc0328333080e8eda1ba01\""}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_65e3282e7a3641e10a096b43cafa56e183e0b80c7ea7ca06014613c4e45ad5b4","typeString":"literal_string hex\"0adf01125a0801124068747470733a2f2f6d696e2d6170692e63727970746f636f6d706172652e636f6d2f646174612f70726963653f6673796d3d4b4c4159267473796d733d5553441a14841877821864635553448218571a000f4240185b12630801123868747470733a2f2f6170692e636f696e626173652e636f6d2f76322f65786368616e67652d72617465733f63757272656e63793d4b4c41591a258618778218666464617461821866657261746573821864635553448218571a000f4240185b1a0d0a0908051205fa3fc000001003220d0a0908051205fa4020000010031080e497d012180a208094ebdc0328333080e8eda1ba01\""}],"expression":{"id":3905,"name":"WitnetRequestInitializableBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11988,"src":"660:30:27","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WitnetRequestInitializableBase_$11988_$","typeString":"type(contract WitnetRequestInitializableBase)"}},"id":3907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":11987,"src":"660:41:27","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory)"}},"id":3909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"660:546:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3910,"nodeType":"ExpressionStatement","src":"660:546:27"}]},"functionSelector":"8129fc1c","id":3912,"implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"634:10:27","nodeType":"FunctionDefinition","parameters":{"id":3903,"nodeType":"ParameterList","parameters":[],"src":"644:2:27"},"returnParameters":{"id":3904,"nodeType":"ParameterList","parameters":[],"src":"654:0:27"},"scope":3913,"src":"625:586:27","stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"scope":3914,"src":"561:652:27","usedErrors":[]}],"src":"33:1181:27"},"id":27},"contracts/witnet-requests/postAPI.sol":{"ast":{"absolutePath":"contracts/witnet-requests/postAPI.sol","exportedSymbols":{"Destructible":[11667],"IERC20":[7292],"IWitnetRequest":[7510],"IWitnetRequestBoardAdmin":[7532],"IWitnetRequestBoardAdminACLs":[7568],"IWitnetRequestBoardEvents":[7593],"IWitnetRequestBoardReporter":[7644],"IWitnetRequestBoardRequestor":[7674],"IWitnetRequestBoardView":[7787],"IWitnetRequestParser":[7965],"Initializable":[11676],"Payable":[11832],"Proxiable":[11841],"Upgradable":[11937],"Witnet":[8300],"WitnetBoardData":[5235],"WitnetBoardDataACLs":[5285],"WitnetBuffer":[8942],"WitnetDecoderLib":[10067],"WitnetParserLib":[11209],"WitnetProxy":[5497],"WitnetRequestBase":[11951],"WitnetRequestBoard":[4162],"WitnetRequestBoardTrustableBase":[7097],"WitnetRequestBoardTrustableDefault":[7202],"WitnetRequestBoardUpgradableBase":[5559],"WitnetRequestInitializableBase":[11988],"postAPIRequest":[3930]},"id":3931,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3915,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:28"},{"absolutePath":"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableDefault.sol","file":"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableDefault.sol","id":3916,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3931,"sourceUnit":7203,"src":"308:97:28","symbolAliases":[],"unitAlias":""},{"absolutePath":"witnet-solidity-bridge/contracts/requests/WitnetRequestInitializableBase.sol","file":"witnet-solidity-bridge/contracts/requests/WitnetRequestInitializableBase.sol","id":3917,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3931,"sourceUnit":11989,"src":"406:86:28","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":3918,"name":"WitnetRequestInitializableBase","nodeType":"IdentifierPath","referencedDeclaration":11988,"src":"593:30:28"},"id":3919,"nodeType":"InheritanceSpecifier","src":"593:30:28"}],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":3930,"linearizedBaseContracts":[3930,11988,11951,7510,11676],"name":"postAPIRequest","nameLocation":"575:14:28","nodeType":"ContractDefinition","nodes":[{"body":{"id":3928,"nodeType":"Block","src":"657:387:28","statements":[{"expression":{"arguments":[{"hexValue":"0a8a0112720803121868747470733a2f2f6874747062696e2e6f72672f706f73741a1d83187782186667686561646572738218676b4865616465722d4e616d6522185468697320697320746865207265717565737420626f64792a1b0a0b4865616465722d4e616d65120c4865616465722d56616c75651a090a050808120180100222090a05080812018010021080e497d012180a208094ebdc0328333080e8eda1ba01","id":3925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"705:333:28","typeDescriptions":{"typeIdentifier":"t_stringliteral_1096ab818d494a1539352a284d25d4d40227a5b9281fcb6f02043e7b5eef4709","typeString":"literal_string hex\"0a8a0112720803121868747470733a2f2f6874747062696e2e6f72672f706f73741a1d83187782186667686561646572738218676b4865616465722d4e616d6522185468697320697320746865207265717565737420626f64792a1b0a0b4865616465722d4e616d65120c4865616465722d56616c75651a090a050808120180100222090a05080812018010021080e497d012180a208094ebdc0328333080e8eda1ba01\""}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1096ab818d494a1539352a284d25d4d40227a5b9281fcb6f02043e7b5eef4709","typeString":"literal_string hex\"0a8a0112720803121868747470733a2f2f6874747062696e2e6f72672f706f73741a1d83187782186667686561646572738218676b4865616465722d4e616d6522185468697320697320746865207265717565737420626f64792a1b0a0b4865616465722d4e616d65120c4865616465722d56616c75651a090a050808120180100222090a05080812018010021080e497d012180a208094ebdc0328333080e8eda1ba01\""}],"expression":{"id":3922,"name":"WitnetRequestInitializableBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11988,"src":"663:30:28","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WitnetRequestInitializableBase_$11988_$","typeString":"type(contract WitnetRequestInitializableBase)"}},"id":3924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":11987,"src":"663:41:28","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory)"}},"id":3926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"663:376:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3927,"nodeType":"ExpressionStatement","src":"663:376:28"}]},"functionSelector":"8129fc1c","id":3929,"implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"637:10:28","nodeType":"FunctionDefinition","parameters":{"id":3920,"nodeType":"ParameterList","parameters":[],"src":"647:2:28"},"returnParameters":{"id":3921,"nodeType":"ParameterList","parameters":[],"src":"657:0:28"},"scope":3930,"src":"628:416:28","stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"scope":3931,"src":"566:480:28","usedErrors":[]}],"src":"33:1014:28"},"id":28},"witnet-solidity-bridge/contracts/UsingWitnet.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/UsingWitnet.sol","exportedSymbols":{"IWitnetRequest":[7510],"IWitnetRequestBoardEvents":[7593],"IWitnetRequestBoardReporter":[7644],"IWitnetRequestBoardRequestor":[7674],"IWitnetRequestBoardView":[7787],"IWitnetRequestParser":[7965],"UsingWitnet":[4134],"Witnet":[8300],"WitnetRequestBoard":[4162]},"id":4135,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3932,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:29"},{"id":3933,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"65:33:29"},{"absolutePath":"witnet-solidity-bridge/contracts/WitnetRequestBoard.sol","file":"./WitnetRequestBoard.sol","id":3934,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4135,"sourceUnit":4163,"src":"100:34:29","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":{"id":3935,"nodeType":"StructuredDocumentation","src":"136:168:29","text":"@title The UsingWitnet contract\n @dev Witnet-aware contracts can inherit from this contract in order to interact with Witnet.\n @author The Witnet Foundation."},"fullyImplemented":true,"id":4134,"linearizedBaseContracts":[4134],"name":"UsingWitnet","nameLocation":"322:11:29","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"46d1d21a","id":3938,"mutability":"immutable","name":"witnet","nameLocation":"377:6:29","nodeType":"VariableDeclaration","scope":4134,"src":"341:42:29","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestBoard_$4162","typeString":"contract WitnetRequestBoard"},"typeName":{"id":3937,"nodeType":"UserDefinedTypeName","pathNode":{"id":3936,"name":"WitnetRequestBoard","nodeType":"IdentifierPath","referencedDeclaration":4162,"src":"341:18:29"},"referencedDeclaration":4162,"src":"341:18:29","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestBoard_$4162","typeString":"contract WitnetRequestBoard"}},"visibility":"public"},{"body":{"id":3962,"nodeType":"Block","src":"577:105:29","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":3954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3948,"name":"_wrb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3942,"src":"603:4:29","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestBoard_$4162","typeString":"contract WitnetRequestBoard"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_WitnetRequestBoard_$4162","typeString":"contract WitnetRequestBoard"}],"id":3947,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"595:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3946,"name":"address","nodeType":"ElementaryTypeName","src":"595:7:29","typeDescriptions":{}}},"id":3949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"595:13:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":3952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"620:1:29","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":3951,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"612:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3950,"name":"address","nodeType":"ElementaryTypeName","src":"612:7:29","typeDescriptions":{}}},"id":3953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"612:10:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"595:27:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5573696e675769746e65743a207a65726f2061646472657373","id":3955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"624:27:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f","typeString":"literal_string \"UsingWitnet: zero address\""},"value":"UsingWitnet: zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f","typeString":"literal_string \"UsingWitnet: zero address\""}],"id":3945,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"587:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"587:65:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3957,"nodeType":"ExpressionStatement","src":"587:65:29"},{"expression":{"id":3960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3958,"name":"witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3938,"src":"662:6:29","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestBoard_$4162","typeString":"contract WitnetRequestBoard"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3959,"name":"_wrb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3942,"src":"671:4:29","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestBoard_$4162","typeString":"contract WitnetRequestBoard"}},"src":"662:13:29","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestBoard_$4162","typeString":"contract WitnetRequestBoard"}},"id":3961,"nodeType":"ExpressionStatement","src":"662:13:29"}]},"documentation":{"id":3939,"nodeType":"StructuredDocumentation","src":"390:141:29","text":"Include an address to specify the WitnetRequestBoard entry point address.\n @param _wrb The WitnetRequestBoard entry point address."},"id":3963,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":3943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3942,"mutability":"mutable","name":"_wrb","nameLocation":"567:4:29","nodeType":"VariableDeclaration","scope":3963,"src":"548:23:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestBoard_$4162","typeString":"contract WitnetRequestBoard"},"typeName":{"id":3941,"nodeType":"UserDefinedTypeName","pathNode":{"id":3940,"name":"WitnetRequestBoard","nodeType":"IdentifierPath","referencedDeclaration":4162,"src":"548:18:29"},"referencedDeclaration":4162,"src":"548:18:29","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestBoard_$4162","typeString":"contract WitnetRequestBoard"}},"visibility":"internal"}],"src":"547:25:29"},"returnParameters":{"id":3944,"nodeType":"ParameterList","parameters":[],"src":"577:0:29"},"scope":4134,"src":"536:146:29","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3976,"nodeType":"Block","src":"945:153:29","statements":[{"expression":{"arguments":[{"arguments":[{"id":3970,"name":"_id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3966,"src":"1011:3:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3969,"name":"_witnetCheckResultAvailability","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3995,"src":"980:30:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"980:35:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5573696e675769746e65743a2072657175657374206e6f7420736f6c766564","id":3972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1033:33:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_0fb989cff220809487ccc59dffc3456c56fa1a61fb107e9494cfb5ad931b6f6f","typeString":"literal_string \"UsingWitnet: request not solved\""},"value":"UsingWitnet: request not solved"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0fb989cff220809487ccc59dffc3456c56fa1a61fb107e9494cfb5ad931b6f6f","typeString":"literal_string \"UsingWitnet: request not solved\""}],"id":3968,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"955:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"955:125:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3974,"nodeType":"ExpressionStatement","src":"955:125:29"},{"id":3975,"nodeType":"PlaceholderStatement","src":"1090:1:29"}]},"documentation":{"id":3964,"nodeType":"StructuredDocumentation","src":"688:210:29","text":"Provides a convenient way for client contracts extending this to block the execution of the main logic of the\n contract until a particular request has been successfully solved and reported by Witnet."},"id":3977,"name":"witnetRequestSolved","nameLocation":"912:19:29","nodeType":"ModifierDefinition","parameters":{"id":3967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3966,"mutability":"mutable","name":"_id","nameLocation":"940:3:29","nodeType":"VariableDeclaration","scope":3977,"src":"932:11:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3965,"name":"uint256","nodeType":"ElementaryTypeName","src":"932:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"931:13:29"},"src":"903:195:29","virtual":false,"visibility":"internal"},{"body":{"id":3994,"nodeType":"Block","src":"1676:81:29","statements":[{"expression":{"commonType":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"},"id":3992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3987,"name":"_id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3980,"src":"1715:3:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3985,"name":"witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3938,"src":"1693:6:29","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestBoard_$4162","typeString":"contract WitnetRequestBoard"}},"id":3986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getQueryStatus","nodeType":"MemberAccess","referencedDeclaration":7711,"src":"1693:21:29","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_enum$_QueryStatus_$7996_$","typeString":"function (uint256) view external returns (enum Witnet.QueryStatus)"}},"id":3988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1693:26:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":3989,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"1723:6:29","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":3990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"QueryStatus","nodeType":"MemberAccess","referencedDeclaration":7996,"src":"1723:18:29","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_QueryStatus_$7996_$","typeString":"type(enum Witnet.QueryStatus)"}},"id":3991,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Reported","nodeType":"MemberAccess","referencedDeclaration":7994,"src":"1723:27:29","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"src":"1693:57:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3984,"id":3993,"nodeType":"Return","src":"1686:64:29"}]},"documentation":{"id":3978,"nodeType":"StructuredDocumentation","src":"1104:449:29","text":"Check if a data request has been solved and reported by Witnet.\n @dev Contracts depending on Witnet should not start their main business logic (e.g. receiving value from third.\n parties) before this method returns `true`.\n @param _id The unique identifier of a previously posted data request.\n @return A boolean telling if the request has been already resolved or not. Returns `false` also, if the result was deleted."},"id":3995,"implemented":true,"kind":"function","modifiers":[],"name":"_witnetCheckResultAvailability","nameLocation":"1567:30:29","nodeType":"FunctionDefinition","parameters":{"id":3981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3980,"mutability":"mutable","name":"_id","nameLocation":"1606:3:29","nodeType":"VariableDeclaration","scope":3995,"src":"1598:11:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3979,"name":"uint256","nodeType":"ElementaryTypeName","src":"1598:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1597:13:29"},"returnParameters":{"id":3984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3983,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3995,"src":"1666:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3982,"name":"bool","nodeType":"ElementaryTypeName","src":"1666:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1665:6:29"},"scope":4134,"src":"1558:199:29","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":4008,"nodeType":"Block","src":"2131:56:29","statements":[{"expression":{"arguments":[{"id":4005,"name":"_gasPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3998,"src":"2170:9:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4003,"name":"witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3938,"src":"2148:6:29","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestBoard_$4162","typeString":"contract WitnetRequestBoard"}},"id":4004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"estimateReward","nodeType":"MemberAccess","referencedDeclaration":7687,"src":"2148:21:29","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":4006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2148:32:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4002,"id":4007,"nodeType":"Return","src":"2141:39:29"}]},"documentation":{"id":3996,"nodeType":"StructuredDocumentation","src":"1763:245:29","text":"Estimate the reward amount.\n @param _gasPrice The gas price for which we want to retrieve the estimation.\n @return The reward to be included when either posting a new request, or upgrading the reward of a previously posted one."},"id":4009,"implemented":true,"kind":"function","modifiers":[],"name":"_witnetEstimateReward","nameLocation":"2022:21:29","nodeType":"FunctionDefinition","parameters":{"id":3999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3998,"mutability":"mutable","name":"_gasPrice","nameLocation":"2052:9:29","nodeType":"VariableDeclaration","scope":4009,"src":"2044:17:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3997,"name":"uint256","nodeType":"ElementaryTypeName","src":"2044:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2043:19:29"},"returnParameters":{"id":4002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4001,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4009,"src":"2118:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4000,"name":"uint256","nodeType":"ElementaryTypeName","src":"2118:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2117:9:29"},"scope":4134,"src":"2013:174:29","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":4021,"nodeType":"Block","src":"2503:58:29","statements":[{"expression":{"arguments":[{"expression":{"id":4017,"name":"tx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-26,"src":"2542:2:29","typeDescriptions":{"typeIdentifier":"t_magic_transaction","typeString":"tx"}},"id":4018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"gasprice","nodeType":"MemberAccess","src":"2542:11:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4015,"name":"witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3938,"src":"2520:6:29","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestBoard_$4162","typeString":"contract WitnetRequestBoard"}},"id":4016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"estimateReward","nodeType":"MemberAccess","referencedDeclaration":7687,"src":"2520:21:29","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":4019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2520:34:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4014,"id":4020,"nodeType":"Return","src":"2513:41:29"}]},"documentation":{"id":4010,"nodeType":"StructuredDocumentation","src":"2193:204:29","text":"Estimates the reward amount, considering current transaction gas price.\n @return The reward to be included when either posting a new request, or upgrading the reward of a previously posted one."},"id":4022,"implemented":true,"kind":"function","modifiers":[],"name":"_witnetEstimateReward","nameLocation":"2411:21:29","nodeType":"FunctionDefinition","parameters":{"id":4011,"nodeType":"ParameterList","parameters":[],"src":"2432:2:29"},"returnParameters":{"id":4014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4013,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4022,"src":"2490:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4012,"name":"uint256","nodeType":"ElementaryTypeName","src":"2490:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2489:9:29"},"scope":4134,"src":"2402:159:29","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":4055,"nodeType":"Block","src":"3045:214:29","statements":[{"expression":{"id":4036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4033,"name":"_reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4031,"src":"3055:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":4034,"name":"_witnetEstimateReward","nodeType":"Identifier","overloadedDeclarations":[4009,4022],"referencedDeclaration":4022,"src":"3065:21:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":4035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3065:23:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3055:33:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4037,"nodeType":"ExpressionStatement","src":"3055:33:29"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4039,"name":"_reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4031,"src":"3119:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":4040,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3130:3:29","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"3130:9:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3119:20:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5573696e675769746e65743a2072657761726420746f6f206c6f77","id":4043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3153:29:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_55f80fc360f2082a848e28d63f54a94763dc2b59c75e9fef1bf56b42af6f071b","typeString":"literal_string \"UsingWitnet: reward too low\""},"value":"UsingWitnet: reward too low"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_55f80fc360f2082a848e28d63f54a94763dc2b59c75e9fef1bf56b42af6f071b","typeString":"literal_string \"UsingWitnet: reward too low\""}],"id":4038,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3098:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3098:94:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4045,"nodeType":"ExpressionStatement","src":"3098:94:29"},{"expression":{"id":4053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4046,"name":"_id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4029,"src":"3202:3:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":4051,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4026,"src":"3243:8:29","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRequest_$7510","typeString":"contract IWitnetRequest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IWitnetRequest_$7510","typeString":"contract IWitnetRequest"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IWitnetRequest_$7510","typeString":"contract IWitnetRequest"}],"expression":{"id":4047,"name":"witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3938,"src":"3208:6:29","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestBoard_$4162","typeString":"contract WitnetRequestBoard"}},"id":4048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"postRequest","nodeType":"MemberAccess","referencedDeclaration":7667,"src":"3208:18:29","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_contract$_IWitnetRequest_$7510_$returns$_t_uint256_$","typeString":"function (contract IWitnetRequest) payable external returns (uint256)"}},"id":4050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":4049,"name":"_reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4031,"src":"3234:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"3208:34:29","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_contract$_IWitnetRequest_$7510_$returns$_t_uint256_$value","typeString":"function (contract IWitnetRequest) payable external returns (uint256)"}},"id":4052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3208:44:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3202:50:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4054,"nodeType":"ExpressionStatement","src":"3202:50:29"}]},"documentation":{"id":4023,"nodeType":"StructuredDocumentation","src":"2567:336:29","text":"Send a new request to the Witnet network with transaction value as a reward.\n @param _request An instance of `IWitnetRequest` contract.\n @return _id Sequential identifier for the request included in the WitnetRequestBoard.\n @return _reward Current reward amount escrowed by the WRB until a result gets reported."},"id":4056,"implemented":true,"kind":"function","modifiers":[],"name":"_witnetPostRequest","nameLocation":"2917:18:29","nodeType":"FunctionDefinition","parameters":{"id":4027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4026,"mutability":"mutable","name":"_request","nameLocation":"2951:8:29","nodeType":"VariableDeclaration","scope":4056,"src":"2936:23:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRequest_$7510","typeString":"contract IWitnetRequest"},"typeName":{"id":4025,"nodeType":"UserDefinedTypeName","pathNode":{"id":4024,"name":"IWitnetRequest","nodeType":"IdentifierPath","referencedDeclaration":7510,"src":"2936:14:29"},"referencedDeclaration":7510,"src":"2936:14:29","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRequest_$7510","typeString":"contract IWitnetRequest"}},"visibility":"internal"}],"src":"2935:25:29"},"returnParameters":{"id":4032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4029,"mutability":"mutable","name":"_id","nameLocation":"3019:3:29","nodeType":"VariableDeclaration","scope":4056,"src":"3011:11:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4028,"name":"uint256","nodeType":"ElementaryTypeName","src":"3011:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4031,"mutability":"mutable","name":"_reward","nameLocation":"3032:7:29","nodeType":"VariableDeclaration","scope":4056,"src":"3024:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4030,"name":"uint256","nodeType":"ElementaryTypeName","src":"3024:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3010:30:29"},"scope":4134,"src":"2908:351:29","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":4102,"nodeType":"Block","src":"3687:394:29","statements":[{"assignments":[4065],"declarations":[{"constant":false,"id":4065,"mutability":"mutable","name":"_currentReward","nameLocation":"3705:14:29","nodeType":"VariableDeclaration","scope":4102,"src":"3697:22:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4064,"name":"uint256","nodeType":"ElementaryTypeName","src":"3697:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4070,"initialValue":{"arguments":[{"id":4068,"name":"_id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4059,"src":"3747:3:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4066,"name":"witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3938,"src":"3722:6:29","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestBoard_$4162","typeString":"contract WitnetRequestBoard"}},"id":4067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"readRequestReward","nodeType":"MemberAccess","referencedDeclaration":7744,"src":"3722:24:29","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":4069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3722:29:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3697:54:29"},{"assignments":[4072],"declarations":[{"constant":false,"id":4072,"mutability":"mutable","name":"_newReward","nameLocation":"3777:10:29","nodeType":"VariableDeclaration","scope":4102,"src":"3769:18:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4071,"name":"uint256","nodeType":"ElementaryTypeName","src":"3769:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4075,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":4073,"name":"_witnetEstimateReward","nodeType":"Identifier","overloadedDeclarations":[4009,4022],"referencedDeclaration":4022,"src":"3790:21:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":4074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3790:23:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3769:44:29"},{"assignments":[4077],"declarations":[{"constant":false,"id":4077,"mutability":"mutable","name":"_fundsToAdd","nameLocation":"3831:11:29","nodeType":"VariableDeclaration","scope":4102,"src":"3823:19:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4076,"name":"uint256","nodeType":"ElementaryTypeName","src":"3823:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4079,"initialValue":{"hexValue":"30","id":4078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3845:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"3823:23:29"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4080,"name":"_newReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4072,"src":"3860:10:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":4081,"name":"_currentReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4065,"src":"3873:14:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3860:27:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4091,"nodeType":"IfStatement","src":"3856:101:29","trueBody":{"id":4090,"nodeType":"Block","src":"3889:68:29","statements":[{"expression":{"id":4088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4083,"name":"_fundsToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4077,"src":"3903:11:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4084,"name":"_newReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4072,"src":"3918:10:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":4085,"name":"_currentReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4065,"src":"3931:14:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3918:27:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4087,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3917:29:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3903:43:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4089,"nodeType":"ExpressionStatement","src":"3903:43:29"}]}},{"expression":{"arguments":[{"id":4097,"name":"_id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4059,"src":"4007:3:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4092,"name":"witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3938,"src":"3966:6:29","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestBoard_$4162","typeString":"contract WitnetRequestBoard"}},"id":4094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"upgradeReward","nodeType":"MemberAccess","referencedDeclaration":7673,"src":"3966:20:29","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$returns$__$","typeString":"function (uint256) payable external"}},"id":4096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":4095,"name":"_fundsToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4077,"src":"3994:11:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"3966:40:29","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$returns$__$value","typeString":"function (uint256) payable external"}},"id":4098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3966:45:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4099,"nodeType":"ExpressionStatement","src":"3966:45:29"},{"expression":{"id":4100,"name":"_fundsToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4077,"src":"4063:11:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4063,"id":4101,"nodeType":"Return","src":"4056:18:29"}]},"documentation":{"id":4057,"nodeType":"StructuredDocumentation","src":"3265:311:29","text":"Upgrade the reward for a previously posted request.\n @dev Call to `upgradeReward` function in the WitnetRequestBoard contract.\n @param _id The unique identifier of a request that has been previously sent to the WitnetRequestBoard.\n @return Amount in which the reward has been increased."},"id":4103,"implemented":true,"kind":"function","modifiers":[],"name":"_witnetUpgradeReward","nameLocation":"3590:20:29","nodeType":"FunctionDefinition","parameters":{"id":4060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4059,"mutability":"mutable","name":"_id","nameLocation":"3619:3:29","nodeType":"VariableDeclaration","scope":4103,"src":"3611:11:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4058,"name":"uint256","nodeType":"ElementaryTypeName","src":"3611:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3610:13:29"},"returnParameters":{"id":4063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4062,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4103,"src":"3674:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4061,"name":"uint256","nodeType":"ElementaryTypeName","src":"3674:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3673:9:29"},"scope":4134,"src":"3581:500:29","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":4117,"nodeType":"Block","src":"4438:54:29","statements":[{"expression":{"arguments":[{"id":4114,"name":"_id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4106,"src":"4481:3:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4112,"name":"witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3938,"src":"4455:6:29","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestBoard_$4162","typeString":"contract WitnetRequestBoard"}},"id":4113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"readResponseResult","nodeType":"MemberAccess","referencedDeclaration":7778,"src":"4455:25:29","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Result_$8023_memory_ptr_$","typeString":"function (uint256) view external returns (struct Witnet.Result memory)"}},"id":4115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4455:30:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"functionReturnParameters":4111,"id":4116,"nodeType":"Return","src":"4448:37:29"}]},"documentation":{"id":4104,"nodeType":"StructuredDocumentation","src":"4087:225:29","text":"Read the Witnet-provided result to a previously posted request.\n @param _id The unique identifier of a request that was posted to Witnet.\n @return The result of the request as an instance of `Witnet.Result`."},"id":4118,"implemented":true,"kind":"function","modifiers":[],"name":"_witnetReadResult","nameLocation":"4326:17:29","nodeType":"FunctionDefinition","parameters":{"id":4107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4106,"mutability":"mutable","name":"_id","nameLocation":"4352:3:29","nodeType":"VariableDeclaration","scope":4118,"src":"4344:11:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4105,"name":"uint256","nodeType":"ElementaryTypeName","src":"4344:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4343:13:29"},"returnParameters":{"id":4111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4110,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4118,"src":"4412:20:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":4109,"nodeType":"UserDefinedTypeName","pathNode":{"id":4108,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"4412:13:29"},"referencedDeclaration":8023,"src":"4412:13:29","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"4411:22:29"},"scope":4134,"src":"4317:175:29","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":4132,"nodeType":"Block","src":"4872:47:29","statements":[{"expression":{"arguments":[{"id":4129,"name":"_id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4121,"src":"4908:3:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4127,"name":"witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3938,"src":"4889:6:29","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestBoard_$4162","typeString":"contract WitnetRequestBoard"}},"id":4128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deleteQuery","nodeType":"MemberAccess","referencedDeclaration":7658,"src":"4889:18:29","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$_t_struct$_Response_$8017_memory_ptr_$","typeString":"function (uint256) external returns (struct Witnet.Response memory)"}},"id":4130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4889:23:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_memory_ptr","typeString":"struct Witnet.Response memory"}},"functionReturnParameters":4126,"id":4131,"nodeType":"Return","src":"4882:30:29"}]},"documentation":{"id":4119,"nodeType":"StructuredDocumentation","src":"4498:250:29","text":"Retrieves copy of all response data related to a previously posted request, removing the whole query from storage.\n @param _id The unique identifier of a previously posted request.\n @return The Witnet-provided result to the request."},"id":4133,"implemented":true,"kind":"function","modifiers":[],"name":"_witnetDeleteQuery","nameLocation":"4762:18:29","nodeType":"FunctionDefinition","parameters":{"id":4122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4121,"mutability":"mutable","name":"_id","nameLocation":"4789:3:29","nodeType":"VariableDeclaration","scope":4133,"src":"4781:11:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4120,"name":"uint256","nodeType":"ElementaryTypeName","src":"4781:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4780:13:29"},"returnParameters":{"id":4126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4125,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4133,"src":"4844:22:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_memory_ptr","typeString":"struct Witnet.Response"},"typeName":{"id":4124,"nodeType":"UserDefinedTypeName","pathNode":{"id":4123,"name":"Witnet.Response","nodeType":"IdentifierPath","referencedDeclaration":8017,"src":"4844:15:29"},"referencedDeclaration":8017,"src":"4844:15:29","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage_ptr","typeString":"struct Witnet.Response"}},"visibility":"internal"}],"src":"4843:24:29"},"scope":4134,"src":"4753:166:29","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":4135,"src":"304:4618:29","usedErrors":[]}],"src":"33:4890:29"},"id":29},"witnet-solidity-bridge/contracts/WitnetRequestBoard.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/WitnetRequestBoard.sol","exportedSymbols":{"IWitnetRequest":[7510],"IWitnetRequestBoardEvents":[7593],"IWitnetRequestBoardReporter":[7644],"IWitnetRequestBoardRequestor":[7674],"IWitnetRequestBoardView":[7787],"IWitnetRequestParser":[7965],"Witnet":[8300],"WitnetRequestBoard":[4162]},"id":4163,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4136,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:30"},{"id":4137,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"65:33:30"},{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardEvents.sol","file":"./interfaces/IWitnetRequestBoardEvents.sol","id":4138,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4163,"sourceUnit":7594,"src":"100:52:30","symbolAliases":[],"unitAlias":""},{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardReporter.sol","file":"./interfaces/IWitnetRequestBoardReporter.sol","id":4139,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4163,"sourceUnit":7645,"src":"153:54:30","symbolAliases":[],"unitAlias":""},{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardRequestor.sol","file":"./interfaces/IWitnetRequestBoardRequestor.sol","id":4140,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4163,"sourceUnit":7675,"src":"208:55:30","symbolAliases":[],"unitAlias":""},{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardView.sol","file":"./interfaces/IWitnetRequestBoardView.sol","id":4141,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4163,"sourceUnit":7788,"src":"264:50:30","symbolAliases":[],"unitAlias":""},{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestParser.sol","file":"./interfaces/IWitnetRequestParser.sol","id":4142,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4163,"sourceUnit":7966,"src":"315:47:30","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":4144,"name":"IWitnetRequestBoardEvents","nodeType":"IdentifierPath","referencedDeclaration":7593,"src":"504:25:30"},"id":4145,"nodeType":"InheritanceSpecifier","src":"504:25:30"},{"baseName":{"id":4146,"name":"IWitnetRequestBoardReporter","nodeType":"IdentifierPath","referencedDeclaration":7644,"src":"535:27:30"},"id":4147,"nodeType":"InheritanceSpecifier","src":"535:27:30"},{"baseName":{"id":4148,"name":"IWitnetRequestBoardRequestor","nodeType":"IdentifierPath","referencedDeclaration":7674,"src":"568:28:30"},"id":4149,"nodeType":"InheritanceSpecifier","src":"568:28:30"},{"baseName":{"id":4150,"name":"IWitnetRequestBoardView","nodeType":"IdentifierPath","referencedDeclaration":7787,"src":"602:23:30"},"id":4151,"nodeType":"InheritanceSpecifier","src":"602:23:30"},{"baseName":{"id":4152,"name":"IWitnetRequestParser","nodeType":"IdentifierPath","referencedDeclaration":7965,"src":"631:20:30"},"id":4153,"nodeType":"InheritanceSpecifier","src":"631:20:30"}],"contractDependencies":[],"contractKind":"contract","documentation":{"id":4143,"nodeType":"StructuredDocumentation","src":"364:96:30","text":"@title Witnet Request Board functionality base contract.\n @author The Witnet Foundation."},"fullyImplemented":false,"id":4162,"linearizedBaseContracts":[4162,7965,7787,7674,7644,7593],"name":"WitnetRequestBoard","nameLocation":"478:18:30","nodeType":"ContractDefinition","nodes":[{"body":{"id":4160,"nodeType":"Block","src":"685:68:30","statements":[{"expression":{"arguments":[{"hexValue":"5769746e657452657175657374426f6172643a206e6f207472616e7366657273206163636570746564","id":4157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"702:43:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d0f3639c50be0afccc47d7224de7d8f86286c512c889d59db02617fd5eda150","typeString":"literal_string \"WitnetRequestBoard: no transfers accepted\""},"value":"WitnetRequestBoard: no transfers accepted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d0f3639c50be0afccc47d7224de7d8f86286c512c889d59db02617fd5eda150","typeString":"literal_string \"WitnetRequestBoard: no transfers accepted\""}],"id":4156,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"695:6:30","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":4158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"695:51:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4159,"nodeType":"ExpressionStatement","src":"695:51:30"}]},"id":4161,"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":4154,"nodeType":"ParameterList","parameters":[],"src":"665:2:30"},"returnParameters":{"id":4155,"nodeType":"ParameterList","parameters":[],"src":"685:0:30"},"scope":4162,"src":"658:95:30","stateMutability":"payable","virtual":false,"visibility":"external"}],"scope":4163,"src":"460:295:30","usedErrors":[]}],"src":"33:723:30"},"id":30},"witnet-solidity-bridge/contracts/apps/WitnetRandomness.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/apps/WitnetRandomness.sol","exportedSymbols":{"Clonable":[11629],"Context":[11660],"IWitnetRandomness":[7494],"IWitnetRequest":[7510],"IWitnetRequestBoardEvents":[7593],"IWitnetRequestBoardReporter":[7644],"IWitnetRequestBoardRequestor":[7674],"IWitnetRequestBoardView":[7787],"IWitnetRequestParser":[7965],"Initializable":[11676],"Ownable":[11781],"Proxiable":[11841],"UsingWitnet":[4134],"Witnet":[8300],"WitnetRandomness":[4952],"WitnetRequestBoard":[4162],"WitnetRequestMalleableBase":[12720],"WitnetRequestRandomness":[12753]},"id":4953,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4164,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:31"},{"id":4165,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"65:33:31"},{"absolutePath":"witnet-solidity-bridge/contracts/UsingWitnet.sol","file":"../UsingWitnet.sol","id":4166,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4953,"sourceUnit":4135,"src":"100:28:31","symbolAliases":[],"unitAlias":""},{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IWitnetRandomness.sol","file":"../interfaces/IWitnetRandomness.sol","id":4167,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4953,"sourceUnit":7495,"src":"129:45:31","symbolAliases":[],"unitAlias":""},{"absolutePath":"witnet-solidity-bridge/contracts/requests/WitnetRequestRandomness.sol","file":"../requests/WitnetRequestRandomness.sol","id":4168,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4953,"sourceUnit":12754,"src":"175:49:31","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":4170,"name":"IWitnetRandomness","nodeType":"IdentifierPath","referencedDeclaration":7494,"src":"403:17:31"},"id":4171,"nodeType":"InheritanceSpecifier","src":"403:17:31"},{"baseName":{"id":4172,"name":"UsingWitnet","nodeType":"IdentifierPath","referencedDeclaration":4134,"src":"430:11:31"},"id":4173,"nodeType":"InheritanceSpecifier","src":"430:11:31"},{"baseName":{"id":4174,"name":"Clonable","nodeType":"IdentifierPath","referencedDeclaration":11629,"src":"451:8:31"},"id":4175,"nodeType":"InheritanceSpecifier","src":"451:8:31"}],"contractDependencies":[12753],"contractKind":"contract","documentation":{"id":4169,"nodeType":"StructuredDocumentation","src":"226:136:31","text":"@title WitnetRandomness: A trustless randomness generator and registry, based on the Witnet oracle. \n @author Witnet Foundation."},"fullyImplemented":true,"id":4952,"linearizedBaseContracts":[4952,11629,11676,4134,7494],"name":"WitnetRandomness","nameLocation":"371:16:31","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"3b13e76e","id":4178,"mutability":"mutable","name":"witnetRandomnessRequest","nameLocation":"497:23:31","nodeType":"VariableDeclaration","scope":4952,"src":"466:54:31","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestRandomness_$12753","typeString":"contract WitnetRequestRandomness"},"typeName":{"id":4177,"nodeType":"UserDefinedTypeName","pathNode":{"id":4176,"name":"WitnetRequestRandomness","nodeType":"IdentifierPath","referencedDeclaration":12753,"src":"466:23:31"},"referencedDeclaration":12753,"src":"466:23:31","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestRandomness_$12753","typeString":"contract WitnetRequestRandomness"}},"visibility":"public"},{"baseFunctions":[7455],"constant":false,"functionSelector":"9938fd0c","id":4181,"mutability":"mutable","name":"latestRandomizeBlock","nameLocation":"550:20:31","nodeType":"VariableDeclaration","overrides":{"id":4180,"nodeType":"OverrideSpecifier","overrides":[],"src":"541:8:31"},"scope":4952,"src":"526:44:31","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4179,"name":"uint256","nodeType":"ElementaryTypeName","src":"526:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"id":4186,"mutability":"mutable","name":"__randomize_","nameLocation":"621:12:31","nodeType":"VariableDeclaration","scope":4952,"src":"577:56:31","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RandomizeData_$4195_storage_$","typeString":"mapping(uint256 => struct WitnetRandomness.RandomizeData)"},"typeName":{"id":4185,"keyType":{"id":4182,"name":"uint256","nodeType":"ElementaryTypeName","src":"586:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"577:34:31","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RandomizeData_$4195_storage_$","typeString":"mapping(uint256 => struct WitnetRandomness.RandomizeData)"},"valueType":{"id":4184,"nodeType":"UserDefinedTypeName","pathNode":{"id":4183,"name":"RandomizeData","nodeType":"IdentifierPath","referencedDeclaration":4195,"src":"597:13:31"},"referencedDeclaration":4195,"src":"597:13:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData"}}},"visibility":"internal"},{"canonicalName":"WitnetRandomness.RandomizeData","id":4195,"members":[{"constant":false,"id":4188,"mutability":"mutable","name":"from","nameLocation":"678:4:31","nodeType":"VariableDeclaration","scope":4195,"src":"670:12:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4187,"name":"address","nodeType":"ElementaryTypeName","src":"670:7:31","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4190,"mutability":"mutable","name":"prevBlock","nameLocation":"700:9:31","nodeType":"VariableDeclaration","scope":4195,"src":"692:17:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4189,"name":"uint256","nodeType":"ElementaryTypeName","src":"692:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4192,"mutability":"mutable","name":"nextBlock","nameLocation":"727:9:31","nodeType":"VariableDeclaration","scope":4195,"src":"719:17:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4191,"name":"uint256","nodeType":"ElementaryTypeName","src":"719:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4194,"mutability":"mutable","name":"witnetQueryId","nameLocation":"754:13:31","nodeType":"VariableDeclaration","scope":4195,"src":"746:21:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4193,"name":"uint256","nodeType":"ElementaryTypeName","src":"746:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"RandomizeData","nameLocation":"646:13:31","nodeType":"StructDefinition","scope":4952,"src":"639:135:31","visibility":"public"},{"body":{"id":4219,"nodeType":"Block","src":"1011:135:31","statements":[{"expression":{"id":4210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4205,"name":"witnetRandomnessRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4178,"src":"1021:23:31","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestRandomness_$12753","typeString":"contract WitnetRequestRandomness"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":4208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1047:27:31","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_WitnetRequestRandomness_$12753_$","typeString":"function () returns (contract WitnetRequestRandomness)"},"typeName":{"id":4207,"nodeType":"UserDefinedTypeName","pathNode":{"id":4206,"name":"WitnetRequestRandomness","nodeType":"IdentifierPath","referencedDeclaration":12753,"src":"1051:23:31"},"referencedDeclaration":12753,"src":"1051:23:31","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestRandomness_$12753","typeString":"contract WitnetRequestRandomness"}}},"id":4209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1047:29:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestRandomness_$12753","typeString":"contract WitnetRequestRandomness"}},"src":"1021:55:31","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestRandomness_$12753","typeString":"contract WitnetRequestRandomness"}},"id":4211,"nodeType":"ExpressionStatement","src":"1021:55:31"},{"expression":{"arguments":[{"expression":{"id":4215,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1128:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"1128:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":4212,"name":"witnetRandomnessRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4178,"src":"1086:23:31","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestRandomness_$12753","typeString":"contract WitnetRequestRandomness"}},"id":4214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transferOwnership","nodeType":"MemberAccess","referencedDeclaration":11760,"src":"1086:41:31","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":4217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1086:53:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4218,"nodeType":"ExpressionStatement","src":"1086:53:31"}]},"documentation":{"id":4196,"nodeType":"StructuredDocumentation","src":"780:159:31","text":"Include an address to specify the immutable WitnetRequestBoard entrypoint address.\n @param _wrb The WitnetRequestBoard immutable entrypoint address."},"id":4220,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":4202,"name":"_wrb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4199,"src":"1001:4:31","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestBoard_$4162","typeString":"contract WitnetRequestBoard"}}],"id":4203,"kind":"baseConstructorSpecifier","modifierName":{"id":4201,"name":"UsingWitnet","nodeType":"IdentifierPath","referencedDeclaration":4134,"src":"989:11:31"},"nodeType":"ModifierInvocation","src":"989:17:31"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":4200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4199,"mutability":"mutable","name":"_wrb","nameLocation":"975:4:31","nodeType":"VariableDeclaration","scope":4220,"src":"956:23:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestBoard_$4162","typeString":"contract WitnetRequestBoard"},"typeName":{"id":4198,"nodeType":"UserDefinedTypeName","pathNode":{"id":4197,"name":"WitnetRequestBoard","nodeType":"IdentifierPath","referencedDeclaration":4162,"src":"956:18:31"},"referencedDeclaration":4162,"src":"956:18:31","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestBoard_$4162","typeString":"contract WitnetRequestBoard"}},"visibility":"internal"}],"src":"955:25:31"},"returnParameters":{"id":4204,"nodeType":"ParameterList","parameters":[],"src":"1011:0:31"},"scope":4952,"src":"944:202:31","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[7403],"body":{"id":4233,"nodeType":"Block","src":"1421:56:31","statements":[{"expression":{"arguments":[{"id":4230,"name":"_gasPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4223,"src":"1460:9:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4229,"name":"_witnetEstimateReward","nodeType":"Identifier","overloadedDeclarations":[4009,4022],"referencedDeclaration":4009,"src":"1438:21:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":4231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1438:32:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4228,"id":4232,"nodeType":"Return","src":"1431:39:31"}]},"documentation":{"id":4221,"nodeType":"StructuredDocumentation","src":"1152:140:31","text":"Returns amount of wei required to be paid as a fee when requesting randomization with a \n transaction gas price as the one given."},"functionSelector":"a60ee268","id":4234,"implemented":true,"kind":"function","modifiers":[],"name":"estimateRandomizeFee","nameLocation":"1306:20:31","nodeType":"FunctionDefinition","overrides":{"id":4225,"nodeType":"OverrideSpecifier","overrides":[],"src":"1382:8:31"},"parameters":{"id":4224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4223,"mutability":"mutable","name":"_gasPrice","nameLocation":"1335:9:31","nodeType":"VariableDeclaration","scope":4234,"src":"1327:17:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4222,"name":"uint256","nodeType":"ElementaryTypeName","src":"1327:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1326:19:31"},"returnParameters":{"id":4228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4227,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4234,"src":"1408:7:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4226,"name":"uint256","nodeType":"ElementaryTypeName","src":"1408:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1407:9:31"},"scope":4952,"src":"1297:180:31","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[7417],"body":{"id":4276,"nodeType":"Block","src":"2393:206:31","statements":[{"assignments":[4251],"declarations":[{"constant":false,"id":4251,"mutability":"mutable","name":"_data","nameLocation":"2425:5:31","nodeType":"VariableDeclaration","scope":4276,"src":"2403:27:31","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData"},"typeName":{"id":4250,"nodeType":"UserDefinedTypeName","pathNode":{"id":4249,"name":"RandomizeData","nodeType":"IdentifierPath","referencedDeclaration":4195,"src":"2403:13:31"},"referencedDeclaration":4195,"src":"2403:13:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData"}},"visibility":"internal"}],"id":4255,"initialValue":{"baseExpression":{"id":4252,"name":"__randomize_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4186,"src":"2433:12:31","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RandomizeData_$4195_storage_$","typeString":"mapping(uint256 => struct WitnetRandomness.RandomizeData storage ref)"}},"id":4254,"indexExpression":{"id":4253,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4237,"src":"2446:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2433:20:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage","typeString":"struct WitnetRandomness.RandomizeData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"2403:50:31"},{"expression":{"id":4259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4256,"name":"_id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4243,"src":"2463:3:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4257,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4251,"src":"2469:5:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData storage pointer"}},"id":4258,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"witnetQueryId","nodeType":"MemberAccess","referencedDeclaration":4194,"src":"2469:19:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2463:25:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4260,"nodeType":"ExpressionStatement","src":"2463:25:31"},{"expression":{"id":4264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4261,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4241,"src":"2498:5:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4262,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4251,"src":"2506:5:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData storage pointer"}},"id":4263,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":4188,"src":"2506:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2498:18:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4265,"nodeType":"ExpressionStatement","src":"2498:18:31"},{"expression":{"id":4269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4266,"name":"_prevBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4245,"src":"2526:10:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4267,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4251,"src":"2539:5:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData storage pointer"}},"id":4268,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"prevBlock","nodeType":"MemberAccess","referencedDeclaration":4190,"src":"2539:15:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2526:28:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4270,"nodeType":"ExpressionStatement","src":"2526:28:31"},{"expression":{"id":4274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4271,"name":"_nextBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4247,"src":"2564:10:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4272,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4251,"src":"2577:5:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData storage pointer"}},"id":4273,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"nextBlock","nodeType":"MemberAccess","referencedDeclaration":4192,"src":"2577:15:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2564:28:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4275,"nodeType":"ExpressionStatement","src":"2564:28:31"}]},"documentation":{"id":4235,"nodeType":"StructuredDocumentation","src":"1483:669:31","text":"Retrieves data of a randomization request that got successfully posted to the WRB within a given block.\n @dev Returns zero values if no randomness request was actually posted within a given block.\n @param _block Block number whose randomness request is being queried for.\n @return _from Address from which the latest randomness request was posted.\n @return _id Unique request identifier as provided by the WRB.\n @return _prevBlock Block number in which a randomness request got posted just before this one. 0 if none.\n @return _nextBlock Block number in which a randomness request got posted just after this one, 0 if none."},"functionSelector":"a3252f68","id":4277,"implemented":true,"kind":"function","modifiers":[],"name":"getRandomizeData","nameLocation":"2166:16:31","nodeType":"FunctionDefinition","overrides":{"id":4239,"nodeType":"OverrideSpecifier","overrides":[],"src":"2237:8:31"},"parameters":{"id":4238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4237,"mutability":"mutable","name":"_block","nameLocation":"2191:6:31","nodeType":"VariableDeclaration","scope":4277,"src":"2183:14:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4236,"name":"uint256","nodeType":"ElementaryTypeName","src":"2183:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2182:16:31"},"returnParameters":{"id":4248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4241,"mutability":"mutable","name":"_from","nameLocation":"2284:5:31","nodeType":"VariableDeclaration","scope":4277,"src":"2276:13:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4240,"name":"address","nodeType":"ElementaryTypeName","src":"2276:7:31","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4243,"mutability":"mutable","name":"_id","nameLocation":"2311:3:31","nodeType":"VariableDeclaration","scope":4277,"src":"2303:11:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4242,"name":"uint256","nodeType":"ElementaryTypeName","src":"2303:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4245,"mutability":"mutable","name":"_prevBlock","nameLocation":"2336:10:31","nodeType":"VariableDeclaration","scope":4277,"src":"2328:18:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4244,"name":"uint256","nodeType":"ElementaryTypeName","src":"2328:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4247,"mutability":"mutable","name":"_nextBlock","nameLocation":"2368:10:31","nodeType":"VariableDeclaration","scope":4277,"src":"2360:18:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4246,"name":"uint256","nodeType":"ElementaryTypeName","src":"2360:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2262:126:31"},"scope":4952,"src":"2157:442:31","stateMutability":"view","virtual":true,"visibility":"external"},{"baseFunctions":[7425],"body":{"id":4363,"nodeType":"Block","src":"3537:768:31","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":4286,"name":"__randomize_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4186,"src":"3551:12:31","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RandomizeData_$4195_storage_$","typeString":"mapping(uint256 => struct WitnetRandomness.RandomizeData storage ref)"}},"id":4288,"indexExpression":{"id":4287,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4280,"src":"3564:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3551:20:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage","typeString":"struct WitnetRandomness.RandomizeData storage ref"}},"id":4289,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":4188,"src":"3551:25:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":4292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3588:1:31","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":4291,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3580:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4290,"name":"address","nodeType":"ElementaryTypeName","src":"3580:7:31","typeDescriptions":{}}},"id":4293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3580:10:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3551:39:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4302,"nodeType":"IfStatement","src":"3547:109:31","trueBody":{"id":4301,"nodeType":"Block","src":"3592:64:31","statements":[{"expression":{"id":4299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4295,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4280,"src":"3606:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":4297,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4280,"src":"3638:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4296,"name":"getRandomnessNextBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4395,"src":"3615:22:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":4298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3615:30:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3606:39:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4300,"nodeType":"ExpressionStatement","src":"3606:39:31"}]}},{"assignments":[4304],"declarations":[{"constant":false,"id":4304,"mutability":"mutable","name":"_queryId","nameLocation":"3673:8:31","nodeType":"VariableDeclaration","scope":4363,"src":"3665:16:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4303,"name":"uint256","nodeType":"ElementaryTypeName","src":"3665:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4309,"initialValue":{"expression":{"baseExpression":{"id":4305,"name":"__randomize_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4186,"src":"3684:12:31","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RandomizeData_$4195_storage_$","typeString":"mapping(uint256 => struct WitnetRandomness.RandomizeData storage ref)"}},"id":4307,"indexExpression":{"id":4306,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4280,"src":"3697:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3684:20:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage","typeString":"struct WitnetRandomness.RandomizeData storage ref"}},"id":4308,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"witnetQueryId","nodeType":"MemberAccess","referencedDeclaration":4194,"src":"3684:34:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3665:53:31"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4311,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4304,"src":"3736:8:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":4312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3748:1:31","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3736:13:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657452616e646f6d6e6573733a206e6f742072616e646f6d697a6564","id":4314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3751:34:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c09ea17e2de3ad790d29399fa76d05d6700bd912e14021f467bb3897d40c692","typeString":"literal_string \"WitnetRandomness: not randomized\""},"value":"WitnetRandomness: not randomized"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8c09ea17e2de3ad790d29399fa76d05d6700bd912e14021f467bb3897d40c692","typeString":"literal_string \"WitnetRandomness: not randomized\""}],"id":4310,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3728:7:31","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3728:58:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4316,"nodeType":"ExpressionStatement","src":"3728:58:31"},{"expression":{"arguments":[{"arguments":[{"id":4319,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4304,"src":"3835:8:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4318,"name":"_witnetCheckResultAvailability","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3995,"src":"3804:30:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":4320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3804:40:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657452616e646f6d6e6573733a2070656e64696e672072616e646f6d697a65","id":4321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3846:37:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ccb45f5bf081c7ce3a014d3becfd9889cc2ed630aa4db79533f91e96077c0ae","typeString":"literal_string \"WitnetRandomness: pending randomize\""},"value":"WitnetRandomness: pending randomize"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2ccb45f5bf081c7ce3a014d3becfd9889cc2ed630aa4db79533f91e96077c0ae","typeString":"literal_string \"WitnetRandomness: pending randomize\""}],"id":4317,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3796:7:31","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3796:88:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4323,"nodeType":"ExpressionStatement","src":"3796:88:31"},{"assignments":[4328],"declarations":[{"constant":false,"id":4328,"mutability":"mutable","name":"_witnetResult","nameLocation":"3915:13:31","nodeType":"VariableDeclaration","scope":4363,"src":"3894:34:31","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":4327,"nodeType":"UserDefinedTypeName","pathNode":{"id":4326,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"3894:13:31"},"referencedDeclaration":8023,"src":"3894:13:31","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"id":4332,"initialValue":{"arguments":[{"id":4330,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4304,"src":"3949:8:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4329,"name":"_witnetReadResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4118,"src":"3931:17:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_struct$_Result_$8023_memory_ptr_$","typeString":"function (uint256) view returns (struct Witnet.Result memory)"}},"id":4331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3931:27:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"nodeType":"VariableDeclarationStatement","src":"3894:64:31"},{"condition":{"arguments":[{"id":4335,"name":"_witnetResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4328,"src":"3984:13:31","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}],"expression":{"id":4333,"name":"witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3938,"src":"3972:6:31","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestBoard_$4162","typeString":"contract WitnetRequestBoard"}},"id":4334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isOk","nodeType":"MemberAccess","referencedDeclaration":7820,"src":"3972:11:31","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_struct$_Result_$8023_memory_ptr_$returns$_t_bool_$","typeString":"function (struct Witnet.Result memory) pure external returns (bool)"}},"id":4336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3972:26:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":4361,"nodeType":"Block","src":"4069:230:31","statements":[{"assignments":[4344],"declarations":[{"constant":false,"id":4344,"mutability":"mutable","name":"_nextRandomizeBlock","nameLocation":"4091:19:31","nodeType":"VariableDeclaration","scope":4361,"src":"4083:27:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4343,"name":"uint256","nodeType":"ElementaryTypeName","src":"4083:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4349,"initialValue":{"expression":{"baseExpression":{"id":4345,"name":"__randomize_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4186,"src":"4113:12:31","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RandomizeData_$4195_storage_$","typeString":"mapping(uint256 => struct WitnetRandomness.RandomizeData storage ref)"}},"id":4347,"indexExpression":{"id":4346,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4280,"src":"4126:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4113:20:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage","typeString":"struct WitnetRandomness.RandomizeData storage ref"}},"id":4348,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"nextBlock","nodeType":"MemberAccess","referencedDeclaration":4192,"src":"4113:30:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4083:60:31"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4351,"name":"_nextRandomizeBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4344,"src":"4165:19:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":4352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4188:1:31","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4165:24:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657452616e646f6d6e6573733a206661756c74792072616e646f6d697a65","id":4354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4191:36:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_2063d17e40f52e2680483996eebc5eb14841a31f35c049e2b83eef96cc3ab1c2","typeString":"literal_string \"WitnetRandomness: faulty randomize\""},"value":"WitnetRandomness: faulty randomize"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2063d17e40f52e2680483996eebc5eb14841a31f35c049e2b83eef96cc3ab1c2","typeString":"literal_string \"WitnetRandomness: faulty randomize\""}],"id":4350,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4157:7:31","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4157:71:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4356,"nodeType":"ExpressionStatement","src":"4157:71:31"},{"expression":{"arguments":[{"id":4358,"name":"_nextRandomizeBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4344,"src":"4268:19:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4357,"name":"getRandomnessAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4364,"src":"4249:18:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":4359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4249:39:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":4285,"id":4360,"nodeType":"Return","src":"4242:46:31"}]},"id":4362,"nodeType":"IfStatement","src":"3968:331:31","trueBody":{"id":4342,"nodeType":"Block","src":"4000:63:31","statements":[{"expression":{"arguments":[{"id":4339,"name":"_witnetResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4328,"src":"4038:13:31","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}],"expression":{"id":4337,"name":"witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3938,"src":"4021:6:31","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestBoard_$4162","typeString":"contract WitnetRequestBoard"}},"id":4338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"asBytes32","nodeType":"MemberAccess","referencedDeclaration":7847,"src":"4021:16:31","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_struct$_Result_$8023_memory_ptr_$returns$_t_bytes32_$","typeString":"function (struct Witnet.Result memory) pure external returns (bytes32)"}},"id":4340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4021:31:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":4285,"id":4341,"nodeType":"Return","src":"4014:38:31"}]}}]},"documentation":{"id":4278,"nodeType":"StructuredDocumentation","src":"2605:808:31","text":"Retrieves the randomness generated upon solving a request that was posted within a given block,\n if any, or to the _first_ request posted after that block, otherwise. Should the intended \n request happen to be finalized with errors on the Witnet oracle network side, this function \n will recursively try to return randomness from the next non-faulty randomization request found \n in storage, if any. \n @dev Fails if:\n @dev   i.   no `randomize()` was not called in either the given block, or afterwards.\n @dev   ii.  a request posted in/after given block does exist, but no result has been provided yet.\n @dev   iii. all requests in/after the given block were solved with errors.\n @param _block Block number from which the search will start."},"functionSelector":"fb476cad","id":4364,"implemented":true,"kind":"function","modifiers":[],"name":"getRandomnessAfter","nameLocation":"3427:18:31","nodeType":"FunctionDefinition","overrides":{"id":4282,"nodeType":"OverrideSpecifier","overrides":[],"src":"3498:8:31"},"parameters":{"id":4281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4280,"mutability":"mutable","name":"_block","nameLocation":"3454:6:31","nodeType":"VariableDeclaration","scope":4364,"src":"3446:14:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4279,"name":"uint256","nodeType":"ElementaryTypeName","src":"3446:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3445:16:31"},"returnParameters":{"id":4285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4284,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4364,"src":"3524:7:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4283,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3524:7:31","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3523:9:31"},"scope":4952,"src":"3418:887:31","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[7433],"body":{"id":4394,"nodeType":"Block","src":"4707:232:31","statements":[{"expression":{"components":[{"condition":{"components":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":4373,"name":"__randomize_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4186,"src":"4726:12:31","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RandomizeData_$4195_storage_$","typeString":"mapping(uint256 => struct WitnetRandomness.RandomizeData storage ref)"}},"id":4375,"indexExpression":{"id":4374,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4367,"src":"4739:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4726:20:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage","typeString":"struct WitnetRandomness.RandomizeData storage ref"}},"id":4376,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":4188,"src":"4726:25:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":4379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4763:1:31","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":4378,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4755:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4377,"name":"address","nodeType":"ElementaryTypeName","src":"4755:7:31","typeDescriptions":{}}},"id":4380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4755:10:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4726:39:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":4382,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4725:41:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":4388,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4367,"src":"4893:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4389,"name":"latestRandomizeBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4181,"src":"4901:20:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4387,"name":"_searchNextBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4925,"src":"4876:16:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":4390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4876:46:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4725:197:31","trueExpression":{"expression":{"baseExpression":{"id":4383,"name":"__randomize_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4186,"src":"4781:12:31","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RandomizeData_$4195_storage_$","typeString":"mapping(uint256 => struct WitnetRandomness.RandomizeData storage ref)"}},"id":4385,"indexExpression":{"id":4384,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4367,"src":"4794:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4781:20:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage","typeString":"struct WitnetRandomness.RandomizeData storage ref"}},"id":4386,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"nextBlock","nodeType":"MemberAccess","referencedDeclaration":4192,"src":"4781:30:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4392,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4724:208:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4372,"id":4393,"nodeType":"Return","src":"4717:215:31"}]},"documentation":{"id":4365,"nodeType":"StructuredDocumentation","src":"4311:268:31","text":"Tells what is the number of the next block in which a randomization request was posted after the given one. \n @param _block Block number from which the search will start.\n @return Number of the first block found after the given one, or `0` otherwise."},"functionSelector":"40b41daa","id":4395,"implemented":true,"kind":"function","modifiers":[],"name":"getRandomnessNextBlock","nameLocation":"4593:22:31","nodeType":"FunctionDefinition","overrides":{"id":4369,"nodeType":"OverrideSpecifier","overrides":[],"src":"4668:8:31"},"parameters":{"id":4368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4367,"mutability":"mutable","name":"_block","nameLocation":"4624:6:31","nodeType":"VariableDeclaration","scope":4395,"src":"4616:14:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4366,"name":"uint256","nodeType":"ElementaryTypeName","src":"4616:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4615:16:31"},"returnParameters":{"id":4372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4371,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4395,"src":"4694:7:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4370,"name":"uint256","nodeType":"ElementaryTypeName","src":"4694:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4693:9:31"},"scope":4952,"src":"4584:355:31","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[7441],"body":{"id":4429,"nodeType":"Block","src":"5318:273:31","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4405,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4398,"src":"5335:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5344:1:31","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5335:10:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":4404,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"5328:6:31","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":4408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5328:18:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4409,"nodeType":"ExpressionStatement","src":"5328:18:31"},{"assignments":[4411],"declarations":[{"constant":false,"id":4411,"mutability":"mutable","name":"_latest","nameLocation":"5364:7:31","nodeType":"VariableDeclaration","scope":4429,"src":"5356:15:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4410,"name":"uint256","nodeType":"ElementaryTypeName","src":"5356:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4413,"initialValue":{"id":4412,"name":"latestRandomizeBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4181,"src":"5374:20:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5356:38:31"},{"expression":{"components":[{"condition":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4414,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4398,"src":"5413:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":4415,"name":"_latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4411,"src":"5422:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5413:16:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":4417,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5412:18:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":4420,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4398,"src":"5534:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":4421,"name":"__randomize_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4186,"src":"5542:12:31","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RandomizeData_$4195_storage_$","typeString":"mapping(uint256 => struct WitnetRandomness.RandomizeData storage ref)"}},"id":4423,"indexExpression":{"id":4422,"name":"_latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4411,"src":"5555:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5542:21:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage","typeString":"struct WitnetRandomness.RandomizeData storage ref"}},"id":4424,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"prevBlock","nodeType":"MemberAccess","referencedDeclaration":4190,"src":"5542:31:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4419,"name":"_searchPrevBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4951,"src":"5517:16:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":4425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5517:57:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5412:162:31","trueExpression":{"id":4418,"name":"_latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4411,"src":"5445:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4427,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5411:173:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4403,"id":4428,"nodeType":"Return","src":"5404:180:31"}]},"documentation":{"id":4396,"nodeType":"StructuredDocumentation","src":"4945:245:31","text":"Gets previous block in which a randomness request was posted before the given one.\n @param _block Block number from which the search will start. Cannot be zero.\n @return First block found before the given one, or `0` otherwise."},"functionSelector":"36b651bb","id":4430,"implemented":true,"kind":"function","modifiers":[],"name":"getRandomnessPrevBlock","nameLocation":"5204:22:31","nodeType":"FunctionDefinition","overrides":{"id":4400,"nodeType":"OverrideSpecifier","overrides":[],"src":"5279:8:31"},"parameters":{"id":4399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4398,"mutability":"mutable","name":"_block","nameLocation":"5235:6:31","nodeType":"VariableDeclaration","scope":4430,"src":"5227:14:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4397,"name":"uint256","nodeType":"ElementaryTypeName","src":"5227:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5226:16:31"},"returnParameters":{"id":4403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4402,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4430,"src":"5305:7:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4401,"name":"uint256","nodeType":"ElementaryTypeName","src":"5305:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5304:9:31"},"scope":4952,"src":"5195:396:31","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[7449],"body":{"id":4457,"nodeType":"Block","src":"5906:204:31","statements":[{"assignments":[4441],"declarations":[{"constant":false,"id":4441,"mutability":"mutable","name":"_data","nameLocation":"5938:5:31","nodeType":"VariableDeclaration","scope":4457,"src":"5916:27:31","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData"},"typeName":{"id":4440,"nodeType":"UserDefinedTypeName","pathNode":{"id":4439,"name":"RandomizeData","nodeType":"IdentifierPath","referencedDeclaration":4195,"src":"5916:13:31"},"referencedDeclaration":4195,"src":"5916:13:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData"}},"visibility":"internal"}],"id":4445,"initialValue":{"baseExpression":{"id":4442,"name":"__randomize_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4186,"src":"5946:12:31","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RandomizeData_$4195_storage_$","typeString":"mapping(uint256 => struct WitnetRandomness.RandomizeData storage ref)"}},"id":4444,"indexExpression":{"id":4443,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4433,"src":"5959:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5946:20:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage","typeString":"struct WitnetRandomness.RandomizeData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5916:50:31"},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4446,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4441,"src":"5997:5:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData storage pointer"}},"id":4447,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"witnetQueryId","nodeType":"MemberAccess","referencedDeclaration":4194,"src":"5997:19:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":4448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6020:1:31","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5997:24:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"expression":{"id":4451,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4441,"src":"6073:5:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData storage pointer"}},"id":4452,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"witnetQueryId","nodeType":"MemberAccess","referencedDeclaration":4194,"src":"6073:19:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4450,"name":"_witnetCheckResultAvailability","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3995,"src":"6042:30:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":4453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6042:51:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5997:96:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":4455,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5983:120:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4438,"id":4456,"nodeType":"Return","src":"5976:127:31"}]},"documentation":{"id":4431,"nodeType":"StructuredDocumentation","src":"5597:194:31","text":"Returns `true` only when the randomness request that got posted within given block was already\n reported back from the Witnet oracle, either successfully or with an error of any kind."},"functionSelector":"9bc86fec","id":4458,"implemented":true,"kind":"function","modifiers":[],"name":"isRandomized","nameLocation":"5805:12:31","nodeType":"FunctionDefinition","overrides":{"id":4435,"nodeType":"OverrideSpecifier","overrides":[],"src":"5870:8:31"},"parameters":{"id":4434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4433,"mutability":"mutable","name":"_block","nameLocation":"5826:6:31","nodeType":"VariableDeclaration","scope":4458,"src":"5818:14:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4432,"name":"uint256","nodeType":"ElementaryTypeName","src":"5818:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5817:16:31"},"returnParameters":{"id":4438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4437,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4458,"src":"5896:4:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4436,"name":"bool","nodeType":"ElementaryTypeName","src":"5896:4:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5895:6:31"},"scope":4952,"src":"5796:314:31","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[7467],"body":{"id":4486,"nodeType":"Block","src":"6805:243:31","statements":[{"expression":{"arguments":[{"id":4472,"name":"_range","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4461,"src":"6842:6:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":4473,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4463,"src":"6862:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"arguments":[{"expression":{"id":4477,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6941:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"6941:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":4480,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4465,"src":"6992:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4479,"name":"getRandomnessAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4364,"src":"6973:18:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":4481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6973:26:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":4475,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6909:3:31","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4476,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"6909:10:31","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":4482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6909:108:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4474,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6882:9:31","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":4483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6882:149:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":4471,"name":"random","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4544,"src":"6822:6:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint32_$_t_uint256_$_t_bytes32_$returns$_t_uint32_$","typeString":"function (uint32,uint256,bytes32) pure returns (uint32)"}},"id":4484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6822:219:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"functionReturnParameters":4470,"id":4485,"nodeType":"Return","src":"6815:226:31"}]},"documentation":{"id":4459,"nodeType":"StructuredDocumentation","src":"6116:545:31","text":"Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using \n the given `_nonce` value and the randomness returned by `getRandomnessAfter(_block)`. \n @dev Fails under same conditions as `getRandomnessAfter(uint256)` may do.\n @param _range Range within which the uniformly-distributed random number will be generated.\n @param _nonce Nonce value enabling multiple random numbers from the same randomness value.\n @param _block Block number from which the search will start."},"functionSelector":"24cbbfc1","id":4487,"implemented":true,"kind":"function","modifiers":[],"name":"random","nameLocation":"6675:6:31","nodeType":"FunctionDefinition","overrides":{"id":4467,"nodeType":"OverrideSpecifier","overrides":[],"src":"6767:8:31"},"parameters":{"id":4466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4461,"mutability":"mutable","name":"_range","nameLocation":"6689:6:31","nodeType":"VariableDeclaration","scope":4487,"src":"6682:13:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":4460,"name":"uint32","nodeType":"ElementaryTypeName","src":"6682:6:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":4463,"mutability":"mutable","name":"_nonce","nameLocation":"6705:6:31","nodeType":"VariableDeclaration","scope":4487,"src":"6697:14:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4462,"name":"uint256","nodeType":"ElementaryTypeName","src":"6697:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4465,"mutability":"mutable","name":"_block","nameLocation":"6721:6:31","nodeType":"VariableDeclaration","scope":4487,"src":"6713:14:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4464,"name":"uint256","nodeType":"ElementaryTypeName","src":"6713:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6681:47:31"},"returnParameters":{"id":4470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4469,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4487,"src":"6793:6:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":4468,"name":"uint32","nodeType":"ElementaryTypeName","src":"6793:6:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"6792:8:31"},"scope":4952,"src":"6666:382:31","stateMutability":"view","virtual":true,"visibility":"external"},{"baseFunctions":[7479],"body":{"id":4543,"nodeType":"Block","src":"7629:297:31","statements":[{"assignments":[4501],"declarations":[{"constant":false,"id":4501,"mutability":"mutable","name":"_flagBits","nameLocation":"7645:9:31","nodeType":"VariableDeclaration","scope":4543,"src":"7639:15:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4500,"name":"uint8","nodeType":"ElementaryTypeName","src":"7639:5:31","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":4510,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":4508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"323535","id":4504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7663:3:31","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"id":4506,"name":"_range","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4490,"src":"7684:6:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":4505,"name":"_msbDeBruijn32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4896,"src":"7669:14:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint32_$returns$_t_uint8_$","typeString":"function (uint32) pure returns (uint8)"}},"id":4507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7669:22:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"7663:28:31","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":4503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7657:5:31","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":4502,"name":"uint8","nodeType":"ElementaryTypeName","src":"7657:5:31","typeDescriptions":{}}},"id":4509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7657:35:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"7639:53:31"},{"assignments":[4512],"declarations":[{"constant":false,"id":4512,"mutability":"mutable","name":"_number","nameLocation":"7710:7:31","nodeType":"VariableDeclaration","scope":4543,"src":"7702:15:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4511,"name":"uint256","nodeType":"ElementaryTypeName","src":"7702:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4532,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"arguments":[{"id":4518,"name":"_seed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4494,"src":"7787:5:31","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":4519,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4492,"src":"7794:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4516,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7776:3:31","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"7776:10:31","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":4520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7776:25:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4515,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7745:9:31","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":4521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7745:74:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":4514,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7720:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":4513,"name":"uint256","nodeType":"ElementaryTypeName","src":"7720:7:31","typeDescriptions":{}}},"id":4522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7720:113:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":4525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7844:1:31","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":4526,"name":"_flagBits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4501,"src":"7849:9:31","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"7844:14:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":4528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7861:1:31","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7844:18:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4524,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7836:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":4523,"name":"uint256","nodeType":"ElementaryTypeName","src":"7836:7:31","typeDescriptions":{}}},"id":4530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7836:27:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7720:143:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7702:161:31"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4535,"name":"_number","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4512,"src":"7888:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":4536,"name":"_range","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4490,"src":"7898:6:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"7888:16:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4538,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7887:18:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":4539,"name":"_flagBits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4501,"src":"7909:9:31","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"7887:31:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4534,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7880:6:31","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":4533,"name":"uint32","nodeType":"ElementaryTypeName","src":"7880:6:31","typeDescriptions":{}}},"id":4541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7880:39:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"functionReturnParameters":4499,"id":4542,"nodeType":"Return","src":"7873:46:31"}]},"documentation":{"id":4488,"nodeType":"StructuredDocumentation","src":"7054:434:31","text":"Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using \n the given `_nonce` value and the given `_seed` as a source of entropy.\n @param _range Range within which the uniformly-distributed random number will be generated.\n @param _nonce Nonce value enabling multiple random numbers from the same randomness value.\n @param _seed Seed value used as entropy source."},"functionSelector":"e7d4a016","id":4544,"implemented":true,"kind":"function","modifiers":[],"name":"random","nameLocation":"7502:6:31","nodeType":"FunctionDefinition","overrides":{"id":4496,"nodeType":"OverrideSpecifier","overrides":[],"src":"7591:8:31"},"parameters":{"id":4495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4490,"mutability":"mutable","name":"_range","nameLocation":"7516:6:31","nodeType":"VariableDeclaration","scope":4544,"src":"7509:13:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":4489,"name":"uint32","nodeType":"ElementaryTypeName","src":"7509:6:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":4492,"mutability":"mutable","name":"_nonce","nameLocation":"7532:6:31","nodeType":"VariableDeclaration","scope":4544,"src":"7524:14:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4491,"name":"uint256","nodeType":"ElementaryTypeName","src":"7524:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4494,"mutability":"mutable","name":"_seed","nameLocation":"7548:5:31","nodeType":"VariableDeclaration","scope":4544,"src":"7540:13:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4493,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7540:7:31","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7508:46:31"},"returnParameters":{"id":4499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4498,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4544,"src":"7617:6:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":4497,"name":"uint32","nodeType":"ElementaryTypeName","src":"7617:6:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"7616:8:31"},"scope":4952,"src":"7493:433:31","stateMutability":"pure","virtual":true,"visibility":"public"},{"baseFunctions":[7485],"body":{"id":4646,"nodeType":"Block","src":"8590:1114:31","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4551,"name":"latestRandomizeBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4181,"src":"8604:20:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":4552,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"8627:5:31","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":4553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"8627:12:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8604:35:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":4644,"nodeType":"Block","src":"9633:65:31","statements":[{"expression":{"arguments":[{"expression":{"id":4640,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9674:5:31","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":4641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"9674:12:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4639,"name":"upgradeRandomizeFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4695,"src":"9654:19:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":4642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9654:33:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4550,"id":4643,"nodeType":"Return","src":"9647:40:31"}]},"id":4645,"nodeType":"IfStatement","src":"8600:1098:31","trueBody":{"id":4638,"nodeType":"Block","src":"8641:986:31","statements":[{"assignments":[4556],"declarations":[{"constant":false,"id":4556,"mutability":"mutable","name":"_queryId","nameLocation":"8711:8:31","nodeType":"VariableDeclaration","scope":4638,"src":"8706:13:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4555,"name":"uint","nodeType":"ElementaryTypeName","src":"8706:4:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4557,"nodeType":"VariableDeclarationStatement","src":"8706:13:31"},{"expression":{"id":4564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":4558,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4556,"src":"8734:8:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4559,"name":"_usedFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4549,"src":"8744:10:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4560,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"8733:22:31","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":4562,"name":"witnetRandomnessRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4178,"src":"8777:23:31","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestRandomness_$12753","typeString":"contract WitnetRequestRandomness"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_WitnetRequestRandomness_$12753","typeString":"contract WitnetRequestRandomness"}],"id":4561,"name":"_witnetPostRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4056,"src":"8758:18:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IWitnetRequest_$7510_$returns$_t_uint256_$_t_uint256_$","typeString":"function (contract IWitnetRequest) returns (uint256,uint256)"}},"id":4563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8758:43:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"src":"8733:68:31","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4565,"nodeType":"ExpressionStatement","src":"8733:68:31"},{"assignments":[4568],"declarations":[{"constant":false,"id":4568,"mutability":"mutable","name":"_data","nameLocation":"8884:5:31","nodeType":"VariableDeclaration","scope":4638,"src":"8862:27:31","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData"},"typeName":{"id":4567,"nodeType":"UserDefinedTypeName","pathNode":{"id":4566,"name":"RandomizeData","nodeType":"IdentifierPath","referencedDeclaration":4195,"src":"8862:13:31"},"referencedDeclaration":4195,"src":"8862:13:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData"}},"visibility":"internal"}],"id":4573,"initialValue":{"baseExpression":{"id":4569,"name":"__randomize_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4186,"src":"8892:12:31","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RandomizeData_$4195_storage_$","typeString":"mapping(uint256 => struct WitnetRandomness.RandomizeData storage ref)"}},"id":4572,"indexExpression":{"expression":{"id":4570,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"8905:5:31","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":4571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"8905:12:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8892:26:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage","typeString":"struct WitnetRandomness.RandomizeData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"8862:56:31"},{"expression":{"id":4578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4574,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4568,"src":"8932:5:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData storage pointer"}},"id":4576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"witnetQueryId","nodeType":"MemberAccess","referencedDeclaration":4194,"src":"8932:19:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4577,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4556,"src":"8954:8:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8932:30:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4579,"nodeType":"ExpressionStatement","src":"8932:30:31"},{"expression":{"id":4585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4580,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4568,"src":"8976:5:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData storage pointer"}},"id":4582,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":4188,"src":"8976:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4583,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8989:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"8989:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8976:23:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4586,"nodeType":"ExpressionStatement","src":"8976:23:31"},{"assignments":[4588],"declarations":[{"constant":false,"id":4588,"mutability":"mutable","name":"_prevBlock","nameLocation":"9056:10:31","nodeType":"VariableDeclaration","scope":4638,"src":"9048:18:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4587,"name":"uint256","nodeType":"ElementaryTypeName","src":"9048:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4590,"initialValue":{"id":4589,"name":"latestRandomizeBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4181,"src":"9069:20:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9048:41:31"},{"expression":{"id":4595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4591,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4568,"src":"9103:5:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData storage pointer"}},"id":4593,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"prevBlock","nodeType":"MemberAccess","referencedDeclaration":4190,"src":"9103:15:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4594,"name":"_prevBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4588,"src":"9121:10:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9103:28:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4596,"nodeType":"ExpressionStatement","src":"9103:28:31"},{"expression":{"id":4603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":4597,"name":"__randomize_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4186,"src":"9145:12:31","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RandomizeData_$4195_storage_$","typeString":"mapping(uint256 => struct WitnetRandomness.RandomizeData storage ref)"}},"id":4599,"indexExpression":{"id":4598,"name":"_prevBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4588,"src":"9158:10:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9145:24:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage","typeString":"struct WitnetRandomness.RandomizeData storage ref"}},"id":4600,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"nextBlock","nodeType":"MemberAccess","referencedDeclaration":4192,"src":"9145:34:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4601,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9182:5:31","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":4602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"9182:12:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9145:49:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4604,"nodeType":"ExpressionStatement","src":"9145:49:31"},{"expression":{"id":4608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4605,"name":"latestRandomizeBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4181,"src":"9208:20:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4606,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9231:5:31","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":4607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"9231:12:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9208:35:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4609,"nodeType":"ExpressionStatement","src":"9208:35:31"},{"eventCall":{"arguments":[{"expression":{"id":4611,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9318:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"9318:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4613,"name":"_prevBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4588,"src":"9346:10:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4614,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4556,"src":"9374:8:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":4615,"name":"witnetRandomnessRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4178,"src":"9400:23:31","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestRandomness_$12753","typeString":"contract WitnetRequestRandomness"}},"id":4616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"hash","nodeType":"MemberAccess","referencedDeclaration":12075,"src":"9400:28:31","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":4617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9400:30:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":4610,"name":"Randomized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7395,"src":"9290:10:31","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,uint256,uint256,bytes32)"}},"id":4618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9290:154:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4619,"nodeType":"EmitStatement","src":"9285:159:31"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4620,"name":"_usedFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4549,"src":"9508:10:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":4621,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9521:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"9521:9:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9508:22:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4637,"nodeType":"IfStatement","src":"9504:113:31","trueBody":{"id":4636,"nodeType":"Block","src":"9532:85:31","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4630,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9579:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"9579:9:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":4632,"name":"_usedFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4549,"src":"9591:10:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9579:22:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"expression":{"id":4626,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9558:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"9558:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4625,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9550:8:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":4624,"name":"address","nodeType":"ElementaryTypeName","src":"9550:8:31","stateMutability":"payable","typeDescriptions":{}}},"id":4628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9550:19:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":4629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","src":"9550:28:31","typeDescriptions":{"typeIdentifier":"t_function_transfer_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":4634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9550:52:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4635,"nodeType":"ExpressionStatement","src":"9550:52:31"}]}}]}}]},"documentation":{"id":4545,"nodeType":"StructuredDocumentation","src":"7932:541:31","text":"Requests the Witnet oracle to generate an EVM-agnostic and trustless source of randomness. \n Only one randomness request per block will be actually posted to the WRB. Should there \n already be a posted request within current block, it will try to upgrade Witnet fee of current's \n block randomness request according to current gas price. In both cases, all unused funds shall \n be transfered back to the tx sender.\n @return _usedFunds Amount of funds actually used from those provided by the tx sender."},"functionSelector":"699b328a","id":4647,"implemented":true,"kind":"function","modifiers":[],"name":"randomize","nameLocation":"8487:9:31","nodeType":"FunctionDefinition","overrides":{"id":4547,"nodeType":"OverrideSpecifier","overrides":[],"src":"8540:8:31"},"parameters":{"id":4546,"nodeType":"ParameterList","parameters":[],"src":"8496:2:31"},"returnParameters":{"id":4550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4549,"mutability":"mutable","name":"_usedFunds","nameLocation":"8574:10:31","nodeType":"VariableDeclaration","scope":4647,"src":"8566:18:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4548,"name":"uint256","nodeType":"ElementaryTypeName","src":"8566:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8565:20:31"},"scope":4952,"src":"8478:1226:31","stateMutability":"payable","virtual":true,"visibility":"external"},{"baseFunctions":[7493],"body":{"id":4694,"nodeType":"Block","src":"10331:299:31","statements":[{"assignments":[4658],"declarations":[{"constant":false,"id":4658,"mutability":"mutable","name":"_data","nameLocation":"10363:5:31","nodeType":"VariableDeclaration","scope":4694,"src":"10341:27:31","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData"},"typeName":{"id":4657,"nodeType":"UserDefinedTypeName","pathNode":{"id":4656,"name":"RandomizeData","nodeType":"IdentifierPath","referencedDeclaration":4195,"src":"10341:13:31"},"referencedDeclaration":4195,"src":"10341:13:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData"}},"visibility":"internal"}],"id":4662,"initialValue":{"baseExpression":{"id":4659,"name":"__randomize_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4186,"src":"10371:12:31","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RandomizeData_$4195_storage_$","typeString":"mapping(uint256 => struct WitnetRandomness.RandomizeData storage ref)"}},"id":4661,"indexExpression":{"id":4660,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4650,"src":"10384:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10371:20:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage","typeString":"struct WitnetRandomness.RandomizeData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"10341:50:31"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4663,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4658,"src":"10405:5:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData storage pointer"}},"id":4664,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"witnetQueryId","nodeType":"MemberAccess","referencedDeclaration":4194,"src":"10405:19:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":4665,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10428:1:31","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10405:24:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4675,"nodeType":"IfStatement","src":"10401:109:31","trueBody":{"id":4674,"nodeType":"Block","src":"10431:79:31","statements":[{"expression":{"id":4672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4667,"name":"_usedFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4654,"src":"10445:10:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4669,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4658,"src":"10479:5:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData storage pointer"}},"id":4670,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"witnetQueryId","nodeType":"MemberAccess","referencedDeclaration":4194,"src":"10479:19:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4668,"name":"_witnetUpgradeReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4103,"src":"10458:20:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":4671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10458:41:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10445:54:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4673,"nodeType":"ExpressionStatement","src":"10445:54:31"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4676,"name":"_usedFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4654,"src":"10523:10:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":4677,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10536:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"10536:9:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10523:22:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4693,"nodeType":"IfStatement","src":"10519:105:31","trueBody":{"id":4692,"nodeType":"Block","src":"10547:77:31","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4686,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10590:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"10590:9:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":4688,"name":"_usedFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4654,"src":"10602:10:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10590:22:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"expression":{"id":4682,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10569:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"10569:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4681,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10561:8:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":4680,"name":"address","nodeType":"ElementaryTypeName","src":"10561:8:31","stateMutability":"payable","typeDescriptions":{}}},"id":4684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10561:19:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":4685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","src":"10561:28:31","typeDescriptions":{"typeIdentifier":"t_function_transfer_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":4690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10561:52:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4691,"nodeType":"ExpressionStatement","src":"10561:52:31"}]}}]},"documentation":{"id":4648,"nodeType":"StructuredDocumentation","src":"9710:482:31","text":"Increases Witnet fee related to a pending-to-be-solved randomness request, as much as it\n may be required in proportion to how much bigger the current tx gas price is with respect the \n highest gas price that was paid in either previous fee upgrades, or when the given randomness \n request was posted. All unused funds shall be transferred back to the tx sender.\n @return _usedFunds Amount of dunds actually used from those provided by the tx sender."},"functionSelector":"e35329f8","id":4695,"implemented":true,"kind":"function","modifiers":[],"name":"upgradeRandomizeFee","nameLocation":"10206:19:31","nodeType":"FunctionDefinition","overrides":{"id":4652,"nodeType":"OverrideSpecifier","overrides":[],"src":"10281:8:31"},"parameters":{"id":4651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4650,"mutability":"mutable","name":"_block","nameLocation":"10234:6:31","nodeType":"VariableDeclaration","scope":4695,"src":"10226:14:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4649,"name":"uint256","nodeType":"ElementaryTypeName","src":"10226:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10225:16:31"},"returnParameters":{"id":4655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4654,"mutability":"mutable","name":"_usedFunds","nameLocation":"10315:10:31","nodeType":"VariableDeclaration","scope":4695,"src":"10307:18:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4653,"name":"uint256","nodeType":"ElementaryTypeName","src":"10307:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10306:20:31"},"scope":4952,"src":"10197:433:31","stateMutability":"payable","virtual":true,"visibility":"public"},{"baseFunctions":[11591],"body":{"id":4713,"nodeType":"Block","src":"11270:75:31","statements":[{"expression":{"id":4707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4703,"name":"_newInstance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4701,"src":"11280:12:31","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":4704,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"11295:5:31","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_WitnetRandomness_$4952_$","typeString":"type(contract super WitnetRandomness)"}},"id":4705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"clone","nodeType":"MemberAccess","referencedDeclaration":11591,"src":"11295:11:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_Clonable_$11629_$","typeString":"function () returns (contract Clonable)"}},"id":4706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11295:13:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"src":"11280:28:31","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"id":4708,"nodeType":"ExpressionStatement","src":"11280:28:31"},{"expression":{"arguments":[{"id":4710,"name":"_newInstance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4701,"src":"11325:12:31","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}],"id":4709,"name":"_clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4803,"src":"11318:6:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Clonable_$11629_$returns$__$","typeString":"function (contract Clonable)"}},"id":4711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11318:20:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4712,"nodeType":"ExpressionStatement","src":"11318:20:31"}]},"documentation":{"id":4696,"nodeType":"StructuredDocumentation","src":"10878:286:31","text":"Deploys and returns the address of a minimal proxy clone that replicates contract\n behaviour while using its own EVM storage.\n @dev This function should always provide a new address, no matter how many times \n @dev is actually called from the same `msg.sender`."},"functionSelector":"09ed4607","id":4714,"implemented":true,"kind":"function","modifiers":[],"name":"clone","nameLocation":"11178:5:31","nodeType":"FunctionDefinition","overrides":{"id":4698,"nodeType":"OverrideSpecifier","overrides":[],"src":"11217:8:31"},"parameters":{"id":4697,"nodeType":"ParameterList","parameters":[],"src":"11183:2:31"},"returnParameters":{"id":4702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4701,"mutability":"mutable","name":"_newInstance","nameLocation":"11252:12:31","nodeType":"VariableDeclaration","scope":4714,"src":"11243:21:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"},"typeName":{"id":4700,"nodeType":"UserDefinedTypeName","pathNode":{"id":4699,"name":"Clonable","nodeType":"IdentifierPath","referencedDeclaration":11629,"src":"11243:8:31"},"referencedDeclaration":11629,"src":"11243:8:31","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"visibility":"internal"}],"src":"11242:23:31"},"scope":4952,"src":"11169:176:31","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[11628],"body":{"id":4735,"nodeType":"Block","src":"11870:93:31","statements":[{"expression":{"id":4729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4724,"name":"_newInstance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4722,"src":"11880:12:31","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":4727,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4717,"src":"11920:5:31","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":4725,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"11895:5:31","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_WitnetRandomness_$4952_$","typeString":"type(contract super WitnetRandomness)"}},"id":4726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"cloneDeterministic","nodeType":"MemberAccess","referencedDeclaration":11628,"src":"11895:24:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$returns$_t_contract$_Clonable_$11629_$","typeString":"function (bytes32) returns (contract Clonable)"}},"id":4728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11895:31:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"src":"11880:46:31","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"id":4730,"nodeType":"ExpressionStatement","src":"11880:46:31"},{"expression":{"arguments":[{"id":4732,"name":"_newInstance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4722,"src":"11943:12:31","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}],"id":4731,"name":"_clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4803,"src":"11936:6:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Clonable_$11629_$returns$__$","typeString":"function (contract Clonable)"}},"id":4733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11936:20:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4734,"nodeType":"ExpressionStatement","src":"11936:20:31"}]},"documentation":{"id":4715,"nodeType":"StructuredDocumentation","src":"11351:387:31","text":"Deploys and returns the address of a minimal proxy clone that replicates contract \n behaviour while using its own EVM storage.\n @dev This function uses the CREATE2 opcode and a `_salt` to deterministically deploy\n @dev the clone. Using the same `_salt` multiple time will revert, since\n @dev no contract can be deployed more than once at the same address."},"functionSelector":"daaa360c","id":4736,"implemented":true,"kind":"function","modifiers":[],"name":"cloneDeterministic","nameLocation":"11752:18:31","nodeType":"FunctionDefinition","overrides":{"id":4719,"nodeType":"OverrideSpecifier","overrides":[],"src":"11817:8:31"},"parameters":{"id":4718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4717,"mutability":"mutable","name":"_salt","nameLocation":"11779:5:31","nodeType":"VariableDeclaration","scope":4736,"src":"11771:13:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4716,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11771:7:31","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11770:15:31"},"returnParameters":{"id":4723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4722,"mutability":"mutable","name":"_newInstance","nameLocation":"11852:12:31","nodeType":"VariableDeclaration","scope":4736,"src":"11843:21:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"},"typeName":{"id":4721,"nodeType":"UserDefinedTypeName","pathNode":{"id":4720,"name":"Clonable","nodeType":"IdentifierPath","referencedDeclaration":11629,"src":"11843:8:31"},"referencedDeclaration":11629,"src":"11843:8:31","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"visibility":"internal"}],"src":"11842:23:31"},"scope":4952,"src":"11743:220:31","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[11675],"body":{"id":4768,"nodeType":"Block","src":"12352:274:31","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4746,"name":"witnetRandomnessRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4178,"src":"12378:23:31","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestRandomness_$12753","typeString":"contract WitnetRequestRandomness"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_WitnetRequestRandomness_$12753","typeString":"contract WitnetRequestRandomness"}],"id":4745,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12370:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4744,"name":"address","nodeType":"ElementaryTypeName","src":"12370:7:31","typeDescriptions":{}}},"id":4747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12370:32:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":4750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12414:1:31","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":4749,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12406:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4748,"name":"address","nodeType":"ElementaryTypeName","src":"12406:7:31","typeDescriptions":{}}},"id":4751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12406:10:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12370:46:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657452616e646f6d6e6573733a20616c726561647920696e697469616c697a6564","id":4753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12418:39:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c","typeString":"literal_string \"WitnetRandomness: already initialized\""},"value":"WitnetRandomness: already initialized"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c","typeString":"literal_string \"WitnetRandomness: already initialized\""}],"id":4743,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12362:7:31","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12362:96:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4755,"nodeType":"ExpressionStatement","src":"12362:96:31"},{"expression":{"id":4766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4756,"name":"witnetRandomnessRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4178,"src":"12468:23:31","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestRandomness_$12753","typeString":"contract WitnetRequestRandomness"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":4760,"name":"_initData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4739,"src":"12559:9:31","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":4762,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12587:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4761,"name":"address","nodeType":"ElementaryTypeName","src":"12587:7:31","typeDescriptions":{}}}],"id":4763,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"12586:9:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":4758,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12531:3:31","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"12531:10:31","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":4764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12531:78:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":4757,"name":"WitnetRequestRandomness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12753,"src":"12494:23:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WitnetRequestRandomness_$12753_$","typeString":"type(contract WitnetRequestRandomness)"}},"id":4765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12494:125:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestRandomness_$12753","typeString":"contract WitnetRequestRandomness"}},"src":"12468:151:31","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestRandomness_$12753","typeString":"contract WitnetRequestRandomness"}},"id":4767,"nodeType":"ExpressionStatement","src":"12468:151:31"}]},"documentation":{"id":4737,"nodeType":"StructuredDocumentation","src":"12211:48:31","text":"@dev Initializes contract's storage context."},"functionSelector":"439fab91","id":4769,"implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"12273:10:31","nodeType":"FunctionDefinition","overrides":{"id":4741,"nodeType":"OverrideSpecifier","overrides":[],"src":"12339:8:31"},"parameters":{"id":4740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4739,"mutability":"mutable","name":"_initData","nameLocation":"12297:9:31","nodeType":"VariableDeclaration","scope":4769,"src":"12284:22:31","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4738,"name":"bytes","nodeType":"ElementaryTypeName","src":"12284:5:31","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12283:24:31"},"returnParameters":{"id":4742,"nodeType":"ParameterList","parameters":[],"src":"12352:0:31"},"scope":4952,"src":"12264:362:31","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":4802,"nodeType":"Block","src":"12999:185:31","statements":[{"assignments":[4777],"declarations":[{"constant":false,"id":4777,"mutability":"mutable","name":"_request","nameLocation":"13017:8:31","nodeType":"VariableDeclaration","scope":4802,"src":"13009:16:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4776,"name":"address","nodeType":"ElementaryTypeName","src":"13009:7:31","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":4784,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":4780,"name":"witnetRandomnessRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4178,"src":"13036:23:31","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestRandomness_$12753","typeString":"contract WitnetRequestRandomness"}},"id":4781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"clone","nodeType":"MemberAccess","referencedDeclaration":12294,"src":"13036:29:31","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_contract$_Clonable_$11629_$","typeString":"function () external returns (contract Clonable)"}},"id":4782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13036:31:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}],"id":4779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13028:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4778,"name":"address","nodeType":"ElementaryTypeName","src":"13028:7:31","typeDescriptions":{}}},"id":4783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13028:40:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"13009:59:31"},{"expression":{"arguments":[{"expression":{"id":4789,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13114:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"13114:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":4786,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4777,"src":"13086:8:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4785,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11781,"src":"13078:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Ownable_$11781_$","typeString":"type(contract Ownable)"}},"id":4787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13078:17:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Ownable_$11781","typeString":"contract Ownable"}},"id":4788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transferOwnership","nodeType":"MemberAccess","referencedDeclaration":11760,"src":"13078:35:31","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":4791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13078:47:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4792,"nodeType":"ExpressionStatement","src":"13078:47:31"},{"expression":{"arguments":[{"arguments":[{"id":4798,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4777,"src":"13167:8:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":4796,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13156:3:31","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"13156:10:31","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":4799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13156:20:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":4793,"name":"_instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4773,"src":"13135:9:31","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"id":4795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":11675,"src":"13135:20:31","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":4800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13135:42:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4801,"nodeType":"ExpressionStatement","src":"13135:42:31"}]},"documentation":{"id":4770,"nodeType":"StructuredDocumentation","src":"12874:75:31","text":"@dev Common steps for both deterministic and non-deterministic cloning."},"id":4803,"implemented":true,"kind":"function","modifiers":[],"name":"_clone","nameLocation":"12963:6:31","nodeType":"FunctionDefinition","parameters":{"id":4774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4773,"mutability":"mutable","name":"_instance","nameLocation":"12979:9:31","nodeType":"VariableDeclaration","scope":4803,"src":"12970:18:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"},"typeName":{"id":4772,"nodeType":"UserDefinedTypeName","pathNode":{"id":4771,"name":"Clonable","nodeType":"IdentifierPath","referencedDeclaration":11629,"src":"12970:8:31"},"referencedDeclaration":11629,"src":"12970:8:31","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"visibility":"internal"}],"src":"12969:20:31"},"returnParameters":{"id":4775,"nodeType":"ParameterList","parameters":[],"src":"12999:0:31"},"scope":4952,"src":"12954:230:31","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":4895,"nodeType":"Block","src":"13386:452:31","statements":[{"assignments":[4816],"declarations":[{"constant":false,"id":4816,"mutability":"mutable","name":"_bitPosition","nameLocation":"13413:12:31","nodeType":"VariableDeclaration","scope":4895,"src":"13396:29:31","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$32_memory_ptr","typeString":"uint8[32]"},"typeName":{"baseType":{"id":4814,"name":"uint8","nodeType":"ElementaryTypeName","src":"13396:5:31","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4815,"length":{"hexValue":"3332","id":4813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13402:2:31","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"ArrayTypeName","src":"13396:9:31","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$32_storage_ptr","typeString":"uint8[32]"}},"visibility":"internal"}],"id":4850,"initialValue":{"components":[{"hexValue":"30","id":4817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13446:1:31","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"39","id":4818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13449:1:31","typeDescriptions":{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},"value":"9"},{"hexValue":"31","id":4819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13452:1:31","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3130","id":4820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13455:2:31","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"3133","id":4821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13459:2:31","typeDescriptions":{"typeIdentifier":"t_rational_13_by_1","typeString":"int_const 13"},"value":"13"},{"hexValue":"3231","id":4822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13463:2:31","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},{"hexValue":"32","id":4823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13467:1:31","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"hexValue":"3239","id":4824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13470:2:31","typeDescriptions":{"typeIdentifier":"t_rational_29_by_1","typeString":"int_const 29"},"value":"29"},{"hexValue":"3131","id":4825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13490:2:31","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},{"hexValue":"3134","id":4826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13494:2:31","typeDescriptions":{"typeIdentifier":"t_rational_14_by_1","typeString":"int_const 14"},"value":"14"},{"hexValue":"3136","id":4827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13498:2:31","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},{"hexValue":"3138","id":4828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13502:2:31","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},{"hexValue":"3232","id":4829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13506:2:31","typeDescriptions":{"typeIdentifier":"t_rational_22_by_1","typeString":"int_const 22"},"value":"22"},{"hexValue":"3235","id":4830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13510:2:31","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},{"hexValue":"33","id":4831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13514:1:31","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},{"hexValue":"3330","id":4832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13517:2:31","typeDescriptions":{"typeIdentifier":"t_rational_30_by_1","typeString":"int_const 30"},"value":"30"},{"hexValue":"38","id":4833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13537:1:31","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},{"hexValue":"3132","id":4834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13540:2:31","typeDescriptions":{"typeIdentifier":"t_rational_12_by_1","typeString":"int_const 12"},"value":"12"},{"hexValue":"3230","id":4835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13544:2:31","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},{"hexValue":"3238","id":4836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13548:2:31","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"28"},{"hexValue":"3135","id":4837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13552:2:31","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"15"},{"hexValue":"3137","id":4838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13556:2:31","typeDescriptions":{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"},"value":"17"},{"hexValue":"3234","id":4839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13560:2:31","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"24"},{"hexValue":"37","id":4840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13564:1:31","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},{"hexValue":"3139","id":4841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13583:2:31","typeDescriptions":{"typeIdentifier":"t_rational_19_by_1","typeString":"int_const 19"},"value":"19"},{"hexValue":"3237","id":4842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13587:2:31","typeDescriptions":{"typeIdentifier":"t_rational_27_by_1","typeString":"int_const 27"},"value":"27"},{"hexValue":"3233","id":4843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13591:2:31","typeDescriptions":{"typeIdentifier":"t_rational_23_by_1","typeString":"int_const 23"},"value":"23"},{"hexValue":"36","id":4844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13595:1:31","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},{"hexValue":"3236","id":4845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13598:2:31","typeDescriptions":{"typeIdentifier":"t_rational_26_by_1","typeString":"int_const 26"},"value":"26"},{"hexValue":"35","id":4846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13602:1:31","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},{"hexValue":"34","id":4847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13605:1:31","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},{"hexValue":"3331","id":4848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13608:2:31","typeDescriptions":{"typeIdentifier":"t_rational_31_by_1","typeString":"int_const 31"},"value":"31"}],"id":4849,"isConstant":false,"isInlineArray":true,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"13428:196:31","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$32_memory_ptr","typeString":"uint8[32] memory"}},"nodeType":"VariableDeclarationStatement","src":"13396:228:31"},{"expression":{"id":4855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4851,"name":"_v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4806,"src":"13634:2:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":4854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4852,"name":"_v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4806,"src":"13640:2:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":4853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13646:1:31","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13640:7:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"13634:13:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":4856,"nodeType":"ExpressionStatement","src":"13634:13:31"},{"expression":{"id":4861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4857,"name":"_v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4806,"src":"13657:2:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":4860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4858,"name":"_v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4806,"src":"13663:2:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"32","id":4859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13669:1:31","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"13663:7:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"13657:13:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":4862,"nodeType":"ExpressionStatement","src":"13657:13:31"},{"expression":{"id":4867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4863,"name":"_v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4806,"src":"13680:2:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":4866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4864,"name":"_v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4806,"src":"13686:2:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"34","id":4865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13692:1:31","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"13686:7:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"13680:13:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":4868,"nodeType":"ExpressionStatement","src":"13680:13:31"},{"expression":{"id":4873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4869,"name":"_v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4806,"src":"13703:2:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":4872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4870,"name":"_v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4806,"src":"13709:2:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"38","id":4871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13715:1:31","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"13709:7:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"13703:13:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":4874,"nodeType":"ExpressionStatement","src":"13703:13:31"},{"expression":{"id":4879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4875,"name":"_v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4806,"src":"13726:2:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":4878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4876,"name":"_v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4806,"src":"13732:2:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3136","id":4877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13738:2:31","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"13732:8:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"13726:14:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":4880,"nodeType":"ExpressionStatement","src":"13726:14:31"},{"expression":{"baseExpression":{"id":4881,"name":"_bitPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4816,"src":"13757:12:31","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$32_memory_ptr","typeString":"uint8[32] memory"}},"id":4893,"indexExpression":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":4892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4884,"name":"_v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4806,"src":"13790:2:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"hexValue":"30783037633461636464","id":4887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13803:10:31","typeDescriptions":{"typeIdentifier":"t_rational_130329821_by_1","typeString":"int_const 130329821"},"value":"0x07c4acdd"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_130329821_by_1","typeString":"int_const 130329821"}],"id":4886,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13795:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":4885,"name":"uint256","nodeType":"ElementaryTypeName","src":"13795:7:31","typeDescriptions":{}}},"id":4888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13795:19:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13790:24:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4883,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13783:6:31","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":4882,"name":"uint32","nodeType":"ElementaryTypeName","src":"13783:6:31","typeDescriptions":{}}},"id":4890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13783:32:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3237","id":4891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13819:2:31","typeDescriptions":{"typeIdentifier":"t_rational_27_by_1","typeString":"int_const 27"},"value":"27"},"src":"13783:38:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13757:74:31","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":4810,"id":4894,"nodeType":"Return","src":"13750:81:31"}]},"documentation":{"id":4804,"nodeType":"StructuredDocumentation","src":"13190:106:31","text":"@dev Returns index of the Most Significant Bit of the given number, applying De Bruijn O(1) algorithm."},"id":4896,"implemented":true,"kind":"function","modifiers":[],"name":"_msbDeBruijn32","nameLocation":"13310:14:31","nodeType":"FunctionDefinition","parameters":{"id":4807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4806,"mutability":"mutable","name":"_v","nameLocation":"13332:2:31","nodeType":"VariableDeclaration","scope":4896,"src":"13325:9:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":4805,"name":"uint32","nodeType":"ElementaryTypeName","src":"13325:6:31","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"13324:11:31"},"returnParameters":{"id":4810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4809,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4896,"src":"13375:5:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4808,"name":"uint8","nodeType":"ElementaryTypeName","src":"13375:5:31","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"13374:7:31"},"scope":4952,"src":"13301:537:31","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":4924,"nodeType":"Block","src":"14114:175:31","statements":[{"expression":{"components":[{"condition":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4906,"name":"_target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4899,"src":"14133:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":4907,"name":"_latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4901,"src":"14144:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14133:18:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":4909,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14132:20:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":4915,"name":"_target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4899,"src":"14231:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":4916,"name":"__randomize_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4186,"src":"14240:12:31","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RandomizeData_$4195_storage_$","typeString":"mapping(uint256 => struct WitnetRandomness.RandomizeData storage ref)"}},"id":4918,"indexExpression":{"id":4917,"name":"_latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4901,"src":"14253:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14240:21:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage","typeString":"struct WitnetRandomness.RandomizeData storage ref"}},"id":4919,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"prevBlock","nodeType":"MemberAccess","referencedDeclaration":4190,"src":"14240:31:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4914,"name":"_searchNextBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4925,"src":"14214:16:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":4920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14214:58:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"14132:140:31","trueExpression":{"expression":{"baseExpression":{"id":4910,"name":"__randomize_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4186,"src":"14168:12:31","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RandomizeData_$4195_storage_$","typeString":"mapping(uint256 => struct WitnetRandomness.RandomizeData storage ref)"}},"id":4912,"indexExpression":{"id":4911,"name":"_latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4901,"src":"14181:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14168:21:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage","typeString":"struct WitnetRandomness.RandomizeData storage ref"}},"id":4913,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"nextBlock","nodeType":"MemberAccess","referencedDeclaration":4192,"src":"14168:31:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4922,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14131:151:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4905,"id":4923,"nodeType":"Return","src":"14124:158:31"}]},"documentation":{"id":4897,"nodeType":"StructuredDocumentation","src":"13844:173:31","text":"@dev Recursively searches for the number of the first block after the given one in which a Witnet randomization request was posted.\n @dev Returns 0 if none found."},"id":4925,"implemented":true,"kind":"function","modifiers":[],"name":"_searchNextBlock","nameLocation":"14031:16:31","nodeType":"FunctionDefinition","parameters":{"id":4902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4899,"mutability":"mutable","name":"_target","nameLocation":"14056:7:31","nodeType":"VariableDeclaration","scope":4925,"src":"14048:15:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4898,"name":"uint256","nodeType":"ElementaryTypeName","src":"14048:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4901,"mutability":"mutable","name":"_latest","nameLocation":"14073:7:31","nodeType":"VariableDeclaration","scope":4925,"src":"14065:15:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4900,"name":"uint256","nodeType":"ElementaryTypeName","src":"14065:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14047:34:31"},"returnParameters":{"id":4905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4904,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4925,"src":"14105:7:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4903,"name":"uint256","nodeType":"ElementaryTypeName","src":"14105:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14104:9:31"},"scope":4952,"src":"14022:267:31","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":4950,"nodeType":"Block","src":"14567:149:31","statements":[{"expression":{"components":[{"condition":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4935,"name":"_target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4928,"src":"14586:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":4936,"name":"_latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4930,"src":"14596:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14586:17:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":4938,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14585:19:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":4941,"name":"_target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4928,"src":"14658:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":4942,"name":"__randomize_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4186,"src":"14667:12:31","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RandomizeData_$4195_storage_$","typeString":"mapping(uint256 => struct WitnetRandomness.RandomizeData storage ref)"}},"id":4944,"indexExpression":{"id":4943,"name":"_latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4930,"src":"14680:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14667:21:31","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage","typeString":"struct WitnetRandomness.RandomizeData storage ref"}},"id":4945,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"prevBlock","nodeType":"MemberAccess","referencedDeclaration":4190,"src":"14667:31:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4940,"name":"_searchPrevBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4951,"src":"14641:16:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":4946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14641:58:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"14585:114:31","trueExpression":{"id":4939,"name":"_latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4930,"src":"14619:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4948,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14584:125:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4934,"id":4949,"nodeType":"Return","src":"14577:132:31"}]},"documentation":{"id":4926,"nodeType":"StructuredDocumentation","src":"14295:175:31","text":"@dev Recursively searches for the number of the first block before the given one in which a Witnet randomization request was posted.\n @dev Returns 0 if none found."},"id":4951,"implemented":true,"kind":"function","modifiers":[],"name":"_searchPrevBlock","nameLocation":"14484:16:31","nodeType":"FunctionDefinition","parameters":{"id":4931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4928,"mutability":"mutable","name":"_target","nameLocation":"14509:7:31","nodeType":"VariableDeclaration","scope":4951,"src":"14501:15:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4927,"name":"uint256","nodeType":"ElementaryTypeName","src":"14501:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4930,"mutability":"mutable","name":"_latest","nameLocation":"14526:7:31","nodeType":"VariableDeclaration","scope":4951,"src":"14518:15:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4929,"name":"uint256","nodeType":"ElementaryTypeName","src":"14518:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14500:34:31"},"returnParameters":{"id":4934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4933,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4951,"src":"14558:7:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4932,"name":"uint256","nodeType":"ElementaryTypeName","src":"14558:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14557:9:31"},"scope":4952,"src":"14475:241:31","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":4953,"src":"362:14356:31","usedErrors":[]}],"src":"33:14686:31"},"id":31},"witnet-solidity-bridge/contracts/data/WitnetBoardData.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/data/WitnetBoardData.sol","exportedSymbols":{"IWitnetRequest":[7510],"Witnet":[8300],"WitnetBoardData":[5235]},"id":5236,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4954,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:32"},{"absolutePath":"witnet-solidity-bridge/contracts/libs/Witnet.sol","file":"../libs/Witnet.sol","id":4955,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5236,"sourceUnit":8301,"src":"66:28:32","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":{"id":4956,"nodeType":"StructuredDocumentation","src":"96:85:32","text":"@title Witnet Request Board base data model. \n @author The Witnet Foundation."},"fullyImplemented":true,"id":5235,"linearizedBaseContracts":[5235],"name":"WitnetBoardData","nameLocation":"199:15:32","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":4959,"mutability":"constant","name":"_WITNET_BOARD_DATA_SLOTHASH","nameLocation":"250:27:32","nodeType":"VariableDeclaration","scope":5235,"src":"224:179:32","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4957,"name":"bytes32","nodeType":"ElementaryTypeName","src":"224:7:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307866353935323430623335316263386639353163326635336232366634653738633332636236323132326366373663313962376664646137643439363865313833","id":4958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"337:66:32","typeDescriptions":{"typeIdentifier":"t_rational_111080156880573123782333136393096456259796301421348949269751801291758316872067_by_1","typeString":"int_const 1110...(70 digits omitted)...2067"},"value":"0xf595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183"},"visibility":"internal"},{"canonicalName":"WitnetBoardData.WitnetBoardState","id":4971,"members":[{"constant":false,"id":4961,"mutability":"mutable","name":"base","nameLocation":"452:4:32","nodeType":"VariableDeclaration","scope":4971,"src":"444:12:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4960,"name":"address","nodeType":"ElementaryTypeName","src":"444:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4963,"mutability":"mutable","name":"owner","nameLocation":"474:5:32","nodeType":"VariableDeclaration","scope":4971,"src":"466:13:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4962,"name":"address","nodeType":"ElementaryTypeName","src":"466:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4965,"mutability":"mutable","name":"numQueries","nameLocation":"501:10:32","nodeType":"VariableDeclaration","scope":4971,"src":"493:18:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4964,"name":"uint256","nodeType":"ElementaryTypeName","src":"493:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4970,"mutability":"mutable","name":"queries","nameLocation":"552:7:32","nodeType":"VariableDeclaration","scope":4971,"src":"521:38:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Query_$7991_storage_$","typeString":"mapping(uint256 => struct Witnet.Query)"},"typeName":{"id":4969,"keyType":{"id":4966,"name":"uint","nodeType":"ElementaryTypeName","src":"530:4:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"521:30:32","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Query_$7991_storage_$","typeString":"mapping(uint256 => struct Witnet.Query)"},"valueType":{"id":4968,"nodeType":"UserDefinedTypeName","pathNode":{"id":4967,"name":"Witnet.Query","nodeType":"IdentifierPath","referencedDeclaration":7991,"src":"538:12:32"},"referencedDeclaration":7991,"src":"538:12:32","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage_ptr","typeString":"struct Witnet.Query"}}},"visibility":"internal"}],"name":"WitnetBoardState","nameLocation":"417:16:32","nodeType":"StructDefinition","scope":5235,"src":"410:156:32","visibility":"public"},{"body":{"id":4981,"nodeType":"Block","src":"586:44:32","statements":[{"expression":{"id":4979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":4974,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"596:6:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":4975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"596:8:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":4976,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":4963,"src":"596:14:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4977,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"613:3:32","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"613:10:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"596:27:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4980,"nodeType":"ExpressionStatement","src":"596:27:32"}]},"id":4982,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":4972,"nodeType":"ParameterList","parameters":[],"src":"583:2:32"},"returnParameters":{"id":4973,"nodeType":"ParameterList","parameters":[],"src":"586:0:32"},"scope":5235,"src":"572:58:32","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":5002,"nodeType":"Block","src":"766:138:32","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"},"id":4995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4992,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4985,"src":"809:8:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4991,"name":"_getQueryStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5136,"src":"793:15:32","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_QueryStatus_$7996_$","typeString":"function (uint256) view returns (enum Witnet.QueryStatus)"}},"id":4993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"793:25:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":4994,"name":"_status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4988,"src":"822:7:32","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"src":"793:36:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"id":4997,"name":"_status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4988,"src":"870:7:32","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}],"id":4996,"name":"_getQueryStatusRevertMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5175,"src":"841:28:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_QueryStatus_$7996_$returns$_t_string_memory_ptr_$","typeString":"function (enum Witnet.QueryStatus) pure returns (string memory)"}},"id":4998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"841:37:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":4990,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"774:7:32","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"774:114:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5000,"nodeType":"ExpressionStatement","src":"774:114:32"},{"id":5001,"nodeType":"PlaceholderStatement","src":"896:1:32"}]},"documentation":{"id":4983,"nodeType":"StructuredDocumentation","src":"636:61:32","text":"Asserts the given query is currently in the given status."},"id":5003,"name":"inStatus","nameLocation":"711:8:32","nodeType":"ModifierDefinition","parameters":{"id":4989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4985,"mutability":"mutable","name":"_queryId","nameLocation":"728:8:32","nodeType":"VariableDeclaration","scope":5003,"src":"720:16:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4984,"name":"uint256","nodeType":"ElementaryTypeName","src":"720:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4988,"mutability":"mutable","name":"_status","nameLocation":"757:7:32","nodeType":"VariableDeclaration","scope":5003,"src":"738:26:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"},"typeName":{"id":4987,"nodeType":"UserDefinedTypeName","pathNode":{"id":4986,"name":"Witnet.QueryStatus","nodeType":"IdentifierPath","referencedDeclaration":7996,"src":"738:18:32"},"referencedDeclaration":7996,"src":"738:18:32","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"visibility":"internal"}],"src":"719:46:32"},"src":"702:202:32","virtual":false,"visibility":"internal"},{"body":{"id":5034,"nodeType":"Block","src":"1035:203:32","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5009,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"1053:8:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":5010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1064:1:32","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1053:12:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5012,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"1069:8:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5013,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"1081:6:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":5014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1081:8:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":5015,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"numQueries","nodeType":"MemberAccess","referencedDeclaration":4965,"src":"1081:19:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1069:31:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1053:47:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e6574426f617264446174613a206e6f742079657420706f73746564","id":5018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1102:33:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b09bffe90352494f89efcb829ab5d76daf825aed223ef780dc2b77a20c36b90","typeString":"literal_string \"WitnetBoardData: not yet posted\""},"value":"WitnetBoardData: not yet posted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9b09bffe90352494f89efcb829ab5d76daf825aed223ef780dc2b77a20c36b90","typeString":"literal_string \"WitnetBoardData: not yet posted\""}],"id":5008,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1045:7:32","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1045:91:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5020,"nodeType":"ExpressionStatement","src":"1045:91:32"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":5023,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"1168:8:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5022,"name":"_getRequester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5191,"src":"1154:13:32","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":5024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1154:23:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1189:1:32","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":5026,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1181:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5025,"name":"address","nodeType":"ElementaryTypeName","src":"1181:7:32","typeDescriptions":{}}},"id":5028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1181:10:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1154:37:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e6574426f617264446174613a2064656c65746564","id":5030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1193:26:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_b03f1d77fb238623c12b922abeaa0f477ebba04f796ffb46bca85c22e89d99da","typeString":"literal_string \"WitnetBoardData: deleted\""},"value":"WitnetBoardData: deleted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b03f1d77fb238623c12b922abeaa0f477ebba04f796ffb46bca85c22e89d99da","typeString":"literal_string \"WitnetBoardData: deleted\""}],"id":5021,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1146:7:32","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1146:74:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5032,"nodeType":"ExpressionStatement","src":"1146:74:32"},{"id":5033,"nodeType":"PlaceholderStatement","src":"1230:1:32"}]},"documentation":{"id":5004,"nodeType":"StructuredDocumentation","src":"910:82:32","text":"Asserts the given query was previously posted and that it was not yet deleted."},"id":5035,"name":"notDeleted","nameLocation":"1006:10:32","nodeType":"ModifierDefinition","parameters":{"id":5007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5006,"mutability":"mutable","name":"_queryId","nameLocation":"1025:8:32","nodeType":"VariableDeclaration","scope":5035,"src":"1017:16:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5005,"name":"uint256","nodeType":"ElementaryTypeName","src":"1017:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1016:18:32"},"src":"997:241:32","virtual":false,"visibility":"internal"},{"body":{"id":5049,"nodeType":"Block","src":"1321:100:32","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5039,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1339:3:32","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"1339:10:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5041,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"1353:6:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":5042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1353:8:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":5043,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":4963,"src":"1353:14:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1339:28:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e6574426f617264446174613a206f6e6c79206f776e6572","id":5045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1369:29:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_1f8274dcdd937f970d48bf777d3a3d5fbcf9897829d796148c2d8edcd419ec5d","typeString":"literal_string \"WitnetBoardData: only owner\""},"value":"WitnetBoardData: only owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1f8274dcdd937f970d48bf777d3a3d5fbcf9897829d796148c2d8edcd419ec5d","typeString":"literal_string \"WitnetBoardData: only owner\""}],"id":5038,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1331:7:32","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1331:68:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5047,"nodeType":"ExpressionStatement","src":"1331:68:32"},{"id":5048,"nodeType":"PlaceholderStatement","src":"1409:1:32"}]},"documentation":{"id":5036,"nodeType":"StructuredDocumentation","src":"1244:53:32","text":"Asserts caller corresponds to the current owner. "},"id":5050,"name":"onlyOwner","nameLocation":"1311:9:32","nodeType":"ModifierDefinition","parameters":{"id":5037,"nodeType":"ParameterList","parameters":[],"src":"1321:0:32"},"src":"1302:119:32","virtual":false,"visibility":"internal"},{"body":{"id":5069,"nodeType":"Block","src":"1543:119:32","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5056,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5053,"src":"1561:8:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":5057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1572:1:32","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1561:12:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5059,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5053,"src":"1577:8:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5060,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"1589:6:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":5061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1589:8:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":5062,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"numQueries","nodeType":"MemberAccess","referencedDeclaration":4965,"src":"1589:19:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1577:31:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1561:47:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e6574426f617264446174613a206e6f742079657420706f73746564","id":5065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1610:33:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b09bffe90352494f89efcb829ab5d76daf825aed223ef780dc2b77a20c36b90","typeString":"literal_string \"WitnetBoardData: not yet posted\""},"value":"WitnetBoardData: not yet posted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9b09bffe90352494f89efcb829ab5d76daf825aed223ef780dc2b77a20c36b90","typeString":"literal_string \"WitnetBoardData: not yet posted\""}],"id":5055,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1553:7:32","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1553:91:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5067,"nodeType":"ExpressionStatement","src":"1553:91:32"},{"id":5068,"nodeType":"PlaceholderStatement","src":"1654:1:32"}]},"documentation":{"id":5051,"nodeType":"StructuredDocumentation","src":"1427:74:32","text":"Asserts the give query was actually posted before calling this method."},"id":5070,"name":"wasPosted","nameLocation":"1515:9:32","nodeType":"ModifierDefinition","parameters":{"id":5054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5053,"mutability":"mutable","name":"_queryId","nameLocation":"1533:8:32","nodeType":"VariableDeclaration","scope":5070,"src":"1525:16:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5052,"name":"uint256","nodeType":"ElementaryTypeName","src":"1525:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1524:18:32"},"src":"1506:156:32","virtual":false,"visibility":"internal"},{"body":{"id":5135,"nodeType":"Block","src":"2055:971:32","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5079,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5073,"src":"2067:8:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":5080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2079:1:32","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2067:13:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5082,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5073,"src":"2084:8:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5083,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"2095:6:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":5084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2095:8:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":5085,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"numQueries","nodeType":"MemberAccess","referencedDeclaration":4965,"src":"2095:19:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2084:30:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2067:47:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":5133,"nodeType":"Block","src":"2236:784:32","statements":[{"assignments":[5097],"declarations":[{"constant":false,"id":5097,"mutability":"mutable","name":"_query","nameLocation":"2267:6:32","nodeType":"VariableDeclaration","scope":5133,"src":"2246:27:32","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage_ptr","typeString":"struct Witnet.Query"},"typeName":{"id":5096,"nodeType":"UserDefinedTypeName","pathNode":{"id":5095,"name":"Witnet.Query","nodeType":"IdentifierPath","referencedDeclaration":7991,"src":"2246:12:32"},"referencedDeclaration":7991,"src":"2246:12:32","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage_ptr","typeString":"struct Witnet.Query"}},"visibility":"internal"}],"id":5103,"initialValue":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5098,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"2276:6:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":5099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2276:8:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":5100,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"queries","nodeType":"MemberAccess","referencedDeclaration":4970,"src":"2276:16:32","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Query_$7991_storage_$","typeString":"mapping(uint256 => struct Witnet.Query storage ref)"}},"id":5102,"indexExpression":{"id":5101,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5073,"src":"2293:8:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2276:26:32","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage","typeString":"struct Witnet.Query storage ref"}},"nodeType":"VariableDeclarationStatement","src":"2246:56:32"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":5108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":5104,"name":"_query","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5097,"src":"2316:6:32","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage_ptr","typeString":"struct Witnet.Query storage pointer"}},"id":5105,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"response","nodeType":"MemberAccess","referencedDeclaration":7988,"src":"2316:15:32","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage","typeString":"struct Witnet.Response storage ref"}},"id":5106,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"drTxHash","nodeType":"MemberAccess","referencedDeclaration":8014,"src":"2316:24:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":5107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2344:1:32","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2316:29:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5114,"name":"_query","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5097,"src":"2598:6:32","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage_ptr","typeString":"struct Witnet.Query storage pointer"}},"id":5115,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":7990,"src":"2598:11:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2621:1:32","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":5117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2613:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5116,"name":"address","nodeType":"ElementaryTypeName","src":"2613:7:32","typeDescriptions":{}}},"id":5119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2613:10:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2598:25:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":5130,"nodeType":"Block","src":"2835:177:32","statements":[{"expression":{"expression":{"expression":{"id":5126,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"2975:6:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":5127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"QueryStatus","nodeType":"MemberAccess","referencedDeclaration":7996,"src":"2975:18:32","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_QueryStatus_$7996_$","typeString":"type(enum Witnet.QueryStatus)"}},"id":5128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Deleted","nodeType":"MemberAccess","referencedDeclaration":7995,"src":"2975:26:32","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"functionReturnParameters":5078,"id":5129,"nodeType":"Return","src":"2968:33:32"}]},"id":5131,"nodeType":"IfStatement","src":"2594:418:32","trueBody":{"id":5125,"nodeType":"Block","src":"2625:196:32","statements":[{"expression":{"expression":{"expression":{"id":5121,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"2785:6:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":5122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"QueryStatus","nodeType":"MemberAccess","referencedDeclaration":7996,"src":"2785:18:32","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_QueryStatus_$7996_$","typeString":"type(enum Witnet.QueryStatus)"}},"id":5123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Posted","nodeType":"MemberAccess","referencedDeclaration":7993,"src":"2785:25:32","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"functionReturnParameters":5078,"id":5124,"nodeType":"Return","src":"2778:32:32"}]}},"id":5132,"nodeType":"IfStatement","src":"2312:700:32","trueBody":{"id":5113,"nodeType":"Block","src":"2347:233:32","statements":[{"expression":{"expression":{"expression":{"id":5109,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"2542:6:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":5110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"QueryStatus","nodeType":"MemberAccess","referencedDeclaration":7996,"src":"2542:18:32","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_QueryStatus_$7996_$","typeString":"type(enum Witnet.QueryStatus)"}},"id":5111,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Reported","nodeType":"MemberAccess","referencedDeclaration":7994,"src":"2542:27:32","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"functionReturnParameters":5078,"id":5112,"nodeType":"Return","src":"2535:34:32"}]}}]},"id":5134,"nodeType":"IfStatement","src":"2063:957:32","trueBody":{"id":5092,"nodeType":"Block","src":"2116:108:32","statements":[{"expression":{"expression":{"expression":{"id":5088,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"2189:6:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":5089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"QueryStatus","nodeType":"MemberAccess","referencedDeclaration":7996,"src":"2189:18:32","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_QueryStatus_$7996_$","typeString":"type(enum Witnet.QueryStatus)"}},"id":5090,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Unknown","nodeType":"MemberAccess","referencedDeclaration":7992,"src":"2189:26:32","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"functionReturnParameters":5078,"id":5091,"nodeType":"Return","src":"2182:33:32"}]}}]},"documentation":{"id":5071,"nodeType":"StructuredDocumentation","src":"1909:39:32","text":"Gets current status of given query."},"id":5136,"implemented":true,"kind":"function","modifiers":[],"name":"_getQueryStatus","nameLocation":"1962:15:32","nodeType":"FunctionDefinition","parameters":{"id":5074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5073,"mutability":"mutable","name":"_queryId","nameLocation":"1986:8:32","nodeType":"VariableDeclaration","scope":5136,"src":"1978:16:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5072,"name":"uint256","nodeType":"ElementaryTypeName","src":"1978:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1977:18:32"},"returnParameters":{"id":5078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5077,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5136,"src":"2031:18:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"},"typeName":{"id":5076,"nodeType":"UserDefinedTypeName","pathNode":{"id":5075,"name":"Witnet.QueryStatus","nodeType":"IdentifierPath","referencedDeclaration":7996,"src":"2031:18:32"},"referencedDeclaration":7996,"src":"2031:18:32","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"visibility":"internal"}],"src":"2030:20:32"},"scope":5235,"src":"1953:1073:32","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":5174,"nodeType":"Block","src":"3152:412:32","statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"},"id":5148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5144,"name":"_status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5139,"src":"3164:7:32","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":5145,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"3175:6:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":5146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"QueryStatus","nodeType":"MemberAccess","referencedDeclaration":7996,"src":"3175:18:32","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_QueryStatus_$7996_$","typeString":"type(enum Witnet.QueryStatus)"}},"id":5147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Posted","nodeType":"MemberAccess","referencedDeclaration":7993,"src":"3175:25:32","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"src":"3164:36:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"},"id":5156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5152,"name":"_status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5139,"src":"3277:7:32","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":5153,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"3288:6:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":5154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"QueryStatus","nodeType":"MemberAccess","referencedDeclaration":7996,"src":"3288:18:32","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_QueryStatus_$7996_$","typeString":"type(enum Witnet.QueryStatus)"}},"id":5155,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Reported","nodeType":"MemberAccess","referencedDeclaration":7994,"src":"3288:27:32","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"src":"3277:38:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"},"id":5164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5160,"name":"_status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5139,"src":"3394:7:32","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":5161,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"3405:6:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":5162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"QueryStatus","nodeType":"MemberAccess","referencedDeclaration":7996,"src":"3405:18:32","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_QueryStatus_$7996_$","typeString":"type(enum Witnet.QueryStatus)"}},"id":5163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Deleted","nodeType":"MemberAccess","referencedDeclaration":7995,"src":"3405:26:32","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"src":"3394:37:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":5170,"nodeType":"Block","src":"3505:53:32","statements":[{"expression":{"hexValue":"5769746e6574426f617264446174613a20626164206d6f6f64","id":5168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3522:27:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_ad8e7bf01388279bffde24dc316b4499ec568d764670ed44acfdefba623486d3","typeString":"literal_string \"WitnetBoardData: bad mood\""},"value":"WitnetBoardData: bad mood"},"functionReturnParameters":5143,"id":5169,"nodeType":"Return","src":"3515:34:32"}]},"id":5171,"nodeType":"IfStatement","src":"3390:168:32","trueBody":{"id":5167,"nodeType":"Block","src":"3433:66:32","statements":[{"expression":{"hexValue":"5769746e6574426f617264446174613a206e6f7420696e2044656c6574656420737461747573","id":5165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3450:40:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_14c2ef5c70e4202c32f9bc9f647f67e3abe7fa0740bf9630362e557bf47bf65e","typeString":"literal_string \"WitnetBoardData: not in Deleted status\""},"value":"WitnetBoardData: not in Deleted status"},"functionReturnParameters":5143,"id":5166,"nodeType":"Return","src":"3443:47:32"}]}},"id":5172,"nodeType":"IfStatement","src":"3273:285:32","trueBody":{"id":5159,"nodeType":"Block","src":"3317:67:32","statements":[{"expression":{"hexValue":"5769746e6574426f617264446174613a206e6f7420696e205265706f7274656420737461747573","id":5157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3334:41:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_bab64ae5bd30bff0155226560ceff92d4b4dec18ff16094c8feafdc2be73dcbc","typeString":"literal_string \"WitnetBoardData: not in Reported status\""},"value":"WitnetBoardData: not in Reported status"},"functionReturnParameters":5143,"id":5158,"nodeType":"Return","src":"3327:48:32"}]}},"id":5173,"nodeType":"IfStatement","src":"3160:398:32","trueBody":{"id":5151,"nodeType":"Block","src":"3202:65:32","statements":[{"expression":{"hexValue":"5769746e6574426f617264446174613a206e6f7420696e20506f7374656420737461747573","id":5149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3219:39:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c663beef74f4e3cb997f8717031fba44b3e4df85aa6649eb05f31c06370a3a5","typeString":"literal_string \"WitnetBoardData: not in Posted status\""},"value":"WitnetBoardData: not in Posted status"},"functionReturnParameters":5143,"id":5150,"nodeType":"Return","src":"3212:46:32"}]}}]},"id":5175,"implemented":true,"kind":"function","modifiers":[],"name":"_getQueryStatusRevertMessage","nameLocation":"3041:28:32","nodeType":"FunctionDefinition","parameters":{"id":5140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5139,"mutability":"mutable","name":"_status","nameLocation":"3089:7:32","nodeType":"VariableDeclaration","scope":5175,"src":"3070:26:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"},"typeName":{"id":5138,"nodeType":"UserDefinedTypeName","pathNode":{"id":5137,"name":"Witnet.QueryStatus","nodeType":"IdentifierPath","referencedDeclaration":7996,"src":"3070:18:32"},"referencedDeclaration":7996,"src":"3070:18:32","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"visibility":"internal"}],"src":"3069:28:32"},"returnParameters":{"id":5143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5142,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5175,"src":"3133:13:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5141,"name":"string","nodeType":"ElementaryTypeName","src":"3133:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3132:15:32"},"scope":5235,"src":"3032:532:32","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":5190,"nodeType":"Block","src":"3695:53:32","statements":[{"expression":{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5183,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"3710:6:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":5184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3710:8:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":5185,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"queries","nodeType":"MemberAccess","referencedDeclaration":4970,"src":"3710:16:32","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Query_$7991_storage_$","typeString":"mapping(uint256 => struct Witnet.Query storage ref)"}},"id":5187,"indexExpression":{"id":5186,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5178,"src":"3727:8:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3710:26:32","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage","typeString":"struct Witnet.Query storage ref"}},"id":5188,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":7990,"src":"3710:31:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5182,"id":5189,"nodeType":"Return","src":"3703:38:32"}]},"documentation":{"id":5176,"nodeType":"StructuredDocumentation","src":"3570:31:32","text":"Gets from of a given query."},"id":5191,"implemented":true,"kind":"function","modifiers":[],"name":"_getRequester","nameLocation":"3615:13:32","nodeType":"FunctionDefinition","parameters":{"id":5179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5178,"mutability":"mutable","name":"_queryId","nameLocation":"3637:8:32","nodeType":"VariableDeclaration","scope":5191,"src":"3629:16:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5177,"name":"uint256","nodeType":"ElementaryTypeName","src":"3629:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3628:18:32"},"returnParameters":{"id":5182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5181,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5191,"src":"3682:7:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5180,"name":"address","nodeType":"ElementaryTypeName","src":"3682:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3681:9:32"},"scope":5235,"src":"3606:142:32","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":5207,"nodeType":"Block","src":"3915:58:32","statements":[{"expression":{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5200,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"3932:6:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":5201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3932:8:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":5202,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"queries","nodeType":"MemberAccess","referencedDeclaration":4970,"src":"3932:16:32","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Query_$7991_storage_$","typeString":"mapping(uint256 => struct Witnet.Query storage ref)"}},"id":5204,"indexExpression":{"id":5203,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5194,"src":"3949:8:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3932:26:32","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage","typeString":"struct Witnet.Query storage ref"}},"id":5205,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"request","nodeType":"MemberAccess","referencedDeclaration":7985,"src":"3932:34:32","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage","typeString":"struct Witnet.Request storage ref"}},"functionReturnParameters":5199,"id":5206,"nodeType":"Return","src":"3925:41:32"}]},"documentation":{"id":5192,"nodeType":"StructuredDocumentation","src":"3754:50:32","text":"Gets the Witnet.Request part of a given query."},"id":5208,"implemented":true,"kind":"function","modifiers":[],"name":"_getRequestData","nameLocation":"3818:15:32","nodeType":"FunctionDefinition","parameters":{"id":5195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5194,"mutability":"mutable","name":"_queryId","nameLocation":"3842:8:32","nodeType":"VariableDeclaration","scope":5208,"src":"3834:16:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5193,"name":"uint256","nodeType":"ElementaryTypeName","src":"3834:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3833:18:32"},"returnParameters":{"id":5199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5198,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5208,"src":"3887:22:32","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request"},"typeName":{"id":5197,"nodeType":"UserDefinedTypeName","pathNode":{"id":5196,"name":"Witnet.Request","nodeType":"IdentifierPath","referencedDeclaration":8008,"src":"3887:14:32"},"referencedDeclaration":8008,"src":"3887:14:32","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request"}},"visibility":"internal"}],"src":"3886:24:32"},"scope":5235,"src":"3809:164:32","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":5224,"nodeType":"Block","src":"4141:59:32","statements":[{"expression":{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5217,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"4158:6:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":5218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4158:8:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":5219,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"queries","nodeType":"MemberAccess","referencedDeclaration":4970,"src":"4158:16:32","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Query_$7991_storage_$","typeString":"mapping(uint256 => struct Witnet.Query storage ref)"}},"id":5221,"indexExpression":{"id":5220,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5211,"src":"4175:8:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4158:26:32","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage","typeString":"struct Witnet.Query storage ref"}},"id":5222,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"response","nodeType":"MemberAccess","referencedDeclaration":7988,"src":"4158:35:32","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage","typeString":"struct Witnet.Response storage ref"}},"functionReturnParameters":5216,"id":5223,"nodeType":"Return","src":"4151:42:32"}]},"documentation":{"id":5209,"nodeType":"StructuredDocumentation","src":"3979:49:32","text":"Gets the Witnet.Result part of a given query."},"id":5225,"implemented":true,"kind":"function","modifiers":[],"name":"_getResponseData","nameLocation":"4042:16:32","nodeType":"FunctionDefinition","parameters":{"id":5212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5211,"mutability":"mutable","name":"_queryId","nameLocation":"4067:8:32","nodeType":"VariableDeclaration","scope":5225,"src":"4059:16:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5210,"name":"uint256","nodeType":"ElementaryTypeName","src":"4059:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4058:18:32"},"returnParameters":{"id":5216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5215,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5225,"src":"4112:23:32","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage_ptr","typeString":"struct Witnet.Response"},"typeName":{"id":5214,"nodeType":"UserDefinedTypeName","pathNode":{"id":5213,"name":"Witnet.Response","nodeType":"IdentifierPath","referencedDeclaration":8017,"src":"4112:15:32"},"referencedDeclaration":8017,"src":"4112:15:32","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage_ptr","typeString":"struct Witnet.Response"}},"visibility":"internal"}],"src":"4111:25:32"},"scope":5235,"src":"4033:167:32","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":5233,"nodeType":"Block","src":"4368:89:32","statements":[{"AST":{"nodeType":"YulBlock","src":"4387:64:32","statements":[{"nodeType":"YulAssignment","src":"4401:40:32","value":{"name":"_WITNET_BOARD_DATA_SLOTHASH","nodeType":"YulIdentifier","src":"4414:27:32"},"variableNames":[{"name":"_ptr.slot","nodeType":"YulIdentifier","src":"4401:9:32"}]}]},"evmVersion":"london","externalReferences":[{"declaration":4959,"isOffset":false,"isSlot":false,"src":"4414:27:32","valueSize":1},{"declaration":5230,"isOffset":false,"isSlot":true,"src":"4401:9:32","suffix":"slot","valueSize":1}],"id":5232,"nodeType":"InlineAssembly","src":"4378:73:32"}]},"documentation":{"id":5226,"nodeType":"StructuredDocumentation","src":"4206:69:32","text":"Returns storage pointer to contents of 'WitnetBoardState' struct."},"id":5234,"implemented":true,"kind":"function","modifiers":[],"name":"_state","nameLocation":"4289:6:32","nodeType":"FunctionDefinition","parameters":{"id":5227,"nodeType":"ParameterList","parameters":[],"src":"4295:2:32"},"returnParameters":{"id":5231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5230,"mutability":"mutable","name":"_ptr","nameLocation":"4358:4:32","nodeType":"VariableDeclaration","scope":5234,"src":"4333:29:32","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState"},"typeName":{"id":5229,"nodeType":"UserDefinedTypeName","pathNode":{"id":5228,"name":"WitnetBoardState","nodeType":"IdentifierPath","referencedDeclaration":4971,"src":"4333:16:32"},"referencedDeclaration":4971,"src":"4333:16:32","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState"}},"visibility":"internal"}],"src":"4332:31:32"},"scope":5235,"src":"4280:177:32","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":5236,"src":"181:4279:32","usedErrors":[]}],"src":"33:4428:32"},"id":32},"witnet-solidity-bridge/contracts/data/WitnetBoardDataACLs.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/data/WitnetBoardDataACLs.sol","exportedSymbols":{"IWitnetRequest":[7510],"Witnet":[8300],"WitnetBoardData":[5235],"WitnetBoardDataACLs":[5285]},"id":5286,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":5237,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:33"},{"absolutePath":"witnet-solidity-bridge/contracts/data/WitnetBoardData.sol","file":"./WitnetBoardData.sol","id":5238,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5286,"sourceUnit":5236,"src":"66:31:33","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":5240,"name":"WitnetBoardData","nodeType":"IdentifierPath","referencedDeclaration":5235,"src":"277:15:33"},"id":5241,"nodeType":"InheritanceSpecifier","src":"277:15:33"}],"contractDependencies":[],"contractKind":"contract","documentation":{"id":5239,"nodeType":"StructuredDocumentation","src":"99:125:33","text":"@title Witnet Access Control Lists storage layout, for Witnet-trusted request boards.\n @author The Witnet Foundation."},"fullyImplemented":true,"id":5285,"linearizedBaseContracts":[5285,5235],"name":"WitnetBoardDataACLs","nameLocation":"242:19:33","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":5244,"mutability":"constant","name":"_WITNET_BOARD_ACLS_SLOTHASH","nameLocation":"325:27:33","nodeType":"VariableDeclaration","scope":5285,"src":"299:184:33","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5242,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299:7:33","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307861366462373236333938336633333762616532633966623331353733303232373936316431633131353361653165313061353662353739313436356464366664","id":5243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"417:66:33","typeDescriptions":{"typeIdentifier":"t_rational_75471661856160408570928673711951733518742362877825705816872614868034342737661_by_1","typeString":"int_const 7547...(69 digits omitted)...7661"},"value":"0xa6db7263983f337bae2c9fb315730227961d1c1153ae1e10a56b5791465dd6fd"},"visibility":"internal"},{"canonicalName":"WitnetBoardDataACLs.WitnetBoardACLs","id":5249,"members":[{"constant":false,"id":5248,"mutability":"mutable","name":"isReporter_","nameLocation":"549:11:33","nodeType":"VariableDeclaration","scope":5249,"src":"523:37:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":5247,"keyType":{"id":5245,"name":"address","nodeType":"ElementaryTypeName","src":"532:7:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"523:25:33","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueType":{"id":5246,"name":"bool","nodeType":"ElementaryTypeName","src":"543:4:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"}],"name":"WitnetBoardACLs","nameLocation":"497:15:33","nodeType":"StructDefinition","scope":5285,"src":"490:77:33","visibility":"public"},{"body":{"id":5261,"nodeType":"Block","src":"587:55:33","statements":[{"expression":{"id":5259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5252,"name":"_acls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5284,"src":"597:5:33","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardACLs_$5249_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardDataACLs.WitnetBoardACLs storage pointer)"}},"id":5253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"597:7:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardACLs_$5249_storage_ptr","typeString":"struct WitnetBoardDataACLs.WitnetBoardACLs storage pointer"}},"id":5254,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"isReporter_","nodeType":"MemberAccess","referencedDeclaration":5248,"src":"597:19:33","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":5257,"indexExpression":{"expression":{"id":5255,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"617:3:33","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"617:10:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"597:31:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":5258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"631:4:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"597:38:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5260,"nodeType":"ExpressionStatement","src":"597:38:33"}]},"id":5262,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":5250,"nodeType":"ParameterList","parameters":[],"src":"584:2:33"},"returnParameters":{"id":5251,"nodeType":"ParameterList","parameters":[],"src":"587:0:33"},"scope":5285,"src":"573:69:33","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":5275,"nodeType":"Block","src":"671:148:33","statements":[{"expression":{"arguments":[{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5265,"name":"_acls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5284,"src":"702:5:33","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardACLs_$5249_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardDataACLs.WitnetBoardACLs storage pointer)"}},"id":5266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"702:7:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardACLs_$5249_storage_ptr","typeString":"struct WitnetBoardDataACLs.WitnetBoardACLs storage pointer"}},"id":5267,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"isReporter_","nodeType":"MemberAccess","referencedDeclaration":5248,"src":"702:19:33","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":5270,"indexExpression":{"expression":{"id":5268,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"722:3:33","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"722:10:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"702:31:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e6574426f6172644461746141434c733a20756e617574686f72697a6564207265706f72746572","id":5271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"747:44:33","typeDescriptions":{"typeIdentifier":"t_stringliteral_72b1f434e16ac1cf02aa4ce2f0f63ef536c0a2e88f68b1067ef152351f0087f1","typeString":"literal_string \"WitnetBoardDataACLs: unauthorized reporter\""},"value":"WitnetBoardDataACLs: unauthorized reporter"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_72b1f434e16ac1cf02aa4ce2f0f63ef536c0a2e88f68b1067ef152351f0087f1","typeString":"literal_string \"WitnetBoardDataACLs: unauthorized reporter\""}],"id":5264,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"681:7:33","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"681:120:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5273,"nodeType":"ExpressionStatement","src":"681:120:33"},{"id":5274,"nodeType":"PlaceholderStatement","src":"811:1:33"}]},"id":5276,"name":"onlyReporters","nameLocation":"657:13:33","nodeType":"ModifierDefinition","parameters":{"id":5263,"nodeType":"ParameterList","parameters":[],"src":"671:0:33"},"src":"648:171:33","virtual":false,"visibility":"internal"},{"body":{"id":5283,"nodeType":"Block","src":"1140:92:33","statements":[{"AST":{"nodeType":"YulBlock","src":"1159:67:33","statements":[{"nodeType":"YulAssignment","src":"1173:43:33","value":{"name":"_WITNET_BOARD_ACLS_SLOTHASH","nodeType":"YulIdentifier","src":"1189:27:33"},"variableNames":[{"name":"_struct.slot","nodeType":"YulIdentifier","src":"1173:12:33"}]}]},"evmVersion":"london","externalReferences":[{"declaration":5244,"isOffset":false,"isSlot":false,"src":"1189:27:33","valueSize":1},{"declaration":5280,"isOffset":false,"isSlot":true,"src":"1173:12:33","suffix":"slot","valueSize":1}],"id":5282,"nodeType":"InlineAssembly","src":"1150:76:33"}]},"id":5284,"implemented":true,"kind":"function","modifiers":[],"name":"_acls","nameLocation":"1076:5:33","nodeType":"FunctionDefinition","parameters":{"id":5277,"nodeType":"ParameterList","parameters":[],"src":"1081:2:33"},"returnParameters":{"id":5281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5280,"mutability":"mutable","name":"_struct","nameLocation":"1131:7:33","nodeType":"VariableDeclaration","scope":5284,"src":"1107:31:33","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardACLs_$5249_storage_ptr","typeString":"struct WitnetBoardDataACLs.WitnetBoardACLs"},"typeName":{"id":5279,"nodeType":"UserDefinedTypeName","pathNode":{"id":5278,"name":"WitnetBoardACLs","nodeType":"IdentifierPath","referencedDeclaration":5249,"src":"1107:15:33"},"referencedDeclaration":5249,"src":"1107:15:33","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardACLs_$5249_storage_ptr","typeString":"struct WitnetBoardDataACLs.WitnetBoardACLs"}},"visibility":"internal"}],"src":"1106:33:33"},"scope":5285,"src":"1067:165:33","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":5286,"src":"224:1010:33","usedErrors":[]}],"src":"33:1202:33"},"id":33},"witnet-solidity-bridge/contracts/impls/WitnetProxy.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/impls/WitnetProxy.sol","exportedSymbols":{"Initializable":[11676],"Proxiable":[11841],"Upgradable":[11937],"WitnetProxy":[5497]},"id":5498,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":5287,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:34"},{"id":5288,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"65:33:34"},{"absolutePath":"witnet-solidity-bridge/contracts/patterns/Upgradable.sol","file":"../patterns/Upgradable.sol","id":5289,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5498,"sourceUnit":11938,"src":"100:36:34","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":{"id":5290,"nodeType":"StructuredDocumentation","src":"138:240:34","text":"@title WitnetProxy: upgradable delegate-proxy contract that routes Witnet data requests coming from a \n `UsingWitnet`-inheriting contract to a currently active `WitnetRequestBoard` implementation. \n @author The Witnet Foundation."},"fullyImplemented":true,"id":5497,"linearizedBaseContracts":[5497],"name":"WitnetProxy","nameLocation":"387:11:34","nodeType":"ContractDefinition","nodes":[{"canonicalName":"WitnetProxy.WitnetProxySlot","id":5293,"members":[{"constant":false,"id":5292,"mutability":"mutable","name":"implementation","nameLocation":"447:14:34","nodeType":"VariableDeclaration","scope":5293,"src":"439:22:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5291,"name":"address","nodeType":"ElementaryTypeName","src":"439:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"WitnetProxySlot","nameLocation":"413:15:34","nodeType":"StructDefinition","scope":5497,"src":"406:62:34","visibility":"public"},{"anonymous":false,"documentation":{"id":5294,"nodeType":"StructuredDocumentation","src":"474:61:34","text":"Event emitted every time the implementation gets updated."},"id":5298,"name":"Upgraded","nameLocation":"546:8:34","nodeType":"EventDefinition","parameters":{"id":5297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5296,"indexed":true,"mutability":"mutable","name":"implementation","nameLocation":"571:14:34","nodeType":"VariableDeclaration","scope":5298,"src":"555:30:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5295,"name":"address","nodeType":"ElementaryTypeName","src":"555:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"554:32:34"},"src":"540:47:34"},{"body":{"id":5302,"nodeType":"Block","src":"711:2:34","statements":[]},"documentation":{"id":5299,"nodeType":"StructuredDocumentation","src":"595:96:34","text":"Constructor with no params as to ease eventual support of Singleton pattern (i.e. ERC-2470)."},"id":5303,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":5300,"nodeType":"ParameterList","parameters":[],"src":"708:2:34"},"returnParameters":{"id":5301,"nodeType":"ParameterList","parameters":[],"src":"711:0:34"},"scope":5497,"src":"696:17:34","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":5311,"nodeType":"Block","src":"811:61:34","statements":[{"expression":{"arguments":[{"hexValue":"5769746e657450726f78793a206e6f207472616e7366657273206163636570746564","id":5308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"828:36:34","typeDescriptions":{"typeIdentifier":"t_stringliteral_774f1c1f39aa6307ffed1c232166bea02e6ab0d8771bdf0ac6a80de6ac5b053d","typeString":"literal_string \"WitnetProxy: no transfers accepted\""},"value":"WitnetProxy: no transfers accepted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_774f1c1f39aa6307ffed1c232166bea02e6ab0d8771bdf0ac6a80de6ac5b053d","typeString":"literal_string \"WitnetProxy: no transfers accepted\""}],"id":5307,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"821:6:34","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":5309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"821:44:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5310,"nodeType":"ExpressionStatement","src":"821:44:34"}]},"documentation":{"id":5304,"nodeType":"StructuredDocumentation","src":"719:60:34","text":"WitnetProxies will never accept direct transfer of ETHs."},"id":5312,"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":5305,"nodeType":"ParameterList","parameters":[],"src":"791:2:34"},"returnParameters":{"id":5306,"nodeType":"ParameterList","parameters":[],"src":"811:0:34"},"scope":5497,"src":"784:88:34","stateMutability":"payable","virtual":false,"visibility":"external"},{"body":{"id":5322,"nodeType":"Block","src":"980:1003:34","statements":[{"assignments":[5317],"declarations":[{"constant":false,"id":5317,"mutability":"mutable","name":"_implementation","nameLocation":"1040:15:34","nodeType":"VariableDeclaration","scope":5322,"src":"1032:23:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5316,"name":"address","nodeType":"ElementaryTypeName","src":"1032:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":5320,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":5318,"name":"implementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5334,"src":"1058:14:34","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":5319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1058:16:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1032:42:34"},{"AST":{"nodeType":"YulBlock","src":"1094:883:34","statements":[{"nodeType":"YulVariableDeclaration","src":"1401:22:34","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1418:4:34","type":"","value":"0x40"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1412:5:34"},"nodeType":"YulFunctionCall","src":"1412:11:34"},"variables":[{"name":"ptr","nodeType":"YulTypedName","src":"1405:3:34","type":""}]},{"expression":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"1449:3:34"},{"kind":"number","nodeType":"YulLiteral","src":"1454:1:34","type":"","value":"0"},{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"1457:12:34"},"nodeType":"YulFunctionCall","src":"1457:14:34"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"1436:12:34"},"nodeType":"YulFunctionCall","src":"1436:36:34"},"nodeType":"YulExpressionStatement","src":"1436:36:34"},{"nodeType":"YulVariableDeclaration","src":"1485:77:34","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"1512:3:34"},"nodeType":"YulFunctionCall","src":"1512:5:34"},{"name":"_implementation","nodeType":"YulIdentifier","src":"1519:15:34"},{"name":"ptr","nodeType":"YulIdentifier","src":"1536:3:34"},{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"1541:12:34"},"nodeType":"YulFunctionCall","src":"1541:14:34"},{"kind":"number","nodeType":"YulLiteral","src":"1557:1:34","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1560:1:34","type":"","value":"0"}],"functionName":{"name":"delegatecall","nodeType":"YulIdentifier","src":"1499:12:34"},"nodeType":"YulFunctionCall","src":"1499:63:34"},"variables":[{"name":"result","nodeType":"YulTypedName","src":"1489:6:34","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1575:28:34","value":{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"1587:14:34"},"nodeType":"YulFunctionCall","src":"1587:16:34"},"variables":[{"name":"size","nodeType":"YulTypedName","src":"1579:4:34","type":""}]},{"expression":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"1631:3:34"},{"kind":"number","nodeType":"YulLiteral","src":"1636:1:34","type":"","value":"0"},{"name":"size","nodeType":"YulIdentifier","src":"1639:4:34"}],"functionName":{"name":"returndatacopy","nodeType":"YulIdentifier","src":"1616:14:34"},"nodeType":"YulFunctionCall","src":"1616:28:34"},"nodeType":"YulExpressionStatement","src":"1616:28:34"},{"cases":[{"body":{"nodeType":"YulBlock","src":"1695:108:34","statements":[{"expression":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"1774:3:34"},{"name":"size","nodeType":"YulIdentifier","src":"1779:4:34"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1767:6:34"},"nodeType":"YulFunctionCall","src":"1767:17:34"},"nodeType":"YulExpressionStatement","src":"1767:17:34"}]},"nodeType":"YulCase","src":"1687:116:34","value":{"kind":"number","nodeType":"YulLiteral","src":"1692:1:34","type":"","value":"0"}},{"body":{"nodeType":"YulBlock","src":"1828:139:34","statements":[{"expression":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"1938:3:34"},{"name":"size","nodeType":"YulIdentifier","src":"1943:4:34"}],"functionName":{"name":"return","nodeType":"YulIdentifier","src":"1931:6:34"},"nodeType":"YulFunctionCall","src":"1931:17:34"},"nodeType":"YulExpressionStatement","src":"1931:17:34"}]},"nodeType":"YulCase","src":"1820:147:34","value":"default"}],"expression":{"name":"result","nodeType":"YulIdentifier","src":"1664:6:34"},"nodeType":"YulSwitch","src":"1657:310:34"}]},"evmVersion":"london","externalReferences":[{"declaration":5317,"isOffset":false,"isSlot":false,"src":"1519:15:34","valueSize":1}],"id":5321,"nodeType":"InlineAssembly","src":"1085:892:34"}]},"documentation":{"id":5313,"nodeType":"StructuredDocumentation","src":"878:69:34","text":"Payable fallback accepts delegating calls to payable functions.  "},"id":5323,"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":5314,"nodeType":"ParameterList","parameters":[],"src":"960:2:34"},"returnParameters":{"id":5315,"nodeType":"ParameterList","parameters":[],"src":"980:0:34"},"scope":5497,"src":"952:1031:34","stateMutability":"payable","virtual":false,"visibility":"external"},{"body":{"id":5333,"nodeType":"Block","src":"2101:51:34","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5329,"name":"_proxySlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5496,"src":"2118:10:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetProxySlot_$5293_storage_ptr_$","typeString":"function () pure returns (struct WitnetProxy.WitnetProxySlot storage pointer)"}},"id":5330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2118:12:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetProxySlot_$5293_storage_ptr","typeString":"struct WitnetProxy.WitnetProxySlot storage pointer"}},"id":5331,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"implementation","nodeType":"MemberAccess","referencedDeclaration":5292,"src":"2118:27:34","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5328,"id":5332,"nodeType":"Return","src":"2111:34:34"}]},"documentation":{"id":5324,"nodeType":"StructuredDocumentation","src":"1989:51:34","text":"Returns proxy's current implementation address."},"functionSelector":"5c60da1b","id":5334,"implemented":true,"kind":"function","modifiers":[],"name":"implementation","nameLocation":"2054:14:34","nodeType":"FunctionDefinition","parameters":{"id":5325,"nodeType":"ParameterList","parameters":[],"src":"2068:2:34"},"returnParameters":{"id":5328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5327,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5334,"src":"2092:7:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5326,"name":"address","nodeType":"ElementaryTypeName","src":"2092:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2091:9:34"},"scope":5497,"src":"2045:107:34","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":5486,"nodeType":"Block","src":"2545:2290:34","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5345,"name":"_newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5337,"src":"2609:18:34","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2639:1:34","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":5347,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2631:7:34","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5346,"name":"address","nodeType":"ElementaryTypeName","src":"2631:7:34","typeDescriptions":{}}},"id":5349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2631:10:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2609:32:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657450726f78793a206e756c6c20696d706c656d656e746174696f6e","id":5351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2643:34:34","typeDescriptions":{"typeIdentifier":"t_stringliteral_d599eaa5e68d91d75c142446490ab9a15fd0284a41ce949219b5b4d8f267239a","typeString":"literal_string \"WitnetProxy: null implementation\""},"value":"WitnetProxy: null implementation"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d599eaa5e68d91d75c142446490ab9a15fd0284a41ce949219b5b4d8f267239a","typeString":"literal_string \"WitnetProxy: null implementation\""}],"id":5344,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2601:7:34","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2601:77:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5353,"nodeType":"ExpressionStatement","src":"2601:77:34"},{"assignments":[5355],"declarations":[{"constant":false,"id":5355,"mutability":"mutable","name":"_oldImplementation","nameLocation":"2697:18:34","nodeType":"VariableDeclaration","scope":5486,"src":"2689:26:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5354,"name":"address","nodeType":"ElementaryTypeName","src":"2689:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":5358,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":5356,"name":"implementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5334,"src":"2718:14:34","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":5357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2718:16:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2689:45:34"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5359,"name":"_oldImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5355,"src":"2748:18:34","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2778:1:34","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":5361,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2770:7:34","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5360,"name":"address","nodeType":"ElementaryTypeName","src":"2770:7:34","typeDescriptions":{}}},"id":5363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2770:10:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2748:32:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5440,"nodeType":"IfStatement","src":"2744:1258:34","trueBody":{"id":5439,"nodeType":"Block","src":"2782:1220:34","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5366,"name":"_newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5337,"src":"2876:18:34","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":5367,"name":"_oldImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5355,"src":"2898:18:34","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2876:40:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657450726f78793a206e6f7468696e6720746f2075706772616465","id":5369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2918:33:34","typeDescriptions":{"typeIdentifier":"t_stringliteral_e332eab1bae45430d1201a30c0d80d8fcb5570f9e70201a9eb7b229e17fd2084","typeString":"literal_string \"WitnetProxy: nothing to upgrade\""},"value":"WitnetProxy: nothing to upgrade"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e332eab1bae45430d1201a30c0d80d8fcb5570f9e70201a9eb7b229e17fd2084","typeString":"literal_string \"WitnetProxy: nothing to upgrade\""}],"id":5365,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2868:7:34","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2868:84:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5371,"nodeType":"ExpressionStatement","src":"2868:84:34"},{"clauses":[{"block":{"id":5385,"nodeType":"Block","src":"3128:86:34","statements":[{"expression":{"arguments":[{"id":5381,"name":"_isUpgradable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5378,"src":"3154:13:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657450726f78793a206e6f742075706772616461626c65","id":5382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3169:29:34","typeDescriptions":{"typeIdentifier":"t_stringliteral_d96132834a96bae5cb2f32cb07f13985dcde0f2358055c198eb3065af6c5aa7f","typeString":"literal_string \"WitnetProxy: not upgradable\""},"value":"WitnetProxy: not upgradable"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d96132834a96bae5cb2f32cb07f13985dcde0f2358055c198eb3065af6c5aa7f","typeString":"literal_string \"WitnetProxy: not upgradable\""}],"id":5380,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3146:7:34","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3146:53:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5384,"nodeType":"ExpressionStatement","src":"3146:53:34"}]},"errorName":"","id":5386,"nodeType":"TryCatchClause","parameters":{"id":5379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5378,"mutability":"mutable","name":"_isUpgradable","nameLocation":"3113:13:34","nodeType":"VariableDeclaration","scope":5386,"src":"3108:18:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5377,"name":"bool","nodeType":"ElementaryTypeName","src":"3108:4:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3107:20:34"},"src":"3099:115:34"},{"block":{"id":5391,"nodeType":"Block","src":"3221:85:34","statements":[{"expression":{"arguments":[{"hexValue":"5769746e657450726f78793a20756e61626c6520746f20636865636b207570677261646162696c697479","id":5388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3246:44:34","typeDescriptions":{"typeIdentifier":"t_stringliteral_7f859058ad3ee4e192700ff813ed67dc892a0c7de91510ee584a0ac25fc982fc","typeString":"literal_string \"WitnetProxy: unable to check upgradability\""},"value":"WitnetProxy: unable to check upgradability"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7f859058ad3ee4e192700ff813ed67dc892a0c7de91510ee584a0ac25fc982fc","typeString":"literal_string \"WitnetProxy: unable to check upgradability\""}],"id":5387,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"3239:6:34","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":5389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3239:52:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5390,"nodeType":"ExpressionStatement","src":"3239:52:34"}]},"errorName":"","id":5392,"nodeType":"TryCatchClause","src":"3215:91:34"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":5373,"name":"_oldImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5355,"src":"3064:18:34","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5372,"name":"Upgradable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11937,"src":"3053:10:34","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Upgradable_$11937_$","typeString":"type(contract Upgradable)"}},"id":5374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3053:30:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Upgradable_$11937","typeString":"contract Upgradable"}},"id":5375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isUpgradable","nodeType":"MemberAccess","referencedDeclaration":11930,"src":"3053:43:34","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bool_$","typeString":"function () view external returns (bool)"}},"id":5376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3053:45:34","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5393,"nodeType":"TryStatement","src":"3049:257:34"},{"assignments":[5395,5397],"declarations":[{"constant":false,"id":5395,"mutability":"mutable","name":"_wasCalled","nameLocation":"3421:10:34","nodeType":"VariableDeclaration","scope":5439,"src":"3416:15:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5394,"name":"bool","nodeType":"ElementaryTypeName","src":"3416:4:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":5397,"mutability":"mutable","name":"_result","nameLocation":"3446:7:34","nodeType":"VariableDeclaration","scope":5439,"src":"3433:20:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5396,"name":"bytes","nodeType":"ElementaryTypeName","src":"3433:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5407,"initialValue":{"arguments":[{"arguments":[{"hexValue":"697355706772616461626c6546726f6d286164647265737329","id":5402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3551:27:34","typeDescriptions":{"typeIdentifier":"t_stringliteral_6b58960af5008b519145bb1cb07a67ee0927d8e642573c92f5babc4d0c2721d7","typeString":"literal_string \"isUpgradableFrom(address)\""},"value":"isUpgradableFrom(address)"},{"expression":{"id":5403,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3600:3:34","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"3600:10:34","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6b58960af5008b519145bb1cb07a67ee0927d8e642573c92f5babc4d0c2721d7","typeString":"literal_string \"isUpgradableFrom(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5400,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3506:3:34","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5401,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3506:23:34","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":5405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3506:122:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5398,"name":"_oldImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5355,"src":"3457:18:34","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"delegatecall","nodeType":"MemberAccess","src":"3457:31:34","typeDescriptions":{"typeIdentifier":"t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bool,bytes memory)"}},"id":5406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3457:185:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"3415:227:34"},{"expression":{"arguments":[{"id":5409,"name":"_wasCalled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5395,"src":"3664:10:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657450726f78793a206e6f7420636f6d706c69616e74","id":5410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3676:28:34","typeDescriptions":{"typeIdentifier":"t_stringliteral_fe0c5d56f2e637bc6ae9d29f1058c00159080f3dd6202013ecdbcca6e4740a65","typeString":"literal_string \"WitnetProxy: not compliant\""},"value":"WitnetProxy: not compliant"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fe0c5d56f2e637bc6ae9d29f1058c00159080f3dd6202013ecdbcca6e4740a65","typeString":"literal_string \"WitnetProxy: not compliant\""}],"id":5408,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3656:7:34","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3656:49:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5412,"nodeType":"ExpressionStatement","src":"3656:49:34"},{"expression":{"arguments":[{"arguments":[{"id":5416,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5397,"src":"3738:7:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":5418,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3748:4:34","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":5417,"name":"bool","nodeType":"ElementaryTypeName","src":"3748:4:34","typeDescriptions":{}}}],"id":5419,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3747:6:34","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":5414,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3727:3:34","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"3727:10:34","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3727:27:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657450726f78793a206e6f7420617574686f72697a6564","id":5421,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3756:29:34","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba8d4d661ce88eb2915ba133e6cad533938b754d7b66d8253879ef2c2193ecb2","typeString":"literal_string \"WitnetProxy: not authorized\""},"value":"WitnetProxy: not authorized"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ba8d4d661ce88eb2915ba133e6cad533938b754d7b66d8253879ef2c2193ecb2","typeString":"literal_string \"WitnetProxy: not authorized\""}],"id":5413,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3719:7:34","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3719:67:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5423,"nodeType":"ExpressionStatement","src":"3719:67:34"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":5435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":5426,"name":"_oldImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5355,"src":"3836:18:34","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5425,"name":"Upgradable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11937,"src":"3825:10:34","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Upgradable_$11937_$","typeString":"type(contract Upgradable)"}},"id":5427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3825:30:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Upgradable_$11937","typeString":"contract Upgradable"}},"id":5428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"proxiableUUID","nodeType":"MemberAccess","referencedDeclaration":11840,"src":"3825:44:34","typeDescriptions":{"typeIdentifier":"t_function_external_pure$__$returns$_t_bytes32_$","typeString":"function () pure external returns (bytes32)"}},"id":5429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3825:46:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":5431,"name":"_newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5337,"src":"3886:18:34","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5430,"name":"Upgradable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11937,"src":"3875:10:34","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Upgradable_$11937_$","typeString":"type(contract Upgradable)"}},"id":5432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3875:30:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Upgradable_$11937","typeString":"contract Upgradable"}},"id":5433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"proxiableUUID","nodeType":"MemberAccess","referencedDeclaration":11840,"src":"3875:44:34","typeDescriptions":{"typeIdentifier":"t_function_external_pure$__$returns$_t_bytes32_$","typeString":"function () pure external returns (bytes32)"}},"id":5434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3875:46:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3825:96:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657450726f78793a2070726f786961626c655555494473206d69736d61746368","id":5436,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3939:38:34","typeDescriptions":{"typeIdentifier":"t_stringliteral_f3c1ad1fa1688d47e62cc4dd5b4be101315ef47e38e05aa3a37a4ef2e1cec0a8","typeString":"literal_string \"WitnetProxy: proxiableUUIDs mismatch\""},"value":"WitnetProxy: proxiableUUIDs mismatch"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f3c1ad1fa1688d47e62cc4dd5b4be101315ef47e38e05aa3a37a4ef2e1cec0a8","typeString":"literal_string \"WitnetProxy: proxiableUUIDs mismatch\""}],"id":5424,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3800:7:34","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3800:191:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5438,"nodeType":"ExpressionStatement","src":"3800:191:34"}]}},{"assignments":[5442,null],"declarations":[{"constant":false,"id":5442,"mutability":"mutable","name":"_wasInitialized","nameLocation":"4089:15:34","nodeType":"VariableDeclaration","scope":5486,"src":"4084:20:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5441,"name":"bool","nodeType":"ElementaryTypeName","src":"4084:4:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":5451,"initialValue":{"arguments":[{"arguments":[{"hexValue":"696e697469616c697a6528627974657329","id":5447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4195:19:34","typeDescriptions":{"typeIdentifier":"t_stringliteral_439fab91f8ccf5be59586b9cf7bb7786c67a661a95ce1cfc146c1ed62922ae26","typeString":"literal_string \"initialize(bytes)\""},"value":"initialize(bytes)"},{"id":5448,"name":"_initData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5339,"src":"4232:9:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_439fab91f8ccf5be59586b9cf7bb7786c67a661a95ce1cfc146c1ed62922ae26","typeString":"literal_string \"initialize(bytes)\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5445,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4154:3:34","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5446,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4154:23:34","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":5449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4154:101:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5443,"name":"_newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5337,"src":"4109:18:34","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"delegatecall","nodeType":"MemberAccess","src":"4109:31:34","typeDescriptions":{"typeIdentifier":"t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bool,bytes memory)"}},"id":5450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4109:156:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"4083:182:34"},{"expression":{"arguments":[{"id":5453,"name":"_wasInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5442,"src":"4283:15:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657450726f78793a20756e61626c6520746f20696e697469616c697a65","id":5454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4300:35:34","typeDescriptions":{"typeIdentifier":"t_stringliteral_55e9f07b665adf0e8c084720fbd831f583a2d75f5997894b64a77e28a0171f3c","typeString":"literal_string \"WitnetProxy: unable to initialize\""},"value":"WitnetProxy: unable to initialize"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_55e9f07b665adf0e8c084720fbd831f583a2d75f5997894b64a77e28a0171f3c","typeString":"literal_string \"WitnetProxy: unable to initialize\""}],"id":5452,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4275:7:34","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4275:61:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5456,"nodeType":"ExpressionStatement","src":"4275:61:34"},{"expression":{"id":5461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5457,"name":"_proxySlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5496,"src":"4428:10:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetProxySlot_$5293_storage_ptr_$","typeString":"function () pure returns (struct WitnetProxy.WitnetProxySlot storage pointer)"}},"id":5458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4428:12:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetProxySlot_$5293_storage_ptr","typeString":"struct WitnetProxy.WitnetProxySlot storage pointer"}},"id":5459,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"implementation","nodeType":"MemberAccess","referencedDeclaration":5292,"src":"4428:27:34","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5460,"name":"_newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5337,"src":"4458:18:34","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4428:48:34","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5462,"nodeType":"ExpressionStatement","src":"4428:48:34"},{"eventCall":{"arguments":[{"id":5464,"name":"_newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5337,"src":"4500:18:34","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5463,"name":"Upgraded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5298,"src":"4491:8:34","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":5465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4491:28:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5466,"nodeType":"EmitStatement","src":"4486:33:34"},{"clauses":[{"block":{"id":5477,"nodeType":"Block","src":"4707:45:34","statements":[{"expression":{"id":5475,"name":"_isUpgradable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5473,"src":"4728:13:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":5343,"id":5476,"nodeType":"Return","src":"4721:20:34"}]},"errorName":"","id":5478,"nodeType":"TryCatchClause","parameters":{"id":5474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5473,"mutability":"mutable","name":"_isUpgradable","nameLocation":"4692:13:34","nodeType":"VariableDeclaration","scope":5478,"src":"4687:18:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5472,"name":"bool","nodeType":"ElementaryTypeName","src":"4687:4:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4686:20:34"},"src":"4678:74:34"},{"block":{"id":5483,"nodeType":"Block","src":"4767:62:34","statements":[{"expression":{"arguments":[{"hexValue":"5769746e657450726f78793a206e6f7420636f6d706c69616e74","id":5480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4789:28:34","typeDescriptions":{"typeIdentifier":"t_stringliteral_fe0c5d56f2e637bc6ae9d29f1058c00159080f3dd6202013ecdbcca6e4740a65","typeString":"literal_string \"WitnetProxy: not compliant\""},"value":"WitnetProxy: not compliant"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fe0c5d56f2e637bc6ae9d29f1058c00159080f3dd6202013ecdbcca6e4740a65","typeString":"literal_string \"WitnetProxy: not compliant\""}],"id":5479,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"4781:6:34","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":5481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4781:37:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5482,"nodeType":"ExpressionStatement","src":"4781:37:34"}]},"errorName":"","id":5484,"nodeType":"TryCatchClause","src":"4761:68:34"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":5468,"name":"_newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5337,"src":"4643:18:34","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5467,"name":"Upgradable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11937,"src":"4632:10:34","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Upgradable_$11937_$","typeString":"type(contract Upgradable)"}},"id":5469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4632:30:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Upgradable_$11937","typeString":"contract Upgradable"}},"id":5470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isUpgradable","nodeType":"MemberAccess","referencedDeclaration":11930,"src":"4632:43:34","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bool_$","typeString":"function () view external returns (bool)"}},"id":5471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4632:45:34","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5485,"nodeType":"TryStatement","src":"4628:201:34"}]},"documentation":{"id":5335,"nodeType":"StructuredDocumentation","src":"2158:277:34","text":"Upgrades the `implementation` address.\n @param _newImplementation New implementation address.\n @param _initData Raw data with which new implementation will be initialized.\n @return Returns whether new implementation would be further upgradable, or not."},"functionSelector":"6fbc15e9","id":5487,"implemented":true,"kind":"function","modifiers":[],"name":"upgradeTo","nameLocation":"2449:9:34","nodeType":"FunctionDefinition","parameters":{"id":5340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5337,"mutability":"mutable","name":"_newImplementation","nameLocation":"2467:18:34","nodeType":"VariableDeclaration","scope":5487,"src":"2459:26:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5336,"name":"address","nodeType":"ElementaryTypeName","src":"2459:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5339,"mutability":"mutable","name":"_initData","nameLocation":"2500:9:34","nodeType":"VariableDeclaration","scope":5487,"src":"2487:22:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5338,"name":"bytes","nodeType":"ElementaryTypeName","src":"2487:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2458:52:34"},"returnParameters":{"id":5343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5342,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5487,"src":"2535:4:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5341,"name":"bool","nodeType":"ElementaryTypeName","src":"2535:4:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2534:6:34"},"scope":5497,"src":"2440:2395:34","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":5495,"nodeType":"Block","src":"5030:208:34","statements":[{"AST":{"nodeType":"YulBlock","src":"5049:183:34","statements":[{"nodeType":"YulAssignment","src":"5142:80:34","value":{"kind":"number","nodeType":"YulLiteral","src":"5156:66:34","type":"","value":"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"},"variableNames":[{"name":"_slot.slot","nodeType":"YulIdentifier","src":"5142:10:34"}]}]},"evmVersion":"london","externalReferences":[{"declaration":5492,"isOffset":false,"isSlot":true,"src":"5142:10:34","suffix":"slot","valueSize":1}],"id":5494,"nodeType":"InlineAssembly","src":"5040:192:34"}]},"documentation":{"id":5488,"nodeType":"StructuredDocumentation","src":"4841:109:34","text":"@dev Complying with EIP-1967, retrieves storage struct containing proxy's current implementation address."},"id":5496,"implemented":true,"kind":"function","modifiers":[],"name":"_proxySlot","nameLocation":"4964:10:34","nodeType":"FunctionDefinition","parameters":{"id":5489,"nodeType":"ParameterList","parameters":[],"src":"4974:2:34"},"returnParameters":{"id":5493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5492,"mutability":"mutable","name":"_slot","nameLocation":"5023:5:34","nodeType":"VariableDeclaration","scope":5496,"src":"4999:29:34","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetProxySlot_$5293_storage_ptr","typeString":"struct WitnetProxy.WitnetProxySlot"},"typeName":{"id":5491,"nodeType":"UserDefinedTypeName","pathNode":{"id":5490,"name":"WitnetProxySlot","nodeType":"IdentifierPath","referencedDeclaration":5293,"src":"4999:15:34"},"referencedDeclaration":5293,"src":"4999:15:34","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetProxySlot_$5293_storage_ptr","typeString":"struct WitnetProxy.WitnetProxySlot"}},"visibility":"internal"}],"src":"4998:31:34"},"scope":5497,"src":"4955:283:34","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":5498,"src":"378:4863:34","usedErrors":[]}],"src":"33:5209:34"},"id":34},"witnet-solidity-bridge/contracts/impls/WitnetRequestBoardUpgradableBase.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/impls/WitnetRequestBoardUpgradableBase.sol","exportedSymbols":{"IWitnetRequest":[7510],"IWitnetRequestBoardEvents":[7593],"IWitnetRequestBoardReporter":[7644],"IWitnetRequestBoardRequestor":[7674],"IWitnetRequestBoardView":[7787],"IWitnetRequestParser":[7965],"Initializable":[11676],"Proxiable":[11841],"Upgradable":[11937],"Witnet":[8300],"WitnetProxy":[5497],"WitnetRequestBoard":[4162],"WitnetRequestBoardUpgradableBase":[5559]},"id":5560,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":5499,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:35"},{"id":5500,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"65:33:35"},{"absolutePath":"witnet-solidity-bridge/contracts/WitnetRequestBoard.sol","file":"../WitnetRequestBoard.sol","id":5501,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5560,"sourceUnit":4163,"src":"160:35:35","symbolAliases":[],"unitAlias":""},{"absolutePath":"witnet-solidity-bridge/contracts/patterns/Proxiable.sol","file":"../patterns/Proxiable.sol","id":5502,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5560,"sourceUnit":11842,"src":"196:35:35","symbolAliases":[],"unitAlias":""},{"absolutePath":"witnet-solidity-bridge/contracts/patterns/Upgradable.sol","file":"../patterns/Upgradable.sol","id":5503,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5560,"sourceUnit":11938,"src":"232:36:35","symbolAliases":[],"unitAlias":""},{"absolutePath":"witnet-solidity-bridge/contracts/impls/WitnetProxy.sol","file":"./WitnetProxy.sol","id":5504,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5560,"sourceUnit":5498,"src":"307:27:35","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":5506,"name":"Proxiable","nodeType":"IdentifierPath","referencedDeclaration":11841,"src":"529:9:35"},"id":5507,"nodeType":"InheritanceSpecifier","src":"529:9:35"},{"baseName":{"id":5508,"name":"Upgradable","nodeType":"IdentifierPath","referencedDeclaration":11937,"src":"548:10:35"},"id":5509,"nodeType":"InheritanceSpecifier","src":"548:10:35"},{"baseName":{"id":5510,"name":"WitnetRequestBoard","nodeType":"IdentifierPath","referencedDeclaration":4162,"src":"568:18:35"},"id":5511,"nodeType":"InheritanceSpecifier","src":"568:18:35"}],"contractDependencies":[],"contractKind":"contract","documentation":{"id":5505,"nodeType":"StructuredDocumentation","src":"336:127:35","text":"@title Witnet Request Board base contract, with an Upgradable (and Destructible) touch.\n @author The Witnet Foundation."},"fullyImplemented":false,"id":5559,"linearizedBaseContracts":[5559,4162,7965,7787,7674,7644,7593,11937,11841,11676],"name":"WitnetRequestBoardUpgradableBase","nameLocation":"481:32:35","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":5513,"mutability":"immutable","name":"_VERSION","nameLocation":"620:8:35","nodeType":"VariableDeclaration","scope":5559,"src":"593:35:35","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5512,"name":"bytes32","nodeType":"ElementaryTypeName","src":"593:7:35","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"body":{"id":5527,"nodeType":"Block","src":"756:39:35","statements":[{"expression":{"id":5525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5523,"name":"_VERSION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5513,"src":"766:8:35","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5524,"name":"_versionTag","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5517,"src":"777:11:35","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"766:22:35","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5526,"nodeType":"ExpressionStatement","src":"766:22:35"}]},"id":5528,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":5520,"name":"_upgradable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5515,"src":"739:11:35","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":5521,"kind":"baseConstructorSpecifier","modifierName":{"id":5519,"name":"Upgradable","nodeType":"IdentifierPath","referencedDeclaration":11937,"src":"728:10:35"},"nodeType":"ModifierInvocation","src":"728:23:35"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":5518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5515,"mutability":"mutable","name":"_upgradable","nameLocation":"665:11:35","nodeType":"VariableDeclaration","scope":5528,"src":"660:16:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5514,"name":"bool","nodeType":"ElementaryTypeName","src":"660:4:35","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":5517,"mutability":"mutable","name":"_versionTag","nameLocation":"698:11:35","nodeType":"VariableDeclaration","scope":5528,"src":"690:19:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5516,"name":"bytes32","nodeType":"ElementaryTypeName","src":"690:7:35","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"646:73:35"},"returnParameters":{"id":5522,"nodeType":"ParameterList","parameters":[],"src":"756:0:35"},"scope":5559,"src":"635:160:35","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":5536,"nodeType":"Block","src":"895:76:35","statements":[{"expression":{"arguments":[{"hexValue":"5769746e657452657175657374426f61726455706772616461626c65426173653a206e6f7420696d706c656d656e746564","id":5533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"912:51:35","typeDescriptions":{"typeIdentifier":"t_stringliteral_ebdfd38fe21ca0808fdb840ac4bd9b3f5d98f2e7880341f5272855af32dcb094","typeString":"literal_string \"WitnetRequestBoardUpgradableBase: not implemented\""},"value":"WitnetRequestBoardUpgradableBase: not implemented"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ebdfd38fe21ca0808fdb840ac4bd9b3f5d98f2e7880341f5272855af32dcb094","typeString":"literal_string \"WitnetRequestBoardUpgradableBase: not implemented\""}],"id":5532,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"905:6:35","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":5534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"905:59:35","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5535,"nodeType":"ExpressionStatement","src":"905:59:35"}]},"documentation":{"id":5529,"nodeType":"StructuredDocumentation","src":"801:61:35","text":"@dev Reverts if proxy delegatecalls to unexistent method."},"id":5537,"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":5530,"nodeType":"ParameterList","parameters":[],"src":"875:2:35"},"returnParameters":{"id":5531,"nodeType":"ParameterList","parameters":[],"src":"895:0:35"},"scope":5559,"src":"867:104:35","stateMutability":"payable","virtual":false,"visibility":"external"},{"baseFunctions":[11840],"body":{"id":5547,"nodeType":"Block","src":"1561:171:35","statements":[{"expression":{"components":[{"hexValue":"307839393639633661666634313163356535663038303735303036393365386638313963653838353239363135636661366361623536396232343738386131303138","id":5544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1649:66:35","typeDescriptions":{"typeIdentifier":"t_rational_69390756064512329630361390616420164850804969538608511277072710346237241069592_by_1","typeString":"int_const 6939...(69 digits omitted)...9592"},"value":"0x9969c6aff411c5e5f0807500693e8f819ce88529615cfa6cab569b24788a1018"}],"id":5545,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1578:147:35","typeDescriptions":{"typeIdentifier":"t_rational_69390756064512329630361390616420164850804969538608511277072710346237241069592_by_1","typeString":"int_const 6939...(69 digits omitted)...9592"}},"functionReturnParameters":5543,"id":5546,"nodeType":"Return","src":"1571:154:35"}]},"documentation":{"id":5538,"nodeType":"StructuredDocumentation","src":"1218:272:35","text":"@dev Gets immutable \"heritage blood line\" (ie. genotype) as a Proxiable, and eventually Upgradable, contract.\n      If implemented as an Upgradable touch, upgrading this contract to another one with a different \n      `proxiableUUID()` value should fail."},"functionSelector":"52d1902d","id":5548,"implemented":true,"kind":"function","modifiers":[],"name":"proxiableUUID","nameLocation":"1504:13:35","nodeType":"FunctionDefinition","overrides":{"id":5540,"nodeType":"OverrideSpecifier","overrides":[],"src":"1534:8:35"},"parameters":{"id":5539,"nodeType":"ParameterList","parameters":[],"src":"1517:2:35"},"returnParameters":{"id":5543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5542,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5548,"src":"1552:7:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5541,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1552:7:35","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1551:9:35"},"scope":5559,"src":"1495:237:35","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[11936],"body":{"id":5557,"nodeType":"Block","src":"2113:32:35","statements":[{"expression":{"id":5555,"name":"_VERSION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5513,"src":"2130:8:35","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5554,"id":5556,"nodeType":"Return","src":"2123:15:35"}]},"documentation":{"id":5549,"nodeType":"StructuredDocumentation","src":"1983:67:35","text":"Retrieves human-readable version tag of current implementation."},"functionSelector":"54fd4d50","id":5558,"implemented":true,"kind":"function","modifiers":[],"name":"version","nameLocation":"2064:7:35","nodeType":"FunctionDefinition","overrides":{"id":5551,"nodeType":"OverrideSpecifier","overrides":[],"src":"2086:8:35"},"parameters":{"id":5550,"nodeType":"ParameterList","parameters":[],"src":"2071:2:35"},"returnParameters":{"id":5554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5553,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5558,"src":"2104:7:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5552,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2104:7:35","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2103:9:35"},"scope":5559,"src":"2055:90:35","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":5560,"src":"463:1685:35","usedErrors":[]}],"src":"33:2116:35"},"id":35},"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableBase.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableBase.sol","exportedSymbols":{"IERC20":[7292],"IWitnetRequest":[7510],"IWitnetRequestBoardAdmin":[7532],"IWitnetRequestBoardAdminACLs":[7568],"IWitnetRequestBoardEvents":[7593],"IWitnetRequestBoardReporter":[7644],"IWitnetRequestBoardRequestor":[7674],"IWitnetRequestBoardView":[7787],"IWitnetRequestParser":[7965],"Initializable":[11676],"Payable":[11832],"Proxiable":[11841],"Upgradable":[11937],"Witnet":[8300],"WitnetBoardData":[5235],"WitnetBoardDataACLs":[5285],"WitnetBuffer":[8942],"WitnetDecoderLib":[10067],"WitnetParserLib":[11209],"WitnetProxy":[5497],"WitnetRequestBoard":[4162],"WitnetRequestBoardTrustableBase":[7097],"WitnetRequestBoardUpgradableBase":[5559]},"id":7098,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":5561,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:36"},{"id":5562,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"65:33:36"},{"absolutePath":"witnet-solidity-bridge/contracts/impls/WitnetRequestBoardUpgradableBase.sol","file":"../WitnetRequestBoardUpgradableBase.sol","id":5563,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7098,"sourceUnit":5560,"src":"100:49:36","symbolAliases":[],"unitAlias":""},{"absolutePath":"witnet-solidity-bridge/contracts/data/WitnetBoardDataACLs.sol","file":"../../data/WitnetBoardDataACLs.sol","id":5564,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7098,"sourceUnit":5286,"src":"150:44:36","symbolAliases":[],"unitAlias":""},{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardAdmin.sol","file":"../../interfaces/IWitnetRequestBoardAdmin.sol","id":5565,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7098,"sourceUnit":7533,"src":"195:55:36","symbolAliases":[],"unitAlias":""},{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardAdminACLs.sol","file":"../../interfaces/IWitnetRequestBoardAdminACLs.sol","id":5566,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7098,"sourceUnit":7569,"src":"251:59:36","symbolAliases":[],"unitAlias":""},{"absolutePath":"witnet-solidity-bridge/contracts/libs/WitnetParserLib.sol","file":"../../libs/WitnetParserLib.sol","id":5567,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7098,"sourceUnit":11210,"src":"311:40:36","symbolAliases":[],"unitAlias":""},{"absolutePath":"witnet-solidity-bridge/contracts/patterns/Payable.sol","file":"../../patterns/Payable.sol","id":5568,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7098,"sourceUnit":11833,"src":"352:36:36","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":5570,"name":"Payable","nodeType":"IdentifierPath","referencedDeclaration":11832,"src":"842:7:36"},"id":5571,"nodeType":"InheritanceSpecifier","src":"842:7:36"},{"baseName":{"id":5572,"name":"IWitnetRequestBoardAdmin","nodeType":"IdentifierPath","referencedDeclaration":7532,"src":"859:24:36"},"id":5573,"nodeType":"InheritanceSpecifier","src":"859:24:36"},{"baseName":{"id":5574,"name":"IWitnetRequestBoardAdminACLs","nodeType":"IdentifierPath","referencedDeclaration":7568,"src":"893:28:36"},"id":5575,"nodeType":"InheritanceSpecifier","src":"893:28:36"},{"baseName":{"id":5576,"name":"WitnetBoardDataACLs","nodeType":"IdentifierPath","referencedDeclaration":5285,"src":"939:19:36"},"id":5577,"nodeType":"InheritanceSpecifier","src":"939:19:36"},{"baseName":{"id":5578,"name":"WitnetRequestBoardUpgradableBase","nodeType":"IdentifierPath","referencedDeclaration":5559,"src":"968:32:36"},"id":5579,"nodeType":"InheritanceSpecifier","src":"968:32:36"}],"contractDependencies":[],"contractKind":"contract","documentation":{"id":5569,"nodeType":"StructuredDocumentation","src":"390:386:36","text":"@title Witnet Request Board \"trustable\" base implementation contract.\n @notice Contract to bridge requests to Witnet Decentralized Oracle Network.\n @dev This contract enables posting requests that Witnet bridges will insert into the Witnet network.\n The result of the requests will be posted back to this contract by the bridge nodes too.\n @author The Witnet Foundation"},"fullyImplemented":false,"id":7097,"linearizedBaseContracts":[7097,5559,4162,7965,7787,7674,7644,7593,11937,11841,11676,5285,5235,7568,7532,11832],"name":"WitnetRequestBoardTrustableBase","nameLocation":"794:31:36","nodeType":"ContractDefinition","nodes":[{"id":5582,"libraryName":{"id":5580,"name":"Witnet","nodeType":"IdentifierPath","referencedDeclaration":8300,"src":"1021:6:36"},"nodeType":"UsingForDirective","src":"1015:23:36","typeName":{"id":5581,"name":"bytes","nodeType":"ElementaryTypeName","src":"1032:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},{"id":5586,"libraryName":{"id":5583,"name":"WitnetParserLib","nodeType":"IdentifierPath","referencedDeclaration":11209,"src":"1049:15:36"},"nodeType":"UsingForDirective","src":"1043:40:36","typeName":{"id":5585,"nodeType":"UserDefinedTypeName","pathNode":{"id":5584,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"1069:13:36"},"referencedDeclaration":8023,"src":"1069:13:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}}},{"body":{"id":5602,"nodeType":"Block","src":"1261:2:36","statements":[]},"id":5603,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":5595,"name":"_currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5592,"src":"1179:9:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":5596,"kind":"baseConstructorSpecifier","modifierName":{"id":5594,"name":"Payable","nodeType":"IdentifierPath","referencedDeclaration":11832,"src":"1171:7:36"},"nodeType":"ModifierInvocation","src":"1171:18:36"},{"arguments":[{"id":5598,"name":"_upgradable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5588,"src":"1231:11:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":5599,"name":"_versionTag","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"1244:11:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":5600,"kind":"baseConstructorSpecifier","modifierName":{"id":5597,"name":"WitnetRequestBoardUpgradableBase","nodeType":"IdentifierPath","referencedDeclaration":5559,"src":"1198:32:36"},"nodeType":"ModifierInvocation","src":"1198:58:36"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":5593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5588,"mutability":"mutable","name":"_upgradable","nameLocation":"1110:11:36","nodeType":"VariableDeclaration","scope":5603,"src":"1105:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5587,"name":"bool","nodeType":"ElementaryTypeName","src":"1105:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":5590,"mutability":"mutable","name":"_versionTag","nameLocation":"1131:11:36","nodeType":"VariableDeclaration","scope":5603,"src":"1123:19:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5589,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1123:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":5592,"mutability":"mutable","name":"_currency","nameLocation":"1152:9:36","nodeType":"VariableDeclaration","scope":5603,"src":"1144:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5591,"name":"address","nodeType":"ElementaryTypeName","src":"1144:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1104:58:36"},"returnParameters":{"id":5601,"nodeType":"ParameterList","parameters":[],"src":"1261:0:36"},"scope":7097,"src":"1093:170:36","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[11675],"body":{"id":5693,"nodeType":"Block","src":"1726:802:36","statements":[{"assignments":[5611],"declarations":[{"constant":false,"id":5611,"mutability":"mutable","name":"_owner","nameLocation":"1744:6:36","nodeType":"VariableDeclaration","scope":5693,"src":"1736:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5610,"name":"address","nodeType":"ElementaryTypeName","src":"1736:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":5615,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5612,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"1753:6:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":5613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1753:8:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":5614,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":4963,"src":"1753:14:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1736:31:36"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5616,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5611,"src":"1781:6:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":5619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1799:1:36","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":5618,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1791:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5617,"name":"address","nodeType":"ElementaryTypeName","src":"1791:7:36","typeDescriptions":{}}},"id":5620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1791:10:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1781:20:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":5642,"nodeType":"Block","src":"1931:143:36","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5635,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1995:3:36","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"1995:10:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":5637,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5611,"src":"2009:6:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1995:20:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a206f6e6c79206f776e6572","id":5639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2017:45:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba6ce338a8b77b4309b1dcba6abb75801c6b8961785823dfa406357c96ccf60d","typeString":"literal_string \"WitnetRequestBoardTrustableBase: only owner\""},"value":"WitnetRequestBoardTrustableBase: only owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ba6ce338a8b77b4309b1dcba6abb75801c6b8961785823dfa406357c96ccf60d","typeString":"literal_string \"WitnetRequestBoardTrustableBase: only owner\""}],"id":5634,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1987:7:36","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1987:76:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5641,"nodeType":"ExpressionStatement","src":"1987:76:36"}]},"id":5643,"nodeType":"IfStatement","src":"1777:297:36","trueBody":{"id":5633,"nodeType":"Block","src":"1803:122:36","statements":[{"expression":{"id":5625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5622,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5611,"src":"1858:6:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5623,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1867:3:36","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"1867:10:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1858:19:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5626,"nodeType":"ExpressionStatement","src":"1858:19:36"},{"expression":{"id":5631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5627,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"1891:6:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":5628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1891:8:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":5629,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":4963,"src":"1891:14:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5630,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5611,"src":"1908:6:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1891:23:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5632,"nodeType":"ExpressionStatement","src":"1891:23:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5644,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"2096:6:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":5645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2096:8:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":5646,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"base","nodeType":"MemberAccess","referencedDeclaration":4961,"src":"2096:13:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2121:1:36","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":5648,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2113:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5647,"name":"address","nodeType":"ElementaryTypeName","src":"2113:7:36","typeDescriptions":{}}},"id":5650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2113:10:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2096:27:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5663,"nodeType":"IfStatement","src":"2092:222:36","trueBody":{"id":5662,"nodeType":"Block","src":"2125:189:36","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5653,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"2223:6:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":5654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2223:8:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":5655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"base","nodeType":"MemberAccess","referencedDeclaration":4961,"src":"2223:13:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":5656,"name":"base","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11912,"src":"2240:4:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":5657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2240:6:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2223:23:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a20616c726561647920696e697469616c697a6564","id":5659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2248:54:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_aac6109e25b977a3666829c5faa653ddebecef9c73e0dbd918342867acf0b90b","typeString":"literal_string \"WitnetRequestBoardTrustableBase: already initialized\""},"value":"WitnetRequestBoardTrustableBase: already initialized"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_aac6109e25b977a3666829c5faa653ddebecef9c73e0dbd918342867acf0b90b","typeString":"literal_string \"WitnetRequestBoardTrustableBase: already initialized\""}],"id":5652,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2215:7:36","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2215:88:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5661,"nodeType":"ExpressionStatement","src":"2215:88:36"}]}},{"expression":{"id":5669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5664,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"2331:6:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":5665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2331:8:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":5666,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"base","nodeType":"MemberAccess","referencedDeclaration":4961,"src":"2331:13:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":5667,"name":"base","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11912,"src":"2347:4:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":5668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2347:6:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2331:22:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5670,"nodeType":"ExpressionStatement","src":"2331:22:36"},{"eventCall":{"arguments":[{"expression":{"id":5672,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2378:3:36","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"2378:10:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5674,"name":"base","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11912,"src":"2390:4:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":5675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2390:6:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5676,"name":"codehash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11921,"src":"2398:8:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":5677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2398:10:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5678,"name":"version","nodeType":"Identifier","overloadedDeclarations":[5558],"referencedDeclaration":5558,"src":"2410:7:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":5679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2410:9:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5671,"name":"Upgraded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11866,"src":"2369:8:36","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,bytes32,bytes32)"}},"id":5680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2369:51:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5681,"nodeType":"EmitStatement","src":"2364:56:36"},{"expression":{"arguments":[{"arguments":[{"id":5685,"name":"_initData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5606,"src":"2497:9:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"id":5687,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2509:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5686,"name":"address","nodeType":"ElementaryTypeName","src":"2509:7:36","typeDescriptions":{}}},"id":5688,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"2509:9:36","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"type(address[] memory)"}}],"id":5689,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2508:11:36","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"type(address[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"type(address[] memory)"}],"expression":{"id":5683,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2486:3:36","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5684,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"2486:10:36","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2486:34:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":5682,"name":"setReporters","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5820,"src":"2473:12:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory)"}},"id":5691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2473:48:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5692,"nodeType":"ExpressionStatement","src":"2473:48:36"}]},"documentation":{"id":5604,"nodeType":"StructuredDocumentation","src":"1511:140:36","text":"Initialize storage-context when invoked as delegatecall. \n @dev Must fail when trying to initialize same instance more than once."},"functionSelector":"439fab91","id":5694,"implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"1665:10:36","nodeType":"FunctionDefinition","overrides":{"id":5608,"nodeType":"OverrideSpecifier","overrides":[],"src":"1717:8:36"},"parameters":{"id":5607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5606,"mutability":"mutable","name":"_initData","nameLocation":"1689:9:36","nodeType":"VariableDeclaration","scope":5694,"src":"1676:22:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5605,"name":"bytes","nodeType":"ElementaryTypeName","src":"1676:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1675:24:36"},"returnParameters":{"id":5609,"nodeType":"ParameterList","parameters":[],"src":"1726:0:36"},"scope":7097,"src":"1656:872:36","stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"baseFunctions":[11903],"body":{"id":5717,"nodeType":"Block","src":"2691:226:36","statements":[{"assignments":[5704],"declarations":[{"constant":false,"id":5704,"mutability":"mutable","name":"_owner","nameLocation":"2709:6:36","nodeType":"VariableDeclaration","scope":5717,"src":"2701:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5703,"name":"address","nodeType":"ElementaryTypeName","src":"2701:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":5708,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5705,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"2718:6:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":5706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2718:8:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":5707,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":4963,"src":"2718:14:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2701:31:36"},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":5709,"name":"isUpgradable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11930,"src":"2851:12:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":5710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2851:14:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5711,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"2885:6:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":5712,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5697,"src":"2895:5:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2885:15:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2851:49:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":5715,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2749:161:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":5702,"id":5716,"nodeType":"Return","src":"2742:168:36"}]},"documentation":{"id":5695,"nodeType":"StructuredDocumentation","src":"2534:73:36","text":"Tells whether provided address could eventually upgrade the contract."},"functionSelector":"6b58960a","id":5718,"implemented":true,"kind":"function","modifiers":[],"name":"isUpgradableFrom","nameLocation":"2621:16:36","nodeType":"FunctionDefinition","overrides":{"id":5699,"nodeType":"OverrideSpecifier","overrides":[],"src":"2667:8:36"},"parameters":{"id":5698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5697,"mutability":"mutable","name":"_from","nameLocation":"2646:5:36","nodeType":"VariableDeclaration","scope":5718,"src":"2638:13:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5696,"name":"address","nodeType":"ElementaryTypeName","src":"2638:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2637:15:36"},"returnParameters":{"id":5702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5701,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5718,"src":"2685:4:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5700,"name":"bool","nodeType":"ElementaryTypeName","src":"2685:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2684:6:36"},"scope":7097,"src":"2612:305:36","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[7525],"body":{"id":5729,"nodeType":"Block","src":"3283:38:36","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5725,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"3300:6:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":5726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3300:8:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":5727,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":4963,"src":"3300:14:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5724,"id":5728,"nodeType":"Return","src":"3293:21:36"}]},"documentation":{"id":5719,"nodeType":"StructuredDocumentation","src":"3165:29:36","text":"Gets admin/owner address."},"functionSelector":"8da5cb5b","id":5730,"implemented":true,"kind":"function","modifiers":[],"name":"owner","nameLocation":"3208:5:36","nodeType":"FunctionDefinition","overrides":{"id":5721,"nodeType":"OverrideSpecifier","overrides":[],"src":"3244:8:36"},"parameters":{"id":5720,"nodeType":"ParameterList","parameters":[],"src":"3213:2:36"},"returnParameters":{"id":5724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5723,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5730,"src":"3270:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5722,"name":"address","nodeType":"ElementaryTypeName","src":"3270:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3269:9:36"},"scope":7097,"src":"3199:122:36","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[7531],"body":{"id":5761,"nodeType":"Block","src":"3466:191:36","statements":[{"assignments":[5740],"declarations":[{"constant":false,"id":5740,"mutability":"mutable","name":"_owner","nameLocation":"3484:6:36","nodeType":"VariableDeclaration","scope":5761,"src":"3476:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5739,"name":"address","nodeType":"ElementaryTypeName","src":"3476:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":5744,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5741,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"3493:6:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":5742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3493:8:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":5743,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":4963,"src":"3493:14:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3476:31:36"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5745,"name":"_newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5733,"src":"3521:9:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":5746,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5740,"src":"3534:6:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3521:19:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5760,"nodeType":"IfStatement","src":"3517:134:36","trueBody":{"id":5759,"nodeType":"Block","src":"3542:109:36","statements":[{"expression":{"id":5752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5748,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"3556:6:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":5749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3556:8:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":5750,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":4963,"src":"3556:14:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5751,"name":"_newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5733,"src":"3573:9:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3556:26:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5753,"nodeType":"ExpressionStatement","src":"3556:26:36"},{"eventCall":{"arguments":[{"id":5755,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5740,"src":"3622:6:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5756,"name":"_newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5733,"src":"3630:9:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":5754,"name":"OwnershipTransferred","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7519,"src":"3601:20:36","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":5757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3601:39:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5758,"nodeType":"EmitStatement","src":"3596:44:36"}]}}]},"documentation":{"id":5731,"nodeType":"StructuredDocumentation","src":"3327:24:36","text":"Transfers ownership."},"functionSelector":"f2fde38b","id":5762,"implemented":true,"kind":"function","modifiers":[{"id":5737,"kind":"modifierInvocation","modifierName":{"id":5736,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":5050,"src":"3452:9:36"},"nodeType":"ModifierInvocation","src":"3452:9:36"}],"name":"transferOwnership","nameLocation":"3365:17:36","nodeType":"FunctionDefinition","overrides":{"id":5735,"nodeType":"OverrideSpecifier","overrides":[],"src":"3435:8:36"},"parameters":{"id":5734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5733,"mutability":"mutable","name":"_newOwner","nameLocation":"3391:9:36","nodeType":"VariableDeclaration","scope":5762,"src":"3383:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5732,"name":"address","nodeType":"ElementaryTypeName","src":"3383:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3382:19:36"},"returnParameters":{"id":5738,"nodeType":"ParameterList","parameters":[],"src":"3466:0:36"},"scope":7097,"src":"3356:301:36","stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"baseFunctions":[7553],"body":{"id":5777,"nodeType":"Block","src":"4118:54:36","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5771,"name":"_acls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5284,"src":"4135:5:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardACLs_$5249_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardDataACLs.WitnetBoardACLs storage pointer)"}},"id":5772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4135:7:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardACLs_$5249_storage_ptr","typeString":"struct WitnetBoardDataACLs.WitnetBoardACLs storage pointer"}},"id":5773,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"isReporter_","nodeType":"MemberAccess","referencedDeclaration":5248,"src":"4135:19:36","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":5775,"indexExpression":{"id":5774,"name":"_reporter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5765,"src":"4155:9:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4135:30:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":5770,"id":5776,"nodeType":"Return","src":"4128:37:36"}]},"documentation":{"id":5763,"nodeType":"StructuredDocumentation","src":"3905:133:36","text":"Tells whether given address is included in the active reporters control list.\n @param _reporter The address to be checked."},"functionSelector":"044ad7be","id":5778,"implemented":true,"kind":"function","modifiers":[],"name":"isReporter","nameLocation":"4052:10:36","nodeType":"FunctionDefinition","overrides":{"id":5767,"nodeType":"OverrideSpecifier","overrides":[],"src":"4094:8:36"},"parameters":{"id":5766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5765,"mutability":"mutable","name":"_reporter","nameLocation":"4071:9:36","nodeType":"VariableDeclaration","scope":5778,"src":"4063:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5764,"name":"address","nodeType":"ElementaryTypeName","src":"4063:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4062:19:36"},"returnParameters":{"id":5770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5769,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5778,"src":"4112:4:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5768,"name":"bool","nodeType":"ElementaryTypeName","src":"4112:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4111:6:36"},"scope":7097,"src":"4043:129:36","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[7560],"body":{"id":5819,"nodeType":"Block","src":"4546:214:36","statements":[{"body":{"id":5813,"nodeType":"Block","src":"4605:110:36","statements":[{"assignments":[5800],"declarations":[{"constant":false,"id":5800,"mutability":"mutable","name":"_reporter","nameLocation":"4627:9:36","nodeType":"VariableDeclaration","scope":5813,"src":"4619:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5799,"name":"address","nodeType":"ElementaryTypeName","src":"4619:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":5804,"initialValue":{"baseExpression":{"id":5801,"name":"_reporters","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5782,"src":"4639:10:36","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":5803,"indexExpression":{"id":5802,"name":"ix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5789,"src":"4650:2:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4639:14:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4619:34:36"},{"expression":{"id":5811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5805,"name":"_acls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5284,"src":"4667:5:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardACLs_$5249_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardDataACLs.WitnetBoardACLs storage pointer)"}},"id":5806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4667:7:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardACLs_$5249_storage_ptr","typeString":"struct WitnetBoardDataACLs.WitnetBoardACLs storage pointer"}},"id":5807,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"isReporter_","nodeType":"MemberAccess","referencedDeclaration":5248,"src":"4667:19:36","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":5809,"indexExpression":{"id":5808,"name":"_reporter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5800,"src":"4687:9:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4667:30:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":5810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4700:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"4667:37:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5812,"nodeType":"ExpressionStatement","src":"4667:37:36"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5792,"name":"ix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5789,"src":"4574:2:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":5793,"name":"_reporters","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5782,"src":"4579:10:36","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":5794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4579:17:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4574:22:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5814,"initializationExpression":{"assignments":[5789],"declarations":[{"constant":false,"id":5789,"mutability":"mutable","name":"ix","nameLocation":"4566:2:36","nodeType":"VariableDeclaration","scope":5814,"src":"4561:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5788,"name":"uint","nodeType":"ElementaryTypeName","src":"4561:4:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5791,"initialValue":{"hexValue":"30","id":5790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4571:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"4561:11:36"},"loopExpression":{"expression":{"id":5797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4598:5:36","subExpression":{"id":5796,"name":"ix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5789,"src":"4598:2:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5798,"nodeType":"ExpressionStatement","src":"4598:5:36"},"nodeType":"ForStatement","src":"4556:159:36"},{"eventCall":{"arguments":[{"id":5816,"name":"_reporters","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5782,"src":"4742:10:36","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":5815,"name":"ReportersSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7540,"src":"4729:12:36","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory)"}},"id":5817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4729:24:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5818,"nodeType":"EmitStatement","src":"4724:29:36"}]},"documentation":{"id":5779,"nodeType":"StructuredDocumentation","src":"4178:258:36","text":"Adds given addresses to the active reporters control list.\n @dev Can only be called from the owner address.\n @dev Emits the `ReportersSet` event. \n @param _reporters List of addresses to be added to the active reporters control list."},"functionSelector":"4c9f72e3","id":5820,"implemented":true,"kind":"function","modifiers":[{"id":5786,"kind":"modifierInvocation","modifierName":{"id":5785,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":5050,"src":"4532:9:36"},"nodeType":"ModifierInvocation","src":"4532:9:36"}],"name":"setReporters","nameLocation":"4450:12:36","nodeType":"FunctionDefinition","overrides":{"id":5784,"nodeType":"OverrideSpecifier","overrides":[],"src":"4515:8:36"},"parameters":{"id":5783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5782,"mutability":"mutable","name":"_reporters","nameLocation":"4480:10:36","nodeType":"VariableDeclaration","scope":5820,"src":"4463:27:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":5780,"name":"address","nodeType":"ElementaryTypeName","src":"4463:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5781,"nodeType":"ArrayTypeName","src":"4463:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"4462:29:36"},"returnParameters":{"id":5787,"nodeType":"ParameterList","parameters":[],"src":"4546:0:36"},"scope":7097,"src":"4441:319:36","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[7567],"body":{"id":5861,"nodeType":"Block","src":"5147:223:36","statements":[{"body":{"id":5855,"nodeType":"Block","src":"5208:113:36","statements":[{"assignments":[5842],"declarations":[{"constant":false,"id":5842,"mutability":"mutable","name":"_reporter","nameLocation":"5230:9:36","nodeType":"VariableDeclaration","scope":5855,"src":"5222:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5841,"name":"address","nodeType":"ElementaryTypeName","src":"5222:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":5846,"initialValue":{"baseExpression":{"id":5843,"name":"_exReporters","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5824,"src":"5242:12:36","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":5845,"indexExpression":{"id":5844,"name":"ix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5831,"src":"5255:2:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5242:16:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5222:36:36"},{"expression":{"id":5853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5847,"name":"_acls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5284,"src":"5272:5:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardACLs_$5249_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardDataACLs.WitnetBoardACLs storage pointer)"}},"id":5848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5272:7:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardACLs_$5249_storage_ptr","typeString":"struct WitnetBoardDataACLs.WitnetBoardACLs storage pointer"}},"id":5849,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"isReporter_","nodeType":"MemberAccess","referencedDeclaration":5248,"src":"5272:19:36","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":5851,"indexExpression":{"id":5850,"name":"_reporter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5842,"src":"5292:9:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5272:30:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":5852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5305:5:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"5272:38:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5854,"nodeType":"ExpressionStatement","src":"5272:38:36"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5834,"name":"ix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5831,"src":"5175:2:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":5835,"name":"_exReporters","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5824,"src":"5180:12:36","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":5836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"5180:19:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5175:24:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5856,"initializationExpression":{"assignments":[5831],"declarations":[{"constant":false,"id":5831,"mutability":"mutable","name":"ix","nameLocation":"5167:2:36","nodeType":"VariableDeclaration","scope":5856,"src":"5162:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5830,"name":"uint","nodeType":"ElementaryTypeName","src":"5162:4:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5833,"initialValue":{"hexValue":"30","id":5832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5172:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"5162:11:36"},"loopExpression":{"expression":{"id":5839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5201:5:36","subExpression":{"id":5838,"name":"ix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5831,"src":"5201:2:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5840,"nodeType":"ExpressionStatement","src":"5201:5:36"},"nodeType":"ForStatement","src":"5157:164:36"},{"eventCall":{"arguments":[{"id":5858,"name":"_exReporters","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5824,"src":"5350:12:36","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":5857,"name":"ReportersUnset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7545,"src":"5335:14:36","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory)"}},"id":5859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5335:28:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5860,"nodeType":"EmitStatement","src":"5330:33:36"}]},"documentation":{"id":5821,"nodeType":"StructuredDocumentation","src":"4766:267:36","text":"Removes given addresses from the active reporters control list.\n @dev Can only be called from the owner address.\n @dev Emits the `ReportersUnset` event. \n @param _exReporters List of addresses to be added to the active reporters control list."},"functionSelector":"28a78d9b","id":5862,"implemented":true,"kind":"function","modifiers":[{"id":5828,"kind":"modifierInvocation","modifierName":{"id":5827,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":5050,"src":"5133:9:36"},"nodeType":"ModifierInvocation","src":"5133:9:36"}],"name":"unsetReporters","nameLocation":"5047:14:36","nodeType":"FunctionDefinition","overrides":{"id":5826,"nodeType":"OverrideSpecifier","overrides":[],"src":"5116:8:36"},"parameters":{"id":5825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5824,"mutability":"mutable","name":"_exReporters","nameLocation":"5079:12:36","nodeType":"VariableDeclaration","scope":5862,"src":"5062:29:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":5822,"name":"address","nodeType":"ElementaryTypeName","src":"5062:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5823,"nodeType":"ArrayTypeName","src":"5062:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5061:31:36"},"returnParameters":{"id":5829,"nodeType":"ParameterList","parameters":[],"src":"5147:0:36"},"scope":7097,"src":"5038:332:36","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[7606],"body":{"id":5917,"nodeType":"Block","src":"6410:684:36","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":5884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5882,"name":"_drTxHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5867,"src":"6428:9:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":5883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6441:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6428:14:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657452657175657374426f617264547275737461626c6544656661756c743a205769746e65742064725478486173682063616e6e6f74206265207a65726f","id":5885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6444:68:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_5fa4f20d3b547b43c3b49de4f5c62b8d87a47a9169c1a1db0d172150993aa1eb","typeString":"literal_string \"WitnetRequestBoardTrustableDefault: Witnet drTxHash cannot be zero\""},"value":"WitnetRequestBoardTrustableDefault: Witnet drTxHash cannot be zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5fa4f20d3b547b43c3b49de4f5c62b8d87a47a9169c1a1db0d172150993aa1eb","typeString":"literal_string \"WitnetRequestBoardTrustableDefault: Witnet drTxHash cannot be zero\""}],"id":5881,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6420:7:36","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6420:93:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5887,"nodeType":"ExpressionStatement","src":"6420:93:36"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5889,"name":"_cborBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"6685:10:36","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":5890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6685:17:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":5891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6706:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6685:22:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657452657175657374426f617264547275737461626c6544656661756c743a20726573756c742063616e6e6f7420626520656d707479","id":5893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6709:60:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_9fa14ac89471826c5bc72b75de3388cdde56a33fbf6bb575f16de2cc5916ce84","typeString":"literal_string \"WitnetRequestBoardTrustableDefault: result cannot be empty\""},"value":"WitnetRequestBoardTrustableDefault: result cannot be empty"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9fa14ac89471826c5bc72b75de3388cdde56a33fbf6bb575f16de2cc5916ce84","typeString":"literal_string \"WitnetRequestBoardTrustableDefault: result cannot be empty\""}],"id":5888,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6677:7:36","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6677:93:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5895,"nodeType":"ExpressionStatement","src":"6677:93:36"},{"expression":{"arguments":[{"arguments":[{"expression":{"id":5899,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6861:3:36","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"6861:10:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5898,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6853:8:36","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":5897,"name":"address","nodeType":"ElementaryTypeName","src":"6853:8:36","stateMutability":"payable","typeDescriptions":{}}},"id":5901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6853:19:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":5903,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5865,"src":"6918:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":5904,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"6944:5:36","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":5905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"6944:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5906,"name":"_drTxHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5867,"src":"6977:9:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":5907,"name":"_cborBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5869,"src":"7004:10:36","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":5902,"name":"__reportResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7096,"src":"6886:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,uint256,bytes32,bytes memory) returns (uint256)"}},"id":5908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6886:142:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5896,"name":"_safeTransferTo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11831,"src":"6824:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$_t_uint256_$returns$__$","typeString":"function (address payable,uint256)"}},"id":5909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6824:214:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5910,"nodeType":"ExpressionStatement","src":"6824:214:36"},{"eventCall":{"arguments":[{"id":5912,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5865,"src":"7066:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":5913,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7076:3:36","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"7076:10:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":5911,"name":"PostedResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7585,"src":"7053:12:36","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":5915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7053:34:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5916,"nodeType":"EmitStatement","src":"7048:39:36"}]},"documentation":{"id":5863,"nodeType":"StructuredDocumentation","src":"5618:541:36","text":"Reports the Witnet-provided result to a previously posted request. \n @dev Will assume `block.timestamp` as the timestamp at which the request was solved.\n @dev Fails if:\n @dev - the `_queryId` is not in 'Posted' status.\n @dev - provided `_drTxHash` is zero;\n @dev - length of provided `_result` is zero.\n @param _queryId The unique identifier of the data request.\n @param _drTxHash The hash of the solving tally transaction in Witnet.\n @param _cborBytes The result itself as bytes."},"functionSelector":"6280bce8","id":5918,"implemented":true,"kind":"function","modifiers":[{"id":5873,"kind":"modifierInvocation","modifierName":{"id":5872,"name":"onlyReporters","nodeType":"IdentifierPath","referencedDeclaration":5276,"src":"6338:13:36"},"nodeType":"ModifierInvocation","src":"6338:13:36"},{"arguments":[{"id":5875,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5865,"src":"6369:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":5876,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"6379:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":5877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"QueryStatus","nodeType":"MemberAccess","referencedDeclaration":7996,"src":"6379:18:36","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_QueryStatus_$7996_$","typeString":"type(enum Witnet.QueryStatus)"}},"id":5878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Posted","nodeType":"MemberAccess","referencedDeclaration":7993,"src":"6379:25:36","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}}],"id":5879,"kind":"modifierInvocation","modifierName":{"id":5874,"name":"inStatus","nodeType":"IdentifierPath","referencedDeclaration":5003,"src":"6360:8:36"},"nodeType":"ModifierInvocation","src":"6360:45:36"}],"name":"reportResult","nameLocation":"6173:12:36","nodeType":"FunctionDefinition","overrides":{"id":5871,"nodeType":"OverrideSpecifier","overrides":[],"src":"6321:8:36"},"parameters":{"id":5870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5865,"mutability":"mutable","name":"_queryId","nameLocation":"6207:8:36","nodeType":"VariableDeclaration","scope":5918,"src":"6199:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5864,"name":"uint256","nodeType":"ElementaryTypeName","src":"6199:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5867,"mutability":"mutable","name":"_drTxHash","nameLocation":"6237:9:36","nodeType":"VariableDeclaration","scope":5918,"src":"6229:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5866,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6229:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":5869,"mutability":"mutable","name":"_cborBytes","nameLocation":"6275:10:36","nodeType":"VariableDeclaration","scope":5918,"src":"6260:25:36","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":5868,"name":"bytes","nodeType":"ElementaryTypeName","src":"6260:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6185:110:36"},"returnParameters":{"id":5880,"nodeType":"ParameterList","parameters":[],"src":"6410:0:36"},"scope":7097,"src":"6164:930:36","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[7618],"body":{"id":5982,"nodeType":"Block","src":"7948:736:36","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5940,"name":"_timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5923,"src":"7966:10:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":5941,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"7980:5:36","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":5942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"7980:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7966:29:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657452657175657374426f617264547275737461626c6544656661756c743a206261642074696d657374616d70","id":5944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7997:51:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_33e565b65d8aa6e9990eec2cc32f99865d7f76bbee3771b62789ab97e5a37d7f","typeString":"literal_string \"WitnetRequestBoardTrustableDefault: bad timestamp\""},"value":"WitnetRequestBoardTrustableDefault: bad timestamp"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_33e565b65d8aa6e9990eec2cc32f99865d7f76bbee3771b62789ab97e5a37d7f","typeString":"literal_string \"WitnetRequestBoardTrustableDefault: bad timestamp\""}],"id":5939,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7958:7:36","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7958:91:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5946,"nodeType":"ExpressionStatement","src":"7958:91:36"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":5950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5948,"name":"_drTxHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5925,"src":"8067:9:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":5949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8080:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8067:14:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657452657175657374426f617264547275737461626c6544656661756c743a205769746e65742064725478486173682063616e6e6f74206265207a65726f","id":5951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8083:68:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_5fa4f20d3b547b43c3b49de4f5c62b8d87a47a9169c1a1db0d172150993aa1eb","typeString":"literal_string \"WitnetRequestBoardTrustableDefault: Witnet drTxHash cannot be zero\""},"value":"WitnetRequestBoardTrustableDefault: Witnet drTxHash cannot be zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5fa4f20d3b547b43c3b49de4f5c62b8d87a47a9169c1a1db0d172150993aa1eb","typeString":"literal_string \"WitnetRequestBoardTrustableDefault: Witnet drTxHash cannot be zero\""}],"id":5947,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8059:7:36","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8059:93:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5953,"nodeType":"ExpressionStatement","src":"8059:93:36"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5955,"name":"_cborBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5927,"src":"8324:10:36","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":5956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"8324:17:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":5957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8345:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8324:22:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657452657175657374426f617264547275737461626c6544656661756c743a20726573756c742063616e6e6f7420626520656d707479","id":5959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8348:60:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_9fa14ac89471826c5bc72b75de3388cdde56a33fbf6bb575f16de2cc5916ce84","typeString":"literal_string \"WitnetRequestBoardTrustableDefault: result cannot be empty\""},"value":"WitnetRequestBoardTrustableDefault: result cannot be empty"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9fa14ac89471826c5bc72b75de3388cdde56a33fbf6bb575f16de2cc5916ce84","typeString":"literal_string \"WitnetRequestBoardTrustableDefault: result cannot be empty\""}],"id":5954,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8316:7:36","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8316:93:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5961,"nodeType":"ExpressionStatement","src":"8316:93:36"},{"expression":{"arguments":[{"arguments":[{"expression":{"id":5965,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8456:3:36","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"8456:10:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5964,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8448:8:36","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":5963,"name":"address","nodeType":"ElementaryTypeName","src":"8448:8:36","stateMutability":"payable","typeDescriptions":{}}},"id":5967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8448:19:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":5969,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5921,"src":"8513:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5970,"name":"_timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5923,"src":"8539:10:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5971,"name":"_drTxHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5925,"src":"8567:9:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":5972,"name":"_cborBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5927,"src":"8594:10:36","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":5968,"name":"__reportResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7096,"src":"8481:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,uint256,bytes32,bytes memory) returns (uint256)"}},"id":5973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8481:137:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5962,"name":"_safeTransferTo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11831,"src":"8419:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$_t_uint256_$returns$__$","typeString":"function (address payable,uint256)"}},"id":5974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8419:209:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5975,"nodeType":"ExpressionStatement","src":"8419:209:36"},{"eventCall":{"arguments":[{"id":5977,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5921,"src":"8656:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":5978,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8666:3:36","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"8666:10:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":5976,"name":"PostedResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7585,"src":"8643:12:36","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":5980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8643:34:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5981,"nodeType":"EmitStatement","src":"8638:39:36"}]},"documentation":{"id":5919,"nodeType":"StructuredDocumentation","src":"7100:565:36","text":"Reports the Witnet-provided result to a previously posted request.\n @dev Fails if:\n @dev - called from unauthorized address;\n @dev - the `_queryId` is not in 'Posted' status.\n @dev - provided `_drTxHash` is zero;\n @dev - length of provided `_result` is zero.\n @param _queryId The unique query identifier\n @param _timestamp The timestamp of the solving tally transaction in Witnet.\n @param _drTxHash The hash of the solving tally transaction in Witnet.\n @param _cborBytes The result itself as bytes."},"functionSelector":"c8f5cdd5","id":5983,"implemented":true,"kind":"function","modifiers":[{"id":5931,"kind":"modifierInvocation","modifierName":{"id":5930,"name":"onlyReporters","nodeType":"IdentifierPath","referencedDeclaration":5276,"src":"7876:13:36"},"nodeType":"ModifierInvocation","src":"7876:13:36"},{"arguments":[{"id":5933,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5921,"src":"7907:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":5934,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"7917:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":5935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"QueryStatus","nodeType":"MemberAccess","referencedDeclaration":7996,"src":"7917:18:36","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_QueryStatus_$7996_$","typeString":"type(enum Witnet.QueryStatus)"}},"id":5936,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Posted","nodeType":"MemberAccess","referencedDeclaration":7993,"src":"7917:25:36","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}}],"id":5937,"kind":"modifierInvocation","modifierName":{"id":5932,"name":"inStatus","nodeType":"IdentifierPath","referencedDeclaration":5003,"src":"7898:8:36"},"nodeType":"ModifierInvocation","src":"7898:45:36"}],"name":"reportResult","nameLocation":"7679:12:36","nodeType":"FunctionDefinition","overrides":{"id":5929,"nodeType":"OverrideSpecifier","overrides":[],"src":"7859:8:36"},"parameters":{"id":5928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5921,"mutability":"mutable","name":"_queryId","nameLocation":"7713:8:36","nodeType":"VariableDeclaration","scope":5983,"src":"7705:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5920,"name":"uint256","nodeType":"ElementaryTypeName","src":"7705:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5923,"mutability":"mutable","name":"_timestamp","nameLocation":"7743:10:36","nodeType":"VariableDeclaration","scope":5983,"src":"7735:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5922,"name":"uint256","nodeType":"ElementaryTypeName","src":"7735:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5925,"mutability":"mutable","name":"_drTxHash","nameLocation":"7775:9:36","nodeType":"VariableDeclaration","scope":5983,"src":"7767:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5924,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7767:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":5927,"mutability":"mutable","name":"_cborBytes","nameLocation":"7813:10:36","nodeType":"VariableDeclaration","scope":5983,"src":"7798:25:36","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":5926,"name":"bytes","nodeType":"ElementaryTypeName","src":"7798:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7691:142:36"},"returnParameters":{"id":5938,"nodeType":"ParameterList","parameters":[],"src":"7948:0:36"},"scope":7097,"src":"7670:1014:36","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[7628],"body":{"id":6136,"nodeType":"Block","src":"9580:2067:36","statements":[{"assignments":[5997],"declarations":[{"constant":false,"id":5997,"mutability":"mutable","name":"_batchReward","nameLocation":"9595:12:36","nodeType":"VariableDeclaration","scope":6136,"src":"9590:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5996,"name":"uint","nodeType":"ElementaryTypeName","src":"9590:4:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5998,"nodeType":"VariableDeclarationStatement","src":"9590:17:36"},{"assignments":[6000],"declarations":[{"constant":false,"id":6000,"mutability":"mutable","name":"_batchSize","nameLocation":"9622:10:36","nodeType":"VariableDeclaration","scope":6136,"src":"9617:15:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5999,"name":"uint","nodeType":"ElementaryTypeName","src":"9617:4:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6003,"initialValue":{"expression":{"id":6001,"name":"_batchResults","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5988,"src":"9635:13:36","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_BatchResult_$7637_memory_ptr_$dyn_memory_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult memory[] memory"}},"id":6002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"9635:20:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9617:38:36"},{"body":{"id":6120,"nodeType":"Block","src":"9708:1680:36","statements":[{"assignments":[6016],"declarations":[{"constant":false,"id":6016,"mutability":"mutable","name":"_result","nameLocation":"9741:7:36","nodeType":"VariableDeclaration","scope":6120,"src":"9722:26:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_BatchResult_$7637_memory_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult"},"typeName":{"id":6015,"nodeType":"UserDefinedTypeName","pathNode":{"id":6014,"name":"BatchResult","nodeType":"IdentifierPath","referencedDeclaration":7637,"src":"9722:11:36"},"referencedDeclaration":7637,"src":"9722:11:36","typeDescriptions":{"typeIdentifier":"t_struct$_BatchResult_$7637_storage_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult"}},"visibility":"internal"}],"id":6020,"initialValue":{"baseExpression":{"id":6017,"name":"_batchResults","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5988,"src":"9751:13:36","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_BatchResult_$7637_memory_ptr_$dyn_memory_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult memory[] memory"}},"id":6019,"indexExpression":{"id":6018,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6005,"src":"9765:2:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9751:17:36","typeDescriptions":{"typeIdentifier":"t_struct$_BatchResult_$7637_memory_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult memory"}},"nodeType":"VariableDeclarationStatement","src":"9722:46:36"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"},"id":6028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":6022,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6016,"src":"9802:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_BatchResult_$7637_memory_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult memory"}},"id":6023,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"queryId","nodeType":"MemberAccess","referencedDeclaration":7630,"src":"9802:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6021,"name":"_getQueryStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5136,"src":"9786:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_QueryStatus_$7996_$","typeString":"function (uint256) view returns (enum Witnet.QueryStatus)"}},"id":6024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9786:32:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":6025,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"9822:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":6026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"QueryStatus","nodeType":"MemberAccess","referencedDeclaration":7996,"src":"9822:18:36","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_QueryStatus_$7996_$","typeString":"type(enum Witnet.QueryStatus)"}},"id":6027,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Posted","nodeType":"MemberAccess","referencedDeclaration":7993,"src":"9822:25:36","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"src":"9786:61:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":6042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":6039,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6016,"src":"10102:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_BatchResult_$7637_memory_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult memory"}},"id":6040,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"drTxHash","nodeType":"MemberAccess","referencedDeclaration":7634,"src":"10102:16:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":6041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10122:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10102:21:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":6053,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6016,"src":"10379:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_BatchResult_$7637_memory_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult memory"}},"id":6054,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"cborBytes","nodeType":"MemberAccess","referencedDeclaration":7636,"src":"10379:17:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":6055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"10379:24:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":6056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10407:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10379:29:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":6077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":6068,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6016,"src":"10666:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_BatchResult_$7637_memory_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult memory"}},"id":6069,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":7632,"src":"10666:17:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":6070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10686:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10666:21:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":6072,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6016,"src":"10691:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_BatchResult_$7637_memory_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult memory"}},"id":6073,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":7632,"src":"10691:17:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":6074,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"10711:5:36","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":6075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"10711:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10691:35:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10666:60:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":6115,"nodeType":"Block","src":"10979:399:36","statements":[{"expression":{"id":6106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6088,"name":"_batchReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5997,"src":"10997:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"expression":{"id":6090,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6016,"src":"11049:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_BatchResult_$7637_memory_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult memory"}},"id":6091,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"queryId","nodeType":"MemberAccess","referencedDeclaration":7630,"src":"11049:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":6092,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6016,"src":"11086:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_BatchResult_$7637_memory_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult memory"}},"id":6093,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":7632,"src":"11086:17:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":6094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11107:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11086:22:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":6098,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6016,"src":"11129:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_BatchResult_$7637_memory_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult memory"}},"id":6099,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":7632,"src":"11129:17:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"11086:60:36","trueExpression":{"expression":{"id":6096,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"11111:5:36","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":6097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"11111:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":6101,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6016,"src":"11168:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_BatchResult_$7637_memory_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult memory"}},"id":6102,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"drTxHash","nodeType":"MemberAccess","referencedDeclaration":7634,"src":"11168:16:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":6103,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6016,"src":"11206:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_BatchResult_$7637_memory_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult memory"}},"id":6104,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"cborBytes","nodeType":"MemberAccess","referencedDeclaration":7636,"src":"11206:17:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6089,"name":"__reportResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7096,"src":"11013:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,uint256,bytes32,bytes memory) returns (uint256)"}},"id":6105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11013:228:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10997:244:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6107,"nodeType":"ExpressionStatement","src":"10997:244:36"},{"eventCall":{"arguments":[{"expression":{"id":6109,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6016,"src":"11298:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_BatchResult_$7637_memory_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult memory"}},"id":6110,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"queryId","nodeType":"MemberAccess","referencedDeclaration":7630,"src":"11298:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":6111,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11335:3:36","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"11335:10:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":6108,"name":"PostedResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7585,"src":"11264:12:36","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":6113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11264:99:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6114,"nodeType":"EmitStatement","src":"11259:104:36"}]},"id":6116,"nodeType":"IfStatement","src":"10662:716:36","trueBody":{"id":6087,"nodeType":"Block","src":"10728:245:36","statements":[{"condition":{"id":6078,"name":"_verbose","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5990,"src":"10750:8:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6086,"nodeType":"IfStatement","src":"10746:213:36","trueBody":{"id":6085,"nodeType":"Block","src":"10760:199:36","statements":[{"eventCall":{"arguments":[{"expression":{"id":6080,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6016,"src":"10829:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_BatchResult_$7637_memory_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult memory"}},"id":6081,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"queryId","nodeType":"MemberAccess","referencedDeclaration":7630,"src":"10829:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a206261642074696d657374616d70","id":6082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10870:48:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_1581ae06fefdfc841abacd4b63952c567c2edc2bc8c7899a32661f6a801e746b","typeString":"literal_string \"WitnetRequestBoardTrustableBase: bad timestamp\""},"value":"WitnetRequestBoardTrustableBase: bad timestamp"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_1581ae06fefdfc841abacd4b63952c567c2edc2bc8c7899a32661f6a801e746b","typeString":"literal_string \"WitnetRequestBoardTrustableBase: bad timestamp\""}],"id":6079,"name":"BatchReportError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7643,"src":"10787:16:36","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,string memory)"}},"id":6083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10787:153:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6084,"nodeType":"EmitStatement","src":"10782:158:36"}]}}]}},"id":6117,"nodeType":"IfStatement","src":"10375:1003:36","trueBody":{"id":6067,"nodeType":"Block","src":"10410:246:36","statements":[{"condition":{"id":6058,"name":"_verbose","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5990,"src":"10432:8:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6066,"nodeType":"IfStatement","src":"10428:214:36","trueBody":{"id":6065,"nodeType":"Block","src":"10442:200:36","statements":[{"eventCall":{"arguments":[{"expression":{"id":6060,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6016,"src":"10511:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_BatchResult_$7637_memory_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult memory"}},"id":6061,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"queryId","nodeType":"MemberAccess","referencedDeclaration":7630,"src":"10511:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a206261642063626f724279746573","id":6062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10553:48:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_e251d84e62e5492f0ae8601bf0b4d92f0e11ae4eb6623c0c4134c63f7dd56847","typeString":"literal_string \"WitnetRequestBoardTrustableBase: bad cborBytes\""},"value":"WitnetRequestBoardTrustableBase: bad cborBytes"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_e251d84e62e5492f0ae8601bf0b4d92f0e11ae4eb6623c0c4134c63f7dd56847","typeString":"literal_string \"WitnetRequestBoardTrustableBase: bad cborBytes\""}],"id":6059,"name":"BatchReportError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7643,"src":"10469:16:36","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,string memory)"}},"id":6063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10469:154:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6064,"nodeType":"EmitStatement","src":"10464:159:36"}]}}]}},"id":6118,"nodeType":"IfStatement","src":"10098:1280:36","trueBody":{"id":6052,"nodeType":"Block","src":"10125:244:36","statements":[{"condition":{"id":6043,"name":"_verbose","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5990,"src":"10147:8:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6051,"nodeType":"IfStatement","src":"10143:212:36","trueBody":{"id":6050,"nodeType":"Block","src":"10157:198:36","statements":[{"eventCall":{"arguments":[{"expression":{"id":6045,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6016,"src":"10226:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_BatchResult_$7637_memory_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult memory"}},"id":6046,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"queryId","nodeType":"MemberAccess","referencedDeclaration":7630,"src":"10226:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a20626164206472547848617368","id":6047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10267:47:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e0ffa273c001ae051d701178ac5c710a5b4d9fec98205577ebc7425e417a801","typeString":"literal_string \"WitnetRequestBoardTrustableBase: bad drTxHash\""},"value":"WitnetRequestBoardTrustableBase: bad drTxHash"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_8e0ffa273c001ae051d701178ac5c710a5b4d9fec98205577ebc7425e417a801","typeString":"literal_string \"WitnetRequestBoardTrustableBase: bad drTxHash\""}],"id":6044,"name":"BatchReportError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7643,"src":"10184:16:36","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,string memory)"}},"id":6048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10184:152:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6049,"nodeType":"EmitStatement","src":"10179:157:36"}]}}]}},"id":6119,"nodeType":"IfStatement","src":"9782:1596:36","trueBody":{"id":6038,"nodeType":"Block","src":"9849:243:36","statements":[{"condition":{"id":6029,"name":"_verbose","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5990,"src":"9871:8:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6037,"nodeType":"IfStatement","src":"9867:211:36","trueBody":{"id":6036,"nodeType":"Block","src":"9881:197:36","statements":[{"eventCall":{"arguments":[{"expression":{"id":6031,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6016,"src":"9950:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_BatchResult_$7637_memory_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult memory"}},"id":6032,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"queryId","nodeType":"MemberAccess","referencedDeclaration":7630,"src":"9950:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a206261642071756572794964","id":6033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9991:46:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b4bb84f4a99e05df33e41f62f5366e4016b4735b6f76082d73cf5d8831faa3e","typeString":"literal_string \"WitnetRequestBoardTrustableBase: bad queryId\""},"value":"WitnetRequestBoardTrustableBase: bad queryId"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_3b4bb84f4a99e05df33e41f62f5366e4016b4735b6f76082d73cf5d8831faa3e","typeString":"literal_string \"WitnetRequestBoardTrustableBase: bad queryId\""}],"id":6030,"name":"BatchReportError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7643,"src":"9908:16:36","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,string memory)"}},"id":6034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9908:151:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6035,"nodeType":"EmitStatement","src":"9903:156:36"}]}}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6008,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6005,"src":"9684:2:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":6009,"name":"_batchSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6000,"src":"9689:10:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9684:15:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6121,"initializationExpression":{"assignments":[6005],"declarations":[{"constant":false,"id":6005,"mutability":"mutable","name":"_i","nameLocation":"9676:2:36","nodeType":"VariableDeclaration","scope":6121,"src":"9671:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6004,"name":"uint","nodeType":"ElementaryTypeName","src":"9671:4:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6007,"initialValue":{"hexValue":"30","id":6006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9681:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"9671:11:36"},"loopExpression":{"expression":{"id":6012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"9701:5:36","subExpression":{"id":6011,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6005,"src":"9701:2:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6013,"nodeType":"ExpressionStatement","src":"9701:5:36"},"nodeType":"ForStatement","src":"9665:1723:36"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6122,"name":"_batchReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5997,"src":"11502:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":6123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11517:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11502:16:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6135,"nodeType":"IfStatement","src":"11498:143:36","trueBody":{"id":6134,"nodeType":"Block","src":"11520:121:36","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":6128,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11575:3:36","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"11575:10:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11567:8:36","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":6126,"name":"address","nodeType":"ElementaryTypeName","src":"11567:8:36","stateMutability":"payable","typeDescriptions":{}}},"id":6130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11567:19:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":6131,"name":"_batchReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5997,"src":"11604:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6125,"name":"_safeTransferTo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11831,"src":"11534:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$_t_uint256_$returns$__$","typeString":"function (address payable,uint256)"}},"id":6132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11534:96:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6133,"nodeType":"ExpressionStatement","src":"11534:96:36"}]}}]},"documentation":{"id":5984,"nodeType":"StructuredDocumentation","src":"8690:713:36","text":"Reports Witnet-provided results to multiple requests within a single EVM tx.\n @dev Fails if called from unauthorized address.\n @dev Emits a PostedResult event for every succesfully reported result, if any.\n @param _batchResults Array of BatchedResult structs, every one containing:\n         - unique query identifier;\n         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;\n         - hash of the corresponding data request tx at the Witnet side-chain level;\n         - data request result in raw bytes.\n @param _verbose If true, emits a BatchReportError event for every failing report, if any. "},"functionSelector":"81a398b5","id":6137,"implemented":true,"kind":"function","modifiers":[{"id":5994,"kind":"modifierInvocation","modifierName":{"id":5993,"name":"onlyReporters","nodeType":"IdentifierPath","referencedDeclaration":5276,"src":"9562:13:36"},"nodeType":"ModifierInvocation","src":"9562:13:36"}],"name":"reportResultBatch","nameLocation":"9417:17:36","nodeType":"FunctionDefinition","overrides":{"id":5992,"nodeType":"OverrideSpecifier","overrides":[],"src":"9545:8:36"},"parameters":{"id":5991,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5988,"mutability":"mutable","name":"_batchResults","nameLocation":"9469:13:36","nodeType":"VariableDeclaration","scope":6137,"src":"9448:34:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_BatchResult_$7637_memory_ptr_$dyn_memory_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult[]"},"typeName":{"baseType":{"id":5986,"nodeType":"UserDefinedTypeName","pathNode":{"id":5985,"name":"BatchResult","nodeType":"IdentifierPath","referencedDeclaration":7637,"src":"9448:11:36"},"referencedDeclaration":7637,"src":"9448:11:36","typeDescriptions":{"typeIdentifier":"t_struct$_BatchResult_$7637_storage_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult"}},"id":5987,"nodeType":"ArrayTypeName","src":"9448:13:36","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_BatchResult_$7637_storage_$dyn_storage_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult[]"}},"visibility":"internal"},{"constant":false,"id":5990,"mutability":"mutable","name":"_verbose","nameLocation":"9501:8:36","nodeType":"VariableDeclaration","scope":6137,"src":"9496:13:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5989,"name":"bool","nodeType":"ElementaryTypeName","src":"9496:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9434:85:36"},"returnParameters":{"id":5995,"nodeType":"ParameterList","parameters":[],"src":"9580:0:36"},"scope":7097,"src":"9408:2239:36","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[7658],"body":{"id":6191,"nodeType":"Block","src":"12431:334:36","statements":[{"assignments":[6157],"declarations":[{"constant":false,"id":6157,"mutability":"mutable","name":"__query","nameLocation":"12462:7:36","nodeType":"VariableDeclaration","scope":6191,"src":"12441:28:36","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage_ptr","typeString":"struct Witnet.Query"},"typeName":{"id":6156,"nodeType":"UserDefinedTypeName","pathNode":{"id":6155,"name":"Witnet.Query","nodeType":"IdentifierPath","referencedDeclaration":7991,"src":"12441:12:36"},"referencedDeclaration":7991,"src":"12441:12:36","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage_ptr","typeString":"struct Witnet.Query"}},"visibility":"internal"}],"id":6163,"initialValue":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":6158,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"12472:6:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":6159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12472:8:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":6160,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"queries","nodeType":"MemberAccess","referencedDeclaration":4970,"src":"12472:16:36","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Query_$7991_storage_$","typeString":"mapping(uint256 => struct Witnet.Query storage ref)"}},"id":6162,"indexExpression":{"id":6161,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6140,"src":"12489:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12472:26:36","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage","typeString":"struct Witnet.Query storage ref"}},"nodeType":"VariableDeclarationStatement","src":"12441:57:36"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":6169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":6165,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12529:3:36","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"12529:10:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":6167,"name":"__query","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6157,"src":"12543:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage_ptr","typeString":"struct Witnet.Query storage pointer"}},"id":6168,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":7990,"src":"12543:12:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12529:26:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a206f6e6c7920726571756573746572","id":6170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12569:49:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_4425c56dbfedfa02467de27608a6ff1e4faacad72797eafb38bb660bf95f7eee","typeString":"literal_string \"WitnetRequestBoardTrustableBase: only requester\""},"value":"WitnetRequestBoardTrustableBase: only requester"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4425c56dbfedfa02467de27608a6ff1e4faacad72797eafb38bb660bf95f7eee","typeString":"literal_string \"WitnetRequestBoardTrustableBase: only requester\""}],"id":6164,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12508:7:36","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12508:120:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6172,"nodeType":"ExpressionStatement","src":"12508:120:36"},{"expression":{"id":6176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6173,"name":"_response","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6151,"src":"12638:9:36","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_memory_ptr","typeString":"struct Witnet.Response memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":6174,"name":"__query","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6157,"src":"12650:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage_ptr","typeString":"struct Witnet.Query storage pointer"}},"id":6175,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"response","nodeType":"MemberAccess","referencedDeclaration":7988,"src":"12650:16:36","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage","typeString":"struct Witnet.Response storage ref"}},"src":"12638:28:36","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_memory_ptr","typeString":"struct Witnet.Response memory"}},"id":6177,"nodeType":"ExpressionStatement","src":"12638:28:36"},{"expression":{"id":6183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"12676:33:36","subExpression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":6178,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"12683:6:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":6179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12683:8:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":6180,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"queries","nodeType":"MemberAccess","referencedDeclaration":4970,"src":"12683:16:36","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Query_$7991_storage_$","typeString":"mapping(uint256 => struct Witnet.Query storage ref)"}},"id":6182,"indexExpression":{"id":6181,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6140,"src":"12700:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12683:26:36","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage","typeString":"struct Witnet.Query storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6184,"nodeType":"ExpressionStatement","src":"12676:33:36"},{"eventCall":{"arguments":[{"id":6186,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6140,"src":"12737:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":6187,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12747:3:36","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"12747:10:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":6185,"name":"DeletedQuery","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7592,"src":"12724:12:36","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":6189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12724:34:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6190,"nodeType":"EmitStatement","src":"12719:39:36"}]},"documentation":{"id":6138,"nodeType":"StructuredDocumentation","src":"11899:337:36","text":"Retrieves copy of all response data related to a previously posted request, removing the whole query from storage.\n @dev Fails if the `_queryId` is not in 'Reported' status, or called from an address different to\n @dev the one that actually posted the given request.\n @param _queryId The unique query identifier."},"functionSelector":"7c1fbda3","id":6192,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":6144,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6140,"src":"12337:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":6145,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"12347:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":6146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"QueryStatus","nodeType":"MemberAccess","referencedDeclaration":7996,"src":"12347:18:36","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_QueryStatus_$7996_$","typeString":"type(enum Witnet.QueryStatus)"}},"id":6147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Reported","nodeType":"MemberAccess","referencedDeclaration":7994,"src":"12347:27:36","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}}],"id":6148,"kind":"modifierInvocation","modifierName":{"id":6143,"name":"inStatus","nodeType":"IdentifierPath","referencedDeclaration":5003,"src":"12328:8:36"},"nodeType":"ModifierInvocation","src":"12328:47:36"}],"name":"deleteQuery","nameLocation":"12250:11:36","nodeType":"FunctionDefinition","overrides":{"id":6142,"nodeType":"OverrideSpecifier","overrides":[],"src":"12311:8:36"},"parameters":{"id":6141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6140,"mutability":"mutable","name":"_queryId","nameLocation":"12270:8:36","nodeType":"VariableDeclaration","scope":6192,"src":"12262:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6139,"name":"uint256","nodeType":"ElementaryTypeName","src":"12262:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12261:18:36"},"returnParameters":{"id":6152,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6151,"mutability":"mutable","name":"_response","nameLocation":"12416:9:36","nodeType":"VariableDeclaration","scope":6192,"src":"12393:32:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_memory_ptr","typeString":"struct Witnet.Response"},"typeName":{"id":6150,"nodeType":"UserDefinedTypeName","pathNode":{"id":6149,"name":"Witnet.Response","nodeType":"IdentifierPath","referencedDeclaration":8017,"src":"12393:15:36"},"referencedDeclaration":8017,"src":"12393:15:36","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage_ptr","typeString":"struct Witnet.Response"}},"visibility":"internal"}],"src":"12392:34:36"},"scope":7097,"src":"12241:524:36","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[7667],"body":{"id":6310,"nodeType":"Block","src":"13543:1008:36","statements":[{"assignments":[6203],"declarations":[{"constant":false,"id":6203,"mutability":"mutable","name":"_value","nameLocation":"13561:6:36","nodeType":"VariableDeclaration","scope":6310,"src":"13553:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6202,"name":"uint256","nodeType":"ElementaryTypeName","src":"13553:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6206,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":6204,"name":"_getMsgValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11823,"src":"13570:12:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":6205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13570:14:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13553:31:36"},{"assignments":[6208],"declarations":[{"constant":false,"id":6208,"mutability":"mutable","name":"_gasPrice","nameLocation":"13602:9:36","nodeType":"VariableDeclaration","scope":6310,"src":"13594:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6207,"name":"uint256","nodeType":"ElementaryTypeName","src":"13594:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6211,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":6209,"name":"_getGasPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11817,"src":"13614:12:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":6210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13614:14:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13594:34:36"},{"assignments":[6213],"declarations":[{"constant":false,"id":6213,"mutability":"mutable","name":"minResultReward","nameLocation":"13703:15:36","nodeType":"VariableDeclaration","scope":6310,"src":"13695:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6212,"name":"uint256","nodeType":"ElementaryTypeName","src":"13695:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6217,"initialValue":{"arguments":[{"id":6215,"name":"_gasPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6208,"src":"13736:9:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6214,"name":"estimateReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6387,"src":"13721:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":6216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13721:25:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13695:51:36"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6219,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6203,"src":"13764:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":6220,"name":"minResultReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6213,"src":"13774:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13764:25:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a2072657761726420746f6f206c6f77","id":6222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13791:49:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_48f3e667c3593a2e92c7dce9bfc9484f97112384c1450711c71171e05fb5759a","typeString":"literal_string \"WitnetRequestBoardTrustableBase: reward too low\""},"value":"WitnetRequestBoardTrustableBase: reward too low"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_48f3e667c3593a2e92c7dce9bfc9484f97112384c1450711c71171e05fb5759a","typeString":"literal_string \"WitnetRequestBoardTrustableBase: reward too low\""}],"id":6218,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13756:7:36","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13756:85:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6224,"nodeType":"ExpressionStatement","src":"13756:85:36"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":6234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":6228,"name":"_addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6196,"src":"13906:5:36","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRequest_$7510","typeString":"contract IWitnetRequest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IWitnetRequest_$7510","typeString":"contract IWitnetRequest"}],"id":6227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13898:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6226,"name":"address","nodeType":"ElementaryTypeName","src":"13898:7:36","typeDescriptions":{}}},"id":6229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13898:14:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":6232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13924:1:36","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":6231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13916:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6230,"name":"address","nodeType":"ElementaryTypeName","src":"13916:7:36","typeDescriptions":{}}},"id":6233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13916:10:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13898:28:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a206e756c6c20736372697074","id":6235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13928:46:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_0be555820c60b6124cd4a527104e7ed2ef896a14c9cdf1f4d0c1a79561ea22c4","typeString":"literal_string \"WitnetRequestBoardTrustableBase: null script\""},"value":"WitnetRequestBoardTrustableBase: null script"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0be555820c60b6124cd4a527104e7ed2ef896a14c9cdf1f4d0c1a79561ea22c4","typeString":"literal_string \"WitnetRequestBoardTrustableBase: null script\""}],"id":6225,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13890:7:36","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13890:85:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6237,"nodeType":"ExpressionStatement","src":"13890:85:36"},{"assignments":[6239],"declarations":[{"constant":false,"id":6239,"mutability":"mutable","name":"_bytecode","nameLocation":"13998:9:36","nodeType":"VariableDeclaration","scope":6310,"src":"13985:22:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6238,"name":"bytes","nodeType":"ElementaryTypeName","src":"13985:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6243,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6240,"name":"_addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6196,"src":"14010:5:36","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRequest_$7510","typeString":"contract IWitnetRequest"}},"id":6241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"bytecode","nodeType":"MemberAccess","referencedDeclaration":7503,"src":"14010:14:36","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes_memory_ptr_$","typeString":"function () view external returns (bytes memory)"}},"id":6242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14010:16:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"13985:41:36"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":6245,"name":"_bytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6239,"src":"14044:9:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":6246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"14044:16:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":6247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14063:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14044:20:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a20656d70747920736372697074","id":6249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14066:47:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d43510da44c3e08f6dfef5e320d0e99d425bf23f74114ae066f5af47319ad5c","typeString":"literal_string \"WitnetRequestBoardTrustableBase: empty script\""},"value":"WitnetRequestBoardTrustableBase: empty script"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3d43510da44c3e08f6dfef5e320d0e99d425bf23f74114ae066f5af47319ad5c","typeString":"literal_string \"WitnetRequestBoardTrustableBase: empty script\""}],"id":6244,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14036:7:36","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14036:78:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6251,"nodeType":"ExpressionStatement","src":"14036:78:36"},{"expression":{"id":6257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6252,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6200,"src":"14125:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"14136:22:36","subExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":6253,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"14139:6:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":6254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14139:8:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":6255,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"numQueries","nodeType":"MemberAccess","referencedDeclaration":4965,"src":"14139:19:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14125:33:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6258,"nodeType":"ExpressionStatement","src":"14125:33:36"},{"expression":{"id":6267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":6259,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"14168:6:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":6260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14168:8:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":6261,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"queries","nodeType":"MemberAccess","referencedDeclaration":4970,"src":"14168:16:36","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Query_$7991_storage_$","typeString":"mapping(uint256 => struct Witnet.Query storage ref)"}},"id":6263,"indexExpression":{"id":6262,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6200,"src":"14185:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14168:26:36","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage","typeString":"struct Witnet.Query storage ref"}},"id":6264,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":7990,"src":"14168:31:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":6265,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14202:3:36","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"14202:10:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14168:44:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6268,"nodeType":"ExpressionStatement","src":"14168:44:36"},{"assignments":[6273],"declarations":[{"constant":false,"id":6273,"mutability":"mutable","name":"_request","nameLocation":"14246:8:36","nodeType":"VariableDeclaration","scope":6310,"src":"14223:31:36","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request"},"typeName":{"id":6272,"nodeType":"UserDefinedTypeName","pathNode":{"id":6271,"name":"Witnet.Request","nodeType":"IdentifierPath","referencedDeclaration":8008,"src":"14223:14:36"},"referencedDeclaration":8008,"src":"14223:14:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request"}},"visibility":"internal"}],"id":6277,"initialValue":{"arguments":[{"id":6275,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6200,"src":"14273:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6274,"name":"_getRequestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5208,"src":"14257:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_struct$_Request_$8008_storage_ptr_$","typeString":"function (uint256) view returns (struct Witnet.Request storage pointer)"}},"id":6276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14257:25:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"14223:59:36"},{"expression":{"id":6282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":6278,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"14292:8:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request storage pointer"}},"id":6280,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":7999,"src":"14292:13:36","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRequest_$7510","typeString":"contract IWitnetRequest"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6281,"name":"_addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6196,"src":"14308:5:36","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRequest_$7510","typeString":"contract IWitnetRequest"}},"src":"14292:21:36","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRequest_$7510","typeString":"contract IWitnetRequest"}},"id":6283,"nodeType":"ExpressionStatement","src":"14292:21:36"},{"expression":{"id":6290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":6284,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"14323:8:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request storage pointer"}},"id":6286,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"hash","nodeType":"MemberAccess","referencedDeclaration":8003,"src":"14323:13:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6287,"name":"_bytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6239,"src":"14339:9:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":6288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"hash","nodeType":"MemberAccess","referencedDeclaration":7982,"src":"14339:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$bound_to$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":6289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14339:16:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"14323:32:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":6291,"nodeType":"ExpressionStatement","src":"14323:32:36"},{"expression":{"id":6296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":6292,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"14365:8:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request storage pointer"}},"id":6294,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"gasprice","nodeType":"MemberAccess","referencedDeclaration":8005,"src":"14365:17:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6295,"name":"_gasPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6208,"src":"14385:9:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14365:29:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6297,"nodeType":"ExpressionStatement","src":"14365:29:36"},{"expression":{"id":6302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":6298,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"14404:8:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request storage pointer"}},"id":6300,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"reward","nodeType":"MemberAccess","referencedDeclaration":8007,"src":"14404:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6301,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6203,"src":"14422:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14404:24:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6303,"nodeType":"ExpressionStatement","src":"14404:24:36"},{"eventCall":{"arguments":[{"id":6305,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6200,"src":"14523:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":6306,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14533:3:36","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"14533:10:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":6304,"name":"PostedRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7578,"src":"14509:13:36","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":6308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14509:35:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6309,"nodeType":"EmitStatement","src":"14504:40:36"}]},"documentation":{"id":6193,"nodeType":"StructuredDocumentation","src":"12771:637:36","text":"Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON.\n A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided \n result to this request.\n @dev Fails if:\n @dev - provided reward is too low.\n @dev - provided script is zero address.\n @dev - provided script bytecode is empty.\n @param _addr The address of a IWitnetRequest contract, containing the actual Data Request seralized bytecode.\n @return _queryId An unique query identifier."},"functionSelector":"b281a7bd","id":6311,"implemented":true,"kind":"function","modifiers":[],"name":"postRequest","nameLocation":"13422:11:36","nodeType":"FunctionDefinition","overrides":{"id":6198,"nodeType":"OverrideSpecifier","overrides":[],"src":"13495:8:36"},"parameters":{"id":6197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6196,"mutability":"mutable","name":"_addr","nameLocation":"13449:5:36","nodeType":"VariableDeclaration","scope":6311,"src":"13434:20:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRequest_$7510","typeString":"contract IWitnetRequest"},"typeName":{"id":6195,"nodeType":"UserDefinedTypeName","pathNode":{"id":6194,"name":"IWitnetRequest","nodeType":"IdentifierPath","referencedDeclaration":7510,"src":"13434:14:36"},"referencedDeclaration":7510,"src":"13434:14:36","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRequest_$7510","typeString":"contract IWitnetRequest"}},"visibility":"internal"}],"src":"13433:22:36"},"returnParameters":{"id":6201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6200,"mutability":"mutable","name":"_queryId","nameLocation":"13529:8:36","nodeType":"VariableDeclaration","scope":6311,"src":"13521:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6199,"name":"uint256","nodeType":"ElementaryTypeName","src":"13521:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13520:18:36"},"scope":7097,"src":"13413:1138:36","stateMutability":"payable","virtual":true,"visibility":"public"},{"baseFunctions":[7673],"body":{"id":6377,"nodeType":"Block","src":"15280:683:36","statements":[{"assignments":[6328],"declarations":[{"constant":false,"id":6328,"mutability":"mutable","name":"_request","nameLocation":"15313:8:36","nodeType":"VariableDeclaration","scope":6377,"src":"15290:31:36","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request"},"typeName":{"id":6327,"nodeType":"UserDefinedTypeName","pathNode":{"id":6326,"name":"Witnet.Request","nodeType":"IdentifierPath","referencedDeclaration":8008,"src":"15290:14:36"},"referencedDeclaration":8008,"src":"15290:14:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request"}},"visibility":"internal"}],"id":6332,"initialValue":{"arguments":[{"id":6330,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6314,"src":"15340:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6329,"name":"_getRequestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5208,"src":"15324:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_struct$_Request_$8008_storage_ptr_$","typeString":"function (uint256) view returns (struct Witnet.Request storage pointer)"}},"id":6331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15324:25:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15290:59:36"},{"assignments":[6334],"declarations":[{"constant":false,"id":6334,"mutability":"mutable","name":"_newReward","nameLocation":"15368:10:36","nodeType":"VariableDeclaration","scope":6377,"src":"15360:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6333,"name":"uint256","nodeType":"ElementaryTypeName","src":"15360:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6340,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":6335,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6328,"src":"15381:8:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request storage pointer"}},"id":6336,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"reward","nodeType":"MemberAccess","referencedDeclaration":8007,"src":"15381:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":6337,"name":"_getMsgValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11823,"src":"15399:12:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":6338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15399:14:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15381:32:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15360:53:36"},{"assignments":[6342],"declarations":[{"constant":false,"id":6342,"mutability":"mutable","name":"_newGasPrice","nameLocation":"15431:12:36","nodeType":"VariableDeclaration","scope":6377,"src":"15423:20:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6341,"name":"uint256","nodeType":"ElementaryTypeName","src":"15423:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6345,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":6343,"name":"_getGasPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11817,"src":"15446:12:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":6344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15446:14:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15423:37:36"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6346,"name":"_newGasPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6342,"src":"15555:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":6347,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6328,"src":"15570:8:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request storage pointer"}},"id":6348,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"gasprice","nodeType":"MemberAccess","referencedDeclaration":8005,"src":"15570:17:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15555:32:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6370,"nodeType":"IfStatement","src":"15551:368:36","trueBody":{"id":6369,"nodeType":"Block","src":"15589:330:36","statements":[{"assignments":[6351],"declarations":[{"constant":false,"id":6351,"mutability":"mutable","name":"_minResultReward","nameLocation":"15665:16:36","nodeType":"VariableDeclaration","scope":6369,"src":"15657:24:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6350,"name":"uint256","nodeType":"ElementaryTypeName","src":"15657:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6355,"initialValue":{"arguments":[{"id":6353,"name":"_newGasPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6342,"src":"15699:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6352,"name":"estimateReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6387,"src":"15684:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":6354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15684:28:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15657:55:36"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6357,"name":"_newReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6334,"src":"15751:10:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":6358,"name":"_minResultReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6351,"src":"15765:16:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15751:30:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a2072657761726420746f6f206c6f77","id":6360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15799:49:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_48f3e667c3593a2e92c7dce9bfc9484f97112384c1450711c71171e05fb5759a","typeString":"literal_string \"WitnetRequestBoardTrustableBase: reward too low\""},"value":"WitnetRequestBoardTrustableBase: reward too low"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_48f3e667c3593a2e92c7dce9bfc9484f97112384c1450711c71171e05fb5759a","typeString":"literal_string \"WitnetRequestBoardTrustableBase: reward too low\""}],"id":6356,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15726:7:36","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15726:136:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6362,"nodeType":"ExpressionStatement","src":"15726:136:36"},{"expression":{"id":6367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":6363,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6328,"src":"15876:8:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request storage pointer"}},"id":6365,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"gasprice","nodeType":"MemberAccess","referencedDeclaration":8005,"src":"15876:17:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6366,"name":"_newGasPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6342,"src":"15896:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15876:32:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6368,"nodeType":"ExpressionStatement","src":"15876:32:36"}]}},{"expression":{"id":6375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":6371,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6328,"src":"15928:8:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request storage pointer"}},"id":6373,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"reward","nodeType":"MemberAccess","referencedDeclaration":8007,"src":"15928:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6374,"name":"_newReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6334,"src":"15946:10:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15928:28:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6376,"nodeType":"ExpressionStatement","src":"15928:28:36"}]},"documentation":{"id":6312,"nodeType":"StructuredDocumentation","src":"14561:561:36","text":"Increments the reward of a previously posted request by adding the transaction value to it.\n @dev Updates request `gasPrice` in case this method is called with a higher \n @dev gas price value than the one used in previous calls to `postRequest` or\n @dev `upgradeReward`. \n @dev Fails if the `_queryId` is not in 'Posted' status.\n @dev Fails also in case the request `gasPrice` is increased, and the new \n @dev reward value gets below new recalculated threshold. \n @param _queryId The unique query identifier."},"functionSelector":"66bfdc75","id":6378,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":6318,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6314,"src":"15239:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":6319,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"15249:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":6320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"QueryStatus","nodeType":"MemberAccess","referencedDeclaration":7996,"src":"15249:18:36","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_QueryStatus_$7996_$","typeString":"type(enum Witnet.QueryStatus)"}},"id":6321,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Posted","nodeType":"MemberAccess","referencedDeclaration":7993,"src":"15249:25:36","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}}],"id":6322,"kind":"modifierInvocation","modifierName":{"id":6317,"name":"inStatus","nodeType":"IdentifierPath","referencedDeclaration":5003,"src":"15230:8:36"},"nodeType":"ModifierInvocation","src":"15230:45:36"}],"name":"upgradeReward","nameLocation":"15136:13:36","nodeType":"FunctionDefinition","overrides":{"id":6316,"nodeType":"OverrideSpecifier","overrides":[],"src":"15207:8:36"},"parameters":{"id":6315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6314,"mutability":"mutable","name":"_queryId","nameLocation":"15158:8:36","nodeType":"VariableDeclaration","scope":6378,"src":"15150:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6313,"name":"uint256","nodeType":"ElementaryTypeName","src":"15150:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15149:18:36"},"returnParameters":{"id":6323,"nodeType":"ParameterList","parameters":[],"src":"15280:0:36"},"scope":7097,"src":"15127:836:36","stateMutability":"payable","virtual":true,"visibility":"public"},{"baseFunctions":[7687],"documentation":{"id":6379,"nodeType":"StructuredDocumentation","src":"16211:158:36","text":"Estimates the amount of reward we need to insert for a given gas price.\n @param _gasPrice The gas price for which we need to calculate the rewards."},"functionSelector":"d2e87561","id":6387,"implemented":false,"kind":"function","modifiers":[],"name":"estimateReward","nameLocation":"16383:14:36","nodeType":"FunctionDefinition","overrides":{"id":6383,"nodeType":"OverrideSpecifier","overrides":[],"src":"16453:8:36"},"parameters":{"id":6382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6381,"mutability":"mutable","name":"_gasPrice","nameLocation":"16406:9:36","nodeType":"VariableDeclaration","scope":6387,"src":"16398:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6380,"name":"uint256","nodeType":"ElementaryTypeName","src":"16398:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16397:19:36"},"returnParameters":{"id":6386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6385,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6387,"src":"16479:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6384,"name":"uint256","nodeType":"ElementaryTypeName","src":"16479:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16478:9:36"},"scope":7097,"src":"16374:114:36","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[7693],"body":{"id":6400,"nodeType":"Block","src":"16667:47:36","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":6394,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"16684:6:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":6395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16684:8:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":6396,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"numQueries","nodeType":"MemberAccess","referencedDeclaration":4965,"src":"16684:19:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":6397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16706:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"16684:23:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6393,"id":6399,"nodeType":"Return","src":"16677:30:36"}]},"documentation":{"id":6388,"nodeType":"StructuredDocumentation","src":"16494:72:36","text":"Returns next request id to be generated by the Witnet Request Board."},"functionSelector":"c805dd0f","id":6401,"implemented":true,"kind":"function","modifiers":[],"name":"getNextQueryId","nameLocation":"16580:14:36","nodeType":"FunctionDefinition","overrides":{"id":6390,"nodeType":"OverrideSpecifier","overrides":[],"src":"16628:8:36"},"parameters":{"id":6389,"nodeType":"ParameterList","parameters":[],"src":"16594:2:36"},"returnParameters":{"id":6393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6392,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6401,"src":"16654:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6391,"name":"uint256","nodeType":"ElementaryTypeName","src":"16654:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16653:9:36"},"scope":7097,"src":"16571:143:36","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[7702],"body":{"id":6417,"nodeType":"Block","src":"16917:50:36","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":6411,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"16934:6:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":6412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16934:8:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":6413,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"queries","nodeType":"MemberAccess","referencedDeclaration":4970,"src":"16934:16:36","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Query_$7991_storage_$","typeString":"mapping(uint256 => struct Witnet.Query storage ref)"}},"id":6415,"indexExpression":{"id":6414,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6404,"src":"16951:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16934:26:36","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage","typeString":"struct Witnet.Query storage ref"}},"functionReturnParameters":6410,"id":6416,"nodeType":"Return","src":"16927:33:36"}]},"documentation":{"id":6402,"nodeType":"StructuredDocumentation","src":"16720:77:36","text":"Gets the whole Query data contents, if any, no matter its current status."},"functionSelector":"c2485ebd","id":6418,"implemented":true,"kind":"function","modifiers":[],"name":"getQueryData","nameLocation":"16811:12:36","nodeType":"FunctionDefinition","overrides":{"id":6406,"nodeType":"OverrideSpecifier","overrides":[],"src":"16868:8:36"},"parameters":{"id":6405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6404,"mutability":"mutable","name":"_queryId","nameLocation":"16832:8:36","nodeType":"VariableDeclaration","scope":6418,"src":"16824:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6403,"name":"uint256","nodeType":"ElementaryTypeName","src":"16824:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16823:18:36"},"returnParameters":{"id":6410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6409,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6418,"src":"16892:19:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_memory_ptr","typeString":"struct Witnet.Query"},"typeName":{"id":6408,"nodeType":"UserDefinedTypeName","pathNode":{"id":6407,"name":"Witnet.Query","nodeType":"IdentifierPath","referencedDeclaration":7991,"src":"16892:12:36"},"referencedDeclaration":7991,"src":"16892:12:36","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage_ptr","typeString":"struct Witnet.Query"}},"visibility":"internal"}],"src":"16891:21:36"},"scope":7097,"src":"16802:165:36","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[7711],"body":{"id":6432,"nodeType":"Block","src":"17139:50:36","statements":[{"expression":{"arguments":[{"id":6429,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6421,"src":"17172:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6428,"name":"_getQueryStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5136,"src":"17156:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_QueryStatus_$7996_$","typeString":"function (uint256) view returns (enum Witnet.QueryStatus)"}},"id":6430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17156:25:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"functionReturnParameters":6427,"id":6431,"nodeType":"Return","src":"17149:32:36"}]},"documentation":{"id":6419,"nodeType":"StructuredDocumentation","src":"16973:39:36","text":"Gets current status of given query."},"functionSelector":"6f07abcc","id":6433,"implemented":true,"kind":"function","modifiers":[],"name":"getQueryStatus","nameLocation":"17026:14:36","nodeType":"FunctionDefinition","overrides":{"id":6423,"nodeType":"OverrideSpecifier","overrides":[],"src":"17089:8:36"},"parameters":{"id":6422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6421,"mutability":"mutable","name":"_queryId","nameLocation":"17049:8:36","nodeType":"VariableDeclaration","scope":6433,"src":"17041:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6420,"name":"uint256","nodeType":"ElementaryTypeName","src":"17041:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17040:18:36"},"returnParameters":{"id":6427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6426,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6433,"src":"17115:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"},"typeName":{"id":6425,"nodeType":"UserDefinedTypeName","pathNode":{"id":6424,"name":"Witnet.QueryStatus","nodeType":"IdentifierPath","referencedDeclaration":7996,"src":"17115:18:36"},"referencedDeclaration":7996,"src":"17115:18:36","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"visibility":"internal"}],"src":"17114:20:36"},"scope":7097,"src":"17017:172:36","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[7720],"body":{"id":6481,"nodeType":"Block","src":"17646:209:36","statements":[{"assignments":[6453],"declarations":[{"constant":false,"id":6453,"mutability":"mutable","name":"__query","nameLocation":"17677:7:36","nodeType":"VariableDeclaration","scope":6481,"src":"17656:28:36","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage_ptr","typeString":"struct Witnet.Query"},"typeName":{"id":6452,"nodeType":"UserDefinedTypeName","pathNode":{"id":6451,"name":"Witnet.Query","nodeType":"IdentifierPath","referencedDeclaration":7991,"src":"17656:12:36"},"referencedDeclaration":7991,"src":"17656:12:36","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage_ptr","typeString":"struct Witnet.Query"}},"visibility":"internal"}],"id":6459,"initialValue":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":6454,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"17687:6:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":6455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17687:8:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":6456,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"queries","nodeType":"MemberAccess","referencedDeclaration":4970,"src":"17687:16:36","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Query_$7991_storage_$","typeString":"mapping(uint256 => struct Witnet.Query storage ref)"}},"id":6458,"indexExpression":{"id":6457,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6436,"src":"17704:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17687:26:36","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage","typeString":"struct Witnet.Query storage ref"}},"nodeType":"VariableDeclarationStatement","src":"17656:57:36"},{"expression":{"id":6463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6460,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6447,"src":"17723:8:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_memory_ptr","typeString":"struct Witnet.Request memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":6461,"name":"__query","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6453,"src":"17734:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage_ptr","typeString":"struct Witnet.Query storage pointer"}},"id":6462,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"request","nodeType":"MemberAccess","referencedDeclaration":7985,"src":"17734:15:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage","typeString":"struct Witnet.Request storage ref"}},"src":"17723:26:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_memory_ptr","typeString":"struct Witnet.Request memory"}},"id":6464,"nodeType":"ExpressionStatement","src":"17723:26:36"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":6471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":6465,"name":"__query","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6453,"src":"17763:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage_ptr","typeString":"struct Witnet.Query storage pointer"}},"id":6466,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":7990,"src":"17763:12:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":6469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17787:1:36","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":6468,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17779:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6467,"name":"address","nodeType":"ElementaryTypeName","src":"17779:7:36","typeDescriptions":{}}},"id":6470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17779:10:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17763:26:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6480,"nodeType":"IfStatement","src":"17759:90:36","trueBody":{"id":6479,"nodeType":"Block","src":"17791:58:36","statements":[{"expression":{"id":6477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":6472,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6447,"src":"17805:8:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_memory_ptr","typeString":"struct Witnet.Request memory"}},"id":6474,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"requester","nodeType":"MemberAccess","referencedDeclaration":8001,"src":"17805:18:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":6475,"name":"__query","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6453,"src":"17826:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage_ptr","typeString":"struct Witnet.Query storage pointer"}},"id":6476,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":7990,"src":"17826:12:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17805:33:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6478,"nodeType":"ExpressionStatement","src":"17805:33:36"}]}}]},"documentation":{"id":6434,"nodeType":"StructuredDocumentation","src":"17195:261:36","text":"Retrieves the whole Request record posted to the Witnet Request Board.\n @dev Fails if the `_queryId` is not valid or, if it has already been reported\n @dev or deleted.\n @param _queryId The unique identifier of a previously posted query."},"functionSelector":"99f65804","id":6482,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":6440,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6436,"src":"17556:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":6441,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"17566:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":6442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"QueryStatus","nodeType":"MemberAccess","referencedDeclaration":7996,"src":"17566:18:36","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_QueryStatus_$7996_$","typeString":"type(enum Witnet.QueryStatus)"}},"id":6443,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Posted","nodeType":"MemberAccess","referencedDeclaration":7993,"src":"17566:25:36","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}}],"id":6444,"kind":"modifierInvocation","modifierName":{"id":6439,"name":"inStatus","nodeType":"IdentifierPath","referencedDeclaration":5003,"src":"17547:8:36"},"nodeType":"ModifierInvocation","src":"17547:45:36"}],"name":"readRequest","nameLocation":"17470:11:36","nodeType":"FunctionDefinition","overrides":{"id":6438,"nodeType":"OverrideSpecifier","overrides":[],"src":"17530:8:36"},"parameters":{"id":6437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6436,"mutability":"mutable","name":"_queryId","nameLocation":"17490:8:36","nodeType":"VariableDeclaration","scope":6482,"src":"17482:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6435,"name":"uint256","nodeType":"ElementaryTypeName","src":"17482:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17481:18:36"},"returnParameters":{"id":6448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6447,"mutability":"mutable","name":"_request","nameLocation":"17632:8:36","nodeType":"VariableDeclaration","scope":6482,"src":"17610:30:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_memory_ptr","typeString":"struct Witnet.Request"},"typeName":{"id":6446,"nodeType":"UserDefinedTypeName","pathNode":{"id":6445,"name":"Witnet.Request","nodeType":"IdentifierPath","referencedDeclaration":8008,"src":"17610:14:36"},"referencedDeclaration":8008,"src":"17610:14:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request"}},"visibility":"internal"}],"src":"17609:32:36"},"scope":7097,"src":"17461:394:36","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[7728],"body":{"id":6540,"nodeType":"Block","src":"18335:686:36","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"},"id":6498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":6493,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6485,"src":"18382:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6492,"name":"_getQueryStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5136,"src":"18366:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_QueryStatus_$7996_$","typeString":"function (uint256) view returns (enum Witnet.QueryStatus)"}},"id":6494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18366:25:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":6495,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"18395:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":6496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"QueryStatus","nodeType":"MemberAccess","referencedDeclaration":7996,"src":"18395:18:36","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_QueryStatus_$7996_$","typeString":"type(enum Witnet.QueryStatus)"}},"id":6497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Unknown","nodeType":"MemberAccess","referencedDeclaration":7992,"src":"18395:26:36","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"src":"18366:55:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a206e6f742079657420706f73746564","id":6499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18435:49:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_ea4580d893291eb488d1f84e08baa4c835b386770db72420b713c9cfcfc0dfb6","typeString":"literal_string \"WitnetRequestBoardTrustableBase: not yet posted\""},"value":"WitnetRequestBoardTrustableBase: not yet posted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ea4580d893291eb488d1f84e08baa4c835b386770db72420b713c9cfcfc0dfb6","typeString":"literal_string \"WitnetRequestBoardTrustableBase: not yet posted\""}],"id":6491,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18345:7:36","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18345:149:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6501,"nodeType":"ExpressionStatement","src":"18345:149:36"},{"assignments":[6506],"declarations":[{"constant":false,"id":6506,"mutability":"mutable","name":"_request","nameLocation":"18527:8:36","nodeType":"VariableDeclaration","scope":6540,"src":"18504:31:36","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request"},"typeName":{"id":6505,"nodeType":"UserDefinedTypeName","pathNode":{"id":6504,"name":"Witnet.Request","nodeType":"IdentifierPath","referencedDeclaration":8008,"src":"18504:14:36"},"referencedDeclaration":8008,"src":"18504:14:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request"}},"visibility":"internal"}],"id":6510,"initialValue":{"arguments":[{"id":6508,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6485,"src":"18554:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6507,"name":"_getRequestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5208,"src":"18538:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_struct$_Request_$8008_storage_ptr_$","typeString":"function (uint256) view returns (struct Witnet.Request storage pointer)"}},"id":6509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18538:25:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"18504:59:36"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":6520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":6513,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6506,"src":"18585:8:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request storage pointer"}},"id":6514,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":7999,"src":"18585:13:36","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRequest_$7510","typeString":"contract IWitnetRequest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IWitnetRequest_$7510","typeString":"contract IWitnetRequest"}],"id":6512,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18577:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6511,"name":"address","nodeType":"ElementaryTypeName","src":"18577:7:36","typeDescriptions":{}}},"id":6515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18577:22:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":6518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18611:1:36","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":6517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18603:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6516,"name":"address","nodeType":"ElementaryTypeName","src":"18603:7:36","typeDescriptions":{}}},"id":6519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18603:10:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18577:36:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6539,"nodeType":"IfStatement","src":"18573:441:36","trueBody":{"id":6538,"nodeType":"Block","src":"18615:399:36","statements":[{"expression":{"id":6526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6521,"name":"_bytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6489,"src":"18798:9:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":6522,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6506,"src":"18810:8:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request storage pointer"}},"id":6523,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":7999,"src":"18810:13:36","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRequest_$7510","typeString":"contract IWitnetRequest"}},"id":6524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"bytecode","nodeType":"MemberAccess","referencedDeclaration":7503,"src":"18810:22:36","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes_memory_ptr_$","typeString":"function () view external returns (bytes memory)"}},"id":6525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18810:24:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"18798:36:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":6527,"nodeType":"ExpressionStatement","src":"18798:36:36"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":6534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6529,"name":"_bytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6489,"src":"18873:9:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":6530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"hash","nodeType":"MemberAccess","referencedDeclaration":7982,"src":"18873:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$bound_to$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":6531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18873:16:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":6532,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6506,"src":"18893:8:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request storage pointer"}},"id":6533,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"hash","nodeType":"MemberAccess","referencedDeclaration":8003,"src":"18893:13:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"18873:33:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a2062797465636f6465206368616e67656420616674657220706f7374696e67","id":6535,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18924:65:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_58fe038ba911826a5f966fdd037e315cc531824afa5103a4407b08d95d19ddce","typeString":"literal_string \"WitnetRequestBoardTrustableBase: bytecode changed after posting\""},"value":"WitnetRequestBoardTrustableBase: bytecode changed after posting"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_58fe038ba911826a5f966fdd037e315cc531824afa5103a4407b08d95d19ddce","typeString":"literal_string \"WitnetRequestBoardTrustableBase: bytecode changed after posting\""}],"id":6528,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18848:7:36","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18848:155:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6537,"nodeType":"ExpressionStatement","src":"18848:155:36"}]}}]},"documentation":{"id":6483,"nodeType":"StructuredDocumentation","src":"17865:334:36","text":"Retrieves the serialized bytecode of a previously posted Witnet Data Request.\n @dev Fails if the `_queryId` is not valid, or if the related script bytecode \n @dev got changed after being posted. Returns empty array once it gets reported, \n @dev or deleted.\n @param _queryId The unique query identifier."},"functionSelector":"3b885f2a","id":6541,"implemented":true,"kind":"function","modifiers":[],"name":"readRequestBytecode","nameLocation":"18213:19:36","nodeType":"FunctionDefinition","overrides":{"id":6487,"nodeType":"OverrideSpecifier","overrides":[],"src":"18281:8:36"},"parameters":{"id":6486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6485,"mutability":"mutable","name":"_queryId","nameLocation":"18241:8:36","nodeType":"VariableDeclaration","scope":6541,"src":"18233:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6484,"name":"uint256","nodeType":"ElementaryTypeName","src":"18233:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18232:18:36"},"returnParameters":{"id":6490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6489,"mutability":"mutable","name":"_bytecode","nameLocation":"18320:9:36","nodeType":"VariableDeclaration","scope":6541,"src":"18307:22:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6488,"name":"bytes","nodeType":"ElementaryTypeName","src":"18307:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"18306:24:36"},"scope":7097,"src":"18204:817:36","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[7736],"body":{"id":6564,"nodeType":"Block","src":"19514:67:36","statements":[{"expression":{"expression":{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":6556,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"19531:6:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":6557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19531:8:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":6558,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"queries","nodeType":"MemberAccess","referencedDeclaration":4970,"src":"19531:16:36","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Query_$7991_storage_$","typeString":"mapping(uint256 => struct Witnet.Query storage ref)"}},"id":6560,"indexExpression":{"id":6559,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6544,"src":"19548:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19531:26:36","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage","typeString":"struct Witnet.Query storage ref"}},"id":6561,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"request","nodeType":"MemberAccess","referencedDeclaration":7985,"src":"19531:34:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage","typeString":"struct Witnet.Request storage ref"}},"id":6562,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"gasprice","nodeType":"MemberAccess","referencedDeclaration":8005,"src":"19531:43:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6555,"id":6563,"nodeType":"Return","src":"19524:50:36"}]},"documentation":{"id":6542,"nodeType":"StructuredDocumentation","src":"19027:312:36","text":"Retrieves the gas price that any assigned reporter will have to pay when reporting \n result to a previously posted Witnet data request.\n @dev Fails if the `_queryId` is not valid or, if it has already been \n @dev reported, or deleted. \n @param _queryId The unique query identifier"},"functionSelector":"3ae97295","id":6565,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":6548,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6544,"src":"19447:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":6549,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"19457:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":6550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"QueryStatus","nodeType":"MemberAccess","referencedDeclaration":7996,"src":"19457:18:36","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_QueryStatus_$7996_$","typeString":"type(enum Witnet.QueryStatus)"}},"id":6551,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Posted","nodeType":"MemberAccess","referencedDeclaration":7993,"src":"19457:25:36","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}}],"id":6552,"kind":"modifierInvocation","modifierName":{"id":6547,"name":"inStatus","nodeType":"IdentifierPath","referencedDeclaration":5003,"src":"19438:8:36"},"nodeType":"ModifierInvocation","src":"19438:45:36"}],"name":"readRequestGasPrice","nameLocation":"19353:19:36","nodeType":"FunctionDefinition","overrides":{"id":6546,"nodeType":"OverrideSpecifier","overrides":[],"src":"19421:8:36"},"parameters":{"id":6545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6544,"mutability":"mutable","name":"_queryId","nameLocation":"19381:8:36","nodeType":"VariableDeclaration","scope":6565,"src":"19373:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6543,"name":"uint256","nodeType":"ElementaryTypeName","src":"19373:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19372:18:36"},"returnParameters":{"id":6555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6554,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6565,"src":"19501:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6553,"name":"uint256","nodeType":"ElementaryTypeName","src":"19501:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19500:9:36"},"scope":7097,"src":"19344:237:36","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[7744],"body":{"id":6588,"nodeType":"Block","src":"19997:65:36","statements":[{"expression":{"expression":{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":6580,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"20014:6:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":6581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20014:8:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":6582,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"queries","nodeType":"MemberAccess","referencedDeclaration":4970,"src":"20014:16:36","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Query_$7991_storage_$","typeString":"mapping(uint256 => struct Witnet.Query storage ref)"}},"id":6584,"indexExpression":{"id":6583,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6568,"src":"20031:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20014:26:36","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage","typeString":"struct Witnet.Query storage ref"}},"id":6585,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"request","nodeType":"MemberAccess","referencedDeclaration":7985,"src":"20014:34:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage","typeString":"struct Witnet.Request storage ref"}},"id":6586,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"reward","nodeType":"MemberAccess","referencedDeclaration":8007,"src":"20014:41:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6579,"id":6587,"nodeType":"Return","src":"20007:48:36"}]},"documentation":{"id":6566,"nodeType":"StructuredDocumentation","src":"19587:237:36","text":"Retrieves the reward currently set for a previously posted request.\n @dev Fails if the `_queryId` is not valid or, if it has already been \n @dev reported, or deleted. \n @param _queryId The unique query identifier"},"functionSelector":"1dd27daf","id":6589,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":6572,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6568,"src":"19930:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":6573,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"19940:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":6574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"QueryStatus","nodeType":"MemberAccess","referencedDeclaration":7996,"src":"19940:18:36","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_QueryStatus_$7996_$","typeString":"type(enum Witnet.QueryStatus)"}},"id":6575,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Posted","nodeType":"MemberAccess","referencedDeclaration":7993,"src":"19940:25:36","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}}],"id":6576,"kind":"modifierInvocation","modifierName":{"id":6571,"name":"inStatus","nodeType":"IdentifierPath","referencedDeclaration":5003,"src":"19921:8:36"},"nodeType":"ModifierInvocation","src":"19921:45:36"}],"name":"readRequestReward","nameLocation":"19838:17:36","nodeType":"FunctionDefinition","overrides":{"id":6570,"nodeType":"OverrideSpecifier","overrides":[],"src":"19904:8:36"},"parameters":{"id":6569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6568,"mutability":"mutable","name":"_queryId","nameLocation":"19864:8:36","nodeType":"VariableDeclaration","scope":6589,"src":"19856:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6567,"name":"uint256","nodeType":"ElementaryTypeName","src":"19856:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19855:18:36"},"returnParameters":{"id":6579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6578,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6589,"src":"19984:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6577,"name":"uint256","nodeType":"ElementaryTypeName","src":"19984:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19983:9:36"},"scope":7097,"src":"19829:233:36","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[7753],"body":{"id":6609,"nodeType":"Block","src":"20472:50:36","statements":[{"expression":{"arguments":[{"id":6606,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6592,"src":"20506:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6605,"name":"_getResponseData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5225,"src":"20489:16:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_struct$_Response_$8017_storage_ptr_$","typeString":"function (uint256) view returns (struct Witnet.Response storage pointer)"}},"id":6607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20489:26:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage_ptr","typeString":"struct Witnet.Response storage pointer"}},"functionReturnParameters":6604,"id":6608,"nodeType":"Return","src":"20482:33:36"}]},"documentation":{"id":6590,"nodeType":"StructuredDocumentation","src":"20068:209:36","text":"Retrieves the Witnet-provided result, and metadata, to a previously posted request.    \n @dev Fails if the `_queryId` is not in 'Reported' status.\n @param _queryId The unique query identifier"},"functionSelector":"754e5bea","id":6610,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":6596,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6592,"src":"20378:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":6597,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"20388:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":6598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"QueryStatus","nodeType":"MemberAccess","referencedDeclaration":7996,"src":"20388:18:36","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_QueryStatus_$7996_$","typeString":"type(enum Witnet.QueryStatus)"}},"id":6599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Reported","nodeType":"MemberAccess","referencedDeclaration":7994,"src":"20388:27:36","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}}],"id":6600,"kind":"modifierInvocation","modifierName":{"id":6595,"name":"inStatus","nodeType":"IdentifierPath","referencedDeclaration":5003,"src":"20369:8:36"},"nodeType":"ModifierInvocation","src":"20369:47:36"}],"name":"readResponse","nameLocation":"20291:12:36","nodeType":"FunctionDefinition","overrides":{"id":6594,"nodeType":"OverrideSpecifier","overrides":[],"src":"20352:8:36"},"parameters":{"id":6593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6592,"mutability":"mutable","name":"_queryId","nameLocation":"20312:8:36","nodeType":"VariableDeclaration","scope":6610,"src":"20304:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6591,"name":"uint256","nodeType":"ElementaryTypeName","src":"20304:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20303:18:36"},"returnParameters":{"id":6604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6603,"mutability":"mutable","name":"_response","nameLocation":"20457:9:36","nodeType":"VariableDeclaration","scope":6610,"src":"20434:32:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_memory_ptr","typeString":"struct Witnet.Response"},"typeName":{"id":6602,"nodeType":"UserDefinedTypeName","pathNode":{"id":6601,"name":"Witnet.Response","nodeType":"IdentifierPath","referencedDeclaration":8017,"src":"20434:15:36"},"referencedDeclaration":8017,"src":"20434:15:36","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage_ptr","typeString":"struct Witnet.Response"}},"visibility":"internal"}],"src":"20433:34:36"},"scope":7097,"src":"20282:240:36","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[7761],"body":{"id":6630,"nodeType":"Block","src":"20922:59:36","statements":[{"expression":{"expression":{"arguments":[{"id":6626,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6613,"src":"20956:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6625,"name":"_getResponseData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5225,"src":"20939:16:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_struct$_Response_$8017_storage_ptr_$","typeString":"function (uint256) view returns (struct Witnet.Response storage pointer)"}},"id":6627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20939:26:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage_ptr","typeString":"struct Witnet.Response storage pointer"}},"id":6628,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"drTxHash","nodeType":"MemberAccess","referencedDeclaration":8014,"src":"20939:35:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":6624,"id":6629,"nodeType":"Return","src":"20932:42:36"}]},"documentation":{"id":6611,"nodeType":"StructuredDocumentation","src":"20528:208:36","text":"Retrieves the hash of the Witnet transaction that actually solved the referred query.\n @dev Fails if the `_queryId` is not in 'Reported' status.\n @param _queryId The unique query identifier."},"functionSelector":"dc3c71cd","id":6631,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":6617,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6613,"src":"20853:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":6618,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"20863:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":6619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"QueryStatus","nodeType":"MemberAccess","referencedDeclaration":7996,"src":"20863:18:36","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_QueryStatus_$7996_$","typeString":"type(enum Witnet.QueryStatus)"}},"id":6620,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Reported","nodeType":"MemberAccess","referencedDeclaration":7994,"src":"20863:27:36","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}}],"id":6621,"kind":"modifierInvocation","modifierName":{"id":6616,"name":"inStatus","nodeType":"IdentifierPath","referencedDeclaration":5003,"src":"20844:8:36"},"nodeType":"ModifierInvocation","src":"20844:47:36"}],"name":"readResponseDrTxHash","nameLocation":"20750:20:36","nodeType":"FunctionDefinition","overrides":{"id":6615,"nodeType":"OverrideSpecifier","overrides":[],"src":"20827:8:36"},"parameters":{"id":6614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6613,"mutability":"mutable","name":"_queryId","nameLocation":"20779:8:36","nodeType":"VariableDeclaration","scope":6631,"src":"20771:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6612,"name":"uint256","nodeType":"ElementaryTypeName","src":"20771:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20770:18:36"},"returnParameters":{"id":6624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6623,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6631,"src":"20909:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6622,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20909:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"20908:9:36"},"scope":7097,"src":"20741:240:36","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[7769],"body":{"id":6651,"nodeType":"Block","src":"21365:59:36","statements":[{"expression":{"expression":{"arguments":[{"id":6647,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6634,"src":"21399:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6646,"name":"_getResponseData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5225,"src":"21382:16:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_struct$_Response_$8017_storage_ptr_$","typeString":"function (uint256) view returns (struct Witnet.Response storage pointer)"}},"id":6648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21382:26:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage_ptr","typeString":"struct Witnet.Response storage pointer"}},"id":6649,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"reporter","nodeType":"MemberAccess","referencedDeclaration":8010,"src":"21382:35:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":6645,"id":6650,"nodeType":"Return","src":"21375:42:36"}]},"documentation":{"id":6632,"nodeType":"StructuredDocumentation","src":"20987:200:36","text":"Retrieves the address that reported the result to a previously-posted request.\n @dev Fails if the `_queryId` is not in 'Reported' status.\n @param _queryId The unique query identifier"},"functionSelector":"9d96fced","id":6652,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":6638,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6634,"src":"21296:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":6639,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"21306:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":6640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"QueryStatus","nodeType":"MemberAccess","referencedDeclaration":7996,"src":"21306:18:36","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_QueryStatus_$7996_$","typeString":"type(enum Witnet.QueryStatus)"}},"id":6641,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Reported","nodeType":"MemberAccess","referencedDeclaration":7994,"src":"21306:27:36","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}}],"id":6642,"kind":"modifierInvocation","modifierName":{"id":6637,"name":"inStatus","nodeType":"IdentifierPath","referencedDeclaration":5003,"src":"21287:8:36"},"nodeType":"ModifierInvocation","src":"21287:47:36"}],"name":"readResponseReporter","nameLocation":"21201:20:36","nodeType":"FunctionDefinition","overrides":{"id":6636,"nodeType":"OverrideSpecifier","overrides":[],"src":"21270:8:36"},"parameters":{"id":6635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6634,"mutability":"mutable","name":"_queryId","nameLocation":"21230:8:36","nodeType":"VariableDeclaration","scope":6652,"src":"21222:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6633,"name":"uint256","nodeType":"ElementaryTypeName","src":"21222:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21221:18:36"},"returnParameters":{"id":6645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6644,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6652,"src":"21352:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6643,"name":"address","nodeType":"ElementaryTypeName","src":"21352:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21351:9:36"},"scope":7097,"src":"21192:232:36","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[7778],"body":{"id":6683,"nodeType":"Block","src":"21820:152:36","statements":[{"assignments":[6672],"declarations":[{"constant":false,"id":6672,"mutability":"mutable","name":"_response","nameLocation":"21854:9:36","nodeType":"VariableDeclaration","scope":6683,"src":"21830:33:36","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage_ptr","typeString":"struct Witnet.Response"},"typeName":{"id":6671,"nodeType":"UserDefinedTypeName","pathNode":{"id":6670,"name":"Witnet.Response","nodeType":"IdentifierPath","referencedDeclaration":8017,"src":"21830:15:36"},"referencedDeclaration":8017,"src":"21830:15:36","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage_ptr","typeString":"struct Witnet.Response"}},"visibility":"internal"}],"id":6676,"initialValue":{"arguments":[{"id":6674,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6655,"src":"21883:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6673,"name":"_getResponseData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5225,"src":"21866:16:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_struct$_Response_$8017_storage_ptr_$","typeString":"function (uint256) view returns (struct Witnet.Response storage pointer)"}},"id":6675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21866:26:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage_ptr","typeString":"struct Witnet.Response storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"21830:62:36"},{"expression":{"arguments":[{"expression":{"id":6679,"name":"_response","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6672,"src":"21945:9:36","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage_ptr","typeString":"struct Witnet.Response storage pointer"}},"id":6680,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"cborBytes","nodeType":"MemberAccess","referencedDeclaration":8016,"src":"21945:19:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}],"expression":{"id":6677,"name":"WitnetParserLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11209,"src":"21909:15:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WitnetParserLib_$11209_$","typeString":"type(library WitnetParserLib)"}},"id":6678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"resultFromCborBytes","nodeType":"MemberAccess","referencedDeclaration":10102,"src":"21909:35:36","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_bytes_memory_ptr_$returns$_t_struct$_Result_$8023_memory_ptr_$","typeString":"function (bytes memory) pure returns (struct Witnet.Result memory)"}},"id":6681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21909:56:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"functionReturnParameters":6667,"id":6682,"nodeType":"Return","src":"21902:63:36"}]},"documentation":{"id":6653,"nodeType":"StructuredDocumentation","src":"21430:201:36","text":"Retrieves the Witnet-provided CBOR-bytes result of a previously posted request.\n @dev Fails if the `_queryId` is not in 'Reported' status.\n @param _queryId The unique query identifier"},"functionSelector":"d4da69ac","id":6684,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":6659,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6655,"src":"21738:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":6660,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"21748:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":6661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"QueryStatus","nodeType":"MemberAccess","referencedDeclaration":7996,"src":"21748:18:36","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_QueryStatus_$7996_$","typeString":"type(enum Witnet.QueryStatus)"}},"id":6662,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Reported","nodeType":"MemberAccess","referencedDeclaration":7994,"src":"21748:27:36","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}}],"id":6663,"kind":"modifierInvocation","modifierName":{"id":6658,"name":"inStatus","nodeType":"IdentifierPath","referencedDeclaration":5003,"src":"21729:8:36"},"nodeType":"ModifierInvocation","src":"21729:47:36"}],"name":"readResponseResult","nameLocation":"21645:18:36","nodeType":"FunctionDefinition","overrides":{"id":6657,"nodeType":"OverrideSpecifier","overrides":[],"src":"21712:8:36"},"parameters":{"id":6656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6655,"mutability":"mutable","name":"_queryId","nameLocation":"21672:8:36","nodeType":"VariableDeclaration","scope":6684,"src":"21664:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6654,"name":"uint256","nodeType":"ElementaryTypeName","src":"21664:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21663:18:36"},"returnParameters":{"id":6667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6666,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6684,"src":"21794:20:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":6665,"nodeType":"UserDefinedTypeName","pathNode":{"id":6664,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"21794:13:36"},"referencedDeclaration":8023,"src":"21794:13:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"21793:22:36"},"scope":7097,"src":"21636:336:36","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[7786],"body":{"id":6704,"nodeType":"Block","src":"22375:60:36","statements":[{"expression":{"expression":{"arguments":[{"id":6700,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6687,"src":"22409:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6699,"name":"_getResponseData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5225,"src":"22392:16:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_struct$_Response_$8017_storage_ptr_$","typeString":"function (uint256) view returns (struct Witnet.Response storage pointer)"}},"id":6701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22392:26:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage_ptr","typeString":"struct Witnet.Response storage pointer"}},"id":6702,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":8012,"src":"22392:36:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6698,"id":6703,"nodeType":"Return","src":"22385:43:36"}]},"documentation":{"id":6685,"nodeType":"StructuredDocumentation","src":"21978:218:36","text":"Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON.\n @dev Fails if the `_queryId` is not in 'Reported' status.\n @param _queryId The unique query identifier."},"functionSelector":"20f9241e","id":6705,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":6691,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6687,"src":"22306:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":6692,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"22316:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":6693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"QueryStatus","nodeType":"MemberAccess","referencedDeclaration":7996,"src":"22316:18:36","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_QueryStatus_$7996_$","typeString":"type(enum Witnet.QueryStatus)"}},"id":6694,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Reported","nodeType":"MemberAccess","referencedDeclaration":7994,"src":"22316:27:36","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}}],"id":6695,"kind":"modifierInvocation","modifierName":{"id":6690,"name":"inStatus","nodeType":"IdentifierPath","referencedDeclaration":5003,"src":"22297:8:36"},"nodeType":"ModifierInvocation","src":"22297:47:36"}],"name":"readResponseTimestamp","nameLocation":"22210:21:36","nodeType":"FunctionDefinition","overrides":{"id":6689,"nodeType":"OverrideSpecifier","overrides":[],"src":"22280:8:36"},"parameters":{"id":6688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6687,"mutability":"mutable","name":"_queryId","nameLocation":"22240:8:36","nodeType":"VariableDeclaration","scope":6705,"src":"22232:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6686,"name":"uint256","nodeType":"ElementaryTypeName","src":"22232:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22231:18:36"},"returnParameters":{"id":6698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6697,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6705,"src":"22362:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6696,"name":"uint256","nodeType":"ElementaryTypeName","src":"22362:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22361:9:36"},"scope":7097,"src":"22201:234:36","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[7801],"body":{"id":6720,"nodeType":"Block","src":"22995:71:36","statements":[{"expression":{"arguments":[{"id":6717,"name":"_cborBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6708,"src":"23048:10:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6715,"name":"WitnetParserLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11209,"src":"23012:15:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WitnetParserLib_$11209_$","typeString":"type(library WitnetParserLib)"}},"id":6716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"resultFromCborBytes","nodeType":"MemberAccess","referencedDeclaration":10102,"src":"23012:35:36","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_bytes_memory_ptr_$returns$_t_struct$_Result_$8023_memory_ptr_$","typeString":"function (bytes memory) pure returns (struct Witnet.Result memory)"}},"id":6718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23012:47:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"functionReturnParameters":6714,"id":6719,"nodeType":"Return","src":"23005:54:36"}]},"documentation":{"id":6706,"nodeType":"StructuredDocumentation","src":"22683:171:36","text":"Decode raw CBOR bytes into a Witnet.Result instance.\n @param _cborBytes Raw bytes representing a CBOR-encoded value.\n @return A `Witnet.Result` instance."},"functionSelector":"e99e47f3","id":6721,"implemented":true,"kind":"function","modifiers":[],"name":"resultFromCborBytes","nameLocation":"22868:19:36","nodeType":"FunctionDefinition","overrides":{"id":6710,"nodeType":"OverrideSpecifier","overrides":[],"src":"22943:8:36"},"parameters":{"id":6709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6708,"mutability":"mutable","name":"_cborBytes","nameLocation":"22901:10:36","nodeType":"VariableDeclaration","scope":6721,"src":"22888:23:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6707,"name":"bytes","nodeType":"ElementaryTypeName","src":"22888:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22887:25:36"},"returnParameters":{"id":6714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6713,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6721,"src":"22969:20:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":6712,"nodeType":"UserDefinedTypeName","pathNode":{"id":6711,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"22969:13:36"},"referencedDeclaration":8023,"src":"22969:13:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"22968:22:36"},"scope":7097,"src":"22859:207:36","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[7811],"body":{"id":6737,"nodeType":"Block","src":"23373:71:36","statements":[{"expression":{"arguments":[{"id":6734,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6725,"src":"23426:10:36","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}],"expression":{"id":6732,"name":"WitnetParserLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11209,"src":"23390:15:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WitnetParserLib_$11209_$","typeString":"type(library WitnetParserLib)"}},"id":6733,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"resultFromCborValue","nodeType":"MemberAccess","referencedDeclaration":10126,"src":"23390:35:36","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_CBOR_$8037_memory_ptr_$returns$_t_struct$_Result_$8023_memory_ptr_$","typeString":"function (struct Witnet.CBOR memory) pure returns (struct Witnet.Result memory)"}},"id":6735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23390:47:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"functionReturnParameters":6731,"id":6736,"nodeType":"Return","src":"23383:54:36"}]},"documentation":{"id":6722,"nodeType":"StructuredDocumentation","src":"23072:154:36","text":"Decode a CBOR value into a Witnet.Result instance.\n @param _cborValue An instance of `Witnet.CBOR`.\n @return A `Witnet.Result` instance."},"functionSelector":"2565082b","id":6738,"implemented":true,"kind":"function","modifiers":[],"name":"resultFromCborValue","nameLocation":"23240:19:36","nodeType":"FunctionDefinition","overrides":{"id":6727,"nodeType":"OverrideSpecifier","overrides":[],"src":"23321:8:36"},"parameters":{"id":6726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6725,"mutability":"mutable","name":"_cborValue","nameLocation":"23279:10:36","nodeType":"VariableDeclaration","scope":6738,"src":"23260:29:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR"},"typeName":{"id":6724,"nodeType":"UserDefinedTypeName","pathNode":{"id":6723,"name":"Witnet.CBOR","nodeType":"IdentifierPath","referencedDeclaration":8037,"src":"23260:11:36"},"referencedDeclaration":8037,"src":"23260:11:36","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"}},"visibility":"internal"}],"src":"23259:31:36"},"returnParameters":{"id":6731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6730,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6738,"src":"23347:20:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":6729,"nodeType":"UserDefinedTypeName","pathNode":{"id":6728,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"23347:13:36"},"referencedDeclaration":8023,"src":"23347:13:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"23346:22:36"},"scope":7097,"src":"23231:213:36","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[7820],"body":{"id":6752,"nodeType":"Block","src":"23718:38:36","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6748,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6742,"src":"23735:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":6749,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"isOk","nodeType":"MemberAccess","referencedDeclaration":10139,"src":"23735:12:36","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_Result_$8023_memory_ptr_$returns$_t_bool_$bound_to$_t_struct$_Result_$8023_memory_ptr_$","typeString":"function (struct Witnet.Result memory) pure returns (bool)"}},"id":6750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23735:14:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":6747,"id":6751,"nodeType":"Return","src":"23728:21:36"}]},"documentation":{"id":6739,"nodeType":"StructuredDocumentation","src":"23450:153:36","text":"Tell if a Witnet.Result is successful.\n @param _result An instance of Witnet.Result.\n @return `true` if successful, `false` if errored."},"functionSelector":"a8604c1a","id":6753,"implemented":true,"kind":"function","modifiers":[],"name":"isOk","nameLocation":"23617:4:36","nodeType":"FunctionDefinition","overrides":{"id":6744,"nodeType":"OverrideSpecifier","overrides":[],"src":"23682:8:36"},"parameters":{"id":6743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6742,"mutability":"mutable","name":"_result","nameLocation":"23643:7:36","nodeType":"VariableDeclaration","scope":6753,"src":"23622:28:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":6741,"nodeType":"UserDefinedTypeName","pathNode":{"id":6740,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"23622:13:36"},"referencedDeclaration":8023,"src":"23622:13:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"23621:30:36"},"returnParameters":{"id":6747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6746,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6753,"src":"23708:4:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6745,"name":"bool","nodeType":"ElementaryTypeName","src":"23708:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23707:6:36"},"scope":7097,"src":"23608:148:36","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[7829],"body":{"id":6767,"nodeType":"Block","src":"24030:41:36","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6763,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6757,"src":"24047:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":6764,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"isError","nodeType":"MemberAccess","referencedDeclaration":10153,"src":"24047:15:36","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_Result_$8023_memory_ptr_$returns$_t_bool_$bound_to$_t_struct$_Result_$8023_memory_ptr_$","typeString":"function (struct Witnet.Result memory) pure returns (bool)"}},"id":6765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24047:17:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":6762,"id":6766,"nodeType":"Return","src":"24040:24:36"}]},"documentation":{"id":6754,"nodeType":"StructuredDocumentation","src":"23762:150:36","text":"Tell if a Witnet.Result is errored.\n @param _result An instance of Witnet.Result.\n @return `true` if errored, `false` if successful."},"functionSelector":"7780cde1","id":6768,"implemented":true,"kind":"function","modifiers":[],"name":"isError","nameLocation":"23926:7:36","nodeType":"FunctionDefinition","overrides":{"id":6759,"nodeType":"OverrideSpecifier","overrides":[],"src":"23994:8:36"},"parameters":{"id":6758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6757,"mutability":"mutable","name":"_result","nameLocation":"23955:7:36","nodeType":"VariableDeclaration","scope":6768,"src":"23934:28:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":6756,"nodeType":"UserDefinedTypeName","pathNode":{"id":6755,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"23934:13:36"},"referencedDeclaration":8023,"src":"23934:13:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"23933:30:36"},"returnParameters":{"id":6762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6761,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6768,"src":"24020:4:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6760,"name":"bool","nodeType":"ElementaryTypeName","src":"24020:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24019:6:36"},"scope":7097,"src":"23917:154:36","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[7838],"body":{"id":6782,"nodeType":"Block","src":"24381:41:36","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6778,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6772,"src":"24398:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":6779,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"asBytes","nodeType":"MemberAccess","referencedDeclaration":10174,"src":"24398:15:36","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_Result_$8023_memory_ptr_$returns$_t_bytes_memory_ptr_$bound_to$_t_struct$_Result_$8023_memory_ptr_$","typeString":"function (struct Witnet.Result memory) pure returns (bytes memory)"}},"id":6780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24398:17:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":6777,"id":6781,"nodeType":"Return","src":"24391:24:36"}]},"documentation":{"id":6769,"nodeType":"StructuredDocumentation","src":"24077:178:36","text":"Decode a bytes value from a Witnet.Result as a `bytes` value.\n @param _result An instance of Witnet.Result.\n @return The `bytes` decoded from the Witnet.Result."},"functionSelector":"c683b465","id":6783,"implemented":true,"kind":"function","modifiers":[],"name":"asBytes","nameLocation":"24269:7:36","nodeType":"FunctionDefinition","overrides":{"id":6774,"nodeType":"OverrideSpecifier","overrides":[],"src":"24337:8:36"},"parameters":{"id":6773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6772,"mutability":"mutable","name":"_result","nameLocation":"24298:7:36","nodeType":"VariableDeclaration","scope":6783,"src":"24277:28:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":6771,"nodeType":"UserDefinedTypeName","pathNode":{"id":6770,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"24277:13:36"},"referencedDeclaration":8023,"src":"24277:13:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"24276:30:36"},"returnParameters":{"id":6777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6776,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6783,"src":"24363:12:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6775,"name":"bytes","nodeType":"ElementaryTypeName","src":"24363:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"24362:14:36"},"scope":7097,"src":"24260:162:36","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[7847],"body":{"id":6797,"nodeType":"Block","src":"24733:43:36","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6793,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6787,"src":"24750:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":6794,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"asBytes32","nodeType":"MemberAccess","referencedDeclaration":10195,"src":"24750:17:36","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_Result_$8023_memory_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_Result_$8023_memory_ptr_$","typeString":"function (struct Witnet.Result memory) pure returns (bytes32)"}},"id":6795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24750:19:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":6792,"id":6796,"nodeType":"Return","src":"24743:26:36"}]},"documentation":{"id":6784,"nodeType":"StructuredDocumentation","src":"24428:182:36","text":"Decode a bytes value from a Witnet.Result as a `bytes32` value.\n @param _result An instance of Witnet.Result.\n @return The `bytes32` decoded from the Witnet.Result."},"functionSelector":"cf62d115","id":6798,"implemented":true,"kind":"function","modifiers":[],"name":"asBytes32","nameLocation":"24624:9:36","nodeType":"FunctionDefinition","overrides":{"id":6789,"nodeType":"OverrideSpecifier","overrides":[],"src":"24694:8:36"},"parameters":{"id":6788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6787,"mutability":"mutable","name":"_result","nameLocation":"24655:7:36","nodeType":"VariableDeclaration","scope":6798,"src":"24634:28:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":6786,"nodeType":"UserDefinedTypeName","pathNode":{"id":6785,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"24634:13:36"},"referencedDeclaration":8023,"src":"24634:13:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"24633:30:36"},"returnParameters":{"id":6792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6791,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6798,"src":"24720:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6790,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24720:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"24719:9:36"},"scope":7097,"src":"24615:161:36","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[7857],"body":{"id":6813,"nodeType":"Block","src":"25130:45:36","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6809,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6802,"src":"25147:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":6810,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"asErrorCode","nodeType":"MemberAccess","referencedDeclaration":10231,"src":"25147:19:36","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_Result_$8023_memory_ptr_$returns$_t_enum$_ErrorCodes_$8299_$bound_to$_t_struct$_Result_$8023_memory_ptr_$","typeString":"function (struct Witnet.Result memory) pure returns (enum Witnet.ErrorCodes)"}},"id":6811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25147:21:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"functionReturnParameters":6808,"id":6812,"nodeType":"Return","src":"25140:28:36"}]},"documentation":{"id":6799,"nodeType":"StructuredDocumentation","src":"24782:213:36","text":"Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\n @param _result An instance of `Witnet.Result`.\n @return The `CBORValue.Error memory` decoded from the Witnet.Result."},"functionSelector":"db04f16d","id":6814,"implemented":true,"kind":"function","modifiers":[],"name":"asErrorCode","nameLocation":"25009:11:36","nodeType":"FunctionDefinition","overrides":{"id":6804,"nodeType":"OverrideSpecifier","overrides":[],"src":"25081:8:36"},"parameters":{"id":6803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6802,"mutability":"mutable","name":"_result","nameLocation":"25042:7:36","nodeType":"VariableDeclaration","scope":6814,"src":"25021:28:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":6801,"nodeType":"UserDefinedTypeName","pathNode":{"id":6800,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"25021:13:36"},"referencedDeclaration":8023,"src":"25021:13:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"25020:30:36"},"returnParameters":{"id":6808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6807,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6814,"src":"25107:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"},"typeName":{"id":6806,"nodeType":"UserDefinedTypeName","pathNode":{"id":6805,"name":"Witnet.ErrorCodes","nodeType":"IdentifierPath","referencedDeclaration":8299,"src":"25107:17:36"},"referencedDeclaration":8299,"src":"25107:17:36","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"visibility":"internal"}],"src":"25106:19:36"},"scope":7097,"src":"25000:175:36","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[7869],"body":{"id":6865,"nodeType":"Block","src":"25767:416:36","statements":[{"clauses":[{"block":{"id":6840,"nodeType":"Block","src":"25864:49:36","statements":[{"expression":{"components":[{"id":6836,"name":"_code","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6832,"src":"25886:5:36","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},{"id":6837,"name":"_message","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6834,"src":"25893:8:36","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"id":6838,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25885:17:36","typeDescriptions":{"typeIdentifier":"t_tuple$_t_enum$_ErrorCodes_$8299_$_t_string_memory_ptr_$","typeString":"tuple(enum Witnet.ErrorCodes,string memory)"}},"functionReturnParameters":6826,"id":6839,"nodeType":"Return","src":"25878:24:36"}]},"errorName":"","id":6841,"nodeType":"TryCatchClause","parameters":{"id":6835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6832,"mutability":"mutable","name":"_code","nameLocation":"25833:5:36","nodeType":"VariableDeclaration","scope":6841,"src":"25815:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"},"typeName":{"id":6831,"nodeType":"UserDefinedTypeName","pathNode":{"id":6830,"name":"Witnet.ErrorCodes","nodeType":"IdentifierPath","referencedDeclaration":8299,"src":"25815:17:36"},"referencedDeclaration":8299,"src":"25815:17:36","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"visibility":"internal"},{"constant":false,"id":6834,"mutability":"mutable","name":"_message","nameLocation":"25854:8:36","nodeType":"VariableDeclaration","scope":6841,"src":"25840:22:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6833,"name":"string","nodeType":"ElementaryTypeName","src":"25840:6:36","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25814:49:36"},"src":"25806:107:36"},{"block":{"id":6851,"nodeType":"Block","src":"25958:68:36","statements":[{"expression":{"components":[{"expression":{"expression":{"id":6845,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"25980:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":6846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ErrorCodes","nodeType":"MemberAccess","referencedDeclaration":8299,"src":"25980:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ErrorCodes_$8299_$","typeString":"type(enum Witnet.ErrorCodes)"}},"id":6847,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Unknown","nodeType":"MemberAccess","referencedDeclaration":8043,"src":"25980:25:36","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},{"id":6848,"name":"_reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6843,"src":"26007:7:36","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"id":6849,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25979:36:36","typeDescriptions":{"typeIdentifier":"t_tuple$_t_enum$_ErrorCodes_$8299_$_t_string_memory_ptr_$","typeString":"tuple(enum Witnet.ErrorCodes,string memory)"}},"functionReturnParameters":6826,"id":6850,"nodeType":"Return","src":"25972:43:36"}]},"errorName":"Error","id":6852,"nodeType":"TryCatchClause","parameters":{"id":6844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6843,"mutability":"mutable","name":"_reason","nameLocation":"25949:7:36","nodeType":"VariableDeclaration","scope":6852,"src":"25935:21:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6842,"name":"string","nodeType":"ElementaryTypeName","src":"25935:6:36","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25934:23:36"},"src":"25923:103:36"},{"block":{"id":6862,"nodeType":"Block","src":"26056:121:36","statements":[{"expression":{"components":[{"expression":{"expression":{"id":6856,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"26078:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":6857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ErrorCodes","nodeType":"MemberAccess","referencedDeclaration":8299,"src":"26078:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ErrorCodes_$8299_$","typeString":"type(enum Witnet.ErrorCodes)"}},"id":6858,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"UnhandledIntercept","nodeType":"MemberAccess","referencedDeclaration":8298,"src":"26078:36:36","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a206661696c696e6720617373657274","id":6859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26116:49:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_fbb50222c74bfe8631293cf020cc5738ef183271e64651aa21f72fe1ef0a08b1","typeString":"literal_string \"WitnetRequestBoardTrustableBase: failing assert\""},"value":"WitnetRequestBoardTrustableBase: failing assert"}],"id":6860,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"26077:89:36","typeDescriptions":{"typeIdentifier":"t_tuple$_t_enum$_ErrorCodes_$8299_$_t_stringliteral_fbb50222c74bfe8631293cf020cc5738ef183271e64651aa21f72fe1ef0a08b1_$","typeString":"tuple(enum Witnet.ErrorCodes,literal_string \"WitnetRequestBoardTrustableBase: failing assert\")"}},"functionReturnParameters":6826,"id":6861,"nodeType":"Return","src":"26070:96:36"}]},"errorName":"","id":6863,"nodeType":"TryCatchClause","parameters":{"id":6855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6854,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6863,"src":"26042:12:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6853,"name":"bytes","nodeType":"ElementaryTypeName","src":"26042:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26041:14:36"},"src":"26035:142:36"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6827,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6818,"src":"25781:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":6828,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"asErrorMessage","nodeType":"MemberAccess","referencedDeclaration":10715,"src":"25781:22:36","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_Result_$8023_memory_ptr_$returns$_t_enum$_ErrorCodes_$8299_$_t_string_memory_ptr_$bound_to$_t_struct$_Result_$8023_memory_ptr_$","typeString":"function (struct Witnet.Result memory) pure returns (enum Witnet.ErrorCodes,string memory)"}},"id":6829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25781:24:36","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_enum$_ErrorCodes_$8299_$_t_string_memory_ptr_$","typeString":"tuple(enum Witnet.ErrorCodes,string memory)"}},"id":6864,"nodeType":"TryStatement","src":"25777:400:36"}]},"documentation":{"id":6815,"nodeType":"StructuredDocumentation","src":"25181:433:36","text":"Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\n @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\n @param _result An instance of `Witnet.Result`.\n @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message."},"functionSelector":"d74803be","id":6866,"implemented":true,"kind":"function","modifiers":[],"name":"asErrorMessage","nameLocation":"25628:14:36","nodeType":"FunctionDefinition","overrides":{"id":6820,"nodeType":"OverrideSpecifier","overrides":[],"src":"25703:8:36"},"parameters":{"id":6819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6818,"mutability":"mutable","name":"_result","nameLocation":"25664:7:36","nodeType":"VariableDeclaration","scope":6866,"src":"25643:28:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":6817,"nodeType":"UserDefinedTypeName","pathNode":{"id":6816,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"25643:13:36"},"referencedDeclaration":8023,"src":"25643:13:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"25642:30:36"},"returnParameters":{"id":6826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6823,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6866,"src":"25729:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"},"typeName":{"id":6822,"nodeType":"UserDefinedTypeName","pathNode":{"id":6821,"name":"Witnet.ErrorCodes","nodeType":"IdentifierPath","referencedDeclaration":8299,"src":"25729:17:36"},"referencedDeclaration":8299,"src":"25729:17:36","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"visibility":"internal"},{"constant":false,"id":6825,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6866,"src":"25748:13:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6824,"name":"string","nodeType":"ElementaryTypeName","src":"25748:6:36","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25728:34:36"},"scope":7097,"src":"25619:564:36","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[7879],"body":{"id":6881,"nodeType":"Block","src":"26515:44:36","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6877,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6870,"src":"26532:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":6878,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"asRawError","nodeType":"MemberAccess","referencedDeclaration":10738,"src":"26532:18:36","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_Result_$8023_memory_ptr_$returns$_t_array$_t_uint64_$dyn_memory_ptr_$bound_to$_t_struct$_Result_$8023_memory_ptr_$","typeString":"function (struct Witnet.Result memory) pure returns (uint64[] memory)"}},"id":6879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26532:20:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"functionReturnParameters":6876,"id":6880,"nodeType":"Return","src":"26525:27:36"}]},"documentation":{"id":6867,"nodeType":"StructuredDocumentation","src":"26189:195:36","text":"Decode a raw error from a `Witnet.Result` as a `uint64[]`.\n @param _result An instance of `Witnet.Result`.\n @return The `uint64[]` raw error as decoded from the `Witnet.Result`."},"functionSelector":"b0768328","id":6882,"implemented":true,"kind":"function","modifiers":[],"name":"asRawError","nameLocation":"26398:10:36","nodeType":"FunctionDefinition","overrides":{"id":6872,"nodeType":"OverrideSpecifier","overrides":[],"src":"26469:8:36"},"parameters":{"id":6871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6870,"mutability":"mutable","name":"_result","nameLocation":"26430:7:36","nodeType":"VariableDeclaration","scope":6882,"src":"26409:28:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":6869,"nodeType":"UserDefinedTypeName","pathNode":{"id":6868,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"26409:13:36"},"referencedDeclaration":8023,"src":"26409:13:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"26408:30:36"},"returnParameters":{"id":6876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6875,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6882,"src":"26494:15:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[]"},"typeName":{"baseType":{"id":6873,"name":"uint64","nodeType":"ElementaryTypeName","src":"26494:6:36","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":6874,"nodeType":"ArrayTypeName","src":"26494:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_storage_ptr","typeString":"uint64[]"}},"visibility":"internal"}],"src":"26493:17:36"},"scope":7097,"src":"26389:170:36","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[7888],"body":{"id":6896,"nodeType":"Block","src":"26861:40:36","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6892,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6886,"src":"26878:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":6893,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"asBool","nodeType":"MemberAccess","referencedDeclaration":10759,"src":"26878:14:36","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_Result_$8023_memory_ptr_$returns$_t_bool_$bound_to$_t_struct$_Result_$8023_memory_ptr_$","typeString":"function (struct Witnet.Result memory) pure returns (bool)"}},"id":6894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26878:16:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":6891,"id":6895,"nodeType":"Return","src":"26871:23:36"}]},"documentation":{"id":6883,"nodeType":"StructuredDocumentation","src":"26565:179:36","text":"Decode a boolean value from a Witnet.Result as an `bool` value.\n @param _result An instance of Witnet.Result.\n @return The `bool` decoded from the Witnet.Result."},"functionSelector":"d4ced132","id":6897,"implemented":true,"kind":"function","modifiers":[],"name":"asBool","nameLocation":"26758:6:36","nodeType":"FunctionDefinition","overrides":{"id":6888,"nodeType":"OverrideSpecifier","overrides":[],"src":"26825:8:36"},"parameters":{"id":6887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6886,"mutability":"mutable","name":"_result","nameLocation":"26786:7:36","nodeType":"VariableDeclaration","scope":6897,"src":"26765:28:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":6885,"nodeType":"UserDefinedTypeName","pathNode":{"id":6884,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"26765:13:36"},"referencedDeclaration":8023,"src":"26765:13:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"26764:30:36"},"returnParameters":{"id":6891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6890,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6897,"src":"26851:4:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6889,"name":"bool","nodeType":"ElementaryTypeName","src":"26851:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26850:6:36"},"scope":7097,"src":"26749:152:36","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[7897],"body":{"id":6911,"nodeType":"Block","src":"27600:43:36","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6907,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6901,"src":"27617:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":6908,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"asFixed16","nodeType":"MemberAccess","referencedDeclaration":10780,"src":"27617:17:36","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_Result_$8023_memory_ptr_$returns$_t_int32_$bound_to$_t_struct$_Result_$8023_memory_ptr_$","typeString":"function (struct Witnet.Result memory) pure returns (int32)"}},"id":6909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27617:19:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"functionReturnParameters":6906,"id":6910,"nodeType":"Return","src":"27610:26:36"}]},"documentation":{"id":6898,"nodeType":"StructuredDocumentation","src":"26907:572:36","text":"Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\n @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\n by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\n use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\n @param _result An instance of Witnet.Result.\n @return The `int128` decoded from the Witnet.Result."},"functionSelector":"2241f2db","id":6912,"implemented":true,"kind":"function","modifiers":[],"name":"asFixed16","nameLocation":"27493:9:36","nodeType":"FunctionDefinition","overrides":{"id":6903,"nodeType":"OverrideSpecifier","overrides":[],"src":"27563:8:36"},"parameters":{"id":6902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6901,"mutability":"mutable","name":"_result","nameLocation":"27524:7:36","nodeType":"VariableDeclaration","scope":6912,"src":"27503:28:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":6900,"nodeType":"UserDefinedTypeName","pathNode":{"id":6899,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"27503:13:36"},"referencedDeclaration":8023,"src":"27503:13:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"27502:30:36"},"returnParameters":{"id":6906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6905,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6912,"src":"27589:5:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":6904,"name":"int32","nodeType":"ElementaryTypeName","src":"27589:5:36","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"src":"27588:7:36"},"scope":7097,"src":"27484:159:36","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[7907],"body":{"id":6927,"nodeType":"Block","src":"27982:48:36","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6923,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6916,"src":"27999:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":6924,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"asFixed16Array","nodeType":"MemberAccess","referencedDeclaration":10802,"src":"27999:22:36","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_Result_$8023_memory_ptr_$returns$_t_array$_t_int32_$dyn_memory_ptr_$bound_to$_t_struct$_Result_$8023_memory_ptr_$","typeString":"function (struct Witnet.Result memory) pure returns (int32[] memory)"}},"id":6925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27999:24:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_memory_ptr","typeString":"int32[] memory"}},"functionReturnParameters":6922,"id":6926,"nodeType":"Return","src":"27992:31:36"}]},"documentation":{"id":6913,"nodeType":"StructuredDocumentation","src":"27649:198:36","text":"Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\n @param _result An instance of Witnet.Result.\n @return The `int128[]` decoded from the Witnet.Result."},"functionSelector":"0f572d2c","id":6928,"implemented":true,"kind":"function","modifiers":[],"name":"asFixed16Array","nameLocation":"27861:14:36","nodeType":"FunctionDefinition","overrides":{"id":6918,"nodeType":"OverrideSpecifier","overrides":[],"src":"27936:8:36"},"parameters":{"id":6917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6916,"mutability":"mutable","name":"_result","nameLocation":"27897:7:36","nodeType":"VariableDeclaration","scope":6928,"src":"27876:28:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":6915,"nodeType":"UserDefinedTypeName","pathNode":{"id":6914,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"27876:13:36"},"referencedDeclaration":8023,"src":"27876:13:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"27875:30:36"},"returnParameters":{"id":6922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6921,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6928,"src":"27962:14:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_memory_ptr","typeString":"int32[]"},"typeName":{"baseType":{"id":6919,"name":"int32","nodeType":"ElementaryTypeName","src":"27962:5:36","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":6920,"nodeType":"ArrayTypeName","src":"27962:7:36","typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_storage_ptr","typeString":"int32[]"}},"visibility":"internal"}],"src":"27961:16:36"},"scope":7097,"src":"27852:178:36","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[7916],"body":{"id":6942,"nodeType":"Block","src":"28348:42:36","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6938,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6932,"src":"28365:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":6939,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"asInt128","nodeType":"MemberAccess","referencedDeclaration":10823,"src":"28365:16:36","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_Result_$8023_memory_ptr_$returns$_t_int128_$bound_to$_t_struct$_Result_$8023_memory_ptr_$","typeString":"function (struct Witnet.Result memory) pure returns (int128)"}},"id":6940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28365:18:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"functionReturnParameters":6937,"id":6941,"nodeType":"Return","src":"28358:25:36"}]},"documentation":{"id":6929,"nodeType":"StructuredDocumentation","src":"28036:191:36","text":"Decode a integer numeric value from a Witnet.Result as an `int128` value.\n @param _result An instance of Witnet.Result.\n @return The `int128` decoded from the Witnet.Result."},"functionSelector":"2b905fbb","id":6943,"implemented":true,"kind":"function","modifiers":[],"name":"asInt128","nameLocation":"28241:8:36","nodeType":"FunctionDefinition","overrides":{"id":6934,"nodeType":"OverrideSpecifier","overrides":[],"src":"28310:8:36"},"parameters":{"id":6933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6932,"mutability":"mutable","name":"_result","nameLocation":"28271:7:36","nodeType":"VariableDeclaration","scope":6943,"src":"28250:28:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":6931,"nodeType":"UserDefinedTypeName","pathNode":{"id":6930,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"28250:13:36"},"referencedDeclaration":8023,"src":"28250:13:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"28249:30:36"},"returnParameters":{"id":6937,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6936,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6943,"src":"28336:6:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":6935,"name":"int128","nodeType":"ElementaryTypeName","src":"28336:6:36","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"28335:8:36"},"scope":7097,"src":"28232:158:36","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[7926],"body":{"id":6958,"nodeType":"Block","src":"28737:47:36","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6954,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6947,"src":"28754:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":6955,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"asInt128Array","nodeType":"MemberAccess","referencedDeclaration":10845,"src":"28754:21:36","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_Result_$8023_memory_ptr_$returns$_t_array$_t_int128_$dyn_memory_ptr_$bound_to$_t_struct$_Result_$8023_memory_ptr_$","typeString":"function (struct Witnet.Result memory) pure returns (int128[] memory)"}},"id":6956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28754:23:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int128_$dyn_memory_ptr","typeString":"int128[] memory"}},"functionReturnParameters":6953,"id":6957,"nodeType":"Return","src":"28747:30:36"}]},"documentation":{"id":6944,"nodeType":"StructuredDocumentation","src":"28396:206:36","text":"Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\n @param _result An instance of Witnet.Result.\n @return The `int128[]` decoded from the Witnet.Result."},"functionSelector":"07e66852","id":6959,"implemented":true,"kind":"function","modifiers":[],"name":"asInt128Array","nameLocation":"28616:13:36","nodeType":"FunctionDefinition","overrides":{"id":6949,"nodeType":"OverrideSpecifier","overrides":[],"src":"28690:8:36"},"parameters":{"id":6948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6947,"mutability":"mutable","name":"_result","nameLocation":"28651:7:36","nodeType":"VariableDeclaration","scope":6959,"src":"28630:28:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":6946,"nodeType":"UserDefinedTypeName","pathNode":{"id":6945,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"28630:13:36"},"referencedDeclaration":8023,"src":"28630:13:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"28629:30:36"},"returnParameters":{"id":6953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6952,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6959,"src":"28716:15:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int128_$dyn_memory_ptr","typeString":"int128[]"},"typeName":{"baseType":{"id":6950,"name":"int128","nodeType":"ElementaryTypeName","src":"28716:6:36","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":6951,"nodeType":"ArrayTypeName","src":"28716:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_int128_$dyn_storage_ptr","typeString":"int128[]"}},"visibility":"internal"}],"src":"28715:17:36"},"scope":7097,"src":"28607:177:36","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[7935],"body":{"id":6973,"nodeType":"Block","src":"29099:42:36","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6969,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6963,"src":"29116:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":6970,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"asString","nodeType":"MemberAccess","referencedDeclaration":10866,"src":"29116:16:36","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_Result_$8023_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_Result_$8023_memory_ptr_$","typeString":"function (struct Witnet.Result memory) pure returns (string memory)"}},"id":6971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29116:18:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6968,"id":6972,"nodeType":"Return","src":"29109:25:36"}]},"documentation":{"id":6960,"nodeType":"StructuredDocumentation","src":"28790:181:36","text":"Decode a string value from a Witnet.Result as a `string` value.\n @param _result An instance of Witnet.Result.\n @return The `string` decoded from the Witnet.Result."},"functionSelector":"109a0e3c","id":6974,"implemented":true,"kind":"function","modifiers":[],"name":"asString","nameLocation":"28985:8:36","nodeType":"FunctionDefinition","overrides":{"id":6965,"nodeType":"OverrideSpecifier","overrides":[],"src":"29054:8:36"},"parameters":{"id":6964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6963,"mutability":"mutable","name":"_result","nameLocation":"29015:7:36","nodeType":"VariableDeclaration","scope":6974,"src":"28994:28:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":6962,"nodeType":"UserDefinedTypeName","pathNode":{"id":6961,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"28994:13:36"},"referencedDeclaration":8023,"src":"28994:13:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"28993:30:36"},"returnParameters":{"id":6968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6967,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6974,"src":"29080:13:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6966,"name":"string","nodeType":"ElementaryTypeName","src":"29080:6:36","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29079:15:36"},"scope":7097,"src":"28976:165:36","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[7945],"body":{"id":6989,"nodeType":"Block","src":"29478:47:36","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6985,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6978,"src":"29495:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":6986,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"asStringArray","nodeType":"MemberAccess","referencedDeclaration":10888,"src":"29495:21:36","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_Result_$8023_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$bound_to$_t_struct$_Result_$8023_memory_ptr_$","typeString":"function (struct Witnet.Result memory) pure returns (string memory[] memory)"}},"id":6987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29495:23:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":6984,"id":6988,"nodeType":"Return","src":"29488:30:36"}]},"documentation":{"id":6975,"nodeType":"StructuredDocumentation","src":"29147:196:36","text":"Decode an array of string values from a Witnet.Result as a `string[]` value.\n @param _result An instance of Witnet.Result.\n @return The `string[]` decoded from the Witnet.Result."},"functionSelector":"c87d969e","id":6990,"implemented":true,"kind":"function","modifiers":[],"name":"asStringArray","nameLocation":"29357:13:36","nodeType":"FunctionDefinition","overrides":{"id":6980,"nodeType":"OverrideSpecifier","overrides":[],"src":"29431:8:36"},"parameters":{"id":6979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6978,"mutability":"mutable","name":"_result","nameLocation":"29392:7:36","nodeType":"VariableDeclaration","scope":6990,"src":"29371:28:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":6977,"nodeType":"UserDefinedTypeName","pathNode":{"id":6976,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"29371:13:36"},"referencedDeclaration":8023,"src":"29371:13:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"29370:30:36"},"returnParameters":{"id":6984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6983,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6990,"src":"29457:15:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":6981,"name":"string","nodeType":"ElementaryTypeName","src":"29457:6:36","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":6982,"nodeType":"ArrayTypeName","src":"29457:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"29456:17:36"},"scope":7097,"src":"29348:177:36","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[7954],"body":{"id":7004,"nodeType":"Block","src":"29842:42:36","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":7000,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6994,"src":"29859:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":7001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"asUint64","nodeType":"MemberAccess","referencedDeclaration":10909,"src":"29859:16:36","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_Result_$8023_memory_ptr_$returns$_t_uint64_$bound_to$_t_struct$_Result_$8023_memory_ptr_$","typeString":"function (struct Witnet.Result memory) pure returns (uint64)"}},"id":7002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29859:18:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":6999,"id":7003,"nodeType":"Return","src":"29852:25:36"}]},"documentation":{"id":6991,"nodeType":"StructuredDocumentation","src":"29531:190:36","text":"Decode a natural numeric value from a Witnet.Result as a `uint64` value.\n @param _result An instance of Witnet.Result.\n @return The `uint64` decoded from the Witnet.Result."},"functionSelector":"bc7e25ff","id":7005,"implemented":true,"kind":"function","modifiers":[],"name":"asUint64","nameLocation":"29735:8:36","nodeType":"FunctionDefinition","overrides":{"id":6996,"nodeType":"OverrideSpecifier","overrides":[],"src":"29805:8:36"},"parameters":{"id":6995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6994,"mutability":"mutable","name":"_result","nameLocation":"29765:7:36","nodeType":"VariableDeclaration","scope":7005,"src":"29744:28:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":6993,"nodeType":"UserDefinedTypeName","pathNode":{"id":6992,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"29744:13:36"},"referencedDeclaration":8023,"src":"29744:13:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"29743:30:36"},"returnParameters":{"id":6999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6998,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7005,"src":"29830:6:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":6997,"name":"uint64","nodeType":"ElementaryTypeName","src":"29830:6:36","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"29829:8:36"},"scope":7097,"src":"29726:158:36","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[7964],"body":{"id":7020,"nodeType":"Block","src":"30230:47:36","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":7016,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7009,"src":"30247:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":7017,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"asUint64Array","nodeType":"MemberAccess","referencedDeclaration":10931,"src":"30247:21:36","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_Result_$8023_memory_ptr_$returns$_t_array$_t_uint64_$dyn_memory_ptr_$bound_to$_t_struct$_Result_$8023_memory_ptr_$","typeString":"function (struct Witnet.Result memory) pure returns (uint64[] memory)"}},"id":7018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30247:23:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"functionReturnParameters":7015,"id":7019,"nodeType":"Return","src":"30240:30:36"}]},"documentation":{"id":7006,"nodeType":"StructuredDocumentation","src":"29890:205:36","text":"Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\n @param _result An instance of Witnet.Result.\n @return The `uint64[]` decoded from the Witnet.Result."},"functionSelector":"4dcffaf3","id":7021,"implemented":true,"kind":"function","modifiers":[],"name":"asUint64Array","nameLocation":"30109:13:36","nodeType":"FunctionDefinition","overrides":{"id":7011,"nodeType":"OverrideSpecifier","overrides":[],"src":"30183:8:36"},"parameters":{"id":7010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7009,"mutability":"mutable","name":"_result","nameLocation":"30144:7:36","nodeType":"VariableDeclaration","scope":7021,"src":"30123:28:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":7008,"nodeType":"UserDefinedTypeName","pathNode":{"id":7007,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"30123:13:36"},"referencedDeclaration":8023,"src":"30123:13:36","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"30122:30:36"},"returnParameters":{"id":7015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7014,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7021,"src":"30209:15:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[]"},"typeName":{"baseType":{"id":7012,"name":"uint64","nodeType":"ElementaryTypeName","src":"30209:6:36","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":7013,"nodeType":"ArrayTypeName","src":"30209:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_storage_ptr","typeString":"uint64[]"}},"visibility":"internal"}],"src":"30208:17:36"},"scope":7097,"src":"30100:177:36","stateMutability":"pure","virtual":false,"visibility":"external"},{"body":{"id":7095,"nodeType":"Block","src":"30744:610:36","statements":[{"assignments":[7038],"declarations":[{"constant":false,"id":7038,"mutability":"mutable","name":"__query","nameLocation":"30775:7:36","nodeType":"VariableDeclaration","scope":7095,"src":"30754:28:36","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage_ptr","typeString":"struct Witnet.Query"},"typeName":{"id":7037,"nodeType":"UserDefinedTypeName","pathNode":{"id":7036,"name":"Witnet.Query","nodeType":"IdentifierPath","referencedDeclaration":7991,"src":"30754:12:36"},"referencedDeclaration":7991,"src":"30754:12:36","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage_ptr","typeString":"struct Witnet.Query"}},"visibility":"internal"}],"id":7044,"initialValue":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":7039,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"30785:6:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetBoardState_$4971_storage_ptr_$","typeString":"function () pure returns (struct WitnetBoardData.WitnetBoardState storage pointer)"}},"id":7040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30785:8:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetBoardState_$4971_storage_ptr","typeString":"struct WitnetBoardData.WitnetBoardState storage pointer"}},"id":7041,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"queries","nodeType":"MemberAccess","referencedDeclaration":4970,"src":"30785:16:36","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Query_$7991_storage_$","typeString":"mapping(uint256 => struct Witnet.Query storage ref)"}},"id":7043,"indexExpression":{"id":7042,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7023,"src":"30802:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30785:26:36","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage","typeString":"struct Witnet.Query storage ref"}},"nodeType":"VariableDeclarationStatement","src":"30754:57:36"},{"assignments":[7049],"declarations":[{"constant":false,"id":7049,"mutability":"mutable","name":"__request","nameLocation":"30844:9:36","nodeType":"VariableDeclaration","scope":7095,"src":"30821:32:36","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request"},"typeName":{"id":7048,"nodeType":"UserDefinedTypeName","pathNode":{"id":7047,"name":"Witnet.Request","nodeType":"IdentifierPath","referencedDeclaration":8008,"src":"30821:14:36"},"referencedDeclaration":8008,"src":"30821:14:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request"}},"visibility":"internal"}],"id":7052,"initialValue":{"expression":{"id":7050,"name":"__query","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7038,"src":"30856:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage_ptr","typeString":"struct Witnet.Query storage pointer"}},"id":7051,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"request","nodeType":"MemberAccess","referencedDeclaration":7985,"src":"30856:15:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage","typeString":"struct Witnet.Request storage ref"}},"nodeType":"VariableDeclarationStatement","src":"30821:50:36"},{"assignments":[7057],"declarations":[{"constant":false,"id":7057,"mutability":"mutable","name":"__response","nameLocation":"30905:10:36","nodeType":"VariableDeclaration","scope":7095,"src":"30881:34:36","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage_ptr","typeString":"struct Witnet.Response"},"typeName":{"id":7056,"nodeType":"UserDefinedTypeName","pathNode":{"id":7055,"name":"Witnet.Response","nodeType":"IdentifierPath","referencedDeclaration":8017,"src":"30881:15:36"},"referencedDeclaration":8017,"src":"30881:15:36","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage_ptr","typeString":"struct Witnet.Response"}},"visibility":"internal"}],"id":7060,"initialValue":{"expression":{"id":7058,"name":"__query","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7038,"src":"30918:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage_ptr","typeString":"struct Witnet.Query storage pointer"}},"id":7059,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"response","nodeType":"MemberAccess","referencedDeclaration":7988,"src":"30918:16:36","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage","typeString":"struct Witnet.Response storage ref"}},"nodeType":"VariableDeclarationStatement","src":"30881:53:36"},{"expression":{"id":7065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":7061,"name":"__response","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7057,"src":"30989:10:36","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage_ptr","typeString":"struct Witnet.Response storage pointer"}},"id":7063,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":8012,"src":"30989:20:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7064,"name":"_timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"31012:10:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30989:33:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7066,"nodeType":"ExpressionStatement","src":"30989:33:36"},{"expression":{"id":7071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":7067,"name":"__response","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7057,"src":"31032:10:36","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage_ptr","typeString":"struct Witnet.Response storage pointer"}},"id":7069,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"drTxHash","nodeType":"MemberAccess","referencedDeclaration":8014,"src":"31032:19:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7070,"name":"_drTxHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7027,"src":"31054:9:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"31032:31:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7072,"nodeType":"ExpressionStatement","src":"31032:31:36"},{"expression":{"id":7078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":7073,"name":"__response","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7057,"src":"31073:10:36","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage_ptr","typeString":"struct Witnet.Response storage pointer"}},"id":7075,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"reporter","nodeType":"MemberAccess","referencedDeclaration":8010,"src":"31073:19:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":7076,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"31095:3:36","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":7077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"31095:10:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"31073:32:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7079,"nodeType":"ExpressionStatement","src":"31073:32:36"},{"expression":{"id":7084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":7080,"name":"__response","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7057,"src":"31115:10:36","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage_ptr","typeString":"struct Witnet.Response storage pointer"}},"id":7082,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"cborBytes","nodeType":"MemberAccess","referencedDeclaration":8016,"src":"31115:20:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7083,"name":"_cborBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7029,"src":"31138:10:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"31115:33:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"id":7085,"nodeType":"ExpressionStatement","src":"31115:33:36"},{"expression":{"id":7089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7086,"name":"_reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7032,"src":"31199:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":7087,"name":"__request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7049,"src":"31209:9:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request storage pointer"}},"id":7088,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"reward","nodeType":"MemberAccess","referencedDeclaration":8007,"src":"31209:16:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31199:26:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7090,"nodeType":"ExpressionStatement","src":"31199:26:36"},{"expression":{"id":7093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"31325:22:36","subExpression":{"expression":{"id":7091,"name":"__query","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7038,"src":"31332:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage_ptr","typeString":"struct Witnet.Query storage pointer"}},"id":7092,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"request","nodeType":"MemberAccess","referencedDeclaration":7985,"src":"31332:15:36","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage","typeString":"struct Witnet.Request storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7094,"nodeType":"ExpressionStatement","src":"31325:22:36"}]},"id":7096,"implemented":true,"kind":"function","modifiers":[],"name":"__reportResult","nameLocation":"30534:14:36","nodeType":"FunctionDefinition","parameters":{"id":7030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7023,"mutability":"mutable","name":"_queryId","nameLocation":"30570:8:36","nodeType":"VariableDeclaration","scope":7096,"src":"30562:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7022,"name":"uint256","nodeType":"ElementaryTypeName","src":"30562:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7025,"mutability":"mutable","name":"_timestamp","nameLocation":"30600:10:36","nodeType":"VariableDeclaration","scope":7096,"src":"30592:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7024,"name":"uint256","nodeType":"ElementaryTypeName","src":"30592:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7027,"mutability":"mutable","name":"_drTxHash","nameLocation":"30632:9:36","nodeType":"VariableDeclaration","scope":7096,"src":"30624:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7026,"name":"bytes32","nodeType":"ElementaryTypeName","src":"30624:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":7029,"mutability":"mutable","name":"_cborBytes","nameLocation":"30668:10:36","nodeType":"VariableDeclaration","scope":7096,"src":"30655:23:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7028,"name":"bytes","nodeType":"ElementaryTypeName","src":"30655:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"30548:140:36"},"returnParameters":{"id":7033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7032,"mutability":"mutable","name":"_reward","nameLocation":"30731:7:36","nodeType":"VariableDeclaration","scope":7096,"src":"30723:15:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7031,"name":"uint256","nodeType":"ElementaryTypeName","src":"30723:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30722:17:36"},"scope":7097,"src":"30525:829:36","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":7098,"src":"776:30580:36","usedErrors":[]}],"src":"33:31324:36"},"id":36},"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableDefault.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableDefault.sol","exportedSymbols":{"Destructible":[11667],"IERC20":[7292],"IWitnetRequest":[7510],"IWitnetRequestBoardAdmin":[7532],"IWitnetRequestBoardAdminACLs":[7568],"IWitnetRequestBoardEvents":[7593],"IWitnetRequestBoardReporter":[7644],"IWitnetRequestBoardRequestor":[7674],"IWitnetRequestBoardView":[7787],"IWitnetRequestParser":[7965],"Initializable":[11676],"Payable":[11832],"Proxiable":[11841],"Upgradable":[11937],"Witnet":[8300],"WitnetBoardData":[5235],"WitnetBoardDataACLs":[5285],"WitnetBuffer":[8942],"WitnetDecoderLib":[10067],"WitnetParserLib":[11209],"WitnetProxy":[5497],"WitnetRequestBoard":[4162],"WitnetRequestBoardTrustableBase":[7097],"WitnetRequestBoardTrustableDefault":[7202],"WitnetRequestBoardUpgradableBase":[5559]},"id":7203,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":7099,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"75:31:37"},{"id":7100,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"107:33:37"},{"absolutePath":"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableBase.sol","file":"./WitnetRequestBoardTrustableBase.sol","id":7101,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7203,"sourceUnit":7098,"src":"142:47:37","symbolAliases":[],"unitAlias":""},{"absolutePath":"witnet-solidity-bridge/contracts/patterns/Destructible.sol","file":"../../patterns/Destructible.sol","id":7102,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7203,"sourceUnit":11668,"src":"190:41:37","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":7104,"name":"Destructible","nodeType":"IdentifierPath","referencedDeclaration":11667,"src":"674:12:37"},"id":7105,"nodeType":"InheritanceSpecifier","src":"674:12:37"},{"baseName":{"id":7106,"name":"WitnetRequestBoardTrustableBase","nodeType":"IdentifierPath","referencedDeclaration":7097,"src":"696:31:37"},"id":7107,"nodeType":"InheritanceSpecifier","src":"696:31:37"}],"contractDependencies":[],"contractKind":"contract","documentation":{"id":7103,"nodeType":"StructuredDocumentation","src":"233:381:37","text":"@title Witnet Request Board \"trustable\" implementation contract.\n @notice Contract to bridge requests to Witnet Decentralized Oracle Network.\n @dev This contract enables posting requests that Witnet bridges will insert into the Witnet network.\n The result of the requests will be posted back to this contract by the bridge nodes too.\n @author The Witnet Foundation"},"fullyImplemented":true,"id":7202,"linearizedBaseContracts":[7202,7097,5559,4162,7965,7787,7674,7644,7593,11937,11841,11676,5285,5235,7568,7532,11832,11667],"name":"WitnetRequestBoardTrustableDefault","nameLocation":"623:34:37","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":7109,"mutability":"immutable","name":"_ESTIMATED_REPORT_RESULT_GAS","nameLocation":"763:28:37","nodeType":"VariableDeclaration","scope":7202,"src":"736:55:37","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7108,"name":"uint256","nodeType":"ElementaryTypeName","src":"736:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"body":{"id":7130,"nodeType":"Block","src":"992:69:37","statements":[{"expression":{"id":7128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7126,"name":"_ESTIMATED_REPORT_RESULT_GAS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7109,"src":"1002:28:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7127,"name":"_reportResultGasLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7115,"src":"1033:21:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1002:52:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7129,"nodeType":"ExpressionStatement","src":"1002:52:37"}]},"id":7131,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":7118,"name":"_upgradable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7111,"src":"950:11:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7119,"name":"_versionTag","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7113,"src":"963:11:37","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":7122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"984:1:37","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":7121,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"976:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7120,"name":"address","nodeType":"ElementaryTypeName","src":"976:7:37","typeDescriptions":{}}},"id":7123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"976:10:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":7124,"kind":"baseConstructorSpecifier","modifierName":{"id":7117,"name":"WitnetRequestBoardTrustableBase","nodeType":"IdentifierPath","referencedDeclaration":7097,"src":"918:31:37"},"nodeType":"ModifierInvocation","src":"918:69:37"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":7116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7111,"mutability":"mutable","name":"_upgradable","nameLocation":"824:11:37","nodeType":"VariableDeclaration","scope":7131,"src":"819:16:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7110,"name":"bool","nodeType":"ElementaryTypeName","src":"819:4:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7113,"mutability":"mutable","name":"_versionTag","nameLocation":"853:11:37","nodeType":"VariableDeclaration","scope":7131,"src":"845:19:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7112,"name":"bytes32","nodeType":"ElementaryTypeName","src":"845:7:37","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":7115,"mutability":"mutable","name":"_reportResultGasLimit","nameLocation":"882:21:37","nodeType":"VariableDeclaration","scope":7131,"src":"874:29:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7114,"name":"uint256","nodeType":"ElementaryTypeName","src":"874:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"809:100:37"},"returnParameters":{"id":7125,"nodeType":"ParameterList","parameters":[],"src":"992:0:37"},"scope":7202,"src":"798:263:37","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[6387],"body":{"id":7144,"nodeType":"Block","src":"1590:64:37","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7140,"name":"_gasPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7134,"src":"1607:9:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":7141,"name":"_ESTIMATED_REPORT_RESULT_GAS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7109,"src":"1619:28:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1607:40:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7139,"id":7143,"nodeType":"Return","src":"1600:47:37"}]},"documentation":{"id":7132,"nodeType":"StructuredDocumentation","src":"1309:158:37","text":"Estimates the amount of reward we need to insert for a given gas price.\n @param _gasPrice The gas price for which we need to calculate the rewards."},"functionSelector":"d2e87561","id":7145,"implemented":true,"kind":"function","modifiers":[],"name":"estimateReward","nameLocation":"1481:14:37","nodeType":"FunctionDefinition","overrides":{"id":7136,"nodeType":"OverrideSpecifier","overrides":[],"src":"1551:8:37"},"parameters":{"id":7135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7134,"mutability":"mutable","name":"_gasPrice","nameLocation":"1504:9:37","nodeType":"VariableDeclaration","scope":7145,"src":"1496:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7133,"name":"uint256","nodeType":"ElementaryTypeName","src":"1496:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1495:19:37"},"returnParameters":{"id":7139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7138,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7145,"src":"1577:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7137,"name":"uint256","nodeType":"ElementaryTypeName","src":"1577:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1576:9:37"},"scope":7202,"src":"1472:182:37","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[11666],"body":{"id":7160,"nodeType":"Block","src":"2013:50:37","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":7155,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2044:3:37","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":7156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"2044:10:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":7154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2036:8:37","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":7153,"name":"address","nodeType":"ElementaryTypeName","src":"2036:8:37","stateMutability":"payable","typeDescriptions":{}}},"id":7157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2036:19:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":7152,"name":"selfdestruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-21,"src":"2023:12:37","typeDescriptions":{"typeIdentifier":"t_function_selfdestruct_nonpayable$_t_address_payable_$returns$__$","typeString":"function (address payable)"}},"id":7158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2023:33:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7159,"nodeType":"ExpressionStatement","src":"2023:33:37"}]},"documentation":{"id":7146,"nodeType":"StructuredDocumentation","src":"1902:58:37","text":"Destroys current instance. Only callable by the owner."},"functionSelector":"2b68b9c6","id":7161,"implemented":true,"kind":"function","modifiers":[{"id":7150,"kind":"modifierInvocation","modifierName":{"id":7149,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":5050,"src":"2003:9:37"},"nodeType":"ModifierInvocation","src":"2003:9:37"}],"name":"destruct","nameLocation":"1974:8:37","nodeType":"FunctionDefinition","overrides":{"id":7148,"nodeType":"OverrideSpecifier","overrides":[],"src":"1994:8:37"},"parameters":{"id":7147,"nodeType":"ParameterList","parameters":[],"src":"1982:2:37"},"returnParameters":{"id":7151,"nodeType":"ParameterList","parameters":[],"src":"2013:0:37"},"scope":7202,"src":"1965:98:37","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[11817],"body":{"id":7171,"nodeType":"Block","src":"2444:35:37","statements":[{"expression":{"expression":{"id":7168,"name":"tx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-26,"src":"2461:2:37","typeDescriptions":{"typeIdentifier":"t_magic_transaction","typeString":"tx"}},"id":7169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"gasprice","nodeType":"MemberAccess","src":"2461:11:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7167,"id":7170,"nodeType":"Return","src":"2454:18:37"}]},"documentation":{"id":7162,"nodeType":"StructuredDocumentation","src":"2311:35:37","text":"Gets current transaction price."},"id":7172,"implemented":true,"kind":"function","modifiers":[],"name":"_getGasPrice","nameLocation":"2360:12:37","nodeType":"FunctionDefinition","overrides":{"id":7164,"nodeType":"OverrideSpecifier","overrides":[],"src":"2405:8:37"},"parameters":{"id":7163,"nodeType":"ParameterList","parameters":[],"src":"2372:2:37"},"returnParameters":{"id":7167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7166,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7172,"src":"2431:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7165,"name":"uint256","nodeType":"ElementaryTypeName","src":"2431:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2430:9:37"},"scope":7202,"src":"2351:128:37","stateMutability":"view","virtual":false,"visibility":"internal"},{"baseFunctions":[11823],"body":{"id":7182,"nodeType":"Block","src":"2614:33:37","statements":[{"expression":{"expression":{"id":7179,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2631:3:37","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":7180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"2631:9:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7178,"id":7181,"nodeType":"Return","src":"2624:16:37"}]},"documentation":{"id":7173,"nodeType":"StructuredDocumentation","src":"2485:31:37","text":"Gets current payment value."},"id":7183,"implemented":true,"kind":"function","modifiers":[],"name":"_getMsgValue","nameLocation":"2530:12:37","nodeType":"FunctionDefinition","overrides":{"id":7175,"nodeType":"OverrideSpecifier","overrides":[],"src":"2575:8:37"},"parameters":{"id":7174,"nodeType":"ParameterList","parameters":[],"src":"2542:2:37"},"returnParameters":{"id":7178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7177,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7183,"src":"2601:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7176,"name":"uint256","nodeType":"ElementaryTypeName","src":"2601:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2600:9:37"},"scope":7202,"src":"2521:126:37","stateMutability":"view","virtual":false,"visibility":"internal"},{"baseFunctions":[11831],"body":{"id":7200,"nodeType":"Block","src":"2884:47:37","statements":[{"expression":{"arguments":[{"id":7197,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7188,"src":"2916:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":7194,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7186,"src":"2902:3:37","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":7193,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2894:8:37","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":7192,"name":"address","nodeType":"ElementaryTypeName","src":"2894:8:37","stateMutability":"payable","typeDescriptions":{}}},"id":7195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2894:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":7196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","src":"2894:21:37","typeDescriptions":{"typeIdentifier":"t_function_transfer_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":7198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2894:30:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7199,"nodeType":"ExpressionStatement","src":"2894:30:37"}]},"documentation":{"id":7184,"nodeType":"StructuredDocumentation","src":"2653:125:37","text":"Transfers ETHs to given address.\n @param _to Recipient address.\n @param _amount Amount of ETHs to transfer."},"id":7201,"implemented":true,"kind":"function","modifiers":[],"name":"_safeTransferTo","nameLocation":"2792:15:37","nodeType":"FunctionDefinition","overrides":{"id":7190,"nodeType":"OverrideSpecifier","overrides":[],"src":"2871:8:37"},"parameters":{"id":7189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7186,"mutability":"mutable","name":"_to","nameLocation":"2824:3:37","nodeType":"VariableDeclaration","scope":7201,"src":"2808:19:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":7185,"name":"address","nodeType":"ElementaryTypeName","src":"2808:15:37","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":7188,"mutability":"mutable","name":"_amount","nameLocation":"2837:7:37","nodeType":"VariableDeclaration","scope":7201,"src":"2829:15:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7187,"name":"uint256","nodeType":"ElementaryTypeName","src":"2829:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2807:38:37"},"returnParameters":{"id":7191,"nodeType":"ParameterList","parameters":[],"src":"2884:0:37"},"scope":7202,"src":"2783:148:37","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":7203,"src":"614:2322:37","usedErrors":[]}],"src":"75:2862:37"},"id":37},"witnet-solidity-bridge/contracts/interfaces/IERC165.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IERC165.sol","exportedSymbols":{"IERC165":[7214]},"id":7215,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":7204,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:38"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","documentation":{"id":7205,"nodeType":"StructuredDocumentation","src":"66:279:38","text":" @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}."},"fullyImplemented":false,"id":7214,"linearizedBaseContracts":[7214],"name":"IERC165","nameLocation":"356:7:38","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":7206,"nodeType":"StructuredDocumentation","src":"370:340:38","text":" @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas."},"functionSelector":"01ffc9a7","id":7213,"implemented":false,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"724:17:38","nodeType":"FunctionDefinition","parameters":{"id":7209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7208,"mutability":"mutable","name":"interfaceId","nameLocation":"749:11:38","nodeType":"VariableDeclaration","scope":7213,"src":"742:18:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":7207,"name":"bytes4","nodeType":"ElementaryTypeName","src":"742:6:38","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"741:20:38"},"returnParameters":{"id":7212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7211,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7213,"src":"785:4:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7210,"name":"bool","nodeType":"ElementaryTypeName","src":"785:4:38","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"784:6:38"},"scope":7214,"src":"715:76:38","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":7215,"src":"346:447:38","usedErrors":[]}],"src":"33:761:38"},"id":38},"witnet-solidity-bridge/contracts/interfaces/IERC20.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IERC20.sol","exportedSymbols":{"IERC20":[7292]},"id":7293,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":7216,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:39"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","documentation":{"id":7217,"nodeType":"StructuredDocumentation","src":"66:70:39","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"id":7292,"linearizedBaseContracts":[7292],"name":"IERC20","nameLocation":"147:6:39","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":7218,"nodeType":"StructuredDocumentation","src":"160:46:39","text":"Returns the amount of tokens in existence."},"functionSelector":"18160ddd","id":7223,"implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"220:11:39","nodeType":"FunctionDefinition","parameters":{"id":7219,"nodeType":"ParameterList","parameters":[],"src":"231:2:39"},"returnParameters":{"id":7222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7221,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7223,"src":"257:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7220,"name":"uint256","nodeType":"ElementaryTypeName","src":"257:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"256:9:39"},"scope":7292,"src":"211:55:39","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7224,"nodeType":"StructuredDocumentation","src":"272:53:39","text":"Returns the amount of tokens owned by `_account`."},"functionSelector":"70a08231","id":7231,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"339:9:39","nodeType":"FunctionDefinition","parameters":{"id":7227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7226,"mutability":"mutable","name":"_account","nameLocation":"357:8:39","nodeType":"VariableDeclaration","scope":7231,"src":"349:16:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7225,"name":"address","nodeType":"ElementaryTypeName","src":"349:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"348:18:39"},"returnParameters":{"id":7230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7229,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7231,"src":"390:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7228,"name":"uint256","nodeType":"ElementaryTypeName","src":"390:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"389:9:39"},"scope":7292,"src":"330:69:39","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7232,"nodeType":"StructuredDocumentation","src":"405:179:39","text":"Moves `_amount` tokens from the caller's account to `_recipient`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","id":7241,"implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"598:8:39","nodeType":"FunctionDefinition","parameters":{"id":7237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7234,"mutability":"mutable","name":"_recipient","nameLocation":"615:10:39","nodeType":"VariableDeclaration","scope":7241,"src":"607:18:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7233,"name":"address","nodeType":"ElementaryTypeName","src":"607:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7236,"mutability":"mutable","name":"_amount","nameLocation":"635:7:39","nodeType":"VariableDeclaration","scope":7241,"src":"627:15:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7235,"name":"uint256","nodeType":"ElementaryTypeName","src":"627:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"606:37:39"},"returnParameters":{"id":7240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7239,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7241,"src":"662:4:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7238,"name":"bool","nodeType":"ElementaryTypeName","src":"662:4:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"661:6:39"},"scope":7292,"src":"589:79:39","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":7242,"nodeType":"StructuredDocumentation","src":"674:242:39","text":"Returns the remaining number of tokens that `_spender` will be\n allowed to spend on behalf of `_owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","id":7251,"implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"930:9:39","nodeType":"FunctionDefinition","parameters":{"id":7247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7244,"mutability":"mutable","name":"_owner","nameLocation":"948:6:39","nodeType":"VariableDeclaration","scope":7251,"src":"940:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7243,"name":"address","nodeType":"ElementaryTypeName","src":"940:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7246,"mutability":"mutable","name":"_spender","nameLocation":"964:8:39","nodeType":"VariableDeclaration","scope":7251,"src":"956:16:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7245,"name":"address","nodeType":"ElementaryTypeName","src":"956:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"939:34:39"},"returnParameters":{"id":7250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7249,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7251,"src":"997:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7248,"name":"uint256","nodeType":"ElementaryTypeName","src":"997:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"996:9:39"},"scope":7292,"src":"921:85:39","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7252,"nodeType":"StructuredDocumentation","src":"1012:633:39","text":"Sets `_amount` as the allowance of `_spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n \n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event.     "},"functionSelector":"095ea7b3","id":7261,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"1659:7:39","nodeType":"FunctionDefinition","parameters":{"id":7257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7254,"mutability":"mutable","name":"_spender","nameLocation":"1675:8:39","nodeType":"VariableDeclaration","scope":7261,"src":"1667:16:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7253,"name":"address","nodeType":"ElementaryTypeName","src":"1667:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7256,"mutability":"mutable","name":"_amount","nameLocation":"1693:7:39","nodeType":"VariableDeclaration","scope":7261,"src":"1685:15:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7255,"name":"uint256","nodeType":"ElementaryTypeName","src":"1685:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1666:35:39"},"returnParameters":{"id":7260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7259,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7261,"src":"1720:4:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7258,"name":"bool","nodeType":"ElementaryTypeName","src":"1720:4:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1719:6:39"},"scope":7292,"src":"1650:76:39","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":7262,"nodeType":"StructuredDocumentation","src":"1732:269:39","text":"Moves `amount` tokens from `_sender` to `_recipient` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event. "},"functionSelector":"23b872dd","id":7273,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2015:12:39","nodeType":"FunctionDefinition","parameters":{"id":7269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7264,"mutability":"mutable","name":"_sender","nameLocation":"2045:7:39","nodeType":"VariableDeclaration","scope":7273,"src":"2037:15:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7263,"name":"address","nodeType":"ElementaryTypeName","src":"2037:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7266,"mutability":"mutable","name":"_recipient","nameLocation":"2070:10:39","nodeType":"VariableDeclaration","scope":7273,"src":"2062:18:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7265,"name":"address","nodeType":"ElementaryTypeName","src":"2062:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7268,"mutability":"mutable","name":"_amount","nameLocation":"2098:7:39","nodeType":"VariableDeclaration","scope":7273,"src":"2090:15:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7267,"name":"uint256","nodeType":"ElementaryTypeName","src":"2090:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2027:84:39"},"returnParameters":{"id":7272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7271,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7273,"src":"2130:4:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7270,"name":"bool","nodeType":"ElementaryTypeName","src":"2130:4:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2129:6:39"},"scope":7292,"src":"2006:130:39","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"anonymous":false,"documentation":{"id":7274,"nodeType":"StructuredDocumentation","src":"2142:134:39","text":"Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `:value` may be zero."},"id":7282,"name":"Transfer","nameLocation":"2287:8:39","nodeType":"EventDefinition","parameters":{"id":7281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7276,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"2312:4:39","nodeType":"VariableDeclaration","scope":7282,"src":"2296:20:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7275,"name":"address","nodeType":"ElementaryTypeName","src":"2296:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7278,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"2334:2:39","nodeType":"VariableDeclaration","scope":7282,"src":"2318:18:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7277,"name":"address","nodeType":"ElementaryTypeName","src":"2318:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7280,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"2346:5:39","nodeType":"VariableDeclaration","scope":7282,"src":"2338:13:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7279,"name":"uint256","nodeType":"ElementaryTypeName","src":"2338:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2295:57:39"},"src":"2281:72:39"},{"anonymous":false,"documentation":{"id":7283,"nodeType":"StructuredDocumentation","src":"2359:129:39","text":"Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"id":7291,"name":"Approval","nameLocation":"2499:8:39","nodeType":"EventDefinition","parameters":{"id":7290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7285,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"2524:5:39","nodeType":"VariableDeclaration","scope":7291,"src":"2508:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7284,"name":"address","nodeType":"ElementaryTypeName","src":"2508:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7287,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"2547:7:39","nodeType":"VariableDeclaration","scope":7291,"src":"2531:23:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7286,"name":"address","nodeType":"ElementaryTypeName","src":"2531:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7289,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"2564:5:39","nodeType":"VariableDeclaration","scope":7291,"src":"2556:13:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7288,"name":"uint256","nodeType":"ElementaryTypeName","src":"2556:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2507:63:39"},"src":"2493:78:39"}],"scope":7293,"src":"137:2436:39","usedErrors":[]}],"src":"33:2541:39"},"id":39},"witnet-solidity-bridge/contracts/interfaces/IWitnetPriceRouter.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IWitnetPriceRouter.sol","exportedSymbols":{"IERC165":[7214],"IERC2362":[3273],"IWitnetPriceRouter":[7380]},"id":7381,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":7294,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"32:31:40"},{"id":7295,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"64:33:40"},{"absolutePath":"ado-contracts/contracts/interfaces/IERC2362.sol","file":"ado-contracts/contracts/interfaces/IERC2362.sol","id":7296,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7381,"sourceUnit":3274,"src":"99:57:40","symbolAliases":[],"unitAlias":""},{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IERC165.sol","file":"./IERC165.sol","id":7297,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7381,"sourceUnit":7215,"src":"157:23:40","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":7299,"name":"IERC2362","nodeType":"IdentifierPath","referencedDeclaration":3273,"src":"390:8:40"},"id":7300,"nodeType":"InheritanceSpecifier","src":"390:8:40"}],"contractDependencies":[],"contractKind":"contract","documentation":{"id":7298,"nodeType":"StructuredDocumentation","src":"182:156:40","text":"@title The Witnet Price Router basic interface.\n @dev Guides implementation of price feeds aggregation contracts.\n @author The Witnet Foundation."},"fullyImplemented":false,"id":7380,"linearizedBaseContracts":[7380,3273],"name":"IWitnetPriceRouter","nameLocation":"356:18:40","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":7301,"nodeType":"StructuredDocumentation","src":"406:205:40","text":"Emitted everytime a currency pair is attached to a new price feed contract\n @dev See https://github.com/adoracles/ADOIPs/blob/main/adoip-0010.md \n @dev to learn how these ids are created."},"id":7308,"name":"CurrencyPairSet","nameLocation":"622:15:40","nodeType":"EventDefinition","parameters":{"id":7307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7303,"indexed":true,"mutability":"mutable","name":"erc2362ID","nameLocation":"654:9:40","nodeType":"VariableDeclaration","scope":7308,"src":"638:25:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7302,"name":"bytes32","nodeType":"ElementaryTypeName","src":"638:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":7306,"indexed":false,"mutability":"mutable","name":"pricefeed","nameLocation":"673:9:40","nodeType":"VariableDeclaration","scope":7308,"src":"665:17:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC165_$7214","typeString":"contract IERC165"},"typeName":{"id":7305,"nodeType":"UserDefinedTypeName","pathNode":{"id":7304,"name":"IERC165","nodeType":"IdentifierPath","referencedDeclaration":7214,"src":"665:7:40"},"referencedDeclaration":7214,"src":"665:7:40","typeDescriptions":{"typeIdentifier":"t_contract$_IERC165_$7214","typeString":"contract IERC165"}},"visibility":"internal"}],"src":"637:46:40"},"src":"616:68:40"},{"documentation":{"id":7309,"nodeType":"StructuredDocumentation","src":"690:104:40","text":"Helper pure function: returns hash of the provided ERC2362-compliant currency pair caption (aka ID)."},"functionSelector":"835262f5","id":7316,"implemented":false,"kind":"function","modifiers":[],"name":"currencyPairId","nameLocation":"808:14:40","nodeType":"FunctionDefinition","parameters":{"id":7312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7311,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7316,"src":"823:13:40","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7310,"name":"string","nodeType":"ElementaryTypeName","src":"823:6:40","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"822:15:40"},"returnParameters":{"id":7315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7314,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7316,"src":"869:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7313,"name":"bytes32","nodeType":"ElementaryTypeName","src":"869:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"868:9:40"},"scope":7380,"src":"799:79:40","stateMutability":"pure","virtual":true,"visibility":"external"},{"documentation":{"id":7317,"nodeType":"StructuredDocumentation","src":"884:116:40","text":"Returns the ERC-165-compliant price feed contract currently serving \n updates on the given currency pair."},"functionSelector":"8c0adf62","id":7325,"implemented":false,"kind":"function","modifiers":[],"name":"getPriceFeed","nameLocation":"1014:12:40","nodeType":"FunctionDefinition","parameters":{"id":7320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7319,"mutability":"mutable","name":"_erc2362id","nameLocation":"1035:10:40","nodeType":"VariableDeclaration","scope":7325,"src":"1027:18:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7318,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1027:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1026:20:40"},"returnParameters":{"id":7324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7323,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7325,"src":"1078:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC165_$7214","typeString":"contract IERC165"},"typeName":{"id":7322,"nodeType":"UserDefinedTypeName","pathNode":{"id":7321,"name":"IERC165","nodeType":"IdentifierPath","referencedDeclaration":7214,"src":"1078:7:40"},"referencedDeclaration":7214,"src":"1078:7:40","typeDescriptions":{"typeIdentifier":"t_contract$_IERC165_$7214","typeString":"contract IERC165"}},"visibility":"internal"}],"src":"1077:9:40"},"scope":7380,"src":"1005:82:40","stateMutability":"view","virtual":true,"visibility":"external"},{"documentation":{"id":7326,"nodeType":"StructuredDocumentation","src":"1093:255:40","text":"Returns human-readable ERC2362-based caption of the currency pair being\n served by the given price feed contract address. \n @dev Should fail if the given price feed contract address is not currently\n @dev registered in the router."},"functionSelector":"bbfa8118","id":7334,"implemented":false,"kind":"function","modifiers":[],"name":"getPriceFeedCaption","nameLocation":"1362:19:40","nodeType":"FunctionDefinition","parameters":{"id":7330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7329,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7334,"src":"1382:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC165_$7214","typeString":"contract IERC165"},"typeName":{"id":7328,"nodeType":"UserDefinedTypeName","pathNode":{"id":7327,"name":"IERC165","nodeType":"IdentifierPath","referencedDeclaration":7214,"src":"1382:7:40"},"referencedDeclaration":7214,"src":"1382:7:40","typeDescriptions":{"typeIdentifier":"t_contract$_IERC165_$7214","typeString":"contract IERC165"}},"visibility":"internal"}],"src":"1381:9:40"},"returnParameters":{"id":7333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7332,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7334,"src":"1422:13:40","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7331,"name":"string","nodeType":"ElementaryTypeName","src":"1422:6:40","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1421:15:40"},"scope":7380,"src":"1353:84:40","stateMutability":"view","virtual":true,"visibility":"external"},{"documentation":{"id":7335,"nodeType":"StructuredDocumentation","src":"1443:91:40","text":"Returns human-readable caption of the ERC2362-based currency pair identifier, if known."},"functionSelector":"99d32a04","id":7342,"implemented":false,"kind":"function","modifiers":[],"name":"lookupERC2362ID","nameLocation":"1548:15:40","nodeType":"FunctionDefinition","parameters":{"id":7338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7337,"mutability":"mutable","name":"_erc2362id","nameLocation":"1572:10:40","nodeType":"VariableDeclaration","scope":7342,"src":"1564:18:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7336,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1564:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1563:20:40"},"returnParameters":{"id":7341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7340,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7342,"src":"1615:13:40","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7339,"name":"string","nodeType":"ElementaryTypeName","src":"1615:6:40","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1614:15:40"},"scope":7380,"src":"1539:91:40","stateMutability":"view","virtual":true,"visibility":"external"},{"documentation":{"id":7343,"nodeType":"StructuredDocumentation","src":"1636:420:40","text":"Register a price feed contract that will serve updates for the given currency pair.\n @dev Setting zero address to a currency pair implies that it will not be served any longer.\n @dev Otherwise, should fail if the price feed contract does not support the `IWitnetPriceFeed` interface,\n @dev or if given price feed is already serving another currency pair (within this WitnetPriceRouter instance)."},"functionSelector":"77021267","id":7355,"implemented":false,"kind":"function","modifiers":[],"name":"setPriceFeed","nameLocation":"2070:12:40","nodeType":"FunctionDefinition","parameters":{"id":7353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7346,"mutability":"mutable","name":"_pricefeed","nameLocation":"2104:10:40","nodeType":"VariableDeclaration","scope":7355,"src":"2096:18:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC165_$7214","typeString":"contract IERC165"},"typeName":{"id":7345,"nodeType":"UserDefinedTypeName","pathNode":{"id":7344,"name":"IERC165","nodeType":"IdentifierPath","referencedDeclaration":7214,"src":"2096:7:40"},"referencedDeclaration":7214,"src":"2096:7:40","typeDescriptions":{"typeIdentifier":"t_contract$_IERC165_$7214","typeString":"contract IERC165"}},"visibility":"internal"},{"constant":false,"id":7348,"mutability":"mutable","name":"_decimals","nameLocation":"2136:9:40","nodeType":"VariableDeclaration","scope":7355,"src":"2128:17:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7347,"name":"uint256","nodeType":"ElementaryTypeName","src":"2128:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7350,"mutability":"mutable","name":"_base","nameLocation":"2175:5:40","nodeType":"VariableDeclaration","scope":7355,"src":"2159:21:40","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":7349,"name":"string","nodeType":"ElementaryTypeName","src":"2159:6:40","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7352,"mutability":"mutable","name":"_quote","nameLocation":"2210:6:40","nodeType":"VariableDeclaration","scope":7355,"src":"2194:22:40","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":7351,"name":"string","nodeType":"ElementaryTypeName","src":"2194:6:40","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2082:144:40"},"returnParameters":{"id":7354,"nodeType":"ParameterList","parameters":[],"src":"2251:0:40"},"scope":7380,"src":"2061:191:40","stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"documentation":{"id":7356,"nodeType":"StructuredDocumentation","src":"2258:45:40","text":"Returns list of known currency pairs IDs."},"functionSelector":"3fd29ebd","id":7362,"implemented":false,"kind":"function","modifiers":[],"name":"supportedCurrencyPairs","nameLocation":"2317:22:40","nodeType":"FunctionDefinition","parameters":{"id":7357,"nodeType":"ParameterList","parameters":[],"src":"2339:2:40"},"returnParameters":{"id":7361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7360,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7362,"src":"2373:16:40","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":7358,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2373:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7359,"nodeType":"ArrayTypeName","src":"2373:9:40","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"2372:18:40"},"scope":7380,"src":"2308:83:40","stateMutability":"view","virtual":true,"visibility":"external"},{"documentation":{"id":7363,"nodeType":"StructuredDocumentation","src":"2397:94:40","text":"Returns `true` if given pair is currently being served by a compliant price feed contract."},"functionSelector":"ca64c540","id":7370,"implemented":false,"kind":"function","modifiers":[],"name":"supportsCurrencyPair","nameLocation":"2505:20:40","nodeType":"FunctionDefinition","parameters":{"id":7366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7365,"mutability":"mutable","name":"_erc2362id","nameLocation":"2534:10:40","nodeType":"VariableDeclaration","scope":7370,"src":"2526:18:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7364,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2526:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2525:20:40"},"returnParameters":{"id":7369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7368,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7370,"src":"2577:4:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7367,"name":"bool","nodeType":"ElementaryTypeName","src":"2577:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2576:6:40"},"scope":7380,"src":"2496:87:40","stateMutability":"view","virtual":true,"visibility":"external"},{"documentation":{"id":7371,"nodeType":"StructuredDocumentation","src":"2589:105:40","text":"Returns `true` if given price feed contract is currently serving updates to any known currency pair. "},"functionSelector":"a027ad15","id":7379,"implemented":false,"kind":"function","modifiers":[],"name":"supportsPriceFeed","nameLocation":"2708:17:40","nodeType":"FunctionDefinition","parameters":{"id":7375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7374,"mutability":"mutable","name":"_priceFeed","nameLocation":"2734:10:40","nodeType":"VariableDeclaration","scope":7379,"src":"2726:18:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC165_$7214","typeString":"contract IERC165"},"typeName":{"id":7373,"nodeType":"UserDefinedTypeName","pathNode":{"id":7372,"name":"IERC165","nodeType":"IdentifierPath","referencedDeclaration":7214,"src":"2726:7:40"},"referencedDeclaration":7214,"src":"2726:7:40","typeDescriptions":{"typeIdentifier":"t_contract$_IERC165_$7214","typeString":"contract IERC165"}},"visibility":"internal"}],"src":"2725:20:40"},"returnParameters":{"id":7378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7377,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7379,"src":"2777:4:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7376,"name":"bool","nodeType":"ElementaryTypeName","src":"2777:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2776:6:40"},"scope":7380,"src":"2699:84:40","stateMutability":"view","virtual":true,"visibility":"external"}],"scope":7381,"src":"338:2447:40","usedErrors":[]}],"src":"32:2754:40"},"id":40},"witnet-solidity-bridge/contracts/interfaces/IWitnetRandomness.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IWitnetRandomness.sol","exportedSymbols":{"IWitnetRandomness":[7494],"IWitnetRequest":[7510],"Witnet":[8300]},"id":7495,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":7382,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:41"},{"absolutePath":"witnet-solidity-bridge/contracts/libs/Witnet.sol","file":"../libs/Witnet.sol","id":7383,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7495,"sourceUnit":8301,"src":"66:28:41","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","documentation":{"id":7384,"nodeType":"StructuredDocumentation","src":"96:85:41","text":"@title The Witnet Randomness generator interface.\n @author Witnet Foundation."},"fullyImplemented":false,"id":7494,"linearizedBaseContracts":[7494],"name":"IWitnetRandomness","nameLocation":"191:17:41","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":7385,"nodeType":"StructuredDocumentation","src":"216:490:41","text":"Thrown every time a new WitnetRandomnessRequest gets succesfully posted to the WitnetRequestBoard.\n @param from Address from which the randomize() function was called. \n @param prevBlock Block number in which a randomness request got posted just before this one. 0 if none.\n @param witnetQueryId Unique query id assigned to this request by the WRB.\n @param witnetRequestHash SHA-256 hash of the WitnetRandomnessRequest actual bytecode just posted to the WRB."},"id":7395,"name":"Randomized","nameLocation":"717:10:41","nodeType":"EventDefinition","parameters":{"id":7394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7387,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"753:4:41","nodeType":"VariableDeclaration","scope":7395,"src":"737:20:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7386,"name":"address","nodeType":"ElementaryTypeName","src":"737:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7389,"indexed":true,"mutability":"mutable","name":"prevBlock","nameLocation":"783:9:41","nodeType":"VariableDeclaration","scope":7395,"src":"767:25:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7388,"name":"uint256","nodeType":"ElementaryTypeName","src":"767:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7391,"indexed":false,"mutability":"mutable","name":"witnetQueryId","nameLocation":"810:13:41","nodeType":"VariableDeclaration","scope":7395,"src":"802:21:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7390,"name":"uint256","nodeType":"ElementaryTypeName","src":"802:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7393,"indexed":false,"mutability":"mutable","name":"witnetRequestHash","nameLocation":"841:17:41","nodeType":"VariableDeclaration","scope":7395,"src":"833:25:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7392,"name":"bytes32","nodeType":"ElementaryTypeName","src":"833:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"727:137:41"},"src":"711:154:41"},{"documentation":{"id":7396,"nodeType":"StructuredDocumentation","src":"871:140:41","text":"Returns amount of wei required to be paid as a fee when requesting randomization with a \n transaction gas price as the one given."},"functionSelector":"a60ee268","id":7403,"implemented":false,"kind":"function","modifiers":[],"name":"estimateRandomizeFee","nameLocation":"1025:20:41","nodeType":"FunctionDefinition","parameters":{"id":7399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7398,"mutability":"mutable","name":"_gasPrice","nameLocation":"1054:9:41","nodeType":"VariableDeclaration","scope":7403,"src":"1046:17:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7397,"name":"uint256","nodeType":"ElementaryTypeName","src":"1046:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1045:19:41"},"returnParameters":{"id":7402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7401,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7403,"src":"1088:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7400,"name":"uint256","nodeType":"ElementaryTypeName","src":"1088:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1087:9:41"},"scope":7494,"src":"1016:81:41","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7404,"nodeType":"StructuredDocumentation","src":"1103:669:41","text":"Retrieves data of a randomization request that got successfully posted to the WRB within a given block.\n @dev Returns zero values if no randomness request was actually posted within a given block.\n @param _block Block number whose randomness request is being queried for.\n @return _from Address from which the latest randomness request was posted.\n @return _id Unique request identifier as provided by the WRB.\n @return _prevBlock Block number in which a randomness request got posted just before this one. 0 if none.\n @return _nextBlock Block number in which a randomness request got posted just after this one, 0 if none."},"functionSelector":"a3252f68","id":7417,"implemented":false,"kind":"function","modifiers":[],"name":"getRandomizeData","nameLocation":"1786:16:41","nodeType":"FunctionDefinition","parameters":{"id":7407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7406,"mutability":"mutable","name":"_block","nameLocation":"1811:6:41","nodeType":"VariableDeclaration","scope":7417,"src":"1803:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7405,"name":"uint256","nodeType":"ElementaryTypeName","src":"1803:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1802:16:41"},"returnParameters":{"id":7416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7409,"mutability":"mutable","name":"_from","nameLocation":"1858:5:41","nodeType":"VariableDeclaration","scope":7417,"src":"1850:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7408,"name":"address","nodeType":"ElementaryTypeName","src":"1850:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7411,"mutability":"mutable","name":"_id","nameLocation":"1873:3:41","nodeType":"VariableDeclaration","scope":7417,"src":"1865:11:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7410,"name":"uint256","nodeType":"ElementaryTypeName","src":"1865:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7413,"mutability":"mutable","name":"_prevBlock","nameLocation":"1886:10:41","nodeType":"VariableDeclaration","scope":7417,"src":"1878:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7412,"name":"uint256","nodeType":"ElementaryTypeName","src":"1878:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7415,"mutability":"mutable","name":"_nextBlock","nameLocation":"1906:10:41","nodeType":"VariableDeclaration","scope":7417,"src":"1898:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7414,"name":"uint256","nodeType":"ElementaryTypeName","src":"1898:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1849:68:41"},"scope":7494,"src":"1777:141:41","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7418,"nodeType":"StructuredDocumentation","src":"1924:808:41","text":"Retrieves the randomness generated upon solving a request that was posted within a given block,\n if any, or to the _first_ request posted after that block, otherwise. Should the intended \n request happen to be finalized with errors on the Witnet oracle network side, this function \n will recursively try to return randomness from the next non-faulty randomization request found \n in storage, if any. \n @dev Fails if:\n @dev   i.   no `randomize()` was not called in either the given block, or afterwards.\n @dev   ii.  a request posted in/after given block does exist, but no result has been provided yet.\n @dev   iii. all requests in/after the given block were solved with errors.\n @param _block Block number from which the search will start."},"functionSelector":"fb476cad","id":7425,"implemented":false,"kind":"function","modifiers":[],"name":"getRandomnessAfter","nameLocation":"2746:18:41","nodeType":"FunctionDefinition","parameters":{"id":7421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7420,"mutability":"mutable","name":"_block","nameLocation":"2773:6:41","nodeType":"VariableDeclaration","scope":7425,"src":"2765:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7419,"name":"uint256","nodeType":"ElementaryTypeName","src":"2765:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2764:16:41"},"returnParameters":{"id":7424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7423,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7425,"src":"2804:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7422,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2804:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2803:9:41"},"scope":7494,"src":"2737:76:41","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7426,"nodeType":"StructuredDocumentation","src":"2820:268:41","text":"Tells what is the number of the next block in which a randomization request was posted after the given one. \n @param _block Block number from which the search will start.\n @return Number of the first block found after the given one, or `0` otherwise."},"functionSelector":"40b41daa","id":7433,"implemented":false,"kind":"function","modifiers":[],"name":"getRandomnessNextBlock","nameLocation":"3102:22:41","nodeType":"FunctionDefinition","parameters":{"id":7429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7428,"mutability":"mutable","name":"_block","nameLocation":"3133:6:41","nodeType":"VariableDeclaration","scope":7433,"src":"3125:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7427,"name":"uint256","nodeType":"ElementaryTypeName","src":"3125:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3124:16:41"},"returnParameters":{"id":7432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7431,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7433,"src":"3164:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7430,"name":"uint256","nodeType":"ElementaryTypeName","src":"3164:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3163:9:41"},"scope":7494,"src":"3093:80:41","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7434,"nodeType":"StructuredDocumentation","src":"3180:229:41","text":"Gets previous block in which a randomness request was posted before the given one.\n @param _block Block number from which the search will start.\n @return First block found before the given one, or `0` otherwise."},"functionSelector":"36b651bb","id":7441,"implemented":false,"kind":"function","modifiers":[],"name":"getRandomnessPrevBlock","nameLocation":"3423:22:41","nodeType":"FunctionDefinition","parameters":{"id":7437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7436,"mutability":"mutable","name":"_block","nameLocation":"3454:6:41","nodeType":"VariableDeclaration","scope":7441,"src":"3446:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7435,"name":"uint256","nodeType":"ElementaryTypeName","src":"3446:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3445:16:41"},"returnParameters":{"id":7440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7439,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7441,"src":"3485:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7438,"name":"uint256","nodeType":"ElementaryTypeName","src":"3485:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3484:9:41"},"scope":7494,"src":"3414:80:41","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7442,"nodeType":"StructuredDocumentation","src":"3500:194:41","text":"Returns `true` only when the randomness request that got posted within given block was already\n reported back from the Witnet oracle, either successfully or with an error of any kind."},"functionSelector":"9bc86fec","id":7449,"implemented":false,"kind":"function","modifiers":[],"name":"isRandomized","nameLocation":"3708:12:41","nodeType":"FunctionDefinition","parameters":{"id":7445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7444,"mutability":"mutable","name":"_block","nameLocation":"3729:6:41","nodeType":"VariableDeclaration","scope":7449,"src":"3721:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7443,"name":"uint256","nodeType":"ElementaryTypeName","src":"3721:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3720:16:41"},"returnParameters":{"id":7448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7447,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7449,"src":"3760:4:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7446,"name":"bool","nodeType":"ElementaryTypeName","src":"3760:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3759:6:41"},"scope":7494,"src":"3699:67:41","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7450,"nodeType":"StructuredDocumentation","src":"3772:89:41","text":"Returns latest block in which a randomness request got sucessfully posted to the WRB."},"functionSelector":"9938fd0c","id":7455,"implemented":false,"kind":"function","modifiers":[],"name":"latestRandomizeBlock","nameLocation":"3875:20:41","nodeType":"FunctionDefinition","parameters":{"id":7451,"nodeType":"ParameterList","parameters":[],"src":"3895:2:41"},"returnParameters":{"id":7454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7453,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7455,"src":"3921:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7452,"name":"uint256","nodeType":"ElementaryTypeName","src":"3921:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3920:9:41"},"scope":7494,"src":"3866:64:41","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7456,"nodeType":"StructuredDocumentation","src":"3936:545:41","text":"Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using \n the given `_nonce` value and the randomness returned by `getRandomnessAfter(_block)`. \n @dev Fails under same conditions as `getRandomnessAfter(uint256)` may do.\n @param _range Range within which the uniformly-distributed random number will be generated.\n @param _nonce Nonce value enabling multiple random numbers from the same randomness value.\n @param _block Block number from which the search will start."},"functionSelector":"24cbbfc1","id":7467,"implemented":false,"kind":"function","modifiers":[],"name":"random","nameLocation":"4495:6:41","nodeType":"FunctionDefinition","parameters":{"id":7463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7458,"mutability":"mutable","name":"_range","nameLocation":"4509:6:41","nodeType":"VariableDeclaration","scope":7467,"src":"4502:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":7457,"name":"uint32","nodeType":"ElementaryTypeName","src":"4502:6:41","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":7460,"mutability":"mutable","name":"_nonce","nameLocation":"4525:6:41","nodeType":"VariableDeclaration","scope":7467,"src":"4517:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7459,"name":"uint256","nodeType":"ElementaryTypeName","src":"4517:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7462,"mutability":"mutable","name":"_block","nameLocation":"4541:6:41","nodeType":"VariableDeclaration","scope":7467,"src":"4533:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7461,"name":"uint256","nodeType":"ElementaryTypeName","src":"4533:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4501:47:41"},"returnParameters":{"id":7466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7465,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7467,"src":"4572:6:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":7464,"name":"uint32","nodeType":"ElementaryTypeName","src":"4572:6:41","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"4571:8:41"},"scope":7494,"src":"4486:94:41","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7468,"nodeType":"StructuredDocumentation","src":"4586:434:41","text":"Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using \n the given `_nonce` value and the given `_seed` as a source of entropy.\n @param _range Range within which the uniformly-distributed random number will be generated.\n @param _nonce Nonce value enabling multiple random numbers from the same randomness value.\n @param _seed Seed value used as entropy source."},"functionSelector":"e7d4a016","id":7479,"implemented":false,"kind":"function","modifiers":[],"name":"random","nameLocation":"5034:6:41","nodeType":"FunctionDefinition","parameters":{"id":7475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7470,"mutability":"mutable","name":"_range","nameLocation":"5048:6:41","nodeType":"VariableDeclaration","scope":7479,"src":"5041:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":7469,"name":"uint32","nodeType":"ElementaryTypeName","src":"5041:6:41","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":7472,"mutability":"mutable","name":"_nonce","nameLocation":"5064:6:41","nodeType":"VariableDeclaration","scope":7479,"src":"5056:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7471,"name":"uint256","nodeType":"ElementaryTypeName","src":"5056:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7474,"mutability":"mutable","name":"_seed","nameLocation":"5080:5:41","nodeType":"VariableDeclaration","scope":7479,"src":"5072:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7473,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5072:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5040:46:41"},"returnParameters":{"id":7478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7477,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7479,"src":"5110:6:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":7476,"name":"uint32","nodeType":"ElementaryTypeName","src":"5110:6:41","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"5109:8:41"},"scope":7494,"src":"5025:93:41","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":7480,"nodeType":"StructuredDocumentation","src":"5124:541:41","text":"Requests the Witnet oracle to generate an EVM-agnostic and trustless source of randomness. \n Only one randomness request per block will be actually posted to the WRB. Should there \n already be a posted request within current block, it will try to upgrade Witnet fee of current's \n block randomness request according to current gas price. In both cases, all unused funds shall \n be transfered back to the tx sender.\n @return _usedFunds Amount of funds actually used from those provided by the tx sender."},"functionSelector":"699b328a","id":7485,"implemented":false,"kind":"function","modifiers":[],"name":"randomize","nameLocation":"5679:9:41","nodeType":"FunctionDefinition","parameters":{"id":7481,"nodeType":"ParameterList","parameters":[],"src":"5688:2:41"},"returnParameters":{"id":7484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7483,"mutability":"mutable","name":"_usedFunds","nameLocation":"5725:10:41","nodeType":"VariableDeclaration","scope":7485,"src":"5717:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7482,"name":"uint256","nodeType":"ElementaryTypeName","src":"5717:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5716:20:41"},"scope":7494,"src":"5670:67:41","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":7486,"nodeType":"StructuredDocumentation","src":"5743:482:41","text":"Increases Witnet fee related to a pending-to-be-solved randomness request, as much as it\n may be required in proportion to how much bigger the current tx gas price is with respect the \n highest gas price that was paid in either previous fee upgrades, or when the given randomness \n request was posted. All unused funds shall be transferred back to the tx sender.\n @return _usedFunds Amount of dunds actually used from those provided by the tx sender."},"functionSelector":"e35329f8","id":7493,"implemented":false,"kind":"function","modifiers":[],"name":"upgradeRandomizeFee","nameLocation":"6239:19:41","nodeType":"FunctionDefinition","parameters":{"id":7489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7488,"mutability":"mutable","name":"_block","nameLocation":"6267:6:41","nodeType":"VariableDeclaration","scope":7493,"src":"6259:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7487,"name":"uint256","nodeType":"ElementaryTypeName","src":"6259:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6258:16:41"},"returnParameters":{"id":7492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7491,"mutability":"mutable","name":"_usedFunds","nameLocation":"6309:10:41","nodeType":"VariableDeclaration","scope":7493,"src":"6301:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7490,"name":"uint256","nodeType":"ElementaryTypeName","src":"6301:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6300:20:41"},"scope":7494,"src":"6230:91:41","stateMutability":"payable","virtual":false,"visibility":"external"}],"scope":7495,"src":"181:6142:41","usedErrors":[]}],"src":"33:6291:41"},"id":41},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol","exportedSymbols":{"IWitnetRequest":[7510]},"id":7511,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":7496,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:42"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","documentation":{"id":7497,"nodeType":"StructuredDocumentation","src":"66:87:42","text":"@title The Witnet Data Request basic interface.\n @author The Witnet Foundation."},"fullyImplemented":false,"id":7510,"linearizedBaseContracts":[7510],"name":"IWitnetRequest","nameLocation":"163:14:42","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":7498,"nodeType":"StructuredDocumentation","src":"184:138:42","text":"A `IWitnetRequest` is constructed around a `bytes` value containing \n a well-formed Witnet Data Request using Protocol Buffers."},"functionSelector":"f0940002","id":7503,"implemented":false,"kind":"function","modifiers":[],"name":"bytecode","nameLocation":"336:8:42","nodeType":"FunctionDefinition","parameters":{"id":7499,"nodeType":"ParameterList","parameters":[],"src":"344:2:42"},"returnParameters":{"id":7502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7501,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7503,"src":"370:12:42","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7500,"name":"bytes","nodeType":"ElementaryTypeName","src":"370:5:42","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"369:14:42"},"scope":7510,"src":"327:57:42","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7504,"nodeType":"StructuredDocumentation","src":"390:69:42","text":"Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes."},"functionSelector":"09bd5a60","id":7509,"implemented":false,"kind":"function","modifiers":[],"name":"hash","nameLocation":"473:4:42","nodeType":"FunctionDefinition","parameters":{"id":7505,"nodeType":"ParameterList","parameters":[],"src":"477:2:42"},"returnParameters":{"id":7508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7507,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7509,"src":"503:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7506,"name":"bytes32","nodeType":"ElementaryTypeName","src":"503:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"502:9:42"},"scope":7510,"src":"464:48:42","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":7511,"src":"153:361:42","usedErrors":[]}],"src":"33:482:42"},"id":42},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardAdmin.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardAdmin.sol","exportedSymbols":{"IWitnetRequestBoardAdmin":[7532]},"id":7533,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":7512,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:43"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","documentation":{"id":7513,"nodeType":"StructuredDocumentation","src":"66:99:43","text":"@title Witnet Request Board basic administration interface.\n @author The Witnet Foundation."},"fullyImplemented":false,"id":7532,"linearizedBaseContracts":[7532],"name":"IWitnetRequestBoardAdmin","nameLocation":"175:24:43","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"id":7519,"name":"OwnershipTransferred","nameLocation":"212:20:43","nodeType":"EventDefinition","parameters":{"id":7518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7515,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"249:4:43","nodeType":"VariableDeclaration","scope":7519,"src":"233:20:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7514,"name":"address","nodeType":"ElementaryTypeName","src":"233:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7517,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"271:2:43","nodeType":"VariableDeclaration","scope":7519,"src":"255:18:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7516,"name":"address","nodeType":"ElementaryTypeName","src":"255:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"232:42:43"},"src":"206:69:43"},{"documentation":{"id":7520,"nodeType":"StructuredDocumentation","src":"281:29:43","text":"Gets admin/owner address."},"functionSelector":"8da5cb5b","id":7525,"implemented":false,"kind":"function","modifiers":[],"name":"owner","nameLocation":"324:5:43","nodeType":"FunctionDefinition","parameters":{"id":7521,"nodeType":"ParameterList","parameters":[],"src":"329:2:43"},"returnParameters":{"id":7524,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7523,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7525,"src":"355:7:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7522,"name":"address","nodeType":"ElementaryTypeName","src":"355:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"354:9:43"},"scope":7532,"src":"315:49:43","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7526,"nodeType":"StructuredDocumentation","src":"370:24:43","text":"Transfers ownership."},"functionSelector":"f2fde38b","id":7531,"implemented":false,"kind":"function","modifiers":[],"name":"transferOwnership","nameLocation":"408:17:43","nodeType":"FunctionDefinition","parameters":{"id":7529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7528,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7531,"src":"426:7:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7527,"name":"address","nodeType":"ElementaryTypeName","src":"426:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"425:9:43"},"returnParameters":{"id":7530,"nodeType":"ParameterList","parameters":[],"src":"443:0:43"},"scope":7532,"src":"399:45:43","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":7533,"src":"165:281:43","usedErrors":[]}],"src":"33:414:43"},"id":43},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardAdminACLs.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardAdminACLs.sol","exportedSymbols":{"IWitnetRequestBoardAdminACLs":[7568]},"id":7569,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":7534,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:44"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","documentation":{"id":7535,"nodeType":"StructuredDocumentation","src":"66:98:44","text":"@title Witnet Request Board ACLs administration interface.\n @author The Witnet Foundation."},"fullyImplemented":false,"id":7568,"linearizedBaseContracts":[7568],"name":"IWitnetRequestBoardAdminACLs","nameLocation":"174:28:44","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"id":7540,"name":"ReportersSet","nameLocation":"215:12:44","nodeType":"EventDefinition","parameters":{"id":7539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7538,"indexed":false,"mutability":"mutable","name":"reporters","nameLocation":"238:9:44","nodeType":"VariableDeclaration","scope":7540,"src":"228:19:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7536,"name":"address","nodeType":"ElementaryTypeName","src":"228:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7537,"nodeType":"ArrayTypeName","src":"228:9:44","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"227:21:44"},"src":"209:40:44"},{"anonymous":false,"id":7545,"name":"ReportersUnset","nameLocation":"260:14:44","nodeType":"EventDefinition","parameters":{"id":7544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7543,"indexed":false,"mutability":"mutable","name":"reporters","nameLocation":"285:9:44","nodeType":"VariableDeclaration","scope":7545,"src":"275:19:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7541,"name":"address","nodeType":"ElementaryTypeName","src":"275:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7542,"nodeType":"ArrayTypeName","src":"275:9:44","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"274:21:44"},"src":"254:42:44"},{"documentation":{"id":7546,"nodeType":"StructuredDocumentation","src":"302:81:44","text":"Tells whether given address is included in the active reporters control list."},"functionSelector":"044ad7be","id":7553,"implemented":false,"kind":"function","modifiers":[],"name":"isReporter","nameLocation":"397:10:44","nodeType":"FunctionDefinition","parameters":{"id":7549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7548,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7553,"src":"408:7:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7547,"name":"address","nodeType":"ElementaryTypeName","src":"408:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"407:9:44"},"returnParameters":{"id":7552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7553,"src":"440:4:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7550,"name":"bool","nodeType":"ElementaryTypeName","src":"440:4:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"439:6:44"},"scope":7568,"src":"388:58:44","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7554,"nodeType":"StructuredDocumentation","src":"452:164:44","text":"Adds given addresses to the active reporters control list.\n @dev Can only be called from the owner address.\n @dev Emits the `ReportersSet` event. "},"functionSelector":"4c9f72e3","id":7560,"implemented":false,"kind":"function","modifiers":[],"name":"setReporters","nameLocation":"630:12:44","nodeType":"FunctionDefinition","parameters":{"id":7558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7557,"mutability":"mutable","name":"reporters","nameLocation":"662:9:44","nodeType":"VariableDeclaration","scope":7560,"src":"643:28:44","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7555,"name":"address","nodeType":"ElementaryTypeName","src":"643:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7556,"nodeType":"ArrayTypeName","src":"643:9:44","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"642:30:44"},"returnParameters":{"id":7559,"nodeType":"ParameterList","parameters":[],"src":"681:0:44"},"scope":7568,"src":"621:61:44","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":7561,"nodeType":"StructuredDocumentation","src":"688:171:44","text":"Removes given addresses from the active reporters control list.\n @dev Can only be called from the owner address.\n @dev Emits the `ReportersUnset` event. "},"functionSelector":"28a78d9b","id":7567,"implemented":false,"kind":"function","modifiers":[],"name":"unsetReporters","nameLocation":"873:14:44","nodeType":"FunctionDefinition","parameters":{"id":7565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7564,"mutability":"mutable","name":"reporters","nameLocation":"907:9:44","nodeType":"VariableDeclaration","scope":7567,"src":"888:28:44","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7562,"name":"address","nodeType":"ElementaryTypeName","src":"888:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7563,"nodeType":"ArrayTypeName","src":"888:9:44","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"887:30:44"},"returnParameters":{"id":7566,"nodeType":"ParameterList","parameters":[],"src":"926:0:44"},"scope":7568,"src":"864:63:44","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":7569,"src":"164:765:44","usedErrors":[]}],"src":"33:897:44"},"id":44},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardEvents.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardEvents.sol","exportedSymbols":{"IWitnetRequestBoardEvents":[7593]},"id":7594,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":7570,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:45"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","documentation":{"id":7571,"nodeType":"StructuredDocumentation","src":"66:94:45","text":"@title Witnet Request Board emitting events interface.\n @author The Witnet Foundation."},"fullyImplemented":true,"id":7593,"linearizedBaseContracts":[7593],"name":"IWitnetRequestBoardEvents","nameLocation":"170:25:45","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":7572,"nodeType":"StructuredDocumentation","src":"202:60:45","text":"Emitted when a Witnet Data Request is posted to the WRB."},"id":7578,"name":"PostedRequest","nameLocation":"273:13:45","nodeType":"EventDefinition","parameters":{"id":7577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7574,"indexed":false,"mutability":"mutable","name":"queryId","nameLocation":"295:7:45","nodeType":"VariableDeclaration","scope":7578,"src":"287:15:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7573,"name":"uint256","nodeType":"ElementaryTypeName","src":"287:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7576,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"312:4:45","nodeType":"VariableDeclaration","scope":7578,"src":"304:12:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7575,"name":"address","nodeType":"ElementaryTypeName","src":"304:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"286:31:45"},"src":"267:51:45"},{"anonymous":false,"documentation":{"id":7579,"nodeType":"StructuredDocumentation","src":"324:63:45","text":"Emitted when a Witnet-solved result is reported to the WRB."},"id":7585,"name":"PostedResult","nameLocation":"398:12:45","nodeType":"EventDefinition","parameters":{"id":7584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7581,"indexed":false,"mutability":"mutable","name":"queryId","nameLocation":"419:7:45","nodeType":"VariableDeclaration","scope":7585,"src":"411:15:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7580,"name":"uint256","nodeType":"ElementaryTypeName","src":"411:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7583,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"436:4:45","nodeType":"VariableDeclaration","scope":7585,"src":"428:12:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7582,"name":"address","nodeType":"ElementaryTypeName","src":"428:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"410:31:45"},"src":"392:50:45"},{"anonymous":false,"documentation":{"id":7586,"nodeType":"StructuredDocumentation","src":"448:73:45","text":"Emitted when all data related to given query is deleted from the WRB."},"id":7592,"name":"DeletedQuery","nameLocation":"532:12:45","nodeType":"EventDefinition","parameters":{"id":7591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7588,"indexed":false,"mutability":"mutable","name":"queryId","nameLocation":"553:7:45","nodeType":"VariableDeclaration","scope":7592,"src":"545:15:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7587,"name":"uint256","nodeType":"ElementaryTypeName","src":"545:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7590,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"570:4:45","nodeType":"VariableDeclaration","scope":7592,"src":"562:12:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7589,"name":"address","nodeType":"ElementaryTypeName","src":"562:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"544:31:45"},"src":"526:50:45"}],"scope":7594,"src":"160:418:45","usedErrors":[]}],"src":"33:546:45"},"id":45},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardReporter.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardReporter.sol","exportedSymbols":{"IWitnetRequestBoardReporter":[7644]},"id":7645,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":7595,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:46"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","documentation":{"id":7596,"nodeType":"StructuredDocumentation","src":"66:91:46","text":"@title The Witnet Request Board Reporter interface.\n @author The Witnet Foundation."},"fullyImplemented":false,"id":7644,"linearizedBaseContracts":[7644],"name":"IWitnetRequestBoardReporter","nameLocation":"167:27:46","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":7597,"nodeType":"StructuredDocumentation","src":"201:551:46","text":"Reports the Witnet-provided result to a previously posted request. \n @dev Will assume `block.timestamp` as the timestamp at which the request was solved.\n @dev Fails if:\n @dev - the `_queryId` is not in 'Posted' status.\n @dev - provided `_drTxHash` is zero;\n @dev - length of provided `_result` is zero.\n @param _queryId The unique identifier of the data request.\n @param _drTxHash The hash of the corresponding data request transaction in Witnet.\n @param _result The result itself as bytes."},"functionSelector":"6280bce8","id":7606,"implemented":false,"kind":"function","modifiers":[],"name":"reportResult","nameLocation":"766:12:46","nodeType":"FunctionDefinition","parameters":{"id":7604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7599,"mutability":"mutable","name":"_queryId","nameLocation":"800:8:46","nodeType":"VariableDeclaration","scope":7606,"src":"792:16:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7598,"name":"uint256","nodeType":"ElementaryTypeName","src":"792:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7601,"mutability":"mutable","name":"_drTxHash","nameLocation":"830:9:46","nodeType":"VariableDeclaration","scope":7606,"src":"822:17:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7600,"name":"bytes32","nodeType":"ElementaryTypeName","src":"822:7:46","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":7603,"mutability":"mutable","name":"_result","nameLocation":"868:7:46","nodeType":"VariableDeclaration","scope":7606,"src":"853:22:46","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":7602,"name":"bytes","nodeType":"ElementaryTypeName","src":"853:5:46","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"778:107:46"},"returnParameters":{"id":7605,"nodeType":"ParameterList","parameters":[],"src":"894:0:46"},"scope":7644,"src":"757:138:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":7607,"nodeType":"StructuredDocumentation","src":"901:575:46","text":"Reports the Witnet-provided result to a previously posted request.\n @dev Fails if:\n @dev - called from unauthorized address;\n @dev - the `_queryId` is not in 'Posted' status.\n @dev - provided `_drTxHash` is zero;\n @dev - length of provided `_result` is zero.\n @param _queryId The unique query identifier\n @param _timestamp The timestamp of the solving tally transaction in Witnet.\n @param _drTxHash The hash of the corresponding data request transaction in Witnet.\n @param _result The result itself as bytes."},"functionSelector":"c8f5cdd5","id":7618,"implemented":false,"kind":"function","modifiers":[],"name":"reportResult","nameLocation":"1490:12:46","nodeType":"FunctionDefinition","parameters":{"id":7616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7609,"mutability":"mutable","name":"_queryId","nameLocation":"1524:8:46","nodeType":"VariableDeclaration","scope":7618,"src":"1516:16:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7608,"name":"uint256","nodeType":"ElementaryTypeName","src":"1516:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7611,"mutability":"mutable","name":"_timestamp","nameLocation":"1554:10:46","nodeType":"VariableDeclaration","scope":7618,"src":"1546:18:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7610,"name":"uint256","nodeType":"ElementaryTypeName","src":"1546:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7613,"mutability":"mutable","name":"_drTxHash","nameLocation":"1586:9:46","nodeType":"VariableDeclaration","scope":7618,"src":"1578:17:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7612,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1578:7:46","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":7615,"mutability":"mutable","name":"_result","nameLocation":"1624:7:46","nodeType":"VariableDeclaration","scope":7618,"src":"1609:22:46","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":7614,"name":"bytes","nodeType":"ElementaryTypeName","src":"1609:5:46","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1502:139:46"},"returnParameters":{"id":7617,"nodeType":"ParameterList","parameters":[],"src":"1650:0:46"},"scope":7644,"src":"1481:170:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":7619,"nodeType":"StructuredDocumentation","src":"1657:655:46","text":"Reports Witnet-provided results to multiple requests within a single EVM tx.\n @dev Must emit a PostedResult event for every succesfully reported result.\n @param _batchResults Array of BatchResult structs, every one containing:\n         - unique query identifier;\n         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;\n         - hash of the corresponding data request tx at the Witnet side-chain level;\n         - data request result in raw bytes.\n @param _verbose If true, must emit a BatchReportError event for every failing report, if any. "},"functionSelector":"81a398b5","id":7628,"implemented":false,"kind":"function","modifiers":[],"name":"reportResultBatch","nameLocation":"2326:17:46","nodeType":"FunctionDefinition","parameters":{"id":7626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7623,"mutability":"mutable","name":"_batchResults","nameLocation":"2367:13:46","nodeType":"VariableDeclaration","scope":7628,"src":"2344:36:46","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_BatchResult_$7637_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult[]"},"typeName":{"baseType":{"id":7621,"nodeType":"UserDefinedTypeName","pathNode":{"id":7620,"name":"BatchResult","nodeType":"IdentifierPath","referencedDeclaration":7637,"src":"2344:11:46"},"referencedDeclaration":7637,"src":"2344:11:46","typeDescriptions":{"typeIdentifier":"t_struct$_BatchResult_$7637_storage_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult"}},"id":7622,"nodeType":"ArrayTypeName","src":"2344:13:46","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_BatchResult_$7637_storage_$dyn_storage_ptr","typeString":"struct IWitnetRequestBoardReporter.BatchResult[]"}},"visibility":"internal"},{"constant":false,"id":7625,"mutability":"mutable","name":"_verbose","nameLocation":"2387:8:46","nodeType":"VariableDeclaration","scope":7628,"src":"2382:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7624,"name":"bool","nodeType":"ElementaryTypeName","src":"2382:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2343:53:46"},"returnParameters":{"id":7627,"nodeType":"ParameterList","parameters":[],"src":"2405:0:46"},"scope":7644,"src":"2317:89:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"canonicalName":"IWitnetRequestBoardReporter.BatchResult","id":7637,"members":[{"constant":false,"id":7630,"mutability":"mutable","name":"queryId","nameLocation":"2465:7:46","nodeType":"VariableDeclaration","scope":7637,"src":"2457:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7629,"name":"uint256","nodeType":"ElementaryTypeName","src":"2457:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7632,"mutability":"mutable","name":"timestamp","nameLocation":"2494:9:46","nodeType":"VariableDeclaration","scope":7637,"src":"2486:17:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7631,"name":"uint256","nodeType":"ElementaryTypeName","src":"2486:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7634,"mutability":"mutable","name":"drTxHash","nameLocation":"2525:8:46","nodeType":"VariableDeclaration","scope":7637,"src":"2517:16:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7633,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2517:7:46","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":7636,"mutability":"mutable","name":"cborBytes","nameLocation":"2555:9:46","nodeType":"VariableDeclaration","scope":7637,"src":"2547:17:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":7635,"name":"bytes","nodeType":"ElementaryTypeName","src":"2547:5:46","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"BatchResult","nameLocation":"2431:11:46","nodeType":"StructDefinition","scope":7644,"src":"2424:151:46","visibility":"public"},{"anonymous":false,"id":7643,"name":"BatchReportError","nameLocation":"2591:16:46","nodeType":"EventDefinition","parameters":{"id":7642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7639,"indexed":false,"mutability":"mutable","name":"queryId","nameLocation":"2616:7:46","nodeType":"VariableDeclaration","scope":7643,"src":"2608:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7638,"name":"uint256","nodeType":"ElementaryTypeName","src":"2608:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7641,"indexed":false,"mutability":"mutable","name":"reason","nameLocation":"2632:6:46","nodeType":"VariableDeclaration","scope":7643,"src":"2625:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7640,"name":"string","nodeType":"ElementaryTypeName","src":"2625:6:46","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2607:32:46"},"src":"2585:55:46"}],"scope":7645,"src":"157:2485:46","usedErrors":[]}],"src":"33:2610:46"},"id":46},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardRequestor.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardRequestor.sol","exportedSymbols":{"IWitnetRequest":[7510],"IWitnetRequestBoardRequestor":[7674],"Witnet":[8300]},"id":7675,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":7646,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:47"},{"id":7647,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"65:33:47"},{"absolutePath":"witnet-solidity-bridge/contracts/libs/Witnet.sol","file":"../libs/Witnet.sol","id":7648,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7675,"sourceUnit":8301,"src":"100:28:47","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","documentation":{"id":7649,"nodeType":"StructuredDocumentation","src":"130:523:47","text":"@title Witnet Requestor Interface\n @notice It defines how to interact with the Witnet Request Board in order to:\n   - request the execution of Witnet Radon scripts (data request);\n   - upgrade the resolution reward of any previously posted request, in case gas price raises in mainnet;\n   - read the result of any previously posted request, eventually reported by the Witnet DON.\n   - remove from storage all data related to past and solved data requests, and results.\n @author The Witnet Foundation."},"fullyImplemented":false,"id":7674,"linearizedBaseContracts":[7674],"name":"IWitnetRequestBoardRequestor","nameLocation":"663:28:47","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":7650,"nodeType":"StructuredDocumentation","src":"698:354:47","text":"Retrieves a copy of all Witnet-provided data related to a previously posted request, removing the whole query from the WRB storage.\n @dev Fails if the `_queryId` is not in 'Reported' status, or called from an address different to\n @dev the one that actually posted the given request.\n @param _queryId The unique query identifier."},"functionSelector":"7c1fbda3","id":7658,"implemented":false,"kind":"function","modifiers":[],"name":"deleteQuery","nameLocation":"1066:11:47","nodeType":"FunctionDefinition","parameters":{"id":7653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7652,"mutability":"mutable","name":"_queryId","nameLocation":"1086:8:47","nodeType":"VariableDeclaration","scope":7658,"src":"1078:16:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7651,"name":"uint256","nodeType":"ElementaryTypeName","src":"1078:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1077:18:47"},"returnParameters":{"id":7657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7656,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7658,"src":"1114:22:47","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_memory_ptr","typeString":"struct Witnet.Response"},"typeName":{"id":7655,"nodeType":"UserDefinedTypeName","pathNode":{"id":7654,"name":"Witnet.Response","nodeType":"IdentifierPath","referencedDeclaration":8017,"src":"1114:15:47"},"referencedDeclaration":8017,"src":"1114:15:47","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage_ptr","typeString":"struct Witnet.Response"}},"visibility":"internal"}],"src":"1113:24:47"},"scope":7674,"src":"1057:81:47","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":7659,"nodeType":"StructuredDocumentation","src":"1144:634:47","text":"Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON.\n A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided \n result to this request.\n @dev Fails if:\n @dev - provided reward is too low.\n @dev - provided script is zero address.\n @dev - provided script bytecode is empty.\n @param _addr The address of the IWitnetRequest contract that can provide the actual Data Request bytecode.\n @return _queryId An unique query identifier."},"functionSelector":"b281a7bd","id":7667,"implemented":false,"kind":"function","modifiers":[],"name":"postRequest","nameLocation":"1792:11:47","nodeType":"FunctionDefinition","parameters":{"id":7663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7662,"mutability":"mutable","name":"_addr","nameLocation":"1819:5:47","nodeType":"VariableDeclaration","scope":7667,"src":"1804:20:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRequest_$7510","typeString":"contract IWitnetRequest"},"typeName":{"id":7661,"nodeType":"UserDefinedTypeName","pathNode":{"id":7660,"name":"IWitnetRequest","nodeType":"IdentifierPath","referencedDeclaration":7510,"src":"1804:14:47"},"referencedDeclaration":7510,"src":"1804:14:47","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRequest_$7510","typeString":"contract IWitnetRequest"}},"visibility":"internal"}],"src":"1803:22:47"},"returnParameters":{"id":7666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7665,"mutability":"mutable","name":"_queryId","nameLocation":"1860:8:47","nodeType":"VariableDeclaration","scope":7667,"src":"1852:16:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7664,"name":"uint256","nodeType":"ElementaryTypeName","src":"1852:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1851:18:47"},"scope":7674,"src":"1783:87:47","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":7668,"nodeType":"StructuredDocumentation","src":"1876:561:47","text":"Increments the reward of a previously posted request by adding the transaction value to it.\n @dev Updates request `gasPrice` in case this method is called with a higher \n @dev gas price value than the one used in previous calls to `postRequest` or\n @dev `upgradeReward`. \n @dev Fails if the `_queryId` is not in 'Posted' status.\n @dev Fails also in case the request `gasPrice` is increased, and the new \n @dev reward value gets below new recalculated threshold. \n @param _queryId The unique query identifier."},"functionSelector":"66bfdc75","id":7673,"implemented":false,"kind":"function","modifiers":[],"name":"upgradeReward","nameLocation":"2451:13:47","nodeType":"FunctionDefinition","parameters":{"id":7671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7670,"mutability":"mutable","name":"_queryId","nameLocation":"2473:8:47","nodeType":"VariableDeclaration","scope":7673,"src":"2465:16:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7669,"name":"uint256","nodeType":"ElementaryTypeName","src":"2465:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2464:18:47"},"returnParameters":{"id":7672,"nodeType":"ParameterList","parameters":[],"src":"2499:0:47"},"scope":7674,"src":"2442:58:47","stateMutability":"payable","virtual":false,"visibility":"external"}],"scope":7675,"src":"653:1849:47","usedErrors":[]}],"src":"33:2470:47"},"id":47},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardView.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardView.sol","exportedSymbols":{"IWitnetRequest":[7510],"IWitnetRequestBoardView":[7787],"Witnet":[8300]},"id":7788,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":7676,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:48"},{"id":7677,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"65:33:48"},{"absolutePath":"witnet-solidity-bridge/contracts/libs/Witnet.sol","file":"../libs/Witnet.sol","id":7678,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7788,"sourceUnit":8301,"src":"100:28:48","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","documentation":{"id":7679,"nodeType":"StructuredDocumentation","src":"130:83:48","text":"@title Witnet Request Board info interface.\n @author The Witnet Foundation."},"fullyImplemented":false,"id":7787,"linearizedBaseContracts":[7787],"name":"IWitnetRequestBoardView","nameLocation":"223:23:48","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":7680,"nodeType":"StructuredDocumentation","src":"253:158:48","text":"Estimates the amount of reward we need to insert for a given gas price.\n @param _gasPrice The gas price for which we need to calculate the rewards."},"functionSelector":"d2e87561","id":7687,"implemented":false,"kind":"function","modifiers":[],"name":"estimateReward","nameLocation":"425:14:48","nodeType":"FunctionDefinition","parameters":{"id":7683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7682,"mutability":"mutable","name":"_gasPrice","nameLocation":"448:9:48","nodeType":"VariableDeclaration","scope":7687,"src":"440:17:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7681,"name":"uint256","nodeType":"ElementaryTypeName","src":"440:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"439:19:48"},"returnParameters":{"id":7686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7685,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7687,"src":"482:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7684,"name":"uint256","nodeType":"ElementaryTypeName","src":"482:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"481:9:48"},"scope":7787,"src":"416:75:48","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7688,"nodeType":"StructuredDocumentation","src":"497:70:48","text":"Returns next query id to be generated by the Witnet Request Board."},"functionSelector":"c805dd0f","id":7693,"implemented":false,"kind":"function","modifiers":[],"name":"getNextQueryId","nameLocation":"581:14:48","nodeType":"FunctionDefinition","parameters":{"id":7689,"nodeType":"ParameterList","parameters":[],"src":"595:2:48"},"returnParameters":{"id":7692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7691,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7693,"src":"621:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7690,"name":"uint256","nodeType":"ElementaryTypeName","src":"621:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"620:9:48"},"scope":7787,"src":"572:58:48","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7694,"nodeType":"StructuredDocumentation","src":"636:77:48","text":"Gets the whole Query data contents, if any, no matter its current status."},"functionSelector":"c2485ebd","id":7702,"implemented":false,"kind":"function","modifiers":[],"name":"getQueryData","nameLocation":"727:12:48","nodeType":"FunctionDefinition","parameters":{"id":7697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7696,"mutability":"mutable","name":"_queryId","nameLocation":"748:8:48","nodeType":"VariableDeclaration","scope":7702,"src":"740:16:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7695,"name":"uint256","nodeType":"ElementaryTypeName","src":"740:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"739:18:48"},"returnParameters":{"id":7701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7700,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7702,"src":"781:19:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_memory_ptr","typeString":"struct Witnet.Query"},"typeName":{"id":7699,"nodeType":"UserDefinedTypeName","pathNode":{"id":7698,"name":"Witnet.Query","nodeType":"IdentifierPath","referencedDeclaration":7991,"src":"781:12:48"},"referencedDeclaration":7991,"src":"781:12:48","typeDescriptions":{"typeIdentifier":"t_struct$_Query_$7991_storage_ptr","typeString":"struct Witnet.Query"}},"visibility":"internal"}],"src":"780:21:48"},"scope":7787,"src":"718:84:48","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7703,"nodeType":"StructuredDocumentation","src":"808:39:48","text":"Gets current status of given query."},"functionSelector":"6f07abcc","id":7711,"implemented":false,"kind":"function","modifiers":[],"name":"getQueryStatus","nameLocation":"861:14:48","nodeType":"FunctionDefinition","parameters":{"id":7706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7705,"mutability":"mutable","name":"_queryId","nameLocation":"884:8:48","nodeType":"VariableDeclaration","scope":7711,"src":"876:16:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7704,"name":"uint256","nodeType":"ElementaryTypeName","src":"876:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"875:18:48"},"returnParameters":{"id":7710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7709,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7711,"src":"917:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"},"typeName":{"id":7708,"nodeType":"UserDefinedTypeName","pathNode":{"id":7707,"name":"Witnet.QueryStatus","nodeType":"IdentifierPath","referencedDeclaration":7996,"src":"917:18:48"},"referencedDeclaration":7996,"src":"917:18:48","typeDescriptions":{"typeIdentifier":"t_enum$_QueryStatus_$7996","typeString":"enum Witnet.QueryStatus"}},"visibility":"internal"}],"src":"916:20:48"},"scope":7787,"src":"852:85:48","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7712,"nodeType":"StructuredDocumentation","src":"943:261:48","text":"Retrieves the whole Request record posted to the Witnet Request Board.\n @dev Fails if the `_queryId` is not valid or, if it has already been reported\n @dev or deleted.\n @param _queryId The unique identifier of a previously posted query."},"functionSelector":"99f65804","id":7720,"implemented":false,"kind":"function","modifiers":[],"name":"readRequest","nameLocation":"1218:11:48","nodeType":"FunctionDefinition","parameters":{"id":7715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7714,"mutability":"mutable","name":"_queryId","nameLocation":"1238:8:48","nodeType":"VariableDeclaration","scope":7720,"src":"1230:16:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7713,"name":"uint256","nodeType":"ElementaryTypeName","src":"1230:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1229:18:48"},"returnParameters":{"id":7719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7718,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7720,"src":"1271:21:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_memory_ptr","typeString":"struct Witnet.Request"},"typeName":{"id":7717,"nodeType":"UserDefinedTypeName","pathNode":{"id":7716,"name":"Witnet.Request","nodeType":"IdentifierPath","referencedDeclaration":8008,"src":"1271:14:48"},"referencedDeclaration":8008,"src":"1271:14:48","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request"}},"visibility":"internal"}],"src":"1270:23:48"},"scope":7787,"src":"1209:85:48","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7721,"nodeType":"StructuredDocumentation","src":"1300:334:48","text":"Retrieves the serialized bytecode of a previously posted Witnet Data Request.\n @dev Fails if the `_queryId` is not valid, or if the related script bytecode \n @dev got changed after being posted. Returns empty array once it gets reported, \n @dev or deleted.\n @param _queryId The unique query identifier."},"functionSelector":"3b885f2a","id":7728,"implemented":false,"kind":"function","modifiers":[],"name":"readRequestBytecode","nameLocation":"1648:19:48","nodeType":"FunctionDefinition","parameters":{"id":7724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7723,"mutability":"mutable","name":"_queryId","nameLocation":"1676:8:48","nodeType":"VariableDeclaration","scope":7728,"src":"1668:16:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7722,"name":"uint256","nodeType":"ElementaryTypeName","src":"1668:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1667:18:48"},"returnParameters":{"id":7727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7726,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7728,"src":"1709:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7725,"name":"bytes","nodeType":"ElementaryTypeName","src":"1709:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1708:14:48"},"scope":7787,"src":"1639:84:48","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7729,"nodeType":"StructuredDocumentation","src":"1729:311:48","text":"Retrieves the gas price that any assigned reporter will have to pay when reporting \n result to a previously posted Witnet data request.\n @dev Fails if the `_queryId` is not valid or, if it has already been \n @dev reported, or deleted. \n @param _queryId The unique query identifie"},"functionSelector":"3ae97295","id":7736,"implemented":false,"kind":"function","modifiers":[],"name":"readRequestGasPrice","nameLocation":"2054:19:48","nodeType":"FunctionDefinition","parameters":{"id":7732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7731,"mutability":"mutable","name":"_queryId","nameLocation":"2082:8:48","nodeType":"VariableDeclaration","scope":7736,"src":"2074:16:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7730,"name":"uint256","nodeType":"ElementaryTypeName","src":"2074:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2073:18:48"},"returnParameters":{"id":7735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7734,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7736,"src":"2115:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7733,"name":"uint256","nodeType":"ElementaryTypeName","src":"2115:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2114:9:48"},"scope":7787,"src":"2045:79:48","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7737,"nodeType":"StructuredDocumentation","src":"2130:229:48","text":"Retrieves the reward currently set for the referred query.\n @dev Fails if the `_queryId` is not valid or, if it has already been \n @dev reported, or deleted. \n @param _queryId The unique query identifier."},"functionSelector":"1dd27daf","id":7744,"implemented":false,"kind":"function","modifiers":[],"name":"readRequestReward","nameLocation":"2373:17:48","nodeType":"FunctionDefinition","parameters":{"id":7740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7739,"mutability":"mutable","name":"_queryId","nameLocation":"2399:8:48","nodeType":"VariableDeclaration","scope":7744,"src":"2391:16:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7738,"name":"uint256","nodeType":"ElementaryTypeName","src":"2391:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2390:18:48"},"returnParameters":{"id":7743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7742,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7744,"src":"2432:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7741,"name":"uint256","nodeType":"ElementaryTypeName","src":"2432:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2431:9:48"},"scope":7787,"src":"2364:77:48","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7745,"nodeType":"StructuredDocumentation","src":"2447:220:48","text":"Retrieves the whole `Witnet.Response` record referred to a previously posted Witnet Data Request.\n @dev Fails if the `_queryId` is not in 'Reported' status.\n @param _queryId The unique query identifier."},"functionSelector":"754e5bea","id":7753,"implemented":false,"kind":"function","modifiers":[],"name":"readResponse","nameLocation":"2681:12:48","nodeType":"FunctionDefinition","parameters":{"id":7748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7747,"mutability":"mutable","name":"_queryId","nameLocation":"2702:8:48","nodeType":"VariableDeclaration","scope":7753,"src":"2694:16:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7746,"name":"uint256","nodeType":"ElementaryTypeName","src":"2694:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2693:18:48"},"returnParameters":{"id":7752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7751,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7753,"src":"2735:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_memory_ptr","typeString":"struct Witnet.Response"},"typeName":{"id":7750,"nodeType":"UserDefinedTypeName","pathNode":{"id":7749,"name":"Witnet.Response","nodeType":"IdentifierPath","referencedDeclaration":8017,"src":"2735:15:48"},"referencedDeclaration":8017,"src":"2735:15:48","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage_ptr","typeString":"struct Witnet.Response"}},"visibility":"internal"}],"src":"2734:24:48"},"scope":7787,"src":"2672:87:48","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7754,"nodeType":"StructuredDocumentation","src":"2765:213:48","text":"Retrieves the hash of the Witnet transaction hash that actually solved the referred query.\n @dev Fails if the `_queryId` is not in 'Reported' status.\n @param _queryId The unique query identifier."},"functionSelector":"dc3c71cd","id":7761,"implemented":false,"kind":"function","modifiers":[],"name":"readResponseDrTxHash","nameLocation":"2992:20:48","nodeType":"FunctionDefinition","parameters":{"id":7757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7756,"mutability":"mutable","name":"_queryId","nameLocation":"3021:8:48","nodeType":"VariableDeclaration","scope":7761,"src":"3013:16:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7755,"name":"uint256","nodeType":"ElementaryTypeName","src":"3013:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3012:18:48"},"returnParameters":{"id":7760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7759,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7761,"src":"3054:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7758,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3054:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3053:9:48"},"scope":7787,"src":"2983:80:48","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7762,"nodeType":"StructuredDocumentation","src":"3073:201:48","text":"Retrieves the address that reported the result to a previously-posted request.\n @dev Fails if the `_queryId` is not in 'Reported' status.\n @param _queryId The unique query identifier."},"functionSelector":"9d96fced","id":7769,"implemented":false,"kind":"function","modifiers":[],"name":"readResponseReporter","nameLocation":"3288:20:48","nodeType":"FunctionDefinition","parameters":{"id":7765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7764,"mutability":"mutable","name":"_queryId","nameLocation":"3317:8:48","nodeType":"VariableDeclaration","scope":7769,"src":"3309:16:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7763,"name":"uint256","nodeType":"ElementaryTypeName","src":"3309:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3308:18:48"},"returnParameters":{"id":7768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7767,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7769,"src":"3350:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7766,"name":"address","nodeType":"ElementaryTypeName","src":"3350:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3349:9:48"},"scope":7787,"src":"3279:80:48","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7770,"nodeType":"StructuredDocumentation","src":"3365:202:48","text":"Retrieves the Witnet-provided CBOR-bytes result of a previously posted request.\n @dev Fails if the `_queryId` is not in 'Reported' status.\n @param _queryId The unique query identifier."},"functionSelector":"d4da69ac","id":7778,"implemented":false,"kind":"function","modifiers":[],"name":"readResponseResult","nameLocation":"3581:18:48","nodeType":"FunctionDefinition","parameters":{"id":7773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7772,"mutability":"mutable","name":"_queryId","nameLocation":"3608:8:48","nodeType":"VariableDeclaration","scope":7778,"src":"3600:16:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7771,"name":"uint256","nodeType":"ElementaryTypeName","src":"3600:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3599:18:48"},"returnParameters":{"id":7777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7776,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7778,"src":"3641:20:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":7775,"nodeType":"UserDefinedTypeName","pathNode":{"id":7774,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"3641:13:48"},"referencedDeclaration":8023,"src":"3641:13:48","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"3640:22:48"},"scope":7787,"src":"3572:91:48","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":7779,"nodeType":"StructuredDocumentation","src":"3669:218:48","text":"Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON.\n @dev Fails if the `_queryId` is not in 'Reported' status.\n @param _queryId The unique query identifier."},"functionSelector":"20f9241e","id":7786,"implemented":false,"kind":"function","modifiers":[],"name":"readResponseTimestamp","nameLocation":"3901:21:48","nodeType":"FunctionDefinition","parameters":{"id":7782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7781,"mutability":"mutable","name":"_queryId","nameLocation":"3931:8:48","nodeType":"VariableDeclaration","scope":7786,"src":"3923:16:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7780,"name":"uint256","nodeType":"ElementaryTypeName","src":"3923:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3922:18:48"},"returnParameters":{"id":7785,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7784,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7786,"src":"3964:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7783,"name":"uint256","nodeType":"ElementaryTypeName","src":"3964:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3963:9:48"},"scope":7787,"src":"3892:81:48","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":7788,"src":"213:3762:48","usedErrors":[]}],"src":"33:3943:48"},"id":48},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestParser.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestParser.sol","exportedSymbols":{"IWitnetRequest":[7510],"IWitnetRequestParser":[7965],"Witnet":[8300]},"id":7966,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":7789,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:49"},{"id":7790,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"65:33:49"},{"absolutePath":"witnet-solidity-bridge/contracts/libs/Witnet.sol","file":"../libs/Witnet.sol","id":7791,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7966,"sourceUnit":8301,"src":"100:28:49","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","documentation":{"id":7792,"nodeType":"StructuredDocumentation","src":"130:324:49","text":"@title The Witnet interface for decoding Witnet-provided request to Data Requests.\n This interface exposes functions to check for the success/failure of\n a Witnet-provided result, as well as to parse and convert result into\n Solidity types suitable to the application level. \n @author The Witnet Foundation."},"fullyImplemented":false,"id":7965,"linearizedBaseContracts":[7965],"name":"IWitnetRequestParser","nameLocation":"464:20:49","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":7793,"nodeType":"StructuredDocumentation","src":"492:171:49","text":"Decode raw CBOR bytes into a Witnet.Result instance.\n @param _cborBytes Raw bytes representing a CBOR-encoded value.\n @return A `Witnet.Result` instance."},"functionSelector":"e99e47f3","id":7801,"implemented":false,"kind":"function","modifiers":[],"name":"resultFromCborBytes","nameLocation":"677:19:49","nodeType":"FunctionDefinition","parameters":{"id":7796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7795,"mutability":"mutable","name":"_cborBytes","nameLocation":"710:10:49","nodeType":"VariableDeclaration","scope":7801,"src":"697:23:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7794,"name":"bytes","nodeType":"ElementaryTypeName","src":"697:5:49","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"696:25:49"},"returnParameters":{"id":7800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7799,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7801,"src":"745:20:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":7798,"nodeType":"UserDefinedTypeName","pathNode":{"id":7797,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"745:13:49"},"referencedDeclaration":8023,"src":"745:13:49","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"744:22:49"},"scope":7965,"src":"668:99:49","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":7802,"nodeType":"StructuredDocumentation","src":"773:154:49","text":"Decode a CBOR value into a Witnet.Result instance.\n @param _cborValue An instance of `Witnet.CBOR`.\n @return A `Witnet.Result` instance."},"functionSelector":"2565082b","id":7811,"implemented":false,"kind":"function","modifiers":[],"name":"resultFromCborValue","nameLocation":"941:19:49","nodeType":"FunctionDefinition","parameters":{"id":7806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7805,"mutability":"mutable","name":"_cborValue","nameLocation":"980:10:49","nodeType":"VariableDeclaration","scope":7811,"src":"961:29:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR"},"typeName":{"id":7804,"nodeType":"UserDefinedTypeName","pathNode":{"id":7803,"name":"Witnet.CBOR","nodeType":"IdentifierPath","referencedDeclaration":8037,"src":"961:11:49"},"referencedDeclaration":8037,"src":"961:11:49","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"}},"visibility":"internal"}],"src":"960:31:49"},"returnParameters":{"id":7810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7809,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7811,"src":"1015:20:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":7808,"nodeType":"UserDefinedTypeName","pathNode":{"id":7807,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"1015:13:49"},"referencedDeclaration":8023,"src":"1015:13:49","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"1014:22:49"},"scope":7965,"src":"932:105:49","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":7812,"nodeType":"StructuredDocumentation","src":"1043:153:49","text":"Tell if a Witnet.Result is successful.\n @param _result An instance of Witnet.Result.\n @return `true` if successful, `false` if errored."},"functionSelector":"a8604c1a","id":7820,"implemented":false,"kind":"function","modifiers":[],"name":"isOk","nameLocation":"1210:4:49","nodeType":"FunctionDefinition","parameters":{"id":7816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7815,"mutability":"mutable","name":"_result","nameLocation":"1236:7:49","nodeType":"VariableDeclaration","scope":7820,"src":"1215:28:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":7814,"nodeType":"UserDefinedTypeName","pathNode":{"id":7813,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"1215:13:49"},"referencedDeclaration":8023,"src":"1215:13:49","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"1214:30:49"},"returnParameters":{"id":7819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7818,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7820,"src":"1268:4:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7817,"name":"bool","nodeType":"ElementaryTypeName","src":"1268:4:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1267:6:49"},"scope":7965,"src":"1201:73:49","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":7821,"nodeType":"StructuredDocumentation","src":"1280:150:49","text":"Tell if a Witnet.Result is errored.\n @param _result An instance of Witnet.Result.\n @return `true` if errored, `false` if successful."},"functionSelector":"7780cde1","id":7829,"implemented":false,"kind":"function","modifiers":[],"name":"isError","nameLocation":"1444:7:49","nodeType":"FunctionDefinition","parameters":{"id":7825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7824,"mutability":"mutable","name":"_result","nameLocation":"1473:7:49","nodeType":"VariableDeclaration","scope":7829,"src":"1452:28:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":7823,"nodeType":"UserDefinedTypeName","pathNode":{"id":7822,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"1452:13:49"},"referencedDeclaration":8023,"src":"1452:13:49","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"1451:30:49"},"returnParameters":{"id":7828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7827,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7829,"src":"1505:4:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7826,"name":"bool","nodeType":"ElementaryTypeName","src":"1505:4:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1504:6:49"},"scope":7965,"src":"1435:76:49","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":7830,"nodeType":"StructuredDocumentation","src":"1517:178:49","text":"Decode a bytes value from a Witnet.Result as a `bytes` value.\n @param _result An instance of Witnet.Result.\n @return The `bytes` decoded from the Witnet.Result."},"functionSelector":"c683b465","id":7838,"implemented":false,"kind":"function","modifiers":[],"name":"asBytes","nameLocation":"1709:7:49","nodeType":"FunctionDefinition","parameters":{"id":7834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7833,"mutability":"mutable","name":"_result","nameLocation":"1738:7:49","nodeType":"VariableDeclaration","scope":7838,"src":"1717:28:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":7832,"nodeType":"UserDefinedTypeName","pathNode":{"id":7831,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"1717:13:49"},"referencedDeclaration":8023,"src":"1717:13:49","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"1716:30:49"},"returnParameters":{"id":7837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7836,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7838,"src":"1770:12:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7835,"name":"bytes","nodeType":"ElementaryTypeName","src":"1770:5:49","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1769:14:49"},"scope":7965,"src":"1700:84:49","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":7839,"nodeType":"StructuredDocumentation","src":"1790:182:49","text":"Decode a bytes value from a Witnet.Result as a `bytes32` value.\n @param _result An instance of Witnet.Result.\n @return The `bytes32` decoded from the Witnet.Result."},"functionSelector":"cf62d115","id":7847,"implemented":false,"kind":"function","modifiers":[],"name":"asBytes32","nameLocation":"1986:9:49","nodeType":"FunctionDefinition","parameters":{"id":7843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7842,"mutability":"mutable","name":"_result","nameLocation":"2017:7:49","nodeType":"VariableDeclaration","scope":7847,"src":"1996:28:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":7841,"nodeType":"UserDefinedTypeName","pathNode":{"id":7840,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"1996:13:49"},"referencedDeclaration":8023,"src":"1996:13:49","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"1995:30:49"},"returnParameters":{"id":7846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7845,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7847,"src":"2049:7:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7844,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2049:7:49","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2048:9:49"},"scope":7965,"src":"1977:81:49","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":7848,"nodeType":"StructuredDocumentation","src":"2064:213:49","text":"Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\n @param _result An instance of `Witnet.Result`.\n @return The `CBORValue.Error memory` decoded from the Witnet.Result."},"functionSelector":"db04f16d","id":7857,"implemented":false,"kind":"function","modifiers":[],"name":"asErrorCode","nameLocation":"2291:11:49","nodeType":"FunctionDefinition","parameters":{"id":7852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7851,"mutability":"mutable","name":"_result","nameLocation":"2324:7:49","nodeType":"VariableDeclaration","scope":7857,"src":"2303:28:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":7850,"nodeType":"UserDefinedTypeName","pathNode":{"id":7849,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"2303:13:49"},"referencedDeclaration":8023,"src":"2303:13:49","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"2302:30:49"},"returnParameters":{"id":7856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7855,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7857,"src":"2356:17:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"},"typeName":{"id":7854,"nodeType":"UserDefinedTypeName","pathNode":{"id":7853,"name":"Witnet.ErrorCodes","nodeType":"IdentifierPath","referencedDeclaration":8299,"src":"2356:17:49"},"referencedDeclaration":8299,"src":"2356:17:49","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"visibility":"internal"}],"src":"2355:19:49"},"scope":7965,"src":"2282:93:49","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":7858,"nodeType":"StructuredDocumentation","src":"2382:433:49","text":"Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\n @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\n @param _result An instance of `Witnet.Result`.\n @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message."},"functionSelector":"d74803be","id":7869,"implemented":false,"kind":"function","modifiers":[],"name":"asErrorMessage","nameLocation":"2829:14:49","nodeType":"FunctionDefinition","parameters":{"id":7862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7861,"mutability":"mutable","name":"_result","nameLocation":"2865:7:49","nodeType":"VariableDeclaration","scope":7869,"src":"2844:28:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":7860,"nodeType":"UserDefinedTypeName","pathNode":{"id":7859,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"2844:13:49"},"referencedDeclaration":8023,"src":"2844:13:49","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"2843:30:49"},"returnParameters":{"id":7868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7865,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7869,"src":"2897:17:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"},"typeName":{"id":7864,"nodeType":"UserDefinedTypeName","pathNode":{"id":7863,"name":"Witnet.ErrorCodes","nodeType":"IdentifierPath","referencedDeclaration":8299,"src":"2897:17:49"},"referencedDeclaration":8299,"src":"2897:17:49","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"visibility":"internal"},{"constant":false,"id":7867,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7869,"src":"2916:13:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7866,"name":"string","nodeType":"ElementaryTypeName","src":"2916:6:49","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2896:34:49"},"scope":7965,"src":"2820:111:49","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":7870,"nodeType":"StructuredDocumentation","src":"2937:195:49","text":"Decode a raw error from a `Witnet.Result` as a `uint64[]`.\n @param _result An instance of `Witnet.Result`.\n @return The `uint64[]` raw error as decoded from the `Witnet.Result`."},"functionSelector":"b0768328","id":7879,"implemented":false,"kind":"function","modifiers":[],"name":"asRawError","nameLocation":"3146:10:49","nodeType":"FunctionDefinition","parameters":{"id":7874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7873,"mutability":"mutable","name":"_result","nameLocation":"3178:7:49","nodeType":"VariableDeclaration","scope":7879,"src":"3157:28:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":7872,"nodeType":"UserDefinedTypeName","pathNode":{"id":7871,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"3157:13:49"},"referencedDeclaration":8023,"src":"3157:13:49","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"3156:30:49"},"returnParameters":{"id":7878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7877,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7879,"src":"3209:15:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[]"},"typeName":{"baseType":{"id":7875,"name":"uint64","nodeType":"ElementaryTypeName","src":"3209:6:49","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":7876,"nodeType":"ArrayTypeName","src":"3209:8:49","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_storage_ptr","typeString":"uint64[]"}},"visibility":"internal"}],"src":"3208:17:49"},"scope":7965,"src":"3137:89:49","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":7880,"nodeType":"StructuredDocumentation","src":"3232:179:49","text":"Decode a boolean value from a Witnet.Result as an `bool` value.\n @param _result An instance of Witnet.Result.\n @return The `bool` decoded from the Witnet.Result."},"functionSelector":"d4ced132","id":7888,"implemented":false,"kind":"function","modifiers":[],"name":"asBool","nameLocation":"3425:6:49","nodeType":"FunctionDefinition","parameters":{"id":7884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7883,"mutability":"mutable","name":"_result","nameLocation":"3453:7:49","nodeType":"VariableDeclaration","scope":7888,"src":"3432:28:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":7882,"nodeType":"UserDefinedTypeName","pathNode":{"id":7881,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"3432:13:49"},"referencedDeclaration":8023,"src":"3432:13:49","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"3431:30:49"},"returnParameters":{"id":7887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7886,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7888,"src":"3485:4:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7885,"name":"bool","nodeType":"ElementaryTypeName","src":"3485:4:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3484:6:49"},"scope":7965,"src":"3416:75:49","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":7889,"nodeType":"StructuredDocumentation","src":"3497:572:49","text":"Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\n @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\n by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\n use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\n @param _result An instance of Witnet.Result.\n @return The `int128` decoded from the Witnet.Result."},"functionSelector":"2241f2db","id":7897,"implemented":false,"kind":"function","modifiers":[],"name":"asFixed16","nameLocation":"4083:9:49","nodeType":"FunctionDefinition","parameters":{"id":7893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7892,"mutability":"mutable","name":"_result","nameLocation":"4114:7:49","nodeType":"VariableDeclaration","scope":7897,"src":"4093:28:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":7891,"nodeType":"UserDefinedTypeName","pathNode":{"id":7890,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"4093:13:49"},"referencedDeclaration":8023,"src":"4093:13:49","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"4092:30:49"},"returnParameters":{"id":7896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7895,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7897,"src":"4146:5:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":7894,"name":"int32","nodeType":"ElementaryTypeName","src":"4146:5:49","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"src":"4145:7:49"},"scope":7965,"src":"4074:79:49","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":7898,"nodeType":"StructuredDocumentation","src":"4159:198:49","text":"Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\n @param _result An instance of Witnet.Result.\n @return The `int128[]` decoded from the Witnet.Result."},"functionSelector":"0f572d2c","id":7907,"implemented":false,"kind":"function","modifiers":[],"name":"asFixed16Array","nameLocation":"4371:14:49","nodeType":"FunctionDefinition","parameters":{"id":7902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7901,"mutability":"mutable","name":"_result","nameLocation":"4407:7:49","nodeType":"VariableDeclaration","scope":7907,"src":"4386:28:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":7900,"nodeType":"UserDefinedTypeName","pathNode":{"id":7899,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"4386:13:49"},"referencedDeclaration":8023,"src":"4386:13:49","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"4385:30:49"},"returnParameters":{"id":7906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7905,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7907,"src":"4439:14:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_memory_ptr","typeString":"int32[]"},"typeName":{"baseType":{"id":7903,"name":"int32","nodeType":"ElementaryTypeName","src":"4439:5:49","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":7904,"nodeType":"ArrayTypeName","src":"4439:7:49","typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_storage_ptr","typeString":"int32[]"}},"visibility":"internal"}],"src":"4438:16:49"},"scope":7965,"src":"4362:93:49","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":7908,"nodeType":"StructuredDocumentation","src":"4461:191:49","text":"Decode a integer numeric value from a Witnet.Result as an `int128` value.\n @param _result An instance of Witnet.Result.\n @return The `int128` decoded from the Witnet.Result."},"functionSelector":"2b905fbb","id":7916,"implemented":false,"kind":"function","modifiers":[],"name":"asInt128","nameLocation":"4666:8:49","nodeType":"FunctionDefinition","parameters":{"id":7912,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7911,"mutability":"mutable","name":"_result","nameLocation":"4696:7:49","nodeType":"VariableDeclaration","scope":7916,"src":"4675:28:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":7910,"nodeType":"UserDefinedTypeName","pathNode":{"id":7909,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"4675:13:49"},"referencedDeclaration":8023,"src":"4675:13:49","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"4674:30:49"},"returnParameters":{"id":7915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7914,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7916,"src":"4728:6:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":7913,"name":"int128","nodeType":"ElementaryTypeName","src":"4728:6:49","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"4727:8:49"},"scope":7965,"src":"4657:79:49","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":7917,"nodeType":"StructuredDocumentation","src":"4742:206:49","text":"Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\n @param _result An instance of Witnet.Result.\n @return The `int128[]` decoded from the Witnet.Result."},"functionSelector":"07e66852","id":7926,"implemented":false,"kind":"function","modifiers":[],"name":"asInt128Array","nameLocation":"4962:13:49","nodeType":"FunctionDefinition","parameters":{"id":7921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7920,"mutability":"mutable","name":"_result","nameLocation":"4997:7:49","nodeType":"VariableDeclaration","scope":7926,"src":"4976:28:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":7919,"nodeType":"UserDefinedTypeName","pathNode":{"id":7918,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"4976:13:49"},"referencedDeclaration":8023,"src":"4976:13:49","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"4975:30:49"},"returnParameters":{"id":7925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7924,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7926,"src":"5029:15:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int128_$dyn_memory_ptr","typeString":"int128[]"},"typeName":{"baseType":{"id":7922,"name":"int128","nodeType":"ElementaryTypeName","src":"5029:6:49","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":7923,"nodeType":"ArrayTypeName","src":"5029:8:49","typeDescriptions":{"typeIdentifier":"t_array$_t_int128_$dyn_storage_ptr","typeString":"int128[]"}},"visibility":"internal"}],"src":"5028:17:49"},"scope":7965,"src":"4953:93:49","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":7927,"nodeType":"StructuredDocumentation","src":"5052:181:49","text":"Decode a string value from a Witnet.Result as a `string` value.\n @param _result An instance of Witnet.Result.\n @return The `string` decoded from the Witnet.Result."},"functionSelector":"109a0e3c","id":7935,"implemented":false,"kind":"function","modifiers":[],"name":"asString","nameLocation":"5247:8:49","nodeType":"FunctionDefinition","parameters":{"id":7931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7930,"mutability":"mutable","name":"_result","nameLocation":"5277:7:49","nodeType":"VariableDeclaration","scope":7935,"src":"5256:28:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":7929,"nodeType":"UserDefinedTypeName","pathNode":{"id":7928,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"5256:13:49"},"referencedDeclaration":8023,"src":"5256:13:49","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"5255:30:49"},"returnParameters":{"id":7934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7933,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7935,"src":"5309:13:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7932,"name":"string","nodeType":"ElementaryTypeName","src":"5309:6:49","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5308:15:49"},"scope":7965,"src":"5238:86:49","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":7936,"nodeType":"StructuredDocumentation","src":"5330:196:49","text":"Decode an array of string values from a Witnet.Result as a `string[]` value.\n @param _result An instance of Witnet.Result.\n @return The `string[]` decoded from the Witnet.Result."},"functionSelector":"c87d969e","id":7945,"implemented":false,"kind":"function","modifiers":[],"name":"asStringArray","nameLocation":"5540:13:49","nodeType":"FunctionDefinition","parameters":{"id":7940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7939,"mutability":"mutable","name":"_result","nameLocation":"5575:7:49","nodeType":"VariableDeclaration","scope":7945,"src":"5554:28:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":7938,"nodeType":"UserDefinedTypeName","pathNode":{"id":7937,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"5554:13:49"},"referencedDeclaration":8023,"src":"5554:13:49","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"5553:30:49"},"returnParameters":{"id":7944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7943,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7945,"src":"5607:15:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":7941,"name":"string","nodeType":"ElementaryTypeName","src":"5607:6:49","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7942,"nodeType":"ArrayTypeName","src":"5607:8:49","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"5606:17:49"},"scope":7965,"src":"5531:93:49","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":7946,"nodeType":"StructuredDocumentation","src":"5630:190:49","text":"Decode a natural numeric value from a Witnet.Result as a `uint64` value.\n @param _result An instance of Witnet.Result.\n @return The `uint64` decoded from the Witnet.Result."},"functionSelector":"bc7e25ff","id":7954,"implemented":false,"kind":"function","modifiers":[],"name":"asUint64","nameLocation":"5834:8:49","nodeType":"FunctionDefinition","parameters":{"id":7950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7949,"mutability":"mutable","name":"_result","nameLocation":"5864:7:49","nodeType":"VariableDeclaration","scope":7954,"src":"5843:28:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":7948,"nodeType":"UserDefinedTypeName","pathNode":{"id":7947,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"5843:13:49"},"referencedDeclaration":8023,"src":"5843:13:49","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"5842:30:49"},"returnParameters":{"id":7953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7952,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7954,"src":"5895:6:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":7951,"name":"uint64","nodeType":"ElementaryTypeName","src":"5895:6:49","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"5894:8:49"},"scope":7965,"src":"5825:78:49","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":7955,"nodeType":"StructuredDocumentation","src":"5909:205:49","text":"Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\n @param _result An instance of Witnet.Result.\n @return The `uint64[]` decoded from the Witnet.Result."},"functionSelector":"4dcffaf3","id":7964,"implemented":false,"kind":"function","modifiers":[],"name":"asUint64Array","nameLocation":"6128:13:49","nodeType":"FunctionDefinition","parameters":{"id":7959,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7958,"mutability":"mutable","name":"_result","nameLocation":"6163:7:49","nodeType":"VariableDeclaration","scope":7964,"src":"6142:28:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":7957,"nodeType":"UserDefinedTypeName","pathNode":{"id":7956,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"6142:13:49"},"referencedDeclaration":8023,"src":"6142:13:49","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"6141:30:49"},"returnParameters":{"id":7963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7962,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7964,"src":"6195:15:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[]"},"typeName":{"baseType":{"id":7960,"name":"uint64","nodeType":"ElementaryTypeName","src":"6195:6:49","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":7961,"nodeType":"ArrayTypeName","src":"6195:8:49","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_storage_ptr","typeString":"uint64[]"}},"visibility":"internal"}],"src":"6194:17:49"},"scope":7965,"src":"6119:93:49","stateMutability":"pure","virtual":false,"visibility":"external"}],"scope":7966,"src":"454:5761:49","usedErrors":[]}],"src":"33:6183:49"},"id":49},"witnet-solidity-bridge/contracts/libs/Witnet.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/libs/Witnet.sol","exportedSymbols":{"IWitnetRequest":[7510],"Witnet":[8300]},"id":8301,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":7967,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:50"},{"id":7968,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"65:33:50"},{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol","file":"../interfaces/IWitnetRequest.sol","id":7969,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8301,"sourceUnit":7511,"src":"100:42:50","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":8300,"linearizedBaseContracts":[8300],"name":"Witnet","nameLocation":"152:6:50","nodeType":"ContractDefinition","nodes":[{"body":{"id":7981,"nodeType":"Block","src":"368:41:50","statements":[{"expression":{"arguments":[{"id":7978,"name":"_bytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7972,"src":"392:9:50","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7977,"name":"sha256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-22,"src":"385:6:50","typeDescriptions":{"typeIdentifier":"t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"385:17:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":7976,"id":7980,"nodeType":"Return","src":"378:24:50"}]},"documentation":{"id":7970,"nodeType":"StructuredDocumentation","src":"166:127:50","text":"@notice Witnet function that computes the hash of a CBOR-encoded Data Request.\n @param _bytecode CBOR-encoded RADON."},"id":7982,"implemented":true,"kind":"function","modifiers":[],"name":"hash","nameLocation":"307:4:50","nodeType":"FunctionDefinition","parameters":{"id":7973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7972,"mutability":"mutable","name":"_bytecode","nameLocation":"325:9:50","nodeType":"VariableDeclaration","scope":7982,"src":"312:22:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7971,"name":"bytes","nodeType":"ElementaryTypeName","src":"312:5:50","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"311:24:50"},"returnParameters":{"id":7976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7975,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7982,"src":"359:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7974,"name":"bytes32","nodeType":"ElementaryTypeName","src":"359:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"358:9:50"},"scope":8300,"src":"298:111:50","stateMutability":"pure","virtual":false,"visibility":"internal"},{"canonicalName":"Witnet.Query","id":7991,"members":[{"constant":false,"id":7985,"mutability":"mutable","name":"request","nameLocation":"561:7:50","nodeType":"VariableDeclaration","scope":7991,"src":"553:15:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request"},"typeName":{"id":7984,"nodeType":"UserDefinedTypeName","pathNode":{"id":7983,"name":"Request","nodeType":"IdentifierPath","referencedDeclaration":8008,"src":"553:7:50"},"referencedDeclaration":8008,"src":"553:7:50","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$8008_storage_ptr","typeString":"struct Witnet.Request"}},"visibility":"internal"},{"constant":false,"id":7988,"mutability":"mutable","name":"response","nameLocation":"587:8:50","nodeType":"VariableDeclaration","scope":7991,"src":"578:17:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage_ptr","typeString":"struct Witnet.Response"},"typeName":{"id":7987,"nodeType":"UserDefinedTypeName","pathNode":{"id":7986,"name":"Response","nodeType":"IdentifierPath","referencedDeclaration":8017,"src":"578:8:50"},"referencedDeclaration":8017,"src":"578:8:50","typeDescriptions":{"typeIdentifier":"t_struct$_Response_$8017_storage_ptr","typeString":"struct Witnet.Response"}},"visibility":"internal"},{"constant":false,"id":7990,"mutability":"mutable","name":"from","nameLocation":"613:4:50","nodeType":"VariableDeclaration","scope":7991,"src":"605:12:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7989,"name":"address","nodeType":"ElementaryTypeName","src":"605:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Query","nameLocation":"537:5:50","nodeType":"StructDefinition","scope":8300,"src":"530:145:50","visibility":"public"},{"canonicalName":"Witnet.QueryStatus","id":7996,"members":[{"id":7992,"name":"Unknown","nameLocation":"751:7:50","nodeType":"EnumValue","src":"751:7:50"},{"id":7993,"name":"Posted","nameLocation":"768:6:50","nodeType":"EnumValue","src":"768:6:50"},{"id":7994,"name":"Reported","nameLocation":"784:8:50","nodeType":"EnumValue","src":"784:8:50"},{"id":7995,"name":"Deleted","nameLocation":"802:7:50","nodeType":"EnumValue","src":"802:7:50"}],"name":"QueryStatus","nameLocation":"729:11:50","nodeType":"EnumDefinition","src":"724:91:50"},{"canonicalName":"Witnet.Request","id":8008,"members":[{"constant":false,"id":7999,"mutability":"mutable","name":"addr","nameLocation":"948:4:50","nodeType":"VariableDeclaration","scope":8008,"src":"933:19:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRequest_$7510","typeString":"contract IWitnetRequest"},"typeName":{"id":7998,"nodeType":"UserDefinedTypeName","pathNode":{"id":7997,"name":"IWitnetRequest","nodeType":"IdentifierPath","referencedDeclaration":7510,"src":"933:14:50"},"referencedDeclaration":7510,"src":"933:14:50","typeDescriptions":{"typeIdentifier":"t_contract$_IWitnetRequest_$7510","typeString":"contract IWitnetRequest"}},"visibility":"internal"},{"constant":false,"id":8001,"mutability":"mutable","name":"requester","nameLocation":"1053:9:50","nodeType":"VariableDeclaration","scope":8008,"src":"1045:17:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8000,"name":"address","nodeType":"ElementaryTypeName","src":"1045:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8003,"mutability":"mutable","name":"hash","nameLocation":"1131:4:50","nodeType":"VariableDeclaration","scope":8008,"src":"1123:12:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8002,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1123:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":8005,"mutability":"mutable","name":"gasprice","nameLocation":"1227:8:50","nodeType":"VariableDeclaration","scope":8008,"src":"1219:16:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8004,"name":"uint256","nodeType":"ElementaryTypeName","src":"1219:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8007,"mutability":"mutable","name":"reward","nameLocation":"1326:6:50","nodeType":"VariableDeclaration","scope":8008,"src":"1318:14:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8006,"name":"uint256","nodeType":"ElementaryTypeName","src":"1318:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Request","nameLocation":"915:7:50","nodeType":"StructDefinition","scope":8300,"src":"908:489:50","visibility":"public"},{"canonicalName":"Witnet.Response","id":8017,"members":[{"constant":false,"id":8010,"mutability":"mutable","name":"reporter","nameLocation":"1527:8:50","nodeType":"VariableDeclaration","scope":8017,"src":"1519:16:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8009,"name":"address","nodeType":"ElementaryTypeName","src":"1519:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8012,"mutability":"mutable","name":"timestamp","nameLocation":"1606:9:50","nodeType":"VariableDeclaration","scope":8017,"src":"1598:17:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8011,"name":"uint256","nodeType":"ElementaryTypeName","src":"1598:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8014,"mutability":"mutable","name":"drTxHash","nameLocation":"1682:8:50","nodeType":"VariableDeclaration","scope":8017,"src":"1674:16:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8013,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1674:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":8016,"mutability":"mutable","name":"cborBytes","nameLocation":"1786:9:50","nodeType":"VariableDeclaration","scope":8017,"src":"1778:17:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":8015,"name":"bytes","nodeType":"ElementaryTypeName","src":"1778:5:50","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Response","nameLocation":"1500:8:50","nodeType":"StructDefinition","scope":8300,"src":"1493:380:50","visibility":"public"},{"canonicalName":"Witnet.Result","id":8023,"members":[{"constant":false,"id":8019,"mutability":"mutable","name":"success","nameLocation":"1985:7:50","nodeType":"VariableDeclaration","scope":8023,"src":"1980:12:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8018,"name":"bool","nodeType":"ElementaryTypeName","src":"1980:4:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8022,"mutability":"mutable","name":"value","nameLocation":"2092:5:50","nodeType":"VariableDeclaration","scope":8023,"src":"2087:10:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"},"typeName":{"id":8021,"nodeType":"UserDefinedTypeName","pathNode":{"id":8020,"name":"CBOR","nodeType":"IdentifierPath","referencedDeclaration":8037,"src":"2087:4:50"},"referencedDeclaration":8037,"src":"2087:4:50","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"}},"visibility":"internal"}],"name":"Result","nameLocation":"1963:6:50","nodeType":"StructDefinition","scope":8300,"src":"1956:206:50","visibility":"public"},{"canonicalName":"Witnet.CBOR","id":8037,"members":[{"constant":false,"id":8026,"mutability":"mutable","name":"buffer","nameLocation":"2288:6:50","nodeType":"VariableDeclaration","scope":8037,"src":"2281:13:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_storage_ptr","typeString":"struct Witnet.Buffer"},"typeName":{"id":8025,"nodeType":"UserDefinedTypeName","pathNode":{"id":8024,"name":"Buffer","nodeType":"IdentifierPath","referencedDeclaration":8042,"src":"2281:6:50"},"referencedDeclaration":8042,"src":"2281:6:50","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_storage_ptr","typeString":"struct Witnet.Buffer"}},"visibility":"internal"},{"constant":false,"id":8028,"mutability":"mutable","name":"initialByte","nameLocation":"2310:11:50","nodeType":"VariableDeclaration","scope":8037,"src":"2304:17:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":8027,"name":"uint8","nodeType":"ElementaryTypeName","src":"2304:5:50","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":8030,"mutability":"mutable","name":"majorType","nameLocation":"2337:9:50","nodeType":"VariableDeclaration","scope":8037,"src":"2331:15:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":8029,"name":"uint8","nodeType":"ElementaryTypeName","src":"2331:5:50","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":8032,"mutability":"mutable","name":"additionalInformation","nameLocation":"2362:21:50","nodeType":"VariableDeclaration","scope":8037,"src":"2356:27:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":8031,"name":"uint8","nodeType":"ElementaryTypeName","src":"2356:5:50","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":8034,"mutability":"mutable","name":"len","nameLocation":"2400:3:50","nodeType":"VariableDeclaration","scope":8037,"src":"2393:10:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":8033,"name":"uint64","nodeType":"ElementaryTypeName","src":"2393:6:50","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":8036,"mutability":"mutable","name":"tag","nameLocation":"2420:3:50","nodeType":"VariableDeclaration","scope":8037,"src":"2413:10:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":8035,"name":"uint64","nodeType":"ElementaryTypeName","src":"2413:6:50","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"CBOR","nameLocation":"2266:4:50","nodeType":"StructDefinition","scope":8300,"src":"2259:171:50","visibility":"public"},{"canonicalName":"Witnet.Buffer","id":8042,"members":[{"constant":false,"id":8039,"mutability":"mutable","name":"data","nameLocation":"2497:4:50","nodeType":"VariableDeclaration","scope":8042,"src":"2491:10:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":8038,"name":"bytes","nodeType":"ElementaryTypeName","src":"2491:5:50","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":8041,"mutability":"mutable","name":"cursor","nameLocation":"2518:6:50","nodeType":"VariableDeclaration","scope":8042,"src":"2511:13:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":8040,"name":"uint32","nodeType":"ElementaryTypeName","src":"2511:6:50","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"name":"Buffer","nameLocation":"2474:6:50","nodeType":"StructDefinition","scope":8300,"src":"2467:64:50","visibility":"public"},{"canonicalName":"Witnet.ErrorCodes","id":8299,"members":[{"id":8043,"name":"Unknown","nameLocation":"2656:7:50","nodeType":"EnumValue","src":"2656:7:50"},{"id":8044,"name":"SourceScriptNotCBOR","nameLocation":"2793:19:50","nodeType":"EnumValue","src":"2793:19:50"},{"id":8045,"name":"SourceScriptNotArray","nameLocation":"2901:20:50","nodeType":"EnumValue","src":"2901:20:50"},{"id":8046,"name":"SourceScriptNotRADON","nameLocation":"3023:20:50","nodeType":"EnumValue","src":"3023:20:50"},{"id":8047,"name":"ScriptFormat0x04","nameLocation":"3077:16:50","nodeType":"EnumValue","src":"3077:16:50"},{"id":8048,"name":"ScriptFormat0x05","nameLocation":"3103:16:50","nodeType":"EnumValue","src":"3103:16:50"},{"id":8049,"name":"ScriptFormat0x06","nameLocation":"3129:16:50","nodeType":"EnumValue","src":"3129:16:50"},{"id":8050,"name":"ScriptFormat0x07","nameLocation":"3155:16:50","nodeType":"EnumValue","src":"3155:16:50"},{"id":8051,"name":"ScriptFormat0x08","nameLocation":"3181:16:50","nodeType":"EnumValue","src":"3181:16:50"},{"id":8052,"name":"ScriptFormat0x09","nameLocation":"3207:16:50","nodeType":"EnumValue","src":"3207:16:50"},{"id":8053,"name":"ScriptFormat0x0A","nameLocation":"3233:16:50","nodeType":"EnumValue","src":"3233:16:50"},{"id":8054,"name":"ScriptFormat0x0B","nameLocation":"3259:16:50","nodeType":"EnumValue","src":"3259:16:50"},{"id":8055,"name":"ScriptFormat0x0C","nameLocation":"3285:16:50","nodeType":"EnumValue","src":"3285:16:50"},{"id":8056,"name":"ScriptFormat0x0D","nameLocation":"3311:16:50","nodeType":"EnumValue","src":"3311:16:50"},{"id":8057,"name":"ScriptFormat0x0E","nameLocation":"3337:16:50","nodeType":"EnumValue","src":"3337:16:50"},{"id":8058,"name":"ScriptFormat0x0F","nameLocation":"3363:16:50","nodeType":"EnumValue","src":"3363:16:50"},{"id":8059,"name":"RequestTooManySources","nameLocation":"3475:21:50","nodeType":"EnumValue","src":"3475:21:50"},{"id":8060,"name":"ScriptTooManyCalls","nameLocation":"3560:18:50","nodeType":"EnumValue","src":"3560:18:50"},{"id":8061,"name":"Complexity0x12","nameLocation":"3612:14:50","nodeType":"EnumValue","src":"3612:14:50"},{"id":8062,"name":"Complexity0x13","nameLocation":"3636:14:50","nodeType":"EnumValue","src":"3636:14:50"},{"id":8063,"name":"Complexity0x14","nameLocation":"3660:14:50","nodeType":"EnumValue","src":"3660:14:50"},{"id":8064,"name":"Complexity0x15","nameLocation":"3684:14:50","nodeType":"EnumValue","src":"3684:14:50"},{"id":8065,"name":"Complexity0x16","nameLocation":"3708:14:50","nodeType":"EnumValue","src":"3708:14:50"},{"id":8066,"name":"Complexity0x17","nameLocation":"3732:14:50","nodeType":"EnumValue","src":"3732:14:50"},{"id":8067,"name":"Complexity0x18","nameLocation":"3756:14:50","nodeType":"EnumValue","src":"3756:14:50"},{"id":8068,"name":"Complexity0x19","nameLocation":"3780:14:50","nodeType":"EnumValue","src":"3780:14:50"},{"id":8069,"name":"Complexity0x1A","nameLocation":"3804:14:50","nodeType":"EnumValue","src":"3804:14:50"},{"id":8070,"name":"Complexity0x1B","nameLocation":"3828:14:50","nodeType":"EnumValue","src":"3828:14:50"},{"id":8071,"name":"Complexity0x1C","nameLocation":"3852:14:50","nodeType":"EnumValue","src":"3852:14:50"},{"id":8072,"name":"Complexity0x1D","nameLocation":"3876:14:50","nodeType":"EnumValue","src":"3876:14:50"},{"id":8073,"name":"Complexity0x1E","nameLocation":"3900:14:50","nodeType":"EnumValue","src":"3900:14:50"},{"id":8074,"name":"Complexity0x1F","nameLocation":"3924:14:50","nodeType":"EnumValue","src":"3924:14:50"},{"id":8075,"name":"UnsupportedOperator","nameLocation":"4022:19:50","nodeType":"EnumValue","src":"4022:19:50"},{"id":8076,"name":"Operator0x21","nameLocation":"4075:12:50","nodeType":"EnumValue","src":"4075:12:50"},{"id":8077,"name":"Operator0x22","nameLocation":"4097:12:50","nodeType":"EnumValue","src":"4097:12:50"},{"id":8078,"name":"Operator0x23","nameLocation":"4119:12:50","nodeType":"EnumValue","src":"4119:12:50"},{"id":8079,"name":"Operator0x24","nameLocation":"4141:12:50","nodeType":"EnumValue","src":"4141:12:50"},{"id":8080,"name":"Operator0x25","nameLocation":"4163:12:50","nodeType":"EnumValue","src":"4163:12:50"},{"id":8081,"name":"Operator0x26","nameLocation":"4185:12:50","nodeType":"EnumValue","src":"4185:12:50"},{"id":8082,"name":"Operator0x27","nameLocation":"4207:12:50","nodeType":"EnumValue","src":"4207:12:50"},{"id":8083,"name":"Operator0x28","nameLocation":"4229:12:50","nodeType":"EnumValue","src":"4229:12:50"},{"id":8084,"name":"Operator0x29","nameLocation":"4251:12:50","nodeType":"EnumValue","src":"4251:12:50"},{"id":8085,"name":"Operator0x2A","nameLocation":"4273:12:50","nodeType":"EnumValue","src":"4273:12:50"},{"id":8086,"name":"Operator0x2B","nameLocation":"4295:12:50","nodeType":"EnumValue","src":"4295:12:50"},{"id":8087,"name":"Operator0x2C","nameLocation":"4317:12:50","nodeType":"EnumValue","src":"4317:12:50"},{"id":8088,"name":"Operator0x2D","nameLocation":"4339:12:50","nodeType":"EnumValue","src":"4339:12:50"},{"id":8089,"name":"Operator0x2E","nameLocation":"4361:12:50","nodeType":"EnumValue","src":"4361:12:50"},{"id":8090,"name":"Operator0x2F","nameLocation":"4383:12:50","nodeType":"EnumValue","src":"4383:12:50"},{"id":8091,"name":"HTTP","nameLocation":"4537:4:50","nodeType":"EnumValue","src":"4537:4:50"},{"id":8092,"name":"RetrievalTimeout","nameLocation":"4621:16:50","nodeType":"EnumValue","src":"4621:16:50"},{"id":8093,"name":"Retrieval0x32","nameLocation":"4671:13:50","nodeType":"EnumValue","src":"4671:13:50"},{"id":8094,"name":"Retrieval0x33","nameLocation":"4694:13:50","nodeType":"EnumValue","src":"4694:13:50"},{"id":8095,"name":"Retrieval0x34","nameLocation":"4717:13:50","nodeType":"EnumValue","src":"4717:13:50"},{"id":8096,"name":"Retrieval0x35","nameLocation":"4740:13:50","nodeType":"EnumValue","src":"4740:13:50"},{"id":8097,"name":"Retrieval0x36","nameLocation":"4763:13:50","nodeType":"EnumValue","src":"4763:13:50"},{"id":8098,"name":"Retrieval0x37","nameLocation":"4786:13:50","nodeType":"EnumValue","src":"4786:13:50"},{"id":8099,"name":"Retrieval0x38","nameLocation":"4809:13:50","nodeType":"EnumValue","src":"4809:13:50"},{"id":8100,"name":"Retrieval0x39","nameLocation":"4832:13:50","nodeType":"EnumValue","src":"4832:13:50"},{"id":8101,"name":"Retrieval0x3A","nameLocation":"4855:13:50","nodeType":"EnumValue","src":"4855:13:50"},{"id":8102,"name":"Retrieval0x3B","nameLocation":"4878:13:50","nodeType":"EnumValue","src":"4878:13:50"},{"id":8103,"name":"Retrieval0x3C","nameLocation":"4901:13:50","nodeType":"EnumValue","src":"4901:13:50"},{"id":8104,"name":"Retrieval0x3D","nameLocation":"4924:13:50","nodeType":"EnumValue","src":"4924:13:50"},{"id":8105,"name":"Retrieval0x3E","nameLocation":"4947:13:50","nodeType":"EnumValue","src":"4947:13:50"},{"id":8106,"name":"Retrieval0x3F","nameLocation":"4970:13:50","nodeType":"EnumValue","src":"4970:13:50"},{"id":8107,"name":"Underflow","nameLocation":"5069:9:50","nodeType":"EnumValue","src":"5069:9:50"},{"id":8108,"name":"Overflow","nameLocation":"5140:8:50","nodeType":"EnumValue","src":"5140:8:50"},{"id":8109,"name":"DivisionByZero","nameLocation":"5201:14:50","nodeType":"EnumValue","src":"5201:14:50"},{"id":8110,"name":"Math0x43","nameLocation":"5249:8:50","nodeType":"EnumValue","src":"5249:8:50"},{"id":8111,"name":"Math0x44","nameLocation":"5267:8:50","nodeType":"EnumValue","src":"5267:8:50"},{"id":8112,"name":"Math0x45","nameLocation":"5285:8:50","nodeType":"EnumValue","src":"5285:8:50"},{"id":8113,"name":"Math0x46","nameLocation":"5303:8:50","nodeType":"EnumValue","src":"5303:8:50"},{"id":8114,"name":"Math0x47","nameLocation":"5321:8:50","nodeType":"EnumValue","src":"5321:8:50"},{"id":8115,"name":"Math0x48","nameLocation":"5339:8:50","nodeType":"EnumValue","src":"5339:8:50"},{"id":8116,"name":"Math0x49","nameLocation":"5357:8:50","nodeType":"EnumValue","src":"5357:8:50"},{"id":8117,"name":"Math0x4A","nameLocation":"5375:8:50","nodeType":"EnumValue","src":"5375:8:50"},{"id":8118,"name":"Math0x4B","nameLocation":"5393:8:50","nodeType":"EnumValue","src":"5393:8:50"},{"id":8119,"name":"Math0x4C","nameLocation":"5411:8:50","nodeType":"EnumValue","src":"5411:8:50"},{"id":8120,"name":"Math0x4D","nameLocation":"5429:8:50","nodeType":"EnumValue","src":"5429:8:50"},{"id":8121,"name":"Math0x4E","nameLocation":"5447:8:50","nodeType":"EnumValue","src":"5447:8:50"},{"id":8122,"name":"Math0x4F","nameLocation":"5465:8:50","nodeType":"EnumValue","src":"5465:8:50"},{"id":8123,"name":"NoReveals","nameLocation":"5547:9:50","nodeType":"EnumValue","src":"5547:9:50"},{"id":8124,"name":"InsufficientConsensus","nameLocation":"5636:21:50","nodeType":"EnumValue","src":"5636:21:50"},{"id":8125,"name":"InsufficientCommits","nameLocation":"5707:19:50","nodeType":"EnumValue","src":"5707:19:50"},{"id":8126,"name":"TallyExecution","nameLocation":"5791:14:50","nodeType":"EnumValue","src":"5791:14:50"},{"id":8127,"name":"OtherError0x54","nameLocation":"5839:14:50","nodeType":"EnumValue","src":"5839:14:50"},{"id":8128,"name":"OtherError0x55","nameLocation":"5863:14:50","nodeType":"EnumValue","src":"5863:14:50"},{"id":8129,"name":"OtherError0x56","nameLocation":"5887:14:50","nodeType":"EnumValue","src":"5887:14:50"},{"id":8130,"name":"OtherError0x57","nameLocation":"5911:14:50","nodeType":"EnumValue","src":"5911:14:50"},{"id":8131,"name":"OtherError0x58","nameLocation":"5935:14:50","nodeType":"EnumValue","src":"5935:14:50"},{"id":8132,"name":"OtherError0x59","nameLocation":"5959:14:50","nodeType":"EnumValue","src":"5959:14:50"},{"id":8133,"name":"OtherError0x5A","nameLocation":"5983:14:50","nodeType":"EnumValue","src":"5983:14:50"},{"id":8134,"name":"OtherError0x5B","nameLocation":"6007:14:50","nodeType":"EnumValue","src":"6007:14:50"},{"id":8135,"name":"OtherError0x5C","nameLocation":"6031:14:50","nodeType":"EnumValue","src":"6031:14:50"},{"id":8136,"name":"OtherError0x5D","nameLocation":"6055:14:50","nodeType":"EnumValue","src":"6055:14:50"},{"id":8137,"name":"OtherError0x5E","nameLocation":"6079:14:50","nodeType":"EnumValue","src":"6079:14:50"},{"id":8138,"name":"OtherError0x5F","nameLocation":"6103:14:50","nodeType":"EnumValue","src":"6103:14:50"},{"id":8139,"name":"MalformedReveal","nameLocation":"6222:15:50","nodeType":"EnumValue","src":"6222:15:50"},{"id":8140,"name":"OtherError0x61","nameLocation":"6271:14:50","nodeType":"EnumValue","src":"6271:14:50"},{"id":8141,"name":"OtherError0x62","nameLocation":"6295:14:50","nodeType":"EnumValue","src":"6295:14:50"},{"id":8142,"name":"OtherError0x63","nameLocation":"6319:14:50","nodeType":"EnumValue","src":"6319:14:50"},{"id":8143,"name":"OtherError0x64","nameLocation":"6343:14:50","nodeType":"EnumValue","src":"6343:14:50"},{"id":8144,"name":"OtherError0x65","nameLocation":"6367:14:50","nodeType":"EnumValue","src":"6367:14:50"},{"id":8145,"name":"OtherError0x66","nameLocation":"6391:14:50","nodeType":"EnumValue","src":"6391:14:50"},{"id":8146,"name":"OtherError0x67","nameLocation":"6415:14:50","nodeType":"EnumValue","src":"6415:14:50"},{"id":8147,"name":"OtherError0x68","nameLocation":"6439:14:50","nodeType":"EnumValue","src":"6439:14:50"},{"id":8148,"name":"OtherError0x69","nameLocation":"6463:14:50","nodeType":"EnumValue","src":"6463:14:50"},{"id":8149,"name":"OtherError0x6A","nameLocation":"6487:14:50","nodeType":"EnumValue","src":"6487:14:50"},{"id":8150,"name":"OtherError0x6B","nameLocation":"6511:14:50","nodeType":"EnumValue","src":"6511:14:50"},{"id":8151,"name":"OtherError0x6C","nameLocation":"6535:14:50","nodeType":"EnumValue","src":"6535:14:50"},{"id":8152,"name":"OtherError0x6D","nameLocation":"6559:14:50","nodeType":"EnumValue","src":"6559:14:50"},{"id":8153,"name":"OtherError0x6E","nameLocation":"6583:14:50","nodeType":"EnumValue","src":"6583:14:50"},{"id":8154,"name":"OtherError0x6F","nameLocation":"6607:14:50","nodeType":"EnumValue","src":"6607:14:50"},{"id":8155,"name":"ArrayIndexOutOfBounds","nameLocation":"6749:21:50","nodeType":"EnumValue","src":"6749:21:50"},{"id":8156,"name":"MapKeyNotFound","nameLocation":"6865:14:50","nodeType":"EnumValue","src":"6865:14:50"},{"id":8157,"name":"OtherError0x72","nameLocation":"6913:14:50","nodeType":"EnumValue","src":"6913:14:50"},{"id":8158,"name":"OtherError0x73","nameLocation":"6937:14:50","nodeType":"EnumValue","src":"6937:14:50"},{"id":8159,"name":"OtherError0x74","nameLocation":"6961:14:50","nodeType":"EnumValue","src":"6961:14:50"},{"id":8160,"name":"OtherError0x75","nameLocation":"6985:14:50","nodeType":"EnumValue","src":"6985:14:50"},{"id":8161,"name":"OtherError0x76","nameLocation":"7009:14:50","nodeType":"EnumValue","src":"7009:14:50"},{"id":8162,"name":"OtherError0x77","nameLocation":"7033:14:50","nodeType":"EnumValue","src":"7033:14:50"},{"id":8163,"name":"OtherError0x78","nameLocation":"7057:14:50","nodeType":"EnumValue","src":"7057:14:50"},{"id":8164,"name":"OtherError0x79","nameLocation":"7081:14:50","nodeType":"EnumValue","src":"7081:14:50"},{"id":8165,"name":"OtherError0x7A","nameLocation":"7105:14:50","nodeType":"EnumValue","src":"7105:14:50"},{"id":8166,"name":"OtherError0x7B","nameLocation":"7129:14:50","nodeType":"EnumValue","src":"7129:14:50"},{"id":8167,"name":"OtherError0x7C","nameLocation":"7153:14:50","nodeType":"EnumValue","src":"7153:14:50"},{"id":8168,"name":"OtherError0x7D","nameLocation":"7177:14:50","nodeType":"EnumValue","src":"7177:14:50"},{"id":8169,"name":"OtherError0x7E","nameLocation":"7201:14:50","nodeType":"EnumValue","src":"7201:14:50"},{"id":8170,"name":"OtherError0x7F","nameLocation":"7225:14:50","nodeType":"EnumValue","src":"7225:14:50"},{"id":8171,"name":"OtherError0x80","nameLocation":"7249:14:50","nodeType":"EnumValue","src":"7249:14:50"},{"id":8172,"name":"OtherError0x81","nameLocation":"7273:14:50","nodeType":"EnumValue","src":"7273:14:50"},{"id":8173,"name":"OtherError0x82","nameLocation":"7297:14:50","nodeType":"EnumValue","src":"7297:14:50"},{"id":8174,"name":"OtherError0x83","nameLocation":"7321:14:50","nodeType":"EnumValue","src":"7321:14:50"},{"id":8175,"name":"OtherError0x84","nameLocation":"7345:14:50","nodeType":"EnumValue","src":"7345:14:50"},{"id":8176,"name":"OtherError0x85","nameLocation":"7369:14:50","nodeType":"EnumValue","src":"7369:14:50"},{"id":8177,"name":"OtherError0x86","nameLocation":"7393:14:50","nodeType":"EnumValue","src":"7393:14:50"},{"id":8178,"name":"OtherError0x87","nameLocation":"7417:14:50","nodeType":"EnumValue","src":"7417:14:50"},{"id":8179,"name":"OtherError0x88","nameLocation":"7441:14:50","nodeType":"EnumValue","src":"7441:14:50"},{"id":8180,"name":"OtherError0x89","nameLocation":"7465:14:50","nodeType":"EnumValue","src":"7465:14:50"},{"id":8181,"name":"OtherError0x8A","nameLocation":"7489:14:50","nodeType":"EnumValue","src":"7489:14:50"},{"id":8182,"name":"OtherError0x8B","nameLocation":"7513:14:50","nodeType":"EnumValue","src":"7513:14:50"},{"id":8183,"name":"OtherError0x8C","nameLocation":"7537:14:50","nodeType":"EnumValue","src":"7537:14:50"},{"id":8184,"name":"OtherError0x8D","nameLocation":"7561:14:50","nodeType":"EnumValue","src":"7561:14:50"},{"id":8185,"name":"OtherError0x8E","nameLocation":"7585:14:50","nodeType":"EnumValue","src":"7585:14:50"},{"id":8186,"name":"OtherError0x8F","nameLocation":"7609:14:50","nodeType":"EnumValue","src":"7609:14:50"},{"id":8187,"name":"OtherError0x90","nameLocation":"7633:14:50","nodeType":"EnumValue","src":"7633:14:50"},{"id":8188,"name":"OtherError0x91","nameLocation":"7657:14:50","nodeType":"EnumValue","src":"7657:14:50"},{"id":8189,"name":"OtherError0x92","nameLocation":"7681:14:50","nodeType":"EnumValue","src":"7681:14:50"},{"id":8190,"name":"OtherError0x93","nameLocation":"7705:14:50","nodeType":"EnumValue","src":"7705:14:50"},{"id":8191,"name":"OtherError0x94","nameLocation":"7729:14:50","nodeType":"EnumValue","src":"7729:14:50"},{"id":8192,"name":"OtherError0x95","nameLocation":"7753:14:50","nodeType":"EnumValue","src":"7753:14:50"},{"id":8193,"name":"OtherError0x96","nameLocation":"7777:14:50","nodeType":"EnumValue","src":"7777:14:50"},{"id":8194,"name":"OtherError0x97","nameLocation":"7801:14:50","nodeType":"EnumValue","src":"7801:14:50"},{"id":8195,"name":"OtherError0x98","nameLocation":"7825:14:50","nodeType":"EnumValue","src":"7825:14:50"},{"id":8196,"name":"OtherError0x99","nameLocation":"7849:14:50","nodeType":"EnumValue","src":"7849:14:50"},{"id":8197,"name":"OtherError0x9A","nameLocation":"7873:14:50","nodeType":"EnumValue","src":"7873:14:50"},{"id":8198,"name":"OtherError0x9B","nameLocation":"7897:14:50","nodeType":"EnumValue","src":"7897:14:50"},{"id":8199,"name":"OtherError0x9C","nameLocation":"7921:14:50","nodeType":"EnumValue","src":"7921:14:50"},{"id":8200,"name":"OtherError0x9D","nameLocation":"7945:14:50","nodeType":"EnumValue","src":"7945:14:50"},{"id":8201,"name":"OtherError0x9E","nameLocation":"7969:14:50","nodeType":"EnumValue","src":"7969:14:50"},{"id":8202,"name":"OtherError0x9F","nameLocation":"7993:14:50","nodeType":"EnumValue","src":"7993:14:50"},{"id":8203,"name":"OtherError0xA0","nameLocation":"8017:14:50","nodeType":"EnumValue","src":"8017:14:50"},{"id":8204,"name":"OtherError0xA1","nameLocation":"8041:14:50","nodeType":"EnumValue","src":"8041:14:50"},{"id":8205,"name":"OtherError0xA2","nameLocation":"8065:14:50","nodeType":"EnumValue","src":"8065:14:50"},{"id":8206,"name":"OtherError0xA3","nameLocation":"8089:14:50","nodeType":"EnumValue","src":"8089:14:50"},{"id":8207,"name":"OtherError0xA4","nameLocation":"8113:14:50","nodeType":"EnumValue","src":"8113:14:50"},{"id":8208,"name":"OtherError0xA5","nameLocation":"8137:14:50","nodeType":"EnumValue","src":"8137:14:50"},{"id":8209,"name":"OtherError0xA6","nameLocation":"8161:14:50","nodeType":"EnumValue","src":"8161:14:50"},{"id":8210,"name":"OtherError0xA7","nameLocation":"8185:14:50","nodeType":"EnumValue","src":"8185:14:50"},{"id":8211,"name":"OtherError0xA8","nameLocation":"8209:14:50","nodeType":"EnumValue","src":"8209:14:50"},{"id":8212,"name":"OtherError0xA9","nameLocation":"8233:14:50","nodeType":"EnumValue","src":"8233:14:50"},{"id":8213,"name":"OtherError0xAA","nameLocation":"8257:14:50","nodeType":"EnumValue","src":"8257:14:50"},{"id":8214,"name":"OtherError0xAB","nameLocation":"8281:14:50","nodeType":"EnumValue","src":"8281:14:50"},{"id":8215,"name":"OtherError0xAC","nameLocation":"8305:14:50","nodeType":"EnumValue","src":"8305:14:50"},{"id":8216,"name":"OtherError0xAD","nameLocation":"8329:14:50","nodeType":"EnumValue","src":"8329:14:50"},{"id":8217,"name":"OtherError0xAE","nameLocation":"8353:14:50","nodeType":"EnumValue","src":"8353:14:50"},{"id":8218,"name":"OtherError0xAF","nameLocation":"8377:14:50","nodeType":"EnumValue","src":"8377:14:50"},{"id":8219,"name":"OtherError0xB0","nameLocation":"8401:14:50","nodeType":"EnumValue","src":"8401:14:50"},{"id":8220,"name":"OtherError0xB1","nameLocation":"8425:14:50","nodeType":"EnumValue","src":"8425:14:50"},{"id":8221,"name":"OtherError0xB2","nameLocation":"8449:14:50","nodeType":"EnumValue","src":"8449:14:50"},{"id":8222,"name":"OtherError0xB3","nameLocation":"8473:14:50","nodeType":"EnumValue","src":"8473:14:50"},{"id":8223,"name":"OtherError0xB4","nameLocation":"8497:14:50","nodeType":"EnumValue","src":"8497:14:50"},{"id":8224,"name":"OtherError0xB5","nameLocation":"8521:14:50","nodeType":"EnumValue","src":"8521:14:50"},{"id":8225,"name":"OtherError0xB6","nameLocation":"8545:14:50","nodeType":"EnumValue","src":"8545:14:50"},{"id":8226,"name":"OtherError0xB7","nameLocation":"8569:14:50","nodeType":"EnumValue","src":"8569:14:50"},{"id":8227,"name":"OtherError0xB8","nameLocation":"8593:14:50","nodeType":"EnumValue","src":"8593:14:50"},{"id":8228,"name":"OtherError0xB9","nameLocation":"8617:14:50","nodeType":"EnumValue","src":"8617:14:50"},{"id":8229,"name":"OtherError0xBA","nameLocation":"8641:14:50","nodeType":"EnumValue","src":"8641:14:50"},{"id":8230,"name":"OtherError0xBB","nameLocation":"8665:14:50","nodeType":"EnumValue","src":"8665:14:50"},{"id":8231,"name":"OtherError0xBC","nameLocation":"8689:14:50","nodeType":"EnumValue","src":"8689:14:50"},{"id":8232,"name":"OtherError0xBD","nameLocation":"8713:14:50","nodeType":"EnumValue","src":"8713:14:50"},{"id":8233,"name":"OtherError0xBE","nameLocation":"8737:14:50","nodeType":"EnumValue","src":"8737:14:50"},{"id":8234,"name":"OtherError0xBF","nameLocation":"8761:14:50","nodeType":"EnumValue","src":"8761:14:50"},{"id":8235,"name":"OtherError0xC0","nameLocation":"8785:14:50","nodeType":"EnumValue","src":"8785:14:50"},{"id":8236,"name":"OtherError0xC1","nameLocation":"8809:14:50","nodeType":"EnumValue","src":"8809:14:50"},{"id":8237,"name":"OtherError0xC2","nameLocation":"8833:14:50","nodeType":"EnumValue","src":"8833:14:50"},{"id":8238,"name":"OtherError0xC3","nameLocation":"8857:14:50","nodeType":"EnumValue","src":"8857:14:50"},{"id":8239,"name":"OtherError0xC4","nameLocation":"8881:14:50","nodeType":"EnumValue","src":"8881:14:50"},{"id":8240,"name":"OtherError0xC5","nameLocation":"8905:14:50","nodeType":"EnumValue","src":"8905:14:50"},{"id":8241,"name":"OtherError0xC6","nameLocation":"8929:14:50","nodeType":"EnumValue","src":"8929:14:50"},{"id":8242,"name":"OtherError0xC7","nameLocation":"8953:14:50","nodeType":"EnumValue","src":"8953:14:50"},{"id":8243,"name":"OtherError0xC8","nameLocation":"8977:14:50","nodeType":"EnumValue","src":"8977:14:50"},{"id":8244,"name":"OtherError0xC9","nameLocation":"9001:14:50","nodeType":"EnumValue","src":"9001:14:50"},{"id":8245,"name":"OtherError0xCA","nameLocation":"9025:14:50","nodeType":"EnumValue","src":"9025:14:50"},{"id":8246,"name":"OtherError0xCB","nameLocation":"9049:14:50","nodeType":"EnumValue","src":"9049:14:50"},{"id":8247,"name":"OtherError0xCC","nameLocation":"9073:14:50","nodeType":"EnumValue","src":"9073:14:50"},{"id":8248,"name":"OtherError0xCD","nameLocation":"9097:14:50","nodeType":"EnumValue","src":"9097:14:50"},{"id":8249,"name":"OtherError0xCE","nameLocation":"9121:14:50","nodeType":"EnumValue","src":"9121:14:50"},{"id":8250,"name":"OtherError0xCF","nameLocation":"9145:14:50","nodeType":"EnumValue","src":"9145:14:50"},{"id":8251,"name":"OtherError0xD0","nameLocation":"9169:14:50","nodeType":"EnumValue","src":"9169:14:50"},{"id":8252,"name":"OtherError0xD1","nameLocation":"9193:14:50","nodeType":"EnumValue","src":"9193:14:50"},{"id":8253,"name":"OtherError0xD2","nameLocation":"9217:14:50","nodeType":"EnumValue","src":"9217:14:50"},{"id":8254,"name":"OtherError0xD3","nameLocation":"9241:14:50","nodeType":"EnumValue","src":"9241:14:50"},{"id":8255,"name":"OtherError0xD4","nameLocation":"9265:14:50","nodeType":"EnumValue","src":"9265:14:50"},{"id":8256,"name":"OtherError0xD5","nameLocation":"9289:14:50","nodeType":"EnumValue","src":"9289:14:50"},{"id":8257,"name":"OtherError0xD6","nameLocation":"9313:14:50","nodeType":"EnumValue","src":"9313:14:50"},{"id":8258,"name":"OtherError0xD7","nameLocation":"9337:14:50","nodeType":"EnumValue","src":"9337:14:50"},{"id":8259,"name":"OtherError0xD8","nameLocation":"9361:14:50","nodeType":"EnumValue","src":"9361:14:50"},{"id":8260,"name":"OtherError0xD9","nameLocation":"9385:14:50","nodeType":"EnumValue","src":"9385:14:50"},{"id":8261,"name":"OtherError0xDA","nameLocation":"9409:14:50","nodeType":"EnumValue","src":"9409:14:50"},{"id":8262,"name":"OtherError0xDB","nameLocation":"9433:14:50","nodeType":"EnumValue","src":"9433:14:50"},{"id":8263,"name":"OtherError0xDC","nameLocation":"9457:14:50","nodeType":"EnumValue","src":"9457:14:50"},{"id":8264,"name":"OtherError0xDD","nameLocation":"9481:14:50","nodeType":"EnumValue","src":"9481:14:50"},{"id":8265,"name":"OtherError0xDE","nameLocation":"9505:14:50","nodeType":"EnumValue","src":"9505:14:50"},{"id":8266,"name":"OtherError0xDF","nameLocation":"9529:14:50","nodeType":"EnumValue","src":"9529:14:50"},{"id":8267,"name":"BridgeMalformedRequest","nameLocation":"9911:22:50","nodeType":"EnumValue","src":"9911:22:50"},{"id":8268,"name":"BridgePoorIncentives","nameLocation":"9983:20:50","nodeType":"EnumValue","src":"9983:20:50"},{"id":8269,"name":"BridgeOversizedResult","nameLocation":"10229:21:50","nodeType":"EnumValue","src":"10229:21:50"},{"id":8270,"name":"OtherError0xE3","nameLocation":"10284:14:50","nodeType":"EnumValue","src":"10284:14:50"},{"id":8271,"name":"OtherError0xE4","nameLocation":"10308:14:50","nodeType":"EnumValue","src":"10308:14:50"},{"id":8272,"name":"OtherError0xE5","nameLocation":"10332:14:50","nodeType":"EnumValue","src":"10332:14:50"},{"id":8273,"name":"OtherError0xE6","nameLocation":"10356:14:50","nodeType":"EnumValue","src":"10356:14:50"},{"id":8274,"name":"OtherError0xE7","nameLocation":"10380:14:50","nodeType":"EnumValue","src":"10380:14:50"},{"id":8275,"name":"OtherError0xE8","nameLocation":"10404:14:50","nodeType":"EnumValue","src":"10404:14:50"},{"id":8276,"name":"OtherError0xE9","nameLocation":"10428:14:50","nodeType":"EnumValue","src":"10428:14:50"},{"id":8277,"name":"OtherError0xEA","nameLocation":"10452:14:50","nodeType":"EnumValue","src":"10452:14:50"},{"id":8278,"name":"OtherError0xEB","nameLocation":"10476:14:50","nodeType":"EnumValue","src":"10476:14:50"},{"id":8279,"name":"OtherError0xEC","nameLocation":"10500:14:50","nodeType":"EnumValue","src":"10500:14:50"},{"id":8280,"name":"OtherError0xED","nameLocation":"10524:14:50","nodeType":"EnumValue","src":"10524:14:50"},{"id":8281,"name":"OtherError0xEE","nameLocation":"10548:14:50","nodeType":"EnumValue","src":"10548:14:50"},{"id":8282,"name":"OtherError0xEF","nameLocation":"10572:14:50","nodeType":"EnumValue","src":"10572:14:50"},{"id":8283,"name":"OtherError0xF0","nameLocation":"10596:14:50","nodeType":"EnumValue","src":"10596:14:50"},{"id":8284,"name":"OtherError0xF1","nameLocation":"10620:14:50","nodeType":"EnumValue","src":"10620:14:50"},{"id":8285,"name":"OtherError0xF2","nameLocation":"10644:14:50","nodeType":"EnumValue","src":"10644:14:50"},{"id":8286,"name":"OtherError0xF3","nameLocation":"10668:14:50","nodeType":"EnumValue","src":"10668:14:50"},{"id":8287,"name":"OtherError0xF4","nameLocation":"10692:14:50","nodeType":"EnumValue","src":"10692:14:50"},{"id":8288,"name":"OtherError0xF5","nameLocation":"10716:14:50","nodeType":"EnumValue","src":"10716:14:50"},{"id":8289,"name":"OtherError0xF6","nameLocation":"10740:14:50","nodeType":"EnumValue","src":"10740:14:50"},{"id":8290,"name":"OtherError0xF7","nameLocation":"10764:14:50","nodeType":"EnumValue","src":"10764:14:50"},{"id":8291,"name":"OtherError0xF8","nameLocation":"10788:14:50","nodeType":"EnumValue","src":"10788:14:50"},{"id":8292,"name":"OtherError0xF9","nameLocation":"10812:14:50","nodeType":"EnumValue","src":"10812:14:50"},{"id":8293,"name":"OtherError0xFA","nameLocation":"10836:14:50","nodeType":"EnumValue","src":"10836:14:50"},{"id":8294,"name":"OtherError0xFB","nameLocation":"10860:14:50","nodeType":"EnumValue","src":"10860:14:50"},{"id":8295,"name":"OtherError0xFC","nameLocation":"10884:14:50","nodeType":"EnumValue","src":"10884:14:50"},{"id":8296,"name":"OtherError0xFD","nameLocation":"10908:14:50","nodeType":"EnumValue","src":"10908:14:50"},{"id":8297,"name":"OtherError0xFE","nameLocation":"10932:14:50","nodeType":"EnumValue","src":"10932:14:50"},{"id":8298,"name":"UnhandledIntercept","nameLocation":"11055:18:50","nodeType":"EnumValue","src":"11055:18:50"}],"name":"ErrorCodes","nameLocation":"2576:10:50","nodeType":"EnumDefinition","src":"2571:8508:50"}],"scope":8301,"src":"144:10937:50","usedErrors":[]}],"src":"33:11049:50"},"id":50},"witnet-solidity-bridge/contracts/libs/WitnetBuffer.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/libs/WitnetBuffer.sol","exportedSymbols":{"IWitnetRequest":[7510],"Witnet":[8300],"WitnetBuffer":[8942]},"id":8943,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8302,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:51"},{"absolutePath":"witnet-solidity-bridge/contracts/libs/Witnet.sol","file":"./Witnet.sol","id":8303,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8943,"sourceUnit":8301,"src":"66:22:51","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"library","documentation":{"id":8304,"nodeType":"StructuredDocumentation","src":"90:568:51","text":"@title A convenient wrapper around the `bytes memory` type that exposes a buffer-like interface\n @notice The buffer has an inner cursor that tracks the final offset of every read, i.e. any subsequent read will\n start with the byte that goes right after the last one in the previous read.\n @dev `uint32` is used here for `cursor` because `uint16` would only enable seeking up to 8KB, which could in some\n theoretical use cases be exceeded. Conversely, `uint32` supports up to 512MB, which cannot credibly be exceeded.\n @author The Witnet Foundation."},"fullyImplemented":true,"id":8942,"linearizedBaseContracts":[8942],"name":"WitnetBuffer","nameLocation":"666:12:51","nodeType":"ContractDefinition","nodes":[{"body":{"id":8318,"nodeType":"Block","src":"791:118:51","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8311,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8306,"src":"805:5:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":8312,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8308,"src":"813:6:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"805:14:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65744275666665723a20547269656420746f20726561642066726f6d206120636f6e73756d65642042756666657220286d75737420726577696e6420697420666972737429","id":8314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"821:75:51","typeDescriptions":{"typeIdentifier":"t_stringliteral_41357bbf50a90e645d713b09dbcf193b280250cde8009c0b4d3449c28ea5d804","typeString":"literal_string \"WitnetBuffer: Tried to read from a consumed Buffer (must rewind it first)\""},"value":"WitnetBuffer: Tried to read from a consumed Buffer (must rewind it first)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_41357bbf50a90e645d713b09dbcf193b280250cde8009c0b4d3449c28ea5d804","typeString":"literal_string \"WitnetBuffer: Tried to read from a consumed Buffer (must rewind it first)\""}],"id":8310,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"797:7:51","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"797:100:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8316,"nodeType":"ExpressionStatement","src":"797:100:51"},{"id":8317,"nodeType":"PlaceholderStatement","src":"903:1:51"}]},"id":8319,"name":"notOutOfBounds","nameLocation":"746:14:51","nodeType":"ModifierDefinition","parameters":{"id":8309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8306,"mutability":"mutable","name":"index","nameLocation":"768:5:51","nodeType":"VariableDeclaration","scope":8319,"src":"761:12:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":8305,"name":"uint32","nodeType":"ElementaryTypeName","src":"761:6:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":8308,"mutability":"mutable","name":"length","nameLocation":"783:6:51","nodeType":"VariableDeclaration","scope":8319,"src":"775:14:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8307,"name":"uint256","nodeType":"ElementaryTypeName","src":"775:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"760:30:51"},"src":"737:172:51","virtual":false,"visibility":"internal"},{"body":{"id":8388,"nodeType":"Block","src":"1330:935:51","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":8334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8331,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8323,"src":"1413:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8332,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"1413:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":8333,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8325,"src":"1430:7:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"1413:24:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"expression":{"id":8335,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8323,"src":"1441:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8336,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":8039,"src":"1441:12:51","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1441:19:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1413:47:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65744275666665723a204e6f7420656e6f75676820627974657320696e20627566666572207768656e2072656164696e67","id":8339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1462:55:51","typeDescriptions":{"typeIdentifier":"t_stringliteral_76a21b1d3f42fbbea0475f624e30017f9081c603496816db3d90283ad65ae271","typeString":"literal_string \"WitnetBuffer: Not enough bytes in buffer when reading\""},"value":"WitnetBuffer: Not enough bytes in buffer when reading"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_76a21b1d3f42fbbea0475f624e30017f9081c603496816db3d90283ad65ae271","typeString":"literal_string \"WitnetBuffer: Not enough bytes in buffer when reading\""}],"id":8330,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1405:7:51","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1405:113:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8341,"nodeType":"ExpressionStatement","src":"1405:113:51"},{"assignments":[8343],"declarations":[{"constant":false,"id":8343,"mutability":"mutable","name":"destination","nameLocation":"1591:11:51","nodeType":"VariableDeclaration","scope":8388,"src":"1578:24:51","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8342,"name":"bytes","nodeType":"ElementaryTypeName","src":"1578:5:51","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8348,"initialValue":{"arguments":[{"id":8346,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8325,"src":"1615:7:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":8345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1605:9:51","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":8344,"name":"bytes","nodeType":"ElementaryTypeName","src":"1609:5:51","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":8347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1605:18:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1578:45:51"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":8351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8349,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8325,"src":"1685:7:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":8350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1696:1:51","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1685:12:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8385,"nodeType":"IfStatement","src":"1681:556:51","trueBody":{"id":8384,"nodeType":"Block","src":"1699:538:51","statements":[{"assignments":[8353],"declarations":[{"constant":false,"id":8353,"mutability":"mutable","name":"source","nameLocation":"1720:6:51","nodeType":"VariableDeclaration","scope":8384,"src":"1707:19:51","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8352,"name":"bytes","nodeType":"ElementaryTypeName","src":"1707:5:51","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8356,"initialValue":{"expression":{"id":8354,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8323,"src":"1729:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8355,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":8039,"src":"1729:12:51","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1707:34:51"},{"assignments":[8358],"declarations":[{"constant":false,"id":8358,"mutability":"mutable","name":"offset","nameLocation":"1756:6:51","nodeType":"VariableDeclaration","scope":8384,"src":"1749:13:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":8357,"name":"uint32","nodeType":"ElementaryTypeName","src":"1749:6:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"id":8361,"initialValue":{"expression":{"id":8359,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8323,"src":"1765:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8360,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"1765:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"VariableDeclarationStatement","src":"1749:30:51"},{"assignments":[8363],"declarations":[{"constant":false,"id":8363,"mutability":"mutable","name":"sourcePointer","nameLocation":"1846:13:51","nodeType":"VariableDeclaration","scope":8384,"src":"1841:18:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8362,"name":"uint","nodeType":"ElementaryTypeName","src":"1841:4:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8364,"nodeType":"VariableDeclarationStatement","src":"1841:18:51"},{"assignments":[8366],"declarations":[{"constant":false,"id":8366,"mutability":"mutable","name":"destinationPointer","nameLocation":"1872:18:51","nodeType":"VariableDeclaration","scope":8384,"src":"1867:23:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8365,"name":"uint","nodeType":"ElementaryTypeName","src":"1867:4:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8367,"nodeType":"VariableDeclarationStatement","src":"1867:23:51"},{"AST":{"nodeType":"YulBlock","src":"1907:114:51","statements":[{"nodeType":"YulAssignment","src":"1917:45:51","value":{"arguments":[{"arguments":[{"name":"source","nodeType":"YulIdentifier","src":"1942:6:51"},{"kind":"number","nodeType":"YulLiteral","src":"1950:2:51","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1938:3:51"},"nodeType":"YulFunctionCall","src":"1938:15:51"},{"name":"offset","nodeType":"YulIdentifier","src":"1955:6:51"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1934:3:51"},"nodeType":"YulFunctionCall","src":"1934:28:51"},"variableNames":[{"name":"sourcePointer","nodeType":"YulIdentifier","src":"1917:13:51"}]},{"nodeType":"YulAssignment","src":"1971:42:51","value":{"arguments":[{"name":"destination","nodeType":"YulIdentifier","src":"1997:11:51"},{"kind":"number","nodeType":"YulLiteral","src":"2010:2:51","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1993:3:51"},"nodeType":"YulFunctionCall","src":"1993:20:51"},"variableNames":[{"name":"destinationPointer","nodeType":"YulIdentifier","src":"1971:18:51"}]}]},"evmVersion":"london","externalReferences":[{"declaration":8343,"isOffset":false,"isSlot":false,"src":"1997:11:51","valueSize":1},{"declaration":8366,"isOffset":false,"isSlot":false,"src":"1971:18:51","valueSize":1},{"declaration":8358,"isOffset":false,"isSlot":false,"src":"1955:6:51","valueSize":1},{"declaration":8353,"isOffset":false,"isSlot":false,"src":"1942:6:51","valueSize":1},{"declaration":8363,"isOffset":false,"isSlot":false,"src":"1917:13:51","valueSize":1}],"id":8368,"nodeType":"InlineAssembly","src":"1898:123:51"},{"expression":{"arguments":[{"id":8370,"name":"destinationPointer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8366,"src":"2092:18:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8371,"name":"sourcePointer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8363,"src":"2112:13:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":8374,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8325,"src":"2132:7:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":8373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2127:4:51","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8372,"name":"uint","nodeType":"ElementaryTypeName","src":"2127:4:51","typeDescriptions":{}}},"id":8375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2127:13:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8369,"name":"memcpy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8941,"src":"2085:6:51","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":8376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2085:56:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8377,"nodeType":"ExpressionStatement","src":"2085:56:51"},{"expression":{"arguments":[{"id":8379,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8323,"src":"2207:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},{"id":8380,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8325,"src":"2216:7:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"hexValue":"74727565","id":8381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2225:4:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":8378,"name":"seek","nodeType":"Identifier","overloadedDeclarations":[8463,8481],"referencedDeclaration":8463,"src":"2202:4:51","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$_t_uint32_$_t_bool_$returns$_t_uint32_$","typeString":"function (struct Witnet.Buffer memory,uint32,bool) pure returns (uint32)"}},"id":8382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2202:28:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":8383,"nodeType":"ExpressionStatement","src":"2202:28:51"}]}},{"expression":{"id":8386,"name":"destination","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8343,"src":"2249:11:51","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":8329,"id":8387,"nodeType":"Return","src":"2242:18:51"}]},"documentation":{"id":8320,"nodeType":"StructuredDocumentation","src":"913:317:51","text":"@notice Read and consume a certain amount of bytes from the buffer.\n @param _buffer An instance of `Witnet.Buffer`.\n @param _length How many bytes to read and consume from the buffer.\n @return A `bytes memory` containing the first `_length` bytes from the buffer, counting from the cursor position."},"id":8389,"implemented":true,"kind":"function","modifiers":[],"name":"read","nameLocation":"1242:4:51","nodeType":"FunctionDefinition","parameters":{"id":8326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8323,"mutability":"mutable","name":"_buffer","nameLocation":"1268:7:51","nodeType":"VariableDeclaration","scope":8389,"src":"1247:28:51","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer"},"typeName":{"id":8322,"nodeType":"UserDefinedTypeName","pathNode":{"id":8321,"name":"Witnet.Buffer","nodeType":"IdentifierPath","referencedDeclaration":8042,"src":"1247:13:51"},"referencedDeclaration":8042,"src":"1247:13:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_storage_ptr","typeString":"struct Witnet.Buffer"}},"visibility":"internal"},{"constant":false,"id":8325,"mutability":"mutable","name":"_length","nameLocation":"1284:7:51","nodeType":"VariableDeclaration","scope":8389,"src":"1277:14:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":8324,"name":"uint32","nodeType":"ElementaryTypeName","src":"1277:6:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"1246:46:51"},"returnParameters":{"id":8329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8328,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8389,"src":"1316:12:51","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8327,"name":"bytes","nodeType":"ElementaryTypeName","src":"1316:5:51","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1315:14:51"},"scope":8942,"src":"1233:1032:51","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8412,"nodeType":"Block","src":"2588:143:51","statements":[{"expression":{"baseExpression":{"expression":{"id":8405,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8393,"src":"2696:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8406,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":8039,"src":"2696:12:51","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8410,"indexExpression":{"id":8409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2709:16:51","subExpression":{"expression":{"id":8407,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8393,"src":"2709:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8408,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"2709:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2696:30:51","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"functionReturnParameters":8404,"id":8411,"nodeType":"Return","src":"2689:37:51"}]},"documentation":{"id":8390,"nodeType":"StructuredDocumentation","src":"2269:189:51","text":"@notice Read and consume the next byte from the buffer.\n @param _buffer An instance of `Witnet.Buffer`.\n @return The next byte in the buffer counting from the cursor position."},"id":8413,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":8396,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8393,"src":"2534:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8397,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"2534:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"expression":{"expression":{"id":8398,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8393,"src":"2550:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8399,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":8039,"src":"2550:12:51","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2550:19:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8401,"kind":"modifierInvocation","modifierName":{"id":8395,"name":"notOutOfBounds","nodeType":"IdentifierPath","referencedDeclaration":8319,"src":"2519:14:51"},"nodeType":"ModifierInvocation","src":"2519:51:51"}],"name":"next","nameLocation":"2470:4:51","nodeType":"FunctionDefinition","parameters":{"id":8394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8393,"mutability":"mutable","name":"_buffer","nameLocation":"2496:7:51","nodeType":"VariableDeclaration","scope":8413,"src":"2475:28:51","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer"},"typeName":{"id":8392,"nodeType":"UserDefinedTypeName","pathNode":{"id":8391,"name":"Witnet.Buffer","nodeType":"IdentifierPath","referencedDeclaration":8042,"src":"2475:13:51"},"referencedDeclaration":8042,"src":"2475:13:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_storage_ptr","typeString":"struct Witnet.Buffer"}},"visibility":"internal"}],"src":"2474:30:51"},"returnParameters":{"id":8404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8403,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8413,"src":"2580:6:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":8402,"name":"bytes1","nodeType":"ElementaryTypeName","src":"2580:6:51","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"src":"2579:8:51"},"scope":8942,"src":"2461:270:51","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8462,"nodeType":"Block","src":"3341:425:51","statements":[{"condition":{"id":8426,"name":"_relative","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8421,"src":"3385:9:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8443,"nodeType":"IfStatement","src":"3381:153:51","trueBody":{"id":8442,"nodeType":"Block","src":"3396:138:51","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":8433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":8431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8428,"name":"_offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8419,"src":"3412:7:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":8429,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8417,"src":"3422:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8430,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"3422:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"3412:24:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":8432,"name":"_offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8419,"src":"3439:7:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"3412:34:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65744275666665723a20496e7465676572206f766572666c6f77207768656e207365656b696e67","id":8434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3448:45:51","typeDescriptions":{"typeIdentifier":"t_stringliteral_fdadce3169751a65fe8fe5febc7dcb4198322ee12bc3662f33fae802c9673e4b","typeString":"literal_string \"WitnetBuffer: Integer overflow when seeking\""},"value":"WitnetBuffer: Integer overflow when seeking"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fdadce3169751a65fe8fe5febc7dcb4198322ee12bc3662f33fae802c9673e4b","typeString":"literal_string \"WitnetBuffer: Integer overflow when seeking\""}],"id":8427,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3404:7:51","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3404:90:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8436,"nodeType":"ExpressionStatement","src":"3404:90:51"},{"expression":{"id":8440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8437,"name":"_offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8419,"src":"3502:7:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"id":8438,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8417,"src":"3513:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8439,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"3513:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"3502:25:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":8441,"nodeType":"ExpressionStatement","src":"3502:25:51"}]}},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8445,"name":"_offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8419,"src":"3616:7:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"expression":{"id":8446,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8417,"src":"3627:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8447,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":8039,"src":"3627:12:51","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"3627:19:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3616:30:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65744275666665723a204e6f7420656e6f75676820627974657320696e20627566666572207768656e207365656b696e67","id":8450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3648:55:51","typeDescriptions":{"typeIdentifier":"t_stringliteral_176e0278706c18b0f8b18b90e4c6a39b596c662775310463aa4a908b1de17758","typeString":"literal_string \"WitnetBuffer: Not enough bytes in buffer when seeking\""},"value":"WitnetBuffer: Not enough bytes in buffer when seeking"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_176e0278706c18b0f8b18b90e4c6a39b596c662775310463aa4a908b1de17758","typeString":"literal_string \"WitnetBuffer: Not enough bytes in buffer when seeking\""}],"id":8444,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3608:7:51","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3608:96:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8452,"nodeType":"ExpressionStatement","src":"3608:96:51"},{"expression":{"id":8457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":8453,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8417,"src":"3710:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8455,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"3710:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":8456,"name":"_offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8419,"src":"3727:7:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"3710:24:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":8458,"nodeType":"ExpressionStatement","src":"3710:24:51"},{"expression":{"expression":{"id":8459,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8417,"src":"3747:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"3747:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"functionReturnParameters":8425,"id":8461,"nodeType":"Return","src":"3740:21:51"}]},"documentation":{"id":8414,"nodeType":"StructuredDocumentation","src":"2735:440:51","text":"@notice Move the inner cursor of the buffer to a relative or absolute position.\n @param _buffer An instance of `Witnet.Buffer`.\n @param _offset How many bytes to move the cursor forward.\n @param _relative Whether to count `_offset` from the last position of the cursor (`true`) or the beginning of the\n buffer (`true`).\n @return The final position of the cursor (will equal `_offset` if `_relative` is `false`)."},"id":8463,"implemented":true,"kind":"function","modifiers":[],"name":"seek","nameLocation":"3243:4:51","nodeType":"FunctionDefinition","parameters":{"id":8422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8417,"mutability":"mutable","name":"_buffer","nameLocation":"3269:7:51","nodeType":"VariableDeclaration","scope":8463,"src":"3248:28:51","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer"},"typeName":{"id":8416,"nodeType":"UserDefinedTypeName","pathNode":{"id":8415,"name":"Witnet.Buffer","nodeType":"IdentifierPath","referencedDeclaration":8042,"src":"3248:13:51"},"referencedDeclaration":8042,"src":"3248:13:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_storage_ptr","typeString":"struct Witnet.Buffer"}},"visibility":"internal"},{"constant":false,"id":8419,"mutability":"mutable","name":"_offset","nameLocation":"3285:7:51","nodeType":"VariableDeclaration","scope":8463,"src":"3278:14:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":8418,"name":"uint32","nodeType":"ElementaryTypeName","src":"3278:6:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":8421,"mutability":"mutable","name":"_relative","nameLocation":"3299:9:51","nodeType":"VariableDeclaration","scope":8463,"src":"3294:14:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8420,"name":"bool","nodeType":"ElementaryTypeName","src":"3294:4:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3247:62:51"},"returnParameters":{"id":8425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8424,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8463,"src":"3333:6:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":8423,"name":"uint32","nodeType":"ElementaryTypeName","src":"3333:6:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"3332:8:51"},"scope":8942,"src":"3234:532:51","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8480,"nodeType":"Block","src":"4186:54:51","statements":[{"expression":{"arguments":[{"id":8475,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8467,"src":"4204:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},{"id":8476,"name":"_relativeOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8469,"src":"4213:15:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"hexValue":"74727565","id":8477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4230:4:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":8474,"name":"seek","nodeType":"Identifier","overloadedDeclarations":[8463,8481],"referencedDeclaration":8463,"src":"4199:4:51","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$_t_uint32_$_t_bool_$returns$_t_uint32_$","typeString":"function (struct Witnet.Buffer memory,uint32,bool) pure returns (uint32)"}},"id":8478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4199:36:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"functionReturnParameters":8473,"id":8479,"nodeType":"Return","src":"4192:43:51"}]},"documentation":{"id":8464,"nodeType":"StructuredDocumentation","src":"3770:314:51","text":"@notice Move the inner cursor a number of bytes forward.\n @dev This is a simple wrapper around the relative offset case of `seek()`.\n @param _buffer An instance of `Witnet.Buffer`.\n @param _relativeOffset How many bytes to move the cursor forward.\n @return The final position of the cursor."},"id":8481,"implemented":true,"kind":"function","modifiers":[],"name":"seek","nameLocation":"4096:4:51","nodeType":"FunctionDefinition","parameters":{"id":8470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8467,"mutability":"mutable","name":"_buffer","nameLocation":"4122:7:51","nodeType":"VariableDeclaration","scope":8481,"src":"4101:28:51","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer"},"typeName":{"id":8466,"nodeType":"UserDefinedTypeName","pathNode":{"id":8465,"name":"Witnet.Buffer","nodeType":"IdentifierPath","referencedDeclaration":8042,"src":"4101:13:51"},"referencedDeclaration":8042,"src":"4101:13:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_storage_ptr","typeString":"struct Witnet.Buffer"}},"visibility":"internal"},{"constant":false,"id":8469,"mutability":"mutable","name":"_relativeOffset","nameLocation":"4138:15:51","nodeType":"VariableDeclaration","scope":8481,"src":"4131:22:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":8468,"name":"uint32","nodeType":"ElementaryTypeName","src":"4131:6:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"4100:54:51"},"returnParameters":{"id":8473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8472,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8481,"src":"4178:6:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":8471,"name":"uint32","nodeType":"ElementaryTypeName","src":"4178:6:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"4177:8:51"},"scope":8942,"src":"4087:153:51","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8494,"nodeType":"Block","src":"4431:29:51","statements":[{"expression":{"id":8492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":8488,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8485,"src":"4437:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8490,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"4437:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":8491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4454:1:51","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4437:18:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":8493,"nodeType":"ExpressionStatement","src":"4437:18:51"}]},"documentation":{"id":8482,"nodeType":"StructuredDocumentation","src":"4244:124:51","text":"@notice Move the inner cursor back to the first byte in the buffer.\n @param _buffer An instance of `Witnet.Buffer`."},"id":8495,"implemented":true,"kind":"function","modifiers":[],"name":"rewind","nameLocation":"4380:6:51","nodeType":"FunctionDefinition","parameters":{"id":8486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8485,"mutability":"mutable","name":"_buffer","nameLocation":"4408:7:51","nodeType":"VariableDeclaration","scope":8495,"src":"4387:28:51","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer"},"typeName":{"id":8484,"nodeType":"UserDefinedTypeName","pathNode":{"id":8483,"name":"Witnet.Buffer","nodeType":"IdentifierPath","referencedDeclaration":8042,"src":"4387:13:51"},"referencedDeclaration":8042,"src":"4387:13:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_storage_ptr","typeString":"struct Witnet.Buffer"}},"visibility":"internal"}],"src":"4386:30:51"},"returnParameters":{"id":8487,"nodeType":"ParameterList","parameters":[],"src":"4431:0:51"},"scope":8942,"src":"4371:89:51","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8532,"nodeType":"Block","src":"4822:218:51","statements":[{"assignments":[8512],"declarations":[{"constant":false,"id":8512,"mutability":"mutable","name":"bytesValue","nameLocation":"4841:10:51","nodeType":"VariableDeclaration","scope":8532,"src":"4828:23:51","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8511,"name":"bytes","nodeType":"ElementaryTypeName","src":"4828:5:51","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8515,"initialValue":{"expression":{"id":8513,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8499,"src":"4854:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8514,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":8039,"src":"4854:12:51","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4828:38:51"},{"assignments":[8517],"declarations":[{"constant":false,"id":8517,"mutability":"mutable","name":"offset","nameLocation":"4879:6:51","nodeType":"VariableDeclaration","scope":8532,"src":"4872:13:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":8516,"name":"uint32","nodeType":"ElementaryTypeName","src":"4872:6:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"id":8520,"initialValue":{"expression":{"id":8518,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8499,"src":"4888:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8519,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"4888:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"VariableDeclarationStatement","src":"4872:30:51"},{"assignments":[8522],"declarations":[{"constant":false,"id":8522,"mutability":"mutable","name":"value","nameLocation":"4914:5:51","nodeType":"VariableDeclaration","scope":8532,"src":"4908:11:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":8521,"name":"uint8","nodeType":"ElementaryTypeName","src":"4908:5:51","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":8523,"nodeType":"VariableDeclarationStatement","src":"4908:11:51"},{"AST":{"nodeType":"YulBlock","src":"4934:61:51","statements":[{"nodeType":"YulAssignment","src":"4942:47:51","value":{"arguments":[{"arguments":[{"arguments":[{"name":"bytesValue","nodeType":"YulIdentifier","src":"4965:10:51"},{"kind":"number","nodeType":"YulLiteral","src":"4977:1:51","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4961:3:51"},"nodeType":"YulFunctionCall","src":"4961:18:51"},{"name":"offset","nodeType":"YulIdentifier","src":"4981:6:51"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4957:3:51"},"nodeType":"YulFunctionCall","src":"4957:31:51"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4951:5:51"},"nodeType":"YulFunctionCall","src":"4951:38:51"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"4942:5:51"}]}]},"evmVersion":"london","externalReferences":[{"declaration":8512,"isOffset":false,"isSlot":false,"src":"4965:10:51","valueSize":1},{"declaration":8517,"isOffset":false,"isSlot":false,"src":"4981:6:51","valueSize":1},{"declaration":8522,"isOffset":false,"isSlot":false,"src":"4942:5:51","valueSize":1}],"id":8524,"nodeType":"InlineAssembly","src":"4925:70:51"},{"expression":{"id":8528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5000:16:51","subExpression":{"expression":{"id":8525,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8499,"src":"5000:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8527,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"5000:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":8529,"nodeType":"ExpressionStatement","src":"5000:16:51"},{"expression":{"id":8530,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8522,"src":"5030:5:51","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":8510,"id":8531,"nodeType":"Return","src":"5023:12:51"}]},"documentation":{"id":8496,"nodeType":"StructuredDocumentation","src":"4464:224:51","text":"@notice Read and consume the next byte from the buffer as an `uint8`.\n @param _buffer An instance of `Witnet.Buffer`.\n @return The `uint8` value of the next byte in the buffer counting from the cursor position."},"id":8533,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":8502,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8499,"src":"4769:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8503,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"4769:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"expression":{"expression":{"id":8504,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8499,"src":"4785:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8505,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":8039,"src":"4785:12:51","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4785:19:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8507,"kind":"modifierInvocation","modifierName":{"id":8501,"name":"notOutOfBounds","nodeType":"IdentifierPath","referencedDeclaration":8319,"src":"4754:14:51"},"nodeType":"ModifierInvocation","src":"4754:51:51"}],"name":"readUint8","nameLocation":"4700:9:51","nodeType":"FunctionDefinition","parameters":{"id":8500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8499,"mutability":"mutable","name":"_buffer","nameLocation":"4731:7:51","nodeType":"VariableDeclaration","scope":8533,"src":"4710:28:51","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer"},"typeName":{"id":8498,"nodeType":"UserDefinedTypeName","pathNode":{"id":8497,"name":"Witnet.Buffer","nodeType":"IdentifierPath","referencedDeclaration":8042,"src":"4710:13:51"},"referencedDeclaration":8042,"src":"4710:13:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_storage_ptr","typeString":"struct Witnet.Buffer"}},"visibility":"internal"}],"src":"4709:30:51"},"returnParameters":{"id":8510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8509,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8533,"src":"4815:5:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":8508,"name":"uint8","nodeType":"ElementaryTypeName","src":"4815:5:51","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"4814:7:51"},"scope":8942,"src":"4691:349:51","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8573,"nodeType":"Block","src":"5416:222:51","statements":[{"assignments":[8552],"declarations":[{"constant":false,"id":8552,"mutability":"mutable","name":"bytesValue","nameLocation":"5435:10:51","nodeType":"VariableDeclaration","scope":8573,"src":"5422:23:51","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8551,"name":"bytes","nodeType":"ElementaryTypeName","src":"5422:5:51","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8555,"initialValue":{"expression":{"id":8553,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8537,"src":"5448:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8554,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":8039,"src":"5448:12:51","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5422:38:51"},{"assignments":[8557],"declarations":[{"constant":false,"id":8557,"mutability":"mutable","name":"offset","nameLocation":"5473:6:51","nodeType":"VariableDeclaration","scope":8573,"src":"5466:13:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":8556,"name":"uint32","nodeType":"ElementaryTypeName","src":"5466:6:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"id":8560,"initialValue":{"expression":{"id":8558,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8537,"src":"5482:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8559,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"5482:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"VariableDeclarationStatement","src":"5466:30:51"},{"assignments":[8562],"declarations":[{"constant":false,"id":8562,"mutability":"mutable","name":"value","nameLocation":"5509:5:51","nodeType":"VariableDeclaration","scope":8573,"src":"5502:12:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":8561,"name":"uint16","nodeType":"ElementaryTypeName","src":"5502:6:51","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"}],"id":8563,"nodeType":"VariableDeclarationStatement","src":"5502:12:51"},{"AST":{"nodeType":"YulBlock","src":"5529:61:51","statements":[{"nodeType":"YulAssignment","src":"5537:47:51","value":{"arguments":[{"arguments":[{"arguments":[{"name":"bytesValue","nodeType":"YulIdentifier","src":"5560:10:51"},{"kind":"number","nodeType":"YulLiteral","src":"5572:1:51","type":"","value":"2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5556:3:51"},"nodeType":"YulFunctionCall","src":"5556:18:51"},{"name":"offset","nodeType":"YulIdentifier","src":"5576:6:51"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5552:3:51"},"nodeType":"YulFunctionCall","src":"5552:31:51"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5546:5:51"},"nodeType":"YulFunctionCall","src":"5546:38:51"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"5537:5:51"}]}]},"evmVersion":"london","externalReferences":[{"declaration":8552,"isOffset":false,"isSlot":false,"src":"5560:10:51","valueSize":1},{"declaration":8557,"isOffset":false,"isSlot":false,"src":"5576:6:51","valueSize":1},{"declaration":8562,"isOffset":false,"isSlot":false,"src":"5537:5:51","valueSize":1}],"id":8564,"nodeType":"InlineAssembly","src":"5520:70:51"},{"expression":{"id":8569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":8565,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8537,"src":"5595:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8567,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"5595:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"32","id":8568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5613:1:51","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"5595:19:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":8570,"nodeType":"ExpressionStatement","src":"5595:19:51"},{"expression":{"id":8571,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8562,"src":"5628:5:51","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"functionReturnParameters":8550,"id":8572,"nodeType":"Return","src":"5621:12:51"}]},"documentation":{"id":8534,"nodeType":"StructuredDocumentation","src":"5044:232:51","text":"@notice Read and consume the next 2 bytes from the buffer as an `uint16`.\n @param _buffer An instance of `Witnet.Buffer`.\n @return The `uint16` value of the next 2 bytes in the buffer counting from the cursor position."},"id":8574,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":8543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8540,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8537,"src":"5358:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8541,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"5358:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":8542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5375:1:51","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5358:18:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"expression":{"expression":{"id":8544,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8537,"src":"5378:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8545,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":8039,"src":"5378:12:51","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"5378:19:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8547,"kind":"modifierInvocation","modifierName":{"id":8539,"name":"notOutOfBounds","nodeType":"IdentifierPath","referencedDeclaration":8319,"src":"5343:14:51"},"nodeType":"ModifierInvocation","src":"5343:55:51"}],"name":"readUint16","nameLocation":"5288:10:51","nodeType":"FunctionDefinition","parameters":{"id":8538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8537,"mutability":"mutable","name":"_buffer","nameLocation":"5320:7:51","nodeType":"VariableDeclaration","scope":8574,"src":"5299:28:51","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer"},"typeName":{"id":8536,"nodeType":"UserDefinedTypeName","pathNode":{"id":8535,"name":"Witnet.Buffer","nodeType":"IdentifierPath","referencedDeclaration":8042,"src":"5299:13:51"},"referencedDeclaration":8042,"src":"5299:13:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_storage_ptr","typeString":"struct Witnet.Buffer"}},"visibility":"internal"}],"src":"5298:30:51"},"returnParameters":{"id":8550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8549,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8574,"src":"5408:6:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":8548,"name":"uint16","nodeType":"ElementaryTypeName","src":"5408:6:51","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"}],"src":"5407:8:51"},"scope":8942,"src":"5279:359:51","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8614,"nodeType":"Block","src":"6014:222:51","statements":[{"assignments":[8593],"declarations":[{"constant":false,"id":8593,"mutability":"mutable","name":"bytesValue","nameLocation":"6033:10:51","nodeType":"VariableDeclaration","scope":8614,"src":"6020:23:51","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8592,"name":"bytes","nodeType":"ElementaryTypeName","src":"6020:5:51","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8596,"initialValue":{"expression":{"id":8594,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8578,"src":"6046:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8595,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":8039,"src":"6046:12:51","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6020:38:51"},{"assignments":[8598],"declarations":[{"constant":false,"id":8598,"mutability":"mutable","name":"offset","nameLocation":"6071:6:51","nodeType":"VariableDeclaration","scope":8614,"src":"6064:13:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":8597,"name":"uint32","nodeType":"ElementaryTypeName","src":"6064:6:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"id":8601,"initialValue":{"expression":{"id":8599,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8578,"src":"6080:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8600,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"6080:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"VariableDeclarationStatement","src":"6064:30:51"},{"assignments":[8603],"declarations":[{"constant":false,"id":8603,"mutability":"mutable","name":"value","nameLocation":"6107:5:51","nodeType":"VariableDeclaration","scope":8614,"src":"6100:12:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":8602,"name":"uint32","nodeType":"ElementaryTypeName","src":"6100:6:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"id":8604,"nodeType":"VariableDeclarationStatement","src":"6100:12:51"},{"AST":{"nodeType":"YulBlock","src":"6127:61:51","statements":[{"nodeType":"YulAssignment","src":"6135:47:51","value":{"arguments":[{"arguments":[{"arguments":[{"name":"bytesValue","nodeType":"YulIdentifier","src":"6158:10:51"},{"kind":"number","nodeType":"YulLiteral","src":"6170:1:51","type":"","value":"4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6154:3:51"},"nodeType":"YulFunctionCall","src":"6154:18:51"},{"name":"offset","nodeType":"YulIdentifier","src":"6174:6:51"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6150:3:51"},"nodeType":"YulFunctionCall","src":"6150:31:51"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6144:5:51"},"nodeType":"YulFunctionCall","src":"6144:38:51"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"6135:5:51"}]}]},"evmVersion":"london","externalReferences":[{"declaration":8593,"isOffset":false,"isSlot":false,"src":"6158:10:51","valueSize":1},{"declaration":8598,"isOffset":false,"isSlot":false,"src":"6174:6:51","valueSize":1},{"declaration":8603,"isOffset":false,"isSlot":false,"src":"6135:5:51","valueSize":1}],"id":8605,"nodeType":"InlineAssembly","src":"6118:70:51"},{"expression":{"id":8610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":8606,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8578,"src":"6193:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8608,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"6193:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"34","id":8609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6211:1:51","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"6193:19:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":8611,"nodeType":"ExpressionStatement","src":"6193:19:51"},{"expression":{"id":8612,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8603,"src":"6226:5:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"functionReturnParameters":8591,"id":8613,"nodeType":"Return","src":"6219:12:51"}]},"documentation":{"id":8575,"nodeType":"StructuredDocumentation","src":"5642:232:51","text":"@notice Read and consume the next 4 bytes from the buffer as an `uint32`.\n @param _buffer An instance of `Witnet.Buffer`.\n @return The `uint32` value of the next 4 bytes in the buffer counting from the cursor position."},"id":8615,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":8584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8581,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8578,"src":"5956:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8582,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"5956:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33","id":8583,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5973:1:51","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"5956:18:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"expression":{"expression":{"id":8585,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8578,"src":"5976:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8586,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":8039,"src":"5976:12:51","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"5976:19:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8588,"kind":"modifierInvocation","modifierName":{"id":8580,"name":"notOutOfBounds","nodeType":"IdentifierPath","referencedDeclaration":8319,"src":"5941:14:51"},"nodeType":"ModifierInvocation","src":"5941:55:51"}],"name":"readUint32","nameLocation":"5886:10:51","nodeType":"FunctionDefinition","parameters":{"id":8579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8578,"mutability":"mutable","name":"_buffer","nameLocation":"5918:7:51","nodeType":"VariableDeclaration","scope":8615,"src":"5897:28:51","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer"},"typeName":{"id":8577,"nodeType":"UserDefinedTypeName","pathNode":{"id":8576,"name":"Witnet.Buffer","nodeType":"IdentifierPath","referencedDeclaration":8042,"src":"5897:13:51"},"referencedDeclaration":8042,"src":"5897:13:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_storage_ptr","typeString":"struct Witnet.Buffer"}},"visibility":"internal"}],"src":"5896:30:51"},"returnParameters":{"id":8591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8590,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8615,"src":"6006:6:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":8589,"name":"uint32","nodeType":"ElementaryTypeName","src":"6006:6:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"6005:8:51"},"scope":8942,"src":"5877:359:51","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8655,"nodeType":"Block","src":"6612:222:51","statements":[{"assignments":[8634],"declarations":[{"constant":false,"id":8634,"mutability":"mutable","name":"bytesValue","nameLocation":"6631:10:51","nodeType":"VariableDeclaration","scope":8655,"src":"6618:23:51","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8633,"name":"bytes","nodeType":"ElementaryTypeName","src":"6618:5:51","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8637,"initialValue":{"expression":{"id":8635,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8619,"src":"6644:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8636,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":8039,"src":"6644:12:51","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6618:38:51"},{"assignments":[8639],"declarations":[{"constant":false,"id":8639,"mutability":"mutable","name":"offset","nameLocation":"6669:6:51","nodeType":"VariableDeclaration","scope":8655,"src":"6662:13:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":8638,"name":"uint32","nodeType":"ElementaryTypeName","src":"6662:6:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"id":8642,"initialValue":{"expression":{"id":8640,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8619,"src":"6678:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8641,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"6678:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"VariableDeclarationStatement","src":"6662:30:51"},{"assignments":[8644],"declarations":[{"constant":false,"id":8644,"mutability":"mutable","name":"value","nameLocation":"6705:5:51","nodeType":"VariableDeclaration","scope":8655,"src":"6698:12:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":8643,"name":"uint64","nodeType":"ElementaryTypeName","src":"6698:6:51","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":8645,"nodeType":"VariableDeclarationStatement","src":"6698:12:51"},{"AST":{"nodeType":"YulBlock","src":"6725:61:51","statements":[{"nodeType":"YulAssignment","src":"6733:47:51","value":{"arguments":[{"arguments":[{"arguments":[{"name":"bytesValue","nodeType":"YulIdentifier","src":"6756:10:51"},{"kind":"number","nodeType":"YulLiteral","src":"6768:1:51","type":"","value":"8"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6752:3:51"},"nodeType":"YulFunctionCall","src":"6752:18:51"},{"name":"offset","nodeType":"YulIdentifier","src":"6772:6:51"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6748:3:51"},"nodeType":"YulFunctionCall","src":"6748:31:51"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6742:5:51"},"nodeType":"YulFunctionCall","src":"6742:38:51"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"6733:5:51"}]}]},"evmVersion":"london","externalReferences":[{"declaration":8634,"isOffset":false,"isSlot":false,"src":"6756:10:51","valueSize":1},{"declaration":8639,"isOffset":false,"isSlot":false,"src":"6772:6:51","valueSize":1},{"declaration":8644,"isOffset":false,"isSlot":false,"src":"6733:5:51","valueSize":1}],"id":8646,"nodeType":"InlineAssembly","src":"6716:70:51"},{"expression":{"id":8651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":8647,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8619,"src":"6791:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8649,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"6791:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"38","id":8650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6809:1:51","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"6791:19:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":8652,"nodeType":"ExpressionStatement","src":"6791:19:51"},{"expression":{"id":8653,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8644,"src":"6824:5:51","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":8632,"id":8654,"nodeType":"Return","src":"6817:12:51"}]},"documentation":{"id":8616,"nodeType":"StructuredDocumentation","src":"6240:232:51","text":"@notice Read and consume the next 8 bytes from the buffer as an `uint64`.\n @param _buffer An instance of `Witnet.Buffer`.\n @return The `uint64` value of the next 8 bytes in the buffer counting from the cursor position."},"id":8656,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":8625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8622,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8619,"src":"6554:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8623,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"6554:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"37","id":8624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6571:1:51","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"6554:18:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"expression":{"expression":{"id":8626,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8619,"src":"6574:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8627,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":8039,"src":"6574:12:51","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6574:19:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8629,"kind":"modifierInvocation","modifierName":{"id":8621,"name":"notOutOfBounds","nodeType":"IdentifierPath","referencedDeclaration":8319,"src":"6539:14:51"},"nodeType":"ModifierInvocation","src":"6539:55:51"}],"name":"readUint64","nameLocation":"6484:10:51","nodeType":"FunctionDefinition","parameters":{"id":8620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8619,"mutability":"mutable","name":"_buffer","nameLocation":"6516:7:51","nodeType":"VariableDeclaration","scope":8656,"src":"6495:28:51","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer"},"typeName":{"id":8618,"nodeType":"UserDefinedTypeName","pathNode":{"id":8617,"name":"Witnet.Buffer","nodeType":"IdentifierPath","referencedDeclaration":8042,"src":"6495:13:51"},"referencedDeclaration":8042,"src":"6495:13:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_storage_ptr","typeString":"struct Witnet.Buffer"}},"visibility":"internal"}],"src":"6494:30:51"},"returnParameters":{"id":8632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8631,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8656,"src":"6604:6:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":8630,"name":"uint64","nodeType":"ElementaryTypeName","src":"6604:6:51","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"6603:8:51"},"scope":8942,"src":"6475:359:51","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8696,"nodeType":"Block","src":"7217:225:51","statements":[{"assignments":[8675],"declarations":[{"constant":false,"id":8675,"mutability":"mutable","name":"bytesValue","nameLocation":"7236:10:51","nodeType":"VariableDeclaration","scope":8696,"src":"7223:23:51","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8674,"name":"bytes","nodeType":"ElementaryTypeName","src":"7223:5:51","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8678,"initialValue":{"expression":{"id":8676,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8660,"src":"7249:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8677,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":8039,"src":"7249:12:51","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7223:38:51"},{"assignments":[8680],"declarations":[{"constant":false,"id":8680,"mutability":"mutable","name":"offset","nameLocation":"7274:6:51","nodeType":"VariableDeclaration","scope":8696,"src":"7267:13:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":8679,"name":"uint32","nodeType":"ElementaryTypeName","src":"7267:6:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"id":8683,"initialValue":{"expression":{"id":8681,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8660,"src":"7283:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8682,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"7283:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"VariableDeclarationStatement","src":"7267:30:51"},{"assignments":[8685],"declarations":[{"constant":false,"id":8685,"mutability":"mutable","name":"value","nameLocation":"7311:5:51","nodeType":"VariableDeclaration","scope":8696,"src":"7303:13:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":8684,"name":"uint128","nodeType":"ElementaryTypeName","src":"7303:7:51","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"id":8686,"nodeType":"VariableDeclarationStatement","src":"7303:13:51"},{"AST":{"nodeType":"YulBlock","src":"7331:62:51","statements":[{"nodeType":"YulAssignment","src":"7339:48:51","value":{"arguments":[{"arguments":[{"arguments":[{"name":"bytesValue","nodeType":"YulIdentifier","src":"7362:10:51"},{"kind":"number","nodeType":"YulLiteral","src":"7374:2:51","type":"","value":"16"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7358:3:51"},"nodeType":"YulFunctionCall","src":"7358:19:51"},{"name":"offset","nodeType":"YulIdentifier","src":"7379:6:51"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7354:3:51"},"nodeType":"YulFunctionCall","src":"7354:32:51"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7348:5:51"},"nodeType":"YulFunctionCall","src":"7348:39:51"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"7339:5:51"}]}]},"evmVersion":"london","externalReferences":[{"declaration":8675,"isOffset":false,"isSlot":false,"src":"7362:10:51","valueSize":1},{"declaration":8680,"isOffset":false,"isSlot":false,"src":"7379:6:51","valueSize":1},{"declaration":8685,"isOffset":false,"isSlot":false,"src":"7339:5:51","valueSize":1}],"id":8687,"nodeType":"InlineAssembly","src":"7322:71:51"},{"expression":{"id":8692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":8688,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8660,"src":"7398:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8690,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"7398:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3136","id":8691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7416:2:51","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"7398:20:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":8693,"nodeType":"ExpressionStatement","src":"7398:20:51"},{"expression":{"id":8694,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8685,"src":"7432:5:51","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"functionReturnParameters":8673,"id":8695,"nodeType":"Return","src":"7425:12:51"}]},"documentation":{"id":8657,"nodeType":"StructuredDocumentation","src":"6838:236:51","text":"@notice Read and consume the next 16 bytes from the buffer as an `uint128`.\n @param _buffer An instance of `Witnet.Buffer`.\n @return The `uint128` value of the next 16 bytes in the buffer counting from the cursor position."},"id":8697,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":8666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8663,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8660,"src":"7157:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8664,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"7157:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3135","id":8665,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7174:2:51","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"15"},"src":"7157:19:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"expression":{"expression":{"id":8667,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8660,"src":"7178:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8668,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":8039,"src":"7178:12:51","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7178:19:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8670,"kind":"modifierInvocation","modifierName":{"id":8662,"name":"notOutOfBounds","nodeType":"IdentifierPath","referencedDeclaration":8319,"src":"7142:14:51"},"nodeType":"ModifierInvocation","src":"7142:56:51"}],"name":"readUint128","nameLocation":"7086:11:51","nodeType":"FunctionDefinition","parameters":{"id":8661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8660,"mutability":"mutable","name":"_buffer","nameLocation":"7119:7:51","nodeType":"VariableDeclaration","scope":8697,"src":"7098:28:51","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer"},"typeName":{"id":8659,"nodeType":"UserDefinedTypeName","pathNode":{"id":8658,"name":"Witnet.Buffer","nodeType":"IdentifierPath","referencedDeclaration":8042,"src":"7098:13:51"},"referencedDeclaration":8042,"src":"7098:13:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_storage_ptr","typeString":"struct Witnet.Buffer"}},"visibility":"internal"}],"src":"7097:30:51"},"returnParameters":{"id":8673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8672,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8697,"src":"7208:7:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":8671,"name":"uint128","nodeType":"ElementaryTypeName","src":"7208:7:51","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"7207:9:51"},"scope":8942,"src":"7077:365:51","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8737,"nodeType":"Block","src":"7825:225:51","statements":[{"assignments":[8716],"declarations":[{"constant":false,"id":8716,"mutability":"mutable","name":"bytesValue","nameLocation":"7844:10:51","nodeType":"VariableDeclaration","scope":8737,"src":"7831:23:51","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8715,"name":"bytes","nodeType":"ElementaryTypeName","src":"7831:5:51","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8719,"initialValue":{"expression":{"id":8717,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8701,"src":"7857:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8718,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":8039,"src":"7857:12:51","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7831:38:51"},{"assignments":[8721],"declarations":[{"constant":false,"id":8721,"mutability":"mutable","name":"offset","nameLocation":"7882:6:51","nodeType":"VariableDeclaration","scope":8737,"src":"7875:13:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":8720,"name":"uint32","nodeType":"ElementaryTypeName","src":"7875:6:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"id":8724,"initialValue":{"expression":{"id":8722,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8701,"src":"7891:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8723,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"7891:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"VariableDeclarationStatement","src":"7875:30:51"},{"assignments":[8726],"declarations":[{"constant":false,"id":8726,"mutability":"mutable","name":"value","nameLocation":"7919:5:51","nodeType":"VariableDeclaration","scope":8737,"src":"7911:13:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8725,"name":"uint256","nodeType":"ElementaryTypeName","src":"7911:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8727,"nodeType":"VariableDeclarationStatement","src":"7911:13:51"},{"AST":{"nodeType":"YulBlock","src":"7939:62:51","statements":[{"nodeType":"YulAssignment","src":"7947:48:51","value":{"arguments":[{"arguments":[{"arguments":[{"name":"bytesValue","nodeType":"YulIdentifier","src":"7970:10:51"},{"kind":"number","nodeType":"YulLiteral","src":"7982:2:51","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7966:3:51"},"nodeType":"YulFunctionCall","src":"7966:19:51"},{"name":"offset","nodeType":"YulIdentifier","src":"7987:6:51"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7962:3:51"},"nodeType":"YulFunctionCall","src":"7962:32:51"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7956:5:51"},"nodeType":"YulFunctionCall","src":"7956:39:51"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"7947:5:51"}]}]},"evmVersion":"london","externalReferences":[{"declaration":8716,"isOffset":false,"isSlot":false,"src":"7970:10:51","valueSize":1},{"declaration":8721,"isOffset":false,"isSlot":false,"src":"7987:6:51","valueSize":1},{"declaration":8726,"isOffset":false,"isSlot":false,"src":"7947:5:51","valueSize":1}],"id":8728,"nodeType":"InlineAssembly","src":"7930:71:51"},{"expression":{"id":8733,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":8729,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8701,"src":"8006:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8731,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"8006:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3332","id":8732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8024:2:51","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"8006:20:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":8734,"nodeType":"ExpressionStatement","src":"8006:20:51"},{"expression":{"id":8735,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8726,"src":"8040:5:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8714,"id":8736,"nodeType":"Return","src":"8033:12:51"}]},"documentation":{"id":8698,"nodeType":"StructuredDocumentation","src":"7446:236:51","text":"@notice Read and consume the next 32 bytes from the buffer as an `uint256`.\n @return The `uint256` value of the next 32 bytes in the buffer counting from the cursor position.\n @param _buffer An instance of `Witnet.Buffer`."},"id":8738,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":8707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8704,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8701,"src":"7765:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8705,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"cursor","nodeType":"MemberAccess","referencedDeclaration":8041,"src":"7765:14:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3331","id":8706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7782:2:51","typeDescriptions":{"typeIdentifier":"t_rational_31_by_1","typeString":"int_const 31"},"value":"31"},"src":"7765:19:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"expression":{"expression":{"id":8708,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8701,"src":"7786:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":8709,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":8039,"src":"7786:12:51","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7786:19:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8711,"kind":"modifierInvocation","modifierName":{"id":8703,"name":"notOutOfBounds","nodeType":"IdentifierPath","referencedDeclaration":8319,"src":"7750:14:51"},"nodeType":"ModifierInvocation","src":"7750:56:51"}],"name":"readUint256","nameLocation":"7694:11:51","nodeType":"FunctionDefinition","parameters":{"id":8702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8701,"mutability":"mutable","name":"_buffer","nameLocation":"7727:7:51","nodeType":"VariableDeclaration","scope":8738,"src":"7706:28:51","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer"},"typeName":{"id":8700,"nodeType":"UserDefinedTypeName","pathNode":{"id":8699,"name":"Witnet.Buffer","nodeType":"IdentifierPath","referencedDeclaration":8042,"src":"7706:13:51"},"referencedDeclaration":8042,"src":"7706:13:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_storage_ptr","typeString":"struct Witnet.Buffer"}},"visibility":"internal"}],"src":"7705:30:51"},"returnParameters":{"id":8714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8713,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8738,"src":"7816:7:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8712,"name":"uint256","nodeType":"ElementaryTypeName","src":"7816:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7815:9:51"},"scope":8942,"src":"7685:365:51","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8887,"nodeType":"Block","src":"8887:983:51","statements":[{"assignments":[8748],"declarations":[{"constant":false,"id":8748,"mutability":"mutable","name":"bytesValue","nameLocation":"8900:10:51","nodeType":"VariableDeclaration","scope":8887,"src":"8893:17:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":8747,"name":"uint32","nodeType":"ElementaryTypeName","src":"8893:6:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"id":8752,"initialValue":{"arguments":[{"id":8750,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8742,"src":"8924:7:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}],"id":8749,"name":"readUint16","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8574,"src":"8913:10:51","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$returns$_t_uint16_$","typeString":"function (struct Witnet.Buffer memory) pure returns (uint16)"}},"id":8751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8913:19:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"nodeType":"VariableDeclarationStatement","src":"8893:39:51"},{"assignments":[8754],"declarations":[{"constant":false,"id":8754,"mutability":"mutable","name":"sign","nameLocation":"8974:4:51","nodeType":"VariableDeclaration","scope":8887,"src":"8967:11:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":8753,"name":"uint32","nodeType":"ElementaryTypeName","src":"8967:6:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"id":8758,"initialValue":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":8757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8755,"name":"bytesValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8748,"src":"8981:10:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307838303030","id":8756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8994:6:51","typeDescriptions":{"typeIdentifier":"t_rational_32768_by_1","typeString":"int_const 32768"},"value":"0x8000"},"src":"8981:19:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"VariableDeclarationStatement","src":"8967:33:51"},{"assignments":[8760],"declarations":[{"constant":false,"id":8760,"mutability":"mutable","name":"exponent","nameLocation":"9124:8:51","nodeType":"VariableDeclaration","scope":8887,"src":"9118:14:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":8759,"name":"int32","nodeType":"ElementaryTypeName","src":"9118:5:51","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"id":8772,"initialValue":{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":8771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":8768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":8765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8763,"name":"bytesValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8748,"src":"9142:10:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307837633030","id":8764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9155:6:51","typeDescriptions":{"typeIdentifier":"t_rational_31744_by_1","typeString":"int_const 31744"},"value":"0x7c00"},"src":"9142:19:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":8762,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9136:5:51","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":8761,"name":"int32","nodeType":"ElementaryTypeName","src":"9136:5:51","typeDescriptions":{}}},"id":8766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9136:26:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3130","id":8767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9166:2:51","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"9136:32:51","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}}],"id":8769,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9135:34:51","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"3135","id":8770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9172:2:51","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"15"},"src":"9135:39:51","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"VariableDeclarationStatement","src":"9118:56:51"},{"assignments":[8774],"declarations":[{"constant":false,"id":8774,"mutability":"mutable","name":"significand","nameLocation":"9210:11:51","nodeType":"VariableDeclaration","scope":8887,"src":"9204:17:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":8773,"name":"int32","nodeType":"ElementaryTypeName","src":"9204:5:51","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"id":8781,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":8779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8777,"name":"bytesValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8748,"src":"9230:10:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307830336666","id":8778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9243:6:51","typeDescriptions":{"typeIdentifier":"t_rational_1023_by_1","typeString":"int_const 1023"},"value":"0x03ff"},"src":"9230:19:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":8776,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9224:5:51","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":8775,"name":"int32","nodeType":"ElementaryTypeName","src":"9224:5:51","typeDescriptions":{}}},"id":8780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9224:26:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"VariableDeclarationStatement","src":"9204:46:51"},{"condition":{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":8784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8782,"name":"exponent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8760,"src":"9314:8:51","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3135","id":8783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9326:2:51","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"15"},"src":"9314:14:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8790,"nodeType":"IfStatement","src":"9310:55:51","trueBody":{"id":8789,"nodeType":"Block","src":"9330:35:51","statements":[{"expression":{"id":8787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8785,"name":"significand","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8774,"src":"9338:11:51","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"hexValue":"3078343030","id":8786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9353:5:51","typeDescriptions":{"typeIdentifier":"t_rational_1024_by_1","typeString":"int_const 1024"},"value":"0x400"},"src":"9338:20:51","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":8788,"nodeType":"ExpressionStatement","src":"9338:20:51"}]}},{"assignments":[8792],"declarations":[{"constant":false,"id":8792,"mutability":"mutable","name":"result","nameLocation":"9432:6:51","nodeType":"VariableDeclaration","scope":8887,"src":"9426:12:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":8791,"name":"int32","nodeType":"ElementaryTypeName","src":"9426:5:51","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"id":8794,"initialValue":{"hexValue":"30","id":8793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9441:1:51","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"9426:16:51"},{"condition":{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":8797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8795,"name":"exponent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8760,"src":"9452:8:51","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30","id":8796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9464:1:51","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9452:13:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":8873,"nodeType":"Block","src":"9605:136:51","statements":[{"expression":{"id":8871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8835,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8792,"src":"9613:6:51","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":8844,"name":"significand","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8774,"src":"9652:11:51","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int32","typeString":"int32"}],"id":8843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9645:6:51","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":8842,"name":"int256","nodeType":"ElementaryTypeName","src":"9645:6:51","typeDescriptions":{}}},"id":8845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9645:19:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8841,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9637:7:51","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8840,"name":"uint256","nodeType":"ElementaryTypeName","src":"9637:7:51","typeDescriptions":{}}},"id":8846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9637:28:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"hexValue":"3078343030","id":8847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9668:5:51","typeDescriptions":{"typeIdentifier":"t_rational_1024_by_1","typeString":"int_const 1024"},"value":"0x400"},"src":"9637:36:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9630:6:51","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":8838,"name":"int256","nodeType":"ElementaryTypeName","src":"9630:6:51","typeDescriptions":{}}},"id":8849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9630:44:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3130303030","id":8850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9677:5:51","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"value":"10000"},"src":"9630:52:51","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":8852,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9629:54:51","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":8855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9693:1:51","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"arguments":[{"arguments":[{"id":8861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"9713:10:51","subExpression":{"id":8860,"name":"exponent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8760,"src":"9715:8:51","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int32","typeString":"int32"}],"id":8859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9706:6:51","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":8858,"name":"int256","nodeType":"ElementaryTypeName","src":"9706:6:51","typeDescriptions":{}}},"id":8862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9706:18:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8857,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9698:7:51","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8856,"name":"uint256","nodeType":"ElementaryTypeName","src":"9698:7:51","typeDescriptions":{}}},"id":8863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9698:27:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9693:32:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8854,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9686:6:51","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":8853,"name":"int256","nodeType":"ElementaryTypeName","src":"9686:6:51","typeDescriptions":{}}},"id":8865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9686:40:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"9629:97:51","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":8867,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9628:99:51","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3130","id":8868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9731:2:51","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"9628:105:51","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8837,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9622:5:51","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":8836,"name":"int32","nodeType":"ElementaryTypeName","src":"9622:5:51","typeDescriptions":{}}},"id":8870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9622:112:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"9613:121:51","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":8872,"nodeType":"ExpressionStatement","src":"9613:121:51"}]},"id":8874,"nodeType":"IfStatement","src":"9448:293:51","trueBody":{"id":8834,"nodeType":"Block","src":"9467:132:51","statements":[{"expression":{"id":8832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8798,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8792,"src":"9475:6:51","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":8803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9498:1:51","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"arguments":[{"arguments":[{"id":8808,"name":"exponent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8760,"src":"9518:8:51","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int32","typeString":"int32"}],"id":8807,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9511:6:51","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":8806,"name":"int256","nodeType":"ElementaryTypeName","src":"9511:6:51","typeDescriptions":{}}},"id":8809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9511:16:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9503:7:51","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8804,"name":"uint256","nodeType":"ElementaryTypeName","src":"9503:7:51","typeDescriptions":{}}},"id":8810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9503:25:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9498:30:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8802,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9491:6:51","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":8801,"name":"int256","nodeType":"ElementaryTypeName","src":"9491:6:51","typeDescriptions":{}}},"id":8812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9491:38:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3130303030","id":8813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9532:5:51","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"value":"10000"},"src":"9491:46:51","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":8821,"name":"significand","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8774,"src":"9562:11:51","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int32","typeString":"int32"}],"id":8820,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9555:6:51","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":8819,"name":"int256","nodeType":"ElementaryTypeName","src":"9555:6:51","typeDescriptions":{}}},"id":8822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9555:19:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9547:7:51","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8817,"name":"uint256","nodeType":"ElementaryTypeName","src":"9547:7:51","typeDescriptions":{}}},"id":8823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9547:28:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"hexValue":"3078343030","id":8824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9578:5:51","typeDescriptions":{"typeIdentifier":"t_rational_1024_by_1","typeString":"int_const 1024"},"value":"0x400"},"src":"9547:36:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8816,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9540:6:51","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":8815,"name":"int256","nodeType":"ElementaryTypeName","src":"9540:6:51","typeDescriptions":{}}},"id":8826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9540:44:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"9491:93:51","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":8828,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9490:95:51","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3130","id":8829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9589:2:51","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"9490:101:51","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8800,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9484:5:51","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":8799,"name":"int32","nodeType":"ElementaryTypeName","src":"9484:5:51","typeDescriptions":{}}},"id":8831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9484:108:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"9475:117:51","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":8833,"nodeType":"ExpressionStatement","src":"9475:117:51"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":8877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8875,"name":"sign","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8754,"src":"9808:4:51","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":8876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9816:1:51","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9808:9:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8884,"nodeType":"IfStatement","src":"9804:43:51","trueBody":{"id":8883,"nodeType":"Block","src":"9819:28:51","statements":[{"expression":{"id":8881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8878,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8792,"src":"9827:6:51","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"id":8880,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"9837:3:51","subExpression":{"hexValue":"31","id":8879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9839:1:51","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}},"src":"9827:13:51","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":8882,"nodeType":"ExpressionStatement","src":"9827:13:51"}]}},{"expression":{"id":8885,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8792,"src":"9859:6:51","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"functionReturnParameters":8746,"id":8886,"nodeType":"Return","src":"9852:13:51"}]},"documentation":{"id":8739,"nodeType":"StructuredDocumentation","src":"8054:749:51","text":"@notice Read and consume the next 2 bytes from the buffer as an IEEE 754-2008 floating point number enclosed in an\n `int32`.\n @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values\n by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `float16`\n use cases. In other words, the integer output of this method is 10,000 times the actual value. The input bytes are\n expected to follow the 16-bit base-2 format (a.k.a. `binary16`) in the IEEE 754-2008 standard.\n @param _buffer An instance of `Witnet.Buffer`.\n @return The `uint32` value of the next 4 bytes in the buffer counting from the cursor position."},"id":8888,"implemented":true,"kind":"function","modifiers":[],"name":"readFloat16","nameLocation":"8815:11:51","nodeType":"FunctionDefinition","parameters":{"id":8743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8742,"mutability":"mutable","name":"_buffer","nameLocation":"8848:7:51","nodeType":"VariableDeclaration","scope":8888,"src":"8827:28:51","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer"},"typeName":{"id":8741,"nodeType":"UserDefinedTypeName","pathNode":{"id":8740,"name":"Witnet.Buffer","nodeType":"IdentifierPath","referencedDeclaration":8042,"src":"8827:13:51"},"referencedDeclaration":8042,"src":"8827:13:51","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_storage_ptr","typeString":"struct Witnet.Buffer"}},"visibility":"internal"}],"src":"8826:30:51"},"returnParameters":{"id":8746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8745,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8888,"src":"8880:5:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":8744,"name":"int32","nodeType":"ElementaryTypeName","src":"8880:5:51","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"src":"8879:7:51"},"scope":8942,"src":"8806:1064:51","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8940,"nodeType":"Block","src":"10423:519:51","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8899,"name":"_len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8895,"src":"10437:4:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":8900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10444:1:51","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10437:8:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65744275666665723a2043616e6e6f7420636f70792030206279746573","id":8902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10447:35:51","typeDescriptions":{"typeIdentifier":"t_stringliteral_ed3d615850988e92ac3bb7e19fc8fd4a6d0fd5efa663c85800c4ba4a146272ea","typeString":"literal_string \"WitnetBuffer: Cannot copy 0 bytes\""},"value":"WitnetBuffer: Cannot copy 0 bytes"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ed3d615850988e92ac3bb7e19fc8fd4a6d0fd5efa663c85800c4ba4a146272ea","typeString":"literal_string \"WitnetBuffer: Cannot copy 0 bytes\""}],"id":8898,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10429:7:51","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10429:54:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8904,"nodeType":"ExpressionStatement","src":"10429:54:51"},{"body":{"id":8921,"nodeType":"Block","src":"10567:104:51","statements":[{"AST":{"nodeType":"YulBlock","src":"10584:44:51","statements":[{"expression":{"arguments":[{"name":"_dest","nodeType":"YulIdentifier","src":"10601:5:51"},{"arguments":[{"name":"_src","nodeType":"YulIdentifier","src":"10614:4:51"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10608:5:51"},"nodeType":"YulFunctionCall","src":"10608:11:51"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10594:6:51"},"nodeType":"YulFunctionCall","src":"10594:26:51"},"nodeType":"YulExpressionStatement","src":"10594:26:51"}]},"evmVersion":"london","externalReferences":[{"declaration":8891,"isOffset":false,"isSlot":false,"src":"10601:5:51","valueSize":1},{"declaration":8893,"isOffset":false,"isSlot":false,"src":"10614:4:51","valueSize":1}],"id":8912,"nodeType":"InlineAssembly","src":"10575:53:51"},{"expression":{"id":8915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8913,"name":"_dest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8891,"src":"10635:5:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3332","id":8914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10644:2:51","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"10635:11:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8916,"nodeType":"ExpressionStatement","src":"10635:11:51"},{"expression":{"id":8919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8917,"name":"_src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8893,"src":"10654:4:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3332","id":8918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10662:2:51","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"10654:10:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8920,"nodeType":"ExpressionStatement","src":"10654:10:51"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8905,"name":"_len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8895,"src":"10543:4:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"3332","id":8906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10551:2:51","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"10543:10:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8922,"loopExpression":{"expression":{"id":8910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8908,"name":"_len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8895,"src":"10555:4:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"3332","id":8909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10563:2:51","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"10555:10:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8911,"nodeType":"ExpressionStatement","src":"10555:10:51"},"nodeType":"ForStatement","src":"10536:135:51"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8923,"name":"_len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8895,"src":"10680:4:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":8924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10687:1:51","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10680:8:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8939,"nodeType":"IfStatement","src":"10676:262:51","trueBody":{"id":8938,"nodeType":"Block","src":"10690:248:51","statements":[{"assignments":[8927],"declarations":[{"constant":false,"id":8927,"mutability":"mutable","name":"mask","nameLocation":"10733:4:51","nodeType":"VariableDeclaration","scope":8938,"src":"10728:9:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8926,"name":"uint","nodeType":"ElementaryTypeName","src":"10728:4:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8936,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"323536","id":8928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10740:3:51","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":8929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10748:2:51","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":8930,"name":"_len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8895,"src":"10753:4:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10748:9:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8932,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10747:11:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10740:18:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":8934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10761:1:51","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10740:22:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10728:34:51"},{"AST":{"nodeType":"YulBlock","src":"10779:153:51","statements":[{"nodeType":"YulVariableDeclaration","src":"10789:42:51","value":{"arguments":[{"arguments":[{"name":"_src","nodeType":"YulIdentifier","src":"10814:4:51"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10808:5:51"},"nodeType":"YulFunctionCall","src":"10808:11:51"},{"arguments":[{"name":"mask","nodeType":"YulIdentifier","src":"10825:4:51"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"10821:3:51"},"nodeType":"YulFunctionCall","src":"10821:9:51"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"10804:3:51"},"nodeType":"YulFunctionCall","src":"10804:27:51"},"variables":[{"name":"srcpart","nodeType":"YulTypedName","src":"10793:7:51","type":""}]},{"nodeType":"YulVariableDeclaration","src":"10840:39:51","value":{"arguments":[{"arguments":[{"name":"_dest","nodeType":"YulIdentifier","src":"10866:5:51"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10860:5:51"},"nodeType":"YulFunctionCall","src":"10860:12:51"},{"name":"mask","nodeType":"YulIdentifier","src":"10874:4:51"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"10856:3:51"},"nodeType":"YulFunctionCall","src":"10856:23:51"},"variables":[{"name":"destpart","nodeType":"YulTypedName","src":"10844:8:51","type":""}]},{"expression":{"arguments":[{"name":"_dest","nodeType":"YulIdentifier","src":"10895:5:51"},{"arguments":[{"name":"destpart","nodeType":"YulIdentifier","src":"10905:8:51"},{"name":"srcpart","nodeType":"YulIdentifier","src":"10915:7:51"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"10902:2:51"},"nodeType":"YulFunctionCall","src":"10902:21:51"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10888:6:51"},"nodeType":"YulFunctionCall","src":"10888:36:51"},"nodeType":"YulExpressionStatement","src":"10888:36:51"}]},"evmVersion":"london","externalReferences":[{"declaration":8891,"isOffset":false,"isSlot":false,"src":"10866:5:51","valueSize":1},{"declaration":8891,"isOffset":false,"isSlot":false,"src":"10895:5:51","valueSize":1},{"declaration":8893,"isOffset":false,"isSlot":false,"src":"10814:4:51","valueSize":1},{"declaration":8927,"isOffset":false,"isSlot":false,"src":"10825:4:51","valueSize":1},{"declaration":8927,"isOffset":false,"isSlot":false,"src":"10874:4:51","valueSize":1}],"id":8937,"nodeType":"InlineAssembly","src":"10770:162:51"}]}}]},"documentation":{"id":8889,"nodeType":"StructuredDocumentation","src":"9874:427:51","text":"@notice Copy bytes from one memory address into another.\n @dev This function was borrowed from Nick Johnson's `solidity-stringutils` lib, and reproduced here under the terms\n of [Apache License 2.0](https://github.com/Arachnid/solidity-stringutils/blob/master/LICENSE).\n @param _dest Address of the destination memory.\n @param _src Address to the source memory.\n @param _len How many bytes to copy."},"id":8941,"implemented":true,"kind":"function","modifiers":[],"name":"memcpy","nameLocation":"10369:6:51","nodeType":"FunctionDefinition","parameters":{"id":8896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8891,"mutability":"mutable","name":"_dest","nameLocation":"10381:5:51","nodeType":"VariableDeclaration","scope":8941,"src":"10376:10:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8890,"name":"uint","nodeType":"ElementaryTypeName","src":"10376:4:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8893,"mutability":"mutable","name":"_src","nameLocation":"10393:4:51","nodeType":"VariableDeclaration","scope":8941,"src":"10388:9:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8892,"name":"uint","nodeType":"ElementaryTypeName","src":"10388:4:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8895,"mutability":"mutable","name":"_len","nameLocation":"10404:4:51","nodeType":"VariableDeclaration","scope":8941,"src":"10399:9:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8894,"name":"uint","nodeType":"ElementaryTypeName","src":"10399:4:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10375:34:51"},"returnParameters":{"id":8897,"nodeType":"ParameterList","parameters":[],"src":"10423:0:51"},"scope":8942,"src":"10360:582:51","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":8943,"src":"658:10287:51","usedErrors":[]}],"src":"33:10913:51"},"id":51},"witnet-solidity-bridge/contracts/libs/WitnetDecoderLib.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/libs/WitnetDecoderLib.sol","exportedSymbols":{"IWitnetRequest":[7510],"Witnet":[8300],"WitnetBuffer":[8942],"WitnetDecoderLib":[10067]},"id":10068,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8944,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:52"},{"id":8945,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"65:33:52"},{"absolutePath":"witnet-solidity-bridge/contracts/libs/WitnetBuffer.sol","file":"./WitnetBuffer.sol","id":8946,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":10068,"sourceUnit":8943,"src":"100:28:52","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"library","documentation":{"id":8947,"nodeType":"StructuredDocumentation","src":"130:683:52","text":"@title A minimalistic implementation of “RFC 7049 Concise Binary Object Representation”\n @notice This library leverages a buffer-like structure for step-by-step decoding of bytes so as to minimize\n the gas cost of decoding them into a useful native type.\n @dev Most of the logic has been borrowed from Patrick Gansterer’s cbor.js library: https://github.com/paroga/cbor-js\n @author The Witnet Foundation.\n \n TODO: add support for Array (majorType = 4)\n TODO: add support for Map (majorType = 5)\n TODO: add support for Float32 (majorType = 7, additionalInformation = 26)\n TODO: add support for Float64 (majorType = 7, additionalInformation = 27) "},"fullyImplemented":true,"id":10067,"linearizedBaseContracts":[10067],"name":"WitnetDecoderLib","nameLocation":"822:16:52","nodeType":"ContractDefinition","nodes":[{"id":8951,"libraryName":{"id":8948,"name":"WitnetBuffer","nodeType":"IdentifierPath","referencedDeclaration":8942,"src":"850:12:52"},"nodeType":"UsingForDirective","src":"844:37:52","typeName":{"id":8950,"nodeType":"UserDefinedTypeName","pathNode":{"id":8949,"name":"Witnet.Buffer","nodeType":"IdentifierPath","referencedDeclaration":8042,"src":"867:13:52"},"referencedDeclaration":8042,"src":"867:13:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_storage_ptr","typeString":"struct Witnet.Buffer"}}},{"constant":true,"id":8958,"mutability":"constant","name":"_UINT32_MAX","nameLocation":"910:11:52","nodeType":"VariableDeclaration","scope":10067,"src":"885:55:52","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":8952,"name":"uint32","nodeType":"ElementaryTypeName","src":"885:6:52","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"value":{"expression":{"arguments":[{"id":8955,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"929:6:52","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":8954,"name":"uint32","nodeType":"ElementaryTypeName","src":"929:6:52","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"}],"id":8953,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"924:4:52","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":8956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"924:12:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint32","typeString":"type(uint32)"}},"id":8957,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"924:16:52","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":true,"id":8965,"mutability":"constant","name":"_UINT64_MAX","nameLocation":"969:11:52","nodeType":"VariableDeclaration","scope":10067,"src":"944:55:52","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":8959,"name":"uint64","nodeType":"ElementaryTypeName","src":"944:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"value":{"expression":{"arguments":[{"id":8962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"988:6:52","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":8961,"name":"uint64","nodeType":"ElementaryTypeName","src":"988:6:52","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"}],"id":8960,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"983:4:52","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":8963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"983:12:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint64","typeString":"type(uint64)"}},"id":8964,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"983:16:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"body":{"id":9014,"nodeType":"Block","src":"1279:461:52","statements":[{"expression":{"id":8983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":8974,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8969,"src":"1285:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":8976,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"len","nodeType":"MemberAccess","referencedDeclaration":8034,"src":"1285:14:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":8978,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8969,"src":"1313:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":8979,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buffer","nodeType":"MemberAccess","referencedDeclaration":8026,"src":"1313:17:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},{"expression":{"id":8980,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8969,"src":"1332:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":8981,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"additionalInformation","nodeType":"MemberAccess","referencedDeclaration":8032,"src":"1332:32:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":8977,"name":"readLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9868,"src":"1302:10:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$_t_uint8_$returns$_t_uint64_$","typeString":"function (struct Witnet.Buffer memory,uint8) pure returns (uint64)"}},"id":8982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1302:63:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"1285:80:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":8984,"nodeType":"ExpressionStatement","src":"1285:80:52"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":8989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8986,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8969,"src":"1379:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":8987,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"majorType","nodeType":"MemberAccess","referencedDeclaration":8030,"src":"1379:20:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"37","id":8988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1403:1:52","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"1379:25:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65744465636f6465724c69623a20547269656420746f207265616420612060626f6f6c602076616c75652066726f6d206120605769746e65742e43424f52602077697468206d616a6f725479706520213d2037","id":8990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1406:89:52","typeDescriptions":{"typeIdentifier":"t_stringliteral_9a60def7724db28748dda2f528e627b4b6898ecc35ff8814364e5a7e676b1567","typeString":"literal_string \"WitnetDecoderLib: Tried to read a `bool` value from a `Witnet.CBOR` with majorType != 7\""},"value":"WitnetDecoderLib: Tried to read a `bool` value from a `Witnet.CBOR` with majorType != 7"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9a60def7724db28748dda2f528e627b4b6898ecc35ff8814364e5a7e676b1567","typeString":"literal_string \"WitnetDecoderLib: Tried to read a `bool` value from a `Witnet.CBOR` with majorType != 7\""}],"id":8985,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1371:7:52","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1371:125:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8992,"nodeType":"ExpressionStatement","src":"1371:125:52"},{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":8996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8993,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8969,"src":"1506:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":8994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"len","nodeType":"MemberAccess","referencedDeclaration":8034,"src":"1506:14:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3230","id":8995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1524:2:52","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},"src":"1506:20:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":9003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9000,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8969,"src":"1565:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"len","nodeType":"MemberAccess","referencedDeclaration":8034,"src":"1565:14:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3231","id":9002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1583:2:52","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"1565:20:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9011,"nodeType":"Block","src":"1619:117:52","statements":[{"expression":{"arguments":[{"hexValue":"5769746e65744465636f6465724c69623a20547269656420746f20726561642060626f6f6c602066726f6d206120605769746e65742e43424f52602077697468206c656e20646966666572656e74207468616e203230206f72203231","id":9008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1634:94:52","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9d15dd9ef51c465dc7e4a1f1786baf0f5f1727522e4d18358f6412b81e0ad73","typeString":"literal_string \"WitnetDecoderLib: Tried to read `bool` from a `Witnet.CBOR` with len different than 20 or 21\""},"value":"WitnetDecoderLib: Tried to read `bool` from a `Witnet.CBOR` with len different than 20 or 21"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e9d15dd9ef51c465dc7e4a1f1786baf0f5f1727522e4d18358f6412b81e0ad73","typeString":"literal_string \"WitnetDecoderLib: Tried to read `bool` from a `Witnet.CBOR` with len different than 20 or 21\""}],"id":9007,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"1627:6:52","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":9009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1627:102:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9010,"nodeType":"ExpressionStatement","src":"1627:102:52"}]},"id":9012,"nodeType":"IfStatement","src":"1561:175:52","trueBody":{"id":9006,"nodeType":"Block","src":"1587:26:52","statements":[{"expression":{"hexValue":"74727565","id":9004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1602:4:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":8973,"id":9005,"nodeType":"Return","src":"1595:11:52"}]}},"id":9013,"nodeType":"IfStatement","src":"1502:234:52","trueBody":{"id":8999,"nodeType":"Block","src":"1528:27:52","statements":[{"expression":{"hexValue":"66616c7365","id":8997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1543:5:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":8973,"id":8998,"nodeType":"Return","src":"1536:12:52"}]}}]},"documentation":{"id":8966,"nodeType":"StructuredDocumentation","src":"1004:195:52","text":"@notice Decode a `Witnet.CBOR` structure into a native `bool` value.\n @param _cborValue An instance of `Witnet.CBOR`.\n @return The value represented by the input, as a `bool` value."},"functionSelector":"9eee60ca","id":9015,"implemented":true,"kind":"function","modifiers":[],"name":"decodeBool","nameLocation":"1211:10:52","nodeType":"FunctionDefinition","parameters":{"id":8970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8969,"mutability":"mutable","name":"_cborValue","nameLocation":"1241:10:52","nodeType":"VariableDeclaration","scope":9015,"src":"1222:29:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR"},"typeName":{"id":8968,"nodeType":"UserDefinedTypeName","pathNode":{"id":8967,"name":"Witnet.CBOR","nodeType":"IdentifierPath","referencedDeclaration":8037,"src":"1222:11:52"},"referencedDeclaration":8037,"src":"1222:11:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"}},"visibility":"internal"}],"src":"1221:31:52"},"returnParameters":{"id":8973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8972,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9015,"src":"1273:4:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8971,"name":"bool","nodeType":"ElementaryTypeName","src":"1273:4:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1272:6:52"},"scope":10067,"src":"1202:538:52","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":9115,"nodeType":"Block","src":"2033:823:52","statements":[{"expression":{"id":9033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":9024,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9019,"src":"2039:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9026,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"len","nodeType":"MemberAccess","referencedDeclaration":8034,"src":"2039:14:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":9028,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9019,"src":"2067:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9029,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buffer","nodeType":"MemberAccess","referencedDeclaration":8026,"src":"2067:17:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},{"expression":{"id":9030,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9019,"src":"2086:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9031,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"additionalInformation","nodeType":"MemberAccess","referencedDeclaration":8032,"src":"2086:32:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":9027,"name":"readLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9868,"src":"2056:10:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$_t_uint8_$returns$_t_uint64_$","typeString":"function (struct Witnet.Buffer memory,uint8) pure returns (uint64)"}},"id":9032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2056:63:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"2039:80:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":9034,"nodeType":"ExpressionStatement","src":"2039:80:52"},{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":9038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9035,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9019,"src":"2129:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9036,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"len","nodeType":"MemberAccess","referencedDeclaration":8034,"src":"2129:14:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":9037,"name":"_UINT32_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8958,"src":"2147:11:52","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"2129:29:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9113,"nodeType":"Block","src":"2784:68:52","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":9108,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9019,"src":"2829:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9109,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"len","nodeType":"MemberAccess","referencedDeclaration":8034,"src":"2829:14:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":9107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2822:6:52","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":9106,"name":"uint32","nodeType":"ElementaryTypeName","src":"2822:6:52","typeDescriptions":{}}},"id":9110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2822:22:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"expression":{"expression":{"id":9103,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9019,"src":"2799:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9104,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buffer","nodeType":"MemberAccess","referencedDeclaration":8026,"src":"2799:17:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":9105,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"read","nodeType":"MemberAccess","referencedDeclaration":8389,"src":"2799:22:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$_t_uint32_$returns$_t_bytes_memory_ptr_$bound_to$_t_struct$_Buffer_$8042_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory,uint32) pure returns (bytes memory)"}},"id":9111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2799:46:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":9023,"id":9112,"nodeType":"Return","src":"2792:53:52"}]},"id":9114,"nodeType":"IfStatement","src":"2125:727:52","trueBody":{"id":9102,"nodeType":"Block","src":"2160:618:52","statements":[{"assignments":[9040],"declarations":[{"constant":false,"id":9040,"mutability":"mutable","name":"bytesData","nameLocation":"2181:9:52","nodeType":"VariableDeclaration","scope":9102,"src":"2168:22:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9039,"name":"bytes","nodeType":"ElementaryTypeName","src":"2168:5:52","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":9041,"nodeType":"VariableDeclarationStatement","src":"2168:22:52"},{"assignments":[9043],"declarations":[{"constant":false,"id":9043,"mutability":"mutable","name":"itemLength","nameLocation":"2293:10:52","nodeType":"VariableDeclaration","scope":9102,"src":"2286:17:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":9042,"name":"uint32","nodeType":"ElementaryTypeName","src":"2286:6:52","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"id":9053,"initialValue":{"arguments":[{"arguments":[{"expression":{"id":9047,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9019,"src":"2340:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9048,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buffer","nodeType":"MemberAccess","referencedDeclaration":8026,"src":"2340:17:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},{"expression":{"id":9049,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9019,"src":"2359:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9050,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"majorType","nodeType":"MemberAccess","referencedDeclaration":8030,"src":"2359:20:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":9046,"name":"readIndefiniteStringLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9918,"src":"2313:26:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$_t_uint8_$returns$_t_uint64_$","typeString":"function (struct Witnet.Buffer memory,uint8) pure returns (uint64)"}},"id":9051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2313:67:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":9045,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2306:6:52","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":9044,"name":"uint32","nodeType":"ElementaryTypeName","src":"2306:6:52","typeDescriptions":{}}},"id":9052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2306:75:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"VariableDeclarationStatement","src":"2286:95:52"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":9056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9054,"name":"itemLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9043,"src":"2393:10:52","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9055,"name":"_UINT32_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8958,"src":"2406:11:52","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"2393:24:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9099,"nodeType":"IfStatement","src":"2389:359:52","trueBody":{"id":9098,"nodeType":"Block","src":"2419:329:52","statements":[{"expression":{"id":9067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9057,"name":"bytesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9040,"src":"2429:9:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9060,"name":"bytesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9040,"src":"2458:9:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":9064,"name":"itemLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9043,"src":"2492:10:52","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"expression":{"expression":{"id":9061,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9019,"src":"2469:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9062,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buffer","nodeType":"MemberAccess","referencedDeclaration":8026,"src":"2469:17:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":9063,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"read","nodeType":"MemberAccess","referencedDeclaration":8389,"src":"2469:22:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$_t_uint32_$returns$_t_bytes_memory_ptr_$bound_to$_t_struct$_Buffer_$8042_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory,uint32) pure returns (bytes memory)"}},"id":9065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2469:34:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9058,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2441:3:52","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9059,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"2441:16:52","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2441:63:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"2429:75:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9068,"nodeType":"ExpressionStatement","src":"2429:75:52"},{"expression":{"id":9079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9069,"name":"itemLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9043,"src":"2514:10:52","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"expression":{"id":9073,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9019,"src":"2561:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9074,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buffer","nodeType":"MemberAccess","referencedDeclaration":8026,"src":"2561:17:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},{"expression":{"id":9075,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9019,"src":"2580:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9076,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"majorType","nodeType":"MemberAccess","referencedDeclaration":8030,"src":"2580:20:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":9072,"name":"readIndefiniteStringLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9918,"src":"2534:26:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$_t_uint8_$returns$_t_uint64_$","typeString":"function (struct Witnet.Buffer memory,uint8) pure returns (uint64)"}},"id":9077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2534:67:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":9071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2527:6:52","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":9070,"name":"uint32","nodeType":"ElementaryTypeName","src":"2527:6:52","typeDescriptions":{}}},"id":9078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2527:75:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"2514:88:52","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":9080,"nodeType":"ExpressionStatement","src":"2514:88:52"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":9083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9081,"name":"itemLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9043,"src":"2616:10:52","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9082,"name":"_UINT32_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8958,"src":"2629:11:52","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"2616:24:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9097,"nodeType":"IfStatement","src":"2612:128:52","trueBody":{"id":9096,"nodeType":"Block","src":"2642:98:52","statements":[{"expression":{"id":9094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9084,"name":"bytesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9040,"src":"2654:9:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9087,"name":"bytesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9040,"src":"2683:9:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":9091,"name":"itemLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9043,"src":"2717:10:52","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"expression":{"expression":{"id":9088,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9019,"src":"2694:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9089,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buffer","nodeType":"MemberAccess","referencedDeclaration":8026,"src":"2694:17:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":9090,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"read","nodeType":"MemberAccess","referencedDeclaration":8389,"src":"2694:22:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$_t_uint32_$returns$_t_bytes_memory_ptr_$bound_to$_t_struct$_Buffer_$8042_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory,uint32) pure returns (bytes memory)"}},"id":9092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2694:34:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9085,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2666:3:52","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9086,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"2666:16:52","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2666:63:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"2654:75:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9095,"nodeType":"ExpressionStatement","src":"2654:75:52"}]}}]}},{"expression":{"id":9100,"name":"bytesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9040,"src":"2762:9:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":9023,"id":9101,"nodeType":"Return","src":"2755:16:52"}]}}]},"documentation":{"id":9016,"nodeType":"StructuredDocumentation","src":"1744:200:52","text":"@notice Decode a `Witnet.CBOR` structure into a native `bytes` value.\n @param _cborValue An instance of `Witnet.CBOR`.\n @return The value represented by the input, as a `bytes` value.   "},"functionSelector":"bb6ef6cf","id":9116,"implemented":true,"kind":"function","modifiers":[],"name":"decodeBytes","nameLocation":"1956:11:52","nodeType":"FunctionDefinition","parameters":{"id":9020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9019,"mutability":"mutable","name":"_cborValue","nameLocation":"1987:10:52","nodeType":"VariableDeclaration","scope":9116,"src":"1968:29:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR"},"typeName":{"id":9018,"nodeType":"UserDefinedTypeName","pathNode":{"id":9017,"name":"Witnet.CBOR","nodeType":"IdentifierPath","referencedDeclaration":8037,"src":"1968:11:52"},"referencedDeclaration":8037,"src":"1968:11:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"}},"visibility":"internal"}],"src":"1967:31:52"},"returnParameters":{"id":9023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9022,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9116,"src":"2019:12:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9021,"name":"bytes","nodeType":"ElementaryTypeName","src":"2019:5:52","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2018:14:52"},"scope":10067,"src":"1947:909:52","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":9170,"nodeType":"Block","src":"3165:209:52","statements":[{"assignments":[9126],"declarations":[{"constant":false,"id":9126,"mutability":"mutable","name":"_bb","nameLocation":"3184:3:52","nodeType":"VariableDeclaration","scope":9170,"src":"3171:16:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9125,"name":"bytes","nodeType":"ElementaryTypeName","src":"3171:5:52","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":9130,"initialValue":{"arguments":[{"id":9128,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9120,"src":"3202:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}],"id":9127,"name":"decodeBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9116,"src":"3190:11:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_CBOR_$8037_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct Witnet.CBOR memory) pure returns (bytes memory)"}},"id":9129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3190:23:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3171:42:52"},{"assignments":[9132],"declarations":[{"constant":false,"id":9132,"mutability":"mutable","name":"_len","nameLocation":"3224:4:52","nodeType":"VariableDeclaration","scope":9170,"src":"3219:9:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9131,"name":"uint","nodeType":"ElementaryTypeName","src":"3219:4:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9141,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9133,"name":"_bb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9126,"src":"3231:3:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"3231:10:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3332","id":9135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3244:2:52","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"3231:15:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":9138,"name":"_bb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9126,"src":"3254:3:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"3254:10:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3231:33:52","trueExpression":{"hexValue":"3332","id":9137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3249:2:52","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3219:45:52"},{"body":{"id":9168,"nodeType":"Block","src":"3306:64:52","statements":[{"expression":{"id":9166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9152,"name":"_bytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9123,"src":"3316:8:52","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":9165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":9159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":9155,"name":"_bb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9126,"src":"3336:3:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9157,"indexExpression":{"id":9156,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9143,"src":"3340:2:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3336:7:52","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30786666","id":9158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3346:4:52","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"},"src":"3336:14:52","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":9154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3328:7:52","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9153,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3328:7:52","typeDescriptions":{}}},"id":9160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3328:23:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9161,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9143,"src":"3356:2:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"38","id":9162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3361:1:52","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"3356:6:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9164,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3355:8:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3328:35:52","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3316:47:52","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":9167,"nodeType":"ExpressionStatement","src":"3316:47:52"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9146,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9143,"src":"3288:2:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9147,"name":"_len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9132,"src":"3293:4:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3288:9:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9169,"initializationExpression":{"assignments":[9143],"declarations":[{"constant":false,"id":9143,"mutability":"mutable","name":"_i","nameLocation":"3280:2:52","nodeType":"VariableDeclaration","scope":9169,"src":"3275:7:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9142,"name":"uint","nodeType":"ElementaryTypeName","src":"3275:4:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9145,"initialValue":{"hexValue":"30","id":9144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3285:1:52","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"3275:11:52"},"loopExpression":{"expression":{"id":9150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3299:5:52","subExpression":{"id":9149,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9143,"src":"3299:2:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9151,"nodeType":"ExpressionStatement","src":"3299:5:52"},"nodeType":"ForStatement","src":"3270:100:52"}]},"documentation":{"id":9117,"nodeType":"StructuredDocumentation","src":"2860:210:52","text":"@notice Decode a `Witnet.CBOR` structure into a native `bytes32` value.\n @param _cborValue An instance of `Witnet.CBOR`.\n @return _bytes32 The value represented by the input, as a `bytes32` value."},"functionSelector":"08c05c33","id":9171,"implemented":true,"kind":"function","modifiers":[],"name":"decodeBytes32","nameLocation":"3082:13:52","nodeType":"FunctionDefinition","parameters":{"id":9121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9120,"mutability":"mutable","name":"_cborValue","nameLocation":"3115:10:52","nodeType":"VariableDeclaration","scope":9171,"src":"3096:29:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR"},"typeName":{"id":9119,"nodeType":"UserDefinedTypeName","pathNode":{"id":9118,"name":"Witnet.CBOR","nodeType":"IdentifierPath","referencedDeclaration":8037,"src":"3096:11:52"},"referencedDeclaration":8037,"src":"3096:11:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"}},"visibility":"internal"}],"src":"3095:31:52"},"returnParameters":{"id":9124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9123,"mutability":"mutable","name":"_bytes32","nameLocation":"3155:8:52","nodeType":"VariableDeclaration","scope":9171,"src":"3147:16:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9122,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3147:7:52","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3146:18:52"},"scope":10067,"src":"3073:301:52","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":9201,"nodeType":"Block","src":"4013:325:52","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9181,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9175,"src":"4027:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9182,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"majorType","nodeType":"MemberAccess","referencedDeclaration":8030,"src":"4027:20:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"37","id":9183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4051:1:52","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"4027:25:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65744465636f6465724c69623a20547269656420746f2072656164206120606669786564602076616c75652066726f6d2061206057542e43424f52602077697468206d616a6f725479706520213d2037","id":9185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4054:86:52","typeDescriptions":{"typeIdentifier":"t_stringliteral_285621fe75046b25304c843ac968cca285ae3e6ef8abb770c7120426284fcb4e","typeString":"literal_string \"WitnetDecoderLib: Tried to read a `fixed` value from a `WT.CBOR` with majorType != 7\""},"value":"WitnetDecoderLib: Tried to read a `fixed` value from a `WT.CBOR` with majorType != 7"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_285621fe75046b25304c843ac968cca285ae3e6ef8abb770c7120426284fcb4e","typeString":"literal_string \"WitnetDecoderLib: Tried to read a `fixed` value from a `WT.CBOR` with majorType != 7\""}],"id":9180,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4019:7:52","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4019:122:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9187,"nodeType":"ExpressionStatement","src":"4019:122:52"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9189,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9175,"src":"4155:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9190,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"additionalInformation","nodeType":"MemberAccess","referencedDeclaration":8032,"src":"4155:32:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3235","id":9191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4191:2:52","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"src":"4155:38:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65744465636f6465724c69623a20547269656420746f2072656164206066697865643136602066726f6d2061206057542e43424f52602077697468206164646974696f6e616c496e666f726d6174696f6e20213d203235","id":9193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4195:93:52","typeDescriptions":{"typeIdentifier":"t_stringliteral_fa1a41235d50d998fd1fa31f165df15dc31bd75a237078965072481881f7d8ad","typeString":"literal_string \"WitnetDecoderLib: Tried to read `fixed16` from a `WT.CBOR` with additionalInformation != 25\""},"value":"WitnetDecoderLib: Tried to read `fixed16` from a `WT.CBOR` with additionalInformation != 25"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fa1a41235d50d998fd1fa31f165df15dc31bd75a237078965072481881f7d8ad","typeString":"literal_string \"WitnetDecoderLib: Tried to read `fixed16` from a `WT.CBOR` with additionalInformation != 25\""}],"id":9188,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4147:7:52","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4147:142:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9195,"nodeType":"ExpressionStatement","src":"4147:142:52"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":9196,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9175,"src":"4302:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9197,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buffer","nodeType":"MemberAccess","referencedDeclaration":8026,"src":"4302:17:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":9198,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"readFloat16","nodeType":"MemberAccess","referencedDeclaration":8888,"src":"4302:29:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$returns$_t_int32_$bound_to$_t_struct$_Buffer_$8042_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory) pure returns (int32)"}},"id":9199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4302:31:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"functionReturnParameters":9179,"id":9200,"nodeType":"Return","src":"4295:38:52"}]},"documentation":{"id":9172,"nodeType":"StructuredDocumentation","src":"3378:551:52","text":"@notice Decode a `Witnet.CBOR` structure into a `fixed16` value.\n @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values\n by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`\n use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\n @param _cborValue An instance of `Witnet.CBOR`.\n @return The value represented by the input, as an `int128` value."},"functionSelector":"8138799a","id":9202,"implemented":true,"kind":"function","modifiers":[],"name":"decodeFixed16","nameLocation":"3941:13:52","nodeType":"FunctionDefinition","parameters":{"id":9176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9175,"mutability":"mutable","name":"_cborValue","nameLocation":"3974:10:52","nodeType":"VariableDeclaration","scope":9202,"src":"3955:29:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR"},"typeName":{"id":9174,"nodeType":"UserDefinedTypeName","pathNode":{"id":9173,"name":"Witnet.CBOR","nodeType":"IdentifierPath","referencedDeclaration":8037,"src":"3955:11:52"},"referencedDeclaration":8037,"src":"3955:11:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"}},"visibility":"internal"}],"src":"3954:31:52"},"returnParameters":{"id":9179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9178,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9202,"src":"4006:5:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":9177,"name":"int32","nodeType":"ElementaryTypeName","src":"4006:5:52","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"src":"4005:7:52"},"scope":10067,"src":"3932:406:52","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":9279,"nodeType":"Block","src":"4731:544:52","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9213,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9206,"src":"4745:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9214,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"majorType","nodeType":"MemberAccess","referencedDeclaration":8030,"src":"4745:20:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"34","id":9215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4769:1:52","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"4745:25:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65744465636f6465724c69623a20547269656420746f20726561642060696e743132385b5d602066726f6d206120605769746e65742e43424f52602077697468206d616a6f725479706520213d2034","id":9217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4772:85:52","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6093a9e0138c29641f4112ca84a6353e3b8189a75c60c086711495d7d1b05cf","typeString":"literal_string \"WitnetDecoderLib: Tried to read `int128[]` from a `Witnet.CBOR` with majorType != 4\""},"value":"WitnetDecoderLib: Tried to read `int128[]` from a `Witnet.CBOR` with majorType != 4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c6093a9e0138c29641f4112ca84a6353e3b8189a75c60c086711495d7d1b05cf","typeString":"literal_string \"WitnetDecoderLib: Tried to read `int128[]` from a `Witnet.CBOR` with majorType != 4\""}],"id":9212,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4737:7:52","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4737:121:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9219,"nodeType":"ExpressionStatement","src":"4737:121:52"},{"assignments":[9221],"declarations":[{"constant":false,"id":9221,"mutability":"mutable","name":"length","nameLocation":"4872:6:52","nodeType":"VariableDeclaration","scope":9279,"src":"4865:13:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":9220,"name":"uint64","nodeType":"ElementaryTypeName","src":"4865:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":9228,"initialValue":{"arguments":[{"expression":{"id":9223,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9206,"src":"4892:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9224,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buffer","nodeType":"MemberAccess","referencedDeclaration":8026,"src":"4892:17:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},{"expression":{"id":9225,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9206,"src":"4911:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9226,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"additionalInformation","nodeType":"MemberAccess","referencedDeclaration":8032,"src":"4911:32:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":9222,"name":"readLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9868,"src":"4881:10:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$_t_uint8_$returns$_t_uint64_$","typeString":"function (struct Witnet.Buffer memory,uint8) pure returns (uint64)"}},"id":9227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4881:63:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"VariableDeclarationStatement","src":"4865:79:52"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":9232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9230,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9221,"src":"4958:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9231,"name":"_UINT64_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8965,"src":"4967:11:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"4958:20:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65744465636f6465724c69623a20496e646566696e6974652d6c656e6774682043424f522061727261797320617265206e6f7420737570706f72746564","id":9233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4980:67:52","typeDescriptions":{"typeIdentifier":"t_stringliteral_875d0a02937cb9909e45a20585fcb051fe02c5f86d796a9b1cf43ce04fc2ba90","typeString":"literal_string \"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\""},"value":"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_875d0a02937cb9909e45a20585fcb051fe02c5f86d796a9b1cf43ce04fc2ba90","typeString":"literal_string \"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\""}],"id":9229,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4950:7:52","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4950:98:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9235,"nodeType":"ExpressionStatement","src":"4950:98:52"},{"assignments":[9240],"declarations":[{"constant":false,"id":9240,"mutability":"mutable","name":"array","nameLocation":"5070:5:52","nodeType":"VariableDeclaration","scope":9279,"src":"5055:20:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_memory_ptr","typeString":"int32[]"},"typeName":{"baseType":{"id":9238,"name":"int32","nodeType":"ElementaryTypeName","src":"5055:5:52","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":9239,"nodeType":"ArrayTypeName","src":"5055:7:52","typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_storage_ptr","typeString":"int32[]"}},"visibility":"internal"}],"id":9246,"initialValue":{"arguments":[{"id":9244,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9221,"src":"5090:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":9243,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"5078:11:52","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_int32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (int32[] memory)"},"typeName":{"baseType":{"id":9241,"name":"int32","nodeType":"ElementaryTypeName","src":"5082:5:52","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":9242,"nodeType":"ArrayTypeName","src":"5082:7:52","typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_storage_ptr","typeString":"int32[]"}}},"id":9245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5078:19:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_memory_ptr","typeString":"int32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5055:42:52"},{"body":{"id":9275,"nodeType":"Block","src":"5139:113:52","statements":[{"assignments":[9261],"declarations":[{"constant":false,"id":9261,"mutability":"mutable","name":"item","nameLocation":"5166:4:52","nodeType":"VariableDeclaration","scope":9275,"src":"5147:23:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR"},"typeName":{"id":9260,"nodeType":"UserDefinedTypeName","pathNode":{"id":9259,"name":"Witnet.CBOR","nodeType":"IdentifierPath","referencedDeclaration":8037,"src":"5147:11:52"},"referencedDeclaration":8037,"src":"5147:11:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"}},"visibility":"internal"}],"id":9266,"initialValue":{"arguments":[{"expression":{"id":9263,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9206,"src":"5189:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9264,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buffer","nodeType":"MemberAccess","referencedDeclaration":8026,"src":"5189:17:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}],"id":9262,"name":"valueFromBuffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9802,"src":"5173:15:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$returns$_t_struct$_CBOR_$8037_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory) pure returns (struct Witnet.CBOR memory)"}},"id":9265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5173:34:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"nodeType":"VariableDeclarationStatement","src":"5147:60:52"},{"expression":{"id":9273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":9267,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9240,"src":"5215:5:52","typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_memory_ptr","typeString":"int32[] memory"}},"id":9269,"indexExpression":{"id":9268,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9248,"src":"5221:1:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5215:8:52","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9271,"name":"item","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9261,"src":"5240:4:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}],"id":9270,"name":"decodeFixed16","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9202,"src":"5226:13:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_CBOR_$8037_memory_ptr_$returns$_t_int32_$","typeString":"function (struct Witnet.CBOR memory) pure returns (int32)"}},"id":9272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5226:19:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"5215:30:52","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":9274,"nodeType":"ExpressionStatement","src":"5215:30:52"}]},"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":9253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9251,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9248,"src":"5122:1:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9252,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9221,"src":"5126:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"5122:10:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9276,"initializationExpression":{"assignments":[9248],"declarations":[{"constant":false,"id":9248,"mutability":"mutable","name":"i","nameLocation":"5115:1:52","nodeType":"VariableDeclaration","scope":9276,"src":"5108:8:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":9247,"name":"uint64","nodeType":"ElementaryTypeName","src":"5108:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":9250,"initialValue":{"hexValue":"30","id":9249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5119:1:52","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"5108:12:52"},"loopExpression":{"expression":{"id":9255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5134:3:52","subExpression":{"id":9254,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9248,"src":"5134:1:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":9256,"nodeType":"ExpressionStatement","src":"5134:3:52"},"nodeType":"ForStatement","src":"5103:149:52"},{"expression":{"id":9277,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9240,"src":"5265:5:52","typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_memory_ptr","typeString":"int32[] memory"}},"functionReturnParameters":9211,"id":9278,"nodeType":"Return","src":"5258:12:52"}]},"documentation":{"id":9203,"nodeType":"StructuredDocumentation","src":"4342:289:52","text":"@notice Decode a `Witnet.CBOR` structure into a native `int128[]` value whose inner values follow the same convention.\n as explained in `decodeFixed16`.\n @param _cborValue An instance of `Witnet.CBOR`.\n @return The value represented by the input, as an `int128[]` value."},"functionSelector":"531f4ba7","id":9280,"implemented":true,"kind":"function","modifiers":[],"name":"decodeFixed16Array","nameLocation":"4643:18:52","nodeType":"FunctionDefinition","parameters":{"id":9207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9206,"mutability":"mutable","name":"_cborValue","nameLocation":"4681:10:52","nodeType":"VariableDeclaration","scope":9280,"src":"4662:29:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR"},"typeName":{"id":9205,"nodeType":"UserDefinedTypeName","pathNode":{"id":9204,"name":"Witnet.CBOR","nodeType":"IdentifierPath","referencedDeclaration":8037,"src":"4662:11:52"},"referencedDeclaration":8037,"src":"4662:11:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"}},"visibility":"internal"}],"src":"4661:31:52"},"returnParameters":{"id":9211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9210,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9280,"src":"4715:14:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_memory_ptr","typeString":"int32[]"},"typeName":{"baseType":{"id":9208,"name":"int32","nodeType":"ElementaryTypeName","src":"4715:5:52","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":9209,"nodeType":"ArrayTypeName","src":"4715:7:52","typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_storage_ptr","typeString":"int32[]"}},"visibility":"internal"}],"src":"4714:16:52"},"scope":10067,"src":"4634:641:52","stateMutability":"pure","virtual":false,"visibility":"external"},{"body":{"id":9338,"nodeType":"Block","src":"5563:566:52","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9289,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9284,"src":"5573:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9290,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"majorType","nodeType":"MemberAccess","referencedDeclaration":8030,"src":"5573:20:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":9291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5597:1:52","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5573:25:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9317,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9284,"src":"5755:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9318,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"majorType","nodeType":"MemberAccess","referencedDeclaration":8030,"src":"5755:20:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":9319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5779:1:52","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5755:25:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9332,"nodeType":"IfStatement","src":"5751:271:52","trueBody":{"id":9331,"nodeType":"Block","src":"5782:240:52","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":9326,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9284,"src":"6002:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}],"id":9325,"name":"decodeUint64","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9606,"src":"5989:12:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_CBOR_$8037_memory_ptr_$returns$_t_uint64_$","typeString":"function (struct Witnet.CBOR memory) pure returns (uint64)"}},"id":9327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5989:24:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":9324,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5981:7:52","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":9323,"name":"uint128","nodeType":"ElementaryTypeName","src":"5981:7:52","typeDescriptions":{}}},"id":9328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5981:33:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":9322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5974:6:52","typeDescriptions":{"typeIdentifier":"t_type$_t_int128_$","typeString":"type(int128)"},"typeName":{"id":9321,"name":"int128","nodeType":"ElementaryTypeName","src":"5974:6:52","typeDescriptions":{}}},"id":9329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5974:41:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"functionReturnParameters":9288,"id":9330,"nodeType":"Return","src":"5967:48:52"}]}},"id":9333,"nodeType":"IfStatement","src":"5569:453:52","trueBody":{"id":9316,"nodeType":"Block","src":"5600:145:52","statements":[{"assignments":[9294],"declarations":[{"constant":false,"id":9294,"mutability":"mutable","name":"length","nameLocation":"5615:6:52","nodeType":"VariableDeclaration","scope":9316,"src":"5608:13:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":9293,"name":"uint64","nodeType":"ElementaryTypeName","src":"5608:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":9301,"initialValue":{"arguments":[{"expression":{"id":9296,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9284,"src":"5635:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9297,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buffer","nodeType":"MemberAccess","referencedDeclaration":8026,"src":"5635:17:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},{"expression":{"id":9298,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9284,"src":"5654:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9299,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"additionalInformation","nodeType":"MemberAccess","referencedDeclaration":8032,"src":"5654:32:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":9295,"name":"readLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9868,"src":"5624:10:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$_t_uint8_$returns$_t_uint64_$","typeString":"function (struct Witnet.Buffer memory,uint8) pure returns (uint64)"}},"id":9300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5624:63:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"VariableDeclarationStatement","src":"5608:79:52"},{"expression":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":9314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":9305,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"5709:2:52","subExpression":{"hexValue":"31","id":9304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5710:1:52","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}],"id":9303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5702:6:52","typeDescriptions":{"typeIdentifier":"t_type$_t_int128_$","typeString":"type(int128)"},"typeName":{"id":9302,"name":"int128","nodeType":"ElementaryTypeName","src":"5702:6:52","typeDescriptions":{}}},"id":9306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5702:10:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"arguments":[{"id":9311,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9294,"src":"5730:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":9310,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5722:7:52","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":9309,"name":"uint128","nodeType":"ElementaryTypeName","src":"5722:7:52","typeDescriptions":{}}},"id":9312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5722:15:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":9308,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5715:6:52","typeDescriptions":{"typeIdentifier":"t_type$_t_int128_$","typeString":"type(int128)"},"typeName":{"id":9307,"name":"int128","nodeType":"ElementaryTypeName","src":"5715:6:52","typeDescriptions":{}}},"id":9313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5715:23:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"5702:36:52","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"functionReturnParameters":9288,"id":9315,"nodeType":"Return","src":"5695:43:52"}]}},{"expression":{"arguments":[{"hexValue":"5769746e65744465636f6465724c69623a20547269656420746f20726561642060696e74313238602066726f6d206120605769746e65742e43424f52602077697468206d616a6f7254797065206e6f742030206f722031","id":9335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6034:89:52","typeDescriptions":{"typeIdentifier":"t_stringliteral_f6afe1efc379e8204fb4d566f3cf5efe5c0e9e878fa8fd3072ffc04e712b2dae","typeString":"literal_string \"WitnetDecoderLib: Tried to read `int128` from a `Witnet.CBOR` with majorType not 0 or 1\""},"value":"WitnetDecoderLib: Tried to read `int128` from a `Witnet.CBOR` with majorType not 0 or 1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f6afe1efc379e8204fb4d566f3cf5efe5c0e9e878fa8fd3072ffc04e712b2dae","typeString":"literal_string \"WitnetDecoderLib: Tried to read `int128` from a `Witnet.CBOR` with majorType not 0 or 1\""}],"id":9334,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"6027:6:52","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":9336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6027:97:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9337,"nodeType":"ExpressionStatement","src":"6027:97:52"}]},"documentation":{"id":9281,"nodeType":"StructuredDocumentation","src":"5279:200:52","text":"@notice Decode a `Witnet.CBOR` structure into a native `int128` value.\n @param _cborValue An instance of `Witnet.CBOR`.\n @return The value represented by the input, as an `int128` value."},"functionSelector":"94863ea4","id":9339,"implemented":true,"kind":"function","modifiers":[],"name":"decodeInt128","nameLocation":"5491:12:52","nodeType":"FunctionDefinition","parameters":{"id":9285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9284,"mutability":"mutable","name":"_cborValue","nameLocation":"5523:10:52","nodeType":"VariableDeclaration","scope":9339,"src":"5504:29:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR"},"typeName":{"id":9283,"nodeType":"UserDefinedTypeName","pathNode":{"id":9282,"name":"Witnet.CBOR","nodeType":"IdentifierPath","referencedDeclaration":8037,"src":"5504:11:52"},"referencedDeclaration":8037,"src":"5504:11:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"}},"visibility":"internal"}],"src":"5503:31:52"},"returnParameters":{"id":9288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9287,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9339,"src":"5555:6:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":9286,"name":"int128","nodeType":"ElementaryTypeName","src":"5555:6:52","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"5554:8:52"},"scope":10067,"src":"5482:647:52","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":9416,"nodeType":"Block","src":"6437:545:52","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9350,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9343,"src":"6451:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9351,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"majorType","nodeType":"MemberAccess","referencedDeclaration":8030,"src":"6451:20:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"34","id":9352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6475:1:52","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"6451:25:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65744465636f6465724c69623a20547269656420746f20726561642060696e743132385b5d602066726f6d206120605769746e65742e43424f52602077697468206d616a6f725479706520213d2034","id":9354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6478:85:52","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6093a9e0138c29641f4112ca84a6353e3b8189a75c60c086711495d7d1b05cf","typeString":"literal_string \"WitnetDecoderLib: Tried to read `int128[]` from a `Witnet.CBOR` with majorType != 4\""},"value":"WitnetDecoderLib: Tried to read `int128[]` from a `Witnet.CBOR` with majorType != 4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c6093a9e0138c29641f4112ca84a6353e3b8189a75c60c086711495d7d1b05cf","typeString":"literal_string \"WitnetDecoderLib: Tried to read `int128[]` from a `Witnet.CBOR` with majorType != 4\""}],"id":9349,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6443:7:52","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6443:121:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9356,"nodeType":"ExpressionStatement","src":"6443:121:52"},{"assignments":[9358],"declarations":[{"constant":false,"id":9358,"mutability":"mutable","name":"length","nameLocation":"6578:6:52","nodeType":"VariableDeclaration","scope":9416,"src":"6571:13:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":9357,"name":"uint64","nodeType":"ElementaryTypeName","src":"6571:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":9365,"initialValue":{"arguments":[{"expression":{"id":9360,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9343,"src":"6598:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9361,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buffer","nodeType":"MemberAccess","referencedDeclaration":8026,"src":"6598:17:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},{"expression":{"id":9362,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9343,"src":"6617:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9363,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"additionalInformation","nodeType":"MemberAccess","referencedDeclaration":8032,"src":"6617:32:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":9359,"name":"readLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9868,"src":"6587:10:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$_t_uint8_$returns$_t_uint64_$","typeString":"function (struct Witnet.Buffer memory,uint8) pure returns (uint64)"}},"id":9364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6587:63:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"VariableDeclarationStatement","src":"6571:79:52"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":9369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9367,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9358,"src":"6664:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9368,"name":"_UINT64_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8965,"src":"6673:11:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"6664:20:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65744465636f6465724c69623a20496e646566696e6974652d6c656e6774682043424f522061727261797320617265206e6f7420737570706f72746564","id":9370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6686:67:52","typeDescriptions":{"typeIdentifier":"t_stringliteral_875d0a02937cb9909e45a20585fcb051fe02c5f86d796a9b1cf43ce04fc2ba90","typeString":"literal_string \"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\""},"value":"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_875d0a02937cb9909e45a20585fcb051fe02c5f86d796a9b1cf43ce04fc2ba90","typeString":"literal_string \"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\""}],"id":9366,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6656:7:52","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6656:98:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9372,"nodeType":"ExpressionStatement","src":"6656:98:52"},{"assignments":[9377],"declarations":[{"constant":false,"id":9377,"mutability":"mutable","name":"array","nameLocation":"6777:5:52","nodeType":"VariableDeclaration","scope":9416,"src":"6761:21:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int128_$dyn_memory_ptr","typeString":"int128[]"},"typeName":{"baseType":{"id":9375,"name":"int128","nodeType":"ElementaryTypeName","src":"6761:6:52","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":9376,"nodeType":"ArrayTypeName","src":"6761:8:52","typeDescriptions":{"typeIdentifier":"t_array$_t_int128_$dyn_storage_ptr","typeString":"int128[]"}},"visibility":"internal"}],"id":9383,"initialValue":{"arguments":[{"id":9381,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9358,"src":"6798:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":9380,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6785:12:52","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_int128_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (int128[] memory)"},"typeName":{"baseType":{"id":9378,"name":"int128","nodeType":"ElementaryTypeName","src":"6789:6:52","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":9379,"nodeType":"ArrayTypeName","src":"6789:8:52","typeDescriptions":{"typeIdentifier":"t_array$_t_int128_$dyn_storage_ptr","typeString":"int128[]"}}},"id":9382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6785:20:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int128_$dyn_memory_ptr","typeString":"int128[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6761:44:52"},{"body":{"id":9412,"nodeType":"Block","src":"6847:112:52","statements":[{"assignments":[9398],"declarations":[{"constant":false,"id":9398,"mutability":"mutable","name":"item","nameLocation":"6874:4:52","nodeType":"VariableDeclaration","scope":9412,"src":"6855:23:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR"},"typeName":{"id":9397,"nodeType":"UserDefinedTypeName","pathNode":{"id":9396,"name":"Witnet.CBOR","nodeType":"IdentifierPath","referencedDeclaration":8037,"src":"6855:11:52"},"referencedDeclaration":8037,"src":"6855:11:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"}},"visibility":"internal"}],"id":9403,"initialValue":{"arguments":[{"expression":{"id":9400,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9343,"src":"6897:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9401,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buffer","nodeType":"MemberAccess","referencedDeclaration":8026,"src":"6897:17:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}],"id":9399,"name":"valueFromBuffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9802,"src":"6881:15:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$returns$_t_struct$_CBOR_$8037_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory) pure returns (struct Witnet.CBOR memory)"}},"id":9402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6881:34:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"nodeType":"VariableDeclarationStatement","src":"6855:60:52"},{"expression":{"id":9410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":9404,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9377,"src":"6923:5:52","typeDescriptions":{"typeIdentifier":"t_array$_t_int128_$dyn_memory_ptr","typeString":"int128[] memory"}},"id":9406,"indexExpression":{"id":9405,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9385,"src":"6929:1:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6923:8:52","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9408,"name":"item","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9398,"src":"6947:4:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}],"id":9407,"name":"decodeInt128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9339,"src":"6934:12:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_CBOR_$8037_memory_ptr_$returns$_t_int128_$","typeString":"function (struct Witnet.CBOR memory) pure returns (int128)"}},"id":9409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6934:18:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"6923:29:52","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":9411,"nodeType":"ExpressionStatement","src":"6923:29:52"}]},"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":9390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9388,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9385,"src":"6830:1:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9389,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9358,"src":"6834:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"6830:10:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9413,"initializationExpression":{"assignments":[9385],"declarations":[{"constant":false,"id":9385,"mutability":"mutable","name":"i","nameLocation":"6823:1:52","nodeType":"VariableDeclaration","scope":9413,"src":"6816:8:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":9384,"name":"uint64","nodeType":"ElementaryTypeName","src":"6816:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":9387,"initialValue":{"hexValue":"30","id":9386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6827:1:52","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6816:12:52"},"loopExpression":{"expression":{"id":9392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6842:3:52","subExpression":{"id":9391,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9385,"src":"6842:1:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":9393,"nodeType":"ExpressionStatement","src":"6842:3:52"},"nodeType":"ForStatement","src":"6811:148:52"},{"expression":{"id":9414,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9377,"src":"6972:5:52","typeDescriptions":{"typeIdentifier":"t_array$_t_int128_$dyn_memory_ptr","typeString":"int128[] memory"}},"functionReturnParameters":9348,"id":9415,"nodeType":"Return","src":"6965:12:52"}]},"documentation":{"id":9340,"nodeType":"StructuredDocumentation","src":"6133:204:52","text":"@notice Decode a `Witnet.CBOR` structure into a native `int128[]` value.\n @param _cborValue An instance of `Witnet.CBOR`.\n @return The value represented by the input, as an `int128[]` value."},"functionSelector":"3380d816","id":9417,"implemented":true,"kind":"function","modifiers":[],"name":"decodeInt128Array","nameLocation":"6349:17:52","nodeType":"FunctionDefinition","parameters":{"id":9344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9343,"mutability":"mutable","name":"_cborValue","nameLocation":"6386:10:52","nodeType":"VariableDeclaration","scope":9417,"src":"6367:29:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR"},"typeName":{"id":9342,"nodeType":"UserDefinedTypeName","pathNode":{"id":9341,"name":"Witnet.CBOR","nodeType":"IdentifierPath","referencedDeclaration":8037,"src":"6367:11:52"},"referencedDeclaration":8037,"src":"6367:11:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"}},"visibility":"internal"}],"src":"6366:31:52"},"returnParameters":{"id":9348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9347,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9417,"src":"6420:15:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int128_$dyn_memory_ptr","typeString":"int128[]"},"typeName":{"baseType":{"id":9345,"name":"int128","nodeType":"ElementaryTypeName","src":"6420:6:52","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":9346,"nodeType":"ArrayTypeName","src":"6420:8:52","typeDescriptions":{"typeIdentifier":"t_array$_t_int128_$dyn_storage_ptr","typeString":"int128[]"}},"visibility":"internal"}],"src":"6419:17:52"},"scope":10067,"src":"6340:642:52","stateMutability":"pure","virtual":false,"visibility":"external"},{"body":{"id":9502,"nodeType":"Block","src":"7276:605:52","statements":[{"expression":{"id":9435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":9426,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9421,"src":"7282:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9428,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"len","nodeType":"MemberAccess","referencedDeclaration":8034,"src":"7282:14:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":9430,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9421,"src":"7310:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buffer","nodeType":"MemberAccess","referencedDeclaration":8026,"src":"7310:17:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},{"expression":{"id":9432,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9421,"src":"7329:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"additionalInformation","nodeType":"MemberAccess","referencedDeclaration":8032,"src":"7329:32:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":9429,"name":"readLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9868,"src":"7299:10:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$_t_uint8_$returns$_t_uint64_$","typeString":"function (struct Witnet.Buffer memory,uint8) pure returns (uint64)"}},"id":9434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7299:63:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"7282:80:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":9436,"nodeType":"ExpressionStatement","src":"7282:80:52"},{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":9440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9437,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9421,"src":"7372:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9438,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"len","nodeType":"MemberAccess","referencedDeclaration":8034,"src":"7372:14:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":9439,"name":"_UINT64_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8965,"src":"7390:11:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"7372:29:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9500,"nodeType":"Block","src":"7804:73:52","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":9493,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9421,"src":"7835:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9494,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buffer","nodeType":"MemberAccess","referencedDeclaration":8026,"src":"7835:17:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},{"expression":{"id":9495,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9421,"src":"7854:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9496,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"len","nodeType":"MemberAccess","referencedDeclaration":8034,"src":"7854:14:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":9492,"name":"readText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10066,"src":"7826:8:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$_t_uint64_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory,uint64) pure returns (bytes memory)"}},"id":9497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7826:43:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9491,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7819:6:52","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":9490,"name":"string","nodeType":"ElementaryTypeName","src":"7819:6:52","typeDescriptions":{}}},"id":9498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7819:51:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9425,"id":9499,"nodeType":"Return","src":"7812:58:52"}]},"id":9501,"nodeType":"IfStatement","src":"7368:509:52","trueBody":{"id":9489,"nodeType":"Block","src":"7403:395:52","statements":[{"assignments":[9442],"declarations":[{"constant":false,"id":9442,"mutability":"mutable","name":"textData","nameLocation":"7424:8:52","nodeType":"VariableDeclaration","scope":9489,"src":"7411:21:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9441,"name":"bytes","nodeType":"ElementaryTypeName","src":"7411:5:52","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":9443,"nodeType":"VariableDeclarationStatement","src":"7411:21:52"},{"assignments":[9445],"declarations":[{"constant":false,"id":9445,"mutability":"mutable","name":"done","nameLocation":"7445:4:52","nodeType":"VariableDeclaration","scope":9489,"src":"7440:9:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9444,"name":"bool","nodeType":"ElementaryTypeName","src":"7440:4:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":9446,"nodeType":"VariableDeclarationStatement","src":"7440:9:52"},{"body":{"id":9482,"nodeType":"Block","src":"7471:290:52","statements":[{"assignments":[9450],"declarations":[{"constant":false,"id":9450,"mutability":"mutable","name":"itemLength","nameLocation":"7488:10:52","nodeType":"VariableDeclaration","scope":9482,"src":"7481:17:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":9449,"name":"uint64","nodeType":"ElementaryTypeName","src":"7481:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":9457,"initialValue":{"arguments":[{"expression":{"id":9452,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9421,"src":"7528:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9453,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buffer","nodeType":"MemberAccess","referencedDeclaration":8026,"src":"7528:17:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},{"expression":{"id":9454,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9421,"src":"7547:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9455,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"majorType","nodeType":"MemberAccess","referencedDeclaration":8030,"src":"7547:20:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":9451,"name":"readIndefiniteStringLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9918,"src":"7501:26:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$_t_uint8_$returns$_t_uint64_$","typeString":"function (struct Witnet.Buffer memory,uint8) pure returns (uint64)"}},"id":9456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7501:67:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"VariableDeclarationStatement","src":"7481:87:52"},{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":9460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9458,"name":"itemLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9450,"src":"7582:10:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9459,"name":"_UINT64_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8965,"src":"7595:11:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"7582:24:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9480,"nodeType":"Block","src":"7719:34:52","statements":[{"expression":{"id":9478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9476,"name":"done","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"7731:4:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":9477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7738:4:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"7731:11:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9479,"nodeType":"ExpressionStatement","src":"7731:11:52"}]},"id":9481,"nodeType":"IfStatement","src":"7578:175:52","trueBody":{"id":9475,"nodeType":"Block","src":"7608:105:52","statements":[{"expression":{"id":9473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9461,"name":"textData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9442,"src":"7620:8:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9464,"name":"textData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9442,"src":"7648:8:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"expression":{"id":9466,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9421,"src":"7667:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9467,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buffer","nodeType":"MemberAccess","referencedDeclaration":8026,"src":"7667:17:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":9470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9468,"name":"itemLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9450,"src":"7686:10:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"34","id":9469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7699:1:52","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"7686:14:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":9465,"name":"readText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10066,"src":"7658:8:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$_t_uint64_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory,uint64) pure returns (bytes memory)"}},"id":9471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7658:43:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9462,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7631:3:52","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"7631:16:52","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7631:71:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"7620:82:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9474,"nodeType":"ExpressionStatement","src":"7620:82:52"}]}}]},"condition":{"id":9448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7464:5:52","subExpression":{"id":9447,"name":"done","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"7465:4:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9483,"nodeType":"WhileStatement","src":"7457:304:52"},{"expression":{"arguments":[{"id":9486,"name":"textData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9442,"src":"7782:8:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7775:6:52","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":9484,"name":"string","nodeType":"ElementaryTypeName","src":"7775:6:52","typeDescriptions":{}}},"id":9487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7775:16:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9425,"id":9488,"nodeType":"Return","src":"7768:23:52"}]}}]},"documentation":{"id":9418,"nodeType":"StructuredDocumentation","src":"6986:199:52","text":"@notice Decode a `Witnet.CBOR` structure into a native `string` value.\n @param _cborValue An instance of `Witnet.CBOR`.\n @return The value represented by the input, as a `string` value."},"functionSelector":"e67c5bd1","id":9503,"implemented":true,"kind":"function","modifiers":[],"name":"decodeString","nameLocation":"7197:12:52","nodeType":"FunctionDefinition","parameters":{"id":9422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9421,"mutability":"mutable","name":"_cborValue","nameLocation":"7229:10:52","nodeType":"VariableDeclaration","scope":9503,"src":"7210:29:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR"},"typeName":{"id":9420,"nodeType":"UserDefinedTypeName","pathNode":{"id":9419,"name":"Witnet.CBOR","nodeType":"IdentifierPath","referencedDeclaration":8037,"src":"7210:11:52"},"referencedDeclaration":8037,"src":"7210:11:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"}},"visibility":"internal"}],"src":"7209:31:52"},"returnParameters":{"id":9425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9424,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9503,"src":"7261:13:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9423,"name":"string","nodeType":"ElementaryTypeName","src":"7261:6:52","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7260:15:52"},"scope":10067,"src":"7188:693:52","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":9580,"nodeType":"Block","src":"8189:545:52","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9514,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9507,"src":"8203:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9515,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"majorType","nodeType":"MemberAccess","referencedDeclaration":8030,"src":"8203:20:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"34","id":9516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8227:1:52","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"8203:25:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65744465636f6465724c69623a20547269656420746f20726561642060737472696e675b5d602066726f6d206120605769746e65742e43424f52602077697468206d616a6f725479706520213d2034","id":9518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8230:85:52","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7e883759414212463f7e83fadd2b6f4fb58ed904f3a29f20bce3e92bd7c399c","typeString":"literal_string \"WitnetDecoderLib: Tried to read `string[]` from a `Witnet.CBOR` with majorType != 4\""},"value":"WitnetDecoderLib: Tried to read `string[]` from a `Witnet.CBOR` with majorType != 4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f7e883759414212463f7e83fadd2b6f4fb58ed904f3a29f20bce3e92bd7c399c","typeString":"literal_string \"WitnetDecoderLib: Tried to read `string[]` from a `Witnet.CBOR` with majorType != 4\""}],"id":9513,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8195:7:52","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8195:121:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9520,"nodeType":"ExpressionStatement","src":"8195:121:52"},{"assignments":[9522],"declarations":[{"constant":false,"id":9522,"mutability":"mutable","name":"length","nameLocation":"8330:6:52","nodeType":"VariableDeclaration","scope":9580,"src":"8323:13:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":9521,"name":"uint64","nodeType":"ElementaryTypeName","src":"8323:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":9529,"initialValue":{"arguments":[{"expression":{"id":9524,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9507,"src":"8350:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9525,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buffer","nodeType":"MemberAccess","referencedDeclaration":8026,"src":"8350:17:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},{"expression":{"id":9526,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9507,"src":"8369:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9527,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"additionalInformation","nodeType":"MemberAccess","referencedDeclaration":8032,"src":"8369:32:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":9523,"name":"readLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9868,"src":"8339:10:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$_t_uint8_$returns$_t_uint64_$","typeString":"function (struct Witnet.Buffer memory,uint8) pure returns (uint64)"}},"id":9528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8339:63:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"VariableDeclarationStatement","src":"8323:79:52"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":9533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9531,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9522,"src":"8416:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9532,"name":"_UINT64_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8965,"src":"8425:11:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"8416:20:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65744465636f6465724c69623a20496e646566696e6974652d6c656e6774682043424f522061727261797320617265206e6f7420737570706f72746564","id":9534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8438:67:52","typeDescriptions":{"typeIdentifier":"t_stringliteral_875d0a02937cb9909e45a20585fcb051fe02c5f86d796a9b1cf43ce04fc2ba90","typeString":"literal_string \"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\""},"value":"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_875d0a02937cb9909e45a20585fcb051fe02c5f86d796a9b1cf43ce04fc2ba90","typeString":"literal_string \"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\""}],"id":9530,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8408:7:52","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8408:98:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9536,"nodeType":"ExpressionStatement","src":"8408:98:52"},{"assignments":[9541],"declarations":[{"constant":false,"id":9541,"mutability":"mutable","name":"array","nameLocation":"8529:5:52","nodeType":"VariableDeclaration","scope":9580,"src":"8513:21:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":9539,"name":"string","nodeType":"ElementaryTypeName","src":"8513:6:52","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":9540,"nodeType":"ArrayTypeName","src":"8513:8:52","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":9547,"initialValue":{"arguments":[{"id":9545,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9522,"src":"8550:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":9544,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"8537:12:52","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (string memory[] memory)"},"typeName":{"baseType":{"id":9542,"name":"string","nodeType":"ElementaryTypeName","src":"8541:6:52","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":9543,"nodeType":"ArrayTypeName","src":"8541:8:52","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":9546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8537:20:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"8513:44:52"},{"body":{"id":9576,"nodeType":"Block","src":"8599:112:52","statements":[{"assignments":[9562],"declarations":[{"constant":false,"id":9562,"mutability":"mutable","name":"item","nameLocation":"8626:4:52","nodeType":"VariableDeclaration","scope":9576,"src":"8607:23:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR"},"typeName":{"id":9561,"nodeType":"UserDefinedTypeName","pathNode":{"id":9560,"name":"Witnet.CBOR","nodeType":"IdentifierPath","referencedDeclaration":8037,"src":"8607:11:52"},"referencedDeclaration":8037,"src":"8607:11:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"}},"visibility":"internal"}],"id":9567,"initialValue":{"arguments":[{"expression":{"id":9564,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9507,"src":"8649:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9565,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buffer","nodeType":"MemberAccess","referencedDeclaration":8026,"src":"8649:17:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}],"id":9563,"name":"valueFromBuffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9802,"src":"8633:15:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$returns$_t_struct$_CBOR_$8037_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory) pure returns (struct Witnet.CBOR memory)"}},"id":9566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8633:34:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"nodeType":"VariableDeclarationStatement","src":"8607:60:52"},{"expression":{"id":9574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":9568,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9541,"src":"8675:5:52","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":9570,"indexExpression":{"id":9569,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9549,"src":"8681:1:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8675:8:52","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9572,"name":"item","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9562,"src":"8699:4:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}],"id":9571,"name":"decodeString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9503,"src":"8686:12:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_CBOR_$8037_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (struct Witnet.CBOR memory) pure returns (string memory)"}},"id":9573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8686:18:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"8675:29:52","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":9575,"nodeType":"ExpressionStatement","src":"8675:29:52"}]},"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":9554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9552,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9549,"src":"8582:1:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9553,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9522,"src":"8586:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"8582:10:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9577,"initializationExpression":{"assignments":[9549],"declarations":[{"constant":false,"id":9549,"mutability":"mutable","name":"i","nameLocation":"8575:1:52","nodeType":"VariableDeclaration","scope":9577,"src":"8568:8:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":9548,"name":"uint64","nodeType":"ElementaryTypeName","src":"8568:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":9551,"initialValue":{"hexValue":"30","id":9550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8579:1:52","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"8568:12:52"},"loopExpression":{"expression":{"id":9556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"8594:3:52","subExpression":{"id":9555,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9549,"src":"8594:1:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":9557,"nodeType":"ExpressionStatement","src":"8594:3:52"},"nodeType":"ForStatement","src":"8563:148:52"},{"expression":{"id":9578,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9541,"src":"8724:5:52","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":9512,"id":9579,"nodeType":"Return","src":"8717:12:52"}]},"documentation":{"id":9504,"nodeType":"StructuredDocumentation","src":"7885:204:52","text":"@notice Decode a `Witnet.CBOR` structure into a native `string[]` value.\n @param _cborValue An instance of `Witnet.CBOR`.\n @return The value represented by the input, as an `string[]` value."},"functionSelector":"c5e88ff2","id":9581,"implemented":true,"kind":"function","modifiers":[],"name":"decodeStringArray","nameLocation":"8101:17:52","nodeType":"FunctionDefinition","parameters":{"id":9508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9507,"mutability":"mutable","name":"_cborValue","nameLocation":"8138:10:52","nodeType":"VariableDeclaration","scope":9581,"src":"8119:29:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR"},"typeName":{"id":9506,"nodeType":"UserDefinedTypeName","pathNode":{"id":9505,"name":"Witnet.CBOR","nodeType":"IdentifierPath","referencedDeclaration":8037,"src":"8119:11:52"},"referencedDeclaration":8037,"src":"8119:11:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"}},"visibility":"internal"}],"src":"8118:31:52"},"returnParameters":{"id":9512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9511,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9581,"src":"8172:15:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":9509,"name":"string","nodeType":"ElementaryTypeName","src":"8172:6:52","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":9510,"nodeType":"ArrayTypeName","src":"8172:8:52","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"8171:17:52"},"scope":10067,"src":"8092:642:52","stateMutability":"pure","virtual":false,"visibility":"external"},{"body":{"id":9605,"nodeType":"Block","src":"9022:206:52","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9591,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9585,"src":"9036:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9592,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"majorType","nodeType":"MemberAccess","referencedDeclaration":8030,"src":"9036:20:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":9593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9060:1:52","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9036:25:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65744465636f6465724c69623a20547269656420746f2072656164206075696e743634602066726f6d206120605769746e65742e43424f52602077697468206d616a6f725479706520213d2030","id":9595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9063:83:52","typeDescriptions":{"typeIdentifier":"t_stringliteral_3375c6645e382185e0fe278f193075512d535b9f2ca7e1b37510b35efdd2bcc0","typeString":"literal_string \"WitnetDecoderLib: Tried to read `uint64` from a `Witnet.CBOR` with majorType != 0\""},"value":"WitnetDecoderLib: Tried to read `uint64` from a `Witnet.CBOR` with majorType != 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3375c6645e382185e0fe278f193075512d535b9f2ca7e1b37510b35efdd2bcc0","typeString":"literal_string \"WitnetDecoderLib: Tried to read `uint64` from a `Witnet.CBOR` with majorType != 0\""}],"id":9590,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9028:7:52","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9028:119:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9597,"nodeType":"ExpressionStatement","src":"9028:119:52"},{"expression":{"arguments":[{"expression":{"id":9599,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9585,"src":"9171:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9600,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buffer","nodeType":"MemberAccess","referencedDeclaration":8026,"src":"9171:17:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},{"expression":{"id":9601,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9585,"src":"9190:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9602,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"additionalInformation","nodeType":"MemberAccess","referencedDeclaration":8032,"src":"9190:32:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":9598,"name":"readLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9868,"src":"9160:10:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$_t_uint8_$returns$_t_uint64_$","typeString":"function (struct Witnet.Buffer memory,uint8) pure returns (uint64)"}},"id":9603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9160:63:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":9589,"id":9604,"nodeType":"Return","src":"9153:70:52"}]},"documentation":{"id":9582,"nodeType":"StructuredDocumentation","src":"8738:200:52","text":"@notice Decode a `Witnet.CBOR` structure into a native `uint64` value.\n @param _cborValue An instance of `Witnet.CBOR`.\n @return The value represented by the input, as an `uint64` value."},"functionSelector":"7a8acab1","id":9606,"implemented":true,"kind":"function","modifiers":[],"name":"decodeUint64","nameLocation":"8950:12:52","nodeType":"FunctionDefinition","parameters":{"id":9586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9585,"mutability":"mutable","name":"_cborValue","nameLocation":"8982:10:52","nodeType":"VariableDeclaration","scope":9606,"src":"8963:29:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR"},"typeName":{"id":9584,"nodeType":"UserDefinedTypeName","pathNode":{"id":9583,"name":"Witnet.CBOR","nodeType":"IdentifierPath","referencedDeclaration":8037,"src":"8963:11:52"},"referencedDeclaration":8037,"src":"8963:11:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"}},"visibility":"internal"}],"src":"8962:31:52"},"returnParameters":{"id":9589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9588,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9606,"src":"9014:6:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":9587,"name":"uint64","nodeType":"ElementaryTypeName","src":"9014:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"9013:8:52"},"scope":10067,"src":"8941:287:52","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":9683,"nodeType":"Block","src":"9536:545:52","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9617,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9610,"src":"9550:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9618,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"majorType","nodeType":"MemberAccess","referencedDeclaration":8030,"src":"9550:20:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"34","id":9619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9574:1:52","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"9550:25:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65744465636f6465724c69623a20547269656420746f2072656164206075696e7436345b5d602066726f6d206120605769746e65742e43424f52602077697468206d616a6f725479706520213d2034","id":9621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9577:85:52","typeDescriptions":{"typeIdentifier":"t_stringliteral_d33a5d2b5ed5d95cc7a9c6c198ab7dad558642e7b6ddd2bf019b8e6e207e2bb1","typeString":"literal_string \"WitnetDecoderLib: Tried to read `uint64[]` from a `Witnet.CBOR` with majorType != 4\""},"value":"WitnetDecoderLib: Tried to read `uint64[]` from a `Witnet.CBOR` with majorType != 4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d33a5d2b5ed5d95cc7a9c6c198ab7dad558642e7b6ddd2bf019b8e6e207e2bb1","typeString":"literal_string \"WitnetDecoderLib: Tried to read `uint64[]` from a `Witnet.CBOR` with majorType != 4\""}],"id":9616,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9542:7:52","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9542:121:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9623,"nodeType":"ExpressionStatement","src":"9542:121:52"},{"assignments":[9625],"declarations":[{"constant":false,"id":9625,"mutability":"mutable","name":"length","nameLocation":"9677:6:52","nodeType":"VariableDeclaration","scope":9683,"src":"9670:13:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":9624,"name":"uint64","nodeType":"ElementaryTypeName","src":"9670:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":9632,"initialValue":{"arguments":[{"expression":{"id":9627,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9610,"src":"9697:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9628,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buffer","nodeType":"MemberAccess","referencedDeclaration":8026,"src":"9697:17:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},{"expression":{"id":9629,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9610,"src":"9716:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9630,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"additionalInformation","nodeType":"MemberAccess","referencedDeclaration":8032,"src":"9716:32:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":9626,"name":"readLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9868,"src":"9686:10:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$_t_uint8_$returns$_t_uint64_$","typeString":"function (struct Witnet.Buffer memory,uint8) pure returns (uint64)"}},"id":9631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9686:63:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"VariableDeclarationStatement","src":"9670:79:52"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":9636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9634,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9625,"src":"9763:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9635,"name":"_UINT64_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8965,"src":"9772:11:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"9763:20:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65744465636f6465724c69623a20496e646566696e6974652d6c656e6774682043424f522061727261797320617265206e6f7420737570706f72746564","id":9637,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9785:67:52","typeDescriptions":{"typeIdentifier":"t_stringliteral_875d0a02937cb9909e45a20585fcb051fe02c5f86d796a9b1cf43ce04fc2ba90","typeString":"literal_string \"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\""},"value":"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_875d0a02937cb9909e45a20585fcb051fe02c5f86d796a9b1cf43ce04fc2ba90","typeString":"literal_string \"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\""}],"id":9633,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9755:7:52","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9755:98:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9639,"nodeType":"ExpressionStatement","src":"9755:98:52"},{"assignments":[9644],"declarations":[{"constant":false,"id":9644,"mutability":"mutable","name":"array","nameLocation":"9876:5:52","nodeType":"VariableDeclaration","scope":9683,"src":"9860:21:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[]"},"typeName":{"baseType":{"id":9642,"name":"uint64","nodeType":"ElementaryTypeName","src":"9860:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":9643,"nodeType":"ArrayTypeName","src":"9860:8:52","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_storage_ptr","typeString":"uint64[]"}},"visibility":"internal"}],"id":9650,"initialValue":{"arguments":[{"id":9648,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9625,"src":"9897:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":9647,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9884:12:52","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint64_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint64[] memory)"},"typeName":{"baseType":{"id":9645,"name":"uint64","nodeType":"ElementaryTypeName","src":"9888:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":9646,"nodeType":"ArrayTypeName","src":"9888:8:52","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_storage_ptr","typeString":"uint64[]"}}},"id":9649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9884:20:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9860:44:52"},{"body":{"id":9679,"nodeType":"Block","src":"9946:112:52","statements":[{"assignments":[9665],"declarations":[{"constant":false,"id":9665,"mutability":"mutable","name":"item","nameLocation":"9973:4:52","nodeType":"VariableDeclaration","scope":9679,"src":"9954:23:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR"},"typeName":{"id":9664,"nodeType":"UserDefinedTypeName","pathNode":{"id":9663,"name":"Witnet.CBOR","nodeType":"IdentifierPath","referencedDeclaration":8037,"src":"9954:11:52"},"referencedDeclaration":8037,"src":"9954:11:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"}},"visibility":"internal"}],"id":9670,"initialValue":{"arguments":[{"expression":{"id":9667,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9610,"src":"9996:10:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":9668,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buffer","nodeType":"MemberAccess","referencedDeclaration":8026,"src":"9996:17:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}],"id":9666,"name":"valueFromBuffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9802,"src":"9980:15:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$returns$_t_struct$_CBOR_$8037_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory) pure returns (struct Witnet.CBOR memory)"}},"id":9669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9980:34:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"nodeType":"VariableDeclarationStatement","src":"9954:60:52"},{"expression":{"id":9677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":9671,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9644,"src":"10022:5:52","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":9673,"indexExpression":{"id":9672,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9652,"src":"10028:1:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10022:8:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9675,"name":"item","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9665,"src":"10046:4:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}],"id":9674,"name":"decodeUint64","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9606,"src":"10033:12:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_CBOR_$8037_memory_ptr_$returns$_t_uint64_$","typeString":"function (struct Witnet.CBOR memory) pure returns (uint64)"}},"id":9676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10033:18:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"10022:29:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":9678,"nodeType":"ExpressionStatement","src":"10022:29:52"}]},"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":9657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9655,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9652,"src":"9929:1:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9656,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9625,"src":"9933:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"9929:10:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9680,"initializationExpression":{"assignments":[9652],"declarations":[{"constant":false,"id":9652,"mutability":"mutable","name":"i","nameLocation":"9922:1:52","nodeType":"VariableDeclaration","scope":9680,"src":"9915:8:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":9651,"name":"uint64","nodeType":"ElementaryTypeName","src":"9915:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":9654,"initialValue":{"hexValue":"30","id":9653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9926:1:52","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"9915:12:52"},"loopExpression":{"expression":{"id":9659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"9941:3:52","subExpression":{"id":9658,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9652,"src":"9941:1:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":9660,"nodeType":"ExpressionStatement","src":"9941:3:52"},"nodeType":"ForStatement","src":"9910:148:52"},{"expression":{"id":9681,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9644,"src":"10071:5:52","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"functionReturnParameters":9615,"id":9682,"nodeType":"Return","src":"10064:12:52"}]},"documentation":{"id":9607,"nodeType":"StructuredDocumentation","src":"9232:204:52","text":"@notice Decode a `Witnet.CBOR` structure into a native `uint64[]` value.\n @param _cborValue An instance of `Witnet.CBOR`.\n @return The value represented by the input, as an `uint64[]` value."},"functionSelector":"f8a597d3","id":9684,"implemented":true,"kind":"function","modifiers":[],"name":"decodeUint64Array","nameLocation":"9448:17:52","nodeType":"FunctionDefinition","parameters":{"id":9611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9610,"mutability":"mutable","name":"_cborValue","nameLocation":"9485:10:52","nodeType":"VariableDeclaration","scope":9684,"src":"9466:29:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR"},"typeName":{"id":9609,"nodeType":"UserDefinedTypeName","pathNode":{"id":9608,"name":"Witnet.CBOR","nodeType":"IdentifierPath","referencedDeclaration":8037,"src":"9466:11:52"},"referencedDeclaration":8037,"src":"9466:11:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"}},"visibility":"internal"}],"src":"9465:31:52"},"returnParameters":{"id":9615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9614,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9684,"src":"9519:15:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[]"},"typeName":{"baseType":{"id":9612,"name":"uint64","nodeType":"ElementaryTypeName","src":"9519:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":9613,"nodeType":"ArrayTypeName","src":"9519:8:52","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_storage_ptr","typeString":"uint64[]"}},"visibility":"internal"}],"src":"9518:17:52"},"scope":10067,"src":"9439:642:52","stateMutability":"pure","virtual":false,"visibility":"external"},{"body":{"id":9708,"nodeType":"Block","src":"10496:106:52","statements":[{"assignments":[9697],"declarations":[{"constant":false,"id":9697,"mutability":"mutable","name":"buffer","nameLocation":"10523:6:52","nodeType":"VariableDeclaration","scope":9708,"src":"10502:27:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer"},"typeName":{"id":9696,"nodeType":"UserDefinedTypeName","pathNode":{"id":9695,"name":"Witnet.Buffer","nodeType":"IdentifierPath","referencedDeclaration":8042,"src":"10502:13:52"},"referencedDeclaration":8042,"src":"10502:13:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_storage_ptr","typeString":"struct Witnet.Buffer"}},"visibility":"internal"}],"id":9703,"initialValue":{"arguments":[{"id":9700,"name":"_cborBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9687,"src":"10546:10:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":9701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10558:1:52","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":9698,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"10532:6:52","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":9699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Buffer","nodeType":"MemberAccess","referencedDeclaration":8042,"src":"10532:13:52","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Buffer_$8042_storage_ptr_$","typeString":"type(struct Witnet.Buffer storage pointer)"}},"id":9702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10532:28:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"nodeType":"VariableDeclarationStatement","src":"10502:58:52"},{"expression":{"arguments":[{"id":9705,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9697,"src":"10590:6:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}],"id":9704,"name":"valueFromBuffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9802,"src":"10574:15:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$returns$_t_struct$_CBOR_$8037_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory) pure returns (struct Witnet.CBOR memory)"}},"id":9706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10574:23:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"functionReturnParameters":9692,"id":9707,"nodeType":"Return","src":"10567:30:52"}]},"documentation":{"id":9685,"nodeType":"StructuredDocumentation","src":"10085:317:52","text":"@notice Decode a Witnet.CBOR structure from raw bytes.\n @dev This is the main factory for Witnet.CBOR instances, which can be later decoded into native EVM types.\n @param _cborBytes Raw bytes representing a CBOR-encoded value.\n @return A `Witnet.CBOR` instance containing a partially decoded value."},"functionSelector":"dfca5d34","id":9709,"implemented":true,"kind":"function","modifiers":[],"name":"valueFromBytes","nameLocation":"10414:14:52","nodeType":"FunctionDefinition","parameters":{"id":9688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9687,"mutability":"mutable","name":"_cborBytes","nameLocation":"10442:10:52","nodeType":"VariableDeclaration","scope":9709,"src":"10429:23:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9686,"name":"bytes","nodeType":"ElementaryTypeName","src":"10429:5:52","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10428:25:52"},"returnParameters":{"id":9692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9691,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9709,"src":"10476:18:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR"},"typeName":{"id":9690,"nodeType":"UserDefinedTypeName","pathNode":{"id":9689,"name":"Witnet.CBOR","nodeType":"IdentifierPath","referencedDeclaration":8037,"src":"10476:11:52"},"referencedDeclaration":8037,"src":"10476:11:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"}},"visibility":"internal"}],"src":"10475:20:52"},"scope":10067,"src":"10405:197:52","stateMutability":"pure","virtual":false,"visibility":"external"},{"body":{"id":9801,"nodeType":"Block","src":"11031:830:52","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":9720,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9713,"src":"11045:7:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":9721,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":8039,"src":"11045:12:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"11045:19:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":9723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11067:1:52","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11045:23:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65744465636f6465724c69623a20466f756e6420656d70747920627566666572207768656e2070617273696e672043424f522076616c7565","id":9725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11070:62:52","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb594b582c4c4c10df3423239223a3962931d31e3d9cc15d65f361d94596911d","typeString":"literal_string \"WitnetDecoderLib: Found empty buffer when parsing CBOR value\""},"value":"WitnetDecoderLib: Found empty buffer when parsing CBOR value"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cb594b582c4c4c10df3423239223a3962931d31e3d9cc15d65f361d94596911d","typeString":"literal_string \"WitnetDecoderLib: Found empty buffer when parsing CBOR value\""}],"id":9719,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11037:7:52","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11037:96:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9727,"nodeType":"ExpressionStatement","src":"11037:96:52"},{"assignments":[9729],"declarations":[{"constant":false,"id":9729,"mutability":"mutable","name":"initialByte","nameLocation":"11146:11:52","nodeType":"VariableDeclaration","scope":9801,"src":"11140:17:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":9728,"name":"uint8","nodeType":"ElementaryTypeName","src":"11140:5:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":9730,"nodeType":"VariableDeclarationStatement","src":"11140:17:52"},{"assignments":[9732],"declarations":[{"constant":false,"id":9732,"mutability":"mutable","name":"majorType","nameLocation":"11169:9:52","nodeType":"VariableDeclaration","scope":9801,"src":"11163:15:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":9731,"name":"uint8","nodeType":"ElementaryTypeName","src":"11163:5:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":9734,"initialValue":{"hexValue":"323535","id":9733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11181:3:52","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"nodeType":"VariableDeclarationStatement","src":"11163:21:52"},{"assignments":[9736],"declarations":[{"constant":false,"id":9736,"mutability":"mutable","name":"additionalInformation","nameLocation":"11196:21:52","nodeType":"VariableDeclaration","scope":9801,"src":"11190:27:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":9735,"name":"uint8","nodeType":"ElementaryTypeName","src":"11190:5:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":9737,"nodeType":"VariableDeclarationStatement","src":"11190:27:52"},{"assignments":[9739],"declarations":[{"constant":false,"id":9739,"mutability":"mutable","name":"tag","nameLocation":"11230:3:52","nodeType":"VariableDeclaration","scope":9801,"src":"11223:10:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":9738,"name":"uint64","nodeType":"ElementaryTypeName","src":"11223:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":9741,"initialValue":{"id":9740,"name":"_UINT64_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8965,"src":"11236:11:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"VariableDeclarationStatement","src":"11223:24:52"},{"assignments":[9743],"declarations":[{"constant":false,"id":9743,"mutability":"mutable","name":"isTagged","nameLocation":"11259:8:52","nodeType":"VariableDeclaration","scope":9801,"src":"11254:13:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9742,"name":"bool","nodeType":"ElementaryTypeName","src":"11254:4:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":9745,"initialValue":{"hexValue":"74727565","id":9744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11270:4:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"nodeType":"VariableDeclarationStatement","src":"11254:20:52"},{"body":{"id":9782,"nodeType":"Block","src":"11297:359:52","statements":[{"expression":{"id":9751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9747,"name":"initialByte","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9729,"src":"11361:11:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":9748,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9713,"src":"11375:7:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":9749,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"readUint8","nodeType":"MemberAccess","referencedDeclaration":8533,"src":"11375:17:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$returns$_t_uint8_$bound_to$_t_struct$_Buffer_$8042_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory) pure returns (uint8)"}},"id":9750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11375:19:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11361:33:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":9752,"nodeType":"ExpressionStatement","src":"11361:33:52"},{"expression":{"id":9757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9753,"name":"majorType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9732,"src":"11402:9:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9754,"name":"initialByte","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9729,"src":"11414:11:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"35","id":9755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11429:1:52","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"11414:16:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11402:28:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":9758,"nodeType":"ExpressionStatement","src":"11402:28:52"},{"expression":{"id":9763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9759,"name":"additionalInformation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9736,"src":"11438:21:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9760,"name":"initialByte","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9729,"src":"11462:11:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783166","id":9761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11476:4:52","typeDescriptions":{"typeIdentifier":"t_rational_31_by_1","typeString":"int_const 31"},"value":"0x1f"},"src":"11462:18:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11438:42:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":9764,"nodeType":"ExpressionStatement","src":"11438:42:52"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9765,"name":"majorType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9732,"src":"11526:9:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"36","id":9766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11539:1:52","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"11526:14:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9780,"nodeType":"Block","src":"11615:35:52","statements":[{"expression":{"id":9778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9776,"name":"isTagged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9743,"src":"11625:8:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":9777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11636:5:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"11625:16:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9779,"nodeType":"ExpressionStatement","src":"11625:16:52"}]},"id":9781,"nodeType":"IfStatement","src":"11522:128:52","trueBody":{"id":9775,"nodeType":"Block","src":"11542:67:52","statements":[{"expression":{"id":9773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9768,"name":"tag","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9739,"src":"11552:3:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9770,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9713,"src":"11569:7:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},{"id":9771,"name":"additionalInformation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9736,"src":"11578:21:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":9769,"name":"readLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9868,"src":"11558:10:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$_t_uint8_$returns$_t_uint64_$","typeString":"function (struct Witnet.Buffer memory,uint8) pure returns (uint64)"}},"id":9772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11558:42:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"11552:48:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":9774,"nodeType":"ExpressionStatement","src":"11552:48:52"}]}}]},"condition":{"id":9746,"name":"isTagged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9743,"src":"11287:8:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9783,"nodeType":"WhileStatement","src":"11280:376:52"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9785,"name":"majorType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9732,"src":"11670:9:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"37","id":9786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11683:1:52","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"11670:14:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65744465636f6465724c69623a20496e76616c69642043424f52206d616a6f722074797065","id":9788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11686:43:52","typeDescriptions":{"typeIdentifier":"t_stringliteral_d4ffc38b1bd3ce07b73162c5cd58b3f5d16fe42393d05d185bef3b883bb0a175","typeString":"literal_string \"WitnetDecoderLib: Invalid CBOR major type\""},"value":"WitnetDecoderLib: Invalid CBOR major type"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d4ffc38b1bd3ce07b73162c5cd58b3f5d16fe42393d05d185bef3b883bb0a175","typeString":"literal_string \"WitnetDecoderLib: Invalid CBOR major type\""}],"id":9784,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11662:7:52","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11662:68:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9790,"nodeType":"ExpressionStatement","src":"11662:68:52"},{"expression":{"arguments":[{"id":9793,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9713,"src":"11763:7:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},{"id":9794,"name":"initialByte","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9729,"src":"11778:11:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":9795,"name":"majorType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9732,"src":"11797:9:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":9796,"name":"additionalInformation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9736,"src":"11814:21:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"hexValue":"30","id":9797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11843:1:52","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":9798,"name":"tag","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9739,"src":"11852:3:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"expression":{"id":9791,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"11744:6:52","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":9792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"CBOR","nodeType":"MemberAccess","referencedDeclaration":8037,"src":"11744:11:52","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CBOR_$8037_storage_ptr_$","typeString":"type(struct Witnet.CBOR storage pointer)"}},"id":9799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11744:112:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"functionReturnParameters":9718,"id":9800,"nodeType":"Return","src":"11737:119:52"}]},"documentation":{"id":9710,"nodeType":"StructuredDocumentation","src":"10606:327:52","text":"@notice Decode a Witnet.CBOR structure from raw bytes.\n @dev This is an alternate factory for Witnet.CBOR instances, which can be later decoded into native EVM types.\n @param _buffer A Buffer structure representing a CBOR-encoded value.\n @return A `Witnet.CBOR` instance containing a partially decoded value."},"functionSelector":"7f3fb7ca","id":9802,"implemented":true,"kind":"function","modifiers":[],"name":"valueFromBuffer","nameLocation":"10945:15:52","nodeType":"FunctionDefinition","parameters":{"id":9714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9713,"mutability":"mutable","name":"_buffer","nameLocation":"10982:7:52","nodeType":"VariableDeclaration","scope":9802,"src":"10961:28:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer"},"typeName":{"id":9712,"nodeType":"UserDefinedTypeName","pathNode":{"id":9711,"name":"Witnet.Buffer","nodeType":"IdentifierPath","referencedDeclaration":8042,"src":"10961:13:52"},"referencedDeclaration":8042,"src":"10961:13:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_storage_ptr","typeString":"struct Witnet.Buffer"}},"visibility":"internal"}],"src":"10960:30:52"},"returnParameters":{"id":9718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9717,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9802,"src":"11011:18:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR"},"typeName":{"id":9716,"nodeType":"UserDefinedTypeName","pathNode":{"id":9715,"name":"Witnet.CBOR","nodeType":"IdentifierPath","referencedDeclaration":8037,"src":"11011:11:52"},"referencedDeclaration":8037,"src":"11011:11:52","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"}},"visibility":"internal"}],"src":"11010:20:52"},"scope":10067,"src":"10936:925:52","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":9867,"nodeType":"Block","src":"12141:575:52","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9813,"name":"additionalInformation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9808,"src":"12151:21:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"3234","id":9814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12175:2:52","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"24"},"src":"12151:26:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9819,"nodeType":"IfStatement","src":"12147:75:52","trueBody":{"id":9818,"nodeType":"Block","src":"12179:43:52","statements":[{"expression":{"id":9816,"name":"additionalInformation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9808,"src":"12194:21:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":9812,"id":9817,"nodeType":"Return","src":"12187:28:52"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9820,"name":"additionalInformation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9808,"src":"12231:21:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3234","id":9821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12256:2:52","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"24"},"src":"12231:27:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9828,"nodeType":"IfStatement","src":"12227:74:52","trueBody":{"id":9827,"nodeType":"Block","src":"12260:41:52","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":9823,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9806,"src":"12275:7:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":9824,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"readUint8","nodeType":"MemberAccess","referencedDeclaration":8533,"src":"12275:17:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$returns$_t_uint8_$bound_to$_t_struct$_Buffer_$8042_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory) pure returns (uint8)"}},"id":9825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12275:19:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":9812,"id":9826,"nodeType":"Return","src":"12268:26:52"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9829,"name":"additionalInformation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9808,"src":"12310:21:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3235","id":9830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12335:2:52","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"src":"12310:27:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9837,"nodeType":"IfStatement","src":"12306:75:52","trueBody":{"id":9836,"nodeType":"Block","src":"12339:42:52","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":9832,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9806,"src":"12354:7:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":9833,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"readUint16","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"12354:18:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$returns$_t_uint16_$bound_to$_t_struct$_Buffer_$8042_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory) pure returns (uint16)"}},"id":9834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12354:20:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"functionReturnParameters":9812,"id":9835,"nodeType":"Return","src":"12347:27:52"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9838,"name":"additionalInformation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9808,"src":"12390:21:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3236","id":9839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12415:2:52","typeDescriptions":{"typeIdentifier":"t_rational_26_by_1","typeString":"int_const 26"},"value":"26"},"src":"12390:27:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9846,"nodeType":"IfStatement","src":"12386:75:52","trueBody":{"id":9845,"nodeType":"Block","src":"12419:42:52","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":9841,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9806,"src":"12434:7:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":9842,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"readUint32","nodeType":"MemberAccess","referencedDeclaration":8615,"src":"12434:18:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$returns$_t_uint32_$bound_to$_t_struct$_Buffer_$8042_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory) pure returns (uint32)"}},"id":9843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12434:20:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"functionReturnParameters":9812,"id":9844,"nodeType":"Return","src":"12427:27:52"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9847,"name":"additionalInformation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9808,"src":"12470:21:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3237","id":9848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12495:2:52","typeDescriptions":{"typeIdentifier":"t_rational_27_by_1","typeString":"int_const 27"},"value":"27"},"src":"12470:27:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9855,"nodeType":"IfStatement","src":"12466:75:52","trueBody":{"id":9854,"nodeType":"Block","src":"12499:42:52","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":9850,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9806,"src":"12514:7:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":9851,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"readUint64","nodeType":"MemberAccess","referencedDeclaration":8656,"src":"12514:18:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$returns$_t_uint64_$bound_to$_t_struct$_Buffer_$8042_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory) pure returns (uint64)"}},"id":9852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12514:20:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":9812,"id":9853,"nodeType":"Return","src":"12507:27:52"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9856,"name":"additionalInformation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9808,"src":"12550:21:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3331","id":9857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12575:2:52","typeDescriptions":{"typeIdentifier":"t_rational_31_by_1","typeString":"int_const 31"},"value":"31"},"src":"12550:27:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9862,"nodeType":"IfStatement","src":"12546:66:52","trueBody":{"id":9861,"nodeType":"Block","src":"12579:33:52","statements":[{"expression":{"id":9859,"name":"_UINT64_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8965,"src":"12594:11:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":9812,"id":9860,"nodeType":"Return","src":"12587:18:52"}]}},{"expression":{"arguments":[{"hexValue":"5769746e65744465636f6465724c69623a20496e76616c6964206c656e67746820656e636f64696e6720286e6f6e2d6578697374656e74206164646974696f6e616c496e666f726d6174696f6e2076616c756529","id":9864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12624:86:52","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f8489a006fc2ddb7b8db45a240c2e1340f979031aa674bc2c0d9a032007f865","typeString":"literal_string \"WitnetDecoderLib: Invalid length encoding (non-existent additionalInformation value)\""},"value":"WitnetDecoderLib: Invalid length encoding (non-existent additionalInformation value)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f8489a006fc2ddb7b8db45a240c2e1340f979031aa674bc2c0d9a032007f865","typeString":"literal_string \"WitnetDecoderLib: Invalid length encoding (non-existent additionalInformation value)\""}],"id":9863,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"12617:6:52","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":9865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12617:94:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9866,"nodeType":"ExpressionStatement","src":"12617:94:52"}]},"documentation":{"id":9803,"nodeType":"StructuredDocumentation","src":"11865:165:52","text":"Reads the length of the next CBOR item from a buffer, consuming a different number of bytes depending on the\n value of the `additionalInformation` argument."},"id":9868,"implemented":true,"kind":"function","modifiers":[],"name":"readLength","nameLocation":"12042:10:52","nodeType":"FunctionDefinition","parameters":{"id":9809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9806,"mutability":"mutable","name":"_buffer","nameLocation":"12074:7:52","nodeType":"VariableDeclaration","scope":9868,"src":"12053:28:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer"},"typeName":{"id":9805,"nodeType":"UserDefinedTypeName","pathNode":{"id":9804,"name":"Witnet.Buffer","nodeType":"IdentifierPath","referencedDeclaration":8042,"src":"12053:13:52"},"referencedDeclaration":8042,"src":"12053:13:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_storage_ptr","typeString":"struct Witnet.Buffer"}},"visibility":"internal"},{"constant":false,"id":9808,"mutability":"mutable","name":"additionalInformation","nameLocation":"12089:21:52","nodeType":"VariableDeclaration","scope":9868,"src":"12083:27:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":9807,"name":"uint8","nodeType":"ElementaryTypeName","src":"12083:5:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"12052:59:52"},"returnParameters":{"id":9812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9811,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9868,"src":"12133:6:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":9810,"name":"uint64","nodeType":"ElementaryTypeName","src":"12133:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"12132:8:52"},"scope":10067,"src":"12033:683:52","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":9917,"nodeType":"Block","src":"13002:310:52","statements":[{"assignments":[9880],"declarations":[{"constant":false,"id":9880,"mutability":"mutable","name":"initialByte","nameLocation":"13014:11:52","nodeType":"VariableDeclaration","scope":9917,"src":"13008:17:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":9879,"name":"uint8","nodeType":"ElementaryTypeName","src":"13008:5:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":9884,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":9881,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9872,"src":"13028:7:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":9882,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"readUint8","nodeType":"MemberAccess","referencedDeclaration":8533,"src":"13028:17:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$returns$_t_uint8_$bound_to$_t_struct$_Buffer_$8042_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory) pure returns (uint8)"}},"id":9883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13028:19:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"13008:39:52"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9885,"name":"initialByte","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9880,"src":"13057:11:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30786666","id":9886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13072:4:52","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"},"src":"13057:19:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9891,"nodeType":"IfStatement","src":"13053:58:52","trueBody":{"id":9890,"nodeType":"Block","src":"13078:33:52","statements":[{"expression":{"id":9888,"name":"_UINT64_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8965,"src":"13093:11:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":9878,"id":9889,"nodeType":"Return","src":"13086:18:52"}]}},{"assignments":[9893],"declarations":[{"constant":false,"id":9893,"mutability":"mutable","name":"length","nameLocation":"13123:6:52","nodeType":"VariableDeclaration","scope":9917,"src":"13116:13:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":9892,"name":"uint64","nodeType":"ElementaryTypeName","src":"13116:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":9900,"initialValue":{"arguments":[{"id":9895,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9872,"src":"13143:7:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9896,"name":"initialByte","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9880,"src":"13152:11:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783166","id":9897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13166:4:52","typeDescriptions":{"typeIdentifier":"t_rational_31_by_1","typeString":"int_const 31"},"value":"0x1f"},"src":"13152:18:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":9894,"name":"readLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9868,"src":"13132:10:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$_t_uint8_$returns$_t_uint64_$","typeString":"function (struct Witnet.Buffer memory,uint8) pure returns (uint64)"}},"id":9899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13132:39:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"VariableDeclarationStatement","src":"13116:55:52"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":9911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":9904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9902,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9893,"src":"13185:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9903,"name":"_UINT64_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8965,"src":"13194:11:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"13185:20:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9905,"name":"initialByte","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9880,"src":"13210:11:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"35","id":9906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13225:1:52","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"13210:16:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":9908,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13209:18:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":9909,"name":"majorType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9874,"src":"13231:9:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"13209:31:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13185:55:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65744465636f6465724c69623a20496e76616c696420696e646566696e697465206c656e677468","id":9912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13242:45:52","typeDescriptions":{"typeIdentifier":"t_stringliteral_c9a3baade484e18c7b6c7f334d58082e2c6f48547df2aecdef5e238f396eceb8","typeString":"literal_string \"WitnetDecoderLib: Invalid indefinite length\""},"value":"WitnetDecoderLib: Invalid indefinite length"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c9a3baade484e18c7b6c7f334d58082e2c6f48547df2aecdef5e238f396eceb8","typeString":"literal_string \"WitnetDecoderLib: Invalid indefinite length\""}],"id":9901,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13177:7:52","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13177:111:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9914,"nodeType":"ExpressionStatement","src":"13177:111:52"},{"expression":{"id":9915,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9893,"src":"13301:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":9878,"id":9916,"nodeType":"Return","src":"13294:13:52"}]},"documentation":{"id":9869,"nodeType":"StructuredDocumentation","src":"12720:167:52","text":"Read the length of a CBOR indifinite-length item (arrays, maps, byte strings and text) from a buffer, consuming\n as many bytes as specified by the first byte."},"id":9918,"implemented":true,"kind":"function","modifiers":[],"name":"readIndefiniteStringLength","nameLocation":"12899:26:52","nodeType":"FunctionDefinition","parameters":{"id":9875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9872,"mutability":"mutable","name":"_buffer","nameLocation":"12947:7:52","nodeType":"VariableDeclaration","scope":9918,"src":"12926:28:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer"},"typeName":{"id":9871,"nodeType":"UserDefinedTypeName","pathNode":{"id":9870,"name":"Witnet.Buffer","nodeType":"IdentifierPath","referencedDeclaration":8042,"src":"12926:13:52"},"referencedDeclaration":8042,"src":"12926:13:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_storage_ptr","typeString":"struct Witnet.Buffer"}},"visibility":"internal"},{"constant":false,"id":9874,"mutability":"mutable","name":"majorType","nameLocation":"12962:9:52","nodeType":"VariableDeclaration","scope":9918,"src":"12956:15:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":9873,"name":"uint8","nodeType":"ElementaryTypeName","src":"12956:5:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"12925:47:52"},"returnParameters":{"id":9878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9877,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9918,"src":"12994:6:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":9876,"name":"uint64","nodeType":"ElementaryTypeName","src":"12994:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"12993:8:52"},"scope":10067,"src":"12890:422:52","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":10065,"nodeType":"Block","src":"13660:794:52","statements":[{"assignments":[9930],"declarations":[{"constant":false,"id":9930,"mutability":"mutable","name":"result","nameLocation":"13679:6:52","nodeType":"VariableDeclaration","scope":10065,"src":"13666:19:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9929,"name":"bytes","nodeType":"ElementaryTypeName","src":"13666:5:52","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":9931,"nodeType":"VariableDeclarationStatement","src":"13666:19:52"},{"body":{"id":10061,"nodeType":"Block","src":"13740:691:52","statements":[{"assignments":[9943],"declarations":[{"constant":false,"id":9943,"mutability":"mutable","name":"value","nameLocation":"13754:5:52","nodeType":"VariableDeclaration","scope":10061,"src":"13748:11:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":9942,"name":"uint8","nodeType":"ElementaryTypeName","src":"13748:5:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":9947,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":9944,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9922,"src":"13762:7:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":9945,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"readUint8","nodeType":"MemberAccess","referencedDeclaration":8533,"src":"13762:17:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$returns$_t_uint8_$bound_to$_t_struct$_Buffer_$8042_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory) pure returns (uint8)"}},"id":9946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13762:19:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"13748:33:52"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9948,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9943,"src":"13793:5:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783830","id":9949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13801:4:52","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"0x80"},"src":"13793:12:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":9951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13809:1:52","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13793:17:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10052,"nodeType":"IfStatement","src":"13789:588:52","trueBody":{"id":10051,"nodeType":"Block","src":"13812:565:52","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9953,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9943,"src":"13826:5:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30786530","id":9954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13834:4:52","typeDescriptions":{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},"value":"0xe0"},"src":"13826:12:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9977,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9943,"src":"13967:5:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30786630","id":9978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13975:4:52","typeDescriptions":{"typeIdentifier":"t_rational_240_by_1","typeString":"int_const 240"},"value":"0xf0"},"src":"13967:12:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":10048,"nodeType":"Block","src":"14153:216:52","statements":[{"expression":{"id":10042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10010,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9943,"src":"14165:5:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":10041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":10034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":10025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":10016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":10013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10011,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9943,"src":"14174:5:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783066","id":10012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14182:4:52","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"0x0f"},"src":"14174:12:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":10014,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14173:14:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3138","id":10015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14191:2:52","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"src":"14173:20:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":10024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":10021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":10017,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9922,"src":"14209:7:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":10018,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"readUint8","nodeType":"MemberAccess","referencedDeclaration":8533,"src":"14209:17:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$returns$_t_uint8_$bound_to$_t_struct$_Buffer_$8042_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory) pure returns (uint8)"}},"id":10019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14209:19:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783366","id":10020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14231:4:52","typeDescriptions":{"typeIdentifier":"t_rational_63_by_1","typeString":"int_const 63"},"value":"0x3f"},"src":"14209:26:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":10022,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14208:28:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3132","id":10023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14240:2:52","typeDescriptions":{"typeIdentifier":"t_rational_12_by_1","typeString":"int_const 12"},"value":"12"},"src":"14208:34:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"14173:69:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":10033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":10030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":10026,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9922,"src":"14258:7:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":10027,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"readUint8","nodeType":"MemberAccess","referencedDeclaration":8533,"src":"14258:17:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$returns$_t_uint8_$bound_to$_t_struct$_Buffer_$8042_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory) pure returns (uint8)"}},"id":10028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14258:19:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783366","id":10029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14280:4:52","typeDescriptions":{"typeIdentifier":"t_rational_63_by_1","typeString":"int_const 63"},"value":"0x3f"},"src":"14258:26:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":10031,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14257:28:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"36","id":10032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14289:1:52","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"14257:33:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"14173:117:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":10039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":10035,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9922,"src":"14307:7:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":10036,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"readUint8","nodeType":"MemberAccess","referencedDeclaration":8533,"src":"14307:17:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$returns$_t_uint8_$bound_to$_t_struct$_Buffer_$8042_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory) pure returns (uint8)"}},"id":10037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14307:19:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783366","id":10038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14329:4:52","typeDescriptions":{"typeIdentifier":"t_rational_63_by_1","typeString":"int_const 63"},"value":"0x3f"},"src":"14307:26:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":10040,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14306:28:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"14173:161:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"14165:169:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":10043,"nodeType":"ExpressionStatement","src":"14165:169:52"},{"expression":{"id":10046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10044,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9924,"src":"14346:7:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"33","id":10045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14357:1:52","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"14346:12:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":10047,"nodeType":"ExpressionStatement","src":"14346:12:52"}]},"id":10049,"nodeType":"IfStatement","src":"13963:406:52","trueBody":{"id":10009,"nodeType":"Block","src":"13981:166:52","statements":[{"expression":{"id":10003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9980,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9943,"src":"13993:5:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":10002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9981,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9943,"src":"14002:5:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783066","id":9982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14010:4:52","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"0x0f"},"src":"14002:12:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":9984,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14001:14:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3132","id":9985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14019:2:52","typeDescriptions":{"typeIdentifier":"t_rational_12_by_1","typeString":"int_const 12"},"value":"12"},"src":"14001:20:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":9987,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9922,"src":"14037:7:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":9988,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"readUint8","nodeType":"MemberAccess","referencedDeclaration":8533,"src":"14037:17:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$returns$_t_uint8_$bound_to$_t_struct$_Buffer_$8042_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory) pure returns (uint8)"}},"id":9989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14037:19:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783366","id":9990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14059:4:52","typeDescriptions":{"typeIdentifier":"t_rational_63_by_1","typeString":"int_const 63"},"value":"0x3f"},"src":"14037:26:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":9992,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14036:28:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"36","id":9993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14068:1:52","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"14036:33:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"14001:68:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":10000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":9996,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9922,"src":"14085:7:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":9997,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"readUint8","nodeType":"MemberAccess","referencedDeclaration":8533,"src":"14085:17:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$returns$_t_uint8_$bound_to$_t_struct$_Buffer_$8042_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory) pure returns (uint8)"}},"id":9998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14085:19:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783366","id":9999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14107:4:52","typeDescriptions":{"typeIdentifier":"t_rational_63_by_1","typeString":"int_const 63"},"value":"0x3f"},"src":"14085:26:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":10001,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14084:28:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"14001:111:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"13993:119:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":10004,"nodeType":"ExpressionStatement","src":"13993:119:52"},{"expression":{"id":10007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10005,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9924,"src":"14124:7:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"32","id":10006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14135:1:52","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"14124:12:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":10008,"nodeType":"ExpressionStatement","src":"14124:12:52"}]}},"id":10050,"nodeType":"IfStatement","src":"13822:547:52","trueBody":{"id":9976,"nodeType":"Block","src":"13840:117:52","statements":[{"expression":{"id":9970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9956,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9943,"src":"13852:5:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9957,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9943,"src":"13861:5:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783166","id":9958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13869:4:52","typeDescriptions":{"typeIdentifier":"t_rational_31_by_1","typeString":"int_const 31"},"value":"0x1f"},"src":"13861:12:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":9960,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13860:14:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"36","id":9961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13878:1:52","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"13860:19:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":9963,"name":"_buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9922,"src":"13895:7:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer memory"}},"id":9964,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"readUint8","nodeType":"MemberAccess","referencedDeclaration":8533,"src":"13895:17:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Buffer_$8042_memory_ptr_$returns$_t_uint8_$bound_to$_t_struct$_Buffer_$8042_memory_ptr_$","typeString":"function (struct Witnet.Buffer memory) pure returns (uint8)"}},"id":9965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13895:19:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783366","id":9966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13917:4:52","typeDescriptions":{"typeIdentifier":"t_rational_63_by_1","typeString":"int_const 63"},"value":"0x3f"},"src":"13895:26:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":9968,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13894:28:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"13860:62:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"13852:70:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":9971,"nodeType":"ExpressionStatement","src":"13852:70:52"},{"expression":{"id":9974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9972,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9924,"src":"13934:7:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":9973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13945:1:52","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13934:12:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":9975,"nodeType":"ExpressionStatement","src":"13934:12:52"}]}}]}},{"expression":{"id":10059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10053,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9930,"src":"14384:6:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":10056,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9930,"src":"14410:6:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":10057,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9943,"src":"14418:5:52","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":10054,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14393:3:52","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10055,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"14393:16:52","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14393:31:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"14384:40:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":10060,"nodeType":"ExpressionStatement","src":"14384:40:52"}]},"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":9938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9936,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"13714:5:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9937,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9924,"src":"13722:7:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"13714:15:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10062,"initializationExpression":{"assignments":[9933],"declarations":[{"constant":false,"id":9933,"mutability":"mutable","name":"index","nameLocation":"13703:5:52","nodeType":"VariableDeclaration","scope":10062,"src":"13696:12:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":9932,"name":"uint64","nodeType":"ElementaryTypeName","src":"13696:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":9935,"initialValue":{"hexValue":"30","id":9934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13711:1:52","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"13696:16:52"},"loopExpression":{"expression":{"id":9940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"13731:7:52","subExpression":{"id":9939,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"13731:5:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":9941,"nodeType":"ExpressionStatement","src":"13731:7:52"},"nodeType":"ForStatement","src":"13691:740:52"},{"expression":{"id":10063,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9930,"src":"14443:6:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":9928,"id":10064,"nodeType":"Return","src":"14436:13:52"}]},"documentation":{"id":9919,"nodeType":"StructuredDocumentation","src":"13316:186:52","text":"Read a text string of a given length from a buffer. Returns a `bytes memory` value for the sake of genericness,\n but it can be easily casted into a string with `string(result)`."},"id":10066,"implemented":true,"kind":"function","modifiers":[],"name":"readText","nameLocation":"13570:8:52","nodeType":"FunctionDefinition","parameters":{"id":9925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9922,"mutability":"mutable","name":"_buffer","nameLocation":"13600:7:52","nodeType":"VariableDeclaration","scope":10066,"src":"13579:28:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_memory_ptr","typeString":"struct Witnet.Buffer"},"typeName":{"id":9921,"nodeType":"UserDefinedTypeName","pathNode":{"id":9920,"name":"Witnet.Buffer","nodeType":"IdentifierPath","referencedDeclaration":8042,"src":"13579:13:52"},"referencedDeclaration":8042,"src":"13579:13:52","typeDescriptions":{"typeIdentifier":"t_struct$_Buffer_$8042_storage_ptr","typeString":"struct Witnet.Buffer"}},"visibility":"internal"},{"constant":false,"id":9924,"mutability":"mutable","name":"_length","nameLocation":"13616:7:52","nodeType":"VariableDeclaration","scope":10066,"src":"13609:14:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":9923,"name":"uint64","nodeType":"ElementaryTypeName","src":"13609:6:52","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"13578:46:52"},"returnParameters":{"id":9928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9927,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10066,"src":"13646:12:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9926,"name":"bytes","nodeType":"ElementaryTypeName","src":"13646:5:52","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"13645:14:52"},"scope":10067,"src":"13561:893:52","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":10068,"src":"814:13642:52","usedErrors":[]}],"src":"33:14424:52"},"id":52},"witnet-solidity-bridge/contracts/libs/WitnetParserLib.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/libs/WitnetParserLib.sol","exportedSymbols":{"IWitnetRequest":[7510],"Witnet":[8300],"WitnetBuffer":[8942],"WitnetDecoderLib":[10067],"WitnetParserLib":[11209]},"id":11210,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":10069,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:53"},{"id":10070,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"65:33:53"},{"absolutePath":"witnet-solidity-bridge/contracts/libs/WitnetDecoderLib.sol","file":"./WitnetDecoderLib.sol","id":10071,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":11210,"sourceUnit":10068,"src":"100:32:53","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"library","documentation":{"id":10072,"nodeType":"StructuredDocumentation","src":"134:241:53","text":"@title A library for decoding Witnet request results\n @notice The library exposes functions to check the Witnet request success.\n and retrieve Witnet results from CBOR values into solidity types.\n @author The Witnet Foundation."},"fullyImplemented":true,"id":11209,"linearizedBaseContracts":[11209],"name":"WitnetParserLib","nameLocation":"383:15:53","nodeType":"ContractDefinition","nodes":[{"id":10075,"libraryName":{"id":10073,"name":"WitnetDecoderLib","nodeType":"IdentifierPath","referencedDeclaration":10067,"src":"412:16:53"},"nodeType":"UsingForDirective","src":"406:33:53","typeName":{"id":10074,"name":"bytes","nodeType":"ElementaryTypeName","src":"433:5:53","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},{"id":10079,"libraryName":{"id":10076,"name":"WitnetDecoderLib","nodeType":"IdentifierPath","referencedDeclaration":10067,"src":"450:16:53"},"nodeType":"UsingForDirective","src":"444:39:53","typeName":{"id":10078,"nodeType":"UserDefinedTypeName","pathNode":{"id":10077,"name":"Witnet.CBOR","nodeType":"IdentifierPath","referencedDeclaration":8037,"src":"471:11:53"},"referencedDeclaration":8037,"src":"471:11:53","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"}}},{"body":{"id":10101,"nodeType":"Block","src":"794:122:53","statements":[{"assignments":[10092],"declarations":[{"constant":false,"id":10092,"mutability":"mutable","name":"cborValue","nameLocation":"823:9:53","nodeType":"VariableDeclaration","scope":10101,"src":"804:28:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR"},"typeName":{"id":10091,"nodeType":"UserDefinedTypeName","pathNode":{"id":10090,"name":"Witnet.CBOR","nodeType":"IdentifierPath","referencedDeclaration":8037,"src":"804:11:53"},"referencedDeclaration":8037,"src":"804:11:53","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"}},"visibility":"internal"}],"id":10096,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":10093,"name":"_cborBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10082,"src":"835:10:53","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":10094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"valueFromBytes","nodeType":"MemberAccess","referencedDeclaration":9709,"src":"835:25:53","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_bytes_memory_ptr_$returns$_t_struct$_CBOR_$8037_memory_ptr_$bound_to$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) pure returns (struct Witnet.CBOR memory)"}},"id":10095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"835:27:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"nodeType":"VariableDeclarationStatement","src":"804:58:53"},{"expression":{"arguments":[{"id":10098,"name":"cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10092,"src":"899:9:53","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}],"id":10097,"name":"resultFromCborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10126,"src":"879:19:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_CBOR_$8037_memory_ptr_$returns$_t_struct$_Result_$8023_memory_ptr_$","typeString":"function (struct Witnet.CBOR memory) pure returns (struct Witnet.Result memory)"}},"id":10099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"879:30:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"functionReturnParameters":10087,"id":10100,"nodeType":"Return","src":"872:37:53"}]},"documentation":{"id":10080,"nodeType":"StructuredDocumentation","src":"489:179:53","text":"@notice Decode raw CBOR bytes into a Witnet.Result instance.\n @param _cborBytes Raw bytes representing a CBOR-encoded value.\n @return A `Witnet.Result` instance."},"functionSelector":"e99e47f3","id":10102,"implemented":true,"kind":"function","modifiers":[],"name":"resultFromCborBytes","nameLocation":"682:19:53","nodeType":"FunctionDefinition","parameters":{"id":10083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10082,"mutability":"mutable","name":"_cborBytes","nameLocation":"717:10:53","nodeType":"VariableDeclaration","scope":10102,"src":"702:25:53","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":10081,"name":"bytes","nodeType":"ElementaryTypeName","src":"702:5:53","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"701:27:53"},"returnParameters":{"id":10087,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10086,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10102,"src":"768:20:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":10085,"nodeType":"UserDefinedTypeName","pathNode":{"id":10084,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"768:13:53"},"referencedDeclaration":8023,"src":"768:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"767:22:53"},"scope":11209,"src":"673:243:53","stateMutability":"pure","virtual":false,"visibility":"external"},{"body":{"id":10125,"nodeType":"Block","src":"1217:291:53","statements":[{"assignments":[10113],"declarations":[{"constant":false,"id":10113,"mutability":"mutable","name":"success","nameLocation":"1420:7:53","nodeType":"VariableDeclaration","scope":10125,"src":"1415:12:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10112,"name":"bool","nodeType":"ElementaryTypeName","src":"1415:4:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":10118,"initialValue":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":10117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10114,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10106,"src":"1430:10:53","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":10115,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"tag","nodeType":"MemberAccess","referencedDeclaration":8036,"src":"1430:14:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"3339","id":10116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1448:2:53","typeDescriptions":{"typeIdentifier":"t_rational_39_by_1","typeString":"int_const 39"},"value":"39"},"src":"1430:20:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"1415:35:53"},{"expression":{"arguments":[{"id":10121,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10113,"src":"1481:7:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10122,"name":"_cborValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10106,"src":"1490:10:53","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}],"expression":{"id":10119,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"1467:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":10120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Result","nodeType":"MemberAccess","referencedDeclaration":8023,"src":"1467:13:53","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Result_$8023_storage_ptr_$","typeString":"type(struct Witnet.Result storage pointer)"}},"id":10123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1467:34:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"functionReturnParameters":10111,"id":10124,"nodeType":"Return","src":"1460:41:53"}]},"documentation":{"id":10103,"nodeType":"StructuredDocumentation","src":"922:163:53","text":"@notice Decode a CBOR value into a Witnet.Result instance.\n @param _cborValue An instance of `Witnet.Value`.\n @return A `Witnet.Result` instance."},"functionSelector":"130283ee","id":10126,"implemented":true,"kind":"function","modifiers":[],"name":"resultFromCborValue","nameLocation":"1099:19:53","nodeType":"FunctionDefinition","parameters":{"id":10107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10106,"mutability":"mutable","name":"_cborValue","nameLocation":"1138:10:53","nodeType":"VariableDeclaration","scope":10126,"src":"1119:29:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR"},"typeName":{"id":10105,"nodeType":"UserDefinedTypeName","pathNode":{"id":10104,"name":"Witnet.CBOR","nodeType":"IdentifierPath","referencedDeclaration":8037,"src":"1119:11:53"},"referencedDeclaration":8037,"src":"1119:11:53","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_storage_ptr","typeString":"struct Witnet.CBOR"}},"visibility":"internal"}],"src":"1118:31:53"},"returnParameters":{"id":10111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10110,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10126,"src":"1187:20:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":10109,"nodeType":"UserDefinedTypeName","pathNode":{"id":10108,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"1187:13:53"},"referencedDeclaration":8023,"src":"1187:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"1186:22:53"},"scope":11209,"src":"1090:418:53","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":10138,"nodeType":"Block","src":"1773:39:53","statements":[{"expression":{"expression":{"id":10135,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10130,"src":"1790:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10136,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":8019,"src":"1790:15:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":10134,"id":10137,"nodeType":"Return","src":"1783:22:53"}]},"documentation":{"id":10127,"nodeType":"StructuredDocumentation","src":"1514:161:53","text":"@notice Tell if a Witnet.Result is successful.\n @param _result An instance of Witnet.Result.\n @return `true` if successful, `false` if errored."},"functionSelector":"6646c119","id":10139,"implemented":true,"kind":"function","modifiers":[],"name":"isOk","nameLocation":"1689:4:53","nodeType":"FunctionDefinition","parameters":{"id":10131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10130,"mutability":"mutable","name":"_result","nameLocation":"1715:7:53","nodeType":"VariableDeclaration","scope":10139,"src":"1694:28:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":10129,"nodeType":"UserDefinedTypeName","pathNode":{"id":10128,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"1694:13:53"},"referencedDeclaration":8023,"src":"1694:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"1693:30:53"},"returnParameters":{"id":10134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10133,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10139,"src":"1763:4:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10132,"name":"bool","nodeType":"ElementaryTypeName","src":"1763:4:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1762:6:53"},"scope":11209,"src":"1680:132:53","stateMutability":"pure","virtual":false,"visibility":"external"},{"body":{"id":10152,"nodeType":"Block","src":"2073:40:53","statements":[{"expression":{"id":10150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2090:16:53","subExpression":{"expression":{"id":10148,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10143,"src":"2091:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10149,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":8019,"src":"2091:15:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":10147,"id":10151,"nodeType":"Return","src":"2083:23:53"}]},"documentation":{"id":10140,"nodeType":"StructuredDocumentation","src":"1818:158:53","text":"@notice Tell if a Witnet.Result is errored.\n @param _result An instance of Witnet.Result.\n @return `true` if errored, `false` if successful."},"functionSelector":"a1d45d56","id":10153,"implemented":true,"kind":"function","modifiers":[],"name":"isError","nameLocation":"1990:7:53","nodeType":"FunctionDefinition","parameters":{"id":10144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10143,"mutability":"mutable","name":"_result","nameLocation":"2019:7:53","nodeType":"VariableDeclaration","scope":10153,"src":"1998:28:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":10142,"nodeType":"UserDefinedTypeName","pathNode":{"id":10141,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"1998:13:53"},"referencedDeclaration":8023,"src":"1998:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"1997:30:53"},"returnParameters":{"id":10147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10146,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10153,"src":"2063:4:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10145,"name":"bool","nodeType":"ElementaryTypeName","src":"2063:4:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2062:6:53"},"scope":11209,"src":"1981:132:53","stateMutability":"pure","virtual":false,"visibility":"external"},{"body":{"id":10173,"nodeType":"Block","src":"2413:158:53","statements":[{"expression":{"arguments":[{"expression":{"id":10163,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10157,"src":"2431:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10164,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":8019,"src":"2431:15:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65745061727365724c69623a20547269656420746f20726561642062797465732076616c75652066726f6d206572726f726564205769746e65742e526573756c74","id":10165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2448:71:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_10326a398e4ebae30db45e432dffe0bcbf9bb42c1ddf0acdf95f81f6937c3e6e","typeString":"literal_string \"WitnetParserLib: Tried to read bytes value from errored Witnet.Result\""},"value":"WitnetParserLib: Tried to read bytes value from errored Witnet.Result"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_10326a398e4ebae30db45e432dffe0bcbf9bb42c1ddf0acdf95f81f6937c3e6e","typeString":"literal_string \"WitnetParserLib: Tried to read bytes value from errored Witnet.Result\""}],"id":10162,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2423:7:53","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2423:97:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10167,"nodeType":"ExpressionStatement","src":"2423:97:53"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":10168,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10157,"src":"2537:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10169,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":8022,"src":"2537:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":10170,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"decodeBytes","nodeType":"MemberAccess","referencedDeclaration":9116,"src":"2537:25:53","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_CBOR_$8037_memory_ptr_$returns$_t_bytes_memory_ptr_$bound_to$_t_struct$_CBOR_$8037_memory_ptr_$","typeString":"function (struct Witnet.CBOR memory) pure returns (bytes memory)"}},"id":10171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2537:27:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":10161,"id":10172,"nodeType":"Return","src":"2530:34:53"}]},"documentation":{"id":10154,"nodeType":"StructuredDocumentation","src":"2119:186:53","text":"@notice Decode a bytes value from a Witnet.Result as a `bytes` value.\n @param _result An instance of Witnet.Result.\n @return The `bytes` decoded from the Witnet.Result."},"functionSelector":"a1b90891","id":10174,"implemented":true,"kind":"function","modifiers":[],"name":"asBytes","nameLocation":"2319:7:53","nodeType":"FunctionDefinition","parameters":{"id":10158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10157,"mutability":"mutable","name":"_result","nameLocation":"2348:7:53","nodeType":"VariableDeclaration","scope":10174,"src":"2327:28:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":10156,"nodeType":"UserDefinedTypeName","pathNode":{"id":10155,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"2327:13:53"},"referencedDeclaration":8023,"src":"2327:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"2326:30:53"},"returnParameters":{"id":10161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10160,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10174,"src":"2395:12:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10159,"name":"bytes","nodeType":"ElementaryTypeName","src":"2395:5:53","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2394:14:53"},"scope":11209,"src":"2310:261:53","stateMutability":"pure","virtual":false,"visibility":"external"},{"body":{"id":10194,"nodeType":"Block","src":"2872:162:53","statements":[{"expression":{"arguments":[{"expression":{"id":10184,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10178,"src":"2890:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10185,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":8019,"src":"2890:15:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65745061727365724c69623a20747269656420746f207265616420627974657333322076616c75652066726f6d206572726f726564205769746e65742e526573756c74","id":10186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2907:73:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_8ef34c94c12bfb3b89b23a8cf5312739770812e6628f56af30b56f1ffca49ea6","typeString":"literal_string \"WitnetParserLib: tried to read bytes32 value from errored Witnet.Result\""},"value":"WitnetParserLib: tried to read bytes32 value from errored Witnet.Result"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8ef34c94c12bfb3b89b23a8cf5312739770812e6628f56af30b56f1ffca49ea6","typeString":"literal_string \"WitnetParserLib: tried to read bytes32 value from errored Witnet.Result\""}],"id":10183,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2882:7:53","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2882:99:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10188,"nodeType":"ExpressionStatement","src":"2882:99:53"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":10189,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10178,"src":"2998:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10190,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":8022,"src":"2998:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":10191,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"decodeBytes32","nodeType":"MemberAccess","referencedDeclaration":9171,"src":"2998:27:53","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_CBOR_$8037_memory_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_CBOR_$8037_memory_ptr_$","typeString":"function (struct Witnet.CBOR memory) pure returns (bytes32)"}},"id":10192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2998:29:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":10182,"id":10193,"nodeType":"Return","src":"2991:36:53"}]},"documentation":{"id":10175,"nodeType":"StructuredDocumentation","src":"2577:190:53","text":"@notice Decode a bytes value from a Witnet.Result as a `bytes32` value.\n @param _result An instance of Witnet.Result.\n @return The `bytes32` decoded from the Witnet.Result."},"functionSelector":"a2e87655","id":10195,"implemented":true,"kind":"function","modifiers":[],"name":"asBytes32","nameLocation":"2781:9:53","nodeType":"FunctionDefinition","parameters":{"id":10179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10178,"mutability":"mutable","name":"_result","nameLocation":"2812:7:53","nodeType":"VariableDeclaration","scope":10195,"src":"2791:28:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":10177,"nodeType":"UserDefinedTypeName","pathNode":{"id":10176,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"2791:13:53"},"referencedDeclaration":8023,"src":"2791:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"2790:30:53"},"returnParameters":{"id":10182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10181,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10195,"src":"2859:7:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10180,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2859:7:53","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2858:9:53"},"scope":11209,"src":"2772:262:53","stateMutability":"pure","virtual":false,"visibility":"external"},{"body":{"id":10230,"nodeType":"Block","src":"3379:204:53","statements":[{"assignments":[10209],"declarations":[{"constant":false,"id":10209,"mutability":"mutable","name":"error","nameLocation":"3405:5:53","nodeType":"VariableDeclaration","scope":10230,"src":"3389:21:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[]"},"typeName":{"baseType":{"id":10207,"name":"uint64","nodeType":"ElementaryTypeName","src":"3389:6:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":10208,"nodeType":"ArrayTypeName","src":"3389:8:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_storage_ptr","typeString":"uint64[]"}},"visibility":"internal"}],"id":10213,"initialValue":{"arguments":[{"id":10211,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10199,"src":"3424:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}],"id":10210,"name":"asRawError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10738,"src":"3413:10:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Result_$8023_memory_ptr_$returns$_t_array$_t_uint64_$dyn_memory_ptr_$","typeString":"function (struct Witnet.Result memory) pure returns (uint64[] memory)"}},"id":10212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3413:19:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3389:43:53"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10214,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10209,"src":"3446:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"3446:12:53","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":10216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3462:1:53","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3446:17:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10223,"nodeType":"IfStatement","src":"3442:80:53","trueBody":{"id":10222,"nodeType":"Block","src":"3465:57:53","statements":[{"expression":{"expression":{"expression":{"id":10218,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"3486:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":10219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ErrorCodes","nodeType":"MemberAccess","referencedDeclaration":8299,"src":"3486:17:53","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ErrorCodes_$8299_$","typeString":"type(enum Witnet.ErrorCodes)"}},"id":10220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Unknown","nodeType":"MemberAccess","referencedDeclaration":8043,"src":"3486:25:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"functionReturnParameters":10204,"id":10221,"nodeType":"Return","src":"3479:32:53"}]}},{"expression":{"arguments":[{"baseExpression":{"id":10225,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10209,"src":"3567:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10227,"indexExpression":{"hexValue":"30","id":10226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3573:1:53","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3567:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10224,"name":"_supportedErrorOrElseUnknown","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10979,"src":"3538:28:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_enum$_ErrorCodes_$8299_$","typeString":"function (uint64) pure returns (enum Witnet.ErrorCodes)"}},"id":10228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3538:38:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"functionReturnParameters":10204,"id":10229,"nodeType":"Return","src":"3531:45:53"}]},"documentation":{"id":10196,"nodeType":"StructuredDocumentation","src":"3040:221:53","text":"@notice Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\n @param _result An instance of `Witnet.Result`.\n @return The `CBORValue.Error memory` decoded from the Witnet.Result."},"functionSelector":"d45d097d","id":10231,"implemented":true,"kind":"function","modifiers":[],"name":"asErrorCode","nameLocation":"3275:11:53","nodeType":"FunctionDefinition","parameters":{"id":10200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10199,"mutability":"mutable","name":"_result","nameLocation":"3308:7:53","nodeType":"VariableDeclaration","scope":10231,"src":"3287:28:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":10198,"nodeType":"UserDefinedTypeName","pathNode":{"id":10197,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"3287:13:53"},"referencedDeclaration":8023,"src":"3287:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"3286:30:53"},"returnParameters":{"id":10204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10203,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10231,"src":"3356:17:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"},"typeName":{"id":10202,"nodeType":"UserDefinedTypeName","pathNode":{"id":10201,"name":"Witnet.ErrorCodes","nodeType":"IdentifierPath","referencedDeclaration":8299,"src":"3356:17:53"},"referencedDeclaration":8299,"src":"3356:17:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"visibility":"internal"}],"src":"3355:19:53"},"scope":11209,"src":"3266:317:53","stateMutability":"pure","virtual":false,"visibility":"external"},{"body":{"id":10714,"nodeType":"Block","src":"4160:4957:53","statements":[{"assignments":[10247],"declarations":[{"constant":false,"id":10247,"mutability":"mutable","name":"error","nameLocation":"4186:5:53","nodeType":"VariableDeclaration","scope":10714,"src":"4170:21:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[]"},"typeName":{"baseType":{"id":10245,"name":"uint64","nodeType":"ElementaryTypeName","src":"4170:6:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":10246,"nodeType":"ArrayTypeName","src":"4170:8:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_storage_ptr","typeString":"uint64[]"}},"visibility":"internal"}],"id":10251,"initialValue":{"arguments":[{"id":10249,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10235,"src":"4205:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}],"id":10248,"name":"asRawError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10738,"src":"4194:10:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Result_$8023_memory_ptr_$returns$_t_array$_t_uint64_$dyn_memory_ptr_$","typeString":"function (struct Witnet.Result memory) pure returns (uint64[] memory)"}},"id":10250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4194:19:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"nodeType":"VariableDeclarationStatement","src":"4170:43:53"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10252,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"4227:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4227:12:53","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":10254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4243:1:53","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4227:17:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10263,"nodeType":"IfStatement","src":"4223:115:53","trueBody":{"id":10262,"nodeType":"Block","src":"4246:92:53","statements":[{"expression":{"components":[{"expression":{"expression":{"id":10256,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"4268:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":10257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ErrorCodes","nodeType":"MemberAccess","referencedDeclaration":8299,"src":"4268:17:53","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ErrorCodes_$8299_$","typeString":"type(enum Witnet.ErrorCodes)"}},"id":10258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Unknown","nodeType":"MemberAccess","referencedDeclaration":8043,"src":"4268:25:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},{"hexValue":"556e6b6e6f776e206572726f7220286e6f206572726f7220636f646529","id":10259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4295:31:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_9362eb335c700860f9f440fe6cb27ce683232a7bc10c5d0c4a89a0025af0465a","typeString":"literal_string \"Unknown error (no error code)\""},"value":"Unknown error (no error code)"}],"id":10260,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4267:60:53","typeDescriptions":{"typeIdentifier":"t_tuple$_t_enum$_ErrorCodes_$8299_$_t_stringliteral_9362eb335c700860f9f440fe6cb27ce683232a7bc10c5d0c4a89a0025af0465a_$","typeString":"tuple(enum Witnet.ErrorCodes,literal_string \"Unknown error (no error code)\")"}},"functionReturnParameters":10242,"id":10261,"nodeType":"Return","src":"4260:67:53"}]}},{"assignments":[10268],"declarations":[{"constant":false,"id":10268,"mutability":"mutable","name":"errorCode","nameLocation":"4365:9:53","nodeType":"VariableDeclaration","scope":10714,"src":"4347:27:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"},"typeName":{"id":10267,"nodeType":"UserDefinedTypeName","pathNode":{"id":10266,"name":"Witnet.ErrorCodes","nodeType":"IdentifierPath","referencedDeclaration":8299,"src":"4347:17:53"},"referencedDeclaration":8299,"src":"4347:17:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"visibility":"internal"}],"id":10274,"initialValue":{"arguments":[{"baseExpression":{"id":10270,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"4406:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10272,"indexExpression":{"hexValue":"30","id":10271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4412:1:53","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4406:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10269,"name":"_supportedErrorOrElseUnknown","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10979,"src":"4377:28:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_enum$_ErrorCodes_$8299_$","typeString":"function (uint64) pure returns (enum Witnet.ErrorCodes)"}},"id":10273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4377:38:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"nodeType":"VariableDeclarationStatement","src":"4347:68:53"},{"assignments":[10276],"declarations":[{"constant":false,"id":10276,"mutability":"mutable","name":"errorMessage","nameLocation":"4438:12:53","nodeType":"VariableDeclaration","scope":10714,"src":"4425:25:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10275,"name":"bytes","nodeType":"ElementaryTypeName","src":"4425:5:53","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":10277,"nodeType":"VariableDeclarationStatement","src":"4425:25:53"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"},"id":10282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10278,"name":"errorCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10268,"src":"4465:9:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":10279,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"4478:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":10280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ErrorCodes","nodeType":"MemberAccess","referencedDeclaration":8299,"src":"4478:17:53","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ErrorCodes_$8299_$","typeString":"type(enum Witnet.ErrorCodes)"}},"id":10281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"SourceScriptNotCBOR","nodeType":"MemberAccess","referencedDeclaration":8044,"src":"4478:37:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"src":"4465:50:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10283,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"4519:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4519:12:53","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"32","id":10285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4535:1:53","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"4519:17:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4465:71:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"},"id":10306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10302,"name":"errorCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10268,"src":"4733:9:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":10303,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"4746:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":10304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ErrorCodes","nodeType":"MemberAccess","referencedDeclaration":8299,"src":"4746:17:53","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ErrorCodes_$8299_$","typeString":"type(enum Witnet.ErrorCodes)"}},"id":10305,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"SourceScriptNotArray","nodeType":"MemberAccess","referencedDeclaration":8045,"src":"4746:38:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"src":"4733:51:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10307,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"4788:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4788:12:53","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"32","id":10309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4804:1:53","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"4788:17:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4733:72:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"},"id":10330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10326,"name":"errorCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10268,"src":"5012:9:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":10327,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"5025:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":10328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ErrorCodes","nodeType":"MemberAccess","referencedDeclaration":8299,"src":"5025:17:53","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ErrorCodes_$8299_$","typeString":"type(enum Witnet.ErrorCodes)"}},"id":10329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"SourceScriptNotRADON","nodeType":"MemberAccess","referencedDeclaration":8046,"src":"5025:38:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"src":"5012:51:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10331,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"5067:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"5067:12:53","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"32","id":10333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5083:1:53","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"5067:17:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5012:72:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"},"id":10354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10350,"name":"errorCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10268,"src":"5294:9:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":10351,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"5307:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":10352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ErrorCodes","nodeType":"MemberAccess","referencedDeclaration":8299,"src":"5307:17:53","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ErrorCodes_$8299_$","typeString":"type(enum Witnet.ErrorCodes)"}},"id":10353,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"RequestTooManySources","nodeType":"MemberAccess","referencedDeclaration":8059,"src":"5307:39:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"src":"5294:52:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10355,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"5350:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"5350:12:53","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"32","id":10357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5366:1:53","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"5350:17:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5294:73:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"},"id":10378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10374,"name":"errorCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10268,"src":"5565:9:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":10375,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"5578:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":10376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ErrorCodes","nodeType":"MemberAccess","referencedDeclaration":8299,"src":"5578:17:53","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ErrorCodes_$8299_$","typeString":"type(enum Witnet.ErrorCodes)"}},"id":10377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"ScriptTooManyCalls","nodeType":"MemberAccess","referencedDeclaration":8060,"src":"5578:36:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"src":"5565:49:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10379,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"5618:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"5618:12:53","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"34","id":10381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5634:1:53","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"5618:17:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5565:70:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"},"id":10414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10410,"name":"errorCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10268,"src":"5952:9:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":10411,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"5965:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":10412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ErrorCodes","nodeType":"MemberAccess","referencedDeclaration":8299,"src":"5965:17:53","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ErrorCodes_$8299_$","typeString":"type(enum Witnet.ErrorCodes)"}},"id":10413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"UnsupportedOperator","nodeType":"MemberAccess","referencedDeclaration":8075,"src":"5965:37:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"src":"5952:50:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10415,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"6006:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6006:12:53","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"35","id":10417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6022:1:53","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"6006:17:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5952:71:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"},"id":10456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10452,"name":"errorCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10268,"src":"6416:9:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":10453,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"6429:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":10454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ErrorCodes","nodeType":"MemberAccess","referencedDeclaration":8299,"src":"6429:17:53","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ErrorCodes_$8299_$","typeString":"type(enum Witnet.ErrorCodes)"}},"id":10455,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"HTTP","nodeType":"MemberAccess","referencedDeclaration":8091,"src":"6429:22:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"src":"6416:35:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10457,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"6455:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6455:12:53","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"33","id":10459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6471:1:53","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"6455:17:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6416:56:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"},"id":10503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10499,"name":"errorCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10268,"src":"6810:9:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":10500,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"6823:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":10501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ErrorCodes","nodeType":"MemberAccess","referencedDeclaration":8299,"src":"6823:17:53","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ErrorCodes_$8299_$","typeString":"type(enum Witnet.ErrorCodes)"}},"id":10502,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"RetrievalTimeout","nodeType":"MemberAccess","referencedDeclaration":8092,"src":"6823:34:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"src":"6810:47:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10504,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"6861:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6861:12:53","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"32","id":10506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6877:1:53","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"6861:17:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6810:68:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"},"id":10527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10523,"name":"errorCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10268,"src":"7085:9:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":10524,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"7098:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":10525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ErrorCodes","nodeType":"MemberAccess","referencedDeclaration":8299,"src":"7098:17:53","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ErrorCodes_$8299_$","typeString":"type(enum Witnet.ErrorCodes)"}},"id":10526,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Underflow","nodeType":"MemberAccess","referencedDeclaration":8107,"src":"7098:27:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"src":"7085:40:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10528,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"7129:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7129:12:53","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"35","id":10530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7145:1:53","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"7129:17:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7085:61:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"},"id":10569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10565,"name":"errorCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10268,"src":"7537:9:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":10566,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"7550:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":10567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ErrorCodes","nodeType":"MemberAccess","referencedDeclaration":8299,"src":"7550:17:53","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ErrorCodes_$8299_$","typeString":"type(enum Witnet.ErrorCodes)"}},"id":10568,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Overflow","nodeType":"MemberAccess","referencedDeclaration":8108,"src":"7550:26:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"src":"7537:39:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10570,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"7580:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7580:12:53","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"35","id":10572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7596:1:53","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"7580:17:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7537:60:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"},"id":10611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10607,"name":"errorCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10268,"src":"7985:9:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":10608,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"7998:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":10609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ErrorCodes","nodeType":"MemberAccess","referencedDeclaration":8299,"src":"7998:17:53","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ErrorCodes_$8299_$","typeString":"type(enum Witnet.ErrorCodes)"}},"id":10610,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"DivisionByZero","nodeType":"MemberAccess","referencedDeclaration":8109,"src":"7998:32:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"src":"7985:45:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10612,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"8034:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"8034:12:53","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"35","id":10614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8050:1:53","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"8034:17:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7985:66:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"},"id":10653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10649,"name":"errorCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10268,"src":"8447:9:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":10650,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"8460:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":10651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ErrorCodes","nodeType":"MemberAccess","referencedDeclaration":8299,"src":"8460:17:53","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ErrorCodes_$8299_$","typeString":"type(enum Witnet.ErrorCodes)"}},"id":10652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"BridgeMalformedRequest","nodeType":"MemberAccess","referencedDeclaration":8267,"src":"8460:40:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"src":"8447:53:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"},"id":10663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10659,"name":"errorCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10268,"src":"8617:9:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":10660,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"8630:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":10661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ErrorCodes","nodeType":"MemberAccess","referencedDeclaration":8299,"src":"8630:17:53","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ErrorCodes_$8299_$","typeString":"type(enum Witnet.ErrorCodes)"}},"id":10662,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"BridgePoorIncentives","nodeType":"MemberAccess","referencedDeclaration":8268,"src":"8630:38:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"src":"8617:51:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"},"id":10673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10669,"name":"errorCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10268,"src":"8793:9:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":10670,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"8806:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":10671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ErrorCodes","nodeType":"MemberAccess","referencedDeclaration":8299,"src":"8806:17:53","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ErrorCodes_$8299_$","typeString":"type(enum Witnet.ErrorCodes)"}},"id":10672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"BridgeOversizedResult","nodeType":"MemberAccess","referencedDeclaration":8269,"src":"8806:39:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"src":"8793:52:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":10692,"nodeType":"Block","src":"8960:101:53","statements":[{"expression":{"id":10690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10679,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10276,"src":"8974:12:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"556e6b6e6f776e206572726f7220283078","id":10682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9006:19:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_1592131424a8311c1140099f1562782fc79cb4437b828b679e0e77389ade83e5","typeString":"literal_string \"Unknown error (0x\""},"value":"Unknown error (0x"},{"arguments":[{"baseExpression":{"id":10684,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"9035:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10686,"indexExpression":{"hexValue":"30","id":10685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9041:1:53","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9035:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10683,"name":"_utohex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11208,"src":"9027:7:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9027:17:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"29","id":10688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9046:3:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed","typeString":"literal_string \")\""},"value":")"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1592131424a8311c1140099f1562782fc79cb4437b828b679e0e77389ade83e5","typeString":"literal_string \"Unknown error (0x\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed","typeString":"literal_string \")\""}],"expression":{"id":10680,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8989:3:53","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10681,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"8989:16:53","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8989:61:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"8974:76:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":10691,"nodeType":"ExpressionStatement","src":"8974:76:53"}]},"id":10693,"nodeType":"IfStatement","src":"8789:272:53","trueBody":{"id":10678,"nodeType":"Block","src":"8847:107:53","statements":[{"expression":{"id":10676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10674,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10276,"src":"8861:12:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"546865207265717565737420726573756c74206c656e677468206578636565647320612062726964676520636f6e747261637420646566696e6564206c696d6974","id":10675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8876:67:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_39c5b8feea55b72e14e8fc15549edcd9101028bd93b98957f1a43e659164d240","typeString":"literal_string \"The request result length exceeds a bridge contract defined limit\""},"value":"The request result length exceeds a bridge contract defined limit"},"src":"8861:82:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":10677,"nodeType":"ExpressionStatement","src":"8861:82:53"}]}},"id":10694,"nodeType":"IfStatement","src":"8613:448:53","trueBody":{"id":10668,"nodeType":"Block","src":"8670:113:53","statements":[{"expression":{"id":10666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10664,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10276,"src":"8684:12:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"546865207265717565737420686173206265656e2072656a65637465642062792074686520627269646765206e6f64652064756520746f20706f6f7220696e63656e7469766573","id":10665,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8699:73:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_7097a46923a4cac54a31a98eeae69b37a1b4ebddf8a36ec865824488d81ac30f","typeString":"literal_string \"The request has been rejected by the bridge node due to poor incentives\""},"value":"The request has been rejected by the bridge node due to poor incentives"},"src":"8684:88:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":10667,"nodeType":"ExpressionStatement","src":"8684:88:53"}]}},"id":10695,"nodeType":"IfStatement","src":"8443:618:53","trueBody":{"id":10658,"nodeType":"Block","src":"8502:105:53","statements":[{"expression":{"id":10656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10654,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10276,"src":"8516:12:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"54686520737472756374757265206f6620746865207265717565737420697320696e76616c696420616e642069742063616e6e6f7420626520706172736564","id":10655,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8531:65:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d243263f0d4cee50c16d04dfb8ef5c9e46142a739dd644d3bec8442686d18b4","typeString":"literal_string \"The structure of the request is invalid and it cannot be parsed\""},"value":"The structure of the request is invalid and it cannot be parsed"},"src":"8516:80:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":10657,"nodeType":"ExpressionStatement","src":"8516:80:53"}]}},"id":10696,"nodeType":"IfStatement","src":"7981:1080:53","trueBody":{"id":10648,"nodeType":"Block","src":"8053:384:53","statements":[{"expression":{"id":10646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10617,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10276,"src":"8067:12:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"4469766973696f6e206279207a65726f206174206f70657261746f7220636f6465203078","id":10620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8116:38:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_987c65b83200eb14cc0e666fee30940e97d5c2fdb5e2afde3f82dca6f8a3bcb5","typeString":"literal_string \"Division by zero at operator code 0x\""},"value":"Division by zero at operator code 0x"},{"arguments":[{"baseExpression":{"id":10622,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"8180:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10624,"indexExpression":{"hexValue":"34","id":10623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8186:1:53","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8180:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10621,"name":"_utohex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11208,"src":"8172:7:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8172:17:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20666f756e642061742063616c6c2023","id":10626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8207:18:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5","typeString":"literal_string \" found at call #\""},"value":" found at call #"},{"arguments":[{"baseExpression":{"id":10628,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"8249:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10630,"indexExpression":{"hexValue":"33","id":10629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8255:1:53","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8249:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10627,"name":"_utoa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11131,"src":"8243:5:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8243:15:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20696e207363726970742023","id":10632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8276:14:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b","typeString":"literal_string \" in script #\""},"value":" in script #"},{"arguments":[{"baseExpression":{"id":10634,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"8314:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10636,"indexExpression":{"hexValue":"32","id":10635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8320:1:53","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8314:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10633,"name":"_utoa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11131,"src":"8308:5:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8308:15:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2066726f6d20","id":10638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8341:8:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b","typeString":"literal_string \" from \""},"value":" from "},{"arguments":[{"baseExpression":{"id":10640,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"8377:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10642,"indexExpression":{"hexValue":"31","id":10641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8383:1:53","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8377:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10639,"name":"stageName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10964,"src":"8367:9:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8367:19:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"207374616765","id":10644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8404:8:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240","typeString":"literal_string \" stage\""},"value":" stage"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_987c65b83200eb14cc0e666fee30940e97d5c2fdb5e2afde3f82dca6f8a3bcb5","typeString":"literal_string \"Division by zero at operator code 0x\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5","typeString":"literal_string \" found at call #\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b","typeString":"literal_string \" in script #\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b","typeString":"literal_string \" from \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240","typeString":"literal_string \" stage\""}],"expression":{"id":10618,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8082:3:53","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10619,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"8082:16:53","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8082:344:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"8067:359:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":10647,"nodeType":"ExpressionStatement","src":"8067:359:53"}]}},"id":10697,"nodeType":"IfStatement","src":"7533:1528:53","trueBody":{"id":10606,"nodeType":"Block","src":"7599:376:53","statements":[{"expression":{"id":10604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10575,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10276,"src":"7613:12:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"4f766572666c6f77206174206f70657261746f7220636f6465203078","id":10578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7662:30:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f69785389796d4b79459ae31c417869f46a1322b1e3456a4a22df0663d28a58","typeString":"literal_string \"Overflow at operator code 0x\""},"value":"Overflow at operator code 0x"},{"arguments":[{"baseExpression":{"id":10580,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"7718:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10582,"indexExpression":{"hexValue":"34","id":10581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7724:1:53","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7718:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10579,"name":"_utohex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11208,"src":"7710:7:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7710:17:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20666f756e642061742063616c6c2023","id":10584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7745:18:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5","typeString":"literal_string \" found at call #\""},"value":" found at call #"},{"arguments":[{"baseExpression":{"id":10586,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"7787:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10588,"indexExpression":{"hexValue":"33","id":10587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7793:1:53","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7787:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10585,"name":"_utoa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11131,"src":"7781:5:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7781:15:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20696e207363726970742023","id":10590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7814:14:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b","typeString":"literal_string \" in script #\""},"value":" in script #"},{"arguments":[{"baseExpression":{"id":10592,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"7852:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10594,"indexExpression":{"hexValue":"32","id":10593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7858:1:53","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7852:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10591,"name":"_utoa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11131,"src":"7846:5:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7846:15:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2066726f6d20","id":10596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7879:8:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b","typeString":"literal_string \" from \""},"value":" from "},{"arguments":[{"baseExpression":{"id":10598,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"7915:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10600,"indexExpression":{"hexValue":"31","id":10599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7921:1:53","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7915:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10597,"name":"stageName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10964,"src":"7905:9:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7905:19:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"207374616765","id":10602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7942:8:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240","typeString":"literal_string \" stage\""},"value":" stage"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9f69785389796d4b79459ae31c417869f46a1322b1e3456a4a22df0663d28a58","typeString":"literal_string \"Overflow at operator code 0x\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5","typeString":"literal_string \" found at call #\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b","typeString":"literal_string \" in script #\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b","typeString":"literal_string \" from \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240","typeString":"literal_string \" stage\""}],"expression":{"id":10576,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7628:3:53","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"7628:16:53","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7628:336:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"7613:351:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":10605,"nodeType":"ExpressionStatement","src":"7613:351:53"}]}},"id":10698,"nodeType":"IfStatement","src":"7081:1980:53","trueBody":{"id":10564,"nodeType":"Block","src":"7148:379:53","statements":[{"expression":{"id":10562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10533,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10276,"src":"7164:12:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"556e646572666c6f77206174206f70657261746f7220636f6465203078","id":10536,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7213:31:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_20219570d77827fb39a2615f42463838b5337135103169e6edf382cc9747ecb0","typeString":"literal_string \"Underflow at operator code 0x\""},"value":"Underflow at operator code 0x"},{"arguments":[{"baseExpression":{"id":10538,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"7270:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10540,"indexExpression":{"hexValue":"34","id":10539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7276:1:53","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7270:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10537,"name":"_utohex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11208,"src":"7262:7:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7262:17:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20666f756e642061742063616c6c2023","id":10542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7297:18:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5","typeString":"literal_string \" found at call #\""},"value":" found at call #"},{"arguments":[{"baseExpression":{"id":10544,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"7339:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10546,"indexExpression":{"hexValue":"33","id":10545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7345:1:53","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7339:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10543,"name":"_utoa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11131,"src":"7333:5:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7333:15:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20696e207363726970742023","id":10548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7366:14:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b","typeString":"literal_string \" in script #\""},"value":" in script #"},{"arguments":[{"baseExpression":{"id":10550,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"7404:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10552,"indexExpression":{"hexValue":"32","id":10551,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7410:1:53","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7404:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10549,"name":"_utoa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11131,"src":"7398:5:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7398:15:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2066726f6d20","id":10554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7431:8:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b","typeString":"literal_string \" from \""},"value":" from "},{"arguments":[{"baseExpression":{"id":10556,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"7467:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10558,"indexExpression":{"hexValue":"31","id":10557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7473:1:53","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7467:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10555,"name":"stageName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10964,"src":"7457:9:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7457:19:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"207374616765","id":10560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7494:8:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240","typeString":"literal_string \" stage\""},"value":" stage"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_20219570d77827fb39a2615f42463838b5337135103169e6edf382cc9747ecb0","typeString":"literal_string \"Underflow at operator code 0x\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5","typeString":"literal_string \" found at call #\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b","typeString":"literal_string \" in script #\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b","typeString":"literal_string \" from \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240","typeString":"literal_string \" stage\""}],"expression":{"id":10534,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7179:3:53","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10535,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"7179:16:53","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7179:337:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"7164:352:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":10563,"nodeType":"ExpressionStatement","src":"7164:352:53"}]}},"id":10699,"nodeType":"IfStatement","src":"6806:2255:53","trueBody":{"id":10522,"nodeType":"Block","src":"6880:195:53","statements":[{"expression":{"id":10520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10509,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10276,"src":"6894:12:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"536f757263652023","id":10512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6943:10:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_f165ec18714352e5091dd2c6c219155ecf112e2eb5b52f8ed5193724bc1b520e","typeString":"literal_string \"Source #\""},"value":"Source #"},{"arguments":[{"baseExpression":{"id":10514,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"6977:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10516,"indexExpression":{"hexValue":"31","id":10515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6983:1:53","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6977:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10513,"name":"_utoa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11131,"src":"6971:5:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6971:15:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20636f756c64206e6f74206265207265747269657665642062656361757365206f6620612074696d656f7574","id":10518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7004:46:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ec62780e6e71ad9c36f6f1c8b5d02daa88788dbb872d9876464dbb3ea85fc66","typeString":"literal_string \" could not be retrieved because of a timeout\""},"value":" could not be retrieved because of a timeout"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f165ec18714352e5091dd2c6c219155ecf112e2eb5b52f8ed5193724bc1b520e","typeString":"literal_string \"Source #\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_4ec62780e6e71ad9c36f6f1c8b5d02daa88788dbb872d9876464dbb3ea85fc66","typeString":"literal_string \" could not be retrieved because of a timeout\""}],"expression":{"id":10510,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6909:3:53","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10511,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"6909:16:53","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6909:155:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"6894:170:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":10521,"nodeType":"ExpressionStatement","src":"6894:170:53"}]}},"id":10700,"nodeType":"IfStatement","src":"6412:2649:53","trueBody":{"id":10498,"nodeType":"Block","src":"6474:326:53","statements":[{"expression":{"id":10496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10462,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10276,"src":"6488:12:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"536f757263652023","id":10465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6537:10:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_f165ec18714352e5091dd2c6c219155ecf112e2eb5b52f8ed5193724bc1b520e","typeString":"literal_string \"Source #\""},"value":"Source #"},{"arguments":[{"baseExpression":{"id":10467,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"6571:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10469,"indexExpression":{"hexValue":"31","id":10468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6577:1:53","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6571:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10466,"name":"_utoa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11131,"src":"6565:5:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6565:15:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20636f756c64206e6f74206265207265747269657665642e204661696c656420776974682048545450206572726f7220636f64653a20","id":10471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6598:56:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_06fad0051889b339312d16eb4a22ce922cb939c7a74f3a087fb28315293ae2e1","typeString":"literal_string \" could not be retrieved. Failed with HTTP error code: \""},"value":" could not be retrieved. Failed with HTTP error code: "},{"arguments":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":10477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":10473,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"6678:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10475,"indexExpression":{"hexValue":"32","id":10474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6684:1:53","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6678:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":10476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6689:3:53","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"6678:14:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10472,"name":"_utoa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11131,"src":"6672:5:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6672:21:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":10486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":10484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":10480,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"6717:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10482,"indexExpression":{"hexValue":"32","id":10481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6723:1:53","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6717:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"313030","id":10483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6728:3:53","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"6717:14:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"3130","id":10485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6734:2:53","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"6717:19:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10479,"name":"_utoa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11131,"src":"6711:5:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6711:26:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":10493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":10489,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"6761:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10491,"indexExpression":{"hexValue":"32","id":10490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6767:1:53","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6761:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"3130","id":10492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6772:2:53","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"6761:13:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10488,"name":"_utoa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11131,"src":"6755:5:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6755:20:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f165ec18714352e5091dd2c6c219155ecf112e2eb5b52f8ed5193724bc1b520e","typeString":"literal_string \"Source #\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_06fad0051889b339312d16eb4a22ce922cb939c7a74f3a087fb28315293ae2e1","typeString":"literal_string \" could not be retrieved. Failed with HTTP error code: \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10463,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6503:3:53","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10464,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"6503:16:53","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6503:286:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"6488:301:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":10497,"nodeType":"ExpressionStatement","src":"6488:301:53"}]}},"id":10701,"nodeType":"IfStatement","src":"5948:3113:53","trueBody":{"id":10451,"nodeType":"Block","src":"6025:381:53","statements":[{"expression":{"id":10449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10420,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10276,"src":"6039:12:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"4f70657261746f7220636f6465203078","id":10423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6088:18:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_3901bb2e94f0903cb8c3d04caa6989483e39249a328a7790ca4b4dfad12665a7","typeString":"literal_string \"Operator code 0x\""},"value":"Operator code 0x"},{"arguments":[{"baseExpression":{"id":10425,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"6132:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10427,"indexExpression":{"hexValue":"34","id":10426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6138:1:53","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6132:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10424,"name":"_utohex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11208,"src":"6124:7:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6124:17:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20666f756e642061742063616c6c2023","id":10429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6159:18:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5","typeString":"literal_string \" found at call #\""},"value":" found at call #"},{"arguments":[{"baseExpression":{"id":10431,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"6201:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10433,"indexExpression":{"hexValue":"33","id":10432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6207:1:53","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6201:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10430,"name":"_utoa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11131,"src":"6195:5:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6195:15:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20696e207363726970742023","id":10435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6228:14:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b","typeString":"literal_string \" in script #\""},"value":" in script #"},{"arguments":[{"baseExpression":{"id":10437,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"6266:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10439,"indexExpression":{"hexValue":"32","id":10438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6272:1:53","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6266:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10436,"name":"_utoa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11131,"src":"6260:5:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6260:15:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2066726f6d20","id":10441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6293:8:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b","typeString":"literal_string \" from \""},"value":" from "},{"arguments":[{"baseExpression":{"id":10443,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"6329:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10445,"indexExpression":{"hexValue":"31","id":10444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6335:1:53","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6329:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10442,"name":"stageName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10964,"src":"6319:9:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6319:19:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"207374616765206973206e6f7420737570706f72746564","id":10447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6356:25:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_0fdce60631188ec72ee63fc1361d0a4c4be32af3243f9d750ff56d3026640c5d","typeString":"literal_string \" stage is not supported\""},"value":" stage is not supported"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3901bb2e94f0903cb8c3d04caa6989483e39249a328a7790ca4b4dfad12665a7","typeString":"literal_string \"Operator code 0x\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5","typeString":"literal_string \" found at call #\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b","typeString":"literal_string \" in script #\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b","typeString":"literal_string \" from \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_0fdce60631188ec72ee63fc1361d0a4c4be32af3243f9d750ff56d3026640c5d","typeString":"literal_string \" stage is not supported\""}],"expression":{"id":10421,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6054:3:53","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"6054:16:53","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6054:341:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"6039:356:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":10450,"nodeType":"ExpressionStatement","src":"6039:356:53"}]}},"id":10702,"nodeType":"IfStatement","src":"5561:3500:53","trueBody":{"id":10409,"nodeType":"Block","src":"5637:305:53","statements":[{"expression":{"id":10407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10384,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10276,"src":"5651:12:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"5363726970742023","id":10387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5700:10:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_e7c4a6c38904320dd9a75bb779cf633704c4654e0ab698509b157354859e4100","typeString":"literal_string \"Script #\""},"value":"Script #"},{"arguments":[{"baseExpression":{"id":10389,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"5734:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10391,"indexExpression":{"hexValue":"32","id":10390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5740:1:53","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5734:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10388,"name":"_utoa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11131,"src":"5728:5:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5728:15:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2066726f6d2074686520","id":10393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5761:12:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfa2b01b7f859ef10d698a8c97747b54ae5c2a99791045421f797714f2c56277","typeString":"literal_string \" from the \""},"value":" from the "},{"arguments":[{"baseExpression":{"id":10395,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"5801:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10397,"indexExpression":{"hexValue":"31","id":10396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5807:1:53","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5801:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10394,"name":"stageName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10964,"src":"5791:9:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5791:19:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20737461676520636f6e7461696e656420746f6f206d616e792063616c6c732028","id":10399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5828:35:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_88bb78c033779307de44be2567efd46e965cf6e46a3adeb9f4ff105453daf69a","typeString":"literal_string \" stage contained too many calls (\""},"value":" stage contained too many calls ("},{"arguments":[{"baseExpression":{"id":10401,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"5887:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10403,"indexExpression":{"hexValue":"33","id":10402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5893:1:53","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5887:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10400,"name":"_utoa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11131,"src":"5881:5:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5881:15:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"29","id":10405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5914:3:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed","typeString":"literal_string \")\""},"value":")"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e7c4a6c38904320dd9a75bb779cf633704c4654e0ab698509b157354859e4100","typeString":"literal_string \"Script #\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_cfa2b01b7f859ef10d698a8c97747b54ae5c2a99791045421f797714f2c56277","typeString":"literal_string \" from the \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_88bb78c033779307de44be2567efd46e965cf6e46a3adeb9f4ff105453daf69a","typeString":"literal_string \" stage contained too many calls (\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed","typeString":"literal_string \")\""}],"expression":{"id":10385,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5666:3:53","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10386,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"5666:16:53","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5666:265:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"5651:280:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":10408,"nodeType":"ExpressionStatement","src":"5651:280:53"}]}},"id":10703,"nodeType":"IfStatement","src":"5290:3771:53","trueBody":{"id":10373,"nodeType":"Block","src":"5369:186:53","statements":[{"expression":{"id":10371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10360,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10276,"src":"5383:12:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"546865207265717565737420636f6e7461696e656420746f6f206d616e7920736f75726365732028","id":10363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5432:42:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_dbad668f9a07384d40f3edacb1152b2613ed53a278c32ba014d9d3a6d99980f2","typeString":"literal_string \"The request contained too many sources (\""},"value":"The request contained too many sources ("},{"arguments":[{"baseExpression":{"id":10365,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"5499:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10367,"indexExpression":{"hexValue":"31","id":10366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5505:1:53","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5499:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10364,"name":"_utoa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11131,"src":"5493:5:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5493:15:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"29","id":10369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5527:3:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed","typeString":"literal_string \")\""},"value":")"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dbad668f9a07384d40f3edacb1152b2613ed53a278c32ba014d9d3a6d99980f2","typeString":"literal_string \"The request contained too many sources (\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed","typeString":"literal_string \")\""}],"expression":{"id":10361,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5398:3:53","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10362,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"5398:16:53","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5398:146:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"5383:161:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":10372,"nodeType":"ExpressionStatement","src":"5383:161:53"}]}},"id":10704,"nodeType":"IfStatement","src":"5008:4053:53","trueBody":{"id":10349,"nodeType":"Block","src":"5086:198:53","statements":[{"expression":{"id":10347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10336,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10276,"src":"5100:12:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"5468652043424f522076616c756520696e207363726970742023","id":10339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5149:28:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_974710c668dd6e16ebf5515f4f47405fcb81d0b23362b2ad9c0cf9345899315d","typeString":"literal_string \"The CBOR value in script #\""},"value":"The CBOR value in script #"},{"arguments":[{"baseExpression":{"id":10341,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"5201:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10343,"indexExpression":{"hexValue":"31","id":10342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5207:1:53","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5201:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10340,"name":"_utoa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11131,"src":"5195:5:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5195:15:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20776173206e6f7420612076616c696420446174612052657175657374","id":10345,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5228:31:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_c8cb671b33240e09b97d3439dbe9ccd2970edc93a4c23a9327e4a03d0ff44594","typeString":"literal_string \" was not a valid Data Request\""},"value":" was not a valid Data Request"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_974710c668dd6e16ebf5515f4f47405fcb81d0b23362b2ad9c0cf9345899315d","typeString":"literal_string \"The CBOR value in script #\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_c8cb671b33240e09b97d3439dbe9ccd2970edc93a4c23a9327e4a03d0ff44594","typeString":"literal_string \" was not a valid Data Request\""}],"expression":{"id":10337,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5115:3:53","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"5115:16:53","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5115:158:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"5100:173:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":10348,"nodeType":"ExpressionStatement","src":"5100:173:53"}]}},"id":10705,"nodeType":"IfStatement","src":"4729:4332:53","trueBody":{"id":10325,"nodeType":"Block","src":"4807:195:53","statements":[{"expression":{"id":10323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10312,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10276,"src":"4821:12:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"5468652043424f522076616c756520696e207363726970742023","id":10315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4870:28:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_974710c668dd6e16ebf5515f4f47405fcb81d0b23362b2ad9c0cf9345899315d","typeString":"literal_string \"The CBOR value in script #\""},"value":"The CBOR value in script #"},{"arguments":[{"baseExpression":{"id":10317,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"4922:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10319,"indexExpression":{"hexValue":"31","id":10318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4928:1:53","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4922:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10316,"name":"_utoa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11131,"src":"4916:5:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4916:15:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20776173206e6f7420616e204172726179206f662063616c6c73","id":10321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4949:28:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_9ff666b38f4f949d93ee79bab5b7529f286ad35ae4e512164a783a0808de8dc2","typeString":"literal_string \" was not an Array of calls\""},"value":" was not an Array of calls"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_974710c668dd6e16ebf5515f4f47405fcb81d0b23362b2ad9c0cf9345899315d","typeString":"literal_string \"The CBOR value in script #\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_9ff666b38f4f949d93ee79bab5b7529f286ad35ae4e512164a783a0808de8dc2","typeString":"literal_string \" was not an Array of calls\""}],"expression":{"id":10313,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4836:3:53","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"4836:16:53","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4836:155:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"4821:170:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":10324,"nodeType":"ExpressionStatement","src":"4821:170:53"}]}},"id":10706,"nodeType":"IfStatement","src":"4461:4600:53","trueBody":{"id":10301,"nodeType":"Block","src":"4538:185:53","statements":[{"expression":{"id":10299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10288,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10276,"src":"4552:12:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"536f75726365207363726970742023","id":10291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4601:17:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_5bfa9355c289a68288e465573f0cee9515462e9a79ed698ecc1d95d0eccfb916","typeString":"literal_string \"Source script #\""},"value":"Source script #"},{"arguments":[{"baseExpression":{"id":10293,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"4642:5:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"id":10295,"indexExpression":{"hexValue":"31","id":10294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4648:1:53","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4642:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":10292,"name":"_utoa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11131,"src":"4636:5:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$returns$_t_string_memory_ptr_$","typeString":"function (uint64) pure returns (string memory)"}},"id":10296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4636:15:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20776173206e6f7420612076616c69642043424f522076616c7565","id":10297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4669:29:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_38aad4b191165ea835c2dd674387b75fe0bd732e02a4f0a28df91297da890cb1","typeString":"literal_string \" was not a valid CBOR value\""},"value":" was not a valid CBOR value"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5bfa9355c289a68288e465573f0cee9515462e9a79ed698ecc1d95d0eccfb916","typeString":"literal_string \"Source script #\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_38aad4b191165ea835c2dd674387b75fe0bd732e02a4f0a28df91297da890cb1","typeString":"literal_string \" was not a valid CBOR value\""}],"expression":{"id":10289,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4567:3:53","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10290,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"4567:16:53","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4567:145:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"4552:160:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":10300,"nodeType":"ExpressionStatement","src":"4552:160:53"}]}},{"expression":{"components":[{"id":10707,"name":"errorCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10268,"src":"9078:9:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},{"arguments":[{"id":10710,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10276,"src":"9096:12:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10709,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9089:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":10708,"name":"string","nodeType":"ElementaryTypeName","src":"9089:6:53","typeDescriptions":{}}},"id":10711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9089:20:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"id":10712,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9077:33:53","typeDescriptions":{"typeIdentifier":"t_tuple$_t_enum$_ErrorCodes_$8299_$_t_string_memory_ptr_$","typeString":"tuple(enum Witnet.ErrorCodes,string memory)"}},"functionReturnParameters":10242,"id":10713,"nodeType":"Return","src":"9070:40:53"}]},"documentation":{"id":10232,"nodeType":"StructuredDocumentation","src":"3589:441:53","text":"@notice Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\n @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\n @param _result An instance of `Witnet.Result`.\n @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message."},"functionSelector":"8cc5eb54","id":10715,"implemented":true,"kind":"function","modifiers":[],"name":"asErrorMessage","nameLocation":"4044:14:53","nodeType":"FunctionDefinition","parameters":{"id":10236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10235,"mutability":"mutable","name":"_result","nameLocation":"4080:7:53","nodeType":"VariableDeclaration","scope":10715,"src":"4059:28:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":10234,"nodeType":"UserDefinedTypeName","pathNode":{"id":10233,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"4059:13:53"},"referencedDeclaration":8023,"src":"4059:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"4058:30:53"},"returnParameters":{"id":10242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10239,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10715,"src":"4122:17:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"},"typeName":{"id":10238,"nodeType":"UserDefinedTypeName","pathNode":{"id":10237,"name":"Witnet.ErrorCodes","nodeType":"IdentifierPath","referencedDeclaration":8299,"src":"4122:17:53"},"referencedDeclaration":8299,"src":"4122:17:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"visibility":"internal"},{"constant":false,"id":10241,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10715,"src":"4141:13:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10240,"name":"string","nodeType":"ElementaryTypeName","src":"4141:6:53","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4121:34:53"},"scope":11209,"src":"4035:5082:53","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":10737,"nodeType":"Block","src":"9438:201:53","statements":[{"expression":{"arguments":[{"id":10728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9469:16:53","subExpression":{"expression":{"id":10726,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10719,"src":"9470:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10727,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":8019,"src":"9470:15:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65745061727365724c69623a20547269656420746f2072656164206572726f7220636f64652066726f6d207375636365737366756c205769746e65742e526573756c74","id":10729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9499:73:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_992d311c2b79570206080f0d7329953f913948b02046ef1f45a3c3e0d8b8ee9d","typeString":"literal_string \"WitnetParserLib: Tried to read error code from successful Witnet.Result\""},"value":"WitnetParserLib: Tried to read error code from successful Witnet.Result"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_992d311c2b79570206080f0d7329953f913948b02046ef1f45a3c3e0d8b8ee9d","typeString":"literal_string \"WitnetParserLib: Tried to read error code from successful Witnet.Result\""}],"id":10725,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9448:7:53","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9448:134:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10731,"nodeType":"ExpressionStatement","src":"9448:134:53"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":10732,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10719,"src":"9599:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10733,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":8022,"src":"9599:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":10734,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"decodeUint64Array","nodeType":"MemberAccess","referencedDeclaration":9684,"src":"9599:31:53","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_CBOR_$8037_memory_ptr_$returns$_t_array$_t_uint64_$dyn_memory_ptr_$bound_to$_t_struct$_CBOR_$8037_memory_ptr_$","typeString":"function (struct Witnet.CBOR memory) pure returns (uint64[] memory)"}},"id":10735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9599:33:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"functionReturnParameters":10724,"id":10736,"nodeType":"Return","src":"9592:40:53"}]},"documentation":{"id":10716,"nodeType":"StructuredDocumentation","src":"9123:203:53","text":"@notice Decode a raw error from a `Witnet.Result` as a `uint64[]`.\n @param _result An instance of `Witnet.Result`.\n @return The `uint64[]` raw error as decoded from the `Witnet.Result`."},"functionSelector":"0879730d","id":10738,"implemented":true,"kind":"function","modifiers":[],"name":"asRawError","nameLocation":"9340:10:53","nodeType":"FunctionDefinition","parameters":{"id":10720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10719,"mutability":"mutable","name":"_result","nameLocation":"9372:7:53","nodeType":"VariableDeclaration","scope":10738,"src":"9351:28:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":10718,"nodeType":"UserDefinedTypeName","pathNode":{"id":10717,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"9351:13:53"},"referencedDeclaration":8023,"src":"9351:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"9350:30:53"},"returnParameters":{"id":10724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10723,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10738,"src":"9417:15:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[]"},"typeName":{"baseType":{"id":10721,"name":"uint64","nodeType":"ElementaryTypeName","src":"9417:6:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":10722,"nodeType":"ArrayTypeName","src":"9417:8:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_storage_ptr","typeString":"uint64[]"}},"visibility":"internal"}],"src":"9416:17:53"},"scope":11209,"src":"9331:308:53","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":10758,"nodeType":"Block","src":"9932:158:53","statements":[{"expression":{"arguments":[{"expression":{"id":10748,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10742,"src":"9950:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10749,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":8019,"src":"9950:15:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65745061727365724c69623a20547269656420746f20726561642060626f6f6c602076616c75652066726f6d206572726f726564205769746e65742e526573756c74","id":10750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9967:72:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_b00a459d7874d8bc3d50440f99e23d9ac253a6ad184d53dfe2c9de75b7b30207","typeString":"literal_string \"WitnetParserLib: Tried to read `bool` value from errored Witnet.Result\""},"value":"WitnetParserLib: Tried to read `bool` value from errored Witnet.Result"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b00a459d7874d8bc3d50440f99e23d9ac253a6ad184d53dfe2c9de75b7b30207","typeString":"literal_string \"WitnetParserLib: Tried to read `bool` value from errored Witnet.Result\""}],"id":10747,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9942:7:53","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9942:98:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10752,"nodeType":"ExpressionStatement","src":"9942:98:53"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":10753,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10742,"src":"10057:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10754,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":8022,"src":"10057:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":10755,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"decodeBool","nodeType":"MemberAccess","referencedDeclaration":9015,"src":"10057:24:53","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_CBOR_$8037_memory_ptr_$returns$_t_bool_$bound_to$_t_struct$_CBOR_$8037_memory_ptr_$","typeString":"function (struct Witnet.CBOR memory) pure returns (bool)"}},"id":10756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10057:26:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":10746,"id":10757,"nodeType":"Return","src":"10050:33:53"}]},"documentation":{"id":10739,"nodeType":"StructuredDocumentation","src":"9645:187:53","text":"@notice Decode a boolean value from a Witnet.Result as an `bool` value.\n @param _result An instance of Witnet.Result.\n @return The `bool` decoded from the Witnet.Result."},"functionSelector":"abf82f4c","id":10759,"implemented":true,"kind":"function","modifiers":[],"name":"asBool","nameLocation":"9846:6:53","nodeType":"FunctionDefinition","parameters":{"id":10743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10742,"mutability":"mutable","name":"_result","nameLocation":"9874:7:53","nodeType":"VariableDeclaration","scope":10759,"src":"9853:28:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":10741,"nodeType":"UserDefinedTypeName","pathNode":{"id":10740,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"9853:13:53"},"referencedDeclaration":8023,"src":"9853:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"9852:30:53"},"returnParameters":{"id":10746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10745,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10759,"src":"9922:4:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10744,"name":"bool","nodeType":"ElementaryTypeName","src":"9922:4:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9921:6:53"},"scope":11209,"src":"9837:253:53","stateMutability":"pure","virtual":false,"visibility":"external"},{"body":{"id":10779,"nodeType":"Block","src":"10780:164:53","statements":[{"expression":{"arguments":[{"expression":{"id":10769,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10763,"src":"10798:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10770,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":8019,"src":"10798:15:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65745061727365724c69623a20547269656420746f2072656164206066697865643136602076616c75652066726f6d206572726f726564205769746e65742e526573756c74","id":10771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10815:75:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_d38a6c7b702dbeba4dc6ea7575dfd8e441cc0edf53099fa173ced98029f4fc5a","typeString":"literal_string \"WitnetParserLib: Tried to read `fixed16` value from errored Witnet.Result\""},"value":"WitnetParserLib: Tried to read `fixed16` value from errored Witnet.Result"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d38a6c7b702dbeba4dc6ea7575dfd8e441cc0edf53099fa173ced98029f4fc5a","typeString":"literal_string \"WitnetParserLib: Tried to read `fixed16` value from errored Witnet.Result\""}],"id":10768,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10790:7:53","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10790:101:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10773,"nodeType":"ExpressionStatement","src":"10790:101:53"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":10774,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10763,"src":"10908:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10775,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":8022,"src":"10908:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":10776,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"decodeFixed16","nodeType":"MemberAccess","referencedDeclaration":9202,"src":"10908:27:53","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_CBOR_$8037_memory_ptr_$returns$_t_int32_$bound_to$_t_struct$_CBOR_$8037_memory_ptr_$","typeString":"function (struct Witnet.CBOR memory) pure returns (int32)"}},"id":10777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10908:29:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"functionReturnParameters":10767,"id":10778,"nodeType":"Return","src":"10901:36:53"}]},"documentation":{"id":10760,"nodeType":"StructuredDocumentation","src":"10096:580:53","text":"@notice Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\n @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\n by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\n use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\n @param _result An instance of Witnet.Result.\n @return The `int128` decoded from the Witnet.Result."},"functionSelector":"d8868db6","id":10780,"implemented":true,"kind":"function","modifiers":[],"name":"asFixed16","nameLocation":"10690:9:53","nodeType":"FunctionDefinition","parameters":{"id":10764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10763,"mutability":"mutable","name":"_result","nameLocation":"10721:7:53","nodeType":"VariableDeclaration","scope":10780,"src":"10700:28:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":10762,"nodeType":"UserDefinedTypeName","pathNode":{"id":10761,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"10700:13:53"},"referencedDeclaration":8023,"src":"10700:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"10699:30:53"},"returnParameters":{"id":10767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10766,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10780,"src":"10769:5:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":10765,"name":"int32","nodeType":"ElementaryTypeName","src":"10769:5:53","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"src":"10768:7:53"},"scope":11209,"src":"10681:263:53","stateMutability":"pure","virtual":false,"visibility":"external"},{"body":{"id":10801,"nodeType":"Block","src":"11274:171:53","statements":[{"expression":{"arguments":[{"expression":{"id":10791,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10784,"src":"11292:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10792,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":8019,"src":"11292:15:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65745061727365724c69623a20547269656420746f20726561642060666978656431365b5d602076616c75652066726f6d206572726f726564205769746e65742e526573756c74","id":10793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11309:77:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_35d560c02aa8345814ff1f3323ab22fdca5038d982e35a8bd24bf31def042340","typeString":"literal_string \"WitnetParserLib: Tried to read `fixed16[]` value from errored Witnet.Result\""},"value":"WitnetParserLib: Tried to read `fixed16[]` value from errored Witnet.Result"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_35d560c02aa8345814ff1f3323ab22fdca5038d982e35a8bd24bf31def042340","typeString":"literal_string \"WitnetParserLib: Tried to read `fixed16[]` value from errored Witnet.Result\""}],"id":10790,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11284:7:53","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11284:103:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10795,"nodeType":"ExpressionStatement","src":"11284:103:53"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":10796,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10784,"src":"11404:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10797,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":8022,"src":"11404:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":10798,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"decodeFixed16Array","nodeType":"MemberAccess","referencedDeclaration":9280,"src":"11404:32:53","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_CBOR_$8037_memory_ptr_$returns$_t_array$_t_int32_$dyn_memory_ptr_$bound_to$_t_struct$_CBOR_$8037_memory_ptr_$","typeString":"function (struct Witnet.CBOR memory) pure returns (int32[] memory)"}},"id":10799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11404:34:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_memory_ptr","typeString":"int32[] memory"}},"functionReturnParameters":10789,"id":10800,"nodeType":"Return","src":"11397:41:53"}]},"documentation":{"id":10781,"nodeType":"StructuredDocumentation","src":"10950:206:53","text":"@notice Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\n @param _result An instance of Witnet.Result.\n @return The `int128[]` decoded from the Witnet.Result."},"functionSelector":"08efc097","id":10802,"implemented":true,"kind":"function","modifiers":[],"name":"asFixed16Array","nameLocation":"11170:14:53","nodeType":"FunctionDefinition","parameters":{"id":10785,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10784,"mutability":"mutable","name":"_result","nameLocation":"11206:7:53","nodeType":"VariableDeclaration","scope":10802,"src":"11185:28:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":10783,"nodeType":"UserDefinedTypeName","pathNode":{"id":10782,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"11185:13:53"},"referencedDeclaration":8023,"src":"11185:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"11184:30:53"},"returnParameters":{"id":10789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10788,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10802,"src":"11254:14:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_memory_ptr","typeString":"int32[]"},"typeName":{"baseType":{"id":10786,"name":"int32","nodeType":"ElementaryTypeName","src":"11254:5:53","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":10787,"nodeType":"ArrayTypeName","src":"11254:7:53","typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_storage_ptr","typeString":"int32[]"}},"visibility":"internal"}],"src":"11253:16:53"},"scope":11209,"src":"11161:284:53","stateMutability":"pure","virtual":false,"visibility":"external"},{"body":{"id":10822,"nodeType":"Block","src":"11750:162:53","statements":[{"expression":{"arguments":[{"expression":{"id":10812,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10806,"src":"11768:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10813,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":8019,"src":"11768:15:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65745061727365724c69623a20547269656420746f20726561642060696e74313238602076616c75652066726f6d206572726f726564205769746e65742e526573756c74","id":10814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11785:74:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ff103044b32139865c8582aa6a4cb8cfea297b0e275f15a2b83d02eb8c83ff5","typeString":"literal_string \"WitnetParserLib: Tried to read `int128` value from errored Witnet.Result\""},"value":"WitnetParserLib: Tried to read `int128` value from errored Witnet.Result"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4ff103044b32139865c8582aa6a4cb8cfea297b0e275f15a2b83d02eb8c83ff5","typeString":"literal_string \"WitnetParserLib: Tried to read `int128` value from errored Witnet.Result\""}],"id":10811,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11760:7:53","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11760:100:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10816,"nodeType":"ExpressionStatement","src":"11760:100:53"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":10817,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10806,"src":"11877:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10818,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":8022,"src":"11877:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":10819,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"decodeInt128","nodeType":"MemberAccess","referencedDeclaration":9339,"src":"11877:26:53","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_CBOR_$8037_memory_ptr_$returns$_t_int128_$bound_to$_t_struct$_CBOR_$8037_memory_ptr_$","typeString":"function (struct Witnet.CBOR memory) pure returns (int128)"}},"id":10820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11877:28:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"functionReturnParameters":10810,"id":10821,"nodeType":"Return","src":"11870:35:53"}]},"documentation":{"id":10803,"nodeType":"StructuredDocumentation","src":"11451:199:53","text":"@notice Decode a integer numeric value from a Witnet.Result as an `int128` value.\n @param _result An instance of Witnet.Result.\n @return The `int128` decoded from the Witnet.Result."},"functionSelector":"c71db521","id":10823,"implemented":true,"kind":"function","modifiers":[],"name":"asInt128","nameLocation":"11664:8:53","nodeType":"FunctionDefinition","parameters":{"id":10807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10806,"mutability":"mutable","name":"_result","nameLocation":"11694:7:53","nodeType":"VariableDeclaration","scope":10823,"src":"11673:28:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":10805,"nodeType":"UserDefinedTypeName","pathNode":{"id":10804,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"11673:13:53"},"referencedDeclaration":8023,"src":"11673:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"11672:30:53"},"returnParameters":{"id":10810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10809,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10823,"src":"11738:6:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":10808,"name":"int128","nodeType":"ElementaryTypeName","src":"11738:6:53","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"11737:8:53"},"scope":11209,"src":"11655:257:53","stateMutability":"pure","virtual":false,"visibility":"external"},{"body":{"id":10844,"nodeType":"Block","src":"12250:169:53","statements":[{"expression":{"arguments":[{"expression":{"id":10834,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10827,"src":"12268:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":8019,"src":"12268:15:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65745061727365724c69623a20547269656420746f20726561642060696e743132385b5d602076616c75652066726f6d206572726f726564205769746e65742e526573756c74","id":10836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12285:76:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_1d02783bfdf9fcb10987fa30c69580dc05995a395206f98f8571e50bdc55f1de","typeString":"literal_string \"WitnetParserLib: Tried to read `int128[]` value from errored Witnet.Result\""},"value":"WitnetParserLib: Tried to read `int128[]` value from errored Witnet.Result"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1d02783bfdf9fcb10987fa30c69580dc05995a395206f98f8571e50bdc55f1de","typeString":"literal_string \"WitnetParserLib: Tried to read `int128[]` value from errored Witnet.Result\""}],"id":10833,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12260:7:53","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12260:102:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10838,"nodeType":"ExpressionStatement","src":"12260:102:53"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":10839,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10827,"src":"12379:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10840,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":8022,"src":"12379:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":10841,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"decodeInt128Array","nodeType":"MemberAccess","referencedDeclaration":9417,"src":"12379:31:53","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_CBOR_$8037_memory_ptr_$returns$_t_array$_t_int128_$dyn_memory_ptr_$bound_to$_t_struct$_CBOR_$8037_memory_ptr_$","typeString":"function (struct Witnet.CBOR memory) pure returns (int128[] memory)"}},"id":10842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12379:33:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int128_$dyn_memory_ptr","typeString":"int128[] memory"}},"functionReturnParameters":10832,"id":10843,"nodeType":"Return","src":"12372:40:53"}]},"documentation":{"id":10824,"nodeType":"StructuredDocumentation","src":"11918:214:53","text":"@notice Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\n @param _result An instance of Witnet.Result.\n @return The `int128[]` decoded from the Witnet.Result."},"functionSelector":"fc853c37","id":10845,"implemented":true,"kind":"function","modifiers":[],"name":"asInt128Array","nameLocation":"12146:13:53","nodeType":"FunctionDefinition","parameters":{"id":10828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10827,"mutability":"mutable","name":"_result","nameLocation":"12181:7:53","nodeType":"VariableDeclaration","scope":10845,"src":"12160:28:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":10826,"nodeType":"UserDefinedTypeName","pathNode":{"id":10825,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"12160:13:53"},"referencedDeclaration":8023,"src":"12160:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"12159:30:53"},"returnParameters":{"id":10832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10845,"src":"12229:15:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int128_$dyn_memory_ptr","typeString":"int128[]"},"typeName":{"baseType":{"id":10829,"name":"int128","nodeType":"ElementaryTypeName","src":"12229:6:53","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":10830,"nodeType":"ArrayTypeName","src":"12229:8:53","typeDescriptions":{"typeIdentifier":"t_array$_t_int128_$dyn_storage_ptr","typeString":"int128[]"}},"visibility":"internal"}],"src":"12228:17:53"},"scope":11209,"src":"12137:282:53","stateMutability":"pure","virtual":false,"visibility":"external"},{"body":{"id":10865,"nodeType":"Block","src":"12724:162:53","statements":[{"expression":{"arguments":[{"expression":{"id":10855,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10849,"src":"12742:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10856,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":8019,"src":"12742:15:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65745061727365724c69623a20547269656420746f20726561642060737472696e67602076616c75652066726f6d206572726f726564205769746e65742e526573756c74","id":10857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12759:74:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_9284e9e320638704d942d2f95e83ba0c405a6a96259c3d9b83ed3e7166e675f8","typeString":"literal_string \"WitnetParserLib: Tried to read `string` value from errored Witnet.Result\""},"value":"WitnetParserLib: Tried to read `string` value from errored Witnet.Result"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9284e9e320638704d942d2f95e83ba0c405a6a96259c3d9b83ed3e7166e675f8","typeString":"literal_string \"WitnetParserLib: Tried to read `string` value from errored Witnet.Result\""}],"id":10854,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12734:7:53","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12734:100:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10859,"nodeType":"ExpressionStatement","src":"12734:100:53"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":10860,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10849,"src":"12851:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10861,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":8022,"src":"12851:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":10862,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"decodeString","nodeType":"MemberAccess","referencedDeclaration":9503,"src":"12851:26:53","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_CBOR_$8037_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_CBOR_$8037_memory_ptr_$","typeString":"function (struct Witnet.CBOR memory) pure returns (string memory)"}},"id":10863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12851:28:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10853,"id":10864,"nodeType":"Return","src":"12844:35:53"}]},"documentation":{"id":10846,"nodeType":"StructuredDocumentation","src":"12425:189:53","text":"@notice Decode a string value from a Witnet.Result as a `string` value.\n @param _result An instance of Witnet.Result.\n @return The `string` decoded from the Witnet.Result."},"functionSelector":"f417daf5","id":10866,"implemented":true,"kind":"function","modifiers":[],"name":"asString","nameLocation":"12628:8:53","nodeType":"FunctionDefinition","parameters":{"id":10850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10849,"mutability":"mutable","name":"_result","nameLocation":"12658:7:53","nodeType":"VariableDeclaration","scope":10866,"src":"12637:28:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":10848,"nodeType":"UserDefinedTypeName","pathNode":{"id":10847,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"12637:13:53"},"referencedDeclaration":8023,"src":"12637:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"12636:30:53"},"returnParameters":{"id":10853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10852,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10866,"src":"12705:13:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10851,"name":"string","nodeType":"ElementaryTypeName","src":"12705:6:53","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12704:15:53"},"scope":11209,"src":"12619:267:53","stateMutability":"pure","virtual":false,"visibility":"external"},{"body":{"id":10887,"nodeType":"Block","src":"13214:169:53","statements":[{"expression":{"arguments":[{"expression":{"id":10877,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10870,"src":"13232:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10878,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":8019,"src":"13232:15:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65745061727365724c69623a20547269656420746f20726561642060737472696e675b5d602076616c75652066726f6d206572726f726564205769746e65742e526573756c74","id":10879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13249:76:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_7cc2288f465823067474bbeb87210c75f7bfd4766f0c6b5247cfd60b08383395","typeString":"literal_string \"WitnetParserLib: Tried to read `string[]` value from errored Witnet.Result\""},"value":"WitnetParserLib: Tried to read `string[]` value from errored Witnet.Result"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_7cc2288f465823067474bbeb87210c75f7bfd4766f0c6b5247cfd60b08383395","typeString":"literal_string \"WitnetParserLib: Tried to read `string[]` value from errored Witnet.Result\""}],"id":10876,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13224:7:53","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13224:102:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10881,"nodeType":"ExpressionStatement","src":"13224:102:53"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":10882,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10870,"src":"13343:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10883,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":8022,"src":"13343:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":10884,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"decodeStringArray","nodeType":"MemberAccess","referencedDeclaration":9581,"src":"13343:31:53","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_CBOR_$8037_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$bound_to$_t_struct$_CBOR_$8037_memory_ptr_$","typeString":"function (struct Witnet.CBOR memory) pure returns (string memory[] memory)"}},"id":10885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13343:33:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":10875,"id":10886,"nodeType":"Return","src":"13336:40:53"}]},"documentation":{"id":10867,"nodeType":"StructuredDocumentation","src":"12892:204:53","text":"@notice Decode an array of string values from a Witnet.Result as a `string[]` value.\n @param _result An instance of Witnet.Result.\n @return The `string[]` decoded from the Witnet.Result."},"functionSelector":"2d26b9e2","id":10888,"implemented":true,"kind":"function","modifiers":[],"name":"asStringArray","nameLocation":"13110:13:53","nodeType":"FunctionDefinition","parameters":{"id":10871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10870,"mutability":"mutable","name":"_result","nameLocation":"13145:7:53","nodeType":"VariableDeclaration","scope":10888,"src":"13124:28:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":10869,"nodeType":"UserDefinedTypeName","pathNode":{"id":10868,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"13124:13:53"},"referencedDeclaration":8023,"src":"13124:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"13123:30:53"},"returnParameters":{"id":10875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10874,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10888,"src":"13193:15:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":10872,"name":"string","nodeType":"ElementaryTypeName","src":"13193:6:53","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":10873,"nodeType":"ArrayTypeName","src":"13193:8:53","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"13192:17:53"},"scope":11209,"src":"13101:282:53","stateMutability":"pure","virtual":false,"visibility":"external"},{"body":{"id":10908,"nodeType":"Block","src":"13690:162:53","statements":[{"expression":{"arguments":[{"expression":{"id":10898,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10892,"src":"13708:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10899,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":8019,"src":"13708:15:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65745061727365724c69623a20547269656420746f2072656164206075696e743634602076616c75652066726f6d206572726f726564205769746e65742e526573756c74","id":10900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13725:74:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c8a9e5034d6996add1c3633267ae82cc51190f2746c4ebbc6652dbd2b8f82f1","typeString":"literal_string \"WitnetParserLib: Tried to read `uint64` value from errored Witnet.Result\""},"value":"WitnetParserLib: Tried to read `uint64` value from errored Witnet.Result"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5c8a9e5034d6996add1c3633267ae82cc51190f2746c4ebbc6652dbd2b8f82f1","typeString":"literal_string \"WitnetParserLib: Tried to read `uint64` value from errored Witnet.Result\""}],"id":10897,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13700:7:53","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13700:100:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10902,"nodeType":"ExpressionStatement","src":"13700:100:53"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":10903,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10892,"src":"13817:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10904,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":8022,"src":"13817:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":10905,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"decodeUint64","nodeType":"MemberAccess","referencedDeclaration":9606,"src":"13817:26:53","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_CBOR_$8037_memory_ptr_$returns$_t_uint64_$bound_to$_t_struct$_CBOR_$8037_memory_ptr_$","typeString":"function (struct Witnet.CBOR memory) pure returns (uint64)"}},"id":10906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13817:28:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":10896,"id":10907,"nodeType":"Return","src":"13810:35:53"}]},"documentation":{"id":10889,"nodeType":"StructuredDocumentation","src":"13389:198:53","text":"@notice Decode a natural numeric value from a Witnet.Result as a `uint64` value.\n @param _result An instance of Witnet.Result.\n @return The `uint64` decoded from the Witnet.Result."},"functionSelector":"8233f9b3","id":10909,"implemented":true,"kind":"function","modifiers":[],"name":"asUint64","nameLocation":"13601:8:53","nodeType":"FunctionDefinition","parameters":{"id":10893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10892,"mutability":"mutable","name":"_result","nameLocation":"13631:7:53","nodeType":"VariableDeclaration","scope":10909,"src":"13610:28:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":10891,"nodeType":"UserDefinedTypeName","pathNode":{"id":10890,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"13610:13:53"},"referencedDeclaration":8023,"src":"13610:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"13609:30:53"},"returnParameters":{"id":10896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10895,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10909,"src":"13678:6:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":10894,"name":"uint64","nodeType":"ElementaryTypeName","src":"13678:6:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"13677:8:53"},"scope":11209,"src":"13592:260:53","stateMutability":"pure","virtual":false,"visibility":"external"},{"body":{"id":10930,"nodeType":"Block","src":"14189:169:53","statements":[{"expression":{"arguments":[{"expression":{"id":10920,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10913,"src":"14207:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10921,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":8019,"src":"14207:15:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e65745061727365724c69623a20547269656420746f2072656164206075696e7436345b5d602076616c75652066726f6d206572726f726564205769746e65742e526573756c74","id":10922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14224:76:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_645b5c892a1df9140a78ebb02f8cc9c52a58fd09049d30c9306d829f3e4067c0","typeString":"literal_string \"WitnetParserLib: Tried to read `uint64[]` value from errored Witnet.Result\""},"value":"WitnetParserLib: Tried to read `uint64[]` value from errored Witnet.Result"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_645b5c892a1df9140a78ebb02f8cc9c52a58fd09049d30c9306d829f3e4067c0","typeString":"literal_string \"WitnetParserLib: Tried to read `uint64[]` value from errored Witnet.Result\""}],"id":10919,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14199:7:53","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14199:102:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10924,"nodeType":"ExpressionStatement","src":"14199:102:53"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":10925,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10913,"src":"14318:7:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result memory"}},"id":10926,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":8022,"src":"14318:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_CBOR_$8037_memory_ptr","typeString":"struct Witnet.CBOR memory"}},"id":10927,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"decodeUint64Array","nodeType":"MemberAccess","referencedDeclaration":9684,"src":"14318:31:53","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_struct$_CBOR_$8037_memory_ptr_$returns$_t_array$_t_uint64_$dyn_memory_ptr_$bound_to$_t_struct$_CBOR_$8037_memory_ptr_$","typeString":"function (struct Witnet.CBOR memory) pure returns (uint64[] memory)"}},"id":10928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14318:33:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[] memory"}},"functionReturnParameters":10918,"id":10929,"nodeType":"Return","src":"14311:40:53"}]},"documentation":{"id":10910,"nodeType":"StructuredDocumentation","src":"13858:213:53","text":"@notice Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\n @param _result An instance of Witnet.Result.\n @return The `uint64[]` decoded from the Witnet.Result."},"functionSelector":"147e5c8f","id":10931,"implemented":true,"kind":"function","modifiers":[],"name":"asUint64Array","nameLocation":"14085:13:53","nodeType":"FunctionDefinition","parameters":{"id":10914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10913,"mutability":"mutable","name":"_result","nameLocation":"14120:7:53","nodeType":"VariableDeclaration","scope":10931,"src":"14099:28:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_memory_ptr","typeString":"struct Witnet.Result"},"typeName":{"id":10912,"nodeType":"UserDefinedTypeName","pathNode":{"id":10911,"name":"Witnet.Result","nodeType":"IdentifierPath","referencedDeclaration":8023,"src":"14099:13:53"},"referencedDeclaration":8023,"src":"14099:13:53","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$8023_storage_ptr","typeString":"struct Witnet.Result"}},"visibility":"internal"}],"src":"14098:30:53"},"returnParameters":{"id":10918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10917,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10931,"src":"14168:15:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[]"},"typeName":{"baseType":{"id":10915,"name":"uint64","nodeType":"ElementaryTypeName","src":"14168:6:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":10916,"nodeType":"ArrayTypeName","src":"14168:8:53","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_storage_ptr","typeString":"uint64[]"}},"visibility":"internal"}],"src":"14167:17:53"},"scope":11209,"src":"14076:282:53","stateMutability":"pure","virtual":false,"visibility":"external"},{"body":{"id":10963,"nodeType":"Block","src":"14701:268:53","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":10941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10939,"name":"_stageIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10934,"src":"14715:11:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":10940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14730:1:53","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14715:16:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":10947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10945,"name":"_stageIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10934,"src":"14786:11:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":10946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14801:1:53","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"14786:16:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":10953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10951,"name":"_stageIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10934,"src":"14859:11:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":10952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14874:1:53","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"14859:16:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":10959,"nodeType":"Block","src":"14922:41:53","statements":[{"expression":{"hexValue":"756e6b6e6f776e","id":10957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14943:9:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_24695ee963d29f0f52edfdea1e830d2fcfc9052d5ba70b194bddd0afbbc89765","typeString":"literal_string \"unknown\""},"value":"unknown"},"functionReturnParameters":10938,"id":10958,"nodeType":"Return","src":"14936:16:53"}]},"id":10960,"nodeType":"IfStatement","src":"14855:108:53","trueBody":{"id":10956,"nodeType":"Block","src":"14877:39:53","statements":[{"expression":{"hexValue":"74616c6c79","id":10954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14898:7:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_c9096ffe4756b6ccced4fc07961d29e9d57f7de283a8d6224c11c5d8988e3919","typeString":"literal_string \"tally\""},"value":"tally"},"functionReturnParameters":10938,"id":10955,"nodeType":"Return","src":"14891:14:53"}]}},"id":10961,"nodeType":"IfStatement","src":"14782:181:53","trueBody":{"id":10950,"nodeType":"Block","src":"14804:45:53","statements":[{"expression":{"hexValue":"6167677265676174696f6e","id":10948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14825:13:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc92b2e8ef7e132eebc3452d03e1add5aaceb961fed4dd2a4126277a08b27590","typeString":"literal_string \"aggregation\""},"value":"aggregation"},"functionReturnParameters":10938,"id":10949,"nodeType":"Return","src":"14818:20:53"}]}},"id":10962,"nodeType":"IfStatement","src":"14711:252:53","trueBody":{"id":10944,"nodeType":"Block","src":"14733:43:53","statements":[{"expression":{"hexValue":"72657472696576616c","id":10942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14754:11:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_74e3c78e4bb699a6f9b494288786c08470d585803136b96b68f88fb614184b7c","typeString":"literal_string \"retrieval\""},"value":"retrieval"},"functionReturnParameters":10938,"id":10943,"nodeType":"Return","src":"14747:18:53"}]}}]},"documentation":{"id":10932,"nodeType":"StructuredDocumentation","src":"14364:237:53","text":"@notice Convert a stage index number into the name of the matching Witnet request stage.\n @param _stageIndex A `uint64` identifying the index of one of the Witnet request stages.\n @return The name of the matching stage."},"functionSelector":"cb5371c0","id":10964,"implemented":true,"kind":"function","modifiers":[],"name":"stageName","nameLocation":"14615:9:53","nodeType":"FunctionDefinition","parameters":{"id":10935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10934,"mutability":"mutable","name":"_stageIndex","nameLocation":"14632:11:53","nodeType":"VariableDeclaration","scope":10964,"src":"14625:18:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":10933,"name":"uint64","nodeType":"ElementaryTypeName","src":"14625:6:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"14624:20:53"},"returnParameters":{"id":10938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10937,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10964,"src":"14682:13:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10936,"name":"string","nodeType":"ElementaryTypeName","src":"14682:6:53","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14681:15:53"},"scope":11209,"src":"14606:363:53","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":10978,"nodeType":"Block","src":"15290:56:53","statements":[{"expression":{"arguments":[{"id":10975,"name":"_discriminant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10967,"src":"15325:13:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"expression":{"id":10973,"name":"Witnet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"15307:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Witnet_$8300_$","typeString":"type(library Witnet)"}},"id":10974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ErrorCodes","nodeType":"MemberAccess","referencedDeclaration":8299,"src":"15307:17:53","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ErrorCodes_$8299_$","typeString":"type(enum Witnet.ErrorCodes)"}},"id":10976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15307:32:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"functionReturnParameters":10972,"id":10977,"nodeType":"Return","src":"15300:39:53"}]},"documentation":{"id":10965,"nodeType":"StructuredDocumentation","src":"14975:189:53","text":"@notice Get an `Witnet.ErrorCodes` item from its `uint64` discriminant.\n @param _discriminant The numeric identifier of an error.\n @return A member of `Witnet.ErrorCodes`."},"id":10979,"implemented":true,"kind":"function","modifiers":[],"name":"_supportedErrorOrElseUnknown","nameLocation":"15178:28:53","nodeType":"FunctionDefinition","parameters":{"id":10968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10967,"mutability":"mutable","name":"_discriminant","nameLocation":"15214:13:53","nodeType":"VariableDeclaration","scope":10979,"src":"15207:20:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":10966,"name":"uint64","nodeType":"ElementaryTypeName","src":"15207:6:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"15206:22:53"},"returnParameters":{"id":10972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10971,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10979,"src":"15267:17:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"},"typeName":{"id":10970,"nodeType":"UserDefinedTypeName","pathNode":{"id":10969,"name":"Witnet.ErrorCodes","nodeType":"IdentifierPath","referencedDeclaration":8299,"src":"15267:17:53"},"referencedDeclaration":8299,"src":"15267:17:53","typeDescriptions":{"typeIdentifier":"t_enum$_ErrorCodes_$8299","typeString":"enum Witnet.ErrorCodes"}},"visibility":"internal"}],"src":"15266:19:53"},"scope":11209,"src":"15169:177:53","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":11130,"nodeType":"Block","src":"15674:609:53","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":10989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10987,"name":"_u","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10982,"src":"15688:2:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"3130","id":10988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15693:2:53","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"15688:7:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":11019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11017,"name":"_u","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10982,"src":"15837:2:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"313030","id":11018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15842:3:53","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"15837:8:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":11127,"nodeType":"Block","src":"16037:240:53","statements":[{"assignments":[11066],"declarations":[{"constant":false,"id":11066,"mutability":"mutable","name":"b3","nameLocation":"16064:2:53","nodeType":"VariableDeclaration","scope":11127,"src":"16051:15:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11065,"name":"bytes","nodeType":"ElementaryTypeName","src":"16051:5:53","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":11071,"initialValue":{"arguments":[{"hexValue":"33","id":11069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16079:1:53","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":11068,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"16069:9:53","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":11067,"name":"bytes","nodeType":"ElementaryTypeName","src":"16073:5:53","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":11070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16069:12:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"16051:30:53"},{"expression":{"id":11086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":11072,"name":"b3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11066,"src":"16095:2:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":11074,"indexExpression":{"hexValue":"30","id":11073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16098:1:53","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16095:5:53","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":11084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":11081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11079,"name":"_u","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10982,"src":"16116:2:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":11080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16121:3:53","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"16116:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":11078,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16110:5:53","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":11077,"name":"uint8","nodeType":"ElementaryTypeName","src":"16110:5:53","typeDescriptions":{}}},"id":11082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16110:15:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3438","id":11083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16128:2:53","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"src":"16110:20:53","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":11076,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16103:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":11075,"name":"bytes1","nodeType":"ElementaryTypeName","src":"16103:6:53","typeDescriptions":{}}},"id":11085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16103:28:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"16095:36:53","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":11087,"nodeType":"ExpressionStatement","src":"16095:36:53"},{"expression":{"id":11104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":11088,"name":"b3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11066,"src":"16145:2:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":11090,"indexExpression":{"hexValue":"31","id":11089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16148:1:53","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16145:5:53","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":11102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":11099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":11097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11095,"name":"_u","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10982,"src":"16166:2:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"313030","id":11096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16171:3:53","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"16166:8:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"3130","id":11098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16177:2:53","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"16166:13:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":11094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16160:5:53","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":11093,"name":"uint8","nodeType":"ElementaryTypeName","src":"16160:5:53","typeDescriptions":{}}},"id":11100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16160:20:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3438","id":11101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16183:2:53","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"src":"16160:25:53","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":11092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16153:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":11091,"name":"bytes1","nodeType":"ElementaryTypeName","src":"16153:6:53","typeDescriptions":{}}},"id":11103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16153:33:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"16145:41:53","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":11105,"nodeType":"ExpressionStatement","src":"16145:41:53"},{"expression":{"id":11120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":11106,"name":"b3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11066,"src":"16200:2:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":11108,"indexExpression":{"hexValue":"32","id":11107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16203:1:53","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16200:5:53","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":11118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":11115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11113,"name":"_u","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10982,"src":"16221:2:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"3130","id":11114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16226:2:53","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"16221:7:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":11112,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16215:5:53","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":11111,"name":"uint8","nodeType":"ElementaryTypeName","src":"16215:5:53","typeDescriptions":{}}},"id":11116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16215:14:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3438","id":11117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16232:2:53","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"src":"16215:19:53","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":11110,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16208:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":11109,"name":"bytes1","nodeType":"ElementaryTypeName","src":"16208:6:53","typeDescriptions":{}}},"id":11119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16208:27:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"16200:35:53","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":11121,"nodeType":"ExpressionStatement","src":"16200:35:53"},{"expression":{"arguments":[{"id":11124,"name":"b3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11066,"src":"16263:2:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16256:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":11122,"name":"string","nodeType":"ElementaryTypeName","src":"16256:6:53","typeDescriptions":{}}},"id":11125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16256:10:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10986,"id":11126,"nodeType":"Return","src":"16249:17:53"}]},"id":11128,"nodeType":"IfStatement","src":"15833:444:53","trueBody":{"id":11064,"nodeType":"Block","src":"15847:184:53","statements":[{"assignments":[11021],"declarations":[{"constant":false,"id":11021,"mutability":"mutable","name":"b2","nameLocation":"15874:2:53","nodeType":"VariableDeclaration","scope":11064,"src":"15861:15:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11020,"name":"bytes","nodeType":"ElementaryTypeName","src":"15861:5:53","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":11026,"initialValue":{"arguments":[{"hexValue":"32","id":11024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15889:1:53","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":11023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"15879:9:53","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":11022,"name":"bytes","nodeType":"ElementaryTypeName","src":"15883:5:53","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":11025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15879:12:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15861:30:53"},{"expression":{"id":11041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":11027,"name":"b2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11021,"src":"15905:2:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":11029,"indexExpression":{"hexValue":"30","id":11028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15908:1:53","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15905:5:53","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":11039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":11036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11034,"name":"_u","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10982,"src":"15926:2:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"3130","id":11035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15931:2:53","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"15926:7:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":11033,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15920:5:53","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":11032,"name":"uint8","nodeType":"ElementaryTypeName","src":"15920:5:53","typeDescriptions":{}}},"id":11037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15920:14:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3438","id":11038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15937:2:53","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"src":"15920:19:53","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":11031,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15913:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":11030,"name":"bytes1","nodeType":"ElementaryTypeName","src":"15913:6:53","typeDescriptions":{}}},"id":11040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15913:27:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"15905:35:53","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":11042,"nodeType":"ExpressionStatement","src":"15905:35:53"},{"expression":{"id":11057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":11043,"name":"b2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11021,"src":"15954:2:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":11045,"indexExpression":{"hexValue":"31","id":11044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15957:1:53","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15954:5:53","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":11055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":11052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11050,"name":"_u","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10982,"src":"15975:2:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"3130","id":11051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15980:2:53","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"15975:7:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":11049,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15969:5:53","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":11048,"name":"uint8","nodeType":"ElementaryTypeName","src":"15969:5:53","typeDescriptions":{}}},"id":11053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15969:14:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3438","id":11054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15986:2:53","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"src":"15969:19:53","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":11047,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15962:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":11046,"name":"bytes1","nodeType":"ElementaryTypeName","src":"15962:6:53","typeDescriptions":{}}},"id":11056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15962:27:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"15954:35:53","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":11058,"nodeType":"ExpressionStatement","src":"15954:35:53"},{"expression":{"arguments":[{"id":11061,"name":"b2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11021,"src":"16017:2:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11060,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16010:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":11059,"name":"string","nodeType":"ElementaryTypeName","src":"16010:6:53","typeDescriptions":{}}},"id":11062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16010:10:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10986,"id":11063,"nodeType":"Return","src":"16003:17:53"}]}},"id":11129,"nodeType":"IfStatement","src":"15684:593:53","trueBody":{"id":11016,"nodeType":"Block","src":"15697:130:53","statements":[{"assignments":[10991],"declarations":[{"constant":false,"id":10991,"mutability":"mutable","name":"b1","nameLocation":"15724:2:53","nodeType":"VariableDeclaration","scope":11016,"src":"15711:15:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10990,"name":"bytes","nodeType":"ElementaryTypeName","src":"15711:5:53","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":10996,"initialValue":{"arguments":[{"hexValue":"31","id":10994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15739:1:53","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":10993,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"15729:9:53","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":10992,"name":"bytes","nodeType":"ElementaryTypeName","src":"15733:5:53","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":10995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15729:12:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15711:30:53"},{"expression":{"id":11009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":10997,"name":"b1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10991,"src":"15755:2:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":10999,"indexExpression":{"hexValue":"30","id":10998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15758:1:53","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15755:5:53","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":11007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":11004,"name":"_u","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10982,"src":"15776:2:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":11003,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15770:5:53","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":11002,"name":"uint8","nodeType":"ElementaryTypeName","src":"15770:5:53","typeDescriptions":{}}},"id":11005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15770:9:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3438","id":11006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15782:2:53","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"src":"15770:14:53","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":11001,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15763:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":11000,"name":"bytes1","nodeType":"ElementaryTypeName","src":"15763:6:53","typeDescriptions":{}}},"id":11008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15763:22:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"15755:30:53","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":11010,"nodeType":"ExpressionStatement","src":"15755:30:53"},{"expression":{"arguments":[{"id":11013,"name":"b1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10991,"src":"15813:2:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11012,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15806:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":11011,"name":"string","nodeType":"ElementaryTypeName","src":"15806:6:53","typeDescriptions":{}}},"id":11014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15806:10:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10986,"id":11015,"nodeType":"Return","src":"15799:17:53"}]}}]},"documentation":{"id":10980,"nodeType":"StructuredDocumentation","src":"15352:234:53","text":"@notice Convert a `uint64` into a 1, 2 or 3 characters long `string` representing its.\n three less significant decimal values.\n @param _u A `uint64` value.\n @return The `string` representing its decimal value."},"id":11131,"implemented":true,"kind":"function","modifiers":[],"name":"_utoa","nameLocation":"15600:5:53","nodeType":"FunctionDefinition","parameters":{"id":10983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10982,"mutability":"mutable","name":"_u","nameLocation":"15613:2:53","nodeType":"VariableDeclaration","scope":11131,"src":"15606:9:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":10981,"name":"uint64","nodeType":"ElementaryTypeName","src":"15606:6:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"15605:11:53"},"returnParameters":{"id":10986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10985,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11131,"src":"15655:13:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10984,"name":"string","nodeType":"ElementaryTypeName","src":"15655:6:53","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15654:15:53"},"scope":11209,"src":"15591:692:53","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":11207,"nodeType":"Block","src":"16602:294:53","statements":[{"assignments":[11140],"declarations":[{"constant":false,"id":11140,"mutability":"mutable","name":"b2","nameLocation":"16625:2:53","nodeType":"VariableDeclaration","scope":11207,"src":"16612:15:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11139,"name":"bytes","nodeType":"ElementaryTypeName","src":"16612:5:53","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":11145,"initialValue":{"arguments":[{"hexValue":"32","id":11143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16640:1:53","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":11142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"16630:9:53","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":11141,"name":"bytes","nodeType":"ElementaryTypeName","src":"16634:5:53","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":11144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16630:12:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"16612:30:53"},{"assignments":[11147],"declarations":[{"constant":false,"id":11147,"mutability":"mutable","name":"d0","nameLocation":"16658:2:53","nodeType":"VariableDeclaration","scope":11207,"src":"16652:8:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":11146,"name":"uint8","nodeType":"ElementaryTypeName","src":"16652:5:53","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":11156,"initialValue":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":11155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":11152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11150,"name":"_u","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11134,"src":"16669:2:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"3136","id":11151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16674:2:53","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"16669:7:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":11149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16663:5:53","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":11148,"name":"uint8","nodeType":"ElementaryTypeName","src":"16663:5:53","typeDescriptions":{}}},"id":11153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16663:14:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3438","id":11154,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16680:2:53","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"src":"16663:19:53","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"16652:30:53"},{"assignments":[11158],"declarations":[{"constant":false,"id":11158,"mutability":"mutable","name":"d1","nameLocation":"16698:2:53","nodeType":"VariableDeclaration","scope":11207,"src":"16692:8:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":11157,"name":"uint8","nodeType":"ElementaryTypeName","src":"16692:5:53","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":11167,"initialValue":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":11166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":11163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11161,"name":"_u","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11134,"src":"16709:2:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"3136","id":11162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16714:2:53","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"16709:7:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":11160,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16703:5:53","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":11159,"name":"uint8","nodeType":"ElementaryTypeName","src":"16703:5:53","typeDescriptions":{}}},"id":11164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16703:14:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3438","id":11165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16720:2:53","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"src":"16703:19:53","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"16692:30:53"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":11170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11168,"name":"d0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11147,"src":"16736:2:53","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3537","id":11169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16741:2:53","typeDescriptions":{"typeIdentifier":"t_rational_57_by_1","typeString":"int_const 57"},"value":"57"},"src":"16736:7:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11175,"nodeType":"IfStatement","src":"16732:32:53","trueBody":{"expression":{"id":11173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11171,"name":"d0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11147,"src":"16757:2:53","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"37","id":11172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16763:1:53","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"16757:7:53","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":11174,"nodeType":"ExpressionStatement","src":"16757:7:53"}},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":11178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11176,"name":"d1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11158,"src":"16778:2:53","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3537","id":11177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16783:2:53","typeDescriptions":{"typeIdentifier":"t_rational_57_by_1","typeString":"int_const 57"},"value":"57"},"src":"16778:7:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11183,"nodeType":"IfStatement","src":"16774:32:53","trueBody":{"expression":{"id":11181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11179,"name":"d1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11158,"src":"16799:2:53","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"37","id":11180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16805:1:53","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"16799:7:53","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":11182,"nodeType":"ExpressionStatement","src":"16799:7:53"}},{"expression":{"id":11191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":11184,"name":"b2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11140,"src":"16816:2:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":11186,"indexExpression":{"hexValue":"30","id":11185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16819:1:53","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16816:5:53","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":11189,"name":"d0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11147,"src":"16831:2:53","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":11188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16824:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":11187,"name":"bytes1","nodeType":"ElementaryTypeName","src":"16824:6:53","typeDescriptions":{}}},"id":11190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16824:10:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"16816:18:53","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":11192,"nodeType":"ExpressionStatement","src":"16816:18:53"},{"expression":{"id":11200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":11193,"name":"b2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11140,"src":"16844:2:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":11195,"indexExpression":{"hexValue":"31","id":11194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16847:1:53","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16844:5:53","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":11198,"name":"d1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11158,"src":"16859:2:53","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":11197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16852:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":11196,"name":"bytes1","nodeType":"ElementaryTypeName","src":"16852:6:53","typeDescriptions":{}}},"id":11199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16852:10:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"16844:18:53","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":11201,"nodeType":"ExpressionStatement","src":"16844:18:53"},{"expression":{"arguments":[{"id":11204,"name":"b2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11140,"src":"16886:2:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16879:6:53","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":11202,"name":"string","nodeType":"ElementaryTypeName","src":"16879:6:53","typeDescriptions":{}}},"id":11205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16879:10:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11138,"id":11206,"nodeType":"Return","src":"16872:17:53"}]},"documentation":{"id":11132,"nodeType":"StructuredDocumentation","src":"16289:223:53","text":"@notice Convert a `uint64` into a 2 characters long `string` representing its two less significant hexadecimal values.\n @param _u A `uint64` value.\n @return The `string` representing its hexadecimal value."},"id":11208,"implemented":true,"kind":"function","modifiers":[],"name":"_utohex","nameLocation":"16526:7:53","nodeType":"FunctionDefinition","parameters":{"id":11135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11134,"mutability":"mutable","name":"_u","nameLocation":"16541:2:53","nodeType":"VariableDeclaration","scope":11208,"src":"16534:9:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":11133,"name":"uint64","nodeType":"ElementaryTypeName","src":"16534:6:53","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"16533:11:53"},"returnParameters":{"id":11138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11137,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11208,"src":"16583:13:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11136,"name":"string","nodeType":"ElementaryTypeName","src":"16583:6:53","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16582:15:53"},"scope":11209,"src":"16517:379:53","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":11210,"src":"375:16523:53","usedErrors":[]}],"src":"33:16866:53"},"id":53},"witnet-solidity-bridge/contracts/mocks/WitnetRandomnessMock.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/mocks/WitnetRandomnessMock.sol","exportedSymbols":{"Clonable":[11629],"Context":[11660],"IWitnetRandomness":[7494],"IWitnetRequest":[7510],"IWitnetRequestBoardEvents":[7593],"IWitnetRequestBoardReporter":[7644],"IWitnetRequestBoardRequestor":[7674],"IWitnetRequestBoardView":[7787],"IWitnetRequestParser":[7965],"Initializable":[11676],"Ownable":[11781],"Proxiable":[11841],"UsingWitnet":[4134],"Witnet":[8300],"WitnetRandomness":[4952],"WitnetRandomnessMock":[11519],"WitnetRequestBoard":[4162],"WitnetRequestMalleableBase":[12720],"WitnetRequestRandomness":[12753]},"id":11520,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":11211,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:54"},{"id":11212,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"65:33:54"},{"absolutePath":"witnet-solidity-bridge/contracts/apps/WitnetRandomness.sol","file":"../apps/WitnetRandomness.sol","id":11213,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":11520,"sourceUnit":4953,"src":"100:38:54","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":11215,"name":"WitnetRandomness","nodeType":"IdentifierPath","referencedDeclaration":4952,"src":"554:16:54"},"id":11216,"nodeType":"InheritanceSpecifier","src":"554:16:54"}],"contractDependencies":[12753],"contractKind":"contract","documentation":{"id":11214,"nodeType":"StructuredDocumentation","src":"140:369:54","text":"@title WitnetRandomness mock contract implementation. \n @dev TO BE USED ONLY ON DEVELOPMENT ENVIRONMENTS. \n @dev ON SUPPORTED TESTNETS, PLEASE USE THE `WitnetRandomness`\n @dev CONTRACT ADDRESS PROVIDED BY THE WITNET FOUNDATION.\n @dev SEE: https://docs.witnet.io/smart-contracts/witnet-randomness-oracle/contract-addresses\n @author Witnet Foundation."},"fullyImplemented":true,"id":11519,"linearizedBaseContracts":[11519,4952,11629,11676,4134,7494],"name":"WitnetRandomnessMock","nameLocation":"518:20:54","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":11218,"mutability":"mutable","name":"__mockRandomizeLatencyBlocks","nameLocation":"592:28:54","nodeType":"VariableDeclaration","scope":11519,"src":"577:43:54","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":11217,"name":"uint8","nodeType":"ElementaryTypeName","src":"577:5:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":11220,"mutability":"mutable","name":"__mockRandomizeFee","nameLocation":"643:18:54","nodeType":"VariableDeclaration","scope":11519,"src":"626:35:54","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11219,"name":"uint256","nodeType":"ElementaryTypeName","src":"626:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11222,"mutability":"mutable","name":"__mockRandomizeLatestId","nameLocation":"684:23:54","nodeType":"VariableDeclaration","scope":11519,"src":"667:40:54","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11221,"name":"uint256","nodeType":"ElementaryTypeName","src":"667:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"body":{"id":11246,"nodeType":"Block","src":"1224:123:54","statements":[{"expression":{"id":11240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11238,"name":"__mockRandomizeLatencyBlocks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11218,"src":"1234:28:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11239,"name":"_mockRandomizeLatencyBlocks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11225,"src":"1265:27:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"1234:58:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":11241,"nodeType":"ExpressionStatement","src":"1234:58:54"},{"expression":{"id":11244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11242,"name":"__mockRandomizeFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11220,"src":"1302:18:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11243,"name":"_mockRandomizeFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11227,"src":"1323:17:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1302:38:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11245,"nodeType":"ExpressionStatement","src":"1302:38:54"}]},"documentation":{"id":11223,"nodeType":"StructuredDocumentation","src":"714:294:54","text":"Constructor: new WitnetRandomnessMock contract\n @param _mockRandomizeLatencyBlocks Mocked number of blocks in which a new randomness will be provided after `randomize()`\n @param _mockRandomizeFee Mocked randomize fee (will be constant no matter what tx gas price is provided)."},"id":11247,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"307846466646664666664646666666464666464666464646464666664646466666666646664646466646","id":11233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1174:42:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11232,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1166:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":11231,"name":"address","nodeType":"ElementaryTypeName","src":"1166:8:54","stateMutability":"payable","typeDescriptions":{}}},"id":11234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1166:51:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":11230,"name":"WitnetRequestBoard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4162,"src":"1147:18:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WitnetRequestBoard_$4162_$","typeString":"type(contract WitnetRequestBoard)"}},"id":11235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1147:71:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestBoard_$4162","typeString":"contract WitnetRequestBoard"}}],"id":11236,"kind":"baseConstructorSpecifier","modifierName":{"id":11229,"name":"WitnetRandomness","nodeType":"IdentifierPath","referencedDeclaration":4952,"src":"1130:16:54"},"nodeType":"ModifierInvocation","src":"1130:89:54"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":11228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11225,"mutability":"mutable","name":"_mockRandomizeLatencyBlocks","nameLocation":"1045:27:54","nodeType":"VariableDeclaration","scope":11247,"src":"1039:33:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":11224,"name":"uint8","nodeType":"ElementaryTypeName","src":"1039:5:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":11227,"mutability":"mutable","name":"_mockRandomizeFee","nameLocation":"1094:17:54","nodeType":"VariableDeclaration","scope":11247,"src":"1086:25:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11226,"name":"uint256","nodeType":"ElementaryTypeName","src":"1086:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1025:96:54"},"returnParameters":{"id":11237,"nodeType":"ParameterList","parameters":[],"src":"1224:0:54"},"scope":11519,"src":"1013:334:54","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[4234],"body":{"id":11258,"nodeType":"Block","src":"1568:42:54","statements":[{"expression":{"id":11256,"name":"__mockRandomizeFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11220,"src":"1585:18:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":11255,"id":11257,"nodeType":"Return","src":"1578:25:54"}]},"documentation":{"id":11248,"nodeType":"StructuredDocumentation","src":"1353:96:54","text":"Returns mocked amount of wei required to be paid as a fee when requesting new randomization."},"functionSelector":"a60ee268","id":11259,"implemented":true,"kind":"function","modifiers":[],"name":"estimateRandomizeFee","nameLocation":"1463:20:54","nodeType":"FunctionDefinition","overrides":{"id":11252,"nodeType":"OverrideSpecifier","overrides":[],"src":"1529:8:54"},"parameters":{"id":11251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11250,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11259,"src":"1484:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11249,"name":"uint256","nodeType":"ElementaryTypeName","src":"1484:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1483:9:54"},"returnParameters":{"id":11255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11254,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11259,"src":"1555:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11253,"name":"uint256","nodeType":"ElementaryTypeName","src":"1555:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1554:9:54"},"scope":11519,"src":"1454:156:54","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[4277],"body":{"id":11301,"nodeType":"Block","src":"2526:206:54","statements":[{"assignments":[11276],"declarations":[{"constant":false,"id":11276,"mutability":"mutable","name":"_data","nameLocation":"2558:5:54","nodeType":"VariableDeclaration","scope":11301,"src":"2536:27:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData"},"typeName":{"id":11275,"nodeType":"UserDefinedTypeName","pathNode":{"id":11274,"name":"RandomizeData","nodeType":"IdentifierPath","referencedDeclaration":4195,"src":"2536:13:54"},"referencedDeclaration":4195,"src":"2536:13:54","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData"}},"visibility":"internal"}],"id":11280,"initialValue":{"baseExpression":{"id":11277,"name":"__randomize_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4186,"src":"2566:12:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RandomizeData_$4195_storage_$","typeString":"mapping(uint256 => struct WitnetRandomness.RandomizeData storage ref)"}},"id":11279,"indexExpression":{"id":11278,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11262,"src":"2579:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2566:20:54","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage","typeString":"struct WitnetRandomness.RandomizeData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"2536:50:54"},{"expression":{"id":11284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11281,"name":"_id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11268,"src":"2596:3:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":11282,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11276,"src":"2602:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData storage pointer"}},"id":11283,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"witnetQueryId","nodeType":"MemberAccess","referencedDeclaration":4194,"src":"2602:19:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2596:25:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11285,"nodeType":"ExpressionStatement","src":"2596:25:54"},{"expression":{"id":11289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11286,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11266,"src":"2631:5:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":11287,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11276,"src":"2639:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData storage pointer"}},"id":11288,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":4188,"src":"2639:10:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2631:18:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11290,"nodeType":"ExpressionStatement","src":"2631:18:54"},{"expression":{"id":11294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11291,"name":"_prevBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11270,"src":"2659:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":11292,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11276,"src":"2672:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData storage pointer"}},"id":11293,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"prevBlock","nodeType":"MemberAccess","referencedDeclaration":4190,"src":"2672:15:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2659:28:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11295,"nodeType":"ExpressionStatement","src":"2659:28:54"},{"expression":{"id":11299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11296,"name":"_nextBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11272,"src":"2697:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":11297,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11276,"src":"2710:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData storage pointer"}},"id":11298,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"nextBlock","nodeType":"MemberAccess","referencedDeclaration":4192,"src":"2710:15:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2697:28:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11300,"nodeType":"ExpressionStatement","src":"2697:28:54"}]},"documentation":{"id":11260,"nodeType":"StructuredDocumentation","src":"1616:669:54","text":"Retrieves data of a randomization request that got successfully posted to the WRB within a given block.\n @dev Returns zero values if no randomness request was actually posted within a given block.\n @param _block Block number whose randomness request is being queried for.\n @return _from Address from which the latest randomness request was posted.\n @return _id Unique request identifier as provided by the WRB.\n @return _prevBlock Block number in which a randomness request got posted just before this one. 0 if none.\n @return _nextBlock Block number in which a randomness request got posted just after this one, 0 if none."},"functionSelector":"a3252f68","id":11302,"implemented":true,"kind":"function","modifiers":[],"name":"getRandomizeData","nameLocation":"2299:16:54","nodeType":"FunctionDefinition","overrides":{"id":11264,"nodeType":"OverrideSpecifier","overrides":[],"src":"2370:8:54"},"parameters":{"id":11263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11262,"mutability":"mutable","name":"_block","nameLocation":"2324:6:54","nodeType":"VariableDeclaration","scope":11302,"src":"2316:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11261,"name":"uint256","nodeType":"ElementaryTypeName","src":"2316:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2315:16:54"},"returnParameters":{"id":11273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11266,"mutability":"mutable","name":"_from","nameLocation":"2417:5:54","nodeType":"VariableDeclaration","scope":11302,"src":"2409:13:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11265,"name":"address","nodeType":"ElementaryTypeName","src":"2409:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11268,"mutability":"mutable","name":"_id","nameLocation":"2444:3:54","nodeType":"VariableDeclaration","scope":11302,"src":"2436:11:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11267,"name":"uint256","nodeType":"ElementaryTypeName","src":"2436:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11270,"mutability":"mutable","name":"_prevBlock","nameLocation":"2469:10:54","nodeType":"VariableDeclaration","scope":11302,"src":"2461:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11269,"name":"uint256","nodeType":"ElementaryTypeName","src":"2461:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11272,"mutability":"mutable","name":"_nextBlock","nameLocation":"2501:10:54","nodeType":"VariableDeclaration","scope":11302,"src":"2493:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11271,"name":"uint256","nodeType":"ElementaryTypeName","src":"2493:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2395:126:54"},"scope":11519,"src":"2290:442:54","stateMutability":"view","virtual":true,"visibility":"external"},{"baseFunctions":[4364],"body":{"id":11356,"nodeType":"Block","src":"3602:409:54","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":11311,"name":"__randomize_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4186,"src":"3616:12:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RandomizeData_$4195_storage_$","typeString":"mapping(uint256 => struct WitnetRandomness.RandomizeData storage ref)"}},"id":11313,"indexExpression":{"id":11312,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11305,"src":"3629:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3616:20:54","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage","typeString":"struct WitnetRandomness.RandomizeData storage ref"}},"id":11314,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":4188,"src":"3616:25:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":11317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3653:1:54","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":11316,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3645:7:54","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11315,"name":"address","nodeType":"ElementaryTypeName","src":"3645:7:54","typeDescriptions":{}}},"id":11318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3645:10:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3616:39:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11327,"nodeType":"IfStatement","src":"3612:109:54","trueBody":{"id":11326,"nodeType":"Block","src":"3657:64:54","statements":[{"expression":{"id":11324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11320,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11305,"src":"3671:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":11322,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11305,"src":"3703:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11321,"name":"getRandomnessNextBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4395,"src":"3680:22:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":11323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3680:30:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3671:39:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11325,"nodeType":"ExpressionStatement","src":"3671:39:54"}]}},{"assignments":[11329],"declarations":[{"constant":false,"id":11329,"mutability":"mutable","name":"_queryId","nameLocation":"3738:8:54","nodeType":"VariableDeclaration","scope":11356,"src":"3730:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11328,"name":"uint256","nodeType":"ElementaryTypeName","src":"3730:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11334,"initialValue":{"expression":{"baseExpression":{"id":11330,"name":"__randomize_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4186,"src":"3749:12:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RandomizeData_$4195_storage_$","typeString":"mapping(uint256 => struct WitnetRandomness.RandomizeData storage ref)"}},"id":11332,"indexExpression":{"id":11331,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11305,"src":"3762:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3749:20:54","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage","typeString":"struct WitnetRandomness.RandomizeData storage ref"}},"id":11333,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"witnetQueryId","nodeType":"MemberAccess","referencedDeclaration":4194,"src":"3749:34:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3730:53:54"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11336,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11329,"src":"3801:8:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":11337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3813:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3801:13:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657452616e646f6d6e6573734d6f636b3a206e6f742072616e646f6d697a6564","id":11339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3816:38:54","typeDescriptions":{"typeIdentifier":"t_stringliteral_dab070d3b10f889718e0289cd93aedef962a048e98d90e7f3d37a0e511d23892","typeString":"literal_string \"WitnetRandomnessMock: not randomized\""},"value":"WitnetRandomnessMock: not randomized"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_dab070d3b10f889718e0289cd93aedef962a048e98d90e7f3d37a0e511d23892","typeString":"literal_string \"WitnetRandomnessMock: not randomized\""}],"id":11335,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3793:7:54","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3793:62:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11341,"nodeType":"ExpressionStatement","src":"3793:62:54"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":11343,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3873:5:54","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":11344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3873:12:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11345,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11305,"src":"3889:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":11346,"name":"__mockRandomizeLatencyBlocks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11218,"src":"3898:28:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"3889:37:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3873:53:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657452616e646f6d6e6573734d6f636b3a2070656e64696e672072616e646f6d697a65","id":11349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3928:41:54","typeDescriptions":{"typeIdentifier":"t_stringliteral_5deec3b7674efa4143e47ae07c41ec89edefa27737b7dda5e9c508b304376e18","typeString":"literal_string \"WitnetRandomnessMock: pending randomize\""},"value":"WitnetRandomnessMock: pending randomize"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5deec3b7674efa4143e47ae07c41ec89edefa27737b7dda5e9c508b304376e18","typeString":"literal_string \"WitnetRandomnessMock: pending randomize\""}],"id":11342,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3865:7:54","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3865:105:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11351,"nodeType":"ExpressionStatement","src":"3865:105:54"},{"expression":{"arguments":[{"id":11353,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11305,"src":"3997:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11352,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"3987:9:54","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":11354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3987:17:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":11310,"id":11355,"nodeType":"Return","src":"3980:24:54"}]},"documentation":{"id":11303,"nodeType":"StructuredDocumentation","src":"2738:740:54","text":"Mocks randomness generated upon solving a request that was posted within a given block,\n if more than `__mockRandomizeLatencyBlocks` have elapsed since rquest, or to the _first_ request \n posted after that block, otherwise. \n @dev Please, note that 256 blocks after a `randomize()` request, randomness will be possibly returned \n @dev as `bytes32(0)` (depending on actual EVM implementation). \n @dev Fails if:\n @dev   i.   no `randomize()` was not called in either the given block, or afterwards.\n @dev   ii.  a request posted in/after given block does exist, but lest than `__mockRandomizeLatencyBlocks` have elapsed.\n @param _block Block number from which the search will start."},"functionSelector":"fb476cad","id":11357,"implemented":true,"kind":"function","modifiers":[],"name":"getRandomnessAfter","nameLocation":"3492:18:54","nodeType":"FunctionDefinition","overrides":{"id":11307,"nodeType":"OverrideSpecifier","overrides":[],"src":"3563:8:54"},"parameters":{"id":11306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11305,"mutability":"mutable","name":"_block","nameLocation":"3519:6:54","nodeType":"VariableDeclaration","scope":11357,"src":"3511:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11304,"name":"uint256","nodeType":"ElementaryTypeName","src":"3511:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3510:16:54"},"returnParameters":{"id":11310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11309,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11357,"src":"3589:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11308,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3589:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3588:9:54"},"scope":11519,"src":"3483:528:54","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[4458],"body":{"id":11386,"nodeType":"Block","src":"4297:206:54","statements":[{"assignments":[11368],"declarations":[{"constant":false,"id":11368,"mutability":"mutable","name":"_data","nameLocation":"4329:5:54","nodeType":"VariableDeclaration","scope":11386,"src":"4307:27:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData"},"typeName":{"id":11367,"nodeType":"UserDefinedTypeName","pathNode":{"id":11366,"name":"RandomizeData","nodeType":"IdentifierPath","referencedDeclaration":4195,"src":"4307:13:54"},"referencedDeclaration":4195,"src":"4307:13:54","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData"}},"visibility":"internal"}],"id":11372,"initialValue":{"baseExpression":{"id":11369,"name":"__randomize_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4186,"src":"4337:12:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RandomizeData_$4195_storage_$","typeString":"mapping(uint256 => struct WitnetRandomness.RandomizeData storage ref)"}},"id":11371,"indexExpression":{"id":11370,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11360,"src":"4350:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4337:20:54","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage","typeString":"struct WitnetRandomness.RandomizeData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4307:50:54"},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":11383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":11373,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11368,"src":"4388:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData storage pointer"}},"id":11374,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"witnetQueryId","nodeType":"MemberAccess","referencedDeclaration":4194,"src":"4388:19:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":11375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4411:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4388:24:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":11377,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4433:5:54","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":11378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"4433:12:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11379,"name":"_block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11360,"src":"4449:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":11380,"name":"__mockRandomizeLatencyBlocks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11218,"src":"4458:28:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"4449:37:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4433:53:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4388:98:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":11384,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4374:122:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":11365,"id":11385,"nodeType":"Return","src":"4367:129:54"}]},"documentation":{"id":11358,"nodeType":"StructuredDocumentation","src":"4017:165:54","text":"Mocks `true` only when a randomness request got actually posted within given block,\n and at least `__mockRandomizeLatencyBlocks` have elapsed since then. "},"functionSelector":"9bc86fec","id":11387,"implemented":true,"kind":"function","modifiers":[],"name":"isRandomized","nameLocation":"4196:12:54","nodeType":"FunctionDefinition","overrides":{"id":11362,"nodeType":"OverrideSpecifier","overrides":[],"src":"4261:8:54"},"parameters":{"id":11361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11360,"mutability":"mutable","name":"_block","nameLocation":"4217:6:54","nodeType":"VariableDeclaration","scope":11387,"src":"4209:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11359,"name":"uint256","nodeType":"ElementaryTypeName","src":"4209:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4208:16:54"},"returnParameters":{"id":11365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11364,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11387,"src":"4287:4:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11363,"name":"bool","nodeType":"ElementaryTypeName","src":"4287:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4286:6:54"},"scope":11519,"src":"4187:316:54","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[4647],"body":{"id":11489,"nodeType":"Block","src":"5081:1116:54","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11394,"name":"latestRandomizeBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4181,"src":"5095:20:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":11395,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5118:5:54","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":11396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"5118:12:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5095:35:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11470,"nodeType":"IfStatement","src":"5091:944:54","trueBody":{"id":11469,"nodeType":"Block","src":"5132:903:54","statements":[{"expression":{"id":11400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11398,"name":"_usedFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11392,"src":"5146:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11399,"name":"__mockRandomizeFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11220,"src":"5159:18:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5146:31:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11401,"nodeType":"ExpressionStatement","src":"5146:31:54"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":11403,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5216:3:54","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":11404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"5216:9:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":11405,"name":"_usedFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11392,"src":"5229:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5216:23:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657452616e646f6d6e6573734d6f636b3a2072657761726420746f6f206c6f77","id":11407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5257:38:54","typeDescriptions":{"typeIdentifier":"t_stringliteral_97ea46a021217f19ea885ad2c0a0acbc990fcf1a215843f01e514975240412d1","typeString":"literal_string \"WitnetRandomnessMock: reward too low\""},"value":"WitnetRandomnessMock: reward too low"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_97ea46a021217f19ea885ad2c0a0acbc990fcf1a215843f01e514975240412d1","typeString":"literal_string \"WitnetRandomnessMock: reward too low\""}],"id":11402,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5191:7:54","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5191:118:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11409,"nodeType":"ExpressionStatement","src":"5191:118:54"},{"assignments":[11411],"declarations":[{"constant":false,"id":11411,"mutability":"mutable","name":"_queryId","nameLocation":"5379:8:54","nodeType":"VariableDeclaration","scope":11469,"src":"5374:13:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11410,"name":"uint","nodeType":"ElementaryTypeName","src":"5374:4:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11414,"initialValue":{"id":11413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"5390:26:54","subExpression":{"id":11412,"name":"__mockRandomizeLatestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11222,"src":"5393:23:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5374:42:54"},{"assignments":[11417],"declarations":[{"constant":false,"id":11417,"mutability":"mutable","name":"_data","nameLocation":"5452:5:54","nodeType":"VariableDeclaration","scope":11469,"src":"5430:27:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData"},"typeName":{"id":11416,"nodeType":"UserDefinedTypeName","pathNode":{"id":11415,"name":"RandomizeData","nodeType":"IdentifierPath","referencedDeclaration":4195,"src":"5430:13:54"},"referencedDeclaration":4195,"src":"5430:13:54","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData"}},"visibility":"internal"}],"id":11422,"initialValue":{"baseExpression":{"id":11418,"name":"__randomize_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4186,"src":"5460:12:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RandomizeData_$4195_storage_$","typeString":"mapping(uint256 => struct WitnetRandomness.RandomizeData storage ref)"}},"id":11421,"indexExpression":{"expression":{"id":11419,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5473:5:54","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":11420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"5473:12:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5460:26:54","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage","typeString":"struct WitnetRandomness.RandomizeData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5430:56:54"},{"expression":{"id":11428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":11423,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11417,"src":"5500:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData storage pointer"}},"id":11425,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":4188,"src":"5500:10:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":11426,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5513:3:54","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":11427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"5513:10:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5500:23:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11429,"nodeType":"ExpressionStatement","src":"5500:23:54"},{"expression":{"id":11434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":11430,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11417,"src":"5537:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData storage pointer"}},"id":11432,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"witnetQueryId","nodeType":"MemberAccess","referencedDeclaration":4194,"src":"5537:19:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11433,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11411,"src":"5559:8:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5537:30:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11435,"nodeType":"ExpressionStatement","src":"5537:30:54"},{"assignments":[11437],"declarations":[{"constant":false,"id":11437,"mutability":"mutable","name":"_prevBlock","nameLocation":"5636:10:54","nodeType":"VariableDeclaration","scope":11469,"src":"5628:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11436,"name":"uint256","nodeType":"ElementaryTypeName","src":"5628:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11439,"initialValue":{"id":11438,"name":"latestRandomizeBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4181,"src":"5649:20:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5628:41:54"},{"expression":{"id":11444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":11440,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11417,"src":"5683:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage_ptr","typeString":"struct WitnetRandomness.RandomizeData storage pointer"}},"id":11442,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"prevBlock","nodeType":"MemberAccess","referencedDeclaration":4190,"src":"5683:15:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11443,"name":"_prevBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11437,"src":"5701:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5683:28:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11445,"nodeType":"ExpressionStatement","src":"5683:28:54"},{"expression":{"id":11452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":11446,"name":"__randomize_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4186,"src":"5725:12:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RandomizeData_$4195_storage_$","typeString":"mapping(uint256 => struct WitnetRandomness.RandomizeData storage ref)"}},"id":11448,"indexExpression":{"id":11447,"name":"_prevBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11437,"src":"5738:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5725:24:54","typeDescriptions":{"typeIdentifier":"t_struct$_RandomizeData_$4195_storage","typeString":"struct WitnetRandomness.RandomizeData storage ref"}},"id":11449,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"nextBlock","nodeType":"MemberAccess","referencedDeclaration":4192,"src":"5725:34:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":11450,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5762:5:54","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":11451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"5762:12:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5725:49:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11453,"nodeType":"ExpressionStatement","src":"5725:49:54"},{"expression":{"id":11457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11454,"name":"latestRandomizeBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4181,"src":"5788:20:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":11455,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5811:5:54","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":11456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"5811:12:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5788:35:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11458,"nodeType":"ExpressionStatement","src":"5788:35:54"},{"eventCall":{"arguments":[{"expression":{"id":11460,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5898:3:54","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":11461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"5898:10:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11462,"name":"_prevBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11437,"src":"5926:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11463,"name":"_queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11411,"src":"5954:8:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11464,"name":"witnetRandomnessRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4178,"src":"5980:23:54","typeDescriptions":{"typeIdentifier":"t_contract$_WitnetRequestRandomness_$12753","typeString":"contract WitnetRequestRandomness"}},"id":11465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"hash","nodeType":"MemberAccess","referencedDeclaration":12075,"src":"5980:28:54","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":11466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5980:30:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":11459,"name":"Randomized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7395,"src":"5870:10:54","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,uint256,uint256,bytes32)"}},"id":11467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5870:154:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11468,"nodeType":"EmitStatement","src":"5865:159:54"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11471,"name":"_usedFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11392,"src":"6090:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":11472,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6103:3:54","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":11473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"6103:9:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6090:22:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11488,"nodeType":"IfStatement","src":"6086:105:54","trueBody":{"id":11487,"nodeType":"Block","src":"6114:77:54","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":11481,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6157:3:54","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":11482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"6157:9:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":11483,"name":"_usedFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11392,"src":"6169:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6157:22:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"expression":{"id":11477,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6136:3:54","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":11478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"6136:10:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11476,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6128:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":11475,"name":"address","nodeType":"ElementaryTypeName","src":"6128:8:54","stateMutability":"payable","typeDescriptions":{}}},"id":11479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6128:19:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":11480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","src":"6128:28:54","typeDescriptions":{"typeIdentifier":"t_function_transfer_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":11485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6128:52:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11486,"nodeType":"ExpressionStatement","src":"6128:52:54"}]}}]},"documentation":{"id":11388,"nodeType":"StructuredDocumentation","src":"4509:455:54","text":"Mocks request to generate randomness, using underlying EVM as entropy source.\n Only one randomness request per block will be actually posted. Unused funds shall \n be transfered back to the tx sender.\n @dev FOR UNITARY TESTING ONLY. DO NOT USE IN PRODUCTION, AS PROVIDED RANDOMNESS\n @dev WILL NEITHER BE EVM-AGNOSTIC, NOR SECURE.\n @return _usedFunds Amount of funds actually used from those provided by the tx sender."},"functionSelector":"699b328a","id":11490,"implemented":true,"kind":"function","modifiers":[],"name":"randomize","nameLocation":"4978:9:54","nodeType":"FunctionDefinition","overrides":{"id":11390,"nodeType":"OverrideSpecifier","overrides":[],"src":"5031:8:54"},"parameters":{"id":11389,"nodeType":"ParameterList","parameters":[],"src":"4987:2:54"},"returnParameters":{"id":11393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11392,"mutability":"mutable","name":"_usedFunds","nameLocation":"5065:10:54","nodeType":"VariableDeclaration","scope":11490,"src":"5057:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11391,"name":"uint256","nodeType":"ElementaryTypeName","src":"5057:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5056:20:54"},"scope":11519,"src":"4969:1228:54","stateMutability":"payable","virtual":true,"visibility":"external"},{"baseFunctions":[4695],"body":{"id":11517,"nodeType":"Block","src":"6582:117:54","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":11499,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6596:3:54","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":11500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"6596:9:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":11501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6608:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6596:13:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11514,"nodeType":"IfStatement","src":"6592:83:54","trueBody":{"id":11513,"nodeType":"Block","src":"6611:64:54","statements":[{"expression":{"arguments":[{"expression":{"id":11509,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6654:3:54","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":11510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"6654:9:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"expression":{"id":11505,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6633:3:54","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":11506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"6633:10:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6625:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":11503,"name":"address","nodeType":"ElementaryTypeName","src":"6625:8:54","stateMutability":"payable","typeDescriptions":{}}},"id":11507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6625:19:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":11508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","src":"6625:28:54","typeDescriptions":{"typeIdentifier":"t_function_transfer_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":11511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6625:39:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11512,"nodeType":"ExpressionStatement","src":"6625:39:54"}]}},{"expression":{"hexValue":"30","id":11515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6691:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":11498,"id":11516,"nodeType":"Return","src":"6684:8:54"}]},"documentation":{"id":11491,"nodeType":"StructuredDocumentation","src":"6203:258:54","text":"Mocks by ignoring any fee increase on a pending-to-be-solved randomness request.\n @dev The whole `msg.value` shall be transferred back to the tx sender.\n @return _usedFunds Amount of funds actually used from those provided by the tx sender."},"functionSelector":"e35329f8","id":11518,"implemented":true,"kind":"function","modifiers":[],"name":"upgradeRandomizeFee","nameLocation":"6475:19:54","nodeType":"FunctionDefinition","overrides":{"id":11495,"nodeType":"OverrideSpecifier","overrides":[],"src":"6543:8:54"},"parameters":{"id":11494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11493,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11518,"src":"6495:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11492,"name":"uint256","nodeType":"ElementaryTypeName","src":"6495:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6494:9:54"},"returnParameters":{"id":11498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11497,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11518,"src":"6569:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11496,"name":"uint256","nodeType":"ElementaryTypeName","src":"6569:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6568:9:54"},"scope":11519,"src":"6466:233:54","stateMutability":"payable","virtual":true,"visibility":"public"}],"scope":11520,"src":"509:6192:54","usedErrors":[]}],"src":"33:6669:54"},"id":54},"witnet-solidity-bridge/contracts/patterns/Clonable.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/patterns/Clonable.sol","exportedSymbols":{"Clonable":[11629],"Initializable":[11676]},"id":11630,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":11521,"literals":["solidity",">=","0.6",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:55"},{"absolutePath":"witnet-solidity-bridge/contracts/patterns/Initializable.sol","file":"./Initializable.sol","id":11522,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":11630,"sourceUnit":11677,"src":"66:29:55","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":11523,"name":"Initializable","nodeType":"IdentifierPath","referencedDeclaration":11676,"src":"127:13:55"},"id":11524,"nodeType":"InheritanceSpecifier","src":"127:13:55"}],"contractDependencies":[],"contractKind":"contract","fullyImplemented":false,"id":11629,"linearizedBaseContracts":[11629,11676],"name":"Clonable","nameLocation":"115:8:55","nodeType":"ContractDefinition","nodes":[{"constant":false,"documentation":{"id":11525,"nodeType":"StructuredDocumentation","src":"147:158:55","text":"Immutable contract address that actually attends all calls to this contract.\n @dev Differs from `address(this)` when reached within a DELEGATECALL."},"functionSelector":"7104ddb2","id":11531,"mutability":"immutable","name":"self","nameLocation":"335:4:55","nodeType":"VariableDeclaration","scope":11629,"src":"310:45:55","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11526,"name":"address","nodeType":"ElementaryTypeName","src":"310:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"id":11529,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"350:4:55","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}],"id":11528,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"342:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11527,"name":"address","nodeType":"ElementaryTypeName","src":"342:7:55","typeDescriptions":{}}},"id":11530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"342:13:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"anonymous":false,"id":11541,"name":"Cloned","nameLocation":"368:6:55","nodeType":"EventDefinition","parameters":{"id":11540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11533,"indexed":true,"mutability":"mutable","name":"by","nameLocation":"391:2:55","nodeType":"VariableDeclaration","scope":11541,"src":"375:18:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11532,"name":"address","nodeType":"ElementaryTypeName","src":"375:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11536,"indexed":true,"mutability":"mutable","name":"self","nameLocation":"412:4:55","nodeType":"VariableDeclaration","scope":11541,"src":"395:21:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"},"typeName":{"id":11535,"nodeType":"UserDefinedTypeName","pathNode":{"id":11534,"name":"Clonable","nodeType":"IdentifierPath","referencedDeclaration":11629,"src":"395:8:55"},"referencedDeclaration":11629,"src":"395:8:55","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"visibility":"internal"},{"constant":false,"id":11539,"indexed":true,"mutability":"mutable","name":"clone","nameLocation":"435:5:55","nodeType":"VariableDeclaration","scope":11541,"src":"418:22:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"},"typeName":{"id":11538,"nodeType":"UserDefinedTypeName","pathNode":{"id":11537,"name":"Clonable","nodeType":"IdentifierPath","referencedDeclaration":11629,"src":"418:8:55"},"referencedDeclaration":11629,"src":"418:8:55","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"visibility":"internal"}],"src":"374:67:55"},"src":"362:80:55"},{"body":{"id":11555,"nodeType":"Block","src":"587:69:55","statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":11549,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"626:4:55","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}],"id":11548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"618:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11547,"name":"address","nodeType":"ElementaryTypeName","src":"618:7:55","typeDescriptions":{}}},"id":11550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"618:13:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":11551,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11531,"src":"635:4:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"618:21:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":11553,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"604:45:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":11546,"id":11554,"nodeType":"Return","src":"597:52:55"}]},"documentation":{"id":11542,"nodeType":"StructuredDocumentation","src":"448:69:55","text":"Tells whether this contract is a clone of another (i.e. `self()`)"},"functionSelector":"a04daef0","id":11556,"implemented":true,"kind":"function","modifiers":[],"name":"cloned","nameLocation":"531:6:55","nodeType":"FunctionDefinition","parameters":{"id":11543,"nodeType":"ParameterList","parameters":[],"src":"537:2:55"},"returnParameters":{"id":11546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11545,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11556,"src":"577:4:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11544,"name":"bool","nodeType":"ElementaryTypeName","src":"577:4:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"576:6:55"},"scope":11629,"src":"522:134:55","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":11590,"nodeType":"Block","src":"1183:789:55","statements":[{"assignments":[11564],"declarations":[{"constant":false,"id":11564,"mutability":"mutable","name":"_self","nameLocation":"1201:5:55","nodeType":"VariableDeclaration","scope":11590,"src":"1193:13:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11563,"name":"address","nodeType":"ElementaryTypeName","src":"1193:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":11566,"initialValue":{"id":11565,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11531,"src":"1209:4:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1193:20:55"},{"AST":{"nodeType":"YulBlock","src":"1232:588:55","statements":[{"nodeType":"YulVariableDeclaration","src":"1278:22:55","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1295:4:55","type":"","value":"0x40"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1289:5:55"},"nodeType":"YulFunctionCall","src":"1289:11:55"},"variables":[{"name":"ptr","nodeType":"YulTypedName","src":"1282:3:55","type":""}]},{"expression":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"1378:3:55"},{"kind":"number","nodeType":"YulLiteral","src":"1383:66:55","type":"","value":"0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1371:6:55"},"nodeType":"YulFunctionCall","src":"1371:79:55"},"nodeType":"YulExpressionStatement","src":"1371:79:55"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"1540:3:55"},{"kind":"number","nodeType":"YulLiteral","src":"1545:4:55","type":"","value":"0x14"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1536:3:55"},"nodeType":"YulFunctionCall","src":"1536:14:55"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1556:4:55","type":"","value":"0x60"},{"name":"_self","nodeType":"YulIdentifier","src":"1562:5:55"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1552:3:55"},"nodeType":"YulFunctionCall","src":"1552:16:55"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1529:6:55"},"nodeType":"YulFunctionCall","src":"1529:40:55"},"nodeType":"YulExpressionStatement","src":"1529:40:55"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"1649:3:55"},{"kind":"number","nodeType":"YulLiteral","src":"1654:4:55","type":"","value":"0x28"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1645:3:55"},"nodeType":"YulFunctionCall","src":"1645:14:55"},{"kind":"number","nodeType":"YulLiteral","src":"1661:66:55","type":"","value":"0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1638:6:55"},"nodeType":"YulFunctionCall","src":"1638:90:55"},"nodeType":"YulExpressionStatement","src":"1638:90:55"},{"nodeType":"YulAssignment","src":"1777:33:55","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1797:1:55","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"1800:3:55"},{"kind":"number","nodeType":"YulLiteral","src":"1805:4:55","type":"","value":"0x37"}],"functionName":{"name":"create","nodeType":"YulIdentifier","src":"1790:6:55"},"nodeType":"YulFunctionCall","src":"1790:20:55"},"variableNames":[{"name":"_instance","nodeType":"YulIdentifier","src":"1777:9:55"}]}]},"evmVersion":"london","externalReferences":[{"declaration":11561,"isOffset":false,"isSlot":false,"src":"1777:9:55","valueSize":1},{"declaration":11564,"isOffset":false,"isSlot":false,"src":"1562:5:55","valueSize":1}],"id":11567,"nodeType":"InlineAssembly","src":"1223:597:55"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":11571,"name":"_instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11561,"src":"1853:9:55","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}],"id":11570,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1845:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11569,"name":"address","nodeType":"ElementaryTypeName","src":"1845:7:55","typeDescriptions":{}}},"id":11572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1845:18:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":11575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1875:1:55","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":11574,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1867:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11573,"name":"address","nodeType":"ElementaryTypeName","src":"1867:7:55","typeDescriptions":{}}},"id":11576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1867:10:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1845:32:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"436c6f6e61626c653a20435245415445206661696c6564","id":11578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1879:25:55","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e","typeString":"literal_string \"Clonable: CREATE failed\""},"value":"Clonable: CREATE failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e","typeString":"literal_string \"Clonable: CREATE failed\""}],"id":11568,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1837:7:55","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1837:68:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11580,"nodeType":"ExpressionStatement","src":"1837:68:55"},{"eventCall":{"arguments":[{"expression":{"id":11582,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1927:3:55","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":11583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"1927:10:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":11585,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11531,"src":"1948:4:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11584,"name":"Clonable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11629,"src":"1939:8:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clonable_$11629_$","typeString":"type(contract Clonable)"}},"id":11586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1939:14:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},{"id":11587,"name":"_instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11561,"src":"1955:9:55","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"},{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}],"id":11581,"name":"Cloned","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11541,"src":"1920:6:55","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_contract$_Clonable_$11629_$_t_contract$_Clonable_$11629_$returns$__$","typeString":"function (address,contract Clonable,contract Clonable)"}},"id":11588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1920:45:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11589,"nodeType":"EmitStatement","src":"1915:50:55"}]},"documentation":{"id":11557,"nodeType":"StructuredDocumentation","src":"662:435:55","text":"Deploys and returns the address of a minimal proxy clone that replicates contract\n behaviour while using its own EVM storage.\n @dev This function should always provide a new address, no matter how many times \n @dev is actually called from the same `msg.sender`.\n @dev See https://eips.ethereum.org/EIPS/eip-1167.\n @dev See https://blog.openzeppelin.com/deep-dive-into-the-minimal-proxy-contract/."},"functionSelector":"09ed4607","id":11591,"implemented":true,"kind":"function","modifiers":[],"name":"clone","nameLocation":"1111:5:55","nodeType":"FunctionDefinition","parameters":{"id":11558,"nodeType":"ParameterList","parameters":[],"src":"1116:2:55"},"returnParameters":{"id":11562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11561,"mutability":"mutable","name":"_instance","nameLocation":"1168:9:55","nodeType":"VariableDeclaration","scope":11591,"src":"1159:18:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"},"typeName":{"id":11560,"nodeType":"UserDefinedTypeName","pathNode":{"id":11559,"name":"Clonable","nodeType":"IdentifierPath","referencedDeclaration":11629,"src":"1159:8:55"},"referencedDeclaration":11629,"src":"1159:8:55","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"visibility":"internal"}],"src":"1158:20:55"},"scope":11629,"src":"1102:870:55","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":11627,"nodeType":"Block","src":"2627:733:55","statements":[{"assignments":[11601],"declarations":[{"constant":false,"id":11601,"mutability":"mutable","name":"_self","nameLocation":"2645:5:55","nodeType":"VariableDeclaration","scope":11627,"src":"2637:13:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11600,"name":"address","nodeType":"ElementaryTypeName","src":"2637:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":11603,"initialValue":{"id":11602,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11531,"src":"2653:4:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2637:20:55"},{"AST":{"nodeType":"YulBlock","src":"2676:539:55","statements":[{"nodeType":"YulVariableDeclaration","src":"2722:22:55","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2739:4:55","type":"","value":"0x40"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2733:5:55"},"nodeType":"YulFunctionCall","src":"2733:11:55"},"variables":[{"name":"ptr","nodeType":"YulTypedName","src":"2726:3:55","type":""}]},{"expression":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"2764:3:55"},{"kind":"number","nodeType":"YulLiteral","src":"2769:66:55","type":"","value":"0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2757:6:55"},"nodeType":"YulFunctionCall","src":"2757:79:55"},"nodeType":"YulExpressionStatement","src":"2757:79:55"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"2926:3:55"},{"kind":"number","nodeType":"YulLiteral","src":"2931:4:55","type":"","value":"0x14"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2922:3:55"},"nodeType":"YulFunctionCall","src":"2922:14:55"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2942:4:55","type":"","value":"0x60"},{"name":"_self","nodeType":"YulIdentifier","src":"2948:5:55"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2938:3:55"},"nodeType":"YulFunctionCall","src":"2938:16:55"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2915:6:55"},"nodeType":"YulFunctionCall","src":"2915:40:55"},"nodeType":"YulExpressionStatement","src":"2915:40:55"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"3035:3:55"},{"kind":"number","nodeType":"YulLiteral","src":"3040:4:55","type":"","value":"0x28"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3031:3:55"},"nodeType":"YulFunctionCall","src":"3031:14:55"},{"kind":"number","nodeType":"YulLiteral","src":"3047:66:55","type":"","value":"0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3024:6:55"},"nodeType":"YulFunctionCall","src":"3024:90:55"},"nodeType":"YulExpressionStatement","src":"3024:90:55"},{"nodeType":"YulAssignment","src":"3164:41:55","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3185:1:55","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"3188:3:55"},{"kind":"number","nodeType":"YulLiteral","src":"3193:4:55","type":"","value":"0x37"},{"name":"_salt","nodeType":"YulIdentifier","src":"3199:5:55"}],"functionName":{"name":"create2","nodeType":"YulIdentifier","src":"3177:7:55"},"nodeType":"YulFunctionCall","src":"3177:28:55"},"variableNames":[{"name":"_instance","nodeType":"YulIdentifier","src":"3164:9:55"}]}]},"evmVersion":"london","externalReferences":[{"declaration":11598,"isOffset":false,"isSlot":false,"src":"3164:9:55","valueSize":1},{"declaration":11594,"isOffset":false,"isSlot":false,"src":"3199:5:55","valueSize":1},{"declaration":11601,"isOffset":false,"isSlot":false,"src":"2948:5:55","valueSize":1}],"id":11604,"nodeType":"InlineAssembly","src":"2667:548:55"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":11608,"name":"_instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11598,"src":"3240:9:55","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}],"id":11607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3232:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11606,"name":"address","nodeType":"ElementaryTypeName","src":"3232:7:55","typeDescriptions":{}}},"id":11609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3232:18:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":11612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3262:1:55","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":11611,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3254:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11610,"name":"address","nodeType":"ElementaryTypeName","src":"3254:7:55","typeDescriptions":{}}},"id":11613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3254:10:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3232:32:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"436c6f6e61626c653a2043524541544532206661696c6564","id":11615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3266:26:55","typeDescriptions":{"typeIdentifier":"t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf","typeString":"literal_string \"Clonable: CREATE2 failed\""},"value":"Clonable: CREATE2 failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf","typeString":"literal_string \"Clonable: CREATE2 failed\""}],"id":11605,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3224:7:55","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3224:69:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11617,"nodeType":"ExpressionStatement","src":"3224:69:55"},{"eventCall":{"arguments":[{"expression":{"id":11619,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3315:3:55","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":11620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"3315:10:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":11622,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11531,"src":"3336:4:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11621,"name":"Clonable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11629,"src":"3327:8:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clonable_$11629_$","typeString":"type(contract Clonable)"}},"id":11623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3327:14:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},{"id":11624,"name":"_instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11598,"src":"3343:9:55","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"},{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}],"id":11618,"name":"Cloned","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11541,"src":"3308:6:55","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_contract$_Clonable_$11629_$_t_contract$_Clonable_$11629_$returns$__$","typeString":"function (address,contract Clonable,contract Clonable)"}},"id":11625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3308:45:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11626,"nodeType":"EmitStatement","src":"3303:50:55"}]},"documentation":{"id":11592,"nodeType":"StructuredDocumentation","src":"1978:537:55","text":"Deploys and returns the address of a minimal proxy clone that replicates contract \n behaviour while using its own EVM storage.\n @dev This function uses the CREATE2 opcode and a `_salt` to deterministically deploy\n @dev the clone. Using the same `_salt` multiple times will revert, since\n @dev no contract can be deployed more than once at the same address.\n @dev See https://eips.ethereum.org/EIPS/eip-1167.\n @dev See https://blog.openzeppelin.com/deep-dive-into-the-minimal-proxy-contract/."},"functionSelector":"daaa360c","id":11628,"implemented":true,"kind":"function","modifiers":[],"name":"cloneDeterministic","nameLocation":"2529:18:55","nodeType":"FunctionDefinition","parameters":{"id":11595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11594,"mutability":"mutable","name":"_salt","nameLocation":"2556:5:55","nodeType":"VariableDeclaration","scope":11628,"src":"2548:13:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11593,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2548:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2547:15:55"},"returnParameters":{"id":11599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11598,"mutability":"mutable","name":"_instance","nameLocation":"2612:9:55","nodeType":"VariableDeclaration","scope":11628,"src":"2603:18:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"},"typeName":{"id":11597,"nodeType":"UserDefinedTypeName","pathNode":{"id":11596,"name":"Clonable","nodeType":"IdentifierPath","referencedDeclaration":11629,"src":"2603:8:55"},"referencedDeclaration":11629,"src":"2603:8:55","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"visibility":"internal"}],"src":"2602:20:55"},"scope":11629,"src":"2520:840:55","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":11630,"src":"97:3265:55","usedErrors":[]}],"src":"33:3330:55"},"id":55},"witnet-solidity-bridge/contracts/patterns/Context.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/patterns/Context.sol","exportedSymbols":{"Context":[11660]},"id":11661,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":11631,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"33:23:56"},{"abstract":true,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":{"id":11632,"nodeType":"StructuredDocumentation","src":"58:416:56","text":"@dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned)."},"fullyImplemented":true,"id":11660,"linearizedBaseContracts":[11660],"name":"Context","nameLocation":"492:7:56","nodeType":"ContractDefinition","nodes":[{"body":{"id":11640,"nodeType":"Block","src":"568:34:56","statements":[{"expression":{"expression":{"id":11637,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"585:3:56","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":11638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"585:10:56","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":11636,"id":11639,"nodeType":"Return","src":"578:17:56"}]},"id":11641,"implemented":true,"kind":"function","modifiers":[],"name":"_msgSender","nameLocation":"515:10:56","nodeType":"FunctionDefinition","parameters":{"id":11633,"nodeType":"ParameterList","parameters":[],"src":"525:2:56"},"returnParameters":{"id":11636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11635,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11641,"src":"559:7:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11634,"name":"address","nodeType":"ElementaryTypeName","src":"559:7:56","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"558:9:56"},"scope":11660,"src":"506:96:56","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":11649,"nodeType":"Block","src":"675:32:56","statements":[{"expression":{"expression":{"id":11646,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"692:3:56","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":11647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","src":"692:8:56","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"functionReturnParameters":11645,"id":11648,"nodeType":"Return","src":"685:15:56"}]},"id":11650,"implemented":true,"kind":"function","modifiers":[],"name":"_msgData","nameLocation":"617:8:56","nodeType":"FunctionDefinition","parameters":{"id":11642,"nodeType":"ParameterList","parameters":[],"src":"625:2:56"},"returnParameters":{"id":11645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11644,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11650,"src":"659:14:56","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11643,"name":"bytes","nodeType":"ElementaryTypeName","src":"659:5:56","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"658:16:56"},"scope":11660,"src":"608:99:56","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":11658,"nodeType":"Block","src":"774:33:56","statements":[{"expression":{"expression":{"id":11655,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"791:3:56","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":11656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"791:9:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":11654,"id":11657,"nodeType":"Return","src":"784:16:56"}]},"id":11659,"implemented":true,"kind":"function","modifiers":[],"name":"_msgValue","nameLocation":"722:9:56","nodeType":"FunctionDefinition","parameters":{"id":11651,"nodeType":"ParameterList","parameters":[],"src":"731:2:56"},"returnParameters":{"id":11654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11653,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11659,"src":"765:7:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11652,"name":"uint256","nodeType":"ElementaryTypeName","src":"765:7:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"764:9:56"},"scope":11660,"src":"713:94:56","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":11661,"src":"474:335:56","usedErrors":[]}],"src":"33:777:56"},"id":56},"witnet-solidity-bridge/contracts/patterns/Destructible.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/patterns/Destructible.sol","exportedSymbols":{"Destructible":[11667]},"id":11668,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":11662,"literals":["solidity",">=","0.6",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:57"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":11667,"linearizedBaseContracts":[11667],"name":"Destructible","nameLocation":"76:12:57","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":11663,"nodeType":"StructuredDocumentation","src":"95:42:57","text":"@dev Self-destruct the whole contract."},"functionSelector":"2b68b9c6","id":11666,"implemented":false,"kind":"function","modifiers":[],"name":"destruct","nameLocation":"151:8:57","nodeType":"FunctionDefinition","parameters":{"id":11664,"nodeType":"ParameterList","parameters":[],"src":"159:2:57"},"returnParameters":{"id":11665,"nodeType":"ParameterList","parameters":[],"src":"170:0:57"},"scope":11667,"src":"142:29:57","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":11668,"src":"66:107:57","usedErrors":[]}],"src":"33:141:57"},"id":57},"witnet-solidity-bridge/contracts/patterns/Initializable.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/patterns/Initializable.sol","exportedSymbols":{"Initializable":[11676]},"id":11677,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":11669,"literals":["solidity",">=","0.6",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:58"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":11676,"linearizedBaseContracts":[11676],"name":"Initializable","nameLocation":"76:13:58","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":11670,"nodeType":"StructuredDocumentation","src":"96:47:58","text":"@dev Initialize contract's storage context."},"functionSelector":"439fab91","id":11675,"implemented":false,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"157:10:58","nodeType":"FunctionDefinition","parameters":{"id":11673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11672,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11675,"src":"168:14:58","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11671,"name":"bytes","nodeType":"ElementaryTypeName","src":"168:5:58","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"167:16:58"},"returnParameters":{"id":11674,"nodeType":"ParameterList","parameters":[],"src":"192:0:58"},"scope":11676,"src":"148:45:58","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":11677,"src":"66:129:58","usedErrors":[]}],"src":"33:163:58"},"id":58},"witnet-solidity-bridge/contracts/patterns/Ownable.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/patterns/Ownable.sol","exportedSymbols":{"Context":[11660],"Ownable":[11781]},"id":11782,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":11678,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"87:23:59"},{"absolutePath":"witnet-solidity-bridge/contracts/patterns/Context.sol","file":"./Context.sol","id":11679,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":11782,"sourceUnit":11661,"src":"112:23:59","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":11681,"name":"Context","nodeType":"IdentifierPath","referencedDeclaration":11660,"src":"664:7:59"},"id":11682,"nodeType":"InheritanceSpecifier","src":"664:7:59"}],"contractDependencies":[],"contractKind":"contract","documentation":{"id":11680,"nodeType":"StructuredDocumentation","src":"137:497:59","text":"@dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n By default, the owner account will be the one that deploys the contract. This\n can later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner."},"fullyImplemented":true,"id":11781,"linearizedBaseContracts":[11781,11660],"name":"Ownable","nameLocation":"653:7:59","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":11684,"mutability":"mutable","name":"_owner","nameLocation":"694:6:59","nodeType":"VariableDeclaration","scope":11781,"src":"678:22:59","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11683,"name":"address","nodeType":"ElementaryTypeName","src":"678:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"anonymous":false,"id":11690,"name":"OwnershipTransferred","nameLocation":"713:20:59","nodeType":"EventDefinition","parameters":{"id":11689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11686,"indexed":true,"mutability":"mutable","name":"previousOwner","nameLocation":"750:13:59","nodeType":"VariableDeclaration","scope":11690,"src":"734:29:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11685,"name":"address","nodeType":"ElementaryTypeName","src":"734:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11688,"indexed":true,"mutability":"mutable","name":"newOwner","nameLocation":"781:8:59","nodeType":"VariableDeclaration","scope":11690,"src":"765:24:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11687,"name":"address","nodeType":"ElementaryTypeName","src":"765:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"733:57:59"},"src":"707:84:59"},{"body":{"id":11699,"nodeType":"Block","src":"892:49:59","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":11695,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11641,"src":"921:10:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":11696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"921:12:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11694,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11780,"src":"902:18:59","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":11697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"902:32:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11698,"nodeType":"ExpressionStatement","src":"902:32:59"}]},"documentation":{"id":11691,"nodeType":"StructuredDocumentation","src":"797:76:59","text":"@dev Initializes the contract setting the deployer as the initial owner."},"id":11700,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":11692,"nodeType":"ParameterList","parameters":[],"src":"889:2:59"},"returnParameters":{"id":11693,"nodeType":"ParameterList","parameters":[],"src":"892:0:59"},"scope":11781,"src":"878:63:59","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":11708,"nodeType":"Block","src":"1057:30:59","statements":[{"expression":{"id":11706,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11684,"src":"1074:6:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":11705,"id":11707,"nodeType":"Return","src":"1067:13:59"}]},"documentation":{"id":11701,"nodeType":"StructuredDocumentation","src":"947:50:59","text":"@dev Returns the address of the current owner."},"functionSelector":"8da5cb5b","id":11709,"implemented":true,"kind":"function","modifiers":[],"name":"owner","nameLocation":"1011:5:59","nodeType":"FunctionDefinition","parameters":{"id":11702,"nodeType":"ParameterList","parameters":[],"src":"1016:2:59"},"returnParameters":{"id":11705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11704,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11709,"src":"1048:7:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11703,"name":"address","nodeType":"ElementaryTypeName","src":"1048:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1047:9:59"},"scope":11781,"src":"1002:85:59","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":11722,"nodeType":"Block","src":"1181:96:59","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":11713,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11709,"src":"1199:5:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":11714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1199:7:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":11715,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11641,"src":"1210:10:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":11716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1210:12:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1199:23:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572","id":11718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1224:34:59","typeDescriptions":{"typeIdentifier":"t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","typeString":"literal_string \"Ownable: caller is not the owner\""},"value":"Ownable: caller is not the owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","typeString":"literal_string \"Ownable: caller is not the owner\""}],"id":11712,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1191:7:59","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1191:68:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11720,"nodeType":"ExpressionStatement","src":"1191:68:59"},{"id":11721,"nodeType":"PlaceholderStatement","src":"1269:1:59"}]},"documentation":{"id":11710,"nodeType":"StructuredDocumentation","src":"1093:62:59","text":"@dev Throws if called by any account other than the owner."},"id":11723,"name":"onlyOwner","nameLocation":"1169:9:59","nodeType":"ModifierDefinition","parameters":{"id":11711,"nodeType":"ParameterList","parameters":[],"src":"1178:2:59"},"src":"1160:117:59","virtual":false,"visibility":"internal"},{"body":{"id":11736,"nodeType":"Block","src":"1654:47:59","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":11732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1691:1:59","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":11731,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1683:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11730,"name":"address","nodeType":"ElementaryTypeName","src":"1683:7:59","typeDescriptions":{}}},"id":11733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1683:10:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11729,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11780,"src":"1664:18:59","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":11734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1664:30:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11735,"nodeType":"ExpressionStatement","src":"1664:30:59"}]},"documentation":{"id":11724,"nodeType":"StructuredDocumentation","src":"1283:312:59","text":"@dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions anymore. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby removing any functionality that is only available to the owner."},"functionSelector":"715018a6","id":11737,"implemented":true,"kind":"function","modifiers":[{"id":11727,"kind":"modifierInvocation","modifierName":{"id":11726,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":11723,"src":"1644:9:59"},"nodeType":"ModifierInvocation","src":"1644:9:59"}],"name":"renounceOwnership","nameLocation":"1609:17:59","nodeType":"FunctionDefinition","parameters":{"id":11725,"nodeType":"ParameterList","parameters":[],"src":"1626:2:59"},"returnParameters":{"id":11728,"nodeType":"ParameterList","parameters":[],"src":"1654:0:59"},"scope":11781,"src":"1600:101:59","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":11759,"nodeType":"Block","src":"1906:128:59","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11746,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11740,"src":"1924:8:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":11749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1944:1:59","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":11748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1936:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11747,"name":"address","nodeType":"ElementaryTypeName","src":"1936:7:59","typeDescriptions":{}}},"id":11750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1936:10:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1924:22:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373","id":11752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1948:40:59","typeDescriptions":{"typeIdentifier":"t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe","typeString":"literal_string \"Ownable: new owner is the zero address\""},"value":"Ownable: new owner is the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe","typeString":"literal_string \"Ownable: new owner is the zero address\""}],"id":11745,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1916:7:59","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1916:73:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11754,"nodeType":"ExpressionStatement","src":"1916:73:59"},{"expression":{"arguments":[{"id":11756,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11740,"src":"2018:8:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11755,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11780,"src":"1999:18:59","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":11757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1999:28:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11758,"nodeType":"ExpressionStatement","src":"1999:28:59"}]},"documentation":{"id":11738,"nodeType":"StructuredDocumentation","src":"1707:124:59","text":"@dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner."},"functionSelector":"f2fde38b","id":11760,"implemented":true,"kind":"function","modifiers":[{"id":11743,"kind":"modifierInvocation","modifierName":{"id":11742,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":11723,"src":"1896:9:59"},"nodeType":"ModifierInvocation","src":"1896:9:59"}],"name":"transferOwnership","nameLocation":"1845:17:59","nodeType":"FunctionDefinition","parameters":{"id":11741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11740,"mutability":"mutable","name":"newOwner","nameLocation":"1871:8:59","nodeType":"VariableDeclaration","scope":11760,"src":"1863:16:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11739,"name":"address","nodeType":"ElementaryTypeName","src":"1863:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1862:18:59"},"returnParameters":{"id":11744,"nodeType":"ParameterList","parameters":[],"src":"1906:0:59"},"scope":11781,"src":"1836:198:59","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":11779,"nodeType":"Block","src":"2237:124:59","statements":[{"assignments":[11767],"declarations":[{"constant":false,"id":11767,"mutability":"mutable","name":"oldOwner","nameLocation":"2255:8:59","nodeType":"VariableDeclaration","scope":11779,"src":"2247:16:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11766,"name":"address","nodeType":"ElementaryTypeName","src":"2247:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":11769,"initialValue":{"id":11768,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11684,"src":"2266:6:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2247:25:59"},{"expression":{"id":11772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11770,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11684,"src":"2282:6:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11771,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11763,"src":"2291:8:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2282:17:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11773,"nodeType":"ExpressionStatement","src":"2282:17:59"},{"eventCall":{"arguments":[{"id":11775,"name":"oldOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11767,"src":"2335:8:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11776,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11763,"src":"2345:8:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":11774,"name":"OwnershipTransferred","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11690,"src":"2314:20:59","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":11777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2314:40:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11778,"nodeType":"EmitStatement","src":"2309:45:59"}]},"documentation":{"id":11761,"nodeType":"StructuredDocumentation","src":"2040:129:59","text":"@dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction."},"id":11780,"implemented":true,"kind":"function","modifiers":[],"name":"_transferOwnership","nameLocation":"2183:18:59","nodeType":"FunctionDefinition","parameters":{"id":11764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11763,"mutability":"mutable","name":"newOwner","nameLocation":"2210:8:59","nodeType":"VariableDeclaration","scope":11780,"src":"2202:16:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11762,"name":"address","nodeType":"ElementaryTypeName","src":"2202:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2201:18:59"},"returnParameters":{"id":11765,"nodeType":"ParameterList","parameters":[],"src":"2237:0:59"},"scope":11781,"src":"2174:187:59","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":11782,"src":"635:1728:59","usedErrors":[]}],"src":"87:2276:59"},"id":59},"witnet-solidity-bridge/contracts/patterns/Payable.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/patterns/Payable.sol","exportedSymbols":{"IERC20":[7292],"Payable":[11832]},"id":11833,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":11783,"literals":["solidity",">=","0.6",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:60"},{"absolutePath":"witnet-solidity-bridge/contracts/interfaces/IERC20.sol","file":"../interfaces/IERC20.sol","id":11784,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":11833,"sourceUnit":7293,"src":"66:34:60","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","fullyImplemented":false,"id":11832,"linearizedBaseContracts":[11832],"name":"Payable","nameLocation":"120:7:60","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"e5a6b10f","id":11787,"mutability":"immutable","name":"currency","nameLocation":"158:8:60","nodeType":"VariableDeclaration","scope":11832,"src":"134:32:60","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$7292","typeString":"contract IERC20"},"typeName":{"id":11786,"nodeType":"UserDefinedTypeName","pathNode":{"id":11785,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":7292,"src":"134:6:60"},"referencedDeclaration":7292,"src":"134:6:60","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$7292","typeString":"contract IERC20"}},"visibility":"public"},{"anonymous":false,"id":11793,"name":"Received","nameLocation":"179:8:60","nodeType":"EventDefinition","parameters":{"id":11792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11789,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"196:4:60","nodeType":"VariableDeclaration","scope":11793,"src":"188:12:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11788,"name":"address","nodeType":"ElementaryTypeName","src":"188:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11791,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"210:6:60","nodeType":"VariableDeclaration","scope":11793,"src":"202:14:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11790,"name":"uint256","nodeType":"ElementaryTypeName","src":"202:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"187:30:60"},"src":"173:45:60"},{"anonymous":false,"id":11799,"name":"Transfer","nameLocation":"229:8:60","nodeType":"EventDefinition","parameters":{"id":11798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11795,"indexed":false,"mutability":"mutable","name":"to","nameLocation":"246:2:60","nodeType":"VariableDeclaration","scope":11799,"src":"238:10:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11794,"name":"address","nodeType":"ElementaryTypeName","src":"238:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11797,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"258:6:60","nodeType":"VariableDeclaration","scope":11799,"src":"250:14:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11796,"name":"uint256","nodeType":"ElementaryTypeName","src":"250:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"237:28:60"},"src":"223:43:60"},{"body":{"id":11810,"nodeType":"Block","src":"303:45:60","statements":[{"expression":{"id":11808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11804,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"313:8:60","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$7292","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":11806,"name":"_currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11801,"src":"331:9:60","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11805,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7292,"src":"324:6:60","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$7292_$","typeString":"type(contract IERC20)"}},"id":11807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"324:17:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$7292","typeString":"contract IERC20"}},"src":"313:28:60","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$7292","typeString":"contract IERC20"}},"id":11809,"nodeType":"ExpressionStatement","src":"313:28:60"}]},"id":11811,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":11802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11801,"mutability":"mutable","name":"_currency","nameLocation":"292:9:60","nodeType":"VariableDeclaration","scope":11811,"src":"284:17:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11800,"name":"address","nodeType":"ElementaryTypeName","src":"284:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"283:19:60"},"returnParameters":{"id":11803,"nodeType":"ParameterList","parameters":[],"src":"303:0:60"},"scope":11832,"src":"272:76:60","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"documentation":{"id":11812,"nodeType":"StructuredDocumentation","src":"354:35:60","text":"Gets current transaction price."},"id":11817,"implemented":false,"kind":"function","modifiers":[],"name":"_getGasPrice","nameLocation":"403:12:60","nodeType":"FunctionDefinition","parameters":{"id":11813,"nodeType":"ParameterList","parameters":[],"src":"415:2:60"},"returnParameters":{"id":11816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11815,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11817,"src":"449:7:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11814,"name":"uint256","nodeType":"ElementaryTypeName","src":"449:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"448:9:60"},"scope":11832,"src":"394:64:60","stateMutability":"view","virtual":true,"visibility":"internal"},{"documentation":{"id":11818,"nodeType":"StructuredDocumentation","src":"464:31:60","text":"Gets current payment value."},"id":11823,"implemented":false,"kind":"function","modifiers":[],"name":"_getMsgValue","nameLocation":"509:12:60","nodeType":"FunctionDefinition","parameters":{"id":11819,"nodeType":"ParameterList","parameters":[],"src":"521:2:60"},"returnParameters":{"id":11822,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11821,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11823,"src":"555:7:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11820,"name":"uint256","nodeType":"ElementaryTypeName","src":"555:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"554:9:60"},"scope":11832,"src":"500:64:60","stateMutability":"view","virtual":true,"visibility":"internal"},{"documentation":{"id":11824,"nodeType":"StructuredDocumentation","src":"570:71:60","text":"Perform safe transfer or whatever token is used for paying rewards."},"id":11831,"implemented":false,"kind":"function","modifiers":[],"name":"_safeTransferTo","nameLocation":"655:15:60","nodeType":"FunctionDefinition","parameters":{"id":11829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11826,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11831,"src":"671:15:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":11825,"name":"address","nodeType":"ElementaryTypeName","src":"671:15:60","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":11828,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11831,"src":"688:7:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11827,"name":"uint256","nodeType":"ElementaryTypeName","src":"688:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"670:26:60"},"returnParameters":{"id":11830,"nodeType":"ParameterList","parameters":[],"src":"713:0:60"},"scope":11832,"src":"646:68:60","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":11833,"src":"102:614:60","usedErrors":[]}],"src":"33:684:60"},"id":60},"witnet-solidity-bridge/contracts/patterns/Proxiable.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/patterns/Proxiable.sol","exportedSymbols":{"Proxiable":[11841]},"id":11842,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":11834,"literals":["solidity",">=","0.6",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:61"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":11841,"linearizedBaseContracts":[11841],"name":"Proxiable","nameLocation":"76:9:61","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":11835,"nodeType":"StructuredDocumentation","src":"92:134:61","text":"@dev Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)\n @dev See https://eips.ethereum.org/EIPS/eip-1822."},"functionSelector":"52d1902d","id":11840,"implemented":false,"kind":"function","modifiers":[],"name":"proxiableUUID","nameLocation":"240:13:61","nodeType":"FunctionDefinition","parameters":{"id":11836,"nodeType":"ParameterList","parameters":[],"src":"253:2:61"},"returnParameters":{"id":11839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11838,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11840,"src":"279:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11837,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279:7:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"278:9:61"},"scope":11841,"src":"231:57:61","stateMutability":"pure","virtual":false,"visibility":"external"}],"scope":11842,"src":"66:224:61","usedErrors":[]}],"src":"33:258:61"},"id":61},"witnet-solidity-bridge/contracts/patterns/Upgradable.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/patterns/Upgradable.sol","exportedSymbols":{"Initializable":[11676],"Proxiable":[11841],"Upgradable":[11937]},"id":11938,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":11843,"literals":["solidity",">=","0.6",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"75:31:62"},{"absolutePath":"witnet-solidity-bridge/contracts/patterns/Initializable.sol","file":"./Initializable.sol","id":11844,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":11938,"sourceUnit":11677,"src":"108:29:62","symbolAliases":[],"unitAlias":""},{"absolutePath":"witnet-solidity-bridge/contracts/patterns/Proxiable.sol","file":"./Proxiable.sol","id":11845,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":11938,"sourceUnit":11842,"src":"138:25:62","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":11846,"name":"Initializable","nodeType":"IdentifierPath","referencedDeclaration":11676,"src":"197:13:62"},"id":11847,"nodeType":"InheritanceSpecifier","src":"197:13:62"},{"baseName":{"id":11848,"name":"Proxiable","nodeType":"IdentifierPath","referencedDeclaration":11841,"src":"212:9:62"},"id":11849,"nodeType":"InheritanceSpecifier","src":"212:9:62"}],"contractDependencies":[],"contractKind":"contract","fullyImplemented":false,"id":11937,"linearizedBaseContracts":[11937,11841,11676],"name":"Upgradable","nameLocation":"183:10:62","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":11851,"mutability":"immutable","name":"_BASE","nameLocation":"256:5:62","nodeType":"VariableDeclaration","scope":11937,"src":"229:32:62","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11850,"name":"address","nodeType":"ElementaryTypeName","src":"229:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11853,"mutability":"immutable","name":"_CODEHASH","nameLocation":"294:9:62","nodeType":"VariableDeclaration","scope":11937,"src":"267:36:62","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11852,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":11855,"mutability":"immutable","name":"_UPGRADABLE","nameLocation":"333:11:62","nodeType":"VariableDeclaration","scope":11937,"src":"309:35:62","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11854,"name":"bool","nodeType":"ElementaryTypeName","src":"309:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"anonymous":false,"documentation":{"id":11856,"nodeType":"StructuredDocumentation","src":"351:433:62","text":"Emitted every time the contract gets upgraded.\n @param from The address who ordered the upgrading. Namely, the WRB operator in \"trustable\" implementations.\n @param baseAddr The address of the new implementation contract.\n @param baseCodehash The EVM-codehash of the new implementation contract.\n @param versionTag Ascii-encoded version literal with which the implementation deployer decided to tag it."},"id":11866,"name":"Upgraded","nameLocation":"795:8:62","nodeType":"EventDefinition","parameters":{"id":11865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11858,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"829:4:62","nodeType":"VariableDeclaration","scope":11866,"src":"813:20:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11857,"name":"address","nodeType":"ElementaryTypeName","src":"813:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11860,"indexed":true,"mutability":"mutable","name":"baseAddr","nameLocation":"859:8:62","nodeType":"VariableDeclaration","scope":11866,"src":"843:24:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11859,"name":"address","nodeType":"ElementaryTypeName","src":"843:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11862,"indexed":true,"mutability":"mutable","name":"baseCodehash","nameLocation":"893:12:62","nodeType":"VariableDeclaration","scope":11866,"src":"877:28:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11861,"name":"bytes32","nodeType":"ElementaryTypeName","src":"877:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":11864,"indexed":false,"mutability":"mutable","name":"versionTag","nameLocation":"923:10:62","nodeType":"VariableDeclaration","scope":11866,"src":"915:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11863,"name":"bytes32","nodeType":"ElementaryTypeName","src":"915:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"803:136:62"},"src":"789:151:62"},{"body":{"id":11894,"nodeType":"Block","src":"979:253:62","statements":[{"assignments":[11872],"declarations":[{"constant":false,"id":11872,"mutability":"mutable","name":"_base","nameLocation":"997:5:62","nodeType":"VariableDeclaration","scope":11894,"src":"989:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11871,"name":"address","nodeType":"ElementaryTypeName","src":"989:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":11877,"initialValue":{"arguments":[{"id":11875,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1013:4:62","typeDescriptions":{"typeIdentifier":"t_contract$_Upgradable_$11937","typeString":"contract Upgradable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Upgradable_$11937","typeString":"contract Upgradable"}],"id":11874,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1005:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11873,"name":"address","nodeType":"ElementaryTypeName","src":"1005:7:62","typeDescriptions":{}}},"id":11876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1005:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"989:29:62"},{"assignments":[11879],"declarations":[{"constant":false,"id":11879,"mutability":"mutable","name":"_codehash","nameLocation":"1036:9:62","nodeType":"VariableDeclaration","scope":11894,"src":"1028:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11878,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1028:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":11880,"nodeType":"VariableDeclarationStatement","src":"1028:17:62"},{"AST":{"nodeType":"YulBlock","src":"1072:55:62","statements":[{"nodeType":"YulAssignment","src":"1086:31:62","value":{"arguments":[{"name":"_base","nodeType":"YulIdentifier","src":"1111:5:62"}],"functionName":{"name":"extcodehash","nodeType":"YulIdentifier","src":"1099:11:62"},"nodeType":"YulFunctionCall","src":"1099:18:62"},"variableNames":[{"name":"_codehash","nodeType":"YulIdentifier","src":"1086:9:62"}]}]},"evmVersion":"london","externalReferences":[{"declaration":11872,"isOffset":false,"isSlot":false,"src":"1111:5:62","valueSize":1},{"declaration":11879,"isOffset":false,"isSlot":false,"src":"1086:9:62","valueSize":1}],"id":11881,"nodeType":"InlineAssembly","src":"1063:64:62"},{"expression":{"id":11884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11882,"name":"_BASE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11851,"src":"1136:5:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11883,"name":"_base","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11872,"src":"1144:5:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1136:13:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11885,"nodeType":"ExpressionStatement","src":"1136:13:62"},{"expression":{"id":11888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11886,"name":"_CODEHASH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11853,"src":"1159:9:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11887,"name":"_codehash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11879,"src":"1171:9:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1159:21:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11889,"nodeType":"ExpressionStatement","src":"1159:21:62"},{"expression":{"id":11892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11890,"name":"_UPGRADABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11855,"src":"1198:11:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11891,"name":"_isUpgradable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11868,"src":"1212:13:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1198:27:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11893,"nodeType":"ExpressionStatement","src":"1198:27:62"}]},"id":11895,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":11869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11868,"mutability":"mutable","name":"_isUpgradable","nameLocation":"964:13:62","nodeType":"VariableDeclaration","scope":11895,"src":"959:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11867,"name":"bool","nodeType":"ElementaryTypeName","src":"959:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"958:20:62"},"returnParameters":{"id":11870,"nodeType":"ParameterList","parameters":[],"src":"979:0:62"},"scope":11937,"src":"946:286:62","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"documentation":{"id":11896,"nodeType":"StructuredDocumentation","src":"1238:78:62","text":"@dev Tells whether provided address could eventually upgrade the contract."},"functionSelector":"6b58960a","id":11903,"implemented":false,"kind":"function","modifiers":[],"name":"isUpgradableFrom","nameLocation":"1330:16:62","nodeType":"FunctionDefinition","parameters":{"id":11899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11898,"mutability":"mutable","name":"from","nameLocation":"1355:4:62","nodeType":"VariableDeclaration","scope":11903,"src":"1347:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11897,"name":"address","nodeType":"ElementaryTypeName","src":"1347:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1346:14:62"},"returnParameters":{"id":11902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11901,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11903,"src":"1392:4:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11900,"name":"bool","nodeType":"ElementaryTypeName","src":"1392:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1391:6:62"},"scope":11937,"src":"1321:77:62","stateMutability":"view","virtual":true,"visibility":"external"},{"body":{"id":11911,"nodeType":"Block","src":"1749:29:62","statements":[{"expression":{"id":11909,"name":"_BASE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11851,"src":"1766:5:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":11908,"id":11910,"nodeType":"Return","src":"1759:12:62"}]},"documentation":{"id":11904,"nodeType":"StructuredDocumentation","src":"1605:93:62","text":"@dev Retrieves base contract. Differs from address(this) when via delegate-proxy pattern."},"functionSelector":"5001f3b5","id":11912,"implemented":true,"kind":"function","modifiers":[],"name":"base","nameLocation":"1712:4:62","nodeType":"FunctionDefinition","parameters":{"id":11905,"nodeType":"ParameterList","parameters":[],"src":"1716:2:62"},"returnParameters":{"id":11908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11907,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11912,"src":"1740:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11906,"name":"address","nodeType":"ElementaryTypeName","src":"1740:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1739:9:62"},"scope":11937,"src":"1703:75:62","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":11920,"nodeType":"Block","src":"2002:33:62","statements":[{"expression":{"id":11918,"name":"_CODEHASH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11853,"src":"2019:9:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":11917,"id":11919,"nodeType":"Return","src":"2012:16:62"}]},"documentation":{"id":11913,"nodeType":"StructuredDocumentation","src":"1784:153:62","text":"@dev Retrieves the immutable codehash of this contract, even if invoked as delegatecall.\n @return _codehash This contracts immutable codehash."},"functionSelector":"a9e954b9","id":11921,"implemented":true,"kind":"function","modifiers":[],"name":"codehash","nameLocation":"1951:8:62","nodeType":"FunctionDefinition","parameters":{"id":11914,"nodeType":"ParameterList","parameters":[],"src":"1959:2:62"},"returnParameters":{"id":11917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11916,"mutability":"mutable","name":"_codehash","nameLocation":"1991:9:62","nodeType":"VariableDeclaration","scope":11921,"src":"1983:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11915,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1983:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1982:19:62"},"scope":11937,"src":"1942:93:62","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":11929,"nodeType":"Block","src":"2241:43:62","statements":[{"expression":{"id":11927,"name":"_UPGRADABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11855,"src":"2266:11:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":11926,"id":11928,"nodeType":"Return","src":"2259:18:62"}]},"documentation":{"id":11922,"nodeType":"StructuredDocumentation","src":"2045:140:62","text":"@dev Determines whether current instance allows being upgraded.\n @dev Returned value should be invariant from whoever is calling."},"functionSelector":"5479d940","id":11930,"implemented":true,"kind":"function","modifiers":[],"name":"isUpgradable","nameLocation":"2199:12:62","nodeType":"FunctionDefinition","parameters":{"id":11923,"nodeType":"ParameterList","parameters":[],"src":"2211:2:62"},"returnParameters":{"id":11926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11925,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11930,"src":"2235:4:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11924,"name":"bool","nodeType":"ElementaryTypeName","src":"2235:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2234:6:62"},"scope":11937,"src":"2190:94:62","stateMutability":"view","virtual":false,"visibility":"public"},{"documentation":{"id":11931,"nodeType":"StructuredDocumentation","src":"2290:73:62","text":"@dev Retrieves human-redable named version of current implementation."},"functionSelector":"54fd4d50","id":11936,"implemented":false,"kind":"function","modifiers":[],"name":"version","nameLocation":"2377:7:62","nodeType":"FunctionDefinition","parameters":{"id":11932,"nodeType":"ParameterList","parameters":[],"src":"2384:2:62"},"returnParameters":{"id":11935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11934,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11936,"src":"2416:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11933,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2416:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2415:9:62"},"scope":11937,"src":"2368:57:62","stateMutability":"view","virtual":true,"visibility":"public"}],"scope":11938,"src":"165:2263:62","usedErrors":[]}],"src":"75:2353:62"},"id":62},"witnet-solidity-bridge/contracts/requests/WitnetRequestBase.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/requests/WitnetRequestBase.sol","exportedSymbols":{"IWitnetRequest":[7510],"Witnet":[8300],"WitnetRequestBase":[11951]},"id":11952,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":11939,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:63"},{"absolutePath":"witnet-solidity-bridge/contracts/libs/Witnet.sol","file":"../libs/Witnet.sol","id":11940,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":11952,"sourceUnit":8301,"src":"66:28:63","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":11941,"name":"IWitnetRequest","nodeType":"IdentifierPath","referencedDeclaration":7510,"src":"147:14:63"},"id":11942,"nodeType":"InheritanceSpecifier","src":"147:14:63"}],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":11951,"linearizedBaseContracts":[11951,7510],"name":"WitnetRequestBase","nameLocation":"114:17:63","nodeType":"ContractDefinition","nodes":[{"baseFunctions":[7503],"constant":false,"documentation":{"id":11943,"nodeType":"StructuredDocumentation","src":"168:79:63","text":"Contains a well-formed Witnet Data Request, encoded using Protocol Buffers."},"functionSelector":"f0940002","id":11946,"mutability":"mutable","name":"bytecode","nameLocation":"274:8:63","nodeType":"VariableDeclaration","overrides":{"id":11945,"nodeType":"OverrideSpecifier","overrides":[],"src":"265:8:63"},"scope":11951,"src":"252:30:63","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes"},"typeName":{"id":11944,"name":"bytes","nodeType":"ElementaryTypeName","src":"252:5:63","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"public"},{"baseFunctions":[7509],"constant":false,"documentation":{"id":11947,"nodeType":"StructuredDocumentation","src":"289:69:63","text":"Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes."},"functionSelector":"09bd5a60","id":11950,"mutability":"mutable","name":"hash","nameLocation":"387:4:63","nodeType":"VariableDeclaration","overrides":{"id":11949,"nodeType":"OverrideSpecifier","overrides":[],"src":"378:8:63"},"scope":11951,"src":"363:28:63","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11948,"name":"bytes32","nodeType":"ElementaryTypeName","src":"363:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"}],"scope":11952,"src":"96:298:63","usedErrors":[]}],"src":"33:362:63"},"id":63},"witnet-solidity-bridge/contracts/requests/WitnetRequestInitializableBase.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/requests/WitnetRequestInitializableBase.sol","exportedSymbols":{"IWitnetRequest":[7510],"Initializable":[11676],"Witnet":[8300],"WitnetRequestBase":[11951],"WitnetRequestInitializableBase":[11988]},"id":11989,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":11953,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:64"},{"absolutePath":"witnet-solidity-bridge/contracts/requests/WitnetRequestBase.sol","file":"./WitnetRequestBase.sol","id":11954,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":11989,"sourceUnit":11952,"src":"66:33:64","symbolAliases":[],"unitAlias":""},{"absolutePath":"witnet-solidity-bridge/contracts/patterns/Initializable.sol","file":"../patterns/Initializable.sol","id":11955,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":11989,"sourceUnit":11677,"src":"100:39:64","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":11956,"name":"Initializable","nodeType":"IdentifierPath","referencedDeclaration":11676,"src":"205:13:64"},"id":11957,"nodeType":"InheritanceSpecifier","src":"205:13:64"},{"baseName":{"id":11958,"name":"WitnetRequestBase","nodeType":"IdentifierPath","referencedDeclaration":11951,"src":"228:17:64"},"id":11959,"nodeType":"InheritanceSpecifier","src":"228:17:64"}],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":11988,"linearizedBaseContracts":[11988,11951,7510,11676],"name":"WitnetRequestInitializableBase","nameLocation":"159:30:64","nodeType":"ContractDefinition","nodes":[{"id":11962,"libraryName":{"id":11960,"name":"Witnet","nodeType":"IdentifierPath","referencedDeclaration":8300,"src":"258:6:64"},"nodeType":"UsingForDirective","src":"252:23:64","typeName":{"id":11961,"name":"bytes","nodeType":"ElementaryTypeName","src":"269:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},{"baseFunctions":[11675],"body":{"id":11986,"nodeType":"Block","src":"368:201:64","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":11969,"name":"bytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11946,"src":"399:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"id":11970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"399:15:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":11971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"418:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"399:20:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657452657175657374496e697469616c697a61626c65426173653a2063616e6e6f74206368616e67652062797465636f6465","id":11973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"433:56:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5","typeString":"literal_string \"WitnetRequestInitializableBase: cannot change bytecode\""},"value":"WitnetRequestInitializableBase: cannot change bytecode"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5","typeString":"literal_string \"WitnetRequestInitializableBase: cannot change bytecode\""}],"id":11968,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"378:7:64","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"378:121:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11975,"nodeType":"ExpressionStatement","src":"378:121:64"},{"expression":{"id":11978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11976,"name":"bytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11946,"src":"509:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11977,"name":"_bytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11964,"src":"520:9:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"509:20:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"id":11979,"nodeType":"ExpressionStatement","src":"509:20:64"},{"expression":{"id":11984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11980,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11950,"src":"539:4:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11981,"name":"_bytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11964,"src":"546:9:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":11982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"hash","nodeType":"MemberAccess","referencedDeclaration":7982,"src":"546:14:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$bound_to$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":11983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"546:16:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"539:23:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11985,"nodeType":"ExpressionStatement","src":"539:23:64"}]},"functionSelector":"439fab91","id":11987,"implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"289:10:64","nodeType":"FunctionDefinition","overrides":{"id":11966,"nodeType":"OverrideSpecifier","overrides":[],"src":"355:8:64"},"parameters":{"id":11965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11964,"mutability":"mutable","name":"_bytecode","nameLocation":"313:9:64","nodeType":"VariableDeclaration","scope":11987,"src":"300:22:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11963,"name":"bytes","nodeType":"ElementaryTypeName","src":"300:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"299:24:64"},"returnParameters":{"id":11967,"nodeType":"ParameterList","parameters":[],"src":"368:0:64"},"scope":11988,"src":"280:289:64","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":11989,"src":"141:430:64","usedErrors":[]}],"src":"33:539:64"},"id":64},"witnet-solidity-bridge/contracts/requests/WitnetRequestMalleableBase.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/requests/WitnetRequestMalleableBase.sol","exportedSymbols":{"Clonable":[11629],"Context":[11660],"IWitnetRequest":[7510],"Initializable":[11676],"Ownable":[11781],"Proxiable":[11841],"Witnet":[8300],"WitnetRequestMalleableBase":[12720]},"id":12721,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":11990,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:65"},{"absolutePath":"witnet-solidity-bridge/contracts/libs/Witnet.sol","file":"../libs/Witnet.sol","id":11991,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12721,"sourceUnit":8301,"src":"66:28:65","symbolAliases":[],"unitAlias":""},{"absolutePath":"witnet-solidity-bridge/contracts/patterns/Clonable.sol","file":"../patterns/Clonable.sol","id":11992,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12721,"sourceUnit":11630,"src":"95:34:65","symbolAliases":[],"unitAlias":""},{"absolutePath":"witnet-solidity-bridge/contracts/patterns/Ownable.sol","file":"../patterns/Ownable.sol","id":11993,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12721,"sourceUnit":11782,"src":"130:33:65","symbolAliases":[],"unitAlias":""},{"absolutePath":"witnet-solidity-bridge/contracts/patterns/Proxiable.sol","file":"../patterns/Proxiable.sol","id":11994,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12721,"sourceUnit":11842,"src":"164:35:65","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":11995,"name":"IWitnetRequest","nodeType":"IdentifierPath","referencedDeclaration":7510,"src":"261:14:65"},"id":11996,"nodeType":"InheritanceSpecifier","src":"261:14:65"},{"baseName":{"id":11997,"name":"Clonable","nodeType":"IdentifierPath","referencedDeclaration":11629,"src":"285:8:65"},"id":11998,"nodeType":"InheritanceSpecifier","src":"285:8:65"},{"baseName":{"id":11999,"name":"Ownable","nodeType":"IdentifierPath","referencedDeclaration":11781,"src":"303:7:65"},"id":12000,"nodeType":"InheritanceSpecifier","src":"303:7:65"},{"baseName":{"id":12001,"name":"Proxiable","nodeType":"IdentifierPath","referencedDeclaration":11841,"src":"320:9:65"},"id":12002,"nodeType":"InheritanceSpecifier","src":"320:9:65"}],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":12720,"linearizedBaseContracts":[12720,11841,11781,11660,11629,11676,7510],"name":"WitnetRequestMalleableBase","nameLocation":"219:26:65","nodeType":"ContractDefinition","nodes":[{"id":12004,"libraryName":{"id":12003,"name":"Witnet","nodeType":"IdentifierPath","referencedDeclaration":8300,"src":"345:6:65"},"nodeType":"UsingForDirective","src":"339:19:65"},{"anonymous":false,"id":12018,"name":"WitnessingParamsChanged","nameLocation":"370:23:65","nodeType":"EventDefinition","parameters":{"id":12017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12006,"indexed":true,"mutability":"mutable","name":"by","nameLocation":"419:2:65","nodeType":"VariableDeclaration","scope":12018,"src":"403:18:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12005,"name":"address","nodeType":"ElementaryTypeName","src":"403:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12008,"indexed":false,"mutability":"mutable","name":"numWitnesses","nameLocation":"437:12:65","nodeType":"VariableDeclaration","scope":12018,"src":"431:18:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12007,"name":"uint8","nodeType":"ElementaryTypeName","src":"431:5:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":12010,"indexed":false,"mutability":"mutable","name":"minWitnessingConsensus","nameLocation":"465:22:65","nodeType":"VariableDeclaration","scope":12018,"src":"459:28:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12009,"name":"uint8","nodeType":"ElementaryTypeName","src":"459:5:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":12012,"indexed":false,"mutability":"mutable","name":"witnssingCollateral","nameLocation":"504:19:65","nodeType":"VariableDeclaration","scope":12018,"src":"497:26:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12011,"name":"uint64","nodeType":"ElementaryTypeName","src":"497:6:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12014,"indexed":false,"mutability":"mutable","name":"witnessingReward","nameLocation":"540:16:65","nodeType":"VariableDeclaration","scope":12018,"src":"533:23:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12013,"name":"uint64","nodeType":"ElementaryTypeName","src":"533:6:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12016,"indexed":false,"mutability":"mutable","name":"witnessingUnitaryFee","nameLocation":"573:20:65","nodeType":"VariableDeclaration","scope":12018,"src":"566:27:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12015,"name":"uint64","nodeType":"ElementaryTypeName","src":"566:6:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"393:206:65"},"src":"364:236:65"},{"canonicalName":"WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext","id":12035,"members":[{"constant":false,"id":12021,"mutability":"mutable","name":"owner","nameLocation":"701:5:65","nodeType":"VariableDeclaration","scope":12035,"src":"693:13:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12020,"name":"address","nodeType":"ElementaryTypeName","src":"693:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12024,"mutability":"mutable","name":"template","nameLocation":"763:8:65","nodeType":"VariableDeclaration","scope":12035,"src":"757:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":12023,"name":"bytes","nodeType":"ElementaryTypeName","src":"757:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12027,"mutability":"mutable","name":"bytecode","nameLocation":"825:8:65","nodeType":"VariableDeclaration","scope":12035,"src":"819:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":12026,"name":"bytes","nodeType":"ElementaryTypeName","src":"819:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12030,"mutability":"mutable","name":"hash","nameLocation":"885:4:65","nodeType":"VariableDeclaration","scope":12035,"src":"877:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12029,"name":"bytes32","nodeType":"ElementaryTypeName","src":"877:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12034,"mutability":"mutable","name":"params","nameLocation":"976:6:65","nodeType":"VariableDeclaration","scope":12035,"src":"946:36:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams"},"typeName":{"id":12033,"nodeType":"UserDefinedTypeName","pathNode":{"id":12032,"name":"WitnetRequestWitnessingParams","nodeType":"IdentifierPath","referencedDeclaration":12051,"src":"946:29:65"},"referencedDeclaration":12051,"src":"946:29:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams"}},"visibility":"internal"}],"name":"WitnetRequestMalleableBaseContext","nameLocation":"613:33:65","nodeType":"StructDefinition","scope":12720,"src":"606:383:65","visibility":"public"},{"canonicalName":"WitnetRequestMalleableBase.WitnetRequestWitnessingParams","id":12051,"members":[{"constant":false,"id":12038,"mutability":"mutable","name":"numWitnesses","nameLocation":"1142:12:65","nodeType":"VariableDeclaration","scope":12051,"src":"1136:18:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12037,"name":"uint8","nodeType":"ElementaryTypeName","src":"1136:5:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":12041,"mutability":"mutable","name":"minWitnessingConsensus","nameLocation":"1302:22:65","nodeType":"VariableDeclaration","scope":12051,"src":"1296:28:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12040,"name":"uint8","nodeType":"ElementaryTypeName","src":"1296:5:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":12044,"mutability":"mutable","name":"witnessingCollateral","nameLocation":"1473:20:65","nodeType":"VariableDeclaration","scope":12051,"src":"1466:27:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12043,"name":"uint64","nodeType":"ElementaryTypeName","src":"1466:6:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12047,"mutability":"mutable","name":"witnessingReward","nameLocation":"1600:16:65","nodeType":"VariableDeclaration","scope":12051,"src":"1593:23:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12046,"name":"uint64","nodeType":"ElementaryTypeName","src":"1593:6:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12050,"mutability":"mutable","name":"witnessingUnitaryFee","nameLocation":"1773:20:65","nodeType":"VariableDeclaration","scope":12051,"src":"1766:27:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12049,"name":"uint64","nodeType":"ElementaryTypeName","src":"1766:6:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"WitnetRequestWitnessingParams","nameLocation":"1002:29:65","nodeType":"StructDefinition","scope":12720,"src":"995:805:65","visibility":"public"},{"baseFunctions":[7503],"body":{"id":12062,"nodeType":"Block","src":"1958:43:65","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12058,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12605,"src":"1975:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr_$","typeString":"function () pure returns (struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer)"}},"id":12059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1975:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer"}},"id":12060,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"bytecode","nodeType":"MemberAccess","referencedDeclaration":12027,"src":"1975:19:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"functionReturnParameters":12057,"id":12061,"nodeType":"Return","src":"1968:26:65"}]},"documentation":{"id":12052,"nodeType":"StructuredDocumentation","src":"1806:81:65","text":"Returns current Witnet Data Request bytecode, encoded using Protocol Buffers."},"functionSelector":"f0940002","id":12063,"implemented":true,"kind":"function","modifiers":[],"name":"bytecode","nameLocation":"1901:8:65","nodeType":"FunctionDefinition","overrides":{"id":12054,"nodeType":"OverrideSpecifier","overrides":[],"src":"1926:8:65"},"parameters":{"id":12053,"nodeType":"ParameterList","parameters":[],"src":"1909:2:65"},"returnParameters":{"id":12057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12056,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12063,"src":"1944:12:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12055,"name":"bytes","nodeType":"ElementaryTypeName","src":"1944:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1943:14:65"},"scope":12720,"src":"1892:109:65","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[7509],"body":{"id":12074,"nodeType":"Block","src":"2133:39:65","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12070,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12605,"src":"2150:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr_$","typeString":"function () pure returns (struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer)"}},"id":12071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2150:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer"}},"id":12072,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"hash","nodeType":"MemberAccess","referencedDeclaration":12030,"src":"2150:15:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":12069,"id":12073,"nodeType":"Return","src":"2143:22:65"}]},"documentation":{"id":12064,"nodeType":"StructuredDocumentation","src":"2007:64:65","text":"Returns SHA256 hash of current Witnet Data Request bytecode."},"functionSelector":"09bd5a60","id":12075,"implemented":true,"kind":"function","modifiers":[],"name":"hash","nameLocation":"2085:4:65","nodeType":"FunctionDefinition","overrides":{"id":12066,"nodeType":"OverrideSpecifier","overrides":[],"src":"2106:8:65"},"parameters":{"id":12065,"nodeType":"ParameterList","parameters":[],"src":"2089:2:65"},"returnParameters":{"id":12069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12068,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12075,"src":"2124:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12067,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2124:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2123:9:65"},"scope":12720,"src":"2076:96:65","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":12108,"nodeType":"Block","src":"2426:374:65","statements":[{"assignments":[12085],"declarations":[{"constant":false,"id":12085,"mutability":"mutable","name":"_params","nameLocation":"2474:7:65","nodeType":"VariableDeclaration","scope":12108,"src":"2436:45:65","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams"},"typeName":{"id":12084,"nodeType":"UserDefinedTypeName","pathNode":{"id":12083,"name":"WitnetRequestWitnessingParams","nodeType":"IdentifierPath","referencedDeclaration":12051,"src":"2436:29:65"},"referencedDeclaration":12051,"src":"2436:29:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams"}},"visibility":"internal"}],"id":12089,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12086,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12605,"src":"2484:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr_$","typeString":"function () pure returns (struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer)"}},"id":12087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2484:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer"}},"id":12088,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"params","nodeType":"MemberAccess","referencedDeclaration":12034,"src":"2484:17:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage ref"}},"nodeType":"VariableDeclarationStatement","src":"2436:65:65"},{"expression":{"id":12094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":12090,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12085,"src":"2511:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12092,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"witnessingCollateral","nodeType":"MemberAccess","referencedDeclaration":12044,"src":"2511:28:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12093,"name":"_witnessingCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12078,"src":"2542:21:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"2511:52:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":12095,"nodeType":"ExpressionStatement","src":"2511:52:65"},{"expression":{"arguments":[{"expression":{"id":12097,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12085,"src":"2604:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"numWitnesses","nodeType":"MemberAccess","referencedDeclaration":12038,"src":"2604:20:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"expression":{"id":12099,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12085,"src":"2638:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12100,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"minWitnessingConsensus","nodeType":"MemberAccess","referencedDeclaration":12041,"src":"2638:30:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":12101,"name":"_witnessingCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12078,"src":"2682:21:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"expression":{"id":12102,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12085,"src":"2717:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12103,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"witnessingReward","nodeType":"MemberAccess","referencedDeclaration":12047,"src":"2717:24:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"expression":{"id":12104,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12085,"src":"2755:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12105,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"witnessingUnitaryFee","nodeType":"MemberAccess","referencedDeclaration":12050,"src":"2755:28:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":12096,"name":"_malleateBytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12596,"src":"2573:17:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint8_$_t_uint8_$_t_uint64_$_t_uint64_$_t_uint64_$returns$__$","typeString":"function (uint8,uint8,uint64,uint64,uint64)"}},"id":12106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2573:220:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12107,"nodeType":"ExpressionStatement","src":"2573:220:65"}]},"documentation":{"id":12076,"nodeType":"StructuredDocumentation","src":"2178:127:65","text":"Sets amount of nanowits that a witness solving the request will be required to collateralize in the commitment transaction."},"functionSelector":"d9b9a961","id":12109,"implemented":true,"kind":"function","modifiers":[{"id":12081,"kind":"modifierInvocation","modifierName":{"id":12080,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":11723,"src":"2412:9:65"},"nodeType":"ModifierInvocation","src":"2412:9:65"}],"name":"setWitnessingCollateral","nameLocation":"2319:23:65","nodeType":"FunctionDefinition","parameters":{"id":12079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12078,"mutability":"mutable","name":"_witnessingCollateral","nameLocation":"2350:21:65","nodeType":"VariableDeclaration","scope":12109,"src":"2343:28:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12077,"name":"uint64","nodeType":"ElementaryTypeName","src":"2343:6:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"2342:30:65"},"returnParameters":{"id":12082,"nodeType":"ParameterList","parameters":[],"src":"2426:0:65"},"scope":12720,"src":"2310:490:65","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12149,"nodeType":"Block","src":"3308:421:65","statements":[{"assignments":[12121],"declarations":[{"constant":false,"id":12121,"mutability":"mutable","name":"_params","nameLocation":"3356:7:65","nodeType":"VariableDeclaration","scope":12149,"src":"3318:45:65","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams"},"typeName":{"id":12120,"nodeType":"UserDefinedTypeName","pathNode":{"id":12119,"name":"WitnetRequestWitnessingParams","nodeType":"IdentifierPath","referencedDeclaration":12051,"src":"3318:29:65"},"referencedDeclaration":12051,"src":"3318:29:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams"}},"visibility":"internal"}],"id":12125,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12122,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12605,"src":"3366:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr_$","typeString":"function () pure returns (struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer)"}},"id":12123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3366:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer"}},"id":12124,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"params","nodeType":"MemberAccess","referencedDeclaration":12034,"src":"3366:17:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage ref"}},"nodeType":"VariableDeclarationStatement","src":"3318:65:65"},{"expression":{"id":12130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":12126,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12121,"src":"3393:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12128,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"witnessingReward","nodeType":"MemberAccess","referencedDeclaration":12047,"src":"3393:24:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12129,"name":"_witnessingReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12112,"src":"3420:17:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"3393:44:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":12131,"nodeType":"ExpressionStatement","src":"3393:44:65"},{"expression":{"id":12136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":12132,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12121,"src":"3447:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12134,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"witnessingUnitaryFee","nodeType":"MemberAccess","referencedDeclaration":12050,"src":"3447:28:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12135,"name":"_witnessingUnitaryFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12114,"src":"3478:21:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"3447:52:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":12137,"nodeType":"ExpressionStatement","src":"3447:52:65"},{"expression":{"arguments":[{"expression":{"id":12139,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12121,"src":"3540:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12140,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"numWitnesses","nodeType":"MemberAccess","referencedDeclaration":12038,"src":"3540:20:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"expression":{"id":12141,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12121,"src":"3574:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12142,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"minWitnessingConsensus","nodeType":"MemberAccess","referencedDeclaration":12041,"src":"3574:30:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"expression":{"id":12143,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12121,"src":"3618:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12144,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"witnessingCollateral","nodeType":"MemberAccess","referencedDeclaration":12044,"src":"3618:28:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":12145,"name":"_witnessingReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12112,"src":"3660:17:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":12146,"name":"_witnessingUnitaryFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12114,"src":"3691:21:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":12138,"name":"_malleateBytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12596,"src":"3509:17:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint8_$_t_uint8_$_t_uint64_$_t_uint64_$_t_uint64_$returns$__$","typeString":"function (uint8,uint8,uint64,uint64,uint64)"}},"id":12147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3509:213:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12148,"nodeType":"ExpressionStatement","src":"3509:213:65"}]},"documentation":{"id":12110,"nodeType":"StructuredDocumentation","src":"2806:361:65","text":"Specifies how much you want to pay for rewarding each of the Witnet nodes.\n @param _witnessingReward Amount of nanowits that every request-solving witness will be rewarded with.\n @param _witnessingUnitaryFee Amount of nanowits that will be earned by Witnet miners for each each valid \n commit/reveal transaction they include in a block."},"functionSelector":"ff21c3ba","id":12150,"implemented":true,"kind":"function","modifiers":[{"id":12117,"kind":"modifierInvocation","modifierName":{"id":12116,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":11723,"src":"3294:9:65"},"nodeType":"ModifierInvocation","src":"3294:9:65"}],"name":"setWitnessingFees","nameLocation":"3181:17:65","nodeType":"FunctionDefinition","parameters":{"id":12115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12112,"mutability":"mutable","name":"_witnessingReward","nameLocation":"3206:17:65","nodeType":"VariableDeclaration","scope":12150,"src":"3199:24:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12111,"name":"uint64","nodeType":"ElementaryTypeName","src":"3199:6:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12114,"mutability":"mutable","name":"_witnessingUnitaryFee","nameLocation":"3232:21:65","nodeType":"VariableDeclaration","scope":12150,"src":"3225:28:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12113,"name":"uint64","nodeType":"ElementaryTypeName","src":"3225:6:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"3198:56:65"},"returnParameters":{"id":12118,"nodeType":"ParameterList","parameters":[],"src":"3308:0:65"},"scope":12720,"src":"3172:557:65","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12190,"nodeType":"Block","src":"4225:417:65","statements":[{"assignments":[12162],"declarations":[{"constant":false,"id":12162,"mutability":"mutable","name":"_params","nameLocation":"4273:7:65","nodeType":"VariableDeclaration","scope":12190,"src":"4235:45:65","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams"},"typeName":{"id":12161,"nodeType":"UserDefinedTypeName","pathNode":{"id":12160,"name":"WitnetRequestWitnessingParams","nodeType":"IdentifierPath","referencedDeclaration":12051,"src":"4235:29:65"},"referencedDeclaration":12051,"src":"4235:29:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams"}},"visibility":"internal"}],"id":12166,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12163,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12605,"src":"4283:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr_$","typeString":"function () pure returns (struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer)"}},"id":12164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4283:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer"}},"id":12165,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"params","nodeType":"MemberAccess","referencedDeclaration":12034,"src":"4283:17:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4235:65:65"},{"expression":{"id":12171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":12167,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12162,"src":"4310:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12169,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"numWitnesses","nodeType":"MemberAccess","referencedDeclaration":12038,"src":"4310:20:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12170,"name":"_numWitnesses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12153,"src":"4333:13:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"4310:36:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":12172,"nodeType":"ExpressionStatement","src":"4310:36:65"},{"expression":{"id":12177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":12173,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12162,"src":"4356:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12175,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"minWitnessingConsensus","nodeType":"MemberAccess","referencedDeclaration":12041,"src":"4356:30:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12176,"name":"_minWitnessingConsensus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12155,"src":"4389:23:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"4356:56:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":12178,"nodeType":"ExpressionStatement","src":"4356:56:65"},{"expression":{"arguments":[{"id":12180,"name":"_numWitnesses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12153,"src":"4453:13:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":12181,"name":"_minWitnessingConsensus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12155,"src":"4480:23:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"expression":{"id":12182,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12162,"src":"4517:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12183,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"witnessingCollateral","nodeType":"MemberAccess","referencedDeclaration":12044,"src":"4517:28:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"expression":{"id":12184,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12162,"src":"4559:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12185,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"witnessingReward","nodeType":"MemberAccess","referencedDeclaration":12047,"src":"4559:24:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"expression":{"id":12186,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12162,"src":"4597:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12187,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"witnessingUnitaryFee","nodeType":"MemberAccess","referencedDeclaration":12050,"src":"4597:28:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":12179,"name":"_malleateBytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12596,"src":"4422:17:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint8_$_t_uint8_$_t_uint64_$_t_uint64_$_t_uint64_$returns$__$","typeString":"function (uint8,uint8,uint64,uint64,uint64)"}},"id":12188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4422:213:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12189,"nodeType":"ExpressionStatement","src":"4422:213:65"}]},"documentation":{"id":12151,"nodeType":"StructuredDocumentation","src":"3735:351:65","text":"Sets how many Witnet nodes will be \"hired\" for resolving the request.\n @param _numWitnesses Number of witnesses required to be involved for solving this Witnet Data Request.\n @param _minWitnessingConsensus Threshold percentage for aborting resolution of a request if the witnessing \n nodes did not arrive to a broad consensus."},"functionSelector":"d196c2e3","id":12191,"implemented":true,"kind":"function","modifiers":[{"id":12158,"kind":"modifierInvocation","modifierName":{"id":12157,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":11723,"src":"4211:9:65"},"nodeType":"ModifierInvocation","src":"4211:9:65"}],"name":"setWitnessingQuorum","nameLocation":"4100:19:65","nodeType":"FunctionDefinition","parameters":{"id":12156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12153,"mutability":"mutable","name":"_numWitnesses","nameLocation":"4126:13:65","nodeType":"VariableDeclaration","scope":12191,"src":"4120:19:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12152,"name":"uint8","nodeType":"ElementaryTypeName","src":"4120:5:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":12155,"mutability":"mutable","name":"_minWitnessingConsensus","nameLocation":"4147:23:65","nodeType":"VariableDeclaration","scope":12191,"src":"4141:29:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12154,"name":"uint8","nodeType":"ElementaryTypeName","src":"4141:5:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"4119:52:65"},"returnParameters":{"id":12159,"nodeType":"ParameterList","parameters":[],"src":"4225:0:65"},"scope":12720,"src":"4091:551:65","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12201,"nodeType":"Block","src":"4884:43:65","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12197,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12605,"src":"4901:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr_$","typeString":"function () pure returns (struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer)"}},"id":12198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4901:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer"}},"id":12199,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"template","nodeType":"MemberAccess","referencedDeclaration":12024,"src":"4901:19:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"functionReturnParameters":12196,"id":12200,"nodeType":"Return","src":"4894:26:65"}]},"documentation":{"id":12192,"nodeType":"StructuredDocumentation","src":"4648:154:65","text":"Returns immutable template bytecode: actual CBOR-encoded data request at the Witnet protocol\n level, including no witnessing parameters at all."},"functionSelector":"6f2ddd93","id":12202,"implemented":true,"kind":"function","modifiers":[],"name":"template","nameLocation":"4816:8:65","nodeType":"FunctionDefinition","parameters":{"id":12193,"nodeType":"ParameterList","parameters":[],"src":"4824:2:65"},"returnParameters":{"id":12196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12195,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12202,"src":"4866:12:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12194,"name":"bytes","nodeType":"ElementaryTypeName","src":"4866:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4865:14:65"},"scope":12720,"src":"4807:120:65","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":12221,"nodeType":"Block","src":"5126:150:65","statements":[{"assignments":[12210],"declarations":[{"constant":false,"id":12210,"mutability":"mutable","name":"_params","nameLocation":"5174:7:65","nodeType":"VariableDeclaration","scope":12221,"src":"5136:45:65","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams"},"typeName":{"id":12209,"nodeType":"UserDefinedTypeName","pathNode":{"id":12208,"name":"WitnetRequestWitnessingParams","nodeType":"IdentifierPath","referencedDeclaration":12051,"src":"5136:29:65"},"referencedDeclaration":12051,"src":"5136:29:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams"}},"visibility":"internal"}],"id":12214,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12211,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12605,"src":"5184:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr_$","typeString":"function () pure returns (struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer)"}},"id":12212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5184:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer"}},"id":12213,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"params","nodeType":"MemberAccess","referencedDeclaration":12034,"src":"5184:17:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5136:65:65"},{"expression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":12219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":12215,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12210,"src":"5218:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12216,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"numWitnesses","nodeType":"MemberAccess","referencedDeclaration":12038,"src":"5218:20:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"expression":{"id":12217,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12210,"src":"5241:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12218,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"witnessingCollateral","nodeType":"MemberAccess","referencedDeclaration":12044,"src":"5241:28:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"5218:51:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":12207,"id":12220,"nodeType":"Return","src":"5211:58:65"}]},"documentation":{"id":12203,"nodeType":"StructuredDocumentation","src":"4933:99:65","text":"Returns total amount of nanowits that witnessing nodes will need to collateralize all together."},"functionSelector":"ef53d97a","id":12222,"implemented":true,"kind":"function","modifiers":[],"name":"totalWitnessingCollateral","nameLocation":"5046:25:65","nodeType":"FunctionDefinition","parameters":{"id":12204,"nodeType":"ParameterList","parameters":[],"src":"5071:2:65"},"returnParameters":{"id":12207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12206,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12222,"src":"5113:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":12205,"name":"uint128","nodeType":"ElementaryTypeName","src":"5113:7:65","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"5112:9:65"},"scope":12720,"src":"5037:239:65","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":12247,"nodeType":"Block","src":"5471:183:65","statements":[{"assignments":[12230],"declarations":[{"constant":false,"id":12230,"mutability":"mutable","name":"_params","nameLocation":"5519:7:65","nodeType":"VariableDeclaration","scope":12247,"src":"5481:45:65","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams"},"typeName":{"id":12229,"nodeType":"UserDefinedTypeName","pathNode":{"id":12228,"name":"WitnetRequestWitnessingParams","nodeType":"IdentifierPath","referencedDeclaration":12051,"src":"5481:29:65"},"referencedDeclaration":12051,"src":"5481:29:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams"}},"visibility":"internal"}],"id":12234,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12231,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12605,"src":"5529:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr_$","typeString":"function () pure returns (struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer)"}},"id":12232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5529:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer"}},"id":12233,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"params","nodeType":"MemberAccess","referencedDeclaration":12034,"src":"5529:17:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5481:65:65"},{"expression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":12245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":12235,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12230,"src":"5563:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12236,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"numWitnesses","nodeType":"MemberAccess","referencedDeclaration":12038,"src":"5563:20:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":12243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":12240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":12237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5587:1:65","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"expression":{"id":12238,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12230,"src":"5591:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12239,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"witnessingUnitaryFee","nodeType":"MemberAccess","referencedDeclaration":12050,"src":"5591:28:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"5587:32:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":12241,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12230,"src":"5622:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12242,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"witnessingReward","nodeType":"MemberAccess","referencedDeclaration":12047,"src":"5622:24:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"5587:59:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"id":12244,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5586:61:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"5563:84:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":12227,"id":12246,"nodeType":"Return","src":"5556:91:65"}]},"documentation":{"id":12223,"nodeType":"StructuredDocumentation","src":"5282:102:65","text":"Returns total amount of nanowits that will have to be paid in total for this request to be solved."},"functionSelector":"8a481dad","id":12248,"implemented":true,"kind":"function","modifiers":[],"name":"totalWitnessingFee","nameLocation":"5398:18:65","nodeType":"FunctionDefinition","parameters":{"id":12224,"nodeType":"ParameterList","parameters":[],"src":"5416:2:65"},"returnParameters":{"id":12227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12226,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12248,"src":"5458:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":12225,"name":"uint128","nodeType":"ElementaryTypeName","src":"5458:7:65","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"5457:9:65"},"scope":12720,"src":"5389:265:65","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":12259,"nodeType":"Block","src":"5839:41:65","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12255,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12605,"src":"5856:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr_$","typeString":"function () pure returns (struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer)"}},"id":12256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5856:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer"}},"id":12257,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"params","nodeType":"MemberAccess","referencedDeclaration":12034,"src":"5856:17:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage ref"}},"functionReturnParameters":12254,"id":12258,"nodeType":"Return","src":"5849:24:65"}]},"documentation":{"id":12249,"nodeType":"StructuredDocumentation","src":"5660:65:65","text":"Returns witnessing parameters of current Witnet Data Request."},"functionSelector":"48f9b831","id":12260,"implemented":true,"kind":"function","modifiers":[],"name":"witnessingParams","nameLocation":"5739:16:65","nodeType":"FunctionDefinition","parameters":{"id":12250,"nodeType":"ParameterList","parameters":[],"src":"5755:2:65"},"returnParameters":{"id":12254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12253,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12260,"src":"5797:36:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_memory_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams"},"typeName":{"id":12252,"nodeType":"UserDefinedTypeName","pathNode":{"id":12251,"name":"WitnetRequestWitnessingParams","nodeType":"IdentifierPath","referencedDeclaration":12051,"src":"5797:29:65"},"referencedDeclaration":12051,"src":"5797:29:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams"}},"visibility":"internal"}],"src":"5796:38:65"},"scope":12720,"src":"5730:150:65","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[11591],"body":{"id":12293,"nodeType":"Block","src":"6517:160:65","statements":[{"expression":{"id":12272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12268,"name":"_instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12266,"src":"6527:9:65","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":12269,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"6539:5:65","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_WitnetRequestMalleableBase_$12720_$","typeString":"type(contract super WitnetRequestMalleableBase)"}},"id":12270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"clone","nodeType":"MemberAccess","referencedDeclaration":11591,"src":"6539:11:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_Clonable_$11629_$","typeString":"function () returns (contract Clonable)"}},"id":12271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6539:13:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"src":"6527:25:65","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"id":12273,"nodeType":"ExpressionStatement","src":"6527:25:65"},{"expression":{"arguments":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12277,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12605,"src":"6583:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr_$","typeString":"function () pure returns (struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer)"}},"id":12278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6583:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer"}},"id":12279,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"template","nodeType":"MemberAccess","referencedDeclaration":12024,"src":"6583:19:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}],"expression":{"id":12274,"name":"_instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12266,"src":"6562:9:65","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"id":12276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":11675,"src":"6562:20:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":12280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6562:41:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12281,"nodeType":"ExpressionStatement","src":"6562:41:65"},{"expression":{"arguments":[{"expression":{"id":12289,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6659:3:65","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":12290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"6659:10:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"arguments":[{"id":12285,"name":"_instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12266,"src":"6629:9:65","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}],"id":12284,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6621:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12283,"name":"address","nodeType":"ElementaryTypeName","src":"6621:7:65","typeDescriptions":{}}},"id":12286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6621:18:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12282,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11781,"src":"6613:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Ownable_$11781_$","typeString":"type(contract Ownable)"}},"id":12287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6613:27:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Ownable_$11781","typeString":"contract Ownable"}},"id":12288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transferOwnership","nodeType":"MemberAccess","referencedDeclaration":11760,"src":"6613:45:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":12291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6613:57:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12292,"nodeType":"ExpressionStatement","src":"6613:57:65"}]},"documentation":{"id":12261,"nodeType":"StructuredDocumentation","src":"6128:286:65","text":"Deploys and returns the address of a minimal proxy clone that replicates contract\n behaviour while using its own EVM storage.\n @dev This function should always provide a new address, no matter how many times \n @dev is actually called from the same `msg.sender`."},"functionSelector":"09ed4607","id":12294,"implemented":true,"kind":"function","modifiers":[],"name":"clone","nameLocation":"6428:5:65","nodeType":"FunctionDefinition","overrides":{"id":12263,"nodeType":"OverrideSpecifier","overrides":[],"src":"6467:8:65"},"parameters":{"id":12262,"nodeType":"ParameterList","parameters":[],"src":"6433:2:65"},"returnParameters":{"id":12267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12266,"mutability":"mutable","name":"_instance","nameLocation":"6502:9:65","nodeType":"VariableDeclaration","scope":12294,"src":"6493:18:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"},"typeName":{"id":12265,"nodeType":"UserDefinedTypeName","pathNode":{"id":12264,"name":"Clonable","nodeType":"IdentifierPath","referencedDeclaration":11629,"src":"6493:8:65"},"referencedDeclaration":11629,"src":"6493:8:65","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"visibility":"internal"}],"src":"6492:20:65"},"scope":12720,"src":"6419:258:65","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[11628],"body":{"id":12330,"nodeType":"Block","src":"7199:178:65","statements":[{"expression":{"id":12309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12304,"name":"_instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12302,"src":"7209:9:65","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":12307,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12297,"src":"7246:5:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":12305,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"7221:5:65","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_WitnetRequestMalleableBase_$12720_$","typeString":"type(contract super WitnetRequestMalleableBase)"}},"id":12306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"cloneDeterministic","nodeType":"MemberAccess","referencedDeclaration":11628,"src":"7221:24:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$returns$_t_contract$_Clonable_$11629_$","typeString":"function (bytes32) returns (contract Clonable)"}},"id":12308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7221:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"src":"7209:43:65","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"id":12310,"nodeType":"ExpressionStatement","src":"7209:43:65"},{"expression":{"arguments":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12314,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12605,"src":"7283:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr_$","typeString":"function () pure returns (struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer)"}},"id":12315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7283:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer"}},"id":12316,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"template","nodeType":"MemberAccess","referencedDeclaration":12024,"src":"7283:19:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}],"expression":{"id":12311,"name":"_instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12302,"src":"7262:9:65","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"id":12313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":11675,"src":"7262:20:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":12317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7262:41:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12318,"nodeType":"ExpressionStatement","src":"7262:41:65"},{"expression":{"arguments":[{"expression":{"id":12326,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7359:3:65","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":12327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"7359:10:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"arguments":[{"id":12322,"name":"_instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12302,"src":"7329:9:65","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}],"id":12321,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7321:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12320,"name":"address","nodeType":"ElementaryTypeName","src":"7321:7:65","typeDescriptions":{}}},"id":12323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7321:18:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12319,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11781,"src":"7313:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Ownable_$11781_$","typeString":"type(contract Ownable)"}},"id":12324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7313:27:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Ownable_$11781","typeString":"contract Ownable"}},"id":12325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transferOwnership","nodeType":"MemberAccess","referencedDeclaration":11760,"src":"7313:45:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":12328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7313:57:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12329,"nodeType":"ExpressionStatement","src":"7313:57:65"}]},"documentation":{"id":12295,"nodeType":"StructuredDocumentation","src":"6683:387:65","text":"Deploys and returns the address of a minimal proxy clone that replicates contract \n behaviour while using its own EVM storage.\n @dev This function uses the CREATE2 opcode and a `_salt` to deterministically deploy\n @dev the clone. Using the same `_salt` multiple time will revert, since\n @dev no contract can be deployed more than once at the same address."},"functionSelector":"daaa360c","id":12331,"implemented":true,"kind":"function","modifiers":[],"name":"cloneDeterministic","nameLocation":"7084:18:65","nodeType":"FunctionDefinition","overrides":{"id":12299,"nodeType":"OverrideSpecifier","overrides":[],"src":"7149:8:65"},"parameters":{"id":12298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12297,"mutability":"mutable","name":"_salt","nameLocation":"7111:5:65","nodeType":"VariableDeclaration","scope":12331,"src":"7103:13:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12296,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7103:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7102:15:65"},"returnParameters":{"id":12303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12302,"mutability":"mutable","name":"_instance","nameLocation":"7184:9:65","nodeType":"VariableDeclaration","scope":12331,"src":"7175:18:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"},"typeName":{"id":12301,"nodeType":"UserDefinedTypeName","pathNode":{"id":12300,"name":"Clonable","nodeType":"IdentifierPath","referencedDeclaration":11629,"src":"7175:8:65"},"referencedDeclaration":11629,"src":"7175:8:65","typeDescriptions":{"typeIdentifier":"t_contract$_Clonable_$11629","typeString":"contract Clonable"}},"visibility":"internal"}],"src":"7174:20:65"},"scope":12720,"src":"7075:302:65","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[11675],"body":{"id":12357,"nodeType":"Block","src":"7766:182:65","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12339,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12605,"src":"7784:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr_$","typeString":"function () pure returns (struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer)"}},"id":12340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7784:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer"}},"id":12341,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"template","nodeType":"MemberAccess","referencedDeclaration":12024,"src":"7784:19:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"id":12342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7784:26:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":12343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7814:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7784:31:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e6574526571756573744d616c6c6561626c65426173653a20616c726561647920696e697469616c697a6564","id":12345,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7817:49:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff","typeString":"literal_string \"WitnetRequestMalleableBase: already initialized\""},"value":"WitnetRequestMalleableBase: already initialized"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff","typeString":"literal_string \"WitnetRequestMalleableBase: already initialized\""}],"id":12338,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7776:7:65","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7776:91:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12347,"nodeType":"ExpressionStatement","src":"7776:91:65"},{"expression":{"arguments":[{"id":12349,"name":"_template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12334,"src":"7889:9:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12348,"name":"_initialize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12486,"src":"7877:11:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory)"}},"id":12350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7877:22:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12351,"nodeType":"ExpressionStatement","src":"7877:22:65"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":12353,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11641,"src":"7928:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":12354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7928:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12352,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[12395],"referencedDeclaration":12395,"src":"7909:18:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":12355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7909:32:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12356,"nodeType":"ExpressionStatement","src":"7909:32:65"}]},"documentation":{"id":12332,"nodeType":"StructuredDocumentation","src":"7625:48:65","text":"@dev Initializes contract's storage context."},"functionSelector":"439fab91","id":12358,"implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"7687:10:65","nodeType":"FunctionDefinition","overrides":{"id":12336,"nodeType":"OverrideSpecifier","overrides":[],"src":"7753:8:65"},"parameters":{"id":12335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12334,"mutability":"mutable","name":"_template","nameLocation":"7711:9:65","nodeType":"VariableDeclaration","scope":12358,"src":"7698:22:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12333,"name":"bytes","nodeType":"ElementaryTypeName","src":"7698:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7697:24:65"},"returnParameters":{"id":12337,"nodeType":"ParameterList","parameters":[],"src":"7766:0:65"},"scope":12720,"src":"7678:270:65","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[11709],"body":{"id":12369,"nodeType":"Block","src":"8337:40:65","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12365,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12605,"src":"8354:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr_$","typeString":"function () pure returns (struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer)"}},"id":12366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8354:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer"}},"id":12367,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":12021,"src":"8354:16:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":12364,"id":12368,"nodeType":"Return","src":"8347:23:65"}]},"documentation":{"id":12359,"nodeType":"StructuredDocumentation","src":"8195:45:65","text":"Returns the address of the current owner."},"functionSelector":"8da5cb5b","id":12370,"implemented":true,"kind":"function","modifiers":[],"name":"owner","nameLocation":"8254:5:65","nodeType":"FunctionDefinition","overrides":{"id":12361,"nodeType":"OverrideSpecifier","overrides":[],"src":"8298:8:65"},"parameters":{"id":12360,"nodeType":"ParameterList","parameters":[],"src":"8259:2:65"},"returnParameters":{"id":12364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12363,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12370,"src":"8324:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12362,"name":"address","nodeType":"ElementaryTypeName","src":"8324:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8323:9:65"},"scope":12720,"src":"8245:132:65","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[11780],"body":{"id":12394,"nodeType":"Block","src":"8555:144:65","statements":[{"assignments":[12378],"declarations":[{"constant":false,"id":12378,"mutability":"mutable","name":"oldOwner","nameLocation":"8573:8:65","nodeType":"VariableDeclaration","scope":12394,"src":"8565:16:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12377,"name":"address","nodeType":"ElementaryTypeName","src":"8565:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":12382,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12379,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12605,"src":"8584:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr_$","typeString":"function () pure returns (struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer)"}},"id":12380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8584:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer"}},"id":12381,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":12021,"src":"8584:16:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"8565:35:65"},{"expression":{"id":12387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12383,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12605,"src":"8610:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr_$","typeString":"function () pure returns (struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer)"}},"id":12384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8610:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer"}},"id":12385,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":12021,"src":"8610:16:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12386,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12373,"src":"8629:8:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8610:27:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12388,"nodeType":"ExpressionStatement","src":"8610:27:65"},{"eventCall":{"arguments":[{"id":12390,"name":"oldOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12378,"src":"8673:8:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12391,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12373,"src":"8683:8:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":12389,"name":"OwnershipTransferred","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11690,"src":"8652:20:65","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":12392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8652:40:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12393,"nodeType":"EmitStatement","src":"8647:45:65"}]},"documentation":{"id":12371,"nodeType":"StructuredDocumentation","src":"8383:75:65","text":"@dev Transfers ownership of the contract to a new account (`newOwner`)."},"id":12395,"implemented":true,"kind":"function","modifiers":[],"name":"_transferOwnership","nameLocation":"8472:18:65","nodeType":"FunctionDefinition","overrides":{"id":12375,"nodeType":"OverrideSpecifier","overrides":[],"src":"8542:8:65"},"parameters":{"id":12374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12373,"mutability":"mutable","name":"newOwner","nameLocation":"8499:8:65","nodeType":"VariableDeclaration","scope":12395,"src":"8491:16:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12372,"name":"address","nodeType":"ElementaryTypeName","src":"8491:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8490:18:65"},"returnParameters":{"id":12376,"nodeType":"ParameterList","parameters":[],"src":"8555:0:65"},"scope":12720,"src":"8463:236:65","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[11840],"body":{"id":12405,"nodeType":"Block","src":"9187:174:65","statements":[{"expression":{"components":[{"hexValue":"307838353164306139326133616433303239356265663333616663363964363837343737393832366237373839333836623333366532323632313336356564326332","id":12402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9278:66:65","typeDescriptions":{"typeIdentifier":"t_rational_60208920397305833115561796975134710406702197199200286334173186442914422510274_by_1","typeString":"int_const 6020...(69 digits omitted)...0274"},"value":"0x851d0a92a3ad30295bef33afc69d6874779826b7789386b336e22621365ed2c2"}],"id":12403,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9204:150:65","typeDescriptions":{"typeIdentifier":"t_rational_60208920397305833115561796975134710406702197199200286334173186442914422510274_by_1","typeString":"int_const 6020...(69 digits omitted)...0274"}},"functionReturnParameters":12401,"id":12404,"nodeType":"Return","src":"9197:157:65"}]},"documentation":{"id":12396,"nodeType":"StructuredDocumentation","src":"8946:134:65","text":"@dev Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)\n @dev See https://eips.ethereum.org/EIPS/eip-1822."},"functionSelector":"52d1902d","id":12406,"implemented":true,"kind":"function","modifiers":[],"name":"proxiableUUID","nameLocation":"9094:13:65","nodeType":"FunctionDefinition","overrides":{"id":12398,"nodeType":"OverrideSpecifier","overrides":[],"src":"9148:8:65"},"parameters":{"id":12397,"nodeType":"ParameterList","parameters":[],"src":"9107:2:65"},"returnParameters":{"id":12401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12400,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12406,"src":"9174:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12399,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9174:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9173:9:65"},"scope":12720,"src":"9085:276:65","stateMutability":"pure","virtual":true,"visibility":"external"},{"body":{"id":12485,"nodeType":"Block","src":"9745:690:65","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":12413,"name":"_template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12409,"src":"9762:9:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":12414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"9762:16:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":12415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9781:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9762:20:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":12412,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"9755:6:65","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":12417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9755:28:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12418,"nodeType":"ExpressionStatement","src":"9755:28:65"},{"expression":{"id":12423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12419,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12605,"src":"9793:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr_$","typeString":"function () pure returns (struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer)"}},"id":12420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9793:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer"}},"id":12421,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"template","nodeType":"MemberAccess","referencedDeclaration":12024,"src":"9793:19:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12422,"name":"_template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12409,"src":"9815:9:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"9793:31:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"id":12424,"nodeType":"ExpressionStatement","src":"9793:31:65"},{"assignments":[12427],"declarations":[{"constant":false,"id":12427,"mutability":"mutable","name":"_params","nameLocation":"9873:7:65","nodeType":"VariableDeclaration","scope":12485,"src":"9835:45:65","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams"},"typeName":{"id":12426,"nodeType":"UserDefinedTypeName","pathNode":{"id":12425,"name":"WitnetRequestWitnessingParams","nodeType":"IdentifierPath","referencedDeclaration":12051,"src":"9835:29:65"},"referencedDeclaration":12051,"src":"9835:29:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams"}},"visibility":"internal"}],"id":12431,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12428,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12605,"src":"9883:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr_$","typeString":"function () pure returns (struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer)"}},"id":12429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9883:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer"}},"id":12430,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"params","nodeType":"MemberAccess","referencedDeclaration":12034,"src":"9883:17:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage ref"}},"nodeType":"VariableDeclarationStatement","src":"9835:65:65"},{"expression":{"id":12436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":12432,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12427,"src":"9910:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12434,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"numWitnesses","nodeType":"MemberAccess","referencedDeclaration":12038,"src":"9910:20:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"32","id":12435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9933:1:65","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"9910:24:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":12437,"nodeType":"ExpressionStatement","src":"9910:24:65"},{"expression":{"id":12442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":12438,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12427,"src":"9944:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12440,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"minWitnessingConsensus","nodeType":"MemberAccess","referencedDeclaration":12041,"src":"9944:30:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"3531","id":12441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9977:2:65","typeDescriptions":{"typeIdentifier":"t_rational_51_by_1","typeString":"int_const 51"},"value":"51"},"src":"9944:35:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":12443,"nodeType":"ExpressionStatement","src":"9944:35:65"},{"expression":{"id":12450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":12444,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12427,"src":"9989:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12446,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"witnessingCollateral","nodeType":"MemberAccess","referencedDeclaration":12044,"src":"9989:28:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"},"id":12449,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":12447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10020:2:65","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"39","id":12448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10026:1:65","typeDescriptions":{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},"value":"9"},"src":"10020:7:65","typeDescriptions":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"}},"src":"9989:38:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":12451,"nodeType":"ExpressionStatement","src":"9989:38:65"},{"expression":{"id":12460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":12452,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12427,"src":"10051:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12454,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"witnessingReward","nodeType":"MemberAccess","referencedDeclaration":12047,"src":"10051:24:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_500000_by_1","typeString":"int_const 500000"},"id":12459,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"35","id":12455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10078:1:65","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000_by_1","typeString":"int_const 100000"},"id":12458,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":12456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10082:2:65","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"35","id":12457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10088:1:65","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"10082:7:65","typeDescriptions":{"typeIdentifier":"t_rational_100000_by_1","typeString":"int_const 100000"}},"src":"10078:11:65","typeDescriptions":{"typeIdentifier":"t_rational_500000_by_1","typeString":"int_const 500000"}},"src":"10051:38:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":12461,"nodeType":"ExpressionStatement","src":"10051:38:65"},{"expression":{"id":12470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":12462,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12427,"src":"10121:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12464,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"witnessingUnitaryFee","nodeType":"MemberAccess","referencedDeclaration":12050,"src":"10121:28:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_250000_by_1","typeString":"int_const 250000"},"id":12469,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3235","id":12465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10152:2:65","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":12468,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":12466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10157:2:65","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":12467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10163:1:65","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"10157:7:65","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"src":"10152:12:65","typeDescriptions":{"typeIdentifier":"t_rational_250000_by_1","typeString":"int_const 250000"}},"src":"10121:43:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":12471,"nodeType":"ExpressionStatement","src":"10121:43:65"},{"expression":{"arguments":[{"expression":{"id":12473,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12427,"src":"10232:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12474,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"numWitnesses","nodeType":"MemberAccess","referencedDeclaration":12038,"src":"10232:20:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"expression":{"id":12475,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12427,"src":"10266:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12476,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"minWitnessingConsensus","nodeType":"MemberAccess","referencedDeclaration":12041,"src":"10266:30:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"expression":{"id":12477,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12427,"src":"10310:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12478,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"witnessingCollateral","nodeType":"MemberAccess","referencedDeclaration":12044,"src":"10310:28:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"expression":{"id":12479,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12427,"src":"10352:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12480,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"witnessingReward","nodeType":"MemberAccess","referencedDeclaration":12047,"src":"10352:24:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"expression":{"id":12481,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12427,"src":"10390:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestWitnessingParams_$12051_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams storage pointer"}},"id":12482,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"witnessingUnitaryFee","nodeType":"MemberAccess","referencedDeclaration":12050,"src":"10390:28:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":12472,"name":"_malleateBytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12596,"src":"10201:17:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint8_$_t_uint8_$_t_uint64_$_t_uint64_$_t_uint64_$returns$__$","typeString":"function (uint8,uint8,uint64,uint64,uint64)"}},"id":12483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10201:227:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12484,"nodeType":"ExpressionStatement","src":"10201:227:65"}]},"documentation":{"id":12407,"nodeType":"StructuredDocumentation","src":"9613:61:65","text":"@dev Initializes witnessing params and template bytecode."},"id":12486,"implemented":true,"kind":"function","modifiers":[],"name":"_initialize","nameLocation":"9688:11:65","nodeType":"FunctionDefinition","parameters":{"id":12410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12409,"mutability":"mutable","name":"_template","nameLocation":"9713:9:65","nodeType":"VariableDeclaration","scope":12486,"src":"9700:22:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12408,"name":"bytes","nodeType":"ElementaryTypeName","src":"9700:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9699:24:65"},"returnParameters":{"id":12411,"nodeType":"ParameterList","parameters":[],"src":"9745:0:65"},"scope":12720,"src":"9679:756:65","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":12595,"nodeType":"Block","src":"10807:1278:65","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":12503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12501,"name":"_witnessingReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12495,"src":"10838:17:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":12502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10858:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10838:21:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e6574526571756573744d616c6c6561626c65426173653a206e6f20726577617264","id":12504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10873:39:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf","typeString":"literal_string \"WitnetRequestMalleableBase: no reward\""},"value":"WitnetRequestMalleableBase: no reward"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf","typeString":"literal_string \"WitnetRequestMalleableBase: no reward\""}],"id":12500,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10817:7:65","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10817:105:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12506,"nodeType":"ExpressionStatement","src":"10817:105:65"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":12514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":12510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12508,"name":"_numWitnesses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12489,"src":"10953:13:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"31","id":12509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10970:1:65","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10953:18:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":12513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12511,"name":"_numWitnesses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12489,"src":"10975:13:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"313237","id":12512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10992:3:65","typeDescriptions":{"typeIdentifier":"t_rational_127_by_1","typeString":"int_const 127"},"value":"127"},"src":"10975:20:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10953:42:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e6574526571756573744d616c6c6561626c65426173653a206e756d626572206f66207769746e6573736573206f7574206f662072616e6765","id":12515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11009:62:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae","typeString":"literal_string \"WitnetRequestMalleableBase: number of witnesses out of range\""},"value":"WitnetRequestMalleableBase: number of witnesses out of range"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae","typeString":"literal_string \"WitnetRequestMalleableBase: number of witnesses out of range\""}],"id":12507,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10932:7:65","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10932:149:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12517,"nodeType":"ExpressionStatement","src":"10932:149:65"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":12525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":12521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12519,"name":"_minWitnessingConsensus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12491,"src":"11112:23:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"3531","id":12520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11139:2:65","typeDescriptions":{"typeIdentifier":"t_rational_51_by_1","typeString":"int_const 51"},"value":"51"},"src":"11112:29:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":12524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12522,"name":"_minWitnessingConsensus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12491,"src":"11145:23:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"3939","id":12523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11172:2:65","typeDescriptions":{"typeIdentifier":"t_rational_99_by_1","typeString":"int_const 99"},"value":"99"},"src":"11145:29:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11112:62:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e6574526571756573744d616c6c6561626c65426173653a207769746e657373696e6720636f6e73656e737573206f7574206f662072616e6765","id":12526,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11188:63:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18","typeString":"literal_string \"WitnetRequestMalleableBase: witnessing consensus out of range\""},"value":"WitnetRequestMalleableBase: witnessing consensus out of range"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18","typeString":"literal_string \"WitnetRequestMalleableBase: witnessing consensus out of range\""}],"id":12518,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11091:7:65","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11091:170:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12528,"nodeType":"ExpressionStatement","src":"11091:170:65"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":12534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12530,"name":"_witnessingCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12493,"src":"11292:21:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"},"id":12533,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":12531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11317:2:65","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"39","id":12532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11323:1:65","typeDescriptions":{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},"value":"9"},"src":"11317:7:65","typeDescriptions":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"}},"src":"11292:32:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e6574526571756573744d616c6c6561626c65426173653a207769746e657373696e6720636f6c6c61746572616c2062656c6f77203120574954","id":12535,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11338:63:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e","typeString":"literal_string \"WitnetRequestMalleableBase: witnessing collateral below 1 WIT\""},"value":"WitnetRequestMalleableBase: witnessing collateral below 1 WIT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e","typeString":"literal_string \"WitnetRequestMalleableBase: witnessing collateral below 1 WIT\""}],"id":12529,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11271:7:65","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11271:140:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12537,"nodeType":"ExpressionStatement","src":"11271:140:65"},{"expression":{"id":12573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12538,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12605,"src":"11422:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr_$","typeString":"function () pure returns (struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer)"}},"id":12539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11422:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer"}},"id":12540,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"bytecode","nodeType":"MemberAccess","referencedDeclaration":12027,"src":"11422:19:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12543,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12605,"src":"11474:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr_$","typeString":"function () pure returns (struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer)"}},"id":12544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11474:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer"}},"id":12545,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"template","nodeType":"MemberAccess","referencedDeclaration":12024,"src":"11474:19:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},{"arguments":[{"arguments":[{"hexValue":"30783130","id":12549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11528:4:65","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"0x10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"}],"id":12548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11521:6:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":12547,"name":"bytes1","nodeType":"ElementaryTypeName","src":"11521:6:65","typeDescriptions":{}}},"id":12550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11521:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":12551,"name":"_witnessingReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12495,"src":"11535:17:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":12546,"name":"_uint64varint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12700,"src":"11507:13:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes1_$_t_uint64_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes1,uint64) pure returns (bytes memory)"}},"id":12552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11507:46:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"arguments":[{"hexValue":"30783138","id":12556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11587:4:65","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"0x18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"}],"id":12555,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11580:6:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":12554,"name":"bytes1","nodeType":"ElementaryTypeName","src":"11580:6:65","typeDescriptions":{}}},"id":12557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11580:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":12558,"name":"_numWitnesses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12489,"src":"11594:13:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":12553,"name":"_uint8varint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12719,"src":"11567:12:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes1_$_t_uint8_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes1,uint8) pure returns (bytes memory)"}},"id":12559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11567:41:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"30783230","id":12561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11636:4:65","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"0x20"},{"id":12562,"name":"_witnessingUnitaryFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12497,"src":"11642:21:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":12560,"name":"_uint64varint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12700,"src":"11622:13:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes1_$_t_uint64_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes1,uint64) pure returns (bytes memory)"}},"id":12563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11622:42:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"30783238","id":12565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11691:4:65","typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"0x28"},{"id":12566,"name":"_minWitnessingConsensus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12491,"src":"11697:23:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":12564,"name":"_uint8varint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12719,"src":"11678:12:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes1_$_t_uint8_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes1,uint8) pure returns (bytes memory)"}},"id":12567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11678:43:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"30783330","id":12569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11749:4:65","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"0x30"},{"id":12570,"name":"_witnessingCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12493,"src":"11755:21:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":12568,"name":"_uint64varint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12700,"src":"11735:13:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes1_$_t_uint64_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes1,uint64) pure returns (bytes memory)"}},"id":12571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11735:42:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":12541,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11444:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"11444:16:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":12572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11444:343:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"11422:365:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"id":12574,"nodeType":"ExpressionStatement","src":"11422:365:65"},{"expression":{"id":12583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12575,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12605,"src":"11797:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr_$","typeString":"function () pure returns (struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer)"}},"id":12576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11797:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer"}},"id":12577,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"hash","nodeType":"MemberAccess","referencedDeclaration":12030,"src":"11797:15:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12578,"name":"_request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12605,"src":"11815:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr_$","typeString":"function () pure returns (struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer)"}},"id":12579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11815:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext storage pointer"}},"id":12580,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"bytecode","nodeType":"MemberAccess","referencedDeclaration":12027,"src":"11815:19:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"id":12581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"hash","nodeType":"MemberAccess","referencedDeclaration":7982,"src":"11815:24:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$bound_to$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":12582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11815:26:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11797:44:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12584,"nodeType":"ExpressionStatement","src":"11797:44:65"},{"eventCall":{"arguments":[{"expression":{"id":12586,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11893:3:65","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":12587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"11893:10:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12588,"name":"_numWitnesses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12489,"src":"11917:13:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":12589,"name":"_minWitnessingConsensus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12491,"src":"11944:23:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":12590,"name":"_witnessingCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12493,"src":"11981:21:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":12591,"name":"_witnessingReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12495,"src":"12016:17:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":12592,"name":"_witnessingUnitaryFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12497,"src":"12047:21:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":12585,"name":"WitnessingParamsChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12018,"src":"11856:23:65","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint8_$_t_uint8_$_t_uint64_$_t_uint64_$_t_uint64_$returns$__$","typeString":"function (address,uint8,uint8,uint64,uint64,uint64)"}},"id":12593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11856:222:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12594,"nodeType":"EmitStatement","src":"11851:227:65"}]},"documentation":{"id":12487,"nodeType":"StructuredDocumentation","src":"10441:89:65","text":"@dev Serializes new `bytecode` by combining immutable template with given parameters."},"id":12596,"implemented":true,"kind":"function","modifiers":[],"name":"_malleateBytecode","nameLocation":"10544:17:65","nodeType":"FunctionDefinition","parameters":{"id":12498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12489,"mutability":"mutable","name":"_numWitnesses","nameLocation":"10581:13:65","nodeType":"VariableDeclaration","scope":12596,"src":"10575:19:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12488,"name":"uint8","nodeType":"ElementaryTypeName","src":"10575:5:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":12491,"mutability":"mutable","name":"_minWitnessingConsensus","nameLocation":"10614:23:65","nodeType":"VariableDeclaration","scope":12596,"src":"10608:29:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12490,"name":"uint8","nodeType":"ElementaryTypeName","src":"10608:5:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":12493,"mutability":"mutable","name":"_witnessingCollateral","nameLocation":"10658:21:65","nodeType":"VariableDeclaration","scope":12596,"src":"10651:28:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12492,"name":"uint64","nodeType":"ElementaryTypeName","src":"10651:6:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12495,"mutability":"mutable","name":"_witnessingReward","nameLocation":"10700:17:65","nodeType":"VariableDeclaration","scope":12596,"src":"10693:24:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12494,"name":"uint64","nodeType":"ElementaryTypeName","src":"10693:6:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12497,"mutability":"mutable","name":"_witnessingUnitaryFee","nameLocation":"10738:21:65","nodeType":"VariableDeclaration","scope":12596,"src":"10731:28:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12496,"name":"uint64","nodeType":"ElementaryTypeName","src":"10731:6:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"10561:208:65"},"returnParameters":{"id":12499,"nodeType":"ParameterList","parameters":[],"src":"10807:0:65"},"scope":12720,"src":"10535:1550:65","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":12604,"nodeType":"Block","src":"12294:216:65","statements":[{"AST":{"nodeType":"YulBlock","src":"12313:191:65","statements":[{"nodeType":"YulAssignment","src":"12327:167:65","value":{"kind":"number","nodeType":"YulLiteral","src":"12428:66:65","type":"","value":"0x375930152e1d0d102998be6e496b0cee86c9ecd0efef01014ecff169b17dfba7"},"variableNames":[{"name":"_ptr.slot","nodeType":"YulIdentifier","src":"12327:9:65"}]}]},"evmVersion":"london","externalReferences":[{"declaration":12601,"isOffset":false,"isSlot":true,"src":"12327:9:65","suffix":"slot","valueSize":1}],"id":12603,"nodeType":"InlineAssembly","src":"12304:200:65"}]},"documentation":{"id":12597,"nodeType":"StructuredDocumentation","src":"12091:71:65","text":"@dev Returns pointer to storage slot where State struct is located."},"id":12605,"implemented":true,"kind":"function","modifiers":[],"name":"_request","nameLocation":"12176:8:65","nodeType":"FunctionDefinition","parameters":{"id":12598,"nodeType":"ParameterList","parameters":[],"src":"12184:2:65"},"returnParameters":{"id":12602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12601,"mutability":"mutable","name":"_ptr","nameLocation":"12284:4:65","nodeType":"VariableDeclaration","scope":12605,"src":"12242:46:65","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext"},"typeName":{"id":12600,"nodeType":"UserDefinedTypeName","pathNode":{"id":12599,"name":"WitnetRequestMalleableBaseContext","nodeType":"IdentifierPath","referencedDeclaration":12035,"src":"12242:33:65"},"referencedDeclaration":12035,"src":"12242:33:65","typeDescriptions":{"typeIdentifier":"t_struct$_WitnetRequestMalleableBaseContext_$12035_storage_ptr","typeString":"struct WitnetRequestMalleableBase.WitnetRequestMalleableBaseContext"}},"visibility":"internal"}],"src":"12241:48:65"},"scope":12720,"src":"12167:343:65","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":12699,"nodeType":"Block","src":"12827:698:65","statements":[{"assignments":[12616],"declarations":[{"constant":false,"id":12616,"mutability":"mutable","name":"tmp","nameLocation":"12989:3:65","nodeType":"VariableDeclaration","scope":12699,"src":"12982:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12615,"name":"uint64","nodeType":"ElementaryTypeName","src":"12982:6:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":12618,"initialValue":{"id":12617,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12610,"src":"12995:1:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"VariableDeclarationStatement","src":"12982:14:65"},{"assignments":[12620],"declarations":[{"constant":false,"id":12620,"mutability":"mutable","name":"numBytes","nameLocation":"13013:8:65","nodeType":"VariableDeclaration","scope":12699,"src":"13006:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12619,"name":"uint64","nodeType":"ElementaryTypeName","src":"13006:6:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":12622,"initialValue":{"hexValue":"32","id":12621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13024:1:65","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"VariableDeclarationStatement","src":"13006:19:65"},{"body":{"id":12636,"nodeType":"Block","src":"13054:66:65","statements":[{"expression":{"id":12630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12626,"name":"tmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12616,"src":"13068:3:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":12629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12627,"name":"tmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12616,"src":"13074:3:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"37","id":12628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13081:1:65","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"13074:8:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"13068:14:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":12631,"nodeType":"ExpressionStatement","src":"13068:14:65"},{"expression":{"id":12634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12632,"name":"numBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12620,"src":"13096:8:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":12633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13108:1:65","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13096:13:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":12635,"nodeType":"ExpressionStatement","src":"13096:13:65"}]},"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":12625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12623,"name":"tmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12616,"src":"13042:3:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30783746","id":12624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13048:4:65","typeDescriptions":{"typeIdentifier":"t_rational_127_by_1","typeString":"int_const 127"},"value":"0x7F"},"src":"13042:10:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12637,"nodeType":"WhileStatement","src":"13035:85:65"},{"assignments":[12639],"declarations":[{"constant":false,"id":12639,"mutability":"mutable","name":"buf","nameLocation":"13142:3:65","nodeType":"VariableDeclaration","scope":12699,"src":"13129:16:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12638,"name":"bytes","nodeType":"ElementaryTypeName","src":"13129:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":12644,"initialValue":{"arguments":[{"id":12642,"name":"numBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12620,"src":"13158:8:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":12641,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"13148:9:65","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":12640,"name":"bytes","nodeType":"ElementaryTypeName","src":"13152:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":12643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13148:19:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"13129:38:65"},{"expression":{"id":12647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12645,"name":"tmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12616,"src":"13177:3:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12646,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12610,"src":"13183:1:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"13177:7:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":12648,"nodeType":"ExpressionStatement","src":"13177:7:65"},{"expression":{"id":12653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":12649,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12639,"src":"13194:3:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":12651,"indexExpression":{"hexValue":"30","id":12650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13198:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13194:6:65","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12652,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12608,"src":"13203:1:65","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"13194:10:65","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":12654,"nodeType":"ExpressionStatement","src":"13194:10:65"},{"body":{"id":12687,"nodeType":"Block","src":"13252:164:65","statements":[{"expression":{"id":12679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":12665,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12639,"src":"13336:3:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":12667,"indexExpression":{"id":12666,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12656,"src":"13340:1:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13336:6:65","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":12677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"30783830","id":12670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13352:4:65","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"0x80"},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":12675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12673,"name":"tmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12616,"src":"13365:3:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783746","id":12674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13371:4:65","typeDescriptions":{"typeIdentifier":"t_rational_127_by_1","typeString":"int_const 127"},"value":"0x7F"},"src":"13365:10:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":12672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13359:5:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":12671,"name":"uint8","nodeType":"ElementaryTypeName","src":"13359:5:65","typeDescriptions":{}}},"id":12676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13359:17:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"13352:24:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":12669,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13345:6:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":12668,"name":"bytes1","nodeType":"ElementaryTypeName","src":"13345:6:65","typeDescriptions":{}}},"id":12678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13345:32:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"13336:41:65","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":12680,"nodeType":"ExpressionStatement","src":"13336:41:65"},{"expression":{"id":12685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12681,"name":"tmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12616,"src":"13391:3:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":12684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12682,"name":"tmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12616,"src":"13397:3:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"37","id":12683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13404:1:65","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"13397:8:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"13391:14:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":12686,"nodeType":"ExpressionStatement","src":"13391:14:65"}]},"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":12661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12659,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12656,"src":"13233:1:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":12660,"name":"numBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12620,"src":"13237:8:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"13233:12:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12688,"initializationExpression":{"assignments":[12656],"declarations":[{"constant":false,"id":12656,"mutability":"mutable","name":"i","nameLocation":"13226:1:65","nodeType":"VariableDeclaration","scope":12688,"src":"13219:8:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12655,"name":"uint64","nodeType":"ElementaryTypeName","src":"13219:6:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":12658,"initialValue":{"hexValue":"31","id":12657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13230:1:65","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"13219:12:65"},"loopExpression":{"expression":{"id":12663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"13247:3:65","subExpression":{"id":12662,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12656,"src":"13247:1:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":12664,"nodeType":"ExpressionStatement","src":"13247:3:65"},"nodeType":"ForStatement","src":"13214:202:65"},{"expression":{"id":12695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":12689,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12639,"src":"13473:3:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":12693,"indexExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":12692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12690,"name":"numBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12620,"src":"13477:8:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":12691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13488:1:65","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13477:12:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13473:17:65","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"&=","rightHandSide":{"hexValue":"30783746","id":12694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13494:4:65","typeDescriptions":{"typeIdentifier":"t_rational_127_by_1","typeString":"int_const 127"},"value":"0x7F"},"src":"13473:25:65","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":12696,"nodeType":"ExpressionStatement","src":"13473:25:65"},{"expression":{"id":12697,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12639,"src":"13515:3:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":12614,"id":12698,"nodeType":"Return","src":"13508:10:65"}]},"documentation":{"id":12606,"nodeType":"StructuredDocumentation","src":"12516:206:65","text":"@dev Encode uint64 into tagged varint.\n @dev See https://developers.google.com/protocol-buffers/docs/encoding#varints.\n @param t Tag\n @param n Number\n @return Marshaled bytes"},"id":12700,"implemented":true,"kind":"function","modifiers":[],"name":"_uint64varint","nameLocation":"12736:13:65","nodeType":"FunctionDefinition","parameters":{"id":12611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12608,"mutability":"mutable","name":"t","nameLocation":"12757:1:65","nodeType":"VariableDeclaration","scope":12700,"src":"12750:8:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":12607,"name":"bytes1","nodeType":"ElementaryTypeName","src":"12750:6:65","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"},{"constant":false,"id":12610,"mutability":"mutable","name":"n","nameLocation":"12767:1:65","nodeType":"VariableDeclaration","scope":12700,"src":"12760:8:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12609,"name":"uint64","nodeType":"ElementaryTypeName","src":"12760:6:65","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"12749:20:65"},"returnParameters":{"id":12614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12613,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12700,"src":"12809:12:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12612,"name":"bytes","nodeType":"ElementaryTypeName","src":"12809:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12808:14:65"},"scope":12720,"src":"12727:798:65","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12718,"nodeType":"Block","src":"13752:51:65","statements":[{"expression":{"arguments":[{"id":12711,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12703,"src":"13783:1:65","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":12714,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12705,"src":"13793:1:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":12713,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13786:6:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":12712,"name":"uint64","nodeType":"ElementaryTypeName","src":"13786:6:65","typeDescriptions":{}}},"id":12715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13786:9:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":12710,"name":"_uint64varint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12700,"src":"13769:13:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes1_$_t_uint64_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes1,uint64) pure returns (bytes memory)"}},"id":12716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13769:27:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":12709,"id":12717,"nodeType":"Return","src":"13762:34:65"}]},"documentation":{"id":12701,"nodeType":"StructuredDocumentation","src":"13531:118:65","text":"@dev Encode uint8 into tagged varint.\n @param t Tag\n @param n Number\n @return Marshaled bytes"},"id":12719,"implemented":true,"kind":"function","modifiers":[],"name":"_uint8varint","nameLocation":"13663:12:65","nodeType":"FunctionDefinition","parameters":{"id":12706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12703,"mutability":"mutable","name":"t","nameLocation":"13683:1:65","nodeType":"VariableDeclaration","scope":12719,"src":"13676:8:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":12702,"name":"bytes1","nodeType":"ElementaryTypeName","src":"13676:6:65","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"},{"constant":false,"id":12705,"mutability":"mutable","name":"n","nameLocation":"13692:1:65","nodeType":"VariableDeclaration","scope":12719,"src":"13686:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12704,"name":"uint8","nodeType":"ElementaryTypeName","src":"13686:5:65","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"13675:19:65"},"returnParameters":{"id":12709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12708,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12719,"src":"13734:12:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12707,"name":"bytes","nodeType":"ElementaryTypeName","src":"13734:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"13733:14:65"},"scope":12720,"src":"13654:149:65","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":12721,"src":"201:13604:65","usedErrors":[]}],"src":"33:13773:65"},"id":65},"witnet-solidity-bridge/contracts/requests/WitnetRequestRandomness.sol":{"ast":{"absolutePath":"witnet-solidity-bridge/contracts/requests/WitnetRequestRandomness.sol","exportedSymbols":{"Clonable":[11629],"Context":[11660],"IWitnetRequest":[7510],"Initializable":[11676],"Ownable":[11781],"Proxiable":[11841],"Witnet":[8300],"WitnetRequestMalleableBase":[12720],"WitnetRequestRandomness":[12753]},"id":12754,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":12722,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:66"},{"absolutePath":"witnet-solidity-bridge/contracts/requests/WitnetRequestMalleableBase.sol","file":"./WitnetRequestMalleableBase.sol","id":12723,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12754,"sourceUnit":12721,"src":"66:42:66","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":12724,"name":"WitnetRequestMalleableBase","nodeType":"IdentifierPath","referencedDeclaration":12720,"src":"146:26:66"},"id":12725,"nodeType":"InheritanceSpecifier","src":"146:26:66"}],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":12753,"linearizedBaseContracts":[12753,12720,11841,11781,11660,11629,11676,7510],"name":"WitnetRequestRandomness","nameLocation":"119:23:66","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":12728,"mutability":"constant","name":"_WITNET_RANDOMNESS_BYTECODE_TEMPLATE","nameLocation":"203:36:66","nodeType":"VariableDeclaration","scope":12753,"src":"179:102:66","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12726,"name":"bytes","nodeType":"ElementaryTypeName","src":"179:5:66","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"hexValue":"0a0f120508021a01801a0210022202100b","id":12727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"242:39:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_ad32908debcf6f01f717b9a048158d3e04f1c1e8049b3415cb32e7719cc58af9","typeString":"literal_string hex\"0a0f120508021a01801a0210022202100b\""}},"visibility":"internal"},{"body":{"id":12738,"nodeType":"Block","src":"302:38:66","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"","id":12734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"329:2:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":12733,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"323:5:66","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":12732,"name":"bytes","nodeType":"ElementaryTypeName","src":"323:5:66","typeDescriptions":{}}},"id":12735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"323:9:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12731,"name":"initialize","nodeType":"Identifier","overloadedDeclarations":[12752],"referencedDeclaration":12752,"src":"312:10:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory)"}},"id":12736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"312:21:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12737,"nodeType":"ExpressionStatement","src":"312:21:66"}]},"id":12739,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":12729,"nodeType":"ParameterList","parameters":[],"src":"299:2:66"},"returnParameters":{"id":12730,"nodeType":"ParameterList","parameters":[],"src":"302:0:66"},"scope":12753,"src":"288:52:66","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[12358],"body":{"id":12751,"nodeType":"Block","src":"424:71:66","statements":[{"expression":{"arguments":[{"id":12748,"name":"_WITNET_RANDOMNESS_BYTECODE_TEMPLATE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12728,"src":"451:36:66","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":12745,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"434:5:66","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_WitnetRequestRandomness_$12753_$","typeString":"type(contract super WitnetRequestRandomness)"}},"id":12747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":12358,"src":"434:16:66","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory)"}},"id":12749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"434:54:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12750,"nodeType":"ExpressionStatement","src":"434:54:66"}]},"functionSelector":"439fab91","id":12752,"implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"355:10:66","nodeType":"FunctionDefinition","overrides":{"id":12743,"nodeType":"OverrideSpecifier","overrides":[],"src":"411:8:66"},"parameters":{"id":12742,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12741,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12752,"src":"366:12:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12740,"name":"bytes","nodeType":"ElementaryTypeName","src":"366:5:66","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"365:14:66"},"returnParameters":{"id":12744,"nodeType":"ParameterList","parameters":[],"src":"424:0:66"},"scope":12753,"src":"346:149:66","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":12754,"src":"110:387:66","usedErrors":[]}],"src":"33:465:66"},"id":66}},"contracts":{"@chainlink/contracts/src/v0.8/Chainlink.sol":{"Chainlink":{"abi":[],"devdoc":{"details":"Uses imported CBOR library for encoding to buffer","kind":"dev","methods":{},"title":"Library for common Chainlink functions","version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220827d66598c40becb91ef407c7da4e4eeb2e6f92693b00d028b3281379a877dd964736f6c63430008070033","opcodes":"PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP3 PUSH30 0x66598C40BECB91EF407C7DA4E4EEB2E6F92693B00D028B3281379A877DD9 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ","sourceMap":"293:3494:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220827d66598c40becb91ef407c7da4e4eeb2e6f92693b00d028b3281379a877dd964736f6c63430008070033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP3 PUSH30 0x66598C40BECB91EF407C7DA4E4EEB2E6F92693B00D028B3281379A877DD9 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ","sourceMap":"293:3494:0:-:0;;;;;;;;"},"gasEstimates":{"creation":{"codeDepositCost":"17200","executionCost":"97","totalCost":"17297"},"internal":{"add(struct Chainlink.Request memory,string memory,string memory)":"infinite","addBytes(struct Chainlink.Request memory,string memory,bytes memory)":"infinite","addInt(struct Chainlink.Request memory,string memory,int256)":"infinite","addStringArray(struct Chainlink.Request memory,string memory,string memory[] memory)":"infinite","addUint(struct Chainlink.Request memory,string memory,uint256)":"infinite","initialize(struct Chainlink.Request memory,bytes32,address,bytes4)":"infinite","setBuffer(struct Chainlink.Request memory,bytes memory)":"infinite"}},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Uses imported CBOR library for encoding to buffer\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Library for common Chainlink functions\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@chainlink/contracts/src/v0.8/Chainlink.sol\":\"Chainlink\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/Chainlink.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nimport {CBORChainlink} from \\\"./vendor/CBORChainlink.sol\\\";\\nimport {BufferChainlink} from \\\"./vendor/BufferChainlink.sol\\\";\\n\\n/**\\n * @title Library for common Chainlink functions\\n * @dev Uses imported CBOR library for encoding to buffer\\n */\\nlibrary Chainlink {\\n  uint256 internal constant defaultBufferSize = 256; // solhint-disable-line const-name-snakecase\\n\\n  using CBORChainlink for BufferChainlink.buffer;\\n\\n  struct Request {\\n    bytes32 id;\\n    address callbackAddress;\\n    bytes4 callbackFunctionId;\\n    uint256 nonce;\\n    BufferChainlink.buffer buf;\\n  }\\n\\n  /**\\n   * @notice Initializes a Chainlink request\\n   * @dev Sets the ID, callback address, and callback function signature on the request\\n   * @param self The uninitialized request\\n   * @param jobId The Job Specification ID\\n   * @param callbackAddr The callback address\\n   * @param callbackFunc The callback function signature\\n   * @return The initialized request\\n   */\\n  function initialize(\\n    Request memory self,\\n    bytes32 jobId,\\n    address callbackAddr,\\n    bytes4 callbackFunc\\n  ) internal pure returns (Chainlink.Request memory) {\\n    BufferChainlink.init(self.buf, defaultBufferSize);\\n    self.id = jobId;\\n    self.callbackAddress = callbackAddr;\\n    self.callbackFunctionId = callbackFunc;\\n    return self;\\n  }\\n\\n  /**\\n   * @notice Sets the data for the buffer without encoding CBOR on-chain\\n   * @dev CBOR can be closed with curly-brackets {} or they can be left off\\n   * @param self The initialized request\\n   * @param data The CBOR data\\n   */\\n  function setBuffer(Request memory self, bytes memory data) internal pure {\\n    BufferChainlink.init(self.buf, data.length);\\n    BufferChainlink.append(self.buf, data);\\n  }\\n\\n  /**\\n   * @notice Adds a string value to the request with a given key name\\n   * @param self The initialized request\\n   * @param key The name of the key\\n   * @param value The string value to add\\n   */\\n  function add(\\n    Request memory self,\\n    string memory key,\\n    string memory value\\n  ) internal pure {\\n    self.buf.encodeString(key);\\n    self.buf.encodeString(value);\\n  }\\n\\n  /**\\n   * @notice Adds a bytes value to the request with a given key name\\n   * @param self The initialized request\\n   * @param key The name of the key\\n   * @param value The bytes value to add\\n   */\\n  function addBytes(\\n    Request memory self,\\n    string memory key,\\n    bytes memory value\\n  ) internal pure {\\n    self.buf.encodeString(key);\\n    self.buf.encodeBytes(value);\\n  }\\n\\n  /**\\n   * @notice Adds a int256 value to the request with a given key name\\n   * @param self The initialized request\\n   * @param key The name of the key\\n   * @param value The int256 value to add\\n   */\\n  function addInt(\\n    Request memory self,\\n    string memory key,\\n    int256 value\\n  ) internal pure {\\n    self.buf.encodeString(key);\\n    self.buf.encodeInt(value);\\n  }\\n\\n  /**\\n   * @notice Adds a uint256 value to the request with a given key name\\n   * @param self The initialized request\\n   * @param key The name of the key\\n   * @param value The uint256 value to add\\n   */\\n  function addUint(\\n    Request memory self,\\n    string memory key,\\n    uint256 value\\n  ) internal pure {\\n    self.buf.encodeString(key);\\n    self.buf.encodeUInt(value);\\n  }\\n\\n  /**\\n   * @notice Adds an array of strings to the request with a given key name\\n   * @param self The initialized request\\n   * @param key The name of the key\\n   * @param values The array of string values to add\\n   */\\n  function addStringArray(\\n    Request memory self,\\n    string memory key,\\n    string[] memory values\\n  ) internal pure {\\n    self.buf.encodeString(key);\\n    self.buf.startArray();\\n    for (uint256 i = 0; i < values.length; i++) {\\n      self.buf.encodeString(values[i]);\\n    }\\n    self.buf.endSequence();\\n  }\\n}\\n\",\"keccak256\":\"0x3e133ddc69d0909fbe338c34b70cbf8dd262c70fd670b3632424c1858de25105\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/vendor/BufferChainlink.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\n/**\\n * @dev A library for working with mutable byte buffers in Solidity.\\n *\\n * Byte buffers are mutable and expandable, and provide a variety of primitives\\n * for writing to them. At any time you can fetch a bytes object containing the\\n * current contents of the buffer. The bytes object should not be stored between\\n * operations, as it may change due to resizing of the buffer.\\n */\\nlibrary BufferChainlink {\\n  /**\\n   * @dev Represents a mutable buffer. Buffers have a current value (buf) and\\n   *      a capacity. The capacity may be longer than the current value, in\\n   *      which case it can be extended without the need to allocate more memory.\\n   */\\n  struct buffer {\\n    bytes buf;\\n    uint256 capacity;\\n  }\\n\\n  /**\\n   * @dev Initializes a buffer with an initial capacity.\\n   * @param buf The buffer to initialize.\\n   * @param capacity The number of bytes of space to allocate the buffer.\\n   * @return The buffer, for chaining.\\n   */\\n  function init(buffer memory buf, uint256 capacity) internal pure returns (buffer memory) {\\n    if (capacity % 32 != 0) {\\n      capacity += 32 - (capacity % 32);\\n    }\\n    // Allocate space for the buffer data\\n    buf.capacity = capacity;\\n    assembly {\\n      let ptr := mload(0x40)\\n      mstore(buf, ptr)\\n      mstore(ptr, 0)\\n      mstore(0x40, add(32, add(ptr, capacity)))\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Initializes a new buffer from an existing bytes object.\\n   *      Changes to the buffer may mutate the original value.\\n   * @param b The bytes object to initialize the buffer with.\\n   * @return A new buffer.\\n   */\\n  function fromBytes(bytes memory b) internal pure returns (buffer memory) {\\n    buffer memory buf;\\n    buf.buf = b;\\n    buf.capacity = b.length;\\n    return buf;\\n  }\\n\\n  function resize(buffer memory buf, uint256 capacity) private pure {\\n    bytes memory oldbuf = buf.buf;\\n    init(buf, capacity);\\n    append(buf, oldbuf);\\n  }\\n\\n  function max(uint256 a, uint256 b) private pure returns (uint256) {\\n    if (a > b) {\\n      return a;\\n    }\\n    return b;\\n  }\\n\\n  /**\\n   * @dev Sets buffer length to 0.\\n   * @param buf The buffer to truncate.\\n   * @return The original buffer, for chaining..\\n   */\\n  function truncate(buffer memory buf) internal pure returns (buffer memory) {\\n    assembly {\\n      let bufptr := mload(buf)\\n      mstore(bufptr, 0)\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Writes a byte string to a buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The start offset to write to.\\n   * @param data The data to append.\\n   * @param len The number of bytes to copy.\\n   * @return The original buffer, for chaining.\\n   */\\n  function write(\\n    buffer memory buf,\\n    uint256 off,\\n    bytes memory data,\\n    uint256 len\\n  ) internal pure returns (buffer memory) {\\n    require(len <= data.length);\\n\\n    if (off + len > buf.capacity) {\\n      resize(buf, max(buf.capacity, len + off) * 2);\\n    }\\n\\n    uint256 dest;\\n    uint256 src;\\n    assembly {\\n      // Memory address of the buffer data\\n      let bufptr := mload(buf)\\n      // Length of existing buffer data\\n      let buflen := mload(bufptr)\\n      // Start address = buffer address + offset + sizeof(buffer length)\\n      dest := add(add(bufptr, 32), off)\\n      // Update buffer length if we're extending it\\n      if gt(add(len, off), buflen) {\\n        mstore(bufptr, add(len, off))\\n      }\\n      src := add(data, 32)\\n    }\\n\\n    // Copy word-length chunks while possible\\n    for (; len >= 32; len -= 32) {\\n      assembly {\\n        mstore(dest, mload(src))\\n      }\\n      dest += 32;\\n      src += 32;\\n    }\\n\\n    // Copy remaining bytes\\n    unchecked {\\n      uint256 mask = (256**(32 - len)) - 1;\\n      assembly {\\n        let srcpart := and(mload(src), not(mask))\\n        let destpart := and(mload(dest), mask)\\n        mstore(dest, or(destpart, srcpart))\\n      }\\n    }\\n\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Appends a byte string to a buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @param len The number of bytes to copy.\\n   * @return The original buffer, for chaining.\\n   */\\n  function append(\\n    buffer memory buf,\\n    bytes memory data,\\n    uint256 len\\n  ) internal pure returns (buffer memory) {\\n    return write(buf, buf.buf.length, data, len);\\n  }\\n\\n  /**\\n   * @dev Appends a byte string to a buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function append(buffer memory buf, bytes memory data) internal pure returns (buffer memory) {\\n    return write(buf, buf.buf.length, data, data.length);\\n  }\\n\\n  /**\\n   * @dev Writes a byte to the buffer. Resizes if doing so would exceed the\\n   *      capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The offset to write the byte at.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function writeUint8(\\n    buffer memory buf,\\n    uint256 off,\\n    uint8 data\\n  ) internal pure returns (buffer memory) {\\n    if (off >= buf.capacity) {\\n      resize(buf, buf.capacity * 2);\\n    }\\n\\n    assembly {\\n      // Memory address of the buffer data\\n      let bufptr := mload(buf)\\n      // Length of existing buffer data\\n      let buflen := mload(bufptr)\\n      // Address = buffer address + sizeof(buffer length) + off\\n      let dest := add(add(bufptr, off), 32)\\n      mstore8(dest, data)\\n      // Update buffer length if we extended it\\n      if eq(off, buflen) {\\n        mstore(bufptr, add(buflen, 1))\\n      }\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Appends a byte to the buffer. Resizes if doing so would exceed the\\n   *      capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function appendUint8(buffer memory buf, uint8 data) internal pure returns (buffer memory) {\\n    return writeUint8(buf, buf.buf.length, data);\\n  }\\n\\n  /**\\n   * @dev Writes up to 32 bytes to the buffer. Resizes if doing so would\\n   *      exceed the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The offset to write at.\\n   * @param data The data to append.\\n   * @param len The number of bytes to write (left-aligned).\\n   * @return The original buffer, for chaining.\\n   */\\n  function write(\\n    buffer memory buf,\\n    uint256 off,\\n    bytes32 data,\\n    uint256 len\\n  ) private pure returns (buffer memory) {\\n    if (len + off > buf.capacity) {\\n      resize(buf, (len + off) * 2);\\n    }\\n\\n    unchecked {\\n      uint256 mask = (256**len) - 1;\\n      // Right-align data\\n      data = data >> (8 * (32 - len));\\n      assembly {\\n        // Memory address of the buffer data\\n        let bufptr := mload(buf)\\n        // Address = buffer address + sizeof(buffer length) + off + len\\n        let dest := add(add(bufptr, off), len)\\n        mstore(dest, or(and(mload(dest), not(mask)), data))\\n        // Update buffer length if we extended it\\n        if gt(add(off, len), mload(bufptr)) {\\n          mstore(bufptr, add(off, len))\\n        }\\n      }\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Writes a bytes20 to the buffer. Resizes if doing so would exceed the\\n   *      capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The offset to write at.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function writeBytes20(\\n    buffer memory buf,\\n    uint256 off,\\n    bytes20 data\\n  ) internal pure returns (buffer memory) {\\n    return write(buf, off, bytes32(data), 20);\\n  }\\n\\n  /**\\n   * @dev Appends a bytes20 to the buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer, for chhaining.\\n   */\\n  function appendBytes20(buffer memory buf, bytes20 data) internal pure returns (buffer memory) {\\n    return write(buf, buf.buf.length, bytes32(data), 20);\\n  }\\n\\n  /**\\n   * @dev Appends a bytes32 to the buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function appendBytes32(buffer memory buf, bytes32 data) internal pure returns (buffer memory) {\\n    return write(buf, buf.buf.length, data, 32);\\n  }\\n\\n  /**\\n   * @dev Writes an integer to the buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The offset to write at.\\n   * @param data The data to append.\\n   * @param len The number of bytes to write (right-aligned).\\n   * @return The original buffer, for chaining.\\n   */\\n  function writeInt(\\n    buffer memory buf,\\n    uint256 off,\\n    uint256 data,\\n    uint256 len\\n  ) private pure returns (buffer memory) {\\n    if (len + off > buf.capacity) {\\n      resize(buf, (len + off) * 2);\\n    }\\n\\n    uint256 mask = (256**len) - 1;\\n    assembly {\\n      // Memory address of the buffer data\\n      let bufptr := mload(buf)\\n      // Address = buffer address + off + sizeof(buffer length) + len\\n      let dest := add(add(bufptr, off), len)\\n      mstore(dest, or(and(mload(dest), not(mask)), data))\\n      // Update buffer length if we extended it\\n      if gt(add(off, len), mload(bufptr)) {\\n        mstore(bufptr, add(off, len))\\n      }\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Appends a byte to the end of the buffer. Resizes if doing so would\\n   * exceed the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer.\\n   */\\n  function appendInt(\\n    buffer memory buf,\\n    uint256 data,\\n    uint256 len\\n  ) internal pure returns (buffer memory) {\\n    return writeInt(buf, buf.buf.length, data, len);\\n  }\\n}\\n\",\"keccak256\":\"0x89388a631c16ad993e4d76d8d19e08ae98e1397f5dfdfb5f9c0b91015df4cf5d\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/vendor/CBORChainlink.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity >=0.4.19;\\n\\nimport {BufferChainlink} from \\\"./BufferChainlink.sol\\\";\\n\\nlibrary CBORChainlink {\\n  using BufferChainlink for BufferChainlink.buffer;\\n\\n  uint8 private constant MAJOR_TYPE_INT = 0;\\n  uint8 private constant MAJOR_TYPE_NEGATIVE_INT = 1;\\n  uint8 private constant MAJOR_TYPE_BYTES = 2;\\n  uint8 private constant MAJOR_TYPE_STRING = 3;\\n  uint8 private constant MAJOR_TYPE_ARRAY = 4;\\n  uint8 private constant MAJOR_TYPE_MAP = 5;\\n  uint8 private constant MAJOR_TYPE_TAG = 6;\\n  uint8 private constant MAJOR_TYPE_CONTENT_FREE = 7;\\n\\n  uint8 private constant TAG_TYPE_BIGNUM = 2;\\n  uint8 private constant TAG_TYPE_NEGATIVE_BIGNUM = 3;\\n\\n  function encodeFixedNumeric(BufferChainlink.buffer memory buf, uint8 major, uint64 value) private pure {\\n    if(value <= 23) {\\n      buf.appendUint8(uint8((major << 5) | value));\\n    } else if (value <= 0xFF) {\\n      buf.appendUint8(uint8((major << 5) | 24));\\n      buf.appendInt(value, 1);\\n    } else if (value <= 0xFFFF) {\\n      buf.appendUint8(uint8((major << 5) | 25));\\n      buf.appendInt(value, 2);\\n    } else if (value <= 0xFFFFFFFF) {\\n      buf.appendUint8(uint8((major << 5) | 26));\\n      buf.appendInt(value, 4);\\n    } else {\\n      buf.appendUint8(uint8((major << 5) | 27));\\n      buf.appendInt(value, 8);\\n    }\\n  }\\n\\n  function encodeIndefiniteLengthType(BufferChainlink.buffer memory buf, uint8 major) private pure {\\n    buf.appendUint8(uint8((major << 5) | 31));\\n  }\\n\\n  function encodeUInt(BufferChainlink.buffer memory buf, uint value) internal pure {\\n    if(value > 0xFFFFFFFFFFFFFFFF) {\\n      encodeBigNum(buf, value);\\n    } else {\\n      encodeFixedNumeric(buf, MAJOR_TYPE_INT, uint64(value));\\n    }\\n  }\\n\\n  function encodeInt(BufferChainlink.buffer memory buf, int value) internal pure {\\n    if(value < -0x10000000000000000) {\\n      encodeSignedBigNum(buf, value);\\n    } else if(value > 0xFFFFFFFFFFFFFFFF) {\\n      encodeBigNum(buf, uint(value));\\n    } else if(value >= 0) {\\n      encodeFixedNumeric(buf, MAJOR_TYPE_INT, uint64(uint256(value)));\\n    } else {\\n      encodeFixedNumeric(buf, MAJOR_TYPE_NEGATIVE_INT, uint64(uint256(-1 - value)));\\n    }\\n  }\\n\\n  function encodeBytes(BufferChainlink.buffer memory buf, bytes memory value) internal pure {\\n    encodeFixedNumeric(buf, MAJOR_TYPE_BYTES, uint64(value.length));\\n    buf.append(value);\\n  }\\n\\n  function encodeBigNum(BufferChainlink.buffer memory buf, uint value) internal pure {\\n    buf.appendUint8(uint8((MAJOR_TYPE_TAG << 5) | TAG_TYPE_BIGNUM));\\n    encodeBytes(buf, abi.encode(value));\\n  }\\n\\n  function encodeSignedBigNum(BufferChainlink.buffer memory buf, int input) internal pure {\\n    buf.appendUint8(uint8((MAJOR_TYPE_TAG << 5) | TAG_TYPE_NEGATIVE_BIGNUM));\\n    encodeBytes(buf, abi.encode(uint256(-1 - input)));\\n  }\\n\\n  function encodeString(BufferChainlink.buffer memory buf, string memory value) internal pure {\\n    encodeFixedNumeric(buf, MAJOR_TYPE_STRING, uint64(bytes(value).length));\\n    buf.append(bytes(value));\\n  }\\n\\n  function startArray(BufferChainlink.buffer memory buf) internal pure {\\n    encodeIndefiniteLengthType(buf, MAJOR_TYPE_ARRAY);\\n  }\\n\\n  function startMap(BufferChainlink.buffer memory buf) internal pure {\\n    encodeIndefiniteLengthType(buf, MAJOR_TYPE_MAP);\\n  }\\n\\n  function endSequence(BufferChainlink.buffer memory buf) internal pure {\\n    encodeIndefiniteLengthType(buf, MAJOR_TYPE_CONTENT_FREE);\\n  }\\n}\\n\",\"keccak256\":\"0x08bda450d4dc1d17147fd29810234d35e2c437f1a99be733cfa7ee516db08a48\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"version":1}}},"@chainlink/contracts/src/v0.8/ChainlinkClient.sol":{"ChainlinkClient":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"ChainlinkCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"ChainlinkFulfilled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"ChainlinkRequested","type":"event"}],"devdoc":{"kind":"dev","methods":{},"title":"The ChainlinkClient contract","version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"ChainlinkCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"ChainlinkFulfilled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"ChainlinkRequested\",\"type\":\"event\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"The ChainlinkClient contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Contract writers can inherit this contract in order to create requests for the Chainlink network\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"@chainlink/contracts/src/v0.8/ChainlinkClient.sol\":\"ChainlinkClient\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/Chainlink.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nimport {CBORChainlink} from \\\"./vendor/CBORChainlink.sol\\\";\\nimport {BufferChainlink} from \\\"./vendor/BufferChainlink.sol\\\";\\n\\n/**\\n * @title Library for common Chainlink functions\\n * @dev Uses imported CBOR library for encoding to buffer\\n */\\nlibrary Chainlink {\\n  uint256 internal constant defaultBufferSize = 256; // solhint-disable-line const-name-snakecase\\n\\n  using CBORChainlink for BufferChainlink.buffer;\\n\\n  struct Request {\\n    bytes32 id;\\n    address callbackAddress;\\n    bytes4 callbackFunctionId;\\n    uint256 nonce;\\n    BufferChainlink.buffer buf;\\n  }\\n\\n  /**\\n   * @notice Initializes a Chainlink request\\n   * @dev Sets the ID, callback address, and callback function signature on the request\\n   * @param self The uninitialized request\\n   * @param jobId The Job Specification ID\\n   * @param callbackAddr The callback address\\n   * @param callbackFunc The callback function signature\\n   * @return The initialized request\\n   */\\n  function initialize(\\n    Request memory self,\\n    bytes32 jobId,\\n    address callbackAddr,\\n    bytes4 callbackFunc\\n  ) internal pure returns (Chainlink.Request memory) {\\n    BufferChainlink.init(self.buf, defaultBufferSize);\\n    self.id = jobId;\\n    self.callbackAddress = callbackAddr;\\n    self.callbackFunctionId = callbackFunc;\\n    return self;\\n  }\\n\\n  /**\\n   * @notice Sets the data for the buffer without encoding CBOR on-chain\\n   * @dev CBOR can be closed with curly-brackets {} or they can be left off\\n   * @param self The initialized request\\n   * @param data The CBOR data\\n   */\\n  function setBuffer(Request memory self, bytes memory data) internal pure {\\n    BufferChainlink.init(self.buf, data.length);\\n    BufferChainlink.append(self.buf, data);\\n  }\\n\\n  /**\\n   * @notice Adds a string value to the request with a given key name\\n   * @param self The initialized request\\n   * @param key The name of the key\\n   * @param value The string value to add\\n   */\\n  function add(\\n    Request memory self,\\n    string memory key,\\n    string memory value\\n  ) internal pure {\\n    self.buf.encodeString(key);\\n    self.buf.encodeString(value);\\n  }\\n\\n  /**\\n   * @notice Adds a bytes value to the request with a given key name\\n   * @param self The initialized request\\n   * @param key The name of the key\\n   * @param value The bytes value to add\\n   */\\n  function addBytes(\\n    Request memory self,\\n    string memory key,\\n    bytes memory value\\n  ) internal pure {\\n    self.buf.encodeString(key);\\n    self.buf.encodeBytes(value);\\n  }\\n\\n  /**\\n   * @notice Adds a int256 value to the request with a given key name\\n   * @param self The initialized request\\n   * @param key The name of the key\\n   * @param value The int256 value to add\\n   */\\n  function addInt(\\n    Request memory self,\\n    string memory key,\\n    int256 value\\n  ) internal pure {\\n    self.buf.encodeString(key);\\n    self.buf.encodeInt(value);\\n  }\\n\\n  /**\\n   * @notice Adds a uint256 value to the request with a given key name\\n   * @param self The initialized request\\n   * @param key The name of the key\\n   * @param value The uint256 value to add\\n   */\\n  function addUint(\\n    Request memory self,\\n    string memory key,\\n    uint256 value\\n  ) internal pure {\\n    self.buf.encodeString(key);\\n    self.buf.encodeUInt(value);\\n  }\\n\\n  /**\\n   * @notice Adds an array of strings to the request with a given key name\\n   * @param self The initialized request\\n   * @param key The name of the key\\n   * @param values The array of string values to add\\n   */\\n  function addStringArray(\\n    Request memory self,\\n    string memory key,\\n    string[] memory values\\n  ) internal pure {\\n    self.buf.encodeString(key);\\n    self.buf.startArray();\\n    for (uint256 i = 0; i < values.length; i++) {\\n      self.buf.encodeString(values[i]);\\n    }\\n    self.buf.endSequence();\\n  }\\n}\\n\",\"keccak256\":\"0x3e133ddc69d0909fbe338c34b70cbf8dd262c70fd670b3632424c1858de25105\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/ChainlinkClient.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nimport \\\"./Chainlink.sol\\\";\\nimport \\\"./interfaces/ENSInterface.sol\\\";\\nimport \\\"./interfaces/LinkTokenInterface.sol\\\";\\nimport \\\"./interfaces/ChainlinkRequestInterface.sol\\\";\\nimport \\\"./interfaces/OperatorInterface.sol\\\";\\nimport \\\"./interfaces/PointerInterface.sol\\\";\\nimport {ENSResolver as ENSResolver_Chainlink} from \\\"./vendor/ENSResolver.sol\\\";\\n\\n/**\\n * @title The ChainlinkClient contract\\n * @notice Contract writers can inherit this contract in order to create requests for the\\n * Chainlink network\\n */\\nabstract contract ChainlinkClient {\\n  using Chainlink for Chainlink.Request;\\n\\n  uint256 internal constant LINK_DIVISIBILITY = 10**18;\\n  uint256 private constant AMOUNT_OVERRIDE = 0;\\n  address private constant SENDER_OVERRIDE = address(0);\\n  uint256 private constant ORACLE_ARGS_VERSION = 1;\\n  uint256 private constant OPERATOR_ARGS_VERSION = 2;\\n  bytes32 private constant ENS_TOKEN_SUBNAME = keccak256(\\\"link\\\");\\n  bytes32 private constant ENS_ORACLE_SUBNAME = keccak256(\\\"oracle\\\");\\n  address private constant LINK_TOKEN_POINTER = 0xC89bD4E1632D3A43CB03AAAd5262cbe4038Bc571;\\n\\n  ENSInterface private s_ens;\\n  bytes32 private s_ensNode;\\n  LinkTokenInterface private s_link;\\n  OperatorInterface private s_oracle;\\n  uint256 private s_requestCount = 1;\\n  mapping(bytes32 => address) private s_pendingRequests;\\n\\n  event ChainlinkRequested(bytes32 indexed id);\\n  event ChainlinkFulfilled(bytes32 indexed id);\\n  event ChainlinkCancelled(bytes32 indexed id);\\n\\n  /**\\n   * @notice Creates a request that can hold additional parameters\\n   * @param specId The Job Specification ID that the request will be created for\\n   * @param callbackAddr address to operate the callback on\\n   * @param callbackFunctionSignature function signature to use for the callback\\n   * @return A Chainlink Request struct in memory\\n   */\\n  function buildChainlinkRequest(\\n    bytes32 specId,\\n    address callbackAddr,\\n    bytes4 callbackFunctionSignature\\n  ) internal pure returns (Chainlink.Request memory) {\\n    Chainlink.Request memory req;\\n    return req.initialize(specId, callbackAddr, callbackFunctionSignature);\\n  }\\n\\n  /**\\n   * @notice Creates a request that can hold additional parameters\\n   * @param specId The Job Specification ID that the request will be created for\\n   * @param callbackFunctionSignature function signature to use for the callback\\n   * @return A Chainlink Request struct in memory\\n   */\\n  function buildOperatorRequest(bytes32 specId, bytes4 callbackFunctionSignature)\\n    internal\\n    view\\n    returns (Chainlink.Request memory)\\n  {\\n    Chainlink.Request memory req;\\n    return req.initialize(specId, address(this), callbackFunctionSignature);\\n  }\\n\\n  /**\\n   * @notice Creates a Chainlink request to the stored oracle address\\n   * @dev Calls `chainlinkRequestTo` with the stored oracle address\\n   * @param req The initialized Chainlink Request\\n   * @param payment The amount of LINK to send for the request\\n   * @return requestId The request ID\\n   */\\n  function sendChainlinkRequest(Chainlink.Request memory req, uint256 payment) internal returns (bytes32) {\\n    return sendChainlinkRequestTo(address(s_oracle), req, payment);\\n  }\\n\\n  /**\\n   * @notice Creates a Chainlink request to the specified oracle address\\n   * @dev Generates and stores a request ID, increments the local nonce, and uses `transferAndCall` to\\n   * send LINK which creates a request on the target oracle contract.\\n   * Emits ChainlinkRequested event.\\n   * @param oracleAddress The address of the oracle for the request\\n   * @param req The initialized Chainlink Request\\n   * @param payment The amount of LINK to send for the request\\n   * @return requestId The request ID\\n   */\\n  function sendChainlinkRequestTo(\\n    address oracleAddress,\\n    Chainlink.Request memory req,\\n    uint256 payment\\n  ) internal returns (bytes32 requestId) {\\n    uint256 nonce = s_requestCount;\\n    s_requestCount = nonce + 1;\\n    bytes memory encodedRequest = abi.encodeWithSelector(\\n      ChainlinkRequestInterface.oracleRequest.selector,\\n      SENDER_OVERRIDE, // Sender value - overridden by onTokenTransfer by the requesting contract's address\\n      AMOUNT_OVERRIDE, // Amount value - overridden by onTokenTransfer by the actual amount of LINK sent\\n      req.id,\\n      address(this),\\n      req.callbackFunctionId,\\n      nonce,\\n      ORACLE_ARGS_VERSION,\\n      req.buf.buf\\n    );\\n    return _rawRequest(oracleAddress, nonce, payment, encodedRequest);\\n  }\\n\\n  /**\\n   * @notice Creates a Chainlink request to the stored oracle address\\n   * @dev This function supports multi-word response\\n   * @dev Calls `sendOperatorRequestTo` with the stored oracle address\\n   * @param req The initialized Chainlink Request\\n   * @param payment The amount of LINK to send for the request\\n   * @return requestId The request ID\\n   */\\n  function sendOperatorRequest(Chainlink.Request memory req, uint256 payment) internal returns (bytes32) {\\n    return sendOperatorRequestTo(address(s_oracle), req, payment);\\n  }\\n\\n  /**\\n   * @notice Creates a Chainlink request to the specified oracle address\\n   * @dev This function supports multi-word response\\n   * @dev Generates and stores a request ID, increments the local nonce, and uses `transferAndCall` to\\n   * send LINK which creates a request on the target oracle contract.\\n   * Emits ChainlinkRequested event.\\n   * @param oracleAddress The address of the oracle for the request\\n   * @param req The initialized Chainlink Request\\n   * @param payment The amount of LINK to send for the request\\n   * @return requestId The request ID\\n   */\\n  function sendOperatorRequestTo(\\n    address oracleAddress,\\n    Chainlink.Request memory req,\\n    uint256 payment\\n  ) internal returns (bytes32 requestId) {\\n    uint256 nonce = s_requestCount;\\n    s_requestCount = nonce + 1;\\n    bytes memory encodedRequest = abi.encodeWithSelector(\\n      OperatorInterface.operatorRequest.selector,\\n      SENDER_OVERRIDE, // Sender value - overridden by onTokenTransfer by the requesting contract's address\\n      AMOUNT_OVERRIDE, // Amount value - overridden by onTokenTransfer by the actual amount of LINK sent\\n      req.id,\\n      req.callbackFunctionId,\\n      nonce,\\n      OPERATOR_ARGS_VERSION,\\n      req.buf.buf\\n    );\\n    return _rawRequest(oracleAddress, nonce, payment, encodedRequest);\\n  }\\n\\n  /**\\n   * @notice Make a request to an oracle\\n   * @param oracleAddress The address of the oracle for the request\\n   * @param nonce used to generate the request ID\\n   * @param payment The amount of LINK to send for the request\\n   * @param encodedRequest data encoded for request type specific format\\n   * @return requestId The request ID\\n   */\\n  function _rawRequest(\\n    address oracleAddress,\\n    uint256 nonce,\\n    uint256 payment,\\n    bytes memory encodedRequest\\n  ) private returns (bytes32 requestId) {\\n    requestId = keccak256(abi.encodePacked(this, nonce));\\n    s_pendingRequests[requestId] = oracleAddress;\\n    emit ChainlinkRequested(requestId);\\n    require(s_link.transferAndCall(oracleAddress, payment, encodedRequest), \\\"unable to transferAndCall to oracle\\\");\\n  }\\n\\n  /**\\n   * @notice Allows a request to be cancelled if it has not been fulfilled\\n   * @dev Requires keeping track of the expiration value emitted from the oracle contract.\\n   * Deletes the request from the `pendingRequests` mapping.\\n   * Emits ChainlinkCancelled event.\\n   * @param requestId The request ID\\n   * @param payment The amount of LINK sent for the request\\n   * @param callbackFunc The callback function specified for the request\\n   * @param expiration The time of the expiration for the request\\n   */\\n  function cancelChainlinkRequest(\\n    bytes32 requestId,\\n    uint256 payment,\\n    bytes4 callbackFunc,\\n    uint256 expiration\\n  ) internal {\\n    OperatorInterface requested = OperatorInterface(s_pendingRequests[requestId]);\\n    delete s_pendingRequests[requestId];\\n    emit ChainlinkCancelled(requestId);\\n    requested.cancelOracleRequest(requestId, payment, callbackFunc, expiration);\\n  }\\n\\n  /**\\n   * @notice the next request count to be used in generating a nonce\\n   * @dev starts at 1 in order to ensure consistent gas cost\\n   * @return returns the next request count to be used in a nonce\\n   */\\n  function getNextRequestCount() internal view returns (uint256) {\\n    return s_requestCount;\\n  }\\n\\n  /**\\n   * @notice Sets the stored oracle address\\n   * @param oracleAddress The address of the oracle contract\\n   */\\n  function setChainlinkOracle(address oracleAddress) internal {\\n    s_oracle = OperatorInterface(oracleAddress);\\n  }\\n\\n  /**\\n   * @notice Sets the LINK token address\\n   * @param linkAddress The address of the LINK token contract\\n   */\\n  function setChainlinkToken(address linkAddress) internal {\\n    s_link = LinkTokenInterface(linkAddress);\\n  }\\n\\n  /**\\n   * @notice Sets the Chainlink token address for the public\\n   * network as given by the Pointer contract\\n   */\\n  function setPublicChainlinkToken() internal {\\n    setChainlinkToken(PointerInterface(LINK_TOKEN_POINTER).getAddress());\\n  }\\n\\n  /**\\n   * @notice Retrieves the stored address of the LINK token\\n   * @return The address of the LINK token\\n   */\\n  function chainlinkTokenAddress() internal view returns (address) {\\n    return address(s_link);\\n  }\\n\\n  /**\\n   * @notice Retrieves the stored address of the oracle contract\\n   * @return The address of the oracle contract\\n   */\\n  function chainlinkOracleAddress() internal view returns (address) {\\n    return address(s_oracle);\\n  }\\n\\n  /**\\n   * @notice Allows for a request which was created on another contract to be fulfilled\\n   * on this contract\\n   * @param oracleAddress The address of the oracle contract that will fulfill the request\\n   * @param requestId The request ID used for the response\\n   */\\n  function addChainlinkExternalRequest(address oracleAddress, bytes32 requestId) internal notPendingRequest(requestId) {\\n    s_pendingRequests[requestId] = oracleAddress;\\n  }\\n\\n  /**\\n   * @notice Sets the stored oracle and LINK token contracts with the addresses resolved by ENS\\n   * @dev Accounts for subnodes having different resolvers\\n   * @param ensAddress The address of the ENS contract\\n   * @param node The ENS node hash\\n   */\\n  function useChainlinkWithENS(address ensAddress, bytes32 node) internal {\\n    s_ens = ENSInterface(ensAddress);\\n    s_ensNode = node;\\n    bytes32 linkSubnode = keccak256(abi.encodePacked(s_ensNode, ENS_TOKEN_SUBNAME));\\n    ENSResolver_Chainlink resolver = ENSResolver_Chainlink(s_ens.resolver(linkSubnode));\\n    setChainlinkToken(resolver.addr(linkSubnode));\\n    updateChainlinkOracleWithENS();\\n  }\\n\\n  /**\\n   * @notice Sets the stored oracle contract with the address resolved by ENS\\n   * @dev This may be called on its own as long as `useChainlinkWithENS` has been called previously\\n   */\\n  function updateChainlinkOracleWithENS() internal {\\n    bytes32 oracleSubnode = keccak256(abi.encodePacked(s_ensNode, ENS_ORACLE_SUBNAME));\\n    ENSResolver_Chainlink resolver = ENSResolver_Chainlink(s_ens.resolver(oracleSubnode));\\n    setChainlinkOracle(resolver.addr(oracleSubnode));\\n  }\\n\\n  /**\\n   * @notice Ensures that the fulfillment is valid for this contract\\n   * @dev Use if the contract developer prefers methods instead of modifiers for validation\\n   * @param requestId The request ID for fulfillment\\n   */\\n  function validateChainlinkCallback(bytes32 requestId)\\n    internal\\n    recordChainlinkFulfillment(requestId)\\n  // solhint-disable-next-line no-empty-blocks\\n  {\\n\\n  }\\n\\n  /**\\n   * @dev Reverts if the sender is not the oracle of the request.\\n   * Emits ChainlinkFulfilled event.\\n   * @param requestId The request ID for fulfillment\\n   */\\n  modifier recordChainlinkFulfillment(bytes32 requestId) {\\n    require(msg.sender == s_pendingRequests[requestId], \\\"Source must be the oracle of the request\\\");\\n    delete s_pendingRequests[requestId];\\n    emit ChainlinkFulfilled(requestId);\\n    _;\\n  }\\n\\n  /**\\n   * @dev Reverts if the request is already pending\\n   * @param requestId The request ID for fulfillment\\n   */\\n  modifier notPendingRequest(bytes32 requestId) {\\n    require(s_pendingRequests[requestId] == address(0), \\\"Request is already pending\\\");\\n    _;\\n  }\\n}\\n\",\"keccak256\":\"0xa221ccfa4763977cc78c57e3a83d47f5aaf7c15535a2c20dba5f46af80fb3bd7\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/interfaces/ChainlinkRequestInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface ChainlinkRequestInterface {\\n  function oracleRequest(\\n    address sender,\\n    uint256 requestPrice,\\n    bytes32 serviceAgreementID,\\n    address callbackAddress,\\n    bytes4 callbackFunctionId,\\n    uint256 nonce,\\n    uint256 dataVersion,\\n    bytes calldata data\\n  ) external;\\n\\n  function cancelOracleRequest(\\n    bytes32 requestId,\\n    uint256 payment,\\n    bytes4 callbackFunctionId,\\n    uint256 expiration\\n  ) external;\\n}\\n\",\"keccak256\":\"0xa8adfbd0326c982c38ea3808a4da52f0a51807241787c4bd28235bbe86707c04\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/interfaces/ENSInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface ENSInterface {\\n  // Logged when the owner of a node assigns a new owner to a subnode.\\n  event NewOwner(bytes32 indexed node, bytes32 indexed label, address owner);\\n\\n  // Logged when the owner of a node transfers ownership to a new account.\\n  event Transfer(bytes32 indexed node, address owner);\\n\\n  // Logged when the resolver for a node changes.\\n  event NewResolver(bytes32 indexed node, address resolver);\\n\\n  // Logged when the TTL of a node changes\\n  event NewTTL(bytes32 indexed node, uint64 ttl);\\n\\n  function setSubnodeOwner(\\n    bytes32 node,\\n    bytes32 label,\\n    address owner\\n  ) external;\\n\\n  function setResolver(bytes32 node, address resolver) external;\\n\\n  function setOwner(bytes32 node, address owner) external;\\n\\n  function setTTL(bytes32 node, uint64 ttl) external;\\n\\n  function owner(bytes32 node) external view returns (address);\\n\\n  function resolver(bytes32 node) external view returns (address);\\n\\n  function ttl(bytes32 node) external view returns (uint64);\\n}\\n\",\"keccak256\":\"0xe51365458d82233a55f5ad4492a3b6bf56332d21cad6b0a5f21b8a026fcfd6d0\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/interfaces/LinkTokenInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface LinkTokenInterface {\\n  function allowance(address owner, address spender) external view returns (uint256 remaining);\\n\\n  function approve(address spender, uint256 value) external returns (bool success);\\n\\n  function balanceOf(address owner) external view returns (uint256 balance);\\n\\n  function decimals() external view returns (uint8 decimalPlaces);\\n\\n  function decreaseApproval(address spender, uint256 addedValue) external returns (bool success);\\n\\n  function increaseApproval(address spender, uint256 subtractedValue) external;\\n\\n  function name() external view returns (string memory tokenName);\\n\\n  function symbol() external view returns (string memory tokenSymbol);\\n\\n  function totalSupply() external view returns (uint256 totalTokensIssued);\\n\\n  function transfer(address to, uint256 value) external returns (bool success);\\n\\n  function transferAndCall(\\n    address to,\\n    uint256 value,\\n    bytes calldata data\\n  ) external returns (bool success);\\n\\n  function transferFrom(\\n    address from,\\n    address to,\\n    uint256 value\\n  ) external returns (bool success);\\n}\\n\",\"keccak256\":\"0xc7d7cd730d36825485ef4107d93c3ff18b9f3a5a00ea3d5988ba9a0bd70b10c5\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/interfaces/OperatorInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nimport \\\"./OracleInterface.sol\\\";\\nimport \\\"./ChainlinkRequestInterface.sol\\\";\\n\\ninterface OperatorInterface is OracleInterface, ChainlinkRequestInterface {\\n  function operatorRequest(\\n    address sender,\\n    uint256 payment,\\n    bytes32 specId,\\n    bytes4 callbackFunctionId,\\n    uint256 nonce,\\n    uint256 dataVersion,\\n    bytes calldata data\\n  ) external;\\n\\n  function fulfillOracleRequest2(\\n    bytes32 requestId,\\n    uint256 payment,\\n    address callbackAddress,\\n    bytes4 callbackFunctionId,\\n    uint256 expiration,\\n    bytes calldata data\\n  ) external returns (bool);\\n\\n  function ownerTransferAndCall(\\n    address to,\\n    uint256 value,\\n    bytes calldata data\\n  ) external returns (bool success);\\n\\n  function distributeFunds(address payable[] calldata receivers, uint256[] calldata amounts) external payable;\\n\\n  function getAuthorizedSenders() external returns (address[] memory);\\n\\n  function setAuthorizedSenders(address[] calldata senders) external;\\n\\n  function getForwarder() external returns (address);\\n}\\n\",\"keccak256\":\"0x79a7c77b8f87be6ef02a566765077ed599724b060a209f34f8907eec5615da68\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/interfaces/OracleInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface OracleInterface {\\n  function fulfillOracleRequest(\\n    bytes32 requestId,\\n    uint256 payment,\\n    address callbackAddress,\\n    bytes4 callbackFunctionId,\\n    uint256 expiration,\\n    bytes32 data\\n  ) external returns (bool);\\n\\n  function isAuthorizedSender(address node) external view returns (bool);\\n\\n  function withdraw(address recipient, uint256 amount) external;\\n\\n  function withdrawable() external view returns (uint256);\\n}\\n\",\"keccak256\":\"0x3a86242e005bad9daf1b4794399a81ba373069355f38c8a07b58e57abc32513a\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/interfaces/PointerInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface PointerInterface {\\n  function getAddress() external view returns (address);\\n}\\n\",\"keccak256\":\"0x42e5d62984f9d57bab7e32b2c6e3af86f4feb232ea2af6c822032fae88203bd7\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/vendor/BufferChainlink.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\n/**\\n * @dev A library for working with mutable byte buffers in Solidity.\\n *\\n * Byte buffers are mutable and expandable, and provide a variety of primitives\\n * for writing to them. At any time you can fetch a bytes object containing the\\n * current contents of the buffer. The bytes object should not be stored between\\n * operations, as it may change due to resizing of the buffer.\\n */\\nlibrary BufferChainlink {\\n  /**\\n   * @dev Represents a mutable buffer. Buffers have a current value (buf) and\\n   *      a capacity. The capacity may be longer than the current value, in\\n   *      which case it can be extended without the need to allocate more memory.\\n   */\\n  struct buffer {\\n    bytes buf;\\n    uint256 capacity;\\n  }\\n\\n  /**\\n   * @dev Initializes a buffer with an initial capacity.\\n   * @param buf The buffer to initialize.\\n   * @param capacity The number of bytes of space to allocate the buffer.\\n   * @return The buffer, for chaining.\\n   */\\n  function init(buffer memory buf, uint256 capacity) internal pure returns (buffer memory) {\\n    if (capacity % 32 != 0) {\\n      capacity += 32 - (capacity % 32);\\n    }\\n    // Allocate space for the buffer data\\n    buf.capacity = capacity;\\n    assembly {\\n      let ptr := mload(0x40)\\n      mstore(buf, ptr)\\n      mstore(ptr, 0)\\n      mstore(0x40, add(32, add(ptr, capacity)))\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Initializes a new buffer from an existing bytes object.\\n   *      Changes to the buffer may mutate the original value.\\n   * @param b The bytes object to initialize the buffer with.\\n   * @return A new buffer.\\n   */\\n  function fromBytes(bytes memory b) internal pure returns (buffer memory) {\\n    buffer memory buf;\\n    buf.buf = b;\\n    buf.capacity = b.length;\\n    return buf;\\n  }\\n\\n  function resize(buffer memory buf, uint256 capacity) private pure {\\n    bytes memory oldbuf = buf.buf;\\n    init(buf, capacity);\\n    append(buf, oldbuf);\\n  }\\n\\n  function max(uint256 a, uint256 b) private pure returns (uint256) {\\n    if (a > b) {\\n      return a;\\n    }\\n    return b;\\n  }\\n\\n  /**\\n   * @dev Sets buffer length to 0.\\n   * @param buf The buffer to truncate.\\n   * @return The original buffer, for chaining..\\n   */\\n  function truncate(buffer memory buf) internal pure returns (buffer memory) {\\n    assembly {\\n      let bufptr := mload(buf)\\n      mstore(bufptr, 0)\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Writes a byte string to a buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The start offset to write to.\\n   * @param data The data to append.\\n   * @param len The number of bytes to copy.\\n   * @return The original buffer, for chaining.\\n   */\\n  function write(\\n    buffer memory buf,\\n    uint256 off,\\n    bytes memory data,\\n    uint256 len\\n  ) internal pure returns (buffer memory) {\\n    require(len <= data.length);\\n\\n    if (off + len > buf.capacity) {\\n      resize(buf, max(buf.capacity, len + off) * 2);\\n    }\\n\\n    uint256 dest;\\n    uint256 src;\\n    assembly {\\n      // Memory address of the buffer data\\n      let bufptr := mload(buf)\\n      // Length of existing buffer data\\n      let buflen := mload(bufptr)\\n      // Start address = buffer address + offset + sizeof(buffer length)\\n      dest := add(add(bufptr, 32), off)\\n      // Update buffer length if we're extending it\\n      if gt(add(len, off), buflen) {\\n        mstore(bufptr, add(len, off))\\n      }\\n      src := add(data, 32)\\n    }\\n\\n    // Copy word-length chunks while possible\\n    for (; len >= 32; len -= 32) {\\n      assembly {\\n        mstore(dest, mload(src))\\n      }\\n      dest += 32;\\n      src += 32;\\n    }\\n\\n    // Copy remaining bytes\\n    unchecked {\\n      uint256 mask = (256**(32 - len)) - 1;\\n      assembly {\\n        let srcpart := and(mload(src), not(mask))\\n        let destpart := and(mload(dest), mask)\\n        mstore(dest, or(destpart, srcpart))\\n      }\\n    }\\n\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Appends a byte string to a buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @param len The number of bytes to copy.\\n   * @return The original buffer, for chaining.\\n   */\\n  function append(\\n    buffer memory buf,\\n    bytes memory data,\\n    uint256 len\\n  ) internal pure returns (buffer memory) {\\n    return write(buf, buf.buf.length, data, len);\\n  }\\n\\n  /**\\n   * @dev Appends a byte string to a buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function append(buffer memory buf, bytes memory data) internal pure returns (buffer memory) {\\n    return write(buf, buf.buf.length, data, data.length);\\n  }\\n\\n  /**\\n   * @dev Writes a byte to the buffer. Resizes if doing so would exceed the\\n   *      capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The offset to write the byte at.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function writeUint8(\\n    buffer memory buf,\\n    uint256 off,\\n    uint8 data\\n  ) internal pure returns (buffer memory) {\\n    if (off >= buf.capacity) {\\n      resize(buf, buf.capacity * 2);\\n    }\\n\\n    assembly {\\n      // Memory address of the buffer data\\n      let bufptr := mload(buf)\\n      // Length of existing buffer data\\n      let buflen := mload(bufptr)\\n      // Address = buffer address + sizeof(buffer length) + off\\n      let dest := add(add(bufptr, off), 32)\\n      mstore8(dest, data)\\n      // Update buffer length if we extended it\\n      if eq(off, buflen) {\\n        mstore(bufptr, add(buflen, 1))\\n      }\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Appends a byte to the buffer. Resizes if doing so would exceed the\\n   *      capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function appendUint8(buffer memory buf, uint8 data) internal pure returns (buffer memory) {\\n    return writeUint8(buf, buf.buf.length, data);\\n  }\\n\\n  /**\\n   * @dev Writes up to 32 bytes to the buffer. Resizes if doing so would\\n   *      exceed the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The offset to write at.\\n   * @param data The data to append.\\n   * @param len The number of bytes to write (left-aligned).\\n   * @return The original buffer, for chaining.\\n   */\\n  function write(\\n    buffer memory buf,\\n    uint256 off,\\n    bytes32 data,\\n    uint256 len\\n  ) private pure returns (buffer memory) {\\n    if (len + off > buf.capacity) {\\n      resize(buf, (len + off) * 2);\\n    }\\n\\n    unchecked {\\n      uint256 mask = (256**len) - 1;\\n      // Right-align data\\n      data = data >> (8 * (32 - len));\\n      assembly {\\n        // Memory address of the buffer data\\n        let bufptr := mload(buf)\\n        // Address = buffer address + sizeof(buffer length) + off + len\\n        let dest := add(add(bufptr, off), len)\\n        mstore(dest, or(and(mload(dest), not(mask)), data))\\n        // Update buffer length if we extended it\\n        if gt(add(off, len), mload(bufptr)) {\\n          mstore(bufptr, add(off, len))\\n        }\\n      }\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Writes a bytes20 to the buffer. Resizes if doing so would exceed the\\n   *      capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The offset to write at.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function writeBytes20(\\n    buffer memory buf,\\n    uint256 off,\\n    bytes20 data\\n  ) internal pure returns (buffer memory) {\\n    return write(buf, off, bytes32(data), 20);\\n  }\\n\\n  /**\\n   * @dev Appends a bytes20 to the buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer, for chhaining.\\n   */\\n  function appendBytes20(buffer memory buf, bytes20 data) internal pure returns (buffer memory) {\\n    return write(buf, buf.buf.length, bytes32(data), 20);\\n  }\\n\\n  /**\\n   * @dev Appends a bytes32 to the buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function appendBytes32(buffer memory buf, bytes32 data) internal pure returns (buffer memory) {\\n    return write(buf, buf.buf.length, data, 32);\\n  }\\n\\n  /**\\n   * @dev Writes an integer to the buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The offset to write at.\\n   * @param data The data to append.\\n   * @param len The number of bytes to write (right-aligned).\\n   * @return The original buffer, for chaining.\\n   */\\n  function writeInt(\\n    buffer memory buf,\\n    uint256 off,\\n    uint256 data,\\n    uint256 len\\n  ) private pure returns (buffer memory) {\\n    if (len + off > buf.capacity) {\\n      resize(buf, (len + off) * 2);\\n    }\\n\\n    uint256 mask = (256**len) - 1;\\n    assembly {\\n      // Memory address of the buffer data\\n      let bufptr := mload(buf)\\n      // Address = buffer address + off + sizeof(buffer length) + len\\n      let dest := add(add(bufptr, off), len)\\n      mstore(dest, or(and(mload(dest), not(mask)), data))\\n      // Update buffer length if we extended it\\n      if gt(add(off, len), mload(bufptr)) {\\n        mstore(bufptr, add(off, len))\\n      }\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Appends a byte to the end of the buffer. Resizes if doing so would\\n   * exceed the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer.\\n   */\\n  function appendInt(\\n    buffer memory buf,\\n    uint256 data,\\n    uint256 len\\n  ) internal pure returns (buffer memory) {\\n    return writeInt(buf, buf.buf.length, data, len);\\n  }\\n}\\n\",\"keccak256\":\"0x89388a631c16ad993e4d76d8d19e08ae98e1397f5dfdfb5f9c0b91015df4cf5d\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/vendor/CBORChainlink.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity >=0.4.19;\\n\\nimport {BufferChainlink} from \\\"./BufferChainlink.sol\\\";\\n\\nlibrary CBORChainlink {\\n  using BufferChainlink for BufferChainlink.buffer;\\n\\n  uint8 private constant MAJOR_TYPE_INT = 0;\\n  uint8 private constant MAJOR_TYPE_NEGATIVE_INT = 1;\\n  uint8 private constant MAJOR_TYPE_BYTES = 2;\\n  uint8 private constant MAJOR_TYPE_STRING = 3;\\n  uint8 private constant MAJOR_TYPE_ARRAY = 4;\\n  uint8 private constant MAJOR_TYPE_MAP = 5;\\n  uint8 private constant MAJOR_TYPE_TAG = 6;\\n  uint8 private constant MAJOR_TYPE_CONTENT_FREE = 7;\\n\\n  uint8 private constant TAG_TYPE_BIGNUM = 2;\\n  uint8 private constant TAG_TYPE_NEGATIVE_BIGNUM = 3;\\n\\n  function encodeFixedNumeric(BufferChainlink.buffer memory buf, uint8 major, uint64 value) private pure {\\n    if(value <= 23) {\\n      buf.appendUint8(uint8((major << 5) | value));\\n    } else if (value <= 0xFF) {\\n      buf.appendUint8(uint8((major << 5) | 24));\\n      buf.appendInt(value, 1);\\n    } else if (value <= 0xFFFF) {\\n      buf.appendUint8(uint8((major << 5) | 25));\\n      buf.appendInt(value, 2);\\n    } else if (value <= 0xFFFFFFFF) {\\n      buf.appendUint8(uint8((major << 5) | 26));\\n      buf.appendInt(value, 4);\\n    } else {\\n      buf.appendUint8(uint8((major << 5) | 27));\\n      buf.appendInt(value, 8);\\n    }\\n  }\\n\\n  function encodeIndefiniteLengthType(BufferChainlink.buffer memory buf, uint8 major) private pure {\\n    buf.appendUint8(uint8((major << 5) | 31));\\n  }\\n\\n  function encodeUInt(BufferChainlink.buffer memory buf, uint value) internal pure {\\n    if(value > 0xFFFFFFFFFFFFFFFF) {\\n      encodeBigNum(buf, value);\\n    } else {\\n      encodeFixedNumeric(buf, MAJOR_TYPE_INT, uint64(value));\\n    }\\n  }\\n\\n  function encodeInt(BufferChainlink.buffer memory buf, int value) internal pure {\\n    if(value < -0x10000000000000000) {\\n      encodeSignedBigNum(buf, value);\\n    } else if(value > 0xFFFFFFFFFFFFFFFF) {\\n      encodeBigNum(buf, uint(value));\\n    } else if(value >= 0) {\\n      encodeFixedNumeric(buf, MAJOR_TYPE_INT, uint64(uint256(value)));\\n    } else {\\n      encodeFixedNumeric(buf, MAJOR_TYPE_NEGATIVE_INT, uint64(uint256(-1 - value)));\\n    }\\n  }\\n\\n  function encodeBytes(BufferChainlink.buffer memory buf, bytes memory value) internal pure {\\n    encodeFixedNumeric(buf, MAJOR_TYPE_BYTES, uint64(value.length));\\n    buf.append(value);\\n  }\\n\\n  function encodeBigNum(BufferChainlink.buffer memory buf, uint value) internal pure {\\n    buf.appendUint8(uint8((MAJOR_TYPE_TAG << 5) | TAG_TYPE_BIGNUM));\\n    encodeBytes(buf, abi.encode(value));\\n  }\\n\\n  function encodeSignedBigNum(BufferChainlink.buffer memory buf, int input) internal pure {\\n    buf.appendUint8(uint8((MAJOR_TYPE_TAG << 5) | TAG_TYPE_NEGATIVE_BIGNUM));\\n    encodeBytes(buf, abi.encode(uint256(-1 - input)));\\n  }\\n\\n  function encodeString(BufferChainlink.buffer memory buf, string memory value) internal pure {\\n    encodeFixedNumeric(buf, MAJOR_TYPE_STRING, uint64(bytes(value).length));\\n    buf.append(bytes(value));\\n  }\\n\\n  function startArray(BufferChainlink.buffer memory buf) internal pure {\\n    encodeIndefiniteLengthType(buf, MAJOR_TYPE_ARRAY);\\n  }\\n\\n  function startMap(BufferChainlink.buffer memory buf) internal pure {\\n    encodeIndefiniteLengthType(buf, MAJOR_TYPE_MAP);\\n  }\\n\\n  function endSequence(BufferChainlink.buffer memory buf) internal pure {\\n    encodeIndefiniteLengthType(buf, MAJOR_TYPE_CONTENT_FREE);\\n  }\\n}\\n\",\"keccak256\":\"0x08bda450d4dc1d17147fd29810234d35e2c437f1a99be733cfa7ee516db08a48\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/vendor/ENSResolver.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nabstract contract ENSResolver {\\n  function addr(bytes32 node) public view virtual returns (address);\\n}\\n\",\"keccak256\":\"0x606bda5f3fa27be4cf04f6636dda443b7787b56e87ade988fca2e51d2147613d\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[{"astId":319,"contract":"@chainlink/contracts/src/v0.8/ChainlinkClient.sol:ChainlinkClient","label":"s_ens","offset":0,"slot":"0","type":"t_contract(ENSInterface)1078"},{"astId":321,"contract":"@chainlink/contracts/src/v0.8/ChainlinkClient.sol:ChainlinkClient","label":"s_ensNode","offset":0,"slot":"1","type":"t_bytes32"},{"astId":324,"contract":"@chainlink/contracts/src/v0.8/ChainlinkClient.sol:ChainlinkClient","label":"s_link","offset":0,"slot":"2","type":"t_contract(LinkTokenInterface)1192"},{"astId":327,"contract":"@chainlink/contracts/src/v0.8/ChainlinkClient.sol:ChainlinkClient","label":"s_oracle","offset":0,"slot":"3","type":"t_contract(OperatorInterface)1272"},{"astId":330,"contract":"@chainlink/contracts/src/v0.8/ChainlinkClient.sol:ChainlinkClient","label":"s_requestCount","offset":0,"slot":"4","type":"t_uint256"},{"astId":334,"contract":"@chainlink/contracts/src/v0.8/ChainlinkClient.sol:ChainlinkClient","label":"s_pendingRequests","offset":0,"slot":"5","type":"t_mapping(t_bytes32,t_address)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(ENSInterface)1078":{"encoding":"inplace","label":"contract ENSInterface","numberOfBytes":"20"},"t_contract(LinkTokenInterface)1192":{"encoding":"inplace","label":"contract LinkTokenInterface","numberOfBytes":"20"},"t_contract(OperatorInterface)1272":{"encoding":"inplace","label":"contract OperatorInterface","numberOfBytes":"20"},"t_mapping(t_bytes32,t_address)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => address)","numberOfBytes":"32","value":"t_address"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"userdoc":{"kind":"user","methods":{},"notice":"Contract writers can inherit this contract in order to create requests for the Chainlink network","version":1}}},"@chainlink/contracts/src/v0.8/VRFConsumerBaseV2.sol":{"VRFConsumerBaseV2":{"abi":[{"inputs":[{"internalType":"address","name":"have","type":"address"},{"internalType":"address","name":"want","type":"address"}],"name":"OnlyCoordinatorCanFulfill","type":"error"},{"inputs":[{"internalType":"uint256","name":"requestId","type":"uint256"},{"internalType":"uint256[]","name":"randomWords","type":"uint256[]"}],"name":"rawFulfillRandomWords","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"details":"PURPOSEReggie the Random Oracle (not his real job) wants to provide randomnessto Vera the verifier in such a way that Vera can be sure he's notmaking his output up to suit himself. Reggie provides Vera a public keyto which he knows the secret key. Each time Vera provides a seed toReggie, he gives back a value which is computed completelydeterministically from the seed and the secret key.Reggie provides a proof by which Vera can verify that the output wascorrectly computed once Reggie tells it to her, but without that proof,the output is indistinguishable to her from a uniform random samplefrom the output space.The purpose of this contract is to make it easy for unrelated contractsto talk to Vera the verifier about the work Reggie is doing, to providesimple access to a verifiable source of randomness. It ensures 2 things:1. The fulfillment came from the VRFCoordinator2. The consumer contract implements fulfillRandomWords. *****************************************************************************USAGECalling contracts must inherit from VRFConsumerBase, and caninitialize VRFConsumerBase's attributes in their constructor asshown:contract VRFConsumer {constructor(<other arguments>, address _vrfCoordinator, address _link)VRFConsumerBase(_vrfCoordinator) public {<initialization with other arguments goes here>}}The oracle will have given you an ID for the VRF keypair they havecommitted to (let's call it keyHash). Create subscription, fund itand your consumer contract as a consumer of it (see VRFCoordinatorInterfacesubscription management functions).Call requestRandomWords(keyHash, subId, minimumRequestConfirmations,callbackGasLimit, numWords),see (VRFCoordinatorInterface for a description of the arguments).Once the VRFCoordinator has received and validated the oracle's responseto your request, it will call your contract's fulfillRandomWords method.The randomness argument to fulfillRandomWords is a set of random wordsgenerated from your requestId and the blockHash of the request.If your contract could have concurrent requests open, you can use therequestId returned from requestRandomWords to track which response is associatedwith which randomness request.See \"SECURITY CONSIDERATIONS\" for principles to keep in mind,if your contract could have multiple requests in flight simultaneously.Colliding `requestId`s are cryptographically impossible as long as seedsdiffer. *****************************************************************************SECURITY CONSIDERATIONSA method with the ability to call your fulfillRandomness method directlycould spoof a VRF response with any random value, so it's critical thatit cannot be directly called by anything other than this base contract(specifically, by the VRFConsumerBase.rawFulfillRandomness method).For your users to trust that your contract's random behavior is freefrom malicious interference, it's best if you can write it so that allbehaviors implied by a VRF response are executed *during* yourfulfillRandomness method. If your contract must store the response (oranything derived from it) and use it later, you must ensure that anyuser-significant behavior which depends on that stored value cannot bemanipulated by a subsequent VRF request.Similarly, both miners and the VRF oracle itself have some influenceover the order in which VRF responses appear on the blockchain, so ifyour contract could have multiple VRF requests in flight simultaneously,you must ensure that the order in which the VRF responses arrive cannotbe used to manipulate your contract's user-significant behavior.Since the block hash of the block which contains the requestRandomnesscall is mixed into the input to the VRF *last*, a sufficiently powerfulminer could, in principle, fork the blockchain to evict the blockcontaining the request, forcing the request to be included in adifferent block with a different hash, and therefore a different inputto the VRF. However, such an attack would incur a substantial economiccost. This cost scales with the number of blocks the VRF oracle waitsuntil it calls responds to a request. It is for this reason thatthat you can signal to an oracle you'd like them to wait longer beforeresponding to the request (however this is not enforced in the contractand so remains effective only in the case of unmodified oracle software).","kind":"dev","methods":{"constructor":{"params":{"_vrfCoordinator":"address of VRFCoordinator contract"}}},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"rawFulfillRandomWords(uint256,uint256[])":"1fe543e3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"have\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"want\",\"type\":\"address\"}],\"name\":\"OnlyCoordinatorCanFulfill\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"randomWords\",\"type\":\"uint256[]\"}],\"name\":\"rawFulfillRandomWords\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"PURPOSEReggie the Random Oracle (not his real job) wants to provide randomnessto Vera the verifier in such a way that Vera can be sure he's notmaking his output up to suit himself. Reggie provides Vera a public keyto which he knows the secret key. Each time Vera provides a seed toReggie, he gives back a value which is computed completelydeterministically from the seed and the secret key.Reggie provides a proof by which Vera can verify that the output wascorrectly computed once Reggie tells it to her, but without that proof,the output is indistinguishable to her from a uniform random samplefrom the output space.The purpose of this contract is to make it easy for unrelated contractsto talk to Vera the verifier about the work Reggie is doing, to providesimple access to a verifiable source of randomness. It ensures 2 things:1. The fulfillment came from the VRFCoordinator2. The consumer contract implements fulfillRandomWords. *****************************************************************************USAGECalling contracts must inherit from VRFConsumerBase, and caninitialize VRFConsumerBase's attributes in their constructor asshown:contract VRFConsumer {constructor(<other arguments>, address _vrfCoordinator, address _link)VRFConsumerBase(_vrfCoordinator) public {<initialization with other arguments goes here>}}The oracle will have given you an ID for the VRF keypair they havecommitted to (let's call it keyHash). Create subscription, fund itand your consumer contract as a consumer of it (see VRFCoordinatorInterfacesubscription management functions).Call requestRandomWords(keyHash, subId, minimumRequestConfirmations,callbackGasLimit, numWords),see (VRFCoordinatorInterface for a description of the arguments).Once the VRFCoordinator has received and validated the oracle's responseto your request, it will call your contract's fulfillRandomWords method.The randomness argument to fulfillRandomWords is a set of random wordsgenerated from your requestId and the blockHash of the request.If your contract could have concurrent requests open, you can use therequestId returned from requestRandomWords to track which response is associatedwith which randomness request.See \\\"SECURITY CONSIDERATIONS\\\" for principles to keep in mind,if your contract could have multiple requests in flight simultaneously.Colliding `requestId`s are cryptographically impossible as long as seedsdiffer. *****************************************************************************SECURITY CONSIDERATIONSA method with the ability to call your fulfillRandomness method directlycould spoof a VRF response with any random value, so it's critical thatit cannot be directly called by anything other than this base contract(specifically, by the VRFConsumerBase.rawFulfillRandomness method).For your users to trust that your contract's random behavior is freefrom malicious interference, it's best if you can write it so that allbehaviors implied by a VRF response are executed *during* yourfulfillRandomness method. If your contract must store the response (oranything derived from it) and use it later, you must ensure that anyuser-significant behavior which depends on that stored value cannot bemanipulated by a subsequent VRF request.Similarly, both miners and the VRF oracle itself have some influenceover the order in which VRF responses appear on the blockchain, so ifyour contract could have multiple VRF requests in flight simultaneously,you must ensure that the order in which the VRF responses arrive cannotbe used to manipulate your contract's user-significant behavior.Since the block hash of the block which contains the requestRandomnesscall is mixed into the input to the VRF *last*, a sufficiently powerfulminer could, in principle, fork the blockchain to evict the blockcontaining the request, forcing the request to be included in adifferent block with a different hash, and therefore a different inputto the VRF. However, such an attack would incur a substantial economiccost. This cost scales with the number of blocks the VRF oracle waitsuntil it calls responds to a request. It is for this reason thatthat you can signal to an oracle you'd like them to wait longer beforeresponding to the request (however this is not enforced in the contractand so remains effective only in the case of unmodified oracle software).\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_vrfCoordinator\":\"address of VRFCoordinator contract\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"****************************************************************************Interface for contracts using VRF randomness *****************************************************************************\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"@chainlink/contracts/src/v0.8/VRFConsumerBaseV2.sol\":\"VRFConsumerBaseV2\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/VRFConsumerBaseV2.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.4;\\n\\n/** ****************************************************************************\\n * @notice Interface for contracts using VRF randomness\\n * *****************************************************************************\\n * @dev PURPOSE\\n *\\n * @dev Reggie the Random Oracle (not his real job) wants to provide randomness\\n * @dev to Vera the verifier in such a way that Vera can be sure he's not\\n * @dev making his output up to suit himself. Reggie provides Vera a public key\\n * @dev to which he knows the secret key. Each time Vera provides a seed to\\n * @dev Reggie, he gives back a value which is computed completely\\n * @dev deterministically from the seed and the secret key.\\n *\\n * @dev Reggie provides a proof by which Vera can verify that the output was\\n * @dev correctly computed once Reggie tells it to her, but without that proof,\\n * @dev the output is indistinguishable to her from a uniform random sample\\n * @dev from the output space.\\n *\\n * @dev The purpose of this contract is to make it easy for unrelated contracts\\n * @dev to talk to Vera the verifier about the work Reggie is doing, to provide\\n * @dev simple access to a verifiable source of randomness. It ensures 2 things:\\n * @dev 1. The fulfillment came from the VRFCoordinator\\n * @dev 2. The consumer contract implements fulfillRandomWords.\\n * *****************************************************************************\\n * @dev USAGE\\n *\\n * @dev Calling contracts must inherit from VRFConsumerBase, and can\\n * @dev initialize VRFConsumerBase's attributes in their constructor as\\n * @dev shown:\\n *\\n * @dev   contract VRFConsumer {\\n * @dev     constructor(<other arguments>, address _vrfCoordinator, address _link)\\n * @dev       VRFConsumerBase(_vrfCoordinator) public {\\n * @dev         <initialization with other arguments goes here>\\n * @dev       }\\n * @dev   }\\n *\\n * @dev The oracle will have given you an ID for the VRF keypair they have\\n * @dev committed to (let's call it keyHash). Create subscription, fund it\\n * @dev and your consumer contract as a consumer of it (see VRFCoordinatorInterface\\n * @dev subscription management functions).\\n * @dev Call requestRandomWords(keyHash, subId, minimumRequestConfirmations,\\n * @dev callbackGasLimit, numWords),\\n * @dev see (VRFCoordinatorInterface for a description of the arguments).\\n *\\n * @dev Once the VRFCoordinator has received and validated the oracle's response\\n * @dev to your request, it will call your contract's fulfillRandomWords method.\\n *\\n * @dev The randomness argument to fulfillRandomWords is a set of random words\\n * @dev generated from your requestId and the blockHash of the request.\\n *\\n * @dev If your contract could have concurrent requests open, you can use the\\n * @dev requestId returned from requestRandomWords to track which response is associated\\n * @dev with which randomness request.\\n * @dev See \\\"SECURITY CONSIDERATIONS\\\" for principles to keep in mind,\\n * @dev if your contract could have multiple requests in flight simultaneously.\\n *\\n * @dev Colliding `requestId`s are cryptographically impossible as long as seeds\\n * @dev differ.\\n *\\n * *****************************************************************************\\n * @dev SECURITY CONSIDERATIONS\\n *\\n * @dev A method with the ability to call your fulfillRandomness method directly\\n * @dev could spoof a VRF response with any random value, so it's critical that\\n * @dev it cannot be directly called by anything other than this base contract\\n * @dev (specifically, by the VRFConsumerBase.rawFulfillRandomness method).\\n *\\n * @dev For your users to trust that your contract's random behavior is free\\n * @dev from malicious interference, it's best if you can write it so that all\\n * @dev behaviors implied by a VRF response are executed *during* your\\n * @dev fulfillRandomness method. If your contract must store the response (or\\n * @dev anything derived from it) and use it later, you must ensure that any\\n * @dev user-significant behavior which depends on that stored value cannot be\\n * @dev manipulated by a subsequent VRF request.\\n *\\n * @dev Similarly, both miners and the VRF oracle itself have some influence\\n * @dev over the order in which VRF responses appear on the blockchain, so if\\n * @dev your contract could have multiple VRF requests in flight simultaneously,\\n * @dev you must ensure that the order in which the VRF responses arrive cannot\\n * @dev be used to manipulate your contract's user-significant behavior.\\n *\\n * @dev Since the block hash of the block which contains the requestRandomness\\n * @dev call is mixed into the input to the VRF *last*, a sufficiently powerful\\n * @dev miner could, in principle, fork the blockchain to evict the block\\n * @dev containing the request, forcing the request to be included in a\\n * @dev different block with a different hash, and therefore a different input\\n * @dev to the VRF. However, such an attack would incur a substantial economic\\n * @dev cost. This cost scales with the number of blocks the VRF oracle waits\\n * @dev until it calls responds to a request. It is for this reason that\\n * @dev that you can signal to an oracle you'd like them to wait longer before\\n * @dev responding to the request (however this is not enforced in the contract\\n * @dev and so remains effective only in the case of unmodified oracle software).\\n */\\nabstract contract VRFConsumerBaseV2 {\\n  error OnlyCoordinatorCanFulfill(address have, address want);\\n  address private immutable vrfCoordinator;\\n\\n  /**\\n   * @param _vrfCoordinator address of VRFCoordinator contract\\n   */\\n  constructor(address _vrfCoordinator) {\\n    vrfCoordinator = _vrfCoordinator;\\n  }\\n\\n  /**\\n   * @notice fulfillRandomness handles the VRF response. Your contract must\\n   * @notice implement it. See \\\"SECURITY CONSIDERATIONS\\\" above for important\\n   * @notice principles to keep in mind when implementing your fulfillRandomness\\n   * @notice method.\\n   *\\n   * @dev VRFConsumerBaseV2 expects its subcontracts to have a method with this\\n   * @dev signature, and will call it once it has verified the proof\\n   * @dev associated with the randomness. (It is triggered via a call to\\n   * @dev rawFulfillRandomness, below.)\\n   *\\n   * @param requestId The Id initially returned by requestRandomness\\n   * @param randomWords the VRF output expanded to the requested number of words\\n   */\\n  function fulfillRandomWords(uint256 requestId, uint256[] memory randomWords) internal virtual;\\n\\n  // rawFulfillRandomness is called by VRFCoordinator when it receives a valid VRF\\n  // proof. rawFulfillRandomness then calls fulfillRandomness, after validating\\n  // the origin of the call\\n  function rawFulfillRandomWords(uint256 requestId, uint256[] memory randomWords) external {\\n    if (msg.sender != vrfCoordinator) {\\n      revert OnlyCoordinatorCanFulfill(msg.sender, vrfCoordinator);\\n    }\\n    fulfillRandomWords(requestId, randomWords);\\n  }\\n}\\n\",\"keccak256\":\"0x3d709a5e0f1f9b8841172b10ba8af785dd51a13eda9fc395723a706e51329904\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"notice":"****************************************************************************Interface for contracts using VRF randomness *****************************************************************************","version":1}}},"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol":{"AggregatorV3Interface":{"abi":[{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"description","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint80","name":"_roundId","type":"uint80"}],"name":"getRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"decimals()":"313ce567","description()":"7284e416","getRoundData(uint80)":"9a6fc8f5","latestRoundData()":"feaf968c","version()":"54fd4d50"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"description\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint80\",\"name\":\"_roundId\",\"type\":\"uint80\"}],\"name\":\"getRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"roundId\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"answer\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"startedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"updatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"answeredInRound\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"roundId\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"answer\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"startedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"updatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"answeredInRound\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol\":\"AggregatorV3Interface\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface AggregatorV3Interface {\\n  function decimals() external view returns (uint8);\\n\\n  function description() external view returns (string memory);\\n\\n  function version() external view returns (uint256);\\n\\n  function getRoundData(uint80 _roundId)\\n    external\\n    view\\n    returns (\\n      uint80 roundId,\\n      int256 answer,\\n      uint256 startedAt,\\n      uint256 updatedAt,\\n      uint80 answeredInRound\\n    );\\n\\n  function latestRoundData()\\n    external\\n    view\\n    returns (\\n      uint80 roundId,\\n      int256 answer,\\n      uint256 startedAt,\\n      uint256 updatedAt,\\n      uint80 answeredInRound\\n    );\\n}\\n\",\"keccak256\":\"0x6e6e4b0835904509406b070ee173b5bc8f677c19421b76be38aea3b1b3d30846\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"version":1}}},"@chainlink/contracts/src/v0.8/interfaces/ChainlinkRequestInterface.sol":{"ChainlinkRequestInterface":{"abi":[{"inputs":[{"internalType":"bytes32","name":"requestId","type":"bytes32"},{"internalType":"uint256","name":"payment","type":"uint256"},{"internalType":"bytes4","name":"callbackFunctionId","type":"bytes4"},{"internalType":"uint256","name":"expiration","type":"uint256"}],"name":"cancelOracleRequest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"requestPrice","type":"uint256"},{"internalType":"bytes32","name":"serviceAgreementID","type":"bytes32"},{"internalType":"address","name":"callbackAddress","type":"address"},{"internalType":"bytes4","name":"callbackFunctionId","type":"bytes4"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"dataVersion","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"oracleRequest","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"cancelOracleRequest(bytes32,uint256,bytes4,uint256)":"6ee4d553","oracleRequest(address,uint256,bytes32,address,bytes4,uint256,uint256,bytes)":"40429946"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"requestId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"},{\"internalType\":\"bytes4\",\"name\":\"callbackFunctionId\",\"type\":\"bytes4\"},{\"internalType\":\"uint256\",\"name\":\"expiration\",\"type\":\"uint256\"}],\"name\":\"cancelOracleRequest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestPrice\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"serviceAgreementID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callbackAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"callbackFunctionId\",\"type\":\"bytes4\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"dataVersion\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"oracleRequest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@chainlink/contracts/src/v0.8/interfaces/ChainlinkRequestInterface.sol\":\"ChainlinkRequestInterface\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/interfaces/ChainlinkRequestInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface ChainlinkRequestInterface {\\n  function oracleRequest(\\n    address sender,\\n    uint256 requestPrice,\\n    bytes32 serviceAgreementID,\\n    address callbackAddress,\\n    bytes4 callbackFunctionId,\\n    uint256 nonce,\\n    uint256 dataVersion,\\n    bytes calldata data\\n  ) external;\\n\\n  function cancelOracleRequest(\\n    bytes32 requestId,\\n    uint256 payment,\\n    bytes4 callbackFunctionId,\\n    uint256 expiration\\n  ) external;\\n}\\n\",\"keccak256\":\"0xa8adfbd0326c982c38ea3808a4da52f0a51807241787c4bd28235bbe86707c04\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"version":1}}},"@chainlink/contracts/src/v0.8/interfaces/ENSInterface.sol":{"ENSInterface":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"node","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"label","type":"bytes32"},{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"NewOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"node","type":"bytes32"},{"indexed":false,"internalType":"address","name":"resolver","type":"address"}],"name":"NewResolver","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"node","type":"bytes32"},{"indexed":false,"internalType":"uint64","name":"ttl","type":"uint64"}],"name":"NewTTL","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"node","type":"bytes32"},{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"}],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"}],"name":"resolver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"},{"internalType":"address","name":"owner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"},{"internalType":"address","name":"resolver","type":"address"}],"name":"setResolver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"},{"internalType":"bytes32","name":"label","type":"bytes32"},{"internalType":"address","name":"owner","type":"address"}],"name":"setSubnodeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"},{"internalType":"uint64","name":"ttl","type":"uint64"}],"name":"setTTL","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"}],"name":"ttl","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"owner(bytes32)":"02571be3","resolver(bytes32)":"0178b8bf","setOwner(bytes32,address)":"5b0fc9c3","setResolver(bytes32,address)":"1896f70a","setSubnodeOwner(bytes32,bytes32,address)":"06ab5923","setTTL(bytes32,uint64)":"14ab9038","ttl(bytes32)":"16a25cbd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"NewOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"NewResolver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"NewTTL\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"resolver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"setOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"setSubnodeOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setTTL\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"ttl\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@chainlink/contracts/src/v0.8/interfaces/ENSInterface.sol\":\"ENSInterface\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/interfaces/ENSInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface ENSInterface {\\n  // Logged when the owner of a node assigns a new owner to a subnode.\\n  event NewOwner(bytes32 indexed node, bytes32 indexed label, address owner);\\n\\n  // Logged when the owner of a node transfers ownership to a new account.\\n  event Transfer(bytes32 indexed node, address owner);\\n\\n  // Logged when the resolver for a node changes.\\n  event NewResolver(bytes32 indexed node, address resolver);\\n\\n  // Logged when the TTL of a node changes\\n  event NewTTL(bytes32 indexed node, uint64 ttl);\\n\\n  function setSubnodeOwner(\\n    bytes32 node,\\n    bytes32 label,\\n    address owner\\n  ) external;\\n\\n  function setResolver(bytes32 node, address resolver) external;\\n\\n  function setOwner(bytes32 node, address owner) external;\\n\\n  function setTTL(bytes32 node, uint64 ttl) external;\\n\\n  function owner(bytes32 node) external view returns (address);\\n\\n  function resolver(bytes32 node) external view returns (address);\\n\\n  function ttl(bytes32 node) external view returns (uint64);\\n}\\n\",\"keccak256\":\"0xe51365458d82233a55f5ad4492a3b6bf56332d21cad6b0a5f21b8a026fcfd6d0\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"version":1}}},"@chainlink/contracts/src/v0.8/interfaces/KeeperCompatibleInterface.sol":{"KeeperCompatibleInterface":{"abi":[{"inputs":[{"internalType":"bytes","name":"checkData","type":"bytes"}],"name":"checkUpkeep","outputs":[{"internalType":"bool","name":"upkeepNeeded","type":"bool"},{"internalType":"bytes","name":"performData","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"performData","type":"bytes"}],"name":"performUpkeep","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{"checkUpkeep(bytes)":{"details":"To ensure that it is never called, you may want to add the cannotExecute modifier from KeeperBase to your implementation of this method.","params":{"checkData":"specified in the upkeep registration so it is always the same for a registered upkeep. This can easily be broken down into specific arguments using `abi.decode`, so multiple upkeeps can be registered on the same contract and easily differentiated by the contract."},"returns":{"performData":"bytes that the keeper should call performUpkeep with, if upkeep is needed. If you would like to encode data to decode later, try `abi.encode`.","upkeepNeeded":"boolean to indicate whether the keeper should call performUpkeep or not."}},"performUpkeep(bytes)":{"details":"The input to this method should not be trusted, and the caller of the method should not even be restricted to any single registry. Anyone should be able call it, and the input should be validated, there is no guarantee that the data passed in is the performData returned from checkUpkeep. This could happen due to malicious keepers, racing keepers, or simply a state change while the performUpkeep transaction is waiting for confirmation. Always validate the data passed in.","params":{"performData":"is the data which was passed back from the checkData simulation. If it is encoded, it can easily be decoded into other types by calling `abi.decode`. This data should not be trusted, and should be validated against the contract's current state."}}},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"checkUpkeep(bytes)":"6e04ff0d","performUpkeep(bytes)":"4585e33b"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"checkData\",\"type\":\"bytes\"}],\"name\":\"checkUpkeep\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"upkeepNeeded\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"performData\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"performData\",\"type\":\"bytes\"}],\"name\":\"performUpkeep\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"checkUpkeep(bytes)\":{\"details\":\"To ensure that it is never called, you may want to add the cannotExecute modifier from KeeperBase to your implementation of this method.\",\"params\":{\"checkData\":\"specified in the upkeep registration so it is always the same for a registered upkeep. This can easily be broken down into specific arguments using `abi.decode`, so multiple upkeeps can be registered on the same contract and easily differentiated by the contract.\"},\"returns\":{\"performData\":\"bytes that the keeper should call performUpkeep with, if upkeep is needed. If you would like to encode data to decode later, try `abi.encode`.\",\"upkeepNeeded\":\"boolean to indicate whether the keeper should call performUpkeep or not.\"}},\"performUpkeep(bytes)\":{\"details\":\"The input to this method should not be trusted, and the caller of the method should not even be restricted to any single registry. Anyone should be able call it, and the input should be validated, there is no guarantee that the data passed in is the performData returned from checkUpkeep. This could happen due to malicious keepers, racing keepers, or simply a state change while the performUpkeep transaction is waiting for confirmation. Always validate the data passed in.\",\"params\":{\"performData\":\"is the data which was passed back from the checkData simulation. If it is encoded, it can easily be decoded into other types by calling `abi.decode`. This data should not be trusted, and should be validated against the contract's current state.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"checkUpkeep(bytes)\":{\"notice\":\"method that is simulated by the keepers to see if any work actually needs to be performed. This method does does not actually need to be executable, and since it is only ever simulated it can consume lots of gas.\"},\"performUpkeep(bytes)\":{\"notice\":\"method that is actually executed by the keepers, via the registry. The data returned by the checkUpkeep simulation will be passed into this method to actually be executed.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@chainlink/contracts/src/v0.8/interfaces/KeeperCompatibleInterface.sol\":\"KeeperCompatibleInterface\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/interfaces/KeeperCompatibleInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface KeeperCompatibleInterface {\\n  /**\\n   * @notice method that is simulated by the keepers to see if any work actually\\n   * needs to be performed. This method does does not actually need to be\\n   * executable, and since it is only ever simulated it can consume lots of gas.\\n   * @dev To ensure that it is never called, you may want to add the\\n   * cannotExecute modifier from KeeperBase to your implementation of this\\n   * method.\\n   * @param checkData specified in the upkeep registration so it is always the\\n   * same for a registered upkeep. This can easily be broken down into specific\\n   * arguments using `abi.decode`, so multiple upkeeps can be registered on the\\n   * same contract and easily differentiated by the contract.\\n   * @return upkeepNeeded boolean to indicate whether the keeper should call\\n   * performUpkeep or not.\\n   * @return performData bytes that the keeper should call performUpkeep with, if\\n   * upkeep is needed. If you would like to encode data to decode later, try\\n   * `abi.encode`.\\n   */\\n  function checkUpkeep(bytes calldata checkData) external returns (bool upkeepNeeded, bytes memory performData);\\n\\n  /**\\n   * @notice method that is actually executed by the keepers, via the registry.\\n   * The data returned by the checkUpkeep simulation will be passed into\\n   * this method to actually be executed.\\n   * @dev The input to this method should not be trusted, and the caller of the\\n   * method should not even be restricted to any single registry. Anyone should\\n   * be able call it, and the input should be validated, there is no guarantee\\n   * that the data passed in is the performData returned from checkUpkeep. This\\n   * could happen due to malicious keepers, racing keepers, or simply a state\\n   * change while the performUpkeep transaction is waiting for confirmation.\\n   * Always validate the data passed in.\\n   * @param performData is the data which was passed back from the checkData\\n   * simulation. If it is encoded, it can easily be decoded into other types by\\n   * calling `abi.decode`. This data should not be trusted, and should be\\n   * validated against the contract's current state.\\n   */\\n  function performUpkeep(bytes calldata performData) external;\\n}\\n\",\"keccak256\":\"0xb6577cda6b731b655aebcb6e3c24f8658d3f4c5eda07200622d07d4570af33ea\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{"checkUpkeep(bytes)":{"notice":"method that is simulated by the keepers to see if any work actually needs to be performed. This method does does not actually need to be executable, and since it is only ever simulated it can consume lots of gas."},"performUpkeep(bytes)":{"notice":"method that is actually executed by the keepers, via the registry. The data returned by the checkUpkeep simulation will be passed into this method to actually be executed."}},"version":1}}},"@chainlink/contracts/src/v0.8/interfaces/LinkTokenInterface.sol":{"LinkTokenInterface":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"decimalPlaces","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"increaseApproval","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"tokenName","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"tokenSymbol","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"totalTokensIssued","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"transferAndCall","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseApproval(address,uint256)":"66188463","increaseApproval(address,uint256)":"d73dd623","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferAndCall(address,uint256,bytes)":"4000aea0","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"remaining\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimalPlaces\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseApproval\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"increaseApproval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"tokenName\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"tokenSymbol\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalTokensIssued\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"transferAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@chainlink/contracts/src/v0.8/interfaces/LinkTokenInterface.sol\":\"LinkTokenInterface\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/interfaces/LinkTokenInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface LinkTokenInterface {\\n  function allowance(address owner, address spender) external view returns (uint256 remaining);\\n\\n  function approve(address spender, uint256 value) external returns (bool success);\\n\\n  function balanceOf(address owner) external view returns (uint256 balance);\\n\\n  function decimals() external view returns (uint8 decimalPlaces);\\n\\n  function decreaseApproval(address spender, uint256 addedValue) external returns (bool success);\\n\\n  function increaseApproval(address spender, uint256 subtractedValue) external;\\n\\n  function name() external view returns (string memory tokenName);\\n\\n  function symbol() external view returns (string memory tokenSymbol);\\n\\n  function totalSupply() external view returns (uint256 totalTokensIssued);\\n\\n  function transfer(address to, uint256 value) external returns (bool success);\\n\\n  function transferAndCall(\\n    address to,\\n    uint256 value,\\n    bytes calldata data\\n  ) external returns (bool success);\\n\\n  function transferFrom(\\n    address from,\\n    address to,\\n    uint256 value\\n  ) external returns (bool success);\\n}\\n\",\"keccak256\":\"0xc7d7cd730d36825485ef4107d93c3ff18b9f3a5a00ea3d5988ba9a0bd70b10c5\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"version":1}}},"@chainlink/contracts/src/v0.8/interfaces/OperatorInterface.sol":{"OperatorInterface":{"abi":[{"inputs":[{"internalType":"bytes32","name":"requestId","type":"bytes32"},{"internalType":"uint256","name":"payment","type":"uint256"},{"internalType":"bytes4","name":"callbackFunctionId","type":"bytes4"},{"internalType":"uint256","name":"expiration","type":"uint256"}],"name":"cancelOracleRequest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable[]","name":"receivers","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"distributeFunds","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"requestId","type":"bytes32"},{"internalType":"uint256","name":"payment","type":"uint256"},{"internalType":"address","name":"callbackAddress","type":"address"},{"internalType":"bytes4","name":"callbackFunctionId","type":"bytes4"},{"internalType":"uint256","name":"expiration","type":"uint256"},{"internalType":"bytes32","name":"data","type":"bytes32"}],"name":"fulfillOracleRequest","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"requestId","type":"bytes32"},{"internalType":"uint256","name":"payment","type":"uint256"},{"internalType":"address","name":"callbackAddress","type":"address"},{"internalType":"bytes4","name":"callbackFunctionId","type":"bytes4"},{"internalType":"uint256","name":"expiration","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"fulfillOracleRequest2","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getAuthorizedSenders","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getForwarder","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"node","type":"address"}],"name":"isAuthorizedSender","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"payment","type":"uint256"},{"internalType":"bytes32","name":"specId","type":"bytes32"},{"internalType":"bytes4","name":"callbackFunctionId","type":"bytes4"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"dataVersion","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"operatorRequest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"requestPrice","type":"uint256"},{"internalType":"bytes32","name":"serviceAgreementID","type":"bytes32"},{"internalType":"address","name":"callbackAddress","type":"address"},{"internalType":"bytes4","name":"callbackFunctionId","type":"bytes4"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"dataVersion","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"oracleRequest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"ownerTransferAndCall","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"senders","type":"address[]"}],"name":"setAuthorizedSenders","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"cancelOracleRequest(bytes32,uint256,bytes4,uint256)":"6ee4d553","distributeFunds(address[],uint256[])":"6bd59ec0","fulfillOracleRequest(bytes32,uint256,address,bytes4,uint256,bytes32)":"4ab0d190","fulfillOracleRequest2(bytes32,uint256,address,bytes4,uint256,bytes)":"6ae0bc76","getAuthorizedSenders()":"2408afaa","getForwarder()":"a0042526","isAuthorizedSender(address)":"fa00763a","operatorRequest(address,uint256,bytes32,bytes4,uint256,uint256,bytes)":"3c6d41b9","oracleRequest(address,uint256,bytes32,address,bytes4,uint256,uint256,bytes)":"40429946","ownerTransferAndCall(address,uint256,bytes)":"902fc370","setAuthorizedSenders(address[])":"ee56997b","withdraw(address,uint256)":"f3fef3a3","withdrawable()":"50188301"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"requestId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"},{\"internalType\":\"bytes4\",\"name\":\"callbackFunctionId\",\"type\":\"bytes4\"},{\"internalType\":\"uint256\",\"name\":\"expiration\",\"type\":\"uint256\"}],\"name\":\"cancelOracleRequest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable[]\",\"name\":\"receivers\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"distributeFunds\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"requestId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"callbackAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"callbackFunctionId\",\"type\":\"bytes4\"},{\"internalType\":\"uint256\",\"name\":\"expiration\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"fulfillOracleRequest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"requestId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"callbackAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"callbackFunctionId\",\"type\":\"bytes4\"},{\"internalType\":\"uint256\",\"name\":\"expiration\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"fulfillOracleRequest2\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAuthorizedSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getForwarder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"node\",\"type\":\"address\"}],\"name\":\"isAuthorizedSender\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"specId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes4\",\"name\":\"callbackFunctionId\",\"type\":\"bytes4\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"dataVersion\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"operatorRequest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestPrice\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"serviceAgreementID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callbackAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"callbackFunctionId\",\"type\":\"bytes4\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"dataVersion\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"oracleRequest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"ownerTransferAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"senders\",\"type\":\"address[]\"}],\"name\":\"setAuthorizedSenders\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawable\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@chainlink/contracts/src/v0.8/interfaces/OperatorInterface.sol\":\"OperatorInterface\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/interfaces/ChainlinkRequestInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface ChainlinkRequestInterface {\\n  function oracleRequest(\\n    address sender,\\n    uint256 requestPrice,\\n    bytes32 serviceAgreementID,\\n    address callbackAddress,\\n    bytes4 callbackFunctionId,\\n    uint256 nonce,\\n    uint256 dataVersion,\\n    bytes calldata data\\n  ) external;\\n\\n  function cancelOracleRequest(\\n    bytes32 requestId,\\n    uint256 payment,\\n    bytes4 callbackFunctionId,\\n    uint256 expiration\\n  ) external;\\n}\\n\",\"keccak256\":\"0xa8adfbd0326c982c38ea3808a4da52f0a51807241787c4bd28235bbe86707c04\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/interfaces/OperatorInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nimport \\\"./OracleInterface.sol\\\";\\nimport \\\"./ChainlinkRequestInterface.sol\\\";\\n\\ninterface OperatorInterface is OracleInterface, ChainlinkRequestInterface {\\n  function operatorRequest(\\n    address sender,\\n    uint256 payment,\\n    bytes32 specId,\\n    bytes4 callbackFunctionId,\\n    uint256 nonce,\\n    uint256 dataVersion,\\n    bytes calldata data\\n  ) external;\\n\\n  function fulfillOracleRequest2(\\n    bytes32 requestId,\\n    uint256 payment,\\n    address callbackAddress,\\n    bytes4 callbackFunctionId,\\n    uint256 expiration,\\n    bytes calldata data\\n  ) external returns (bool);\\n\\n  function ownerTransferAndCall(\\n    address to,\\n    uint256 value,\\n    bytes calldata data\\n  ) external returns (bool success);\\n\\n  function distributeFunds(address payable[] calldata receivers, uint256[] calldata amounts) external payable;\\n\\n  function getAuthorizedSenders() external returns (address[] memory);\\n\\n  function setAuthorizedSenders(address[] calldata senders) external;\\n\\n  function getForwarder() external returns (address);\\n}\\n\",\"keccak256\":\"0x79a7c77b8f87be6ef02a566765077ed599724b060a209f34f8907eec5615da68\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/interfaces/OracleInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface OracleInterface {\\n  function fulfillOracleRequest(\\n    bytes32 requestId,\\n    uint256 payment,\\n    address callbackAddress,\\n    bytes4 callbackFunctionId,\\n    uint256 expiration,\\n    bytes32 data\\n  ) external returns (bool);\\n\\n  function isAuthorizedSender(address node) external view returns (bool);\\n\\n  function withdraw(address recipient, uint256 amount) external;\\n\\n  function withdrawable() external view returns (uint256);\\n}\\n\",\"keccak256\":\"0x3a86242e005bad9daf1b4794399a81ba373069355f38c8a07b58e57abc32513a\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"version":1}}},"@chainlink/contracts/src/v0.8/interfaces/OracleInterface.sol":{"OracleInterface":{"abi":[{"inputs":[{"internalType":"bytes32","name":"requestId","type":"bytes32"},{"internalType":"uint256","name":"payment","type":"uint256"},{"internalType":"address","name":"callbackAddress","type":"address"},{"internalType":"bytes4","name":"callbackFunctionId","type":"bytes4"},{"internalType":"uint256","name":"expiration","type":"uint256"},{"internalType":"bytes32","name":"data","type":"bytes32"}],"name":"fulfillOracleRequest","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"node","type":"address"}],"name":"isAuthorizedSender","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"fulfillOracleRequest(bytes32,uint256,address,bytes4,uint256,bytes32)":"4ab0d190","isAuthorizedSender(address)":"fa00763a","withdraw(address,uint256)":"f3fef3a3","withdrawable()":"50188301"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"requestId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"callbackAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"callbackFunctionId\",\"type\":\"bytes4\"},{\"internalType\":\"uint256\",\"name\":\"expiration\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"fulfillOracleRequest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"node\",\"type\":\"address\"}],\"name\":\"isAuthorizedSender\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawable\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@chainlink/contracts/src/v0.8/interfaces/OracleInterface.sol\":\"OracleInterface\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/interfaces/OracleInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface OracleInterface {\\n  function fulfillOracleRequest(\\n    bytes32 requestId,\\n    uint256 payment,\\n    address callbackAddress,\\n    bytes4 callbackFunctionId,\\n    uint256 expiration,\\n    bytes32 data\\n  ) external returns (bool);\\n\\n  function isAuthorizedSender(address node) external view returns (bool);\\n\\n  function withdraw(address recipient, uint256 amount) external;\\n\\n  function withdrawable() external view returns (uint256);\\n}\\n\",\"keccak256\":\"0x3a86242e005bad9daf1b4794399a81ba373069355f38c8a07b58e57abc32513a\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"version":1}}},"@chainlink/contracts/src/v0.8/interfaces/PointerInterface.sol":{"PointerInterface":{"abi":[{"inputs":[],"name":"getAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"getAddress()":"38cc4831"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@chainlink/contracts/src/v0.8/interfaces/PointerInterface.sol\":\"PointerInterface\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/interfaces/PointerInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface PointerInterface {\\n  function getAddress() external view returns (address);\\n}\\n\",\"keccak256\":\"0x42e5d62984f9d57bab7e32b2c6e3af86f4feb232ea2af6c822032fae88203bd7\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"version":1}}},"@chainlink/contracts/src/v0.8/interfaces/VRFCoordinatorV2Interface.sol":{"VRFCoordinatorV2Interface":{"abi":[{"inputs":[{"internalType":"uint64","name":"subId","type":"uint64"}],"name":"acceptSubscriptionOwnerTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"subId","type":"uint64"},{"internalType":"address","name":"consumer","type":"address"}],"name":"addConsumer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"subId","type":"uint64"},{"internalType":"address","name":"to","type":"address"}],"name":"cancelSubscription","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"createSubscription","outputs":[{"internalType":"uint64","name":"subId","type":"uint64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getRequestConfig","outputs":[{"internalType":"uint16","name":"","type":"uint16"},{"internalType":"uint32","name":"","type":"uint32"},{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"subId","type":"uint64"}],"name":"getSubscription","outputs":[{"internalType":"uint96","name":"balance","type":"uint96"},{"internalType":"uint64","name":"reqCount","type":"uint64"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address[]","name":"consumers","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"subId","type":"uint64"}],"name":"pendingRequestExists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"subId","type":"uint64"},{"internalType":"address","name":"consumer","type":"address"}],"name":"removeConsumer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"keyHash","type":"bytes32"},{"internalType":"uint64","name":"subId","type":"uint64"},{"internalType":"uint16","name":"minimumRequestConfirmations","type":"uint16"},{"internalType":"uint32","name":"callbackGasLimit","type":"uint32"},{"internalType":"uint32","name":"numWords","type":"uint32"}],"name":"requestRandomWords","outputs":[{"internalType":"uint256","name":"requestId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"subId","type":"uint64"},{"internalType":"address","name":"newOwner","type":"address"}],"name":"requestSubscriptionOwnerTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{"acceptSubscriptionOwnerTransfer(uint64)":{"details":"will revert if original owner of subId has not requested that msg.sender become the new owner.","params":{"subId":"- ID of the subscription"}},"addConsumer(uint64,address)":{"params":{"consumer":"- New consumer which can use the subscription","subId":"- ID of the subscription"}},"cancelSubscription(uint64,address)":{"params":{"subId":"- ID of the subscription","to":"- Where to send the remaining LINK to"}},"createSubscription()":{"details":"You can manage the consumer set dynamically with addConsumer/removeConsumer.Note to fund the subscription, use transferAndCall. For exampleLINKTOKEN.transferAndCall(address(COORDINATOR),amount,abi.encode(subId));","returns":{"subId":"- A unique subscription id."}},"getRequestConfig()":{"returns":{"_0":"minimumRequestConfirmations global min for request confirmations","_1":"maxGasLimit global max for request gas limit","_2":"s_provingKeyHashes list of registered key hashes"}},"getSubscription(uint64)":{"params":{"subId":"- ID of the subscription"},"returns":{"balance":"- LINK balance of the subscription in juels.","consumers":"- list of consumer address which are able to use this subscription.","owner":"- owner of the subscription.","reqCount":"- number of requests for this subscription, determines fee tier."}},"removeConsumer(uint64,address)":{"params":{"consumer":"- Consumer to remove from the subscription","subId":"- ID of the subscription"}},"requestRandomWords(bytes32,uint64,uint16,uint32,uint32)":{"params":{"callbackGasLimit":"- How much gas you'd like to receive in your fulfillRandomWords callback. Note that gasleft() inside fulfillRandomWords may be slightly less than this amount because of gas used calling the function (argument decoding etc.), so you may need to request slightly more than you expect to have inside fulfillRandomWords. The acceptable range is [0, maxGasLimit]","keyHash":"- Corresponds to a particular oracle job which uses that key for generating the VRF proof. Different keyHash's have different gas price ceilings, so you can select a specific one to bound your maximum per request cost.","minimumRequestConfirmations":"- How many blocks you'd like the oracle to wait before responding to the request. See SECURITY CONSIDERATIONS for why you may want to request more. The acceptable range is [minimumRequestBlockConfirmations, 200].","numWords":"- The number of uint256 random values you'd like to receive in your fulfillRandomWords callback. Note these numbers are expanded in a secure way by the VRFCoordinator from a single random value supplied by the oracle.","subId":"- The ID of the VRF subscription. Must be funded with the minimum subscription balance required for the selected keyHash."},"returns":{"requestId":"- A unique identifier of the request. Can be used to match a request to a response in fulfillRandomWords."}},"requestSubscriptionOwnerTransfer(uint64,address)":{"params":{"newOwner":"- proposed new owner of the subscription","subId":"- ID of the subscription"}}},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"acceptSubscriptionOwnerTransfer(uint64)":"82359740","addConsumer(uint64,address)":"7341c10c","cancelSubscription(uint64,address)":"d7ae1d30","createSubscription()":"a21a23e4","getRequestConfig()":"00012291","getSubscription(uint64)":"a47c7696","pendingRequestExists(uint64)":"e82ad7d4","removeConsumer(uint64,address)":"9f87fad7","requestRandomWords(bytes32,uint64,uint16,uint32,uint32)":"5d3b1d30","requestSubscriptionOwnerTransfer(uint64,address)":"04c357cb"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"}],\"name\":\"acceptSubscriptionOwnerTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"consumer\",\"type\":\"address\"}],\"name\":\"addConsumer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"cancelSubscription\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"createSubscription\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRequestConfig\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"}],\"name\":\"getSubscription\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"balance\",\"type\":\"uint96\"},{\"internalType\":\"uint64\",\"name\":\"reqCount\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"consumers\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"}],\"name\":\"pendingRequestExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"consumer\",\"type\":\"address\"}],\"name\":\"removeConsumer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"keyHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"},{\"internalType\":\"uint16\",\"name\":\"minimumRequestConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"callbackGasLimit\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"numWords\",\"type\":\"uint32\"}],\"name\":\"requestRandomWords\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"requestSubscriptionOwnerTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"acceptSubscriptionOwnerTransfer(uint64)\":{\"details\":\"will revert if original owner of subId has not requested that msg.sender become the new owner.\",\"params\":{\"subId\":\"- ID of the subscription\"}},\"addConsumer(uint64,address)\":{\"params\":{\"consumer\":\"- New consumer which can use the subscription\",\"subId\":\"- ID of the subscription\"}},\"cancelSubscription(uint64,address)\":{\"params\":{\"subId\":\"- ID of the subscription\",\"to\":\"- Where to send the remaining LINK to\"}},\"createSubscription()\":{\"details\":\"You can manage the consumer set dynamically with addConsumer/removeConsumer.Note to fund the subscription, use transferAndCall. For exampleLINKTOKEN.transferAndCall(address(COORDINATOR),amount,abi.encode(subId));\",\"returns\":{\"subId\":\"- A unique subscription id.\"}},\"getRequestConfig()\":{\"returns\":{\"_0\":\"minimumRequestConfirmations global min for request confirmations\",\"_1\":\"maxGasLimit global max for request gas limit\",\"_2\":\"s_provingKeyHashes list of registered key hashes\"}},\"getSubscription(uint64)\":{\"params\":{\"subId\":\"- ID of the subscription\"},\"returns\":{\"balance\":\"- LINK balance of the subscription in juels.\",\"consumers\":\"- list of consumer address which are able to use this subscription.\",\"owner\":\"- owner of the subscription.\",\"reqCount\":\"- number of requests for this subscription, determines fee tier.\"}},\"removeConsumer(uint64,address)\":{\"params\":{\"consumer\":\"- Consumer to remove from the subscription\",\"subId\":\"- ID of the subscription\"}},\"requestRandomWords(bytes32,uint64,uint16,uint32,uint32)\":{\"params\":{\"callbackGasLimit\":\"- How much gas you'd like to receive in your fulfillRandomWords callback. Note that gasleft() inside fulfillRandomWords may be slightly less than this amount because of gas used calling the function (argument decoding etc.), so you may need to request slightly more than you expect to have inside fulfillRandomWords. The acceptable range is [0, maxGasLimit]\",\"keyHash\":\"- Corresponds to a particular oracle job which uses that key for generating the VRF proof. Different keyHash's have different gas price ceilings, so you can select a specific one to bound your maximum per request cost.\",\"minimumRequestConfirmations\":\"- How many blocks you'd like the oracle to wait before responding to the request. See SECURITY CONSIDERATIONS for why you may want to request more. The acceptable range is [minimumRequestBlockConfirmations, 200].\",\"numWords\":\"- The number of uint256 random values you'd like to receive in your fulfillRandomWords callback. Note these numbers are expanded in a secure way by the VRFCoordinator from a single random value supplied by the oracle.\",\"subId\":\"- The ID of the VRF subscription. Must be funded with the minimum subscription balance required for the selected keyHash.\"},\"returns\":{\"requestId\":\"- A unique identifier of the request. Can be used to match a request to a response in fulfillRandomWords.\"}},\"requestSubscriptionOwnerTransfer(uint64,address)\":{\"params\":{\"newOwner\":\"- proposed new owner of the subscription\",\"subId\":\"- ID of the subscription\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"acceptSubscriptionOwnerTransfer(uint64)\":{\"notice\":\"Request subscription owner transfer.\"},\"addConsumer(uint64,address)\":{\"notice\":\"Add a consumer to a VRF subscription.\"},\"cancelSubscription(uint64,address)\":{\"notice\":\"Cancel a subscription\"},\"createSubscription()\":{\"notice\":\"Create a VRF subscription.\"},\"getRequestConfig()\":{\"notice\":\"Get configuration relevant for making requests\"},\"getSubscription(uint64)\":{\"notice\":\"Get a VRF subscription.\"},\"removeConsumer(uint64,address)\":{\"notice\":\"Remove a consumer from a VRF subscription.\"},\"requestRandomWords(bytes32,uint64,uint16,uint32,uint32)\":{\"notice\":\"Request a set of random words.\"},\"requestSubscriptionOwnerTransfer(uint64,address)\":{\"notice\":\"Request subscription owner transfer.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@chainlink/contracts/src/v0.8/interfaces/VRFCoordinatorV2Interface.sol\":\"VRFCoordinatorV2Interface\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/interfaces/VRFCoordinatorV2Interface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface VRFCoordinatorV2Interface {\\n  /**\\n   * @notice Get configuration relevant for making requests\\n   * @return minimumRequestConfirmations global min for request confirmations\\n   * @return maxGasLimit global max for request gas limit\\n   * @return s_provingKeyHashes list of registered key hashes\\n   */\\n  function getRequestConfig()\\n    external\\n    view\\n    returns (\\n      uint16,\\n      uint32,\\n      bytes32[] memory\\n    );\\n\\n  /**\\n   * @notice Request a set of random words.\\n   * @param keyHash - Corresponds to a particular oracle job which uses\\n   * that key for generating the VRF proof. Different keyHash's have different gas price\\n   * ceilings, so you can select a specific one to bound your maximum per request cost.\\n   * @param subId  - The ID of the VRF subscription. Must be funded\\n   * with the minimum subscription balance required for the selected keyHash.\\n   * @param minimumRequestConfirmations - How many blocks you'd like the\\n   * oracle to wait before responding to the request. See SECURITY CONSIDERATIONS\\n   * for why you may want to request more. The acceptable range is\\n   * [minimumRequestBlockConfirmations, 200].\\n   * @param callbackGasLimit - How much gas you'd like to receive in your\\n   * fulfillRandomWords callback. Note that gasleft() inside fulfillRandomWords\\n   * may be slightly less than this amount because of gas used calling the function\\n   * (argument decoding etc.), so you may need to request slightly more than you expect\\n   * to have inside fulfillRandomWords. The acceptable range is\\n   * [0, maxGasLimit]\\n   * @param numWords - The number of uint256 random values you'd like to receive\\n   * in your fulfillRandomWords callback. Note these numbers are expanded in a\\n   * secure way by the VRFCoordinator from a single random value supplied by the oracle.\\n   * @return requestId - A unique identifier of the request. Can be used to match\\n   * a request to a response in fulfillRandomWords.\\n   */\\n  function requestRandomWords(\\n    bytes32 keyHash,\\n    uint64 subId,\\n    uint16 minimumRequestConfirmations,\\n    uint32 callbackGasLimit,\\n    uint32 numWords\\n  ) external returns (uint256 requestId);\\n\\n  /**\\n   * @notice Create a VRF subscription.\\n   * @return subId - A unique subscription id.\\n   * @dev You can manage the consumer set dynamically with addConsumer/removeConsumer.\\n   * @dev Note to fund the subscription, use transferAndCall. For example\\n   * @dev  LINKTOKEN.transferAndCall(\\n   * @dev    address(COORDINATOR),\\n   * @dev    amount,\\n   * @dev    abi.encode(subId));\\n   */\\n  function createSubscription() external returns (uint64 subId);\\n\\n  /**\\n   * @notice Get a VRF subscription.\\n   * @param subId - ID of the subscription\\n   * @return balance - LINK balance of the subscription in juels.\\n   * @return reqCount - number of requests for this subscription, determines fee tier.\\n   * @return owner - owner of the subscription.\\n   * @return consumers - list of consumer address which are able to use this subscription.\\n   */\\n  function getSubscription(uint64 subId)\\n    external\\n    view\\n    returns (\\n      uint96 balance,\\n      uint64 reqCount,\\n      address owner,\\n      address[] memory consumers\\n    );\\n\\n  /**\\n   * @notice Request subscription owner transfer.\\n   * @param subId - ID of the subscription\\n   * @param newOwner - proposed new owner of the subscription\\n   */\\n  function requestSubscriptionOwnerTransfer(uint64 subId, address newOwner) external;\\n\\n  /**\\n   * @notice Request subscription owner transfer.\\n   * @param subId - ID of the subscription\\n   * @dev will revert if original owner of subId has\\n   * not requested that msg.sender become the new owner.\\n   */\\n  function acceptSubscriptionOwnerTransfer(uint64 subId) external;\\n\\n  /**\\n   * @notice Add a consumer to a VRF subscription.\\n   * @param subId - ID of the subscription\\n   * @param consumer - New consumer which can use the subscription\\n   */\\n  function addConsumer(uint64 subId, address consumer) external;\\n\\n  /**\\n   * @notice Remove a consumer from a VRF subscription.\\n   * @param subId - ID of the subscription\\n   * @param consumer - Consumer to remove from the subscription\\n   */\\n  function removeConsumer(uint64 subId, address consumer) external;\\n\\n  /**\\n   * @notice Cancel a subscription\\n   * @param subId - ID of the subscription\\n   * @param to - Where to send the remaining LINK to\\n   */\\n  function cancelSubscription(uint64 subId, address to) external;\\n\\n  /*\\n   * @notice Check to see if there exists a request commitment consumers\\n   * for all consumers and keyhashes for a given sub.\\n   * @param subId - ID of the subscription\\n   * @return true if there exists at least one unfulfilled request for the subscription, false\\n   * otherwise.\\n   */\\n  function pendingRequestExists(uint64 subId) external view returns (bool);\\n}\\n\",\"keccak256\":\"0x54cdc97717cbae1a51a5500c8ee4875ebf056c95b54d2155a9544a79cb4f4494\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{"acceptSubscriptionOwnerTransfer(uint64)":{"notice":"Request subscription owner transfer."},"addConsumer(uint64,address)":{"notice":"Add a consumer to a VRF subscription."},"cancelSubscription(uint64,address)":{"notice":"Cancel a subscription"},"createSubscription()":{"notice":"Create a VRF subscription."},"getRequestConfig()":{"notice":"Get configuration relevant for making requests"},"getSubscription(uint64)":{"notice":"Get a VRF subscription."},"removeConsumer(uint64,address)":{"notice":"Remove a consumer from a VRF subscription."},"requestRandomWords(bytes32,uint64,uint16,uint32,uint32)":{"notice":"Request a set of random words."},"requestSubscriptionOwnerTransfer(uint64,address)":{"notice":"Request subscription owner transfer."}},"version":1}}},"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol":{"VRFCoordinatorV2Mock":{"abi":[{"inputs":[{"internalType":"uint96","name":"_baseFee","type":"uint96"},{"internalType":"uint96","name":"_gasPriceLink","type":"uint96"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"InsufficientBalance","type":"error"},{"inputs":[],"name":"InvalidConsumer","type":"error"},{"inputs":[],"name":"InvalidRandomWords","type":"error"},{"inputs":[],"name":"InvalidSubscription","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"MustBeSubOwner","type":"error"},{"inputs":[],"name":"TooManyConsumers","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"subId","type":"uint64"},{"indexed":false,"internalType":"address","name":"consumer","type":"address"}],"name":"ConsumerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"subId","type":"uint64"},{"indexed":false,"internalType":"address","name":"consumer","type":"address"}],"name":"ConsumerRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"requestId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"outputSeed","type":"uint256"},{"indexed":false,"internalType":"uint96","name":"payment","type":"uint96"},{"indexed":false,"internalType":"bool","name":"success","type":"bool"}],"name":"RandomWordsFulfilled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"keyHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"requestId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"preSeed","type":"uint256"},{"indexed":true,"internalType":"uint64","name":"subId","type":"uint64"},{"indexed":false,"internalType":"uint16","name":"minimumRequestConfirmations","type":"uint16"},{"indexed":false,"internalType":"uint32","name":"callbackGasLimit","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"numWords","type":"uint32"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RandomWordsRequested","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"subId","type":"uint64"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SubscriptionCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"subId","type":"uint64"},{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"SubscriptionCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"subId","type":"uint64"},{"indexed":false,"internalType":"uint256","name":"oldBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"SubscriptionFunded","type":"event"},{"inputs":[],"name":"BASE_FEE","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GAS_PRICE_LINK","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_CONSUMERS","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"_subId","type":"uint64"}],"name":"acceptSubscriptionOwnerTransfer","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint64","name":"_subId","type":"uint64"},{"internalType":"address","name":"_consumer","type":"address"}],"name":"addConsumer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"_subId","type":"uint64"},{"internalType":"address","name":"_to","type":"address"}],"name":"cancelSubscription","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"_subId","type":"uint64"},{"internalType":"address","name":"_consumer","type":"address"}],"name":"consumerIsAdded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createSubscription","outputs":[{"internalType":"uint64","name":"_subId","type":"uint64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_requestId","type":"uint256"},{"internalType":"address","name":"_consumer","type":"address"}],"name":"fulfillRandomWords","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_requestId","type":"uint256"},{"internalType":"address","name":"_consumer","type":"address"},{"internalType":"uint256[]","name":"_words","type":"uint256[]"}],"name":"fulfillRandomWordsWithOverride","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"_subId","type":"uint64"},{"internalType":"uint96","name":"_amount","type":"uint96"}],"name":"fundSubscription","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getConfig","outputs":[{"internalType":"uint16","name":"minimumRequestConfirmations","type":"uint16"},{"internalType":"uint32","name":"maxGasLimit","type":"uint32"},{"internalType":"uint32","name":"stalenessSeconds","type":"uint32"},{"internalType":"uint32","name":"gasAfterPaymentCalculation","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getFallbackWeiPerUnitLink","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getFeeConfig","outputs":[{"internalType":"uint32","name":"fulfillmentFlatFeeLinkPPMTier1","type":"uint32"},{"internalType":"uint32","name":"fulfillmentFlatFeeLinkPPMTier2","type":"uint32"},{"internalType":"uint32","name":"fulfillmentFlatFeeLinkPPMTier3","type":"uint32"},{"internalType":"uint32","name":"fulfillmentFlatFeeLinkPPMTier4","type":"uint32"},{"internalType":"uint32","name":"fulfillmentFlatFeeLinkPPMTier5","type":"uint32"},{"internalType":"uint24","name":"reqsForTier2","type":"uint24"},{"internalType":"uint24","name":"reqsForTier3","type":"uint24"},{"internalType":"uint24","name":"reqsForTier4","type":"uint24"},{"internalType":"uint24","name":"reqsForTier5","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRequestConfig","outputs":[{"internalType":"uint16","name":"","type":"uint16"},{"internalType":"uint32","name":"","type":"uint32"},{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint64","name":"_subId","type":"uint64"}],"name":"getSubscription","outputs":[{"internalType":"uint96","name":"balance","type":"uint96"},{"internalType":"uint64","name":"reqCount","type":"uint64"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address[]","name":"consumers","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"subId","type":"uint64"}],"name":"pendingRequestExists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"_subId","type":"uint64"},{"internalType":"address","name":"_consumer","type":"address"}],"name":"removeConsumer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_keyHash","type":"bytes32"},{"internalType":"uint64","name":"_subId","type":"uint64"},{"internalType":"uint16","name":"_minimumRequestConfirmations","type":"uint16"},{"internalType":"uint32","name":"_callbackGasLimit","type":"uint32"},{"internalType":"uint32","name":"_numWords","type":"uint32"}],"name":"requestRandomWords","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"_subId","type":"uint64"},{"internalType":"address","name":"_newOwner","type":"address"}],"name":"requestSubscriptionOwnerTransfer","outputs":[],"stateMutability":"pure","type":"function"}],"devdoc":{"kind":"dev","methods":{"createSubscription()":{"details":"You can manage the consumer set dynamically with addConsumer/removeConsumer.Note to fund the subscription, use transferAndCall. For exampleLINKTOKEN.transferAndCall(address(COORDINATOR),amount,abi.encode(subId));","returns":{"_subId":"- A unique subscription id."}},"fulfillRandomWords(uint256,address)":{"details":"This mock uses a simplified formula for calculating payment amount and gas usage, and doesnot account for all edge cases handled in the real VRF coordinator. When making requestsagainst the real coordinator a small amount of additional LINK is required.","params":{"_consumer":"the VRF randomness consumer to send the result to","_requestId":"the request to fulfill"}},"fulfillRandomWordsWithOverride(uint256,address,uint256[])":{"params":{"_consumer":"the VRF randomness consumer to send the result to","_requestId":"the request to fulfill","_words":"user-provided random words"}},"fundSubscription(uint64,uint96)":{"params":{"_amount":"the amount to fund","_subId":"the subscription to fund"}},"getRequestConfig()":{"returns":{"_0":"minimumRequestConfirmations global min for request confirmations","_1":"maxGasLimit global max for request gas limit","_2":"s_provingKeyHashes list of registered key hashes"}}},"version":1},"evm":{"bytecode":{"functionDebugData":{"@_1556":{"entryPoint":null,"id":1556,"parameterSlots":2,"returnSlots":0},"abi_decode_t_uint96_fromMemory":{"entryPoint":169,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint96t_uint96_fromMemory":{"entryPoint":192,"id":null,"parameterSlots":2,"returnSlots":2},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"cleanup_t_uint96":{"entryPoint":263,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":287,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_t_uint96":{"entryPoint":292,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1228:67","statements":[{"body":{"nodeType":"YulBlock","src":"69:79:67","statements":[{"nodeType":"YulAssignment","src":"79:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"94:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"88:5:67"},"nodeType":"YulFunctionCall","src":"88:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"79:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"136:5:67"}],"functionName":{"name":"validator_revert_t_uint96","nodeType":"YulIdentifier","src":"110:25:67"},"nodeType":"YulFunctionCall","src":"110:32:67"},"nodeType":"YulExpressionStatement","src":"110:32:67"}]},"name":"abi_decode_t_uint96_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"47:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"55:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"63:5:67","type":""}],"src":"7:141:67"},{"body":{"nodeType":"YulBlock","src":"246:411:67","statements":[{"body":{"nodeType":"YulBlock","src":"292:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"294:77:67"},"nodeType":"YulFunctionCall","src":"294:79:67"},"nodeType":"YulExpressionStatement","src":"294:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"267:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"276:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"263:3:67"},"nodeType":"YulFunctionCall","src":"263:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"288:2:67","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"259:3:67"},"nodeType":"YulFunctionCall","src":"259:32:67"},"nodeType":"YulIf","src":"256:119:67"},{"nodeType":"YulBlock","src":"385:127:67","statements":[{"nodeType":"YulVariableDeclaration","src":"400:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"414:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"404:6:67","type":""}]},{"nodeType":"YulAssignment","src":"429:73:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"474:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"485:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"470:3:67"},"nodeType":"YulFunctionCall","src":"470:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"494:7:67"}],"functionName":{"name":"abi_decode_t_uint96_fromMemory","nodeType":"YulIdentifier","src":"439:30:67"},"nodeType":"YulFunctionCall","src":"439:63:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"429:6:67"}]}]},{"nodeType":"YulBlock","src":"522:128:67","statements":[{"nodeType":"YulVariableDeclaration","src":"537:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"551:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"541:6:67","type":""}]},{"nodeType":"YulAssignment","src":"567:73:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"612:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"623:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"608:3:67"},"nodeType":"YulFunctionCall","src":"608:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"632:7:67"}],"functionName":{"name":"abi_decode_t_uint96_fromMemory","nodeType":"YulIdentifier","src":"577:30:67"},"nodeType":"YulFunctionCall","src":"577:63:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"567:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint96t_uint96_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"208:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"219:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"231:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"239:6:67","type":""}],"src":"154:503:67"},{"body":{"nodeType":"YulBlock","src":"703:35:67","statements":[{"nodeType":"YulAssignment","src":"713:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"729:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"723:5:67"},"nodeType":"YulFunctionCall","src":"723:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"713:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"696:6:67","type":""}],"src":"663:75:67"},{"body":{"nodeType":"YulBlock","src":"788:65:67","statements":[{"nodeType":"YulAssignment","src":"798:49:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"813:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"820:26:67","type":"","value":"0xffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"809:3:67"},"nodeType":"YulFunctionCall","src":"809:38:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"798:7:67"}]}]},"name":"cleanup_t_uint96","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"770:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"780:7:67","type":""}],"src":"744:109:67"},{"body":{"nodeType":"YulBlock","src":"948:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"965:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"968:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"958:6:67"},"nodeType":"YulFunctionCall","src":"958:12:67"},"nodeType":"YulExpressionStatement","src":"958:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"859:117:67"},{"body":{"nodeType":"YulBlock","src":"1071:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1088:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1091:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1081:6:67"},"nodeType":"YulFunctionCall","src":"1081:12:67"},"nodeType":"YulExpressionStatement","src":"1081:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"982:117:67"},{"body":{"nodeType":"YulBlock","src":"1147:78:67","statements":[{"body":{"nodeType":"YulBlock","src":"1203:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1212:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1215:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1205:6:67"},"nodeType":"YulFunctionCall","src":"1205:12:67"},"nodeType":"YulExpressionStatement","src":"1205:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1170:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1194:5:67"}],"functionName":{"name":"cleanup_t_uint96","nodeType":"YulIdentifier","src":"1177:16:67"},"nodeType":"YulFunctionCall","src":"1177:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1167:2:67"},"nodeType":"YulFunctionCall","src":"1167:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1160:6:67"},"nodeType":"YulFunctionCall","src":"1160:42:67"},"nodeType":"YulIf","src":"1157:62:67"}]},"name":"validator_revert_t_uint96","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1140:5:67","type":""}],"src":"1105:120:67"}]},"contents":"{\n\n    function abi_decode_t_uint96_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_uint96(value)\n    }\n\n    function abi_decode_tuple_t_uint96t_uint96_fromMemory(headStart, dataEnd) -> value0, value1 {\n        if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint96_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_uint96_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function cleanup_t_uint96(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffffffffffff)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function validator_revert_t_uint96(value) {\n        if iszero(eq(value, cleanup_t_uint96(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60e0604052606461ffff1660c09061ffff1660f01b8152506001805560646002553480156200002d57600080fd5b5060405162002dce38038062002dce8339818101604052810190620000539190620000c0565b816bffffffffffffffffffffffff166080816bffffffffffffffffffffffff1660a01b81525050806bffffffffffffffffffffffff1660a0816bffffffffffffffffffffffff1660a01b8152505050506200013e565b600081519050620000ba8162000124565b92915050565b60008060408385031215620000da57620000d96200011f565b5b6000620000ea85828601620000a9565b9250506020620000fd85828601620000a9565b9150509250929050565b60006bffffffffffffffffffffffff82169050919050565b600080fd5b6200012f8162000107565b81146200013b57600080fd5b50565b60805160a01c60a05160a01c60c05160f01c612c426200018c60003960008181610cb70152610e0201526000818161079f01526115240152600081816107e401526109f30152612c426000f3fe608060405234801561001057600080fd5b506004361061012b5760003560e01c806382359740116100ad578063afc69b5311610071578063afc69b5314610317578063c3f909d414610333578063d7ae1d3014610354578063e82ad7d414610370578063ed5eb06d146103a05761012b565b806382359740146102705780639f87fad71461028c578063a21a23e4146102a8578063a410347f146102c6578063a47c7696146102e45761012b565b80635d3b1d30116100f45780635d3b1d30146101c45780635fbbc0d2146101f457806364d51a2a1461021a5780637341c10c14610238578063808974ff146102545761012b565b80620122911461013057806304c357cb1461015057806308e3898e1461016c578063356dac71146101885780633d18651e146101a6575b600080fd5b6101386103d0565b6040516101479392919061235d565b60405180910390f35b61016a60048036038101906101659190611f55565b610430565b005b61018660048036038101906101819190611eb9565b61046b565b005b6101906109e2565b60405161019d91906122e7565b60405180910390f35b6101ae6109f1565b6040516101bb9190612586565b60405180910390f35b6101de60048036038101906101d99190611dfe565b610a15565b6040516101eb91906123e0565b60405180910390f35b6101fc610c76565b604051610211999897969594939291906124de565b60405180910390f35b610222610cb5565b60405161022f9190612342565b60405180910390f35b610252600480360381019061024d9190611f55565b610cd9565b005b61026e60048036038101906102699190611e79565b610f6d565b005b61028a60048036038101906102859190611f28565b610fc5565b005b6102a660048036038101906102a19190611f55565b611000565b005b6102b061136d565b6040516102bd919061256b565b60405180910390f35b6102ce611522565b6040516102db9190612586565b60405180910390f35b6102fe60048036038101906102f99190611f28565b611546565b60405161030e94939291906125a1565b60405180910390f35b610331600480360381019061032c9190611f95565b61174c565b005b61033b611917565b60405161034b949392919061239b565b60405180910390f35b61036e60048036038101906103699190611f55565b611937565b005b61038a60048036038101906103859190611f28565b611b5a565b60405161039791906122cc565b60405180910390f35b6103ba60048036038101906103b59190611f55565b611b97565b6040516103c791906122cc565b60405180910390f35b60008060606003621e8480600067ffffffffffffffff8111156103f6576103f5612ac5565b5b6040519080825280602002602001820160405280156104245781602001602082028036833780820191505090505b50925092509250909192565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046290612302565b60405180910390fd5b60005a905060006005600086815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1614156104e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104df90612322565b60405180910390fd5b6000600560008681526020019081526020016000206040518060600160405290816000820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016000820160089054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200160008201600c9054906101000a900463ffffffff1663ffffffff1663ffffffff1681525050905060008351141561066057806040015163ffffffff1667ffffffffffffffff8111156105b6576105b5612ac5565b5b6040519080825280602002602001820160405280156105e45781602001602082028036833780820191505090505b50925060005b816040015163ffffffff1681101561065a57858160405160200161060f92919061242b565b6040516020818303038152906040528051906020012060001c84828151811061063b5761063a612a96565b5b6020026020010181815250508080610652906129be565b9150506105ea565b506106a5565b806040015163ffffffff168351146106a4576040517f3f3df5b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600080631fe543e360e01b87866040516024016106c39291906123fb565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060008673ffffffffffffffffffffffffffffffffffffffff16846020015163ffffffff16836040516107549190612271565b60006040518083038160008787f1925050503d8060008114610792576040519150601f19603f3d011682016040523d82523d6000602084013e610797565b606091505b5050905060007f00000000000000000000000000000000000000000000000000000000000000006bffffffffffffffffffffffff165a876107d8919061282b565b6107e291906127d1565b7f00000000000000000000000000000000000000000000000000000000000000006bffffffffffffffffffffffff1661081b9190612739565b9050806bffffffffffffffffffffffff1660036000876000015167ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff1610156108b9576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060036000876000015167ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160148282829054906101000a90046bffffffffffffffffffffffff1661090e919061285f565b92506101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550600560008a8152602001908152602001600020600080820160006101000a81549067ffffffffffffffff02191690556000820160086101000a81549063ffffffff021916905560008201600c6101000a81549063ffffffff02191690555050887f7dffc5ae5ee4e2e4df1651cf6ad329a73cebdb728f37ea0187b9b17e036756e48a83856040516109cf939291906124a7565b60405180910390a2505050505050505050565b6000660e35fa931a0000905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008433610a238282611b97565b610a59576040517f71e8313700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600360008967ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610b0a576040517f1f6a65b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060016000815480929190610b1f906129be565b919050559050600060026000815480929190610b3a906129be565b91905055905060405180606001604052808a67ffffffffffffffff1681526020018863ffffffff1681526020018763ffffffff168152506005600084815260200190815260200160002060008201518160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060208201518160000160086101000a81548163ffffffff021916908363ffffffff160217905550604082015181600001600c6101000a81548163ffffffff021916908363ffffffff1602179055509050503373ffffffffffffffffffffffffffffffffffffffff168967ffffffffffffffff168b7f63373d1c4696214b898952999c9aaec57dac1ee2723cec59bea6888f489a977285858d8d8d604051610c5e959493929190612454565b60405180910390a48194505050505095945050505050565b6000806000806000806000806000620186a080620186a080620186a0600080600080985098509850985098509850985098509850909192939495969798565b7f000000000000000000000000000000000000000000000000000000000000000081565b816000600360008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610d90576040517f1f6a65b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e0057806040517fd8a3fb52000000000000000000000000000000000000000000000000000000008152600401610df79190612288565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000061ffff16600460008667ffffffffffffffff1667ffffffffffffffff168152602001908152602001600020805490501415610e88576040517f05a48e0f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e928484611b97565b15610e9c57610f67565b600460008567ffffffffffffffff1667ffffffffffffffff168152602001908152602001600020839080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508367ffffffffffffffff167f752ead9f4536ec1319ee3a5a604e1d65eded22e0924251552ba14ae4faa1bbc384604051610f5e9190612288565b60405180910390a25b50505050565b610fc18282600067ffffffffffffffff811115610f8d57610f8c612ac5565b5b604051908082528060200260200182016040528015610fbb5781602001602082028036833780820191505090505b5061046b565b5050565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff790612302565b60405180910390fd5b816000600360008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156110b7576040517f1f6a65b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461112757806040517fd8a3fb5200000000000000000000000000000000000000000000000000000000815260040161111e9190612288565b60405180910390fd5b83836111338282611b97565b611169576040517f71e8313700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600460008867ffffffffffffffff1667ffffffffffffffff168152602001908152602001600020905060005b8180549050811015611321578673ffffffffffffffffffffffffffffffffffffffff168282815481106111cd576111cc612a96565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561130e5760008260018480549050611228919061282b565b8154811061123957611238612a96565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508083838154811061127a57611279612a96565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828054806112d3576112d2612a67565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905550611321565b8080611319906129be565b915050611197565b508667ffffffffffffffff167ff9bc9d5b5733d904409def43a5ecc888dbdac9a95687780d8fd489d3bb3813fc8760405161135c9190612288565b60405180910390a250505050505050565b600080600081819054906101000a900467ffffffffffffffff168092919061139490612a07565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505060405180604001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200160006bffffffffffffffffffffffff16815250600360008060009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555090505060008054906101000a900467ffffffffffffffff1667ffffffffffffffff167f464722b4166576d3dcbba877b999bc35cf911f4eaf434b7eba68fa113951d0bf336040516115009190612288565b60405180910390a260008054906101000a900467ffffffffffffffff16905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008060006060600073ffffffffffffffffffffffffffffffffffffffff16600360008767ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156115fe576040517f1f6a65b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600360008667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166000600360008867ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600460008967ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000208080548060200260200160405190810160405280929190818152602001828054801561173657602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116116ec575b5050505050905093509350935093509193509193565b600073ffffffffffffffffffffffffffffffffffffffff16600360008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156117fd576040517f1f6a65b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600360008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff16905081600360008567ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160148282829054906101000a90046bffffffffffffffffffffffff16611895919061278f565b92506101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508267ffffffffffffffff167fd39ec07f4e209f627a4c427971473820dc129761ba28de8906bd56f57101d4f88284846118fc919061278f565b60405161190a9291906125ed565b60405180910390a2505050565b6000806000806004622625a0610a8c618205935093509350935090919293565b816000600360008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156119ee576040517f1f6a65b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a5e57806040517fd8a3fb52000000000000000000000000000000000000000000000000000000008152600401611a559190612288565b60405180910390fd5b8367ffffffffffffffff167fe8ed5b475a5b5987aa9165e8731bb78043f39eee32ec5a1169a89e27fcd4981584600360008867ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff16604051611adc9291906122a3565b60405180910390a2600360008567ffffffffffffffff1667ffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff0219169055505050505050565b60006040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8e90612302565b60405180910390fd5b600080600460008567ffffffffffffffff1667ffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015611c4157602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611bf7575b5050505050905060005b8151811015611cc0578373ffffffffffffffffffffffffffffffffffffffff16828281518110611c7e57611c7d612a96565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161415611cad57600192505050611cc7565b8080611cb8906129be565b915050611c4b565b5060009150505b92915050565b6000611ce0611cdb8461263b565b612616565b90508083825260208201905082856020860282011115611d0357611d02612af9565b5b60005b85811015611d335781611d198882611daa565b845260208401935060208301925050600181019050611d06565b5050509392505050565b600081359050611d4c81612b6b565b92915050565b600082601f830112611d6757611d66612af4565b5b8135611d77848260208601611ccd565b91505092915050565b600081359050611d8f81612b82565b92915050565b600081359050611da481612b99565b92915050565b600081359050611db981612bb0565b92915050565b600081359050611dce81612bc7565b92915050565b600081359050611de381612bde565b92915050565b600081359050611df881612bf5565b92915050565b600080600080600060a08688031215611e1a57611e19612b03565b5b6000611e2888828901611d80565b9550506020611e3988828901611dd4565b9450506040611e4a88828901611d95565b9350506060611e5b88828901611dbf565b9250506080611e6c88828901611dbf565b9150509295509295909350565b60008060408385031215611e9057611e8f612b03565b5b6000611e9e85828601611daa565b9250506020611eaf85828601611d3d565b9150509250929050565b600080600060608486031215611ed257611ed1612b03565b5b6000611ee086828701611daa565b9350506020611ef186828701611d3d565b925050604084013567ffffffffffffffff811115611f1257611f11612afe565b5b611f1e86828701611d52565b9150509250925092565b600060208284031215611f3e57611f3d612b03565b5b6000611f4c84828501611dd4565b91505092915050565b60008060408385031215611f6c57611f6b612b03565b5b6000611f7a85828601611dd4565b9250506020611f8b85828601611d3d565b9150509250929050565b60008060408385031215611fac57611fab612b03565b5b6000611fba85828601611dd4565b9250506020611fcb85828601611de9565b9150509250929050565b6000611fe1838361201d565b60208301905092915050565b6000611ff98383612164565b60208301905092915050565b60006120118383612217565b60208301905092915050565b61202681612893565b82525050565b61203581612893565b82525050565b600061204682612697565b61205081856126ea565b935061205b83612667565b8060005b8381101561208c5781516120738882611fd5565b975061207e836126c3565b92505060018101905061205f565b5085935050505092915050565b60006120a4826126a2565b6120ae81856126fb565b93506120b983612677565b8060005b838110156120ea5781516120d18882611fed565b97506120dc836126d0565b9250506001810190506120bd565b5085935050505092915050565b6000612102826126ad565b61210c818561270c565b935061211783612687565b8060005b8381101561214857815161212f8882612005565b975061213a836126dd565b92505060018101905061211b565b5085935050505092915050565b61215e816128a5565b82525050565b61216d816128b1565b82525050565b600061217e826126b8565b612188818561271d565b935061219881856020860161295a565b80840191505092915050565b6121ad816128bb565b82525050565b60006121c0600f83612728565b91506121cb82612b19565b602082019050919050565b60006121e3601383612728565b91506121ee82612b42565b602082019050919050565b612202816128c5565b82525050565b612211816128f3565b82525050565b61222081612902565b82525050565b61222f81612902565b82525050565b61223e8161290c565b82525050565b61224d8161291c565b82525050565b61225c81612948565b82525050565b61226b81612930565b82525050565b600061227d8284612173565b915081905092915050565b600060208201905061229d600083018461202c565b92915050565b60006040820190506122b8600083018561202c565b6122c56020830184612253565b9392505050565b60006020820190506122e16000830184612155565b92915050565b60006020820190506122fc60008301846121a4565b92915050565b6000602082019050818103600083015261231b816121b3565b9050919050565b6000602082019050818103600083015261233b816121d6565b9050919050565b600060208201905061235760008301846121f9565b92915050565b600060608201905061237260008301866121f9565b61237f6020830185612235565b81810360408301526123918184612099565b9050949350505050565b60006080820190506123b060008301876121f9565b6123bd6020830186612235565b6123ca6040830185612235565b6123d76060830184612235565b95945050505050565b60006020820190506123f56000830184612226565b92915050565b60006040820190506124106000830185612226565b818103602083015261242281846120f7565b90509392505050565b60006040820190506124406000830185612226565b61244d6020830184612226565b9392505050565b600060a0820190506124696000830188612226565b6124766020830187612226565b61248360408301866121f9565b6124906060830185612235565b61249d6080830184612235565b9695505050505050565b60006060820190506124bc6000830186612226565b6124c96020830185612262565b6124d66040830184612155565b949350505050565b6000610120820190506124f4600083018c612235565b612501602083018b612235565b61250e604083018a612235565b61251b6060830189612235565b6125286080830188612235565b61253560a0830187612208565b61254260c0830186612208565b61254f60e0830185612208565b61255d610100830184612208565b9a9950505050505050505050565b60006020820190506125806000830184612244565b92915050565b600060208201905061259b6000830184612262565b92915050565b60006080820190506125b66000830187612262565b6125c36020830186612244565b6125d0604083018561202c565b81810360608301526125e2818461203b565b905095945050505050565b60006040820190506126026000830185612253565b61260f6020830184612253565b9392505050565b6000612620612631565b905061262c828261298d565b919050565b6000604051905090565b600067ffffffffffffffff82111561265657612655612ac5565b5b602082029050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600061274482612902565b915061274f83612902565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561278457612783612a38565b5b828201905092915050565b600061279a82612930565b91506127a583612930565b9250826bffffffffffffffffffffffff038211156127c6576127c5612a38565b5b828201905092915050565b60006127dc82612902565b91506127e783612902565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156128205761281f612a38565b5b828202905092915050565b600061283682612902565b915061284183612902565b92508282101561285457612853612a38565b5b828203905092915050565b600061286a82612930565b915061287583612930565b92508282101561288857612887612a38565b5b828203905092915050565b600061289e826128d3565b9050919050565b60008115159050919050565b6000819050919050565b6000819050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062ffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b60006bffffffffffffffffffffffff82169050919050565b600061295382612930565b9050919050565b60005b8381101561297857808201518184015260208101905061295d565b83811115612987576000848401525b50505050565b61299682612b08565b810181811067ffffffffffffffff821117156129b5576129b4612ac5565b5b80604052505050565b60006129c982612902565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156129fc576129fb612a38565b5b600182019050919050565b6000612a128261291c565b915067ffffffffffffffff821415612a2d57612a2c612a38565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f6e6f7420696d706c656d656e7465640000000000000000000000000000000000600082015250565b7f6e6f6e6578697374656e74207265717565737400000000000000000000000000600082015250565b612b7481612893565b8114612b7f57600080fd5b50565b612b8b816128b1565b8114612b9657600080fd5b50565b612ba2816128c5565b8114612bad57600080fd5b50565b612bb981612902565b8114612bc457600080fd5b50565b612bd08161290c565b8114612bdb57600080fd5b50565b612be78161291c565b8114612bf257600080fd5b50565b612bfe81612930565b8114612c0957600080fd5b5056fea26469706673582212207d8de9206264bd5f4843334446a4b5f848657d65c90e2bc2d9311b9bf6089a8c64736f6c63430008070033","opcodes":"PUSH1 0xE0 PUSH1 0x40 MSTORE PUSH1 0x64 PUSH2 0xFFFF AND PUSH1 0xC0 SWAP1 PUSH2 0xFFFF AND PUSH1 0xF0 SHL DUP2 MSTORE POP PUSH1 0x1 DUP1 SSTORE PUSH1 0x64 PUSH1 0x2 SSTORE CALLVALUE DUP1 ISZERO PUSH3 0x2D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x2DCE CODESIZE SUB DUP1 PUSH3 0x2DCE DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x53 SWAP2 SWAP1 PUSH3 0xC0 JUMP JUMPDEST DUP2 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 DUP2 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xA0 SHL DUP2 MSTORE POP POP DUP1 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xA0 DUP2 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xA0 SHL DUP2 MSTORE POP POP POP POP PUSH3 0x13E JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0xBA DUP2 PUSH3 0x124 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0xDA JUMPI PUSH3 0xD9 PUSH3 0x11F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH3 0xEA DUP6 DUP3 DUP7 ADD PUSH3 0xA9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH3 0xFD DUP6 DUP3 DUP7 ADD PUSH3 0xA9 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x12F DUP2 PUSH3 0x107 JUMP JUMPDEST DUP2 EQ PUSH3 0x13B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0xA0 SHR PUSH1 0xA0 MLOAD PUSH1 0xA0 SHR PUSH1 0xC0 MLOAD PUSH1 0xF0 SHR PUSH2 0x2C42 PUSH3 0x18C PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0xCB7 ADD MSTORE PUSH2 0xE02 ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH2 0x79F ADD MSTORE PUSH2 0x1524 ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH2 0x7E4 ADD MSTORE PUSH2 0x9F3 ADD MSTORE PUSH2 0x2C42 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x12B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x82359740 GT PUSH2 0xAD JUMPI DUP1 PUSH4 0xAFC69B53 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xAFC69B53 EQ PUSH2 0x317 JUMPI DUP1 PUSH4 0xC3F909D4 EQ PUSH2 0x333 JUMPI DUP1 PUSH4 0xD7AE1D30 EQ PUSH2 0x354 JUMPI DUP1 PUSH4 0xE82AD7D4 EQ PUSH2 0x370 JUMPI DUP1 PUSH4 0xED5EB06D EQ PUSH2 0x3A0 JUMPI PUSH2 0x12B JUMP JUMPDEST DUP1 PUSH4 0x82359740 EQ PUSH2 0x270 JUMPI DUP1 PUSH4 0x9F87FAD7 EQ PUSH2 0x28C JUMPI DUP1 PUSH4 0xA21A23E4 EQ PUSH2 0x2A8 JUMPI DUP1 PUSH4 0xA410347F EQ PUSH2 0x2C6 JUMPI DUP1 PUSH4 0xA47C7696 EQ PUSH2 0x2E4 JUMPI PUSH2 0x12B JUMP JUMPDEST DUP1 PUSH4 0x5D3B1D30 GT PUSH2 0xF4 JUMPI DUP1 PUSH4 0x5D3B1D30 EQ PUSH2 0x1C4 JUMPI DUP1 PUSH4 0x5FBBC0D2 EQ PUSH2 0x1F4 JUMPI DUP1 PUSH4 0x64D51A2A EQ PUSH2 0x21A JUMPI DUP1 PUSH4 0x7341C10C EQ PUSH2 0x238 JUMPI DUP1 PUSH4 0x808974FF EQ PUSH2 0x254 JUMPI PUSH2 0x12B JUMP JUMPDEST DUP1 PUSH3 0x12291 EQ PUSH2 0x130 JUMPI DUP1 PUSH4 0x4C357CB EQ PUSH2 0x150 JUMPI DUP1 PUSH4 0x8E3898E EQ PUSH2 0x16C JUMPI DUP1 PUSH4 0x356DAC71 EQ PUSH2 0x188 JUMPI DUP1 PUSH4 0x3D18651E EQ PUSH2 0x1A6 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x138 PUSH2 0x3D0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x147 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x235D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x165 SWAP2 SWAP1 PUSH2 0x1F55 JUMP JUMPDEST PUSH2 0x430 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x186 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x181 SWAP2 SWAP1 PUSH2 0x1EB9 JUMP JUMPDEST PUSH2 0x46B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x190 PUSH2 0x9E2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x19D SWAP2 SWAP1 PUSH2 0x22E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AE PUSH2 0x9F1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BB SWAP2 SWAP1 PUSH2 0x2586 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1DE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1D9 SWAP2 SWAP1 PUSH2 0x1DFE JUMP JUMPDEST PUSH2 0xA15 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1EB SWAP2 SWAP1 PUSH2 0x23E0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1FC PUSH2 0xC76 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x211 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x24DE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x222 PUSH2 0xCB5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x22F SWAP2 SWAP1 PUSH2 0x2342 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x252 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x24D SWAP2 SWAP1 PUSH2 0x1F55 JUMP JUMPDEST PUSH2 0xCD9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x26E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x269 SWAP2 SWAP1 PUSH2 0x1E79 JUMP JUMPDEST PUSH2 0xF6D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x28A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x285 SWAP2 SWAP1 PUSH2 0x1F28 JUMP JUMPDEST PUSH2 0xFC5 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2A6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2A1 SWAP2 SWAP1 PUSH2 0x1F55 JUMP JUMPDEST PUSH2 0x1000 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2B0 PUSH2 0x136D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2BD SWAP2 SWAP1 PUSH2 0x256B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2CE PUSH2 0x1522 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2DB SWAP2 SWAP1 PUSH2 0x2586 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2FE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2F9 SWAP2 SWAP1 PUSH2 0x1F28 JUMP JUMPDEST PUSH2 0x1546 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x30E SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x25A1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x331 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x32C SWAP2 SWAP1 PUSH2 0x1F95 JUMP JUMPDEST PUSH2 0x174C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x33B PUSH2 0x1917 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x34B SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x239B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x36E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x369 SWAP2 SWAP1 PUSH2 0x1F55 JUMP JUMPDEST PUSH2 0x1937 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x38A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x385 SWAP2 SWAP1 PUSH2 0x1F28 JUMP JUMPDEST PUSH2 0x1B5A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x397 SWAP2 SWAP1 PUSH2 0x22CC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3BA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3B5 SWAP2 SWAP1 PUSH2 0x1F55 JUMP JUMPDEST PUSH2 0x1B97 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3C7 SWAP2 SWAP1 PUSH2 0x22CC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x60 PUSH1 0x3 PUSH3 0x1E8480 PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3F6 JUMPI PUSH2 0x3F5 PUSH2 0x2AC5 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x424 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP3 POP SWAP3 POP SWAP3 POP SWAP1 SWAP2 SWAP3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x462 SWAP1 PUSH2 0x2302 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 GAS SWAP1 POP PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x4E8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4DF SWAP1 PUSH2 0x2322 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x8 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH4 0xFFFFFFFF AND PUSH4 0xFFFFFFFF AND PUSH4 0xFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0xC SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH4 0xFFFFFFFF AND PUSH4 0xFFFFFFFF AND PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP POP SWAP1 POP PUSH1 0x0 DUP4 MLOAD EQ ISZERO PUSH2 0x660 JUMPI DUP1 PUSH1 0x40 ADD MLOAD PUSH4 0xFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5B6 JUMPI PUSH2 0x5B5 PUSH2 0x2AC5 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x5E4 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP3 POP PUSH1 0x0 JUMPDEST DUP2 PUSH1 0x40 ADD MLOAD PUSH4 0xFFFFFFFF AND DUP2 LT ISZERO PUSH2 0x65A JUMPI DUP6 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x60F SWAP3 SWAP2 SWAP1 PUSH2 0x242B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x0 SHR DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x63B JUMPI PUSH2 0x63A PUSH2 0x2A96 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP1 DUP1 PUSH2 0x652 SWAP1 PUSH2 0x29BE JUMP JUMPDEST SWAP2 POP POP PUSH2 0x5EA JUMP JUMPDEST POP PUSH2 0x6A5 JUMP JUMPDEST DUP1 PUSH1 0x40 ADD MLOAD PUSH4 0xFFFFFFFF AND DUP4 MLOAD EQ PUSH2 0x6A4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x3F3DF5B600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST PUSH1 0x0 DUP1 PUSH4 0x1FE543E3 PUSH1 0xE0 SHL DUP8 DUP7 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x6C3 SWAP3 SWAP2 SWAP1 PUSH2 0x23FB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP SWAP1 POP PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0x20 ADD MLOAD PUSH4 0xFFFFFFFF AND DUP4 PUSH1 0x40 MLOAD PUSH2 0x754 SWAP2 SWAP1 PUSH2 0x2271 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP8 CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x792 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x797 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP PUSH1 0x0 PUSH32 0x0 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND GAS DUP8 PUSH2 0x7D8 SWAP2 SWAP1 PUSH2 0x282B JUMP JUMPDEST PUSH2 0x7E2 SWAP2 SWAP1 PUSH2 0x27D1 JUMP JUMPDEST PUSH32 0x0 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x81B SWAP2 SWAP1 PUSH2 0x2739 JUMP JUMPDEST SWAP1 POP DUP1 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 PUSH1 0x0 DUP8 PUSH1 0x0 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x8B9 JUMPI PUSH1 0x40 MLOAD PUSH32 0xF4D678B800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x3 PUSH1 0x0 DUP8 PUSH1 0x0 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 DUP3 DUP3 DUP3 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x90E SWAP2 SWAP1 PUSH2 0x285F JUMP JUMPDEST SWAP3 POP PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x5 PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x8 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH4 0xFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0xC PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH4 0xFFFFFFFF MUL NOT AND SWAP1 SSTORE POP POP DUP9 PUSH32 0x7DFFC5AE5EE4E2E4DF1651CF6AD329A73CEBDB728F37EA0187B9B17E036756E4 DUP11 DUP4 DUP6 PUSH1 0x40 MLOAD PUSH2 0x9CF SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x24A7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH7 0xE35FA931A0000 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP5 CALLER PUSH2 0xA23 DUP3 DUP3 PUSH2 0x1B97 JUMP JUMPDEST PUSH2 0xA59 JUMPI PUSH1 0x40 MLOAD PUSH32 0x71E8313700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 PUSH1 0x0 DUP10 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xB0A JUMPI PUSH1 0x40 MLOAD PUSH32 0x1F6A65B600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0xB1F SWAP1 PUSH2 0x29BE JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE SWAP1 POP PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0xB3A SWAP1 PUSH2 0x29BE JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE SWAP1 POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP11 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP9 PUSH4 0xFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP8 PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP PUSH1 0x5 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x8 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH4 0xFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH4 0xFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0xC PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH4 0xFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH4 0xFFFFFFFF AND MUL OR SWAP1 SSTORE POP SWAP1 POP POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP10 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP12 PUSH32 0x63373D1C4696214B898952999C9AAEC57DAC1EE2723CEC59BEA6888F489A9772 DUP6 DUP6 DUP14 DUP14 DUP14 PUSH1 0x40 MLOAD PUSH2 0xC5E SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2454 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 DUP2 SWAP5 POP POP POP POP POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH3 0x186A0 DUP1 PUSH3 0x186A0 DUP1 PUSH3 0x186A0 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 SWAP9 POP SWAP9 POP SWAP9 POP SWAP9 POP SWAP9 POP SWAP9 POP SWAP9 POP SWAP9 POP SWAP9 POP SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 SWAP9 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST DUP2 PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xD90 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1F6A65B600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xE00 JUMPI DUP1 PUSH1 0x40 MLOAD PUSH32 0xD8A3FB5200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDF7 SWAP2 SWAP1 PUSH2 0x2288 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x0 PUSH2 0xFFFF AND PUSH1 0x4 PUSH1 0x0 DUP7 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD SWAP1 POP EQ ISZERO PUSH2 0xE88 JUMPI PUSH1 0x40 MLOAD PUSH32 0x5A48E0F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xE92 DUP5 DUP5 PUSH2 0x1B97 JUMP JUMPDEST ISZERO PUSH2 0xE9C JUMPI PUSH2 0xF67 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP6 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP4 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH32 0x752EAD9F4536EC1319EE3A5A604E1D65EDED22E0924251552BA14AE4FAA1BBC3 DUP5 PUSH1 0x40 MLOAD PUSH2 0xF5E SWAP2 SWAP1 PUSH2 0x2288 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0xFC1 DUP3 DUP3 PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF8D JUMPI PUSH2 0xF8C PUSH2 0x2AC5 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xFBB JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP PUSH2 0x46B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFF7 SWAP1 PUSH2 0x2302 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x10B7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1F6A65B600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1127 JUMPI DUP1 PUSH1 0x40 MLOAD PUSH32 0xD8A3FB5200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x111E SWAP2 SWAP1 PUSH2 0x2288 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 DUP4 PUSH2 0x1133 DUP3 DUP3 PUSH2 0x1B97 JUMP JUMPDEST PUSH2 0x1169 JUMPI PUSH1 0x40 MLOAD PUSH32 0x71E8313700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP9 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 DUP1 SLOAD SWAP1 POP DUP2 LT ISZERO PUSH2 0x1321 JUMPI DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x11CD JUMPI PUSH2 0x11CC PUSH2 0x2A96 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x130E JUMPI PUSH1 0x0 DUP3 PUSH1 0x1 DUP5 DUP1 SLOAD SWAP1 POP PUSH2 0x1228 SWAP2 SWAP1 PUSH2 0x282B JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x1239 JUMPI PUSH2 0x1238 PUSH2 0x2A96 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP1 DUP4 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x127A JUMPI PUSH2 0x1279 PUSH2 0x2A96 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP3 DUP1 SLOAD DUP1 PUSH2 0x12D3 JUMPI PUSH2 0x12D2 PUSH2 0x2A67 JUMP JUMPDEST JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE SWAP1 SSTORE POP PUSH2 0x1321 JUMP JUMPDEST DUP1 DUP1 PUSH2 0x1319 SWAP1 PUSH2 0x29BE JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1197 JUMP JUMPDEST POP DUP7 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH32 0xF9BC9D5B5733D904409DEF43A5ECC888DBDAC9A95687780D8FD489D3BB3813FC DUP8 PUSH1 0x40 MLOAD PUSH2 0x135C SWAP2 SWAP1 PUSH2 0x2288 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP2 DUP2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x1394 SWAP1 PUSH2 0x2A07 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP PUSH1 0x3 PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP SWAP1 POP POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH32 0x464722B4166576D3DCBBA877B999BC35CF911F4EAF434B7EBA68FA113951D0BF CALLER PUSH1 0x40 MLOAD PUSH2 0x1500 SWAP2 SWAP1 PUSH2 0x2288 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 PUSH1 0x0 DUP8 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x15FE JUMPI PUSH1 0x40 MLOAD PUSH32 0x1F6A65B600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x0 DUP7 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP9 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x4 PUSH1 0x0 DUP10 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x1736 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x16EC JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP4 POP SWAP4 POP SWAP4 POP SWAP4 POP SWAP2 SWAP4 POP SWAP2 SWAP4 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 PUSH1 0x0 DUP5 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x17FD JUMPI PUSH1 0x40 MLOAD PUSH32 0x1F6A65B600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP5 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x3 PUSH1 0x0 DUP6 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 DUP3 DUP3 DUP3 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1895 SWAP2 SWAP1 PUSH2 0x278F JUMP JUMPDEST SWAP3 POP PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH32 0xD39EC07F4E209F627A4C427971473820DC129761BA28DE8906BD56F57101D4F8 DUP3 DUP5 DUP5 PUSH2 0x18FC SWAP2 SWAP1 PUSH2 0x278F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x190A SWAP3 SWAP2 SWAP1 PUSH2 0x25ED JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x4 PUSH3 0x2625A0 PUSH2 0xA8C PUSH2 0x8205 SWAP4 POP SWAP4 POP SWAP4 POP SWAP4 POP SWAP1 SWAP2 SWAP3 SWAP4 JUMP JUMPDEST DUP2 PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x19EE JUMPI PUSH1 0x40 MLOAD PUSH32 0x1F6A65B600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1A5E JUMPI DUP1 PUSH1 0x40 MLOAD PUSH32 0xD8A3FB5200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A55 SWAP2 SWAP1 PUSH2 0x2288 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH32 0xE8ED5B475A5B5987AA9165E8731BB78043F39EEE32EC5A1169A89E27FCD49815 DUP5 PUSH1 0x3 PUSH1 0x0 DUP9 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x40 MLOAD PUSH2 0x1ADC SWAP3 SWAP2 SWAP1 PUSH2 0x22A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x3 PUSH1 0x0 DUP6 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B8E SWAP1 PUSH2 0x2302 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x4 PUSH1 0x0 DUP6 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x1C41 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x1BF7 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x1CC0 JUMPI DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1C7E JUMPI PUSH2 0x1C7D PUSH2 0x2A96 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1CAD JUMPI PUSH1 0x1 SWAP3 POP POP POP PUSH2 0x1CC7 JUMP JUMPDEST DUP1 DUP1 PUSH2 0x1CB8 SWAP1 PUSH2 0x29BE JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1C4B JUMP JUMPDEST POP PUSH1 0x0 SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1CE0 PUSH2 0x1CDB DUP5 PUSH2 0x263B JUMP JUMPDEST PUSH2 0x2616 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x1D03 JUMPI PUSH2 0x1D02 PUSH2 0x2AF9 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x1D33 JUMPI DUP2 PUSH2 0x1D19 DUP9 DUP3 PUSH2 0x1DAA JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1D06 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1D4C DUP2 PUSH2 0x2B6B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1D67 JUMPI PUSH2 0x1D66 PUSH2 0x2AF4 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1D77 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1CCD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1D8F DUP2 PUSH2 0x2B82 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1DA4 DUP2 PUSH2 0x2B99 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1DB9 DUP2 PUSH2 0x2BB0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1DCE DUP2 PUSH2 0x2BC7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1DE3 DUP2 PUSH2 0x2BDE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1DF8 DUP2 PUSH2 0x2BF5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x1E1A JUMPI PUSH2 0x1E19 PUSH2 0x2B03 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1E28 DUP9 DUP3 DUP10 ADD PUSH2 0x1D80 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x1E39 DUP9 DUP3 DUP10 ADD PUSH2 0x1DD4 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x1E4A DUP9 DUP3 DUP10 ADD PUSH2 0x1D95 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x1E5B DUP9 DUP3 DUP10 ADD PUSH2 0x1DBF JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x1E6C DUP9 DUP3 DUP10 ADD PUSH2 0x1DBF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1E90 JUMPI PUSH2 0x1E8F PUSH2 0x2B03 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1E9E DUP6 DUP3 DUP7 ADD PUSH2 0x1DAA JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1EAF DUP6 DUP3 DUP7 ADD PUSH2 0x1D3D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1ED2 JUMPI PUSH2 0x1ED1 PUSH2 0x2B03 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1EE0 DUP7 DUP3 DUP8 ADD PUSH2 0x1DAA JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x1EF1 DUP7 DUP3 DUP8 ADD PUSH2 0x1D3D JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1F12 JUMPI PUSH2 0x1F11 PUSH2 0x2AFE JUMP JUMPDEST JUMPDEST PUSH2 0x1F1E DUP7 DUP3 DUP8 ADD PUSH2 0x1D52 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1F3E JUMPI PUSH2 0x1F3D PUSH2 0x2B03 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1F4C DUP5 DUP3 DUP6 ADD PUSH2 0x1DD4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1F6C JUMPI PUSH2 0x1F6B PUSH2 0x2B03 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1F7A DUP6 DUP3 DUP7 ADD PUSH2 0x1DD4 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1F8B DUP6 DUP3 DUP7 ADD PUSH2 0x1D3D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1FAC JUMPI PUSH2 0x1FAB PUSH2 0x2B03 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1FBA DUP6 DUP3 DUP7 ADD PUSH2 0x1DD4 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1FCB DUP6 DUP3 DUP7 ADD PUSH2 0x1DE9 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FE1 DUP4 DUP4 PUSH2 0x201D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FF9 DUP4 DUP4 PUSH2 0x2164 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2011 DUP4 DUP4 PUSH2 0x2217 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2026 DUP2 PUSH2 0x2893 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2035 DUP2 PUSH2 0x2893 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2046 DUP3 PUSH2 0x2697 JUMP JUMPDEST PUSH2 0x2050 DUP2 DUP6 PUSH2 0x26EA JUMP JUMPDEST SWAP4 POP PUSH2 0x205B DUP4 PUSH2 0x2667 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x208C JUMPI DUP2 MLOAD PUSH2 0x2073 DUP9 DUP3 PUSH2 0x1FD5 JUMP JUMPDEST SWAP8 POP PUSH2 0x207E DUP4 PUSH2 0x26C3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x205F JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20A4 DUP3 PUSH2 0x26A2 JUMP JUMPDEST PUSH2 0x20AE DUP2 DUP6 PUSH2 0x26FB JUMP JUMPDEST SWAP4 POP PUSH2 0x20B9 DUP4 PUSH2 0x2677 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x20EA JUMPI DUP2 MLOAD PUSH2 0x20D1 DUP9 DUP3 PUSH2 0x1FED JUMP JUMPDEST SWAP8 POP PUSH2 0x20DC DUP4 PUSH2 0x26D0 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x20BD JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2102 DUP3 PUSH2 0x26AD JUMP JUMPDEST PUSH2 0x210C DUP2 DUP6 PUSH2 0x270C JUMP JUMPDEST SWAP4 POP PUSH2 0x2117 DUP4 PUSH2 0x2687 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2148 JUMPI DUP2 MLOAD PUSH2 0x212F DUP9 DUP3 PUSH2 0x2005 JUMP JUMPDEST SWAP8 POP PUSH2 0x213A DUP4 PUSH2 0x26DD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x211B JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x215E DUP2 PUSH2 0x28A5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x216D DUP2 PUSH2 0x28B1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x217E DUP3 PUSH2 0x26B8 JUMP JUMPDEST PUSH2 0x2188 DUP2 DUP6 PUSH2 0x271D JUMP JUMPDEST SWAP4 POP PUSH2 0x2198 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x295A JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x21AD DUP2 PUSH2 0x28BB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21C0 PUSH1 0xF DUP4 PUSH2 0x2728 JUMP JUMPDEST SWAP2 POP PUSH2 0x21CB DUP3 PUSH2 0x2B19 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21E3 PUSH1 0x13 DUP4 PUSH2 0x2728 JUMP JUMPDEST SWAP2 POP PUSH2 0x21EE DUP3 PUSH2 0x2B42 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2202 DUP2 PUSH2 0x28C5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2211 DUP2 PUSH2 0x28F3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2220 DUP2 PUSH2 0x2902 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x222F DUP2 PUSH2 0x2902 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x223E DUP2 PUSH2 0x290C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x224D DUP2 PUSH2 0x291C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x225C DUP2 PUSH2 0x2948 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x226B DUP2 PUSH2 0x2930 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x227D DUP3 DUP5 PUSH2 0x2173 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x229D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x202C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x22B8 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x202C JUMP JUMPDEST PUSH2 0x22C5 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2253 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x22E1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2155 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x22FC PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x21A4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x231B DUP2 PUSH2 0x21B3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x233B DUP2 PUSH2 0x21D6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2357 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x21F9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x2372 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x21F9 JUMP JUMPDEST PUSH2 0x237F PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x2235 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x2391 DUP2 DUP5 PUSH2 0x2099 JUMP JUMPDEST SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x23B0 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x21F9 JUMP JUMPDEST PUSH2 0x23BD PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x2235 JUMP JUMPDEST PUSH2 0x23CA PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x2235 JUMP JUMPDEST PUSH2 0x23D7 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x2235 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x23F5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2226 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2410 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x2226 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x2422 DUP2 DUP5 PUSH2 0x20F7 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2440 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x2226 JUMP JUMPDEST PUSH2 0x244D PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2226 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x2469 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x2226 JUMP JUMPDEST PUSH2 0x2476 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x2226 JUMP JUMPDEST PUSH2 0x2483 PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x21F9 JUMP JUMPDEST PUSH2 0x2490 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x2235 JUMP JUMPDEST PUSH2 0x249D PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x2235 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x24BC PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x2226 JUMP JUMPDEST PUSH2 0x24C9 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x2262 JUMP JUMPDEST PUSH2 0x24D6 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x2155 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x120 DUP3 ADD SWAP1 POP PUSH2 0x24F4 PUSH1 0x0 DUP4 ADD DUP13 PUSH2 0x2235 JUMP JUMPDEST PUSH2 0x2501 PUSH1 0x20 DUP4 ADD DUP12 PUSH2 0x2235 JUMP JUMPDEST PUSH2 0x250E PUSH1 0x40 DUP4 ADD DUP11 PUSH2 0x2235 JUMP JUMPDEST PUSH2 0x251B PUSH1 0x60 DUP4 ADD DUP10 PUSH2 0x2235 JUMP JUMPDEST PUSH2 0x2528 PUSH1 0x80 DUP4 ADD DUP9 PUSH2 0x2235 JUMP JUMPDEST PUSH2 0x2535 PUSH1 0xA0 DUP4 ADD DUP8 PUSH2 0x2208 JUMP JUMPDEST PUSH2 0x2542 PUSH1 0xC0 DUP4 ADD DUP7 PUSH2 0x2208 JUMP JUMPDEST PUSH2 0x254F PUSH1 0xE0 DUP4 ADD DUP6 PUSH2 0x2208 JUMP JUMPDEST PUSH2 0x255D PUSH2 0x100 DUP4 ADD DUP5 PUSH2 0x2208 JUMP JUMPDEST SWAP11 SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2580 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2244 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x259B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2262 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x25B6 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x2262 JUMP JUMPDEST PUSH2 0x25C3 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x2244 JUMP JUMPDEST PUSH2 0x25D0 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x202C JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0x25E2 DUP2 DUP5 PUSH2 0x203B JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2602 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x2253 JUMP JUMPDEST PUSH2 0x260F PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2253 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2620 PUSH2 0x2631 JUMP JUMPDEST SWAP1 POP PUSH2 0x262C DUP3 DUP3 PUSH2 0x298D JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x2656 JUMPI PUSH2 0x2655 PUSH2 0x2AC5 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2744 DUP3 PUSH2 0x2902 JUMP JUMPDEST SWAP2 POP PUSH2 0x274F DUP4 PUSH2 0x2902 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x2784 JUMPI PUSH2 0x2783 PUSH2 0x2A38 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x279A DUP3 PUSH2 0x2930 JUMP JUMPDEST SWAP2 POP PUSH2 0x27A5 DUP4 PUSH2 0x2930 JUMP JUMPDEST SWAP3 POP DUP3 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x27C6 JUMPI PUSH2 0x27C5 PUSH2 0x2A38 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27DC DUP3 PUSH2 0x2902 JUMP JUMPDEST SWAP2 POP PUSH2 0x27E7 DUP4 PUSH2 0x2902 JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x2820 JUMPI PUSH2 0x281F PUSH2 0x2A38 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2836 DUP3 PUSH2 0x2902 JUMP JUMPDEST SWAP2 POP PUSH2 0x2841 DUP4 PUSH2 0x2902 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x2854 JUMPI PUSH2 0x2853 PUSH2 0x2A38 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x286A DUP3 PUSH2 0x2930 JUMP JUMPDEST SWAP2 POP PUSH2 0x2875 DUP4 PUSH2 0x2930 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x2888 JUMPI PUSH2 0x2887 PUSH2 0x2A38 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x289E DUP3 PUSH2 0x28D3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2953 DUP3 PUSH2 0x2930 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2978 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x295D JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x2987 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x2996 DUP3 PUSH2 0x2B08 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x29B5 JUMPI PUSH2 0x29B4 PUSH2 0x2AC5 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x29C9 DUP3 PUSH2 0x2902 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x29FC JUMPI PUSH2 0x29FB PUSH2 0x2A38 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A12 DUP3 PUSH2 0x291C JUMP JUMPDEST SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x2A2D JUMPI PUSH2 0x2A2C PUSH2 0x2A38 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x6E6F7420696D706C656D656E7465640000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x6E6F6E6578697374656E74207265717565737400000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x2B74 DUP2 PUSH2 0x2893 JUMP JUMPDEST DUP2 EQ PUSH2 0x2B7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2B8B DUP2 PUSH2 0x28B1 JUMP JUMPDEST DUP2 EQ PUSH2 0x2B96 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2BA2 DUP2 PUSH2 0x28C5 JUMP JUMPDEST DUP2 EQ PUSH2 0x2BAD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2BB9 DUP2 PUSH2 0x2902 JUMP JUMPDEST DUP2 EQ PUSH2 0x2BC4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2BD0 DUP2 PUSH2 0x290C JUMP JUMPDEST DUP2 EQ PUSH2 0x2BDB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2BE7 DUP2 PUSH2 0x291C JUMP JUMPDEST DUP2 EQ PUSH2 0x2BF2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2BFE DUP2 PUSH2 0x2930 JUMP JUMPDEST DUP2 EQ PUSH2 0x2C09 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH30 0x8DE9206264BD5F4843334446A4B5F848657D65C90E2BC2D9311B9BF6089A DUP13 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ","sourceMap":"254:9107:12:-:0;;;435:3;395:43;;;;;;;;;;;1404:1;1378:27;;1433:3;1409:27;;1826:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1894:8;1883:19;;;;;;;;;;;;1925:13;1908:30;;;;;;;;;;;;1826:117;;254:9107;;7:141:67;63:5;94:6;88:13;79:22;;110:32;136:5;110:32;:::i;:::-;7:141;;;;:::o;154:503::-;231:6;239;288:2;276:9;267:7;263:23;259:32;256:119;;;294:79;;:::i;:::-;256:119;414:1;439:63;494:7;485:6;474:9;470:22;439:63;:::i;:::-;429:73;;385:127;551:2;577:63;632:7;623:6;612:9;608:22;577:63;:::i;:::-;567:73;;522:128;154:503;;;;;:::o;744:109::-;780:7;820:26;813:5;809:38;798:49;;744:109;;;:::o;982:117::-;1091:1;1088;1081:12;1105:120;1177:23;1194:5;1177:23;:::i;:::-;1170:5;1167:34;1157:62;;1215:1;1212;1205:12;1157:62;1105:120;:::o;254:9107:12:-;;;;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@BASE_FEE_1424":{"entryPoint":2545,"id":1424,"parameterSlots":0,"returnSlots":0},"@GAS_PRICE_LINK_1426":{"entryPoint":5410,"id":1426,"parameterSlots":0,"returnSlots":0},"@MAX_CONSUMERS_1429":{"entryPoint":3253,"id":1429,"parameterSlots":0,"returnSlots":0},"@acceptSubscriptionOwnerTransfer_2264":{"entryPoint":4037,"id":2264,"parameterSlots":1,"returnSlots":0},"@addConsumer_2110":{"entryPoint":3289,"id":2110,"parameterSlots":2,"returnSlots":0},"@cancelSubscription_2013":{"entryPoint":6455,"id":2013,"parameterSlots":2,"returnSlots":0},"@consumerIsAdded_1599":{"entryPoint":7063,"id":1599,"parameterSlots":2,"returnSlots":1},"@createSubscription_1942":{"entryPoint":4973,"id":1942,"parameterSlots":0,"returnSlots":1},"@fulfillRandomWordsWithOverride_1799":{"entryPoint":1131,"id":1799,"parameterSlots":3,"returnSlots":0},"@fulfillRandomWords_1636":{"entryPoint":3949,"id":1636,"parameterSlots":2,"returnSlots":0},"@fundSubscription_1844":{"entryPoint":5964,"id":1844,"parameterSlots":2,"returnSlots":0},"@getConfig_2199":{"entryPoint":6423,"id":2199,"parameterSlots":0,"returnSlots":4},"@getFallbackWeiPerUnitLink_2240":{"entryPoint":2530,"id":2240,"parameterSlots":0,"returnSlots":1},"@getFeeConfig_2232":{"entryPoint":3190,"id":2232,"parameterSlots":0,"returnSlots":9},"@getRequestConfig_2068":{"entryPoint":976,"id":2068,"parameterSlots":0,"returnSlots":3},"@getSubscription_1986":{"entryPoint":5446,"id":1986,"parameterSlots":1,"returnSlots":4},"@pendingRequestExists_2277":{"entryPoint":7002,"id":2277,"parameterSlots":1,"returnSlots":1},"@removeConsumer_2181":{"entryPoint":4096,"id":2181,"parameterSlots":2,"returnSlots":0},"@requestRandomWords_1914":{"entryPoint":2581,"id":1914,"parameterSlots":5,"returnSlots":1},"@requestSubscriptionOwnerTransfer_2253":{"entryPoint":1072,"id":2253,"parameterSlots":2,"returnSlots":0},"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7373,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_address":{"entryPoint":7485,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7506,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32":{"entryPoint":7552,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint16":{"entryPoint":7573,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":7594,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint32":{"entryPoint":7615,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint64":{"entryPoint":7636,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint96":{"entryPoint":7657,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_uint64t_uint16t_uint32t_uint32":{"entryPoint":7678,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_uint256t_address":{"entryPoint":7801,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_addresst_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7865,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_uint64":{"entryPoint":7976,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint64t_address":{"entryPoint":8021,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint64t_uint96":{"entryPoint":8085,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encodeUpdatedPos_t_address_to_t_address":{"entryPoint":8149,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_bytes32_to_t_bytes32":{"entryPoint":8173,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_uint256_to_t_uint256":{"entryPoint":8197,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_address_to_t_address":{"entryPoint":8221,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_address_to_t_address_fromStack":{"entryPoint":8236,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack":{"entryPoint":8251,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_array$_t_bytes32_$dyn_memory_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack":{"entryPoint":8345,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack":{"entryPoint":8439,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bool_to_t_bool_fromStack":{"entryPoint":8533,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes32_to_t_bytes32":{"entryPoint":8548,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":8563,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_int256_to_t_int256_fromStack":{"entryPoint":8612,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_stringliteral_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9_to_t_string_memory_ptr_fromStack":{"entryPoint":8627,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_3ef79182ce6d98492afe1a096e15a790f2acf5883840b8ae9a09f74be7e958f0_to_t_string_memory_ptr_fromStack":{"entryPoint":8662,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_uint16_to_t_uint16_fromStack":{"entryPoint":8697,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint24_to_t_uint24_fromStack":{"entryPoint":8712,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256":{"entryPoint":8727,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":8742,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint32_to_t_uint32_fromStack":{"entryPoint":8757,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint64_to_t_uint64_fromStack":{"entryPoint":8772,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint96_to_t_uint256_fromStack":{"entryPoint":8787,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint96_to_t_uint96_fromStack":{"entryPoint":8802,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":8817,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":8840,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_uint96__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":8867,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":8908,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed":{"entryPoint":8935,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":8962,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3ef79182ce6d98492afe1a096e15a790f2acf5883840b8ae9a09f74be7e958f0__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":8994,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint16__to_t_uint16__fromStack_reversed":{"entryPoint":9026,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint16_t_uint32_t_array$_t_bytes32_$dyn_memory_ptr__to_t_uint16_t_uint32_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":9053,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint16_t_uint32_t_uint32_t_uint32__to_t_uint16_t_uint32_t_uint32_t_uint32__fromStack_reversed":{"entryPoint":9115,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":9184,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__to_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":9211,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":9259,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256_t_uint16_t_uint32_t_uint32__to_t_uint256_t_uint256_t_uint16_t_uint32_t_uint32__fromStack_reversed":{"entryPoint":9300,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint96_t_bool__to_t_uint256_t_uint96_t_bool__fromStack_reversed":{"entryPoint":9383,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint32_t_uint32_t_uint32_t_uint32_t_uint32_t_uint24_t_uint24_t_uint24_t_uint24__to_t_uint32_t_uint32_t_uint32_t_uint32_t_uint32_t_uint24_t_uint24_t_uint24_t_uint24__fromStack_reversed":{"entryPoint":9438,"id":null,"parameterSlots":10,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":9579,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint96__to_t_uint96__fromStack_reversed":{"entryPoint":9606,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint96_t_uint64_t_address_t_array$_t_address_$dyn_memory_ptr__to_t_uint96_t_uint64_t_address_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":9633,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_uint96_t_uint96__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":9709,"id":null,"parameterSlots":3,"returnSlots":1},"allocate_memory":{"entryPoint":9750,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":9777,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":9787,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_array$_t_address_$dyn_memory_ptr":{"entryPoint":9831,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_array$_t_bytes32_$dyn_memory_ptr":{"entryPoint":9847,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":9863,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_array$_t_address_$dyn_memory_ptr":{"entryPoint":9879,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_array$_t_bytes32_$dyn_memory_ptr":{"entryPoint":9890,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":9901,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_bytes_memory_ptr":{"entryPoint":9912,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_address_$dyn_memory_ptr":{"entryPoint":9923,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_bytes32_$dyn_memory_ptr":{"entryPoint":9936,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":9949,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack":{"entryPoint":9962,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack":{"entryPoint":9979,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack":{"entryPoint":9996,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":10013,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_fromStack":{"entryPoint":10024,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":10041,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint96":{"entryPoint":10127,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":10193,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":10283,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint96":{"entryPoint":10335,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_address":{"entryPoint":10387,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bool":{"entryPoint":10405,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":10417,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_int256":{"entryPoint":10427,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint16":{"entryPoint":10437,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":10451,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint24":{"entryPoint":10483,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":10498,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint32":{"entryPoint":10508,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint64":{"entryPoint":10524,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint96":{"entryPoint":10544,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint96_to_t_uint256":{"entryPoint":10568,"id":null,"parameterSlots":1,"returnSlots":1},"copy_memory_to_memory":{"entryPoint":10586,"id":null,"parameterSlots":3,"returnSlots":0},"finalize_allocation":{"entryPoint":10637,"id":null,"parameterSlots":2,"returnSlots":0},"increment_t_uint256":{"entryPoint":10686,"id":null,"parameterSlots":1,"returnSlots":1},"increment_t_uint64":{"entryPoint":10759,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":10808,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x31":{"entryPoint":10855,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":10902,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":10949,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":10996,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":11001,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":11006,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":11011,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":11016,"id":null,"parameterSlots":1,"returnSlots":1},"store_literal_in_memory_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9":{"entryPoint":11033,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_3ef79182ce6d98492afe1a096e15a790f2acf5883840b8ae9a09f74be7e958f0":{"entryPoint":11074,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_address":{"entryPoint":11115,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":11138,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint16":{"entryPoint":11161,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":11184,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint32":{"entryPoint":11207,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint64":{"entryPoint":11230,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint96":{"entryPoint":11253,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:28208:67","statements":[{"body":{"nodeType":"YulBlock","src":"126:620:67","statements":[{"nodeType":"YulAssignment","src":"136:90:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"218:6:67"}],"functionName":{"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"161:56:67"},"nodeType":"YulFunctionCall","src":"161:64:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"145:15:67"},"nodeType":"YulFunctionCall","src":"145:81:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"136:5:67"}]},{"nodeType":"YulVariableDeclaration","src":"235:16:67","value":{"name":"array","nodeType":"YulIdentifier","src":"246:5:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"239:3:67","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"268:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"275:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"261:6:67"},"nodeType":"YulFunctionCall","src":"261:21:67"},"nodeType":"YulExpressionStatement","src":"261:21:67"},{"nodeType":"YulAssignment","src":"291:23:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"302:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"309:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"298:3:67"},"nodeType":"YulFunctionCall","src":"298:16:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"291:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"324:17:67","value":{"name":"offset","nodeType":"YulIdentifier","src":"335:6:67"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"328:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"390:103:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"404:77:67"},"nodeType":"YulFunctionCall","src":"404:79:67"},"nodeType":"YulExpressionStatement","src":"404:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"360:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"369:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"377:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"365:3:67"},"nodeType":"YulFunctionCall","src":"365:17:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"356:3:67"},"nodeType":"YulFunctionCall","src":"356:27:67"},{"name":"end","nodeType":"YulIdentifier","src":"385:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"353:2:67"},"nodeType":"YulFunctionCall","src":"353:36:67"},"nodeType":"YulIf","src":"350:143:67"},{"body":{"nodeType":"YulBlock","src":"562:178:67","statements":[{"nodeType":"YulVariableDeclaration","src":"577:21:67","value":{"name":"src","nodeType":"YulIdentifier","src":"595:3:67"},"variables":[{"name":"elementPos","nodeType":"YulTypedName","src":"581:10:67","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"619:3:67"},{"arguments":[{"name":"elementPos","nodeType":"YulIdentifier","src":"645:10:67"},{"name":"end","nodeType":"YulIdentifier","src":"657:3:67"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"624:20:67"},"nodeType":"YulFunctionCall","src":"624:37:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"612:6:67"},"nodeType":"YulFunctionCall","src":"612:50:67"},"nodeType":"YulExpressionStatement","src":"612:50:67"},{"nodeType":"YulAssignment","src":"675:21:67","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"686:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"691:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"682:3:67"},"nodeType":"YulFunctionCall","src":"682:14:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"675:3:67"}]},{"nodeType":"YulAssignment","src":"709:21:67","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"720:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"725:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"716:3:67"},"nodeType":"YulFunctionCall","src":"716:14:67"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"709:3:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"524:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"527:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"521:2:67"},"nodeType":"YulFunctionCall","src":"521:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"535:18:67","statements":[{"nodeType":"YulAssignment","src":"537:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"546:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"549:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"542:3:67"},"nodeType":"YulFunctionCall","src":"542:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"537:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"506:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"508:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"517:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"512:1:67","type":""}]}]},"src":"502:238:67"}]},"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"96:6:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"104:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"112:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"120:5:67","type":""}],"src":"24:722:67"},{"body":{"nodeType":"YulBlock","src":"804:87:67","statements":[{"nodeType":"YulAssignment","src":"814:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"836:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"823:12:67"},"nodeType":"YulFunctionCall","src":"823:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"814:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"879:5:67"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"852:26:67"},"nodeType":"YulFunctionCall","src":"852:33:67"},"nodeType":"YulExpressionStatement","src":"852:33:67"}]},"name":"abi_decode_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"782:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"790:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"798:5:67","type":""}],"src":"752:139:67"},{"body":{"nodeType":"YulBlock","src":"991:293:67","statements":[{"body":{"nodeType":"YulBlock","src":"1040:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"1042:77:67"},"nodeType":"YulFunctionCall","src":"1042:79:67"},"nodeType":"YulExpressionStatement","src":"1042:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1019:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1027:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1015:3:67"},"nodeType":"YulFunctionCall","src":"1015:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"1034:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1011:3:67"},"nodeType":"YulFunctionCall","src":"1011:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1004:6:67"},"nodeType":"YulFunctionCall","src":"1004:35:67"},"nodeType":"YulIf","src":"1001:122:67"},{"nodeType":"YulVariableDeclaration","src":"1132:34:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1159:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1146:12:67"},"nodeType":"YulFunctionCall","src":"1146:20:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1136:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1175:103:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1251:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1259:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1247:3:67"},"nodeType":"YulFunctionCall","src":"1247:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"1266:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"1274:3:67"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"1184:62:67"},"nodeType":"YulFunctionCall","src":"1184:94:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1175:5:67"}]}]},"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"969:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"977:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"985:5:67","type":""}],"src":"914:370:67"},{"body":{"nodeType":"YulBlock","src":"1342:87:67","statements":[{"nodeType":"YulAssignment","src":"1352:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1374:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1361:12:67"},"nodeType":"YulFunctionCall","src":"1361:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1352:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1417:5:67"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"1390:26:67"},"nodeType":"YulFunctionCall","src":"1390:33:67"},"nodeType":"YulExpressionStatement","src":"1390:33:67"}]},"name":"abi_decode_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1320:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1328:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1336:5:67","type":""}],"src":"1290:139:67"},{"body":{"nodeType":"YulBlock","src":"1486:86:67","statements":[{"nodeType":"YulAssignment","src":"1496:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1518:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1505:12:67"},"nodeType":"YulFunctionCall","src":"1505:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1496:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1560:5:67"}],"functionName":{"name":"validator_revert_t_uint16","nodeType":"YulIdentifier","src":"1534:25:67"},"nodeType":"YulFunctionCall","src":"1534:32:67"},"nodeType":"YulExpressionStatement","src":"1534:32:67"}]},"name":"abi_decode_t_uint16","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1464:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1472:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1480:5:67","type":""}],"src":"1435:137:67"},{"body":{"nodeType":"YulBlock","src":"1630:87:67","statements":[{"nodeType":"YulAssignment","src":"1640:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1662:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1649:12:67"},"nodeType":"YulFunctionCall","src":"1649:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1640:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1705:5:67"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"1678:26:67"},"nodeType":"YulFunctionCall","src":"1678:33:67"},"nodeType":"YulExpressionStatement","src":"1678:33:67"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1608:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1616:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1624:5:67","type":""}],"src":"1578:139:67"},{"body":{"nodeType":"YulBlock","src":"1774:86:67","statements":[{"nodeType":"YulAssignment","src":"1784:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1806:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1793:12:67"},"nodeType":"YulFunctionCall","src":"1793:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1784:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1848:5:67"}],"functionName":{"name":"validator_revert_t_uint32","nodeType":"YulIdentifier","src":"1822:25:67"},"nodeType":"YulFunctionCall","src":"1822:32:67"},"nodeType":"YulExpressionStatement","src":"1822:32:67"}]},"name":"abi_decode_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1752:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1760:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1768:5:67","type":""}],"src":"1723:137:67"},{"body":{"nodeType":"YulBlock","src":"1917:86:67","statements":[{"nodeType":"YulAssignment","src":"1927:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1949:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1936:12:67"},"nodeType":"YulFunctionCall","src":"1936:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1927:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1991:5:67"}],"functionName":{"name":"validator_revert_t_uint64","nodeType":"YulIdentifier","src":"1965:25:67"},"nodeType":"YulFunctionCall","src":"1965:32:67"},"nodeType":"YulExpressionStatement","src":"1965:32:67"}]},"name":"abi_decode_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1895:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1903:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1911:5:67","type":""}],"src":"1866:137:67"},{"body":{"nodeType":"YulBlock","src":"2060:86:67","statements":[{"nodeType":"YulAssignment","src":"2070:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2092:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2079:12:67"},"nodeType":"YulFunctionCall","src":"2079:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"2070:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2134:5:67"}],"functionName":{"name":"validator_revert_t_uint96","nodeType":"YulIdentifier","src":"2108:25:67"},"nodeType":"YulFunctionCall","src":"2108:32:67"},"nodeType":"YulExpressionStatement","src":"2108:32:67"}]},"name":"abi_decode_t_uint96","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2038:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"2046:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"2054:5:67","type":""}],"src":"2009:137:67"},{"body":{"nodeType":"YulBlock","src":"2282:773:67","statements":[{"body":{"nodeType":"YulBlock","src":"2329:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"2331:77:67"},"nodeType":"YulFunctionCall","src":"2331:79:67"},"nodeType":"YulExpressionStatement","src":"2331:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2303:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"2312:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2299:3:67"},"nodeType":"YulFunctionCall","src":"2299:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"2324:3:67","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2295:3:67"},"nodeType":"YulFunctionCall","src":"2295:33:67"},"nodeType":"YulIf","src":"2292:120:67"},{"nodeType":"YulBlock","src":"2422:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2437:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"2451:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2441:6:67","type":""}]},{"nodeType":"YulAssignment","src":"2466:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2501:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2512:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2497:3:67"},"nodeType":"YulFunctionCall","src":"2497:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2521:7:67"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"2476:20:67"},"nodeType":"YulFunctionCall","src":"2476:53:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2466:6:67"}]}]},{"nodeType":"YulBlock","src":"2549:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2564:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"2578:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2568:6:67","type":""}]},{"nodeType":"YulAssignment","src":"2594:62:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2628:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2639:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2624:3:67"},"nodeType":"YulFunctionCall","src":"2624:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2648:7:67"}],"functionName":{"name":"abi_decode_t_uint64","nodeType":"YulIdentifier","src":"2604:19:67"},"nodeType":"YulFunctionCall","src":"2604:52:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2594:6:67"}]}]},{"nodeType":"YulBlock","src":"2676:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2691:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"2705:2:67","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2695:6:67","type":""}]},{"nodeType":"YulAssignment","src":"2721:62:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2755:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2766:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2751:3:67"},"nodeType":"YulFunctionCall","src":"2751:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2775:7:67"}],"functionName":{"name":"abi_decode_t_uint16","nodeType":"YulIdentifier","src":"2731:19:67"},"nodeType":"YulFunctionCall","src":"2731:52:67"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2721:6:67"}]}]},{"nodeType":"YulBlock","src":"2803:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2818:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"2832:2:67","type":"","value":"96"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2822:6:67","type":""}]},{"nodeType":"YulAssignment","src":"2848:62:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2882:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2893:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2878:3:67"},"nodeType":"YulFunctionCall","src":"2878:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2902:7:67"}],"functionName":{"name":"abi_decode_t_uint32","nodeType":"YulIdentifier","src":"2858:19:67"},"nodeType":"YulFunctionCall","src":"2858:52:67"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"2848:6:67"}]}]},{"nodeType":"YulBlock","src":"2930:118:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2945:17:67","value":{"kind":"number","nodeType":"YulLiteral","src":"2959:3:67","type":"","value":"128"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2949:6:67","type":""}]},{"nodeType":"YulAssignment","src":"2976:62:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3010:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"3021:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3006:3:67"},"nodeType":"YulFunctionCall","src":"3006:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3030:7:67"}],"functionName":{"name":"abi_decode_t_uint32","nodeType":"YulIdentifier","src":"2986:19:67"},"nodeType":"YulFunctionCall","src":"2986:52:67"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"2976:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes32t_uint64t_uint16t_uint32t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2220:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2231:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2243:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2251:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2259:6:67","type":""},{"name":"value3","nodeType":"YulTypedName","src":"2267:6:67","type":""},{"name":"value4","nodeType":"YulTypedName","src":"2275:6:67","type":""}],"src":"2152:903:67"},{"body":{"nodeType":"YulBlock","src":"3144:391:67","statements":[{"body":{"nodeType":"YulBlock","src":"3190:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"3192:77:67"},"nodeType":"YulFunctionCall","src":"3192:79:67"},"nodeType":"YulExpressionStatement","src":"3192:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3165:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"3174:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3161:3:67"},"nodeType":"YulFunctionCall","src":"3161:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"3186:2:67","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3157:3:67"},"nodeType":"YulFunctionCall","src":"3157:32:67"},"nodeType":"YulIf","src":"3154:119:67"},{"nodeType":"YulBlock","src":"3283:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"3298:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"3312:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3302:6:67","type":""}]},{"nodeType":"YulAssignment","src":"3327:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3362:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"3373:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3358:3:67"},"nodeType":"YulFunctionCall","src":"3358:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3382:7:67"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"3337:20:67"},"nodeType":"YulFunctionCall","src":"3337:53:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3327:6:67"}]}]},{"nodeType":"YulBlock","src":"3410:118:67","statements":[{"nodeType":"YulVariableDeclaration","src":"3425:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"3439:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3429:6:67","type":""}]},{"nodeType":"YulAssignment","src":"3455:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3490:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"3501:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3486:3:67"},"nodeType":"YulFunctionCall","src":"3486:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3510:7:67"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"3465:20:67"},"nodeType":"YulFunctionCall","src":"3465:53:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3455:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint256t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3106:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3117:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3129:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3137:6:67","type":""}],"src":"3061:474:67"},{"body":{"nodeType":"YulBlock","src":"3666:704:67","statements":[{"body":{"nodeType":"YulBlock","src":"3712:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"3714:77:67"},"nodeType":"YulFunctionCall","src":"3714:79:67"},"nodeType":"YulExpressionStatement","src":"3714:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3687:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"3696:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3683:3:67"},"nodeType":"YulFunctionCall","src":"3683:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"3708:2:67","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3679:3:67"},"nodeType":"YulFunctionCall","src":"3679:32:67"},"nodeType":"YulIf","src":"3676:119:67"},{"nodeType":"YulBlock","src":"3805:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"3820:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"3834:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3824:6:67","type":""}]},{"nodeType":"YulAssignment","src":"3849:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3884:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"3895:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3880:3:67"},"nodeType":"YulFunctionCall","src":"3880:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3904:7:67"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"3859:20:67"},"nodeType":"YulFunctionCall","src":"3859:53:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3849:6:67"}]}]},{"nodeType":"YulBlock","src":"3932:118:67","statements":[{"nodeType":"YulVariableDeclaration","src":"3947:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"3961:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3951:6:67","type":""}]},{"nodeType":"YulAssignment","src":"3977:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4012:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"4023:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4008:3:67"},"nodeType":"YulFunctionCall","src":"4008:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4032:7:67"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"3987:20:67"},"nodeType":"YulFunctionCall","src":"3987:53:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3977:6:67"}]}]},{"nodeType":"YulBlock","src":"4060:303:67","statements":[{"nodeType":"YulVariableDeclaration","src":"4075:46:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4106:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"4117:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4102:3:67"},"nodeType":"YulFunctionCall","src":"4102:18:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4089:12:67"},"nodeType":"YulFunctionCall","src":"4089:32:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4079:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"4168:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"4170:77:67"},"nodeType":"YulFunctionCall","src":"4170:79:67"},"nodeType":"YulExpressionStatement","src":"4170:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4140:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"4148:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4137:2:67"},"nodeType":"YulFunctionCall","src":"4137:30:67"},"nodeType":"YulIf","src":"4134:117:67"},{"nodeType":"YulAssignment","src":"4265:88:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4325:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"4336:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4321:3:67"},"nodeType":"YulFunctionCall","src":"4321:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4345:7:67"}],"functionName":{"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"4275:45:67"},"nodeType":"YulFunctionCall","src":"4275:78:67"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"4265:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint256t_addresst_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3620:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3631:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3643:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3651:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3659:6:67","type":""}],"src":"3541:829:67"},{"body":{"nodeType":"YulBlock","src":"4441:262:67","statements":[{"body":{"nodeType":"YulBlock","src":"4487:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"4489:77:67"},"nodeType":"YulFunctionCall","src":"4489:79:67"},"nodeType":"YulExpressionStatement","src":"4489:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4462:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"4471:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4458:3:67"},"nodeType":"YulFunctionCall","src":"4458:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"4483:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4454:3:67"},"nodeType":"YulFunctionCall","src":"4454:32:67"},"nodeType":"YulIf","src":"4451:119:67"},{"nodeType":"YulBlock","src":"4580:116:67","statements":[{"nodeType":"YulVariableDeclaration","src":"4595:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"4609:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4599:6:67","type":""}]},{"nodeType":"YulAssignment","src":"4624:62:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4658:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"4669:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4654:3:67"},"nodeType":"YulFunctionCall","src":"4654:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4678:7:67"}],"functionName":{"name":"abi_decode_t_uint64","nodeType":"YulIdentifier","src":"4634:19:67"},"nodeType":"YulFunctionCall","src":"4634:52:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4624:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4411:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4422:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4434:6:67","type":""}],"src":"4376:327:67"},{"body":{"nodeType":"YulBlock","src":"4791:390:67","statements":[{"body":{"nodeType":"YulBlock","src":"4837:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"4839:77:67"},"nodeType":"YulFunctionCall","src":"4839:79:67"},"nodeType":"YulExpressionStatement","src":"4839:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4812:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"4821:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4808:3:67"},"nodeType":"YulFunctionCall","src":"4808:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"4833:2:67","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4804:3:67"},"nodeType":"YulFunctionCall","src":"4804:32:67"},"nodeType":"YulIf","src":"4801:119:67"},{"nodeType":"YulBlock","src":"4930:116:67","statements":[{"nodeType":"YulVariableDeclaration","src":"4945:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"4959:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4949:6:67","type":""}]},{"nodeType":"YulAssignment","src":"4974:62:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5008:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"5019:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5004:3:67"},"nodeType":"YulFunctionCall","src":"5004:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5028:7:67"}],"functionName":{"name":"abi_decode_t_uint64","nodeType":"YulIdentifier","src":"4984:19:67"},"nodeType":"YulFunctionCall","src":"4984:52:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4974:6:67"}]}]},{"nodeType":"YulBlock","src":"5056:118:67","statements":[{"nodeType":"YulVariableDeclaration","src":"5071:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"5085:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5075:6:67","type":""}]},{"nodeType":"YulAssignment","src":"5101:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5136:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"5147:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5132:3:67"},"nodeType":"YulFunctionCall","src":"5132:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5156:7:67"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"5111:20:67"},"nodeType":"YulFunctionCall","src":"5111:53:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5101:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint64t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4753:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4764:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4776:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4784:6:67","type":""}],"src":"4709:472:67"},{"body":{"nodeType":"YulBlock","src":"5268:389:67","statements":[{"body":{"nodeType":"YulBlock","src":"5314:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"5316:77:67"},"nodeType":"YulFunctionCall","src":"5316:79:67"},"nodeType":"YulExpressionStatement","src":"5316:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5289:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"5298:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5285:3:67"},"nodeType":"YulFunctionCall","src":"5285:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"5310:2:67","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5281:3:67"},"nodeType":"YulFunctionCall","src":"5281:32:67"},"nodeType":"YulIf","src":"5278:119:67"},{"nodeType":"YulBlock","src":"5407:116:67","statements":[{"nodeType":"YulVariableDeclaration","src":"5422:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"5436:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5426:6:67","type":""}]},{"nodeType":"YulAssignment","src":"5451:62:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5485:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"5496:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5481:3:67"},"nodeType":"YulFunctionCall","src":"5481:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5505:7:67"}],"functionName":{"name":"abi_decode_t_uint64","nodeType":"YulIdentifier","src":"5461:19:67"},"nodeType":"YulFunctionCall","src":"5461:52:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5451:6:67"}]}]},{"nodeType":"YulBlock","src":"5533:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"5548:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"5562:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5552:6:67","type":""}]},{"nodeType":"YulAssignment","src":"5578:62:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5612:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"5623:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5608:3:67"},"nodeType":"YulFunctionCall","src":"5608:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5632:7:67"}],"functionName":{"name":"abi_decode_t_uint96","nodeType":"YulIdentifier","src":"5588:19:67"},"nodeType":"YulFunctionCall","src":"5588:52:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5578:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint64t_uint96","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5230:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5241:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5253:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5261:6:67","type":""}],"src":"5187:470:67"},{"body":{"nodeType":"YulBlock","src":"5743:99:67","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5787:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"5795:3:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address","nodeType":"YulIdentifier","src":"5753:33:67"},"nodeType":"YulFunctionCall","src":"5753:46:67"},"nodeType":"YulExpressionStatement","src":"5753:46:67"},{"nodeType":"YulAssignment","src":"5808:28:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5826:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5831:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5822:3:67"},"nodeType":"YulFunctionCall","src":"5822:14:67"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"5808:10:67"}]}]},"name":"abi_encodeUpdatedPos_t_address_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"5716:6:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5724:3:67","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"5732:10:67","type":""}],"src":"5663:179:67"},{"body":{"nodeType":"YulBlock","src":"5928:99:67","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5972:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"5980:3:67"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulIdentifier","src":"5938:33:67"},"nodeType":"YulFunctionCall","src":"5938:46:67"},"nodeType":"YulExpressionStatement","src":"5938:46:67"},{"nodeType":"YulAssignment","src":"5993:28:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6011:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"6016:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6007:3:67"},"nodeType":"YulFunctionCall","src":"6007:14:67"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"5993:10:67"}]}]},"name":"abi_encodeUpdatedPos_t_bytes32_to_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"5901:6:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5909:3:67","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"5917:10:67","type":""}],"src":"5848:179:67"},{"body":{"nodeType":"YulBlock","src":"6113:99:67","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6157:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"6165:3:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"6123:33:67"},"nodeType":"YulFunctionCall","src":"6123:46:67"},"nodeType":"YulExpressionStatement","src":"6123:46:67"},{"nodeType":"YulAssignment","src":"6178:28:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6196:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"6201:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6192:3:67"},"nodeType":"YulFunctionCall","src":"6192:14:67"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"6178:10:67"}]}]},"name":"abi_encodeUpdatedPos_t_uint256_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"6086:6:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6094:3:67","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"6102:10:67","type":""}],"src":"6033:179:67"},{"body":{"nodeType":"YulBlock","src":"6273:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6290:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6313:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"6295:17:67"},"nodeType":"YulFunctionCall","src":"6295:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6283:6:67"},"nodeType":"YulFunctionCall","src":"6283:37:67"},"nodeType":"YulExpressionStatement","src":"6283:37:67"}]},"name":"abi_encode_t_address_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6261:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6268:3:67","type":""}],"src":"6218:108:67"},{"body":{"nodeType":"YulBlock","src":"6397:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6414:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6437:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"6419:17:67"},"nodeType":"YulFunctionCall","src":"6419:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6407:6:67"},"nodeType":"YulFunctionCall","src":"6407:37:67"},"nodeType":"YulExpressionStatement","src":"6407:37:67"}]},"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6385:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6392:3:67","type":""}],"src":"6332:118:67"},{"body":{"nodeType":"YulBlock","src":"6610:608:67","statements":[{"nodeType":"YulVariableDeclaration","src":"6620:68:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6682:5:67"}],"functionName":{"name":"array_length_t_array$_t_address_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"6634:47:67"},"nodeType":"YulFunctionCall","src":"6634:54:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"6624:6:67","type":""}]},{"nodeType":"YulAssignment","src":"6697:93:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6778:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"6783:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"6704:73:67"},"nodeType":"YulFunctionCall","src":"6704:86:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6697:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"6799:71:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6864:5:67"}],"functionName":{"name":"array_dataslot_t_array$_t_address_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"6814:49:67"},"nodeType":"YulFunctionCall","src":"6814:56:67"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"6803:7:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6879:21:67","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"6893:7:67"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"6883:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"6969:224:67","statements":[{"nodeType":"YulVariableDeclaration","src":"6983:34:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7010:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7004:5:67"},"nodeType":"YulFunctionCall","src":"7004:13:67"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"6987:13:67","type":""}]},{"nodeType":"YulAssignment","src":"7030:70:67","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"7081:13:67"},{"name":"pos","nodeType":"YulIdentifier","src":"7096:3:67"}],"functionName":{"name":"abi_encodeUpdatedPos_t_address_to_t_address","nodeType":"YulIdentifier","src":"7037:43:67"},"nodeType":"YulFunctionCall","src":"7037:63:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7030:3:67"}]},{"nodeType":"YulAssignment","src":"7113:70:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7176:6:67"}],"functionName":{"name":"array_nextElement_t_array$_t_address_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"7123:52:67"},"nodeType":"YulFunctionCall","src":"7123:60:67"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7113:6:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6931:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"6934:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6928:2:67"},"nodeType":"YulFunctionCall","src":"6928:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"6942:18:67","statements":[{"nodeType":"YulAssignment","src":"6944:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6953:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"6956:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6949:3:67"},"nodeType":"YulFunctionCall","src":"6949:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"6944:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"6913:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"6915:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"6924:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"6919:1:67","type":""}]}]},"src":"6909:284:67"},{"nodeType":"YulAssignment","src":"7202:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"7209:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7202:3:67"}]}]},"name":"abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6589:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6596:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"6605:3:67","type":""}],"src":"6486:732:67"},{"body":{"nodeType":"YulBlock","src":"7378:608:67","statements":[{"nodeType":"YulVariableDeclaration","src":"7388:68:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7450:5:67"}],"functionName":{"name":"array_length_t_array$_t_bytes32_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"7402:47:67"},"nodeType":"YulFunctionCall","src":"7402:54:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"7392:6:67","type":""}]},{"nodeType":"YulAssignment","src":"7465:93:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7546:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"7551:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"7472:73:67"},"nodeType":"YulFunctionCall","src":"7472:86:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7465:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"7567:71:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7632:5:67"}],"functionName":{"name":"array_dataslot_t_array$_t_bytes32_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"7582:49:67"},"nodeType":"YulFunctionCall","src":"7582:56:67"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"7571:7:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7647:21:67","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"7661:7:67"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"7651:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"7737:224:67","statements":[{"nodeType":"YulVariableDeclaration","src":"7751:34:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7778:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7772:5:67"},"nodeType":"YulFunctionCall","src":"7772:13:67"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"7755:13:67","type":""}]},{"nodeType":"YulAssignment","src":"7798:70:67","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"7849:13:67"},{"name":"pos","nodeType":"YulIdentifier","src":"7864:3:67"}],"functionName":{"name":"abi_encodeUpdatedPos_t_bytes32_to_t_bytes32","nodeType":"YulIdentifier","src":"7805:43:67"},"nodeType":"YulFunctionCall","src":"7805:63:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7798:3:67"}]},{"nodeType":"YulAssignment","src":"7881:70:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7944:6:67"}],"functionName":{"name":"array_nextElement_t_array$_t_bytes32_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"7891:52:67"},"nodeType":"YulFunctionCall","src":"7891:60:67"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7881:6:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7699:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"7702:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7696:2:67"},"nodeType":"YulFunctionCall","src":"7696:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"7710:18:67","statements":[{"nodeType":"YulAssignment","src":"7712:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7721:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"7724:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7717:3:67"},"nodeType":"YulFunctionCall","src":"7717:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"7712:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"7681:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"7683:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"7692:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"7687:1:67","type":""}]}]},"src":"7677:284:67"},{"nodeType":"YulAssignment","src":"7970:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"7977:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7970:3:67"}]}]},"name":"abi_encode_t_array$_t_bytes32_$dyn_memory_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7357:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"7364:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7373:3:67","type":""}],"src":"7254:732:67"},{"body":{"nodeType":"YulBlock","src":"8146:608:67","statements":[{"nodeType":"YulVariableDeclaration","src":"8156:68:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8218:5:67"}],"functionName":{"name":"array_length_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"8170:47:67"},"nodeType":"YulFunctionCall","src":"8170:54:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"8160:6:67","type":""}]},{"nodeType":"YulAssignment","src":"8233:93:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8314:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"8319:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"8240:73:67"},"nodeType":"YulFunctionCall","src":"8240:86:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"8233:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"8335:71:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8400:5:67"}],"functionName":{"name":"array_dataslot_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"8350:49:67"},"nodeType":"YulFunctionCall","src":"8350:56:67"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"8339:7:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8415:21:67","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"8429:7:67"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"8419:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"8505:224:67","statements":[{"nodeType":"YulVariableDeclaration","src":"8519:34:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"8546:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8540:5:67"},"nodeType":"YulFunctionCall","src":"8540:13:67"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"8523:13:67","type":""}]},{"nodeType":"YulAssignment","src":"8566:70:67","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"8617:13:67"},{"name":"pos","nodeType":"YulIdentifier","src":"8632:3:67"}],"functionName":{"name":"abi_encodeUpdatedPos_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"8573:43:67"},"nodeType":"YulFunctionCall","src":"8573:63:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"8566:3:67"}]},{"nodeType":"YulAssignment","src":"8649:70:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"8712:6:67"}],"functionName":{"name":"array_nextElement_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"8659:52:67"},"nodeType":"YulFunctionCall","src":"8659:60:67"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"8649:6:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"8467:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"8470:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"8464:2:67"},"nodeType":"YulFunctionCall","src":"8464:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"8478:18:67","statements":[{"nodeType":"YulAssignment","src":"8480:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"8489:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"8492:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8485:3:67"},"nodeType":"YulFunctionCall","src":"8485:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"8480:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"8449:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"8451:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"8460:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"8455:1:67","type":""}]}]},"src":"8445:284:67"},{"nodeType":"YulAssignment","src":"8738:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"8745:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"8738:3:67"}]}]},"name":"abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8125:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"8132:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8141:3:67","type":""}],"src":"8022:732:67"},{"body":{"nodeType":"YulBlock","src":"8819:50:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8836:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8856:5:67"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"8841:14:67"},"nodeType":"YulFunctionCall","src":"8841:21:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8829:6:67"},"nodeType":"YulFunctionCall","src":"8829:34:67"},"nodeType":"YulExpressionStatement","src":"8829:34:67"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8807:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"8814:3:67","type":""}],"src":"8760:109:67"},{"body":{"nodeType":"YulBlock","src":"8930:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8947:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8970:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"8952:17:67"},"nodeType":"YulFunctionCall","src":"8952:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8940:6:67"},"nodeType":"YulFunctionCall","src":"8940:37:67"},"nodeType":"YulExpressionStatement","src":"8940:37:67"}]},"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8918:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"8925:3:67","type":""}],"src":"8875:108:67"},{"body":{"nodeType":"YulBlock","src":"9097:265:67","statements":[{"nodeType":"YulVariableDeclaration","src":"9107:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9153:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"9121:31:67"},"nodeType":"YulFunctionCall","src":"9121:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"9111:6:67","type":""}]},{"nodeType":"YulAssignment","src":"9168:95:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9251:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"9256:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"9175:75:67"},"nodeType":"YulFunctionCall","src":"9175:88:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9168:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9298:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"9305:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9294:3:67"},"nodeType":"YulFunctionCall","src":"9294:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"9312:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"9317:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"9272:21:67"},"nodeType":"YulFunctionCall","src":"9272:52:67"},"nodeType":"YulExpressionStatement","src":"9272:52:67"},{"nodeType":"YulAssignment","src":"9333:23:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9344:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"9349:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9340:3:67"},"nodeType":"YulFunctionCall","src":"9340:16:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"9333:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9078:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"9085:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"9093:3:67","type":""}],"src":"8989:373:67"},{"body":{"nodeType":"YulBlock","src":"9431:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9448:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9470:5:67"}],"functionName":{"name":"cleanup_t_int256","nodeType":"YulIdentifier","src":"9453:16:67"},"nodeType":"YulFunctionCall","src":"9453:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9441:6:67"},"nodeType":"YulFunctionCall","src":"9441:36:67"},"nodeType":"YulExpressionStatement","src":"9441:36:67"}]},"name":"abi_encode_t_int256_to_t_int256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9419:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"9426:3:67","type":""}],"src":"9368:115:67"},{"body":{"nodeType":"YulBlock","src":"9635:220:67","statements":[{"nodeType":"YulAssignment","src":"9645:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9711:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"9716:2:67","type":"","value":"15"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"9652:58:67"},"nodeType":"YulFunctionCall","src":"9652:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9645:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9817:3:67"}],"functionName":{"name":"store_literal_in_memory_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9","nodeType":"YulIdentifier","src":"9728:88:67"},"nodeType":"YulFunctionCall","src":"9728:93:67"},"nodeType":"YulExpressionStatement","src":"9728:93:67"},{"nodeType":"YulAssignment","src":"9830:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9841:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"9846:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9837:3:67"},"nodeType":"YulFunctionCall","src":"9837:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"9830:3:67"}]}]},"name":"abi_encode_t_stringliteral_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"9623:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"9631:3:67","type":""}],"src":"9489:366:67"},{"body":{"nodeType":"YulBlock","src":"10007:220:67","statements":[{"nodeType":"YulAssignment","src":"10017:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10083:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"10088:2:67","type":"","value":"19"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"10024:58:67"},"nodeType":"YulFunctionCall","src":"10024:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"10017:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10189:3:67"}],"functionName":{"name":"store_literal_in_memory_3ef79182ce6d98492afe1a096e15a790f2acf5883840b8ae9a09f74be7e958f0","nodeType":"YulIdentifier","src":"10100:88:67"},"nodeType":"YulFunctionCall","src":"10100:93:67"},"nodeType":"YulExpressionStatement","src":"10100:93:67"},{"nodeType":"YulAssignment","src":"10202:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10213:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"10218:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10209:3:67"},"nodeType":"YulFunctionCall","src":"10209:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"10202:3:67"}]}]},"name":"abi_encode_t_stringliteral_3ef79182ce6d98492afe1a096e15a790f2acf5883840b8ae9a09f74be7e958f0_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"9995:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10003:3:67","type":""}],"src":"9861:366:67"},{"body":{"nodeType":"YulBlock","src":"10296:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10313:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10335:5:67"}],"functionName":{"name":"cleanup_t_uint16","nodeType":"YulIdentifier","src":"10318:16:67"},"nodeType":"YulFunctionCall","src":"10318:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10306:6:67"},"nodeType":"YulFunctionCall","src":"10306:36:67"},"nodeType":"YulExpressionStatement","src":"10306:36:67"}]},"name":"abi_encode_t_uint16_to_t_uint16_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10284:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10291:3:67","type":""}],"src":"10233:115:67"},{"body":{"nodeType":"YulBlock","src":"10417:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10434:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10456:5:67"}],"functionName":{"name":"cleanup_t_uint24","nodeType":"YulIdentifier","src":"10439:16:67"},"nodeType":"YulFunctionCall","src":"10439:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10427:6:67"},"nodeType":"YulFunctionCall","src":"10427:36:67"},"nodeType":"YulExpressionStatement","src":"10427:36:67"}]},"name":"abi_encode_t_uint24_to_t_uint24_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10405:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10412:3:67","type":""}],"src":"10354:115:67"},{"body":{"nodeType":"YulBlock","src":"10530:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10547:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10570:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"10552:17:67"},"nodeType":"YulFunctionCall","src":"10552:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10540:6:67"},"nodeType":"YulFunctionCall","src":"10540:37:67"},"nodeType":"YulExpressionStatement","src":"10540:37:67"}]},"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10518:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10525:3:67","type":""}],"src":"10475:108:67"},{"body":{"nodeType":"YulBlock","src":"10654:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10671:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10694:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"10676:17:67"},"nodeType":"YulFunctionCall","src":"10676:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10664:6:67"},"nodeType":"YulFunctionCall","src":"10664:37:67"},"nodeType":"YulExpressionStatement","src":"10664:37:67"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10642:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10649:3:67","type":""}],"src":"10589:118:67"},{"body":{"nodeType":"YulBlock","src":"10776:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10793:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10815:5:67"}],"functionName":{"name":"cleanup_t_uint32","nodeType":"YulIdentifier","src":"10798:16:67"},"nodeType":"YulFunctionCall","src":"10798:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10786:6:67"},"nodeType":"YulFunctionCall","src":"10786:36:67"},"nodeType":"YulExpressionStatement","src":"10786:36:67"}]},"name":"abi_encode_t_uint32_to_t_uint32_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10764:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10771:3:67","type":""}],"src":"10713:115:67"},{"body":{"nodeType":"YulBlock","src":"10897:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10914:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10936:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"10919:16:67"},"nodeType":"YulFunctionCall","src":"10919:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10907:6:67"},"nodeType":"YulFunctionCall","src":"10907:36:67"},"nodeType":"YulExpressionStatement","src":"10907:36:67"}]},"name":"abi_encode_t_uint64_to_t_uint64_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10885:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10892:3:67","type":""}],"src":"10834:115:67"},{"body":{"nodeType":"YulBlock","src":"11019:65:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11036:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11071:5:67"}],"functionName":{"name":"convert_t_uint96_to_t_uint256","nodeType":"YulIdentifier","src":"11041:29:67"},"nodeType":"YulFunctionCall","src":"11041:36:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11029:6:67"},"nodeType":"YulFunctionCall","src":"11029:49:67"},"nodeType":"YulExpressionStatement","src":"11029:49:67"}]},"name":"abi_encode_t_uint96_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11007:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11014:3:67","type":""}],"src":"10955:129:67"},{"body":{"nodeType":"YulBlock","src":"11153:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11170:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11192:5:67"}],"functionName":{"name":"cleanup_t_uint96","nodeType":"YulIdentifier","src":"11175:16:67"},"nodeType":"YulFunctionCall","src":"11175:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11163:6:67"},"nodeType":"YulFunctionCall","src":"11163:36:67"},"nodeType":"YulExpressionStatement","src":"11163:36:67"}]},"name":"abi_encode_t_uint96_to_t_uint96_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11141:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11148:3:67","type":""}],"src":"11090:115:67"},{"body":{"nodeType":"YulBlock","src":"11345:137:67","statements":[{"nodeType":"YulAssignment","src":"11356:100:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11443:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"11452:3:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"11363:79:67"},"nodeType":"YulFunctionCall","src":"11363:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"11356:3:67"}]},{"nodeType":"YulAssignment","src":"11466:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"11473:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"11466:3:67"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"11324:3:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11330:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"11341:3:67","type":""}],"src":"11211:271:67"},{"body":{"nodeType":"YulBlock","src":"11586:124:67","statements":[{"nodeType":"YulAssignment","src":"11596:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11608:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"11619:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11604:3:67"},"nodeType":"YulFunctionCall","src":"11604:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11596:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11676:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11689:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"11700:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11685:3:67"},"nodeType":"YulFunctionCall","src":"11685:17:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"11632:43:67"},"nodeType":"YulFunctionCall","src":"11632:71:67"},"nodeType":"YulExpressionStatement","src":"11632:71:67"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11558:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11570:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11581:4:67","type":""}],"src":"11488:222:67"},{"body":{"nodeType":"YulBlock","src":"11841:205:67","statements":[{"nodeType":"YulAssignment","src":"11851:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11863:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"11874:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11859:3:67"},"nodeType":"YulFunctionCall","src":"11859:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11851:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11931:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11944:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"11955:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11940:3:67"},"nodeType":"YulFunctionCall","src":"11940:17:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"11887:43:67"},"nodeType":"YulFunctionCall","src":"11887:71:67"},"nodeType":"YulExpressionStatement","src":"11887:71:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"12011:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12024:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"12035:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12020:3:67"},"nodeType":"YulFunctionCall","src":"12020:18:67"}],"functionName":{"name":"abi_encode_t_uint96_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"11968:42:67"},"nodeType":"YulFunctionCall","src":"11968:71:67"},"nodeType":"YulExpressionStatement","src":"11968:71:67"}]},"name":"abi_encode_tuple_t_address_t_uint96__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11805:9:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11817:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11825:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11836:4:67","type":""}],"src":"11716:330:67"},{"body":{"nodeType":"YulBlock","src":"12144:118:67","statements":[{"nodeType":"YulAssignment","src":"12154:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12166:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"12177:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12162:3:67"},"nodeType":"YulFunctionCall","src":"12162:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12154:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12228:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12241:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"12252:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12237:3:67"},"nodeType":"YulFunctionCall","src":"12237:17:67"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulIdentifier","src":"12190:37:67"},"nodeType":"YulFunctionCall","src":"12190:65:67"},"nodeType":"YulExpressionStatement","src":"12190:65:67"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12116:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12128:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12139:4:67","type":""}],"src":"12052:210:67"},{"body":{"nodeType":"YulBlock","src":"12364:122:67","statements":[{"nodeType":"YulAssignment","src":"12374:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12386:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"12397:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12382:3:67"},"nodeType":"YulFunctionCall","src":"12382:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12374:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12452:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12465:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"12476:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12461:3:67"},"nodeType":"YulFunctionCall","src":"12461:17:67"}],"functionName":{"name":"abi_encode_t_int256_to_t_int256_fromStack","nodeType":"YulIdentifier","src":"12410:41:67"},"nodeType":"YulFunctionCall","src":"12410:69:67"},"nodeType":"YulExpressionStatement","src":"12410:69:67"}]},"name":"abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12336:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12348:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12359:4:67","type":""}],"src":"12268:218:67"},{"body":{"nodeType":"YulBlock","src":"12663:248:67","statements":[{"nodeType":"YulAssignment","src":"12673:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12685:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"12696:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12681:3:67"},"nodeType":"YulFunctionCall","src":"12681:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12673:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12720:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"12731:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12716:3:67"},"nodeType":"YulFunctionCall","src":"12716:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"12739:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"12745:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12735:3:67"},"nodeType":"YulFunctionCall","src":"12735:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12709:6:67"},"nodeType":"YulFunctionCall","src":"12709:47:67"},"nodeType":"YulExpressionStatement","src":"12709:47:67"},{"nodeType":"YulAssignment","src":"12765:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"12899:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"12773:124:67"},"nodeType":"YulFunctionCall","src":"12773:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12765:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12643:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12658:4:67","type":""}],"src":"12492:419:67"},{"body":{"nodeType":"YulBlock","src":"13088:248:67","statements":[{"nodeType":"YulAssignment","src":"13098:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13110:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"13121:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13106:3:67"},"nodeType":"YulFunctionCall","src":"13106:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13098:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13145:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"13156:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13141:3:67"},"nodeType":"YulFunctionCall","src":"13141:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"13164:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"13170:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13160:3:67"},"nodeType":"YulFunctionCall","src":"13160:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13134:6:67"},"nodeType":"YulFunctionCall","src":"13134:47:67"},"nodeType":"YulExpressionStatement","src":"13134:47:67"},{"nodeType":"YulAssignment","src":"13190:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"13324:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_3ef79182ce6d98492afe1a096e15a790f2acf5883840b8ae9a09f74be7e958f0_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"13198:124:67"},"nodeType":"YulFunctionCall","src":"13198:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13190:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_3ef79182ce6d98492afe1a096e15a790f2acf5883840b8ae9a09f74be7e958f0__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13068:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13083:4:67","type":""}],"src":"12917:419:67"},{"body":{"nodeType":"YulBlock","src":"13438:122:67","statements":[{"nodeType":"YulAssignment","src":"13448:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13460:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"13471:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13456:3:67"},"nodeType":"YulFunctionCall","src":"13456:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13448:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13526:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13539:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"13550:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13535:3:67"},"nodeType":"YulFunctionCall","src":"13535:17:67"}],"functionName":{"name":"abi_encode_t_uint16_to_t_uint16_fromStack","nodeType":"YulIdentifier","src":"13484:41:67"},"nodeType":"YulFunctionCall","src":"13484:69:67"},"nodeType":"YulExpressionStatement","src":"13484:69:67"}]},"name":"abi_encode_tuple_t_uint16__to_t_uint16__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13410:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13422:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13433:4:67","type":""}],"src":"13342:218:67"},{"body":{"nodeType":"YulBlock","src":"13766:385:67","statements":[{"nodeType":"YulAssignment","src":"13776:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13788:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"13799:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13784:3:67"},"nodeType":"YulFunctionCall","src":"13784:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13776:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13854:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13867:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"13878:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13863:3:67"},"nodeType":"YulFunctionCall","src":"13863:17:67"}],"functionName":{"name":"abi_encode_t_uint16_to_t_uint16_fromStack","nodeType":"YulIdentifier","src":"13812:41:67"},"nodeType":"YulFunctionCall","src":"13812:69:67"},"nodeType":"YulExpressionStatement","src":"13812:69:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"13933:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13946:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"13957:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13942:3:67"},"nodeType":"YulFunctionCall","src":"13942:18:67"}],"functionName":{"name":"abi_encode_t_uint32_to_t_uint32_fromStack","nodeType":"YulIdentifier","src":"13891:41:67"},"nodeType":"YulFunctionCall","src":"13891:70:67"},"nodeType":"YulExpressionStatement","src":"13891:70:67"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13982:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"13993:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13978:3:67"},"nodeType":"YulFunctionCall","src":"13978:18:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"14002:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"14008:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13998:3:67"},"nodeType":"YulFunctionCall","src":"13998:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13971:6:67"},"nodeType":"YulFunctionCall","src":"13971:48:67"},"nodeType":"YulExpressionStatement","src":"13971:48:67"},{"nodeType":"YulAssignment","src":"14028:116:67","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"14130:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"14139:4:67"}],"functionName":{"name":"abi_encode_t_array$_t_bytes32_$dyn_memory_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"14036:93:67"},"nodeType":"YulFunctionCall","src":"14036:108:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14028:4:67"}]}]},"name":"abi_encode_tuple_t_uint16_t_uint32_t_array$_t_bytes32_$dyn_memory_ptr__to_t_uint16_t_uint32_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13722:9:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"13734:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13742:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13750:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13761:4:67","type":""}],"src":"13566:585:67"},{"body":{"nodeType":"YulBlock","src":"14331:363:67","statements":[{"nodeType":"YulAssignment","src":"14341:27:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14353:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"14364:3:67","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14349:3:67"},"nodeType":"YulFunctionCall","src":"14349:19:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14341:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14420:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14433:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"14444:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14429:3:67"},"nodeType":"YulFunctionCall","src":"14429:17:67"}],"functionName":{"name":"abi_encode_t_uint16_to_t_uint16_fromStack","nodeType":"YulIdentifier","src":"14378:41:67"},"nodeType":"YulFunctionCall","src":"14378:69:67"},"nodeType":"YulExpressionStatement","src":"14378:69:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"14499:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14512:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"14523:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14508:3:67"},"nodeType":"YulFunctionCall","src":"14508:18:67"}],"functionName":{"name":"abi_encode_t_uint32_to_t_uint32_fromStack","nodeType":"YulIdentifier","src":"14457:41:67"},"nodeType":"YulFunctionCall","src":"14457:70:67"},"nodeType":"YulExpressionStatement","src":"14457:70:67"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"14579:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14592:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"14603:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14588:3:67"},"nodeType":"YulFunctionCall","src":"14588:18:67"}],"functionName":{"name":"abi_encode_t_uint32_to_t_uint32_fromStack","nodeType":"YulIdentifier","src":"14537:41:67"},"nodeType":"YulFunctionCall","src":"14537:70:67"},"nodeType":"YulExpressionStatement","src":"14537:70:67"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"14659:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14672:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"14683:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14668:3:67"},"nodeType":"YulFunctionCall","src":"14668:18:67"}],"functionName":{"name":"abi_encode_t_uint32_to_t_uint32_fromStack","nodeType":"YulIdentifier","src":"14617:41:67"},"nodeType":"YulFunctionCall","src":"14617:70:67"},"nodeType":"YulExpressionStatement","src":"14617:70:67"}]},"name":"abi_encode_tuple_t_uint16_t_uint32_t_uint32_t_uint32__to_t_uint16_t_uint32_t_uint32_t_uint32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14279:9:67","type":""},{"name":"value3","nodeType":"YulTypedName","src":"14291:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"14299:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14307:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14315:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14326:4:67","type":""}],"src":"14157:537:67"},{"body":{"nodeType":"YulBlock","src":"14798:124:67","statements":[{"nodeType":"YulAssignment","src":"14808:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14820:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"14831:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14816:3:67"},"nodeType":"YulFunctionCall","src":"14816:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14808:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14888:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14901:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"14912:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14897:3:67"},"nodeType":"YulFunctionCall","src":"14897:17:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"14844:43:67"},"nodeType":"YulFunctionCall","src":"14844:71:67"},"nodeType":"YulExpressionStatement","src":"14844:71:67"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14770:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14782:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14793:4:67","type":""}],"src":"14700:222:67"},{"body":{"nodeType":"YulBlock","src":"15104:307:67","statements":[{"nodeType":"YulAssignment","src":"15114:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15126:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"15137:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15122:3:67"},"nodeType":"YulFunctionCall","src":"15122:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15114:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15194:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15207:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"15218:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15203:3:67"},"nodeType":"YulFunctionCall","src":"15203:17:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"15150:43:67"},"nodeType":"YulFunctionCall","src":"15150:71:67"},"nodeType":"YulExpressionStatement","src":"15150:71:67"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15242:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"15253:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15238:3:67"},"nodeType":"YulFunctionCall","src":"15238:18:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"15262:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"15268:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15258:3:67"},"nodeType":"YulFunctionCall","src":"15258:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15231:6:67"},"nodeType":"YulFunctionCall","src":"15231:48:67"},"nodeType":"YulExpressionStatement","src":"15231:48:67"},{"nodeType":"YulAssignment","src":"15288:116:67","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"15390:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"15399:4:67"}],"functionName":{"name":"abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"15296:93:67"},"nodeType":"YulFunctionCall","src":"15296:108:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15288:4:67"}]}]},"name":"abi_encode_tuple_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__to_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15068:9:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"15080:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15088:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15099:4:67","type":""}],"src":"14928:483:67"},{"body":{"nodeType":"YulBlock","src":"15543:206:67","statements":[{"nodeType":"YulAssignment","src":"15553:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15565:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"15576:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15561:3:67"},"nodeType":"YulFunctionCall","src":"15561:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15553:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15633:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15646:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"15657:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15642:3:67"},"nodeType":"YulFunctionCall","src":"15642:17:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"15589:43:67"},"nodeType":"YulFunctionCall","src":"15589:71:67"},"nodeType":"YulExpressionStatement","src":"15589:71:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"15714:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15727:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"15738:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15723:3:67"},"nodeType":"YulFunctionCall","src":"15723:18:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"15670:43:67"},"nodeType":"YulFunctionCall","src":"15670:72:67"},"nodeType":"YulExpressionStatement","src":"15670:72:67"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15507:9:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"15519:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15527:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15538:4:67","type":""}],"src":"15417:332:67"},{"body":{"nodeType":"YulBlock","src":"15959:448:67","statements":[{"nodeType":"YulAssignment","src":"15969:27:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15981:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"15992:3:67","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15977:3:67"},"nodeType":"YulFunctionCall","src":"15977:19:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15969:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"16050:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16063:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"16074:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16059:3:67"},"nodeType":"YulFunctionCall","src":"16059:17:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"16006:43:67"},"nodeType":"YulFunctionCall","src":"16006:71:67"},"nodeType":"YulExpressionStatement","src":"16006:71:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"16131:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16144:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"16155:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16140:3:67"},"nodeType":"YulFunctionCall","src":"16140:18:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"16087:43:67"},"nodeType":"YulFunctionCall","src":"16087:72:67"},"nodeType":"YulExpressionStatement","src":"16087:72:67"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"16211:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16224:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"16235:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16220:3:67"},"nodeType":"YulFunctionCall","src":"16220:18:67"}],"functionName":{"name":"abi_encode_t_uint16_to_t_uint16_fromStack","nodeType":"YulIdentifier","src":"16169:41:67"},"nodeType":"YulFunctionCall","src":"16169:70:67"},"nodeType":"YulExpressionStatement","src":"16169:70:67"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"16291:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16304:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"16315:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16300:3:67"},"nodeType":"YulFunctionCall","src":"16300:18:67"}],"functionName":{"name":"abi_encode_t_uint32_to_t_uint32_fromStack","nodeType":"YulIdentifier","src":"16249:41:67"},"nodeType":"YulFunctionCall","src":"16249:70:67"},"nodeType":"YulExpressionStatement","src":"16249:70:67"},{"expression":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"16371:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16384:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"16395:3:67","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16380:3:67"},"nodeType":"YulFunctionCall","src":"16380:19:67"}],"functionName":{"name":"abi_encode_t_uint32_to_t_uint32_fromStack","nodeType":"YulIdentifier","src":"16329:41:67"},"nodeType":"YulFunctionCall","src":"16329:71:67"},"nodeType":"YulExpressionStatement","src":"16329:71:67"}]},"name":"abi_encode_tuple_t_uint256_t_uint256_t_uint16_t_uint32_t_uint32__to_t_uint256_t_uint256_t_uint16_t_uint32_t_uint32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15899:9:67","type":""},{"name":"value4","nodeType":"YulTypedName","src":"15911:6:67","type":""},{"name":"value3","nodeType":"YulTypedName","src":"15919:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"15927:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"15935:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15943:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15954:4:67","type":""}],"src":"15755:652:67"},{"body":{"nodeType":"YulBlock","src":"16559:280:67","statements":[{"nodeType":"YulAssignment","src":"16569:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16581:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"16592:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16577:3:67"},"nodeType":"YulFunctionCall","src":"16577:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16569:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"16649:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16662:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"16673:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16658:3:67"},"nodeType":"YulFunctionCall","src":"16658:17:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"16605:43:67"},"nodeType":"YulFunctionCall","src":"16605:71:67"},"nodeType":"YulExpressionStatement","src":"16605:71:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"16728:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16741:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"16752:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16737:3:67"},"nodeType":"YulFunctionCall","src":"16737:18:67"}],"functionName":{"name":"abi_encode_t_uint96_to_t_uint96_fromStack","nodeType":"YulIdentifier","src":"16686:41:67"},"nodeType":"YulFunctionCall","src":"16686:70:67"},"nodeType":"YulExpressionStatement","src":"16686:70:67"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"16804:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16817:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"16828:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16813:3:67"},"nodeType":"YulFunctionCall","src":"16813:18:67"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulIdentifier","src":"16766:37:67"},"nodeType":"YulFunctionCall","src":"16766:66:67"},"nodeType":"YulExpressionStatement","src":"16766:66:67"}]},"name":"abi_encode_tuple_t_uint256_t_uint96_t_bool__to_t_uint256_t_uint96_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16515:9:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"16527:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16535:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16543:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16554:4:67","type":""}],"src":"16413:426:67"},{"body":{"nodeType":"YulBlock","src":"17149:768:67","statements":[{"nodeType":"YulAssignment","src":"17159:27:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17171:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"17182:3:67","type":"","value":"288"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17167:3:67"},"nodeType":"YulFunctionCall","src":"17167:19:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17159:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17238:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17251:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"17262:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17247:3:67"},"nodeType":"YulFunctionCall","src":"17247:17:67"}],"functionName":{"name":"abi_encode_t_uint32_to_t_uint32_fromStack","nodeType":"YulIdentifier","src":"17196:41:67"},"nodeType":"YulFunctionCall","src":"17196:69:67"},"nodeType":"YulExpressionStatement","src":"17196:69:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"17317:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17330:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"17341:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17326:3:67"},"nodeType":"YulFunctionCall","src":"17326:18:67"}],"functionName":{"name":"abi_encode_t_uint32_to_t_uint32_fromStack","nodeType":"YulIdentifier","src":"17275:41:67"},"nodeType":"YulFunctionCall","src":"17275:70:67"},"nodeType":"YulExpressionStatement","src":"17275:70:67"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"17397:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17410:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"17421:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17406:3:67"},"nodeType":"YulFunctionCall","src":"17406:18:67"}],"functionName":{"name":"abi_encode_t_uint32_to_t_uint32_fromStack","nodeType":"YulIdentifier","src":"17355:41:67"},"nodeType":"YulFunctionCall","src":"17355:70:67"},"nodeType":"YulExpressionStatement","src":"17355:70:67"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"17477:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17490:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"17501:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17486:3:67"},"nodeType":"YulFunctionCall","src":"17486:18:67"}],"functionName":{"name":"abi_encode_t_uint32_to_t_uint32_fromStack","nodeType":"YulIdentifier","src":"17435:41:67"},"nodeType":"YulFunctionCall","src":"17435:70:67"},"nodeType":"YulExpressionStatement","src":"17435:70:67"},{"expression":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"17557:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17570:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"17581:3:67","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17566:3:67"},"nodeType":"YulFunctionCall","src":"17566:19:67"}],"functionName":{"name":"abi_encode_t_uint32_to_t_uint32_fromStack","nodeType":"YulIdentifier","src":"17515:41:67"},"nodeType":"YulFunctionCall","src":"17515:71:67"},"nodeType":"YulExpressionStatement","src":"17515:71:67"},{"expression":{"arguments":[{"name":"value5","nodeType":"YulIdentifier","src":"17638:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17651:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"17662:3:67","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17647:3:67"},"nodeType":"YulFunctionCall","src":"17647:19:67"}],"functionName":{"name":"abi_encode_t_uint24_to_t_uint24_fromStack","nodeType":"YulIdentifier","src":"17596:41:67"},"nodeType":"YulFunctionCall","src":"17596:71:67"},"nodeType":"YulExpressionStatement","src":"17596:71:67"},{"expression":{"arguments":[{"name":"value6","nodeType":"YulIdentifier","src":"17719:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17732:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"17743:3:67","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17728:3:67"},"nodeType":"YulFunctionCall","src":"17728:19:67"}],"functionName":{"name":"abi_encode_t_uint24_to_t_uint24_fromStack","nodeType":"YulIdentifier","src":"17677:41:67"},"nodeType":"YulFunctionCall","src":"17677:71:67"},"nodeType":"YulExpressionStatement","src":"17677:71:67"},{"expression":{"arguments":[{"name":"value7","nodeType":"YulIdentifier","src":"17800:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17813:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"17824:3:67","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17809:3:67"},"nodeType":"YulFunctionCall","src":"17809:19:67"}],"functionName":{"name":"abi_encode_t_uint24_to_t_uint24_fromStack","nodeType":"YulIdentifier","src":"17758:41:67"},"nodeType":"YulFunctionCall","src":"17758:71:67"},"nodeType":"YulExpressionStatement","src":"17758:71:67"},{"expression":{"arguments":[{"name":"value8","nodeType":"YulIdentifier","src":"17881:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17894:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"17905:3:67","type":"","value":"256"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17890:3:67"},"nodeType":"YulFunctionCall","src":"17890:19:67"}],"functionName":{"name":"abi_encode_t_uint24_to_t_uint24_fromStack","nodeType":"YulIdentifier","src":"17839:41:67"},"nodeType":"YulFunctionCall","src":"17839:71:67"},"nodeType":"YulExpressionStatement","src":"17839:71:67"}]},"name":"abi_encode_tuple_t_uint32_t_uint32_t_uint32_t_uint32_t_uint32_t_uint24_t_uint24_t_uint24_t_uint24__to_t_uint32_t_uint32_t_uint32_t_uint32_t_uint32_t_uint24_t_uint24_t_uint24_t_uint24__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17057:9:67","type":""},{"name":"value8","nodeType":"YulTypedName","src":"17069:6:67","type":""},{"name":"value7","nodeType":"YulTypedName","src":"17077:6:67","type":""},{"name":"value6","nodeType":"YulTypedName","src":"17085:6:67","type":""},{"name":"value5","nodeType":"YulTypedName","src":"17093:6:67","type":""},{"name":"value4","nodeType":"YulTypedName","src":"17101:6:67","type":""},{"name":"value3","nodeType":"YulTypedName","src":"17109:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"17117:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17125:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17133:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17144:4:67","type":""}],"src":"16845:1072:67"},{"body":{"nodeType":"YulBlock","src":"18019:122:67","statements":[{"nodeType":"YulAssignment","src":"18029:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18041:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"18052:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18037:3:67"},"nodeType":"YulFunctionCall","src":"18037:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18029:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"18107:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18120:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"18131:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18116:3:67"},"nodeType":"YulFunctionCall","src":"18116:17:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_fromStack","nodeType":"YulIdentifier","src":"18065:41:67"},"nodeType":"YulFunctionCall","src":"18065:69:67"},"nodeType":"YulExpressionStatement","src":"18065:69:67"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17991:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"18003:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18014:4:67","type":""}],"src":"17923:218:67"},{"body":{"nodeType":"YulBlock","src":"18243:122:67","statements":[{"nodeType":"YulAssignment","src":"18253:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18265:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"18276:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18261:3:67"},"nodeType":"YulFunctionCall","src":"18261:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18253:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"18331:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18344:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"18355:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18340:3:67"},"nodeType":"YulFunctionCall","src":"18340:17:67"}],"functionName":{"name":"abi_encode_t_uint96_to_t_uint96_fromStack","nodeType":"YulIdentifier","src":"18289:41:67"},"nodeType":"YulFunctionCall","src":"18289:69:67"},"nodeType":"YulExpressionStatement","src":"18289:69:67"}]},"name":"abi_encode_tuple_t_uint96__to_t_uint96__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18215:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"18227:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18238:4:67","type":""}],"src":"18147:218:67"},{"body":{"nodeType":"YulBlock","src":"18599:468:67","statements":[{"nodeType":"YulAssignment","src":"18609:27:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18621:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"18632:3:67","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18617:3:67"},"nodeType":"YulFunctionCall","src":"18617:19:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18609:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"18688:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18701:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"18712:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18697:3:67"},"nodeType":"YulFunctionCall","src":"18697:17:67"}],"functionName":{"name":"abi_encode_t_uint96_to_t_uint96_fromStack","nodeType":"YulIdentifier","src":"18646:41:67"},"nodeType":"YulFunctionCall","src":"18646:69:67"},"nodeType":"YulExpressionStatement","src":"18646:69:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"18767:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18780:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"18791:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18776:3:67"},"nodeType":"YulFunctionCall","src":"18776:18:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_fromStack","nodeType":"YulIdentifier","src":"18725:41:67"},"nodeType":"YulFunctionCall","src":"18725:70:67"},"nodeType":"YulExpressionStatement","src":"18725:70:67"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"18849:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18862:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"18873:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18858:3:67"},"nodeType":"YulFunctionCall","src":"18858:18:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"18805:43:67"},"nodeType":"YulFunctionCall","src":"18805:72:67"},"nodeType":"YulExpressionStatement","src":"18805:72:67"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18898:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"18909:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18894:3:67"},"nodeType":"YulFunctionCall","src":"18894:18:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"18918:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"18924:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18914:3:67"},"nodeType":"YulFunctionCall","src":"18914:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18887:6:67"},"nodeType":"YulFunctionCall","src":"18887:48:67"},"nodeType":"YulExpressionStatement","src":"18887:48:67"},{"nodeType":"YulAssignment","src":"18944:116:67","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"19046:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"19055:4:67"}],"functionName":{"name":"abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"18952:93:67"},"nodeType":"YulFunctionCall","src":"18952:108:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18944:4:67"}]}]},"name":"abi_encode_tuple_t_uint96_t_uint64_t_address_t_array$_t_address_$dyn_memory_ptr__to_t_uint96_t_uint64_t_address_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18547:9:67","type":""},{"name":"value3","nodeType":"YulTypedName","src":"18559:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"18567:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"18575:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"18583:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18594:4:67","type":""}],"src":"18371:696:67"},{"body":{"nodeType":"YulBlock","src":"19197:204:67","statements":[{"nodeType":"YulAssignment","src":"19207:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19219:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"19230:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19215:3:67"},"nodeType":"YulFunctionCall","src":"19215:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19207:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19286:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19299:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"19310:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19295:3:67"},"nodeType":"YulFunctionCall","src":"19295:17:67"}],"functionName":{"name":"abi_encode_t_uint96_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"19243:42:67"},"nodeType":"YulFunctionCall","src":"19243:70:67"},"nodeType":"YulExpressionStatement","src":"19243:70:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"19366:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19379:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"19390:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19375:3:67"},"nodeType":"YulFunctionCall","src":"19375:18:67"}],"functionName":{"name":"abi_encode_t_uint96_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"19323:42:67"},"nodeType":"YulFunctionCall","src":"19323:71:67"},"nodeType":"YulExpressionStatement","src":"19323:71:67"}]},"name":"abi_encode_tuple_t_uint96_t_uint96__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19161:9:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19173:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19181:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19192:4:67","type":""}],"src":"19073:328:67"},{"body":{"nodeType":"YulBlock","src":"19448:88:67","statements":[{"nodeType":"YulAssignment","src":"19458:30:67","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"19468:18:67"},"nodeType":"YulFunctionCall","src":"19468:20:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"19458:6:67"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"19517:6:67"},{"name":"size","nodeType":"YulIdentifier","src":"19525:4:67"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"19497:19:67"},"nodeType":"YulFunctionCall","src":"19497:33:67"},"nodeType":"YulExpressionStatement","src":"19497:33:67"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"19432:4:67","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"19441:6:67","type":""}],"src":"19407:129:67"},{"body":{"nodeType":"YulBlock","src":"19582:35:67","statements":[{"nodeType":"YulAssignment","src":"19592:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19608:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19602:5:67"},"nodeType":"YulFunctionCall","src":"19602:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"19592:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"19575:6:67","type":""}],"src":"19542:75:67"},{"body":{"nodeType":"YulBlock","src":"19705:229:67","statements":[{"body":{"nodeType":"YulBlock","src":"19810:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"19812:16:67"},"nodeType":"YulFunctionCall","src":"19812:18:67"},"nodeType":"YulExpressionStatement","src":"19812:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"19782:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"19790:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"19779:2:67"},"nodeType":"YulFunctionCall","src":"19779:30:67"},"nodeType":"YulIf","src":"19776:56:67"},{"nodeType":"YulAssignment","src":"19842:25:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"19854:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"19862:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"19850:3:67"},"nodeType":"YulFunctionCall","src":"19850:17:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"19842:4:67"}]},{"nodeType":"YulAssignment","src":"19904:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"19916:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"19922:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19912:3:67"},"nodeType":"YulFunctionCall","src":"19912:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"19904:4:67"}]}]},"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"19689:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"19700:4:67","type":""}],"src":"19623:311:67"},{"body":{"nodeType":"YulBlock","src":"20012:60:67","statements":[{"nodeType":"YulAssignment","src":"20022:11:67","value":{"name":"ptr","nodeType":"YulIdentifier","src":"20030:3:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"20022:4:67"}]},{"nodeType":"YulAssignment","src":"20043:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"20055:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"20060:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20051:3:67"},"nodeType":"YulFunctionCall","src":"20051:14:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"20043:4:67"}]}]},"name":"array_dataslot_t_array$_t_address_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"19999:3:67","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"20007:4:67","type":""}],"src":"19940:132:67"},{"body":{"nodeType":"YulBlock","src":"20150:60:67","statements":[{"nodeType":"YulAssignment","src":"20160:11:67","value":{"name":"ptr","nodeType":"YulIdentifier","src":"20168:3:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"20160:4:67"}]},{"nodeType":"YulAssignment","src":"20181:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"20193:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"20198:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20189:3:67"},"nodeType":"YulFunctionCall","src":"20189:14:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"20181:4:67"}]}]},"name":"array_dataslot_t_array$_t_bytes32_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"20137:3:67","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"20145:4:67","type":""}],"src":"20078:132:67"},{"body":{"nodeType":"YulBlock","src":"20288:60:67","statements":[{"nodeType":"YulAssignment","src":"20298:11:67","value":{"name":"ptr","nodeType":"YulIdentifier","src":"20306:3:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"20298:4:67"}]},{"nodeType":"YulAssignment","src":"20319:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"20331:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"20336:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20327:3:67"},"nodeType":"YulFunctionCall","src":"20327:14:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"20319:4:67"}]}]},"name":"array_dataslot_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"20275:3:67","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"20283:4:67","type":""}],"src":"20216:132:67"},{"body":{"nodeType":"YulBlock","src":"20428:40:67","statements":[{"nodeType":"YulAssignment","src":"20439:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20455:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20449:5:67"},"nodeType":"YulFunctionCall","src":"20449:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"20439:6:67"}]}]},"name":"array_length_t_array$_t_address_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"20411:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"20421:6:67","type":""}],"src":"20354:114:67"},{"body":{"nodeType":"YulBlock","src":"20548:40:67","statements":[{"nodeType":"YulAssignment","src":"20559:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20575:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20569:5:67"},"nodeType":"YulFunctionCall","src":"20569:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"20559:6:67"}]}]},"name":"array_length_t_array$_t_bytes32_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"20531:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"20541:6:67","type":""}],"src":"20474:114:67"},{"body":{"nodeType":"YulBlock","src":"20668:40:67","statements":[{"nodeType":"YulAssignment","src":"20679:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20695:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20689:5:67"},"nodeType":"YulFunctionCall","src":"20689:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"20679:6:67"}]}]},"name":"array_length_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"20651:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"20661:6:67","type":""}],"src":"20594:114:67"},{"body":{"nodeType":"YulBlock","src":"20772:40:67","statements":[{"nodeType":"YulAssignment","src":"20783:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20799:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20793:5:67"},"nodeType":"YulFunctionCall","src":"20793:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"20783:6:67"}]}]},"name":"array_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"20755:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"20765:6:67","type":""}],"src":"20714:98:67"},{"body":{"nodeType":"YulBlock","src":"20893:38:67","statements":[{"nodeType":"YulAssignment","src":"20903:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"20915:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"20920:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20911:3:67"},"nodeType":"YulFunctionCall","src":"20911:14:67"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"20903:4:67"}]}]},"name":"array_nextElement_t_array$_t_address_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"20880:3:67","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"20888:4:67","type":""}],"src":"20818:113:67"},{"body":{"nodeType":"YulBlock","src":"21012:38:67","statements":[{"nodeType":"YulAssignment","src":"21022:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"21034:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"21039:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21030:3:67"},"nodeType":"YulFunctionCall","src":"21030:14:67"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"21022:4:67"}]}]},"name":"array_nextElement_t_array$_t_bytes32_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"20999:3:67","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"21007:4:67","type":""}],"src":"20937:113:67"},{"body":{"nodeType":"YulBlock","src":"21131:38:67","statements":[{"nodeType":"YulAssignment","src":"21141:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"21153:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"21158:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21149:3:67"},"nodeType":"YulFunctionCall","src":"21149:14:67"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"21141:4:67"}]}]},"name":"array_nextElement_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"21118:3:67","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"21126:4:67","type":""}],"src":"21056:113:67"},{"body":{"nodeType":"YulBlock","src":"21286:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21303:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"21308:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21296:6:67"},"nodeType":"YulFunctionCall","src":"21296:19:67"},"nodeType":"YulExpressionStatement","src":"21296:19:67"},{"nodeType":"YulAssignment","src":"21324:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21343:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"21348:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21339:3:67"},"nodeType":"YulFunctionCall","src":"21339:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"21324:11:67"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"21258:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"21263:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"21274:11:67","type":""}],"src":"21175:184:67"},{"body":{"nodeType":"YulBlock","src":"21476:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21493:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"21498:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21486:6:67"},"nodeType":"YulFunctionCall","src":"21486:19:67"},"nodeType":"YulExpressionStatement","src":"21486:19:67"},{"nodeType":"YulAssignment","src":"21514:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21533:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"21538:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21529:3:67"},"nodeType":"YulFunctionCall","src":"21529:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"21514:11:67"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"21448:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"21453:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"21464:11:67","type":""}],"src":"21365:184:67"},{"body":{"nodeType":"YulBlock","src":"21666:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21683:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"21688:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21676:6:67"},"nodeType":"YulFunctionCall","src":"21676:19:67"},"nodeType":"YulExpressionStatement","src":"21676:19:67"},{"nodeType":"YulAssignment","src":"21704:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21723:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"21728:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21719:3:67"},"nodeType":"YulFunctionCall","src":"21719:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"21704:11:67"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"21638:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"21643:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"21654:11:67","type":""}],"src":"21555:184:67"},{"body":{"nodeType":"YulBlock","src":"21858:34:67","statements":[{"nodeType":"YulAssignment","src":"21868:18:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"21883:3:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"21868:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"21830:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"21835:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"21846:11:67","type":""}],"src":"21745:147:67"},{"body":{"nodeType":"YulBlock","src":"21994:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22011:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"22016:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22004:6:67"},"nodeType":"YulFunctionCall","src":"22004:19:67"},"nodeType":"YulExpressionStatement","src":"22004:19:67"},{"nodeType":"YulAssignment","src":"22032:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22051:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"22056:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22047:3:67"},"nodeType":"YulFunctionCall","src":"22047:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"22032:11:67"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"21966:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"21971:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"21982:11:67","type":""}],"src":"21898:169:67"},{"body":{"nodeType":"YulBlock","src":"22117:261:67","statements":[{"nodeType":"YulAssignment","src":"22127:25:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22150:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"22132:17:67"},"nodeType":"YulFunctionCall","src":"22132:20:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"22127:1:67"}]},{"nodeType":"YulAssignment","src":"22161:25:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"22184:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"22166:17:67"},"nodeType":"YulFunctionCall","src":"22166:20:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"22161:1:67"}]},{"body":{"nodeType":"YulBlock","src":"22324:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"22326:16:67"},"nodeType":"YulFunctionCall","src":"22326:18:67"},"nodeType":"YulExpressionStatement","src":"22326:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22245:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22252:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"y","nodeType":"YulIdentifier","src":"22320:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22248:3:67"},"nodeType":"YulFunctionCall","src":"22248:74:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22242:2:67"},"nodeType":"YulFunctionCall","src":"22242:81:67"},"nodeType":"YulIf","src":"22239:107:67"},{"nodeType":"YulAssignment","src":"22356:16:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22367:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"22370:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22363:3:67"},"nodeType":"YulFunctionCall","src":"22363:9:67"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"22356:3:67"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"22104:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"22107:1:67","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"22113:3:67","type":""}],"src":"22073:305:67"},{"body":{"nodeType":"YulBlock","src":"22427:219:67","statements":[{"nodeType":"YulAssignment","src":"22437:24:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22459:1:67"}],"functionName":{"name":"cleanup_t_uint96","nodeType":"YulIdentifier","src":"22442:16:67"},"nodeType":"YulFunctionCall","src":"22442:19:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"22437:1:67"}]},{"nodeType":"YulAssignment","src":"22470:24:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"22492:1:67"}],"functionName":{"name":"cleanup_t_uint96","nodeType":"YulIdentifier","src":"22475:16:67"},"nodeType":"YulFunctionCall","src":"22475:19:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"22470:1:67"}]},{"body":{"nodeType":"YulBlock","src":"22592:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"22594:16:67"},"nodeType":"YulFunctionCall","src":"22594:18:67"},"nodeType":"YulExpressionStatement","src":"22594:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22553:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22560:26:67","type":"","value":"0xffffffffffffffffffffffff"},{"name":"y","nodeType":"YulIdentifier","src":"22588:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22556:3:67"},"nodeType":"YulFunctionCall","src":"22556:34:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22550:2:67"},"nodeType":"YulFunctionCall","src":"22550:41:67"},"nodeType":"YulIf","src":"22547:67:67"},{"nodeType":"YulAssignment","src":"22624:16:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22635:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"22638:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22631:3:67"},"nodeType":"YulFunctionCall","src":"22631:9:67"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"22624:3:67"}]}]},"name":"checked_add_t_uint96","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"22414:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"22417:1:67","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"22423:3:67","type":""}],"src":"22384:262:67"},{"body":{"nodeType":"YulBlock","src":"22700:300:67","statements":[{"nodeType":"YulAssignment","src":"22710:25:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22733:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"22715:17:67"},"nodeType":"YulFunctionCall","src":"22715:20:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"22710:1:67"}]},{"nodeType":"YulAssignment","src":"22744:25:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"22767:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"22749:17:67"},"nodeType":"YulFunctionCall","src":"22749:20:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"22744:1:67"}]},{"body":{"nodeType":"YulBlock","src":"22942:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"22944:16:67"},"nodeType":"YulFunctionCall","src":"22944:18:67"},"nodeType":"YulExpressionStatement","src":"22944:18:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22854:1:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"22847:6:67"},"nodeType":"YulFunctionCall","src":"22847:9:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"22840:6:67"},"nodeType":"YulFunctionCall","src":"22840:17:67"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"22862:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22869:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"x","nodeType":"YulIdentifier","src":"22937:1:67"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"22865:3:67"},"nodeType":"YulFunctionCall","src":"22865:74:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22859:2:67"},"nodeType":"YulFunctionCall","src":"22859:81:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22836:3:67"},"nodeType":"YulFunctionCall","src":"22836:105:67"},"nodeType":"YulIf","src":"22833:131:67"},{"nodeType":"YulAssignment","src":"22974:20:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22989:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"22992:1:67"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"22985:3:67"},"nodeType":"YulFunctionCall","src":"22985:9:67"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"22974:7:67"}]}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"22683:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"22686:1:67","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"22692:7:67","type":""}],"src":"22652:348:67"},{"body":{"nodeType":"YulBlock","src":"23051:146:67","statements":[{"nodeType":"YulAssignment","src":"23061:25:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"23084:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"23066:17:67"},"nodeType":"YulFunctionCall","src":"23066:20:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"23061:1:67"}]},{"nodeType":"YulAssignment","src":"23095:25:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"23118:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"23100:17:67"},"nodeType":"YulFunctionCall","src":"23100:20:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"23095:1:67"}]},{"body":{"nodeType":"YulBlock","src":"23142:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"23144:16:67"},"nodeType":"YulFunctionCall","src":"23144:18:67"},"nodeType":"YulExpressionStatement","src":"23144:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"23136:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"23139:1:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"23133:2:67"},"nodeType":"YulFunctionCall","src":"23133:8:67"},"nodeType":"YulIf","src":"23130:34:67"},{"nodeType":"YulAssignment","src":"23174:17:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"23186:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"23189:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23182:3:67"},"nodeType":"YulFunctionCall","src":"23182:9:67"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"23174:4:67"}]}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"23037:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"23040:1:67","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"23046:4:67","type":""}],"src":"23006:191:67"},{"body":{"nodeType":"YulBlock","src":"23247:144:67","statements":[{"nodeType":"YulAssignment","src":"23257:24:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"23279:1:67"}],"functionName":{"name":"cleanup_t_uint96","nodeType":"YulIdentifier","src":"23262:16:67"},"nodeType":"YulFunctionCall","src":"23262:19:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"23257:1:67"}]},{"nodeType":"YulAssignment","src":"23290:24:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"23312:1:67"}],"functionName":{"name":"cleanup_t_uint96","nodeType":"YulIdentifier","src":"23295:16:67"},"nodeType":"YulFunctionCall","src":"23295:19:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"23290:1:67"}]},{"body":{"nodeType":"YulBlock","src":"23336:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"23338:16:67"},"nodeType":"YulFunctionCall","src":"23338:18:67"},"nodeType":"YulExpressionStatement","src":"23338:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"23330:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"23333:1:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"23327:2:67"},"nodeType":"YulFunctionCall","src":"23327:8:67"},"nodeType":"YulIf","src":"23324:34:67"},{"nodeType":"YulAssignment","src":"23368:17:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"23380:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"23383:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23376:3:67"},"nodeType":"YulFunctionCall","src":"23376:9:67"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"23368:4:67"}]}]},"name":"checked_sub_t_uint96","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"23233:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"23236:1:67","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"23242:4:67","type":""}],"src":"23203:188:67"},{"body":{"nodeType":"YulBlock","src":"23442:51:67","statements":[{"nodeType":"YulAssignment","src":"23452:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23481:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"23463:17:67"},"nodeType":"YulFunctionCall","src":"23463:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"23452:7:67"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"23424:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"23434:7:67","type":""}],"src":"23397:96:67"},{"body":{"nodeType":"YulBlock","src":"23541:48:67","statements":[{"nodeType":"YulAssignment","src":"23551:32:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23576:5:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"23569:6:67"},"nodeType":"YulFunctionCall","src":"23569:13:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"23562:6:67"},"nodeType":"YulFunctionCall","src":"23562:21:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"23551:7:67"}]}]},"name":"cleanup_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"23523:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"23533:7:67","type":""}],"src":"23499:90:67"},{"body":{"nodeType":"YulBlock","src":"23640:32:67","statements":[{"nodeType":"YulAssignment","src":"23650:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"23661:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"23650:7:67"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"23622:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"23632:7:67","type":""}],"src":"23595:77:67"},{"body":{"nodeType":"YulBlock","src":"23722:32:67","statements":[{"nodeType":"YulAssignment","src":"23732:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"23743:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"23732:7:67"}]}]},"name":"cleanup_t_int256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"23704:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"23714:7:67","type":""}],"src":"23678:76:67"},{"body":{"nodeType":"YulBlock","src":"23804:45:67","statements":[{"nodeType":"YulAssignment","src":"23814:29:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23829:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"23836:6:67","type":"","value":"0xffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23825:3:67"},"nodeType":"YulFunctionCall","src":"23825:18:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"23814:7:67"}]}]},"name":"cleanup_t_uint16","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"23786:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"23796:7:67","type":""}],"src":"23760:89:67"},{"body":{"nodeType":"YulBlock","src":"23900:81:67","statements":[{"nodeType":"YulAssignment","src":"23910:65:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23925:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"23932:42:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23921:3:67"},"nodeType":"YulFunctionCall","src":"23921:54:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"23910:7:67"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"23882:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"23892:7:67","type":""}],"src":"23855:126:67"},{"body":{"nodeType":"YulBlock","src":"24031:47:67","statements":[{"nodeType":"YulAssignment","src":"24041:31:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24056:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"24063:8:67","type":"","value":"0xffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"24052:3:67"},"nodeType":"YulFunctionCall","src":"24052:20:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"24041:7:67"}]}]},"name":"cleanup_t_uint24","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"24013:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"24023:7:67","type":""}],"src":"23987:91:67"},{"body":{"nodeType":"YulBlock","src":"24129:32:67","statements":[{"nodeType":"YulAssignment","src":"24139:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"24150:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"24139:7:67"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"24111:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"24121:7:67","type":""}],"src":"24084:77:67"},{"body":{"nodeType":"YulBlock","src":"24211:49:67","statements":[{"nodeType":"YulAssignment","src":"24221:33:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24236:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"24243:10:67","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"24232:3:67"},"nodeType":"YulFunctionCall","src":"24232:22:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"24221:7:67"}]}]},"name":"cleanup_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"24193:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"24203:7:67","type":""}],"src":"24167:93:67"},{"body":{"nodeType":"YulBlock","src":"24310:57:67","statements":[{"nodeType":"YulAssignment","src":"24320:41:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24335:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"24342:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"24331:3:67"},"nodeType":"YulFunctionCall","src":"24331:30:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"24320:7:67"}]}]},"name":"cleanup_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"24292:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"24302:7:67","type":""}],"src":"24266:101:67"},{"body":{"nodeType":"YulBlock","src":"24417:65:67","statements":[{"nodeType":"YulAssignment","src":"24427:49:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24442:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"24449:26:67","type":"","value":"0xffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"24438:3:67"},"nodeType":"YulFunctionCall","src":"24438:38:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"24427:7:67"}]}]},"name":"cleanup_t_uint96","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"24399:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"24409:7:67","type":""}],"src":"24373:109:67"},{"body":{"nodeType":"YulBlock","src":"24547:52:67","statements":[{"nodeType":"YulAssignment","src":"24557:36:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24587:5:67"}],"functionName":{"name":"cleanup_t_uint96","nodeType":"YulIdentifier","src":"24570:16:67"},"nodeType":"YulFunctionCall","src":"24570:23:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"24557:9:67"}]}]},"name":"convert_t_uint96_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"24527:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"24537:9:67","type":""}],"src":"24488:111:67"},{"body":{"nodeType":"YulBlock","src":"24654:258:67","statements":[{"nodeType":"YulVariableDeclaration","src":"24664:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"24673:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"24668:1:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"24733:63:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"24758:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"24763:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24754:3:67"},"nodeType":"YulFunctionCall","src":"24754:11:67"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"24777:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"24782:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24773:3:67"},"nodeType":"YulFunctionCall","src":"24773:11:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"24767:5:67"},"nodeType":"YulFunctionCall","src":"24767:18:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24747:6:67"},"nodeType":"YulFunctionCall","src":"24747:39:67"},"nodeType":"YulExpressionStatement","src":"24747:39:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"24694:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"24697:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"24691:2:67"},"nodeType":"YulFunctionCall","src":"24691:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"24705:19:67","statements":[{"nodeType":"YulAssignment","src":"24707:15:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"24716:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"24719:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24712:3:67"},"nodeType":"YulFunctionCall","src":"24712:10:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"24707:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"24687:3:67","statements":[]},"src":"24683:113:67"},{"body":{"nodeType":"YulBlock","src":"24830:76:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"24880:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"24885:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24876:3:67"},"nodeType":"YulFunctionCall","src":"24876:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"24894:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24869:6:67"},"nodeType":"YulFunctionCall","src":"24869:27:67"},"nodeType":"YulExpressionStatement","src":"24869:27:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"24811:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"24814:6:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"24808:2:67"},"nodeType":"YulFunctionCall","src":"24808:13:67"},"nodeType":"YulIf","src":"24805:101:67"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"24636:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"24641:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"24646:6:67","type":""}],"src":"24605:307:67"},{"body":{"nodeType":"YulBlock","src":"24961:238:67","statements":[{"nodeType":"YulVariableDeclaration","src":"24971:58:67","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"24993:6:67"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"25023:4:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"25001:21:67"},"nodeType":"YulFunctionCall","src":"25001:27:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24989:3:67"},"nodeType":"YulFunctionCall","src":"24989:40:67"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"24975:10:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"25140:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"25142:16:67"},"nodeType":"YulFunctionCall","src":"25142:18:67"},"nodeType":"YulExpressionStatement","src":"25142:18:67"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"25083:10:67"},{"kind":"number","nodeType":"YulLiteral","src":"25095:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"25080:2:67"},"nodeType":"YulFunctionCall","src":"25080:34:67"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"25119:10:67"},{"name":"memPtr","nodeType":"YulIdentifier","src":"25131:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"25116:2:67"},"nodeType":"YulFunctionCall","src":"25116:22:67"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"25077:2:67"},"nodeType":"YulFunctionCall","src":"25077:62:67"},"nodeType":"YulIf","src":"25074:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25178:2:67","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"25182:10:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25171:6:67"},"nodeType":"YulFunctionCall","src":"25171:22:67"},"nodeType":"YulExpressionStatement","src":"25171:22:67"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"24947:6:67","type":""},{"name":"size","nodeType":"YulTypedName","src":"24955:4:67","type":""}],"src":"24918:281:67"},{"body":{"nodeType":"YulBlock","src":"25248:190:67","statements":[{"nodeType":"YulAssignment","src":"25258:33:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25285:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"25267:17:67"},"nodeType":"YulFunctionCall","src":"25267:24:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"25258:5:67"}]},{"body":{"nodeType":"YulBlock","src":"25381:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"25383:16:67"},"nodeType":"YulFunctionCall","src":"25383:18:67"},"nodeType":"YulExpressionStatement","src":"25383:18:67"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25306:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"25313:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"25303:2:67"},"nodeType":"YulFunctionCall","src":"25303:77:67"},"nodeType":"YulIf","src":"25300:103:67"},{"nodeType":"YulAssignment","src":"25412:20:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25423:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"25430:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25419:3:67"},"nodeType":"YulFunctionCall","src":"25419:13:67"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"25412:3:67"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"25234:5:67","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"25244:3:67","type":""}],"src":"25205:233:67"},{"body":{"nodeType":"YulBlock","src":"25486:141:67","statements":[{"nodeType":"YulAssignment","src":"25496:32:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25522:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"25505:16:67"},"nodeType":"YulFunctionCall","src":"25505:23:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"25496:5:67"}]},{"body":{"nodeType":"YulBlock","src":"25570:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"25572:16:67"},"nodeType":"YulFunctionCall","src":"25572:18:67"},"nodeType":"YulExpressionStatement","src":"25572:18:67"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25543:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"25550:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"25540:2:67"},"nodeType":"YulFunctionCall","src":"25540:29:67"},"nodeType":"YulIf","src":"25537:55:67"},{"nodeType":"YulAssignment","src":"25601:20:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25612:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"25619:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25608:3:67"},"nodeType":"YulFunctionCall","src":"25608:13:67"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"25601:3:67"}]}]},"name":"increment_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"25472:5:67","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"25482:3:67","type":""}],"src":"25444:183:67"},{"body":{"nodeType":"YulBlock","src":"25661:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25678:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25681:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25671:6:67"},"nodeType":"YulFunctionCall","src":"25671:88:67"},"nodeType":"YulExpressionStatement","src":"25671:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25775:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"25778:4:67","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25768:6:67"},"nodeType":"YulFunctionCall","src":"25768:15:67"},"nodeType":"YulExpressionStatement","src":"25768:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25799:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25802:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25792:6:67"},"nodeType":"YulFunctionCall","src":"25792:15:67"},"nodeType":"YulExpressionStatement","src":"25792:15:67"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"25633:180:67"},{"body":{"nodeType":"YulBlock","src":"25847:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25864:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25867:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25857:6:67"},"nodeType":"YulFunctionCall","src":"25857:88:67"},"nodeType":"YulExpressionStatement","src":"25857:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25961:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"25964:4:67","type":"","value":"0x31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25954:6:67"},"nodeType":"YulFunctionCall","src":"25954:15:67"},"nodeType":"YulExpressionStatement","src":"25954:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25985:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25988:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25978:6:67"},"nodeType":"YulFunctionCall","src":"25978:15:67"},"nodeType":"YulExpressionStatement","src":"25978:15:67"}]},"name":"panic_error_0x31","nodeType":"YulFunctionDefinition","src":"25819:180:67"},{"body":{"nodeType":"YulBlock","src":"26033:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26050:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26053:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26043:6:67"},"nodeType":"YulFunctionCall","src":"26043:88:67"},"nodeType":"YulExpressionStatement","src":"26043:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26147:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"26150:4:67","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26140:6:67"},"nodeType":"YulFunctionCall","src":"26140:15:67"},"nodeType":"YulExpressionStatement","src":"26140:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26171:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26174:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"26164:6:67"},"nodeType":"YulFunctionCall","src":"26164:15:67"},"nodeType":"YulExpressionStatement","src":"26164:15:67"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"26005:180:67"},{"body":{"nodeType":"YulBlock","src":"26219:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26236:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26239:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26229:6:67"},"nodeType":"YulFunctionCall","src":"26229:88:67"},"nodeType":"YulExpressionStatement","src":"26229:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26333:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"26336:4:67","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26326:6:67"},"nodeType":"YulFunctionCall","src":"26326:15:67"},"nodeType":"YulExpressionStatement","src":"26326:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26357:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26360:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"26350:6:67"},"nodeType":"YulFunctionCall","src":"26350:15:67"},"nodeType":"YulExpressionStatement","src":"26350:15:67"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"26191:180:67"},{"body":{"nodeType":"YulBlock","src":"26466:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26483:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26486:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"26476:6:67"},"nodeType":"YulFunctionCall","src":"26476:12:67"},"nodeType":"YulExpressionStatement","src":"26476:12:67"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"26377:117:67"},{"body":{"nodeType":"YulBlock","src":"26589:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26606:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26609:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"26599:6:67"},"nodeType":"YulFunctionCall","src":"26599:12:67"},"nodeType":"YulExpressionStatement","src":"26599:12:67"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulFunctionDefinition","src":"26500:117:67"},{"body":{"nodeType":"YulBlock","src":"26712:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26729:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26732:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"26722:6:67"},"nodeType":"YulFunctionCall","src":"26722:12:67"},"nodeType":"YulExpressionStatement","src":"26722:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"26623:117:67"},{"body":{"nodeType":"YulBlock","src":"26835:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26852:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26855:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"26845:6:67"},"nodeType":"YulFunctionCall","src":"26845:12:67"},"nodeType":"YulExpressionStatement","src":"26845:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"26746:117:67"},{"body":{"nodeType":"YulBlock","src":"26917:54:67","statements":[{"nodeType":"YulAssignment","src":"26927:38:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"26945:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"26952:2:67","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26941:3:67"},"nodeType":"YulFunctionCall","src":"26941:14:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26961:2:67","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"26957:3:67"},"nodeType":"YulFunctionCall","src":"26957:7:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"26937:3:67"},"nodeType":"YulFunctionCall","src":"26937:28:67"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"26927:6:67"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"26900:5:67","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"26910:6:67","type":""}],"src":"26869:102:67"},{"body":{"nodeType":"YulBlock","src":"27083:59:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"27105:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"27113:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27101:3:67"},"nodeType":"YulFunctionCall","src":"27101:14:67"},{"hexValue":"6e6f7420696d706c656d656e746564","kind":"string","nodeType":"YulLiteral","src":"27117:17:67","type":"","value":"not implemented"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27094:6:67"},"nodeType":"YulFunctionCall","src":"27094:41:67"},"nodeType":"YulExpressionStatement","src":"27094:41:67"}]},"name":"store_literal_in_memory_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"27075:6:67","type":""}],"src":"26977:165:67"},{"body":{"nodeType":"YulBlock","src":"27254:63:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"27276:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"27284:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27272:3:67"},"nodeType":"YulFunctionCall","src":"27272:14:67"},{"hexValue":"6e6f6e6578697374656e742072657175657374","kind":"string","nodeType":"YulLiteral","src":"27288:21:67","type":"","value":"nonexistent request"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27265:6:67"},"nodeType":"YulFunctionCall","src":"27265:45:67"},"nodeType":"YulExpressionStatement","src":"27265:45:67"}]},"name":"store_literal_in_memory_3ef79182ce6d98492afe1a096e15a790f2acf5883840b8ae9a09f74be7e958f0","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"27246:6:67","type":""}],"src":"27148:169:67"},{"body":{"nodeType":"YulBlock","src":"27366:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"27423:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27432:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"27435:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"27425:6:67"},"nodeType":"YulFunctionCall","src":"27425:12:67"},"nodeType":"YulExpressionStatement","src":"27425:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27389:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27414:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"27396:17:67"},"nodeType":"YulFunctionCall","src":"27396:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"27386:2:67"},"nodeType":"YulFunctionCall","src":"27386:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"27379:6:67"},"nodeType":"YulFunctionCall","src":"27379:43:67"},"nodeType":"YulIf","src":"27376:63:67"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"27359:5:67","type":""}],"src":"27323:122:67"},{"body":{"nodeType":"YulBlock","src":"27494:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"27551:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27560:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"27563:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"27553:6:67"},"nodeType":"YulFunctionCall","src":"27553:12:67"},"nodeType":"YulExpressionStatement","src":"27553:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27517:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27542:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"27524:17:67"},"nodeType":"YulFunctionCall","src":"27524:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"27514:2:67"},"nodeType":"YulFunctionCall","src":"27514:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"27507:6:67"},"nodeType":"YulFunctionCall","src":"27507:43:67"},"nodeType":"YulIf","src":"27504:63:67"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"27487:5:67","type":""}],"src":"27451:122:67"},{"body":{"nodeType":"YulBlock","src":"27621:78:67","statements":[{"body":{"nodeType":"YulBlock","src":"27677:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27686:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"27689:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"27679:6:67"},"nodeType":"YulFunctionCall","src":"27679:12:67"},"nodeType":"YulExpressionStatement","src":"27679:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27644:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27668:5:67"}],"functionName":{"name":"cleanup_t_uint16","nodeType":"YulIdentifier","src":"27651:16:67"},"nodeType":"YulFunctionCall","src":"27651:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"27641:2:67"},"nodeType":"YulFunctionCall","src":"27641:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"27634:6:67"},"nodeType":"YulFunctionCall","src":"27634:42:67"},"nodeType":"YulIf","src":"27631:62:67"}]},"name":"validator_revert_t_uint16","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"27614:5:67","type":""}],"src":"27579:120:67"},{"body":{"nodeType":"YulBlock","src":"27748:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"27805:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27814:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"27817:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"27807:6:67"},"nodeType":"YulFunctionCall","src":"27807:12:67"},"nodeType":"YulExpressionStatement","src":"27807:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27771:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27796:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"27778:17:67"},"nodeType":"YulFunctionCall","src":"27778:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"27768:2:67"},"nodeType":"YulFunctionCall","src":"27768:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"27761:6:67"},"nodeType":"YulFunctionCall","src":"27761:43:67"},"nodeType":"YulIf","src":"27758:63:67"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"27741:5:67","type":""}],"src":"27705:122:67"},{"body":{"nodeType":"YulBlock","src":"27875:78:67","statements":[{"body":{"nodeType":"YulBlock","src":"27931:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27940:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"27943:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"27933:6:67"},"nodeType":"YulFunctionCall","src":"27933:12:67"},"nodeType":"YulExpressionStatement","src":"27933:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27898:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27922:5:67"}],"functionName":{"name":"cleanup_t_uint32","nodeType":"YulIdentifier","src":"27905:16:67"},"nodeType":"YulFunctionCall","src":"27905:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"27895:2:67"},"nodeType":"YulFunctionCall","src":"27895:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"27888:6:67"},"nodeType":"YulFunctionCall","src":"27888:42:67"},"nodeType":"YulIf","src":"27885:62:67"}]},"name":"validator_revert_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"27868:5:67","type":""}],"src":"27833:120:67"},{"body":{"nodeType":"YulBlock","src":"28001:78:67","statements":[{"body":{"nodeType":"YulBlock","src":"28057:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28066:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"28069:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"28059:6:67"},"nodeType":"YulFunctionCall","src":"28059:12:67"},"nodeType":"YulExpressionStatement","src":"28059:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28024:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28048:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"28031:16:67"},"nodeType":"YulFunctionCall","src":"28031:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"28021:2:67"},"nodeType":"YulFunctionCall","src":"28021:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"28014:6:67"},"nodeType":"YulFunctionCall","src":"28014:42:67"},"nodeType":"YulIf","src":"28011:62:67"}]},"name":"validator_revert_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"27994:5:67","type":""}],"src":"27959:120:67"},{"body":{"nodeType":"YulBlock","src":"28127:78:67","statements":[{"body":{"nodeType":"YulBlock","src":"28183:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28192:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"28195:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"28185:6:67"},"nodeType":"YulFunctionCall","src":"28185:12:67"},"nodeType":"YulExpressionStatement","src":"28185:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28150:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28174:5:67"}],"functionName":{"name":"cleanup_t_uint96","nodeType":"YulIdentifier","src":"28157:16:67"},"nodeType":"YulFunctionCall","src":"28157:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"28147:2:67"},"nodeType":"YulFunctionCall","src":"28147:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"28140:6:67"},"nodeType":"YulFunctionCall","src":"28140:42:67"},"nodeType":"YulIf","src":"28137:62:67"}]},"name":"validator_revert_t_uint96","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"28120:5:67","type":""}],"src":"28085:120:67"}]},"contents":"{\n\n    // uint256[]\n    function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(offset, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length))\n        let dst := array\n\n        mstore(array, length)\n        dst := add(array, 0x20)\n\n        let src := offset\n        if gt(add(src, mul(length, 0x20)), end) {\n            revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n        }\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n\n            let elementPos := src\n\n            mstore(dst, abi_decode_t_uint256(elementPos, end))\n            dst := add(dst, 0x20)\n            src := add(src, 0x20)\n        }\n    }\n\n    function abi_decode_t_address(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_address(value)\n    }\n\n    // uint256[]\n    function abi_decode_t_array$_t_uint256_$dyn_memory_ptr(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := calldataload(offset)\n        array := abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(add(offset, 0x20), length, end)\n    }\n\n    function abi_decode_t_bytes32(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_bytes32(value)\n    }\n\n    function abi_decode_t_uint16(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint16(value)\n    }\n\n    function abi_decode_t_uint256(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint256(value)\n    }\n\n    function abi_decode_t_uint32(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint32(value)\n    }\n\n    function abi_decode_t_uint64(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint64(value)\n    }\n\n    function abi_decode_t_uint96(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint96(value)\n    }\n\n    function abi_decode_tuple_t_bytes32t_uint64t_uint16t_uint32t_uint32(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n        if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 64\n\n            value2 := abi_decode_t_uint16(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 96\n\n            value3 := abi_decode_t_uint32(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 128\n\n            value4 := abi_decode_t_uint32(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1 {\n        if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint256t_addresst_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2 {\n        if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := calldataload(add(headStart, 64))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value2 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint64(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint64t_address(headStart, dataEnd) -> value0, value1 {\n        if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint64t_uint96(headStart, dataEnd) -> value0, value1 {\n        if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_uint96(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_encodeUpdatedPos_t_address_to_t_address(value0, pos) -> updatedPos {\n        abi_encode_t_address_to_t_address(value0, pos)\n        updatedPos := add(pos, 0x20)\n    }\n\n    function abi_encodeUpdatedPos_t_bytes32_to_t_bytes32(value0, pos) -> updatedPos {\n        abi_encode_t_bytes32_to_t_bytes32(value0, pos)\n        updatedPos := add(pos, 0x20)\n    }\n\n    function abi_encodeUpdatedPos_t_uint256_to_t_uint256(value0, pos) -> updatedPos {\n        abi_encode_t_uint256_to_t_uint256(value0, pos)\n        updatedPos := add(pos, 0x20)\n    }\n\n    function abi_encode_t_address_to_t_address(value, pos) {\n        mstore(pos, cleanup_t_address(value))\n    }\n\n    function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n        mstore(pos, cleanup_t_address(value))\n    }\n\n    // address[] -> address[]\n    function abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack(value, pos)  -> end  {\n        let length := array_length_t_array$_t_address_$dyn_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack(pos, length)\n        let baseRef := array_dataslot_t_array$_t_address_$dyn_memory_ptr(value)\n        let srcPtr := baseRef\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n            let elementValue0 := mload(srcPtr)\n            pos := abi_encodeUpdatedPos_t_address_to_t_address(elementValue0, pos)\n            srcPtr := array_nextElement_t_array$_t_address_$dyn_memory_ptr(srcPtr)\n        }\n        end := pos\n    }\n\n    // bytes32[] -> bytes32[]\n    function abi_encode_t_array$_t_bytes32_$dyn_memory_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(value, pos)  -> end  {\n        let length := array_length_t_array$_t_bytes32_$dyn_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(pos, length)\n        let baseRef := array_dataslot_t_array$_t_bytes32_$dyn_memory_ptr(value)\n        let srcPtr := baseRef\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n            let elementValue0 := mload(srcPtr)\n            pos := abi_encodeUpdatedPos_t_bytes32_to_t_bytes32(elementValue0, pos)\n            srcPtr := array_nextElement_t_array$_t_bytes32_$dyn_memory_ptr(srcPtr)\n        }\n        end := pos\n    }\n\n    // uint256[] -> uint256[]\n    function abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value, pos)  -> end  {\n        let length := array_length_t_array$_t_uint256_$dyn_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length)\n        let baseRef := array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(value)\n        let srcPtr := baseRef\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n            let elementValue0 := mload(srcPtr)\n            pos := abi_encodeUpdatedPos_t_uint256_to_t_uint256(elementValue0, pos)\n            srcPtr := array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(srcPtr)\n        }\n        end := pos\n    }\n\n    function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n        mstore(pos, cleanup_t_bool(value))\n    }\n\n    function abi_encode_t_bytes32_to_t_bytes32(value, pos) {\n        mstore(pos, cleanup_t_bytes32(value))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, length)\n    }\n\n    function abi_encode_t_int256_to_t_int256_fromStack(value, pos) {\n        mstore(pos, cleanup_t_int256(value))\n    }\n\n    function abi_encode_t_stringliteral_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 15)\n        store_literal_in_memory_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_t_stringliteral_3ef79182ce6d98492afe1a096e15a790f2acf5883840b8ae9a09f74be7e958f0_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 19)\n        store_literal_in_memory_3ef79182ce6d98492afe1a096e15a790f2acf5883840b8ae9a09f74be7e958f0(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_t_uint16_to_t_uint16_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint16(value))\n    }\n\n    function abi_encode_t_uint24_to_t_uint24_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint24(value))\n    }\n\n    function abi_encode_t_uint256_to_t_uint256(value, pos) {\n        mstore(pos, cleanup_t_uint256(value))\n    }\n\n    function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint256(value))\n    }\n\n    function abi_encode_t_uint32_to_t_uint32_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint32(value))\n    }\n\n    function abi_encode_t_uint64_to_t_uint64_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint64(value))\n    }\n\n    function abi_encode_t_uint96_to_t_uint256_fromStack(value, pos) {\n        mstore(pos, convert_t_uint96_to_t_uint256(value))\n    }\n\n    function abi_encode_t_uint96_to_t_uint96_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint96(value))\n    }\n\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n        pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_address_to_t_address_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_address_t_uint96__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n        tail := add(headStart, 64)\n\n        abi_encode_t_address_to_t_address_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_uint96_to_t_uint256_fromStack(value1,  add(headStart, 32))\n\n    }\n\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_bool_to_t_bool_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_int256_to_t_int256_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_3ef79182ce6d98492afe1a096e15a790f2acf5883840b8ae9a09f74be7e958f0__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_3ef79182ce6d98492afe1a096e15a790f2acf5883840b8ae9a09f74be7e958f0_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_uint16__to_t_uint16__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_uint16_to_t_uint16_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_uint16_t_uint32_t_array$_t_bytes32_$dyn_memory_ptr__to_t_uint16_t_uint32_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n        tail := add(headStart, 96)\n\n        abi_encode_t_uint16_to_t_uint16_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_uint32_to_t_uint32_fromStack(value1,  add(headStart, 32))\n\n        mstore(add(headStart, 64), sub(tail, headStart))\n        tail := abi_encode_t_array$_t_bytes32_$dyn_memory_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(value2,  tail)\n\n    }\n\n    function abi_encode_tuple_t_uint16_t_uint32_t_uint32_t_uint32__to_t_uint16_t_uint32_t_uint32_t_uint32__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n        tail := add(headStart, 128)\n\n        abi_encode_t_uint16_to_t_uint16_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_uint32_to_t_uint32_fromStack(value1,  add(headStart, 32))\n\n        abi_encode_t_uint32_to_t_uint32_fromStack(value2,  add(headStart, 64))\n\n        abi_encode_t_uint32_to_t_uint32_fromStack(value3,  add(headStart, 96))\n\n    }\n\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__to_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n        tail := add(headStart, 64)\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n        mstore(add(headStart, 32), sub(tail, headStart))\n        tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value1,  tail)\n\n    }\n\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n        tail := add(headStart, 64)\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value1,  add(headStart, 32))\n\n    }\n\n    function abi_encode_tuple_t_uint256_t_uint256_t_uint16_t_uint32_t_uint32__to_t_uint256_t_uint256_t_uint16_t_uint32_t_uint32__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n        tail := add(headStart, 160)\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value1,  add(headStart, 32))\n\n        abi_encode_t_uint16_to_t_uint16_fromStack(value2,  add(headStart, 64))\n\n        abi_encode_t_uint32_to_t_uint32_fromStack(value3,  add(headStart, 96))\n\n        abi_encode_t_uint32_to_t_uint32_fromStack(value4,  add(headStart, 128))\n\n    }\n\n    function abi_encode_tuple_t_uint256_t_uint96_t_bool__to_t_uint256_t_uint96_t_bool__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n        tail := add(headStart, 96)\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_uint96_to_t_uint96_fromStack(value1,  add(headStart, 32))\n\n        abi_encode_t_bool_to_t_bool_fromStack(value2,  add(headStart, 64))\n\n    }\n\n    function abi_encode_tuple_t_uint32_t_uint32_t_uint32_t_uint32_t_uint32_t_uint24_t_uint24_t_uint24_t_uint24__to_t_uint32_t_uint32_t_uint32_t_uint32_t_uint32_t_uint24_t_uint24_t_uint24_t_uint24__fromStack_reversed(headStart , value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail {\n        tail := add(headStart, 288)\n\n        abi_encode_t_uint32_to_t_uint32_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_uint32_to_t_uint32_fromStack(value1,  add(headStart, 32))\n\n        abi_encode_t_uint32_to_t_uint32_fromStack(value2,  add(headStart, 64))\n\n        abi_encode_t_uint32_to_t_uint32_fromStack(value3,  add(headStart, 96))\n\n        abi_encode_t_uint32_to_t_uint32_fromStack(value4,  add(headStart, 128))\n\n        abi_encode_t_uint24_to_t_uint24_fromStack(value5,  add(headStart, 160))\n\n        abi_encode_t_uint24_to_t_uint24_fromStack(value6,  add(headStart, 192))\n\n        abi_encode_t_uint24_to_t_uint24_fromStack(value7,  add(headStart, 224))\n\n        abi_encode_t_uint24_to_t_uint24_fromStack(value8,  add(headStart, 256))\n\n    }\n\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_uint64_to_t_uint64_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_uint96__to_t_uint96__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_uint96_to_t_uint96_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_uint96_t_uint64_t_address_t_array$_t_address_$dyn_memory_ptr__to_t_uint96_t_uint64_t_address_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n        tail := add(headStart, 128)\n\n        abi_encode_t_uint96_to_t_uint96_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_uint64_to_t_uint64_fromStack(value1,  add(headStart, 32))\n\n        abi_encode_t_address_to_t_address_fromStack(value2,  add(headStart, 64))\n\n        mstore(add(headStart, 96), sub(tail, headStart))\n        tail := abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack(value3,  tail)\n\n    }\n\n    function abi_encode_tuple_t_uint96_t_uint96__to_t_uint256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n        tail := add(headStart, 64)\n\n        abi_encode_t_uint96_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_uint96_to_t_uint256_fromStack(value1,  add(headStart, 32))\n\n    }\n\n    function allocate_memory(size) -> memPtr {\n        memPtr := allocate_unbounded()\n        finalize_allocation(memPtr, size)\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := mul(length, 0x20)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_dataslot_t_array$_t_address_$dyn_memory_ptr(ptr) -> data {\n        data := ptr\n\n        data := add(ptr, 0x20)\n\n    }\n\n    function array_dataslot_t_array$_t_bytes32_$dyn_memory_ptr(ptr) -> data {\n        data := ptr\n\n        data := add(ptr, 0x20)\n\n    }\n\n    function array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> data {\n        data := ptr\n\n        data := add(ptr, 0x20)\n\n    }\n\n    function array_length_t_array$_t_address_$dyn_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_length_t_array$_t_bytes32_$dyn_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_length_t_array$_t_uint256_$dyn_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_length_t_bytes_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_nextElement_t_array$_t_address_$dyn_memory_ptr(ptr) -> next {\n        next := add(ptr, 0x20)\n    }\n\n    function array_nextElement_t_array$_t_bytes32_$dyn_memory_ptr(ptr) -> next {\n        next := add(ptr, 0x20)\n    }\n\n    function array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> next {\n        next := add(ptr, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n        updated_pos := pos\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function checked_add_t_uint256(x, y) -> sum {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        // overflow, if x > (maxValue - y)\n        if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n        sum := add(x, y)\n    }\n\n    function checked_add_t_uint96(x, y) -> sum {\n        x := cleanup_t_uint96(x)\n        y := cleanup_t_uint96(y)\n\n        // overflow, if x > (maxValue - y)\n        if gt(x, sub(0xffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n        sum := add(x, y)\n    }\n\n    function checked_mul_t_uint256(x, y) -> product {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        // overflow, if x != 0 and y > (maxValue / x)\n        if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n        product := mul(x, y)\n    }\n\n    function checked_sub_t_uint256(x, y) -> diff {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        if lt(x, y) { panic_error_0x11() }\n\n        diff := sub(x, y)\n    }\n\n    function checked_sub_t_uint96(x, y) -> diff {\n        x := cleanup_t_uint96(x)\n        y := cleanup_t_uint96(y)\n\n        if lt(x, y) { panic_error_0x11() }\n\n        diff := sub(x, y)\n    }\n\n    function cleanup_t_address(value) -> cleaned {\n        cleaned := cleanup_t_uint160(value)\n    }\n\n    function cleanup_t_bool(value) -> cleaned {\n        cleaned := iszero(iszero(value))\n    }\n\n    function cleanup_t_bytes32(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_int256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_uint16(value) -> cleaned {\n        cleaned := and(value, 0xffff)\n    }\n\n    function cleanup_t_uint160(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n    }\n\n    function cleanup_t_uint24(value) -> cleaned {\n        cleaned := and(value, 0xffffff)\n    }\n\n    function cleanup_t_uint256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_uint32(value) -> cleaned {\n        cleaned := and(value, 0xffffffff)\n    }\n\n    function cleanup_t_uint64(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffff)\n    }\n\n    function cleanup_t_uint96(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffffffffffff)\n    }\n\n    function convert_t_uint96_to_t_uint256(value) -> converted {\n        converted := cleanup_t_uint96(value)\n    }\n\n    function copy_memory_to_memory(src, dst, length) {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        if gt(i, length)\n        {\n            // clear end\n            mstore(add(dst, length), 0)\n        }\n    }\n\n    function finalize_allocation(memPtr, size) {\n        let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n        // protect against overflow\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n\n    function increment_t_uint256(value) -> ret {\n        value := cleanup_t_uint256(value)\n        if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n\n    function increment_t_uint64(value) -> ret {\n        value := cleanup_t_uint64(value)\n        if eq(value, 0xffffffffffffffff) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n\n    function panic_error_0x11() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x31() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x31)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x32() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x41() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n\n    function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n        revert(0, 0)\n    }\n\n    function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n        revert(0, 0)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function round_up_to_mul_of_32(value) -> result {\n        result := and(add(value, 31), not(31))\n    }\n\n    function store_literal_in_memory_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9(memPtr) {\n\n        mstore(add(memPtr, 0), \"not implemented\")\n\n    }\n\n    function store_literal_in_memory_3ef79182ce6d98492afe1a096e15a790f2acf5883840b8ae9a09f74be7e958f0(memPtr) {\n\n        mstore(add(memPtr, 0), \"nonexistent request\")\n\n    }\n\n    function validator_revert_t_address(value) {\n        if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_bytes32(value) {\n        if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint16(value) {\n        if iszero(eq(value, cleanup_t_uint16(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint256(value) {\n        if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint32(value) {\n        if iszero(eq(value, cleanup_t_uint32(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint64(value) {\n        if iszero(eq(value, cleanup_t_uint64(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint96(value) {\n        if iszero(eq(value, cleanup_t_uint96(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"1424":[{"length":32,"start":2020},{"length":32,"start":2547}],"1426":[{"length":32,"start":1951},{"length":32,"start":5412}],"1429":[{"length":32,"start":3255},{"length":32,"start":3586}]},"linkReferences":{},"object":"608060405234801561001057600080fd5b506004361061012b5760003560e01c806382359740116100ad578063afc69b5311610071578063afc69b5314610317578063c3f909d414610333578063d7ae1d3014610354578063e82ad7d414610370578063ed5eb06d146103a05761012b565b806382359740146102705780639f87fad71461028c578063a21a23e4146102a8578063a410347f146102c6578063a47c7696146102e45761012b565b80635d3b1d30116100f45780635d3b1d30146101c45780635fbbc0d2146101f457806364d51a2a1461021a5780637341c10c14610238578063808974ff146102545761012b565b80620122911461013057806304c357cb1461015057806308e3898e1461016c578063356dac71146101885780633d18651e146101a6575b600080fd5b6101386103d0565b6040516101479392919061235d565b60405180910390f35b61016a60048036038101906101659190611f55565b610430565b005b61018660048036038101906101819190611eb9565b61046b565b005b6101906109e2565b60405161019d91906122e7565b60405180910390f35b6101ae6109f1565b6040516101bb9190612586565b60405180910390f35b6101de60048036038101906101d99190611dfe565b610a15565b6040516101eb91906123e0565b60405180910390f35b6101fc610c76565b604051610211999897969594939291906124de565b60405180910390f35b610222610cb5565b60405161022f9190612342565b60405180910390f35b610252600480360381019061024d9190611f55565b610cd9565b005b61026e60048036038101906102699190611e79565b610f6d565b005b61028a60048036038101906102859190611f28565b610fc5565b005b6102a660048036038101906102a19190611f55565b611000565b005b6102b061136d565b6040516102bd919061256b565b60405180910390f35b6102ce611522565b6040516102db9190612586565b60405180910390f35b6102fe60048036038101906102f99190611f28565b611546565b60405161030e94939291906125a1565b60405180910390f35b610331600480360381019061032c9190611f95565b61174c565b005b61033b611917565b60405161034b949392919061239b565b60405180910390f35b61036e60048036038101906103699190611f55565b611937565b005b61038a60048036038101906103859190611f28565b611b5a565b60405161039791906122cc565b60405180910390f35b6103ba60048036038101906103b59190611f55565b611b97565b6040516103c791906122cc565b60405180910390f35b60008060606003621e8480600067ffffffffffffffff8111156103f6576103f5612ac5565b5b6040519080825280602002602001820160405280156104245781602001602082028036833780820191505090505b50925092509250909192565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046290612302565b60405180910390fd5b60005a905060006005600086815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1614156104e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104df90612322565b60405180910390fd5b6000600560008681526020019081526020016000206040518060600160405290816000820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016000820160089054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200160008201600c9054906101000a900463ffffffff1663ffffffff1663ffffffff1681525050905060008351141561066057806040015163ffffffff1667ffffffffffffffff8111156105b6576105b5612ac5565b5b6040519080825280602002602001820160405280156105e45781602001602082028036833780820191505090505b50925060005b816040015163ffffffff1681101561065a57858160405160200161060f92919061242b565b6040516020818303038152906040528051906020012060001c84828151811061063b5761063a612a96565b5b6020026020010181815250508080610652906129be565b9150506105ea565b506106a5565b806040015163ffffffff168351146106a4576040517f3f3df5b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600080631fe543e360e01b87866040516024016106c39291906123fb565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060008673ffffffffffffffffffffffffffffffffffffffff16846020015163ffffffff16836040516107549190612271565b60006040518083038160008787f1925050503d8060008114610792576040519150601f19603f3d011682016040523d82523d6000602084013e610797565b606091505b5050905060007f00000000000000000000000000000000000000000000000000000000000000006bffffffffffffffffffffffff165a876107d8919061282b565b6107e291906127d1565b7f00000000000000000000000000000000000000000000000000000000000000006bffffffffffffffffffffffff1661081b9190612739565b9050806bffffffffffffffffffffffff1660036000876000015167ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff1610156108b9576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060036000876000015167ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160148282829054906101000a90046bffffffffffffffffffffffff1661090e919061285f565b92506101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550600560008a8152602001908152602001600020600080820160006101000a81549067ffffffffffffffff02191690556000820160086101000a81549063ffffffff021916905560008201600c6101000a81549063ffffffff02191690555050887f7dffc5ae5ee4e2e4df1651cf6ad329a73cebdb728f37ea0187b9b17e036756e48a83856040516109cf939291906124a7565b60405180910390a2505050505050505050565b6000660e35fa931a0000905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008433610a238282611b97565b610a59576040517f71e8313700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600360008967ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610b0a576040517f1f6a65b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060016000815480929190610b1f906129be565b919050559050600060026000815480929190610b3a906129be565b91905055905060405180606001604052808a67ffffffffffffffff1681526020018863ffffffff1681526020018763ffffffff168152506005600084815260200190815260200160002060008201518160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060208201518160000160086101000a81548163ffffffff021916908363ffffffff160217905550604082015181600001600c6101000a81548163ffffffff021916908363ffffffff1602179055509050503373ffffffffffffffffffffffffffffffffffffffff168967ffffffffffffffff168b7f63373d1c4696214b898952999c9aaec57dac1ee2723cec59bea6888f489a977285858d8d8d604051610c5e959493929190612454565b60405180910390a48194505050505095945050505050565b6000806000806000806000806000620186a080620186a080620186a0600080600080985098509850985098509850985098509850909192939495969798565b7f000000000000000000000000000000000000000000000000000000000000000081565b816000600360008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610d90576040517f1f6a65b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e0057806040517fd8a3fb52000000000000000000000000000000000000000000000000000000008152600401610df79190612288565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000061ffff16600460008667ffffffffffffffff1667ffffffffffffffff168152602001908152602001600020805490501415610e88576040517f05a48e0f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e928484611b97565b15610e9c57610f67565b600460008567ffffffffffffffff1667ffffffffffffffff168152602001908152602001600020839080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508367ffffffffffffffff167f752ead9f4536ec1319ee3a5a604e1d65eded22e0924251552ba14ae4faa1bbc384604051610f5e9190612288565b60405180910390a25b50505050565b610fc18282600067ffffffffffffffff811115610f8d57610f8c612ac5565b5b604051908082528060200260200182016040528015610fbb5781602001602082028036833780820191505090505b5061046b565b5050565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff790612302565b60405180910390fd5b816000600360008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156110b7576040517f1f6a65b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461112757806040517fd8a3fb5200000000000000000000000000000000000000000000000000000000815260040161111e9190612288565b60405180910390fd5b83836111338282611b97565b611169576040517f71e8313700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600460008867ffffffffffffffff1667ffffffffffffffff168152602001908152602001600020905060005b8180549050811015611321578673ffffffffffffffffffffffffffffffffffffffff168282815481106111cd576111cc612a96565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561130e5760008260018480549050611228919061282b565b8154811061123957611238612a96565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508083838154811061127a57611279612a96565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828054806112d3576112d2612a67565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905550611321565b8080611319906129be565b915050611197565b508667ffffffffffffffff167ff9bc9d5b5733d904409def43a5ecc888dbdac9a95687780d8fd489d3bb3813fc8760405161135c9190612288565b60405180910390a250505050505050565b600080600081819054906101000a900467ffffffffffffffff168092919061139490612a07565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505060405180604001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200160006bffffffffffffffffffffffff16815250600360008060009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555090505060008054906101000a900467ffffffffffffffff1667ffffffffffffffff167f464722b4166576d3dcbba877b999bc35cf911f4eaf434b7eba68fa113951d0bf336040516115009190612288565b60405180910390a260008054906101000a900467ffffffffffffffff16905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008060006060600073ffffffffffffffffffffffffffffffffffffffff16600360008767ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156115fe576040517f1f6a65b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600360008667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166000600360008867ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600460008967ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000208080548060200260200160405190810160405280929190818152602001828054801561173657602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116116ec575b5050505050905093509350935093509193509193565b600073ffffffffffffffffffffffffffffffffffffffff16600360008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156117fd576040517f1f6a65b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600360008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff16905081600360008567ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160148282829054906101000a90046bffffffffffffffffffffffff16611895919061278f565b92506101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508267ffffffffffffffff167fd39ec07f4e209f627a4c427971473820dc129761ba28de8906bd56f57101d4f88284846118fc919061278f565b60405161190a9291906125ed565b60405180910390a2505050565b6000806000806004622625a0610a8c618205935093509350935090919293565b816000600360008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156119ee576040517f1f6a65b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a5e57806040517fd8a3fb52000000000000000000000000000000000000000000000000000000008152600401611a559190612288565b60405180910390fd5b8367ffffffffffffffff167fe8ed5b475a5b5987aa9165e8731bb78043f39eee32ec5a1169a89e27fcd4981584600360008867ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff16604051611adc9291906122a3565b60405180910390a2600360008567ffffffffffffffff1667ffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff0219169055505050505050565b60006040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8e90612302565b60405180910390fd5b600080600460008567ffffffffffffffff1667ffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015611c4157602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611bf7575b5050505050905060005b8151811015611cc0578373ffffffffffffffffffffffffffffffffffffffff16828281518110611c7e57611c7d612a96565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161415611cad57600192505050611cc7565b8080611cb8906129be565b915050611c4b565b5060009150505b92915050565b6000611ce0611cdb8461263b565b612616565b90508083825260208201905082856020860282011115611d0357611d02612af9565b5b60005b85811015611d335781611d198882611daa565b845260208401935060208301925050600181019050611d06565b5050509392505050565b600081359050611d4c81612b6b565b92915050565b600082601f830112611d6757611d66612af4565b5b8135611d77848260208601611ccd565b91505092915050565b600081359050611d8f81612b82565b92915050565b600081359050611da481612b99565b92915050565b600081359050611db981612bb0565b92915050565b600081359050611dce81612bc7565b92915050565b600081359050611de381612bde565b92915050565b600081359050611df881612bf5565b92915050565b600080600080600060a08688031215611e1a57611e19612b03565b5b6000611e2888828901611d80565b9550506020611e3988828901611dd4565b9450506040611e4a88828901611d95565b9350506060611e5b88828901611dbf565b9250506080611e6c88828901611dbf565b9150509295509295909350565b60008060408385031215611e9057611e8f612b03565b5b6000611e9e85828601611daa565b9250506020611eaf85828601611d3d565b9150509250929050565b600080600060608486031215611ed257611ed1612b03565b5b6000611ee086828701611daa565b9350506020611ef186828701611d3d565b925050604084013567ffffffffffffffff811115611f1257611f11612afe565b5b611f1e86828701611d52565b9150509250925092565b600060208284031215611f3e57611f3d612b03565b5b6000611f4c84828501611dd4565b91505092915050565b60008060408385031215611f6c57611f6b612b03565b5b6000611f7a85828601611dd4565b9250506020611f8b85828601611d3d565b9150509250929050565b60008060408385031215611fac57611fab612b03565b5b6000611fba85828601611dd4565b9250506020611fcb85828601611de9565b9150509250929050565b6000611fe1838361201d565b60208301905092915050565b6000611ff98383612164565b60208301905092915050565b60006120118383612217565b60208301905092915050565b61202681612893565b82525050565b61203581612893565b82525050565b600061204682612697565b61205081856126ea565b935061205b83612667565b8060005b8381101561208c5781516120738882611fd5565b975061207e836126c3565b92505060018101905061205f565b5085935050505092915050565b60006120a4826126a2565b6120ae81856126fb565b93506120b983612677565b8060005b838110156120ea5781516120d18882611fed565b97506120dc836126d0565b9250506001810190506120bd565b5085935050505092915050565b6000612102826126ad565b61210c818561270c565b935061211783612687565b8060005b8381101561214857815161212f8882612005565b975061213a836126dd565b92505060018101905061211b565b5085935050505092915050565b61215e816128a5565b82525050565b61216d816128b1565b82525050565b600061217e826126b8565b612188818561271d565b935061219881856020860161295a565b80840191505092915050565b6121ad816128bb565b82525050565b60006121c0600f83612728565b91506121cb82612b19565b602082019050919050565b60006121e3601383612728565b91506121ee82612b42565b602082019050919050565b612202816128c5565b82525050565b612211816128f3565b82525050565b61222081612902565b82525050565b61222f81612902565b82525050565b61223e8161290c565b82525050565b61224d8161291c565b82525050565b61225c81612948565b82525050565b61226b81612930565b82525050565b600061227d8284612173565b915081905092915050565b600060208201905061229d600083018461202c565b92915050565b60006040820190506122b8600083018561202c565b6122c56020830184612253565b9392505050565b60006020820190506122e16000830184612155565b92915050565b60006020820190506122fc60008301846121a4565b92915050565b6000602082019050818103600083015261231b816121b3565b9050919050565b6000602082019050818103600083015261233b816121d6565b9050919050565b600060208201905061235760008301846121f9565b92915050565b600060608201905061237260008301866121f9565b61237f6020830185612235565b81810360408301526123918184612099565b9050949350505050565b60006080820190506123b060008301876121f9565b6123bd6020830186612235565b6123ca6040830185612235565b6123d76060830184612235565b95945050505050565b60006020820190506123f56000830184612226565b92915050565b60006040820190506124106000830185612226565b818103602083015261242281846120f7565b90509392505050565b60006040820190506124406000830185612226565b61244d6020830184612226565b9392505050565b600060a0820190506124696000830188612226565b6124766020830187612226565b61248360408301866121f9565b6124906060830185612235565b61249d6080830184612235565b9695505050505050565b60006060820190506124bc6000830186612226565b6124c96020830185612262565b6124d66040830184612155565b949350505050565b6000610120820190506124f4600083018c612235565b612501602083018b612235565b61250e604083018a612235565b61251b6060830189612235565b6125286080830188612235565b61253560a0830187612208565b61254260c0830186612208565b61254f60e0830185612208565b61255d610100830184612208565b9a9950505050505050505050565b60006020820190506125806000830184612244565b92915050565b600060208201905061259b6000830184612262565b92915050565b60006080820190506125b66000830187612262565b6125c36020830186612244565b6125d0604083018561202c565b81810360608301526125e2818461203b565b905095945050505050565b60006040820190506126026000830185612253565b61260f6020830184612253565b9392505050565b6000612620612631565b905061262c828261298d565b919050565b6000604051905090565b600067ffffffffffffffff82111561265657612655612ac5565b5b602082029050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600061274482612902565b915061274f83612902565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561278457612783612a38565b5b828201905092915050565b600061279a82612930565b91506127a583612930565b9250826bffffffffffffffffffffffff038211156127c6576127c5612a38565b5b828201905092915050565b60006127dc82612902565b91506127e783612902565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156128205761281f612a38565b5b828202905092915050565b600061283682612902565b915061284183612902565b92508282101561285457612853612a38565b5b828203905092915050565b600061286a82612930565b915061287583612930565b92508282101561288857612887612a38565b5b828203905092915050565b600061289e826128d3565b9050919050565b60008115159050919050565b6000819050919050565b6000819050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062ffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b60006bffffffffffffffffffffffff82169050919050565b600061295382612930565b9050919050565b60005b8381101561297857808201518184015260208101905061295d565b83811115612987576000848401525b50505050565b61299682612b08565b810181811067ffffffffffffffff821117156129b5576129b4612ac5565b5b80604052505050565b60006129c982612902565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156129fc576129fb612a38565b5b600182019050919050565b6000612a128261291c565b915067ffffffffffffffff821415612a2d57612a2c612a38565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f6e6f7420696d706c656d656e7465640000000000000000000000000000000000600082015250565b7f6e6f6e6578697374656e74207265717565737400000000000000000000000000600082015250565b612b7481612893565b8114612b7f57600080fd5b50565b612b8b816128b1565b8114612b9657600080fd5b50565b612ba2816128c5565b8114612bad57600080fd5b50565b612bb981612902565b8114612bc457600080fd5b50565b612bd08161290c565b8114612bdb57600080fd5b50565b612be78161291c565b8114612bf257600080fd5b50565b612bfe81612930565b8114612c0957600080fd5b5056fea26469706673582212207d8de9206264bd5f4843334446a4b5f848657d65c90e2bc2d9311b9bf6089a8c64736f6c63430008070033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x12B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x82359740 GT PUSH2 0xAD JUMPI DUP1 PUSH4 0xAFC69B53 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xAFC69B53 EQ PUSH2 0x317 JUMPI DUP1 PUSH4 0xC3F909D4 EQ PUSH2 0x333 JUMPI DUP1 PUSH4 0xD7AE1D30 EQ PUSH2 0x354 JUMPI DUP1 PUSH4 0xE82AD7D4 EQ PUSH2 0x370 JUMPI DUP1 PUSH4 0xED5EB06D EQ PUSH2 0x3A0 JUMPI PUSH2 0x12B JUMP JUMPDEST DUP1 PUSH4 0x82359740 EQ PUSH2 0x270 JUMPI DUP1 PUSH4 0x9F87FAD7 EQ PUSH2 0x28C JUMPI DUP1 PUSH4 0xA21A23E4 EQ PUSH2 0x2A8 JUMPI DUP1 PUSH4 0xA410347F EQ PUSH2 0x2C6 JUMPI DUP1 PUSH4 0xA47C7696 EQ PUSH2 0x2E4 JUMPI PUSH2 0x12B JUMP JUMPDEST DUP1 PUSH4 0x5D3B1D30 GT PUSH2 0xF4 JUMPI DUP1 PUSH4 0x5D3B1D30 EQ PUSH2 0x1C4 JUMPI DUP1 PUSH4 0x5FBBC0D2 EQ PUSH2 0x1F4 JUMPI DUP1 PUSH4 0x64D51A2A EQ PUSH2 0x21A JUMPI DUP1 PUSH4 0x7341C10C EQ PUSH2 0x238 JUMPI DUP1 PUSH4 0x808974FF EQ PUSH2 0x254 JUMPI PUSH2 0x12B JUMP JUMPDEST DUP1 PUSH3 0x12291 EQ PUSH2 0x130 JUMPI DUP1 PUSH4 0x4C357CB EQ PUSH2 0x150 JUMPI DUP1 PUSH4 0x8E3898E EQ PUSH2 0x16C JUMPI DUP1 PUSH4 0x356DAC71 EQ PUSH2 0x188 JUMPI DUP1 PUSH4 0x3D18651E EQ PUSH2 0x1A6 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x138 PUSH2 0x3D0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x147 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x235D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x165 SWAP2 SWAP1 PUSH2 0x1F55 JUMP JUMPDEST PUSH2 0x430 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x186 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x181 SWAP2 SWAP1 PUSH2 0x1EB9 JUMP JUMPDEST PUSH2 0x46B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x190 PUSH2 0x9E2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x19D SWAP2 SWAP1 PUSH2 0x22E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AE PUSH2 0x9F1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BB SWAP2 SWAP1 PUSH2 0x2586 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1DE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1D9 SWAP2 SWAP1 PUSH2 0x1DFE JUMP JUMPDEST PUSH2 0xA15 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1EB SWAP2 SWAP1 PUSH2 0x23E0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1FC PUSH2 0xC76 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x211 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x24DE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x222 PUSH2 0xCB5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x22F SWAP2 SWAP1 PUSH2 0x2342 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x252 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x24D SWAP2 SWAP1 PUSH2 0x1F55 JUMP JUMPDEST PUSH2 0xCD9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x26E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x269 SWAP2 SWAP1 PUSH2 0x1E79 JUMP JUMPDEST PUSH2 0xF6D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x28A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x285 SWAP2 SWAP1 PUSH2 0x1F28 JUMP JUMPDEST PUSH2 0xFC5 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2A6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2A1 SWAP2 SWAP1 PUSH2 0x1F55 JUMP JUMPDEST PUSH2 0x1000 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2B0 PUSH2 0x136D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2BD SWAP2 SWAP1 PUSH2 0x256B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2CE PUSH2 0x1522 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2DB SWAP2 SWAP1 PUSH2 0x2586 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2FE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2F9 SWAP2 SWAP1 PUSH2 0x1F28 JUMP JUMPDEST PUSH2 0x1546 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x30E SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x25A1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x331 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x32C SWAP2 SWAP1 PUSH2 0x1F95 JUMP JUMPDEST PUSH2 0x174C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x33B PUSH2 0x1917 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x34B SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x239B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x36E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x369 SWAP2 SWAP1 PUSH2 0x1F55 JUMP JUMPDEST PUSH2 0x1937 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x38A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x385 SWAP2 SWAP1 PUSH2 0x1F28 JUMP JUMPDEST PUSH2 0x1B5A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x397 SWAP2 SWAP1 PUSH2 0x22CC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3BA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3B5 SWAP2 SWAP1 PUSH2 0x1F55 JUMP JUMPDEST PUSH2 0x1B97 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3C7 SWAP2 SWAP1 PUSH2 0x22CC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x60 PUSH1 0x3 PUSH3 0x1E8480 PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3F6 JUMPI PUSH2 0x3F5 PUSH2 0x2AC5 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x424 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP3 POP SWAP3 POP SWAP3 POP SWAP1 SWAP2 SWAP3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x462 SWAP1 PUSH2 0x2302 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 GAS SWAP1 POP PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x4E8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4DF SWAP1 PUSH2 0x2322 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x8 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH4 0xFFFFFFFF AND PUSH4 0xFFFFFFFF AND PUSH4 0xFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0xC SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH4 0xFFFFFFFF AND PUSH4 0xFFFFFFFF AND PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP POP SWAP1 POP PUSH1 0x0 DUP4 MLOAD EQ ISZERO PUSH2 0x660 JUMPI DUP1 PUSH1 0x40 ADD MLOAD PUSH4 0xFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5B6 JUMPI PUSH2 0x5B5 PUSH2 0x2AC5 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x5E4 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP3 POP PUSH1 0x0 JUMPDEST DUP2 PUSH1 0x40 ADD MLOAD PUSH4 0xFFFFFFFF AND DUP2 LT ISZERO PUSH2 0x65A JUMPI DUP6 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x60F SWAP3 SWAP2 SWAP1 PUSH2 0x242B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x0 SHR DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x63B JUMPI PUSH2 0x63A PUSH2 0x2A96 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP1 DUP1 PUSH2 0x652 SWAP1 PUSH2 0x29BE JUMP JUMPDEST SWAP2 POP POP PUSH2 0x5EA JUMP JUMPDEST POP PUSH2 0x6A5 JUMP JUMPDEST DUP1 PUSH1 0x40 ADD MLOAD PUSH4 0xFFFFFFFF AND DUP4 MLOAD EQ PUSH2 0x6A4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x3F3DF5B600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST PUSH1 0x0 DUP1 PUSH4 0x1FE543E3 PUSH1 0xE0 SHL DUP8 DUP7 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x6C3 SWAP3 SWAP2 SWAP1 PUSH2 0x23FB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP SWAP1 POP PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0x20 ADD MLOAD PUSH4 0xFFFFFFFF AND DUP4 PUSH1 0x40 MLOAD PUSH2 0x754 SWAP2 SWAP1 PUSH2 0x2271 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP8 CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x792 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x797 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP PUSH1 0x0 PUSH32 0x0 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND GAS DUP8 PUSH2 0x7D8 SWAP2 SWAP1 PUSH2 0x282B JUMP JUMPDEST PUSH2 0x7E2 SWAP2 SWAP1 PUSH2 0x27D1 JUMP JUMPDEST PUSH32 0x0 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x81B SWAP2 SWAP1 PUSH2 0x2739 JUMP JUMPDEST SWAP1 POP DUP1 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 PUSH1 0x0 DUP8 PUSH1 0x0 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x8B9 JUMPI PUSH1 0x40 MLOAD PUSH32 0xF4D678B800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x3 PUSH1 0x0 DUP8 PUSH1 0x0 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 DUP3 DUP3 DUP3 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x90E SWAP2 SWAP1 PUSH2 0x285F JUMP JUMPDEST SWAP3 POP PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x5 PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x8 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH4 0xFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0xC PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH4 0xFFFFFFFF MUL NOT AND SWAP1 SSTORE POP POP DUP9 PUSH32 0x7DFFC5AE5EE4E2E4DF1651CF6AD329A73CEBDB728F37EA0187B9B17E036756E4 DUP11 DUP4 DUP6 PUSH1 0x40 MLOAD PUSH2 0x9CF SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x24A7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH7 0xE35FA931A0000 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP5 CALLER PUSH2 0xA23 DUP3 DUP3 PUSH2 0x1B97 JUMP JUMPDEST PUSH2 0xA59 JUMPI PUSH1 0x40 MLOAD PUSH32 0x71E8313700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 PUSH1 0x0 DUP10 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xB0A JUMPI PUSH1 0x40 MLOAD PUSH32 0x1F6A65B600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0xB1F SWAP1 PUSH2 0x29BE JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE SWAP1 POP PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0xB3A SWAP1 PUSH2 0x29BE JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE SWAP1 POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP11 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP9 PUSH4 0xFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP8 PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP PUSH1 0x5 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x8 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH4 0xFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH4 0xFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0xC PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH4 0xFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH4 0xFFFFFFFF AND MUL OR SWAP1 SSTORE POP SWAP1 POP POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP10 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP12 PUSH32 0x63373D1C4696214B898952999C9AAEC57DAC1EE2723CEC59BEA6888F489A9772 DUP6 DUP6 DUP14 DUP14 DUP14 PUSH1 0x40 MLOAD PUSH2 0xC5E SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2454 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 DUP2 SWAP5 POP POP POP POP POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH3 0x186A0 DUP1 PUSH3 0x186A0 DUP1 PUSH3 0x186A0 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 SWAP9 POP SWAP9 POP SWAP9 POP SWAP9 POP SWAP9 POP SWAP9 POP SWAP9 POP SWAP9 POP SWAP9 POP SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 SWAP9 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST DUP2 PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xD90 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1F6A65B600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xE00 JUMPI DUP1 PUSH1 0x40 MLOAD PUSH32 0xD8A3FB5200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDF7 SWAP2 SWAP1 PUSH2 0x2288 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x0 PUSH2 0xFFFF AND PUSH1 0x4 PUSH1 0x0 DUP7 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD SWAP1 POP EQ ISZERO PUSH2 0xE88 JUMPI PUSH1 0x40 MLOAD PUSH32 0x5A48E0F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xE92 DUP5 DUP5 PUSH2 0x1B97 JUMP JUMPDEST ISZERO PUSH2 0xE9C JUMPI PUSH2 0xF67 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP6 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP4 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH32 0x752EAD9F4536EC1319EE3A5A604E1D65EDED22E0924251552BA14AE4FAA1BBC3 DUP5 PUSH1 0x40 MLOAD PUSH2 0xF5E SWAP2 SWAP1 PUSH2 0x2288 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0xFC1 DUP3 DUP3 PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF8D JUMPI PUSH2 0xF8C PUSH2 0x2AC5 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xFBB JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP PUSH2 0x46B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFF7 SWAP1 PUSH2 0x2302 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x10B7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1F6A65B600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1127 JUMPI DUP1 PUSH1 0x40 MLOAD PUSH32 0xD8A3FB5200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x111E SWAP2 SWAP1 PUSH2 0x2288 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 DUP4 PUSH2 0x1133 DUP3 DUP3 PUSH2 0x1B97 JUMP JUMPDEST PUSH2 0x1169 JUMPI PUSH1 0x40 MLOAD PUSH32 0x71E8313700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP9 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 DUP1 SLOAD SWAP1 POP DUP2 LT ISZERO PUSH2 0x1321 JUMPI DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x11CD JUMPI PUSH2 0x11CC PUSH2 0x2A96 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x130E JUMPI PUSH1 0x0 DUP3 PUSH1 0x1 DUP5 DUP1 SLOAD SWAP1 POP PUSH2 0x1228 SWAP2 SWAP1 PUSH2 0x282B JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x1239 JUMPI PUSH2 0x1238 PUSH2 0x2A96 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP1 DUP4 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x127A JUMPI PUSH2 0x1279 PUSH2 0x2A96 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP3 DUP1 SLOAD DUP1 PUSH2 0x12D3 JUMPI PUSH2 0x12D2 PUSH2 0x2A67 JUMP JUMPDEST JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE SWAP1 SSTORE POP PUSH2 0x1321 JUMP JUMPDEST DUP1 DUP1 PUSH2 0x1319 SWAP1 PUSH2 0x29BE JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1197 JUMP JUMPDEST POP DUP7 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH32 0xF9BC9D5B5733D904409DEF43A5ECC888DBDAC9A95687780D8FD489D3BB3813FC DUP8 PUSH1 0x40 MLOAD PUSH2 0x135C SWAP2 SWAP1 PUSH2 0x2288 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP2 DUP2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x1394 SWAP1 PUSH2 0x2A07 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP PUSH1 0x3 PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP SWAP1 POP POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH32 0x464722B4166576D3DCBBA877B999BC35CF911F4EAF434B7EBA68FA113951D0BF CALLER PUSH1 0x40 MLOAD PUSH2 0x1500 SWAP2 SWAP1 PUSH2 0x2288 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 PUSH1 0x0 DUP8 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x15FE JUMPI PUSH1 0x40 MLOAD PUSH32 0x1F6A65B600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x0 DUP7 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP9 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x4 PUSH1 0x0 DUP10 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x1736 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x16EC JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP4 POP SWAP4 POP SWAP4 POP SWAP4 POP SWAP2 SWAP4 POP SWAP2 SWAP4 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 PUSH1 0x0 DUP5 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x17FD JUMPI PUSH1 0x40 MLOAD PUSH32 0x1F6A65B600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP5 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x3 PUSH1 0x0 DUP6 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 DUP3 DUP3 DUP3 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1895 SWAP2 SWAP1 PUSH2 0x278F JUMP JUMPDEST SWAP3 POP PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH32 0xD39EC07F4E209F627A4C427971473820DC129761BA28DE8906BD56F57101D4F8 DUP3 DUP5 DUP5 PUSH2 0x18FC SWAP2 SWAP1 PUSH2 0x278F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x190A SWAP3 SWAP2 SWAP1 PUSH2 0x25ED JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x4 PUSH3 0x2625A0 PUSH2 0xA8C PUSH2 0x8205 SWAP4 POP SWAP4 POP SWAP4 POP SWAP4 POP SWAP1 SWAP2 SWAP3 SWAP4 JUMP JUMPDEST DUP2 PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x19EE JUMPI PUSH1 0x40 MLOAD PUSH32 0x1F6A65B600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1A5E JUMPI DUP1 PUSH1 0x40 MLOAD PUSH32 0xD8A3FB5200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A55 SWAP2 SWAP1 PUSH2 0x2288 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH32 0xE8ED5B475A5B5987AA9165E8731BB78043F39EEE32EC5A1169A89E27FCD49815 DUP5 PUSH1 0x3 PUSH1 0x0 DUP9 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x40 MLOAD PUSH2 0x1ADC SWAP3 SWAP2 SWAP1 PUSH2 0x22A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x3 PUSH1 0x0 DUP6 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B8E SWAP1 PUSH2 0x2302 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x4 PUSH1 0x0 DUP6 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x1C41 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x1BF7 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x1CC0 JUMPI DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1C7E JUMPI PUSH2 0x1C7D PUSH2 0x2A96 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1CAD JUMPI PUSH1 0x1 SWAP3 POP POP POP PUSH2 0x1CC7 JUMP JUMPDEST DUP1 DUP1 PUSH2 0x1CB8 SWAP1 PUSH2 0x29BE JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1C4B JUMP JUMPDEST POP PUSH1 0x0 SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1CE0 PUSH2 0x1CDB DUP5 PUSH2 0x263B JUMP JUMPDEST PUSH2 0x2616 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x1D03 JUMPI PUSH2 0x1D02 PUSH2 0x2AF9 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x1D33 JUMPI DUP2 PUSH2 0x1D19 DUP9 DUP3 PUSH2 0x1DAA JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1D06 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1D4C DUP2 PUSH2 0x2B6B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1D67 JUMPI PUSH2 0x1D66 PUSH2 0x2AF4 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1D77 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1CCD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1D8F DUP2 PUSH2 0x2B82 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1DA4 DUP2 PUSH2 0x2B99 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1DB9 DUP2 PUSH2 0x2BB0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1DCE DUP2 PUSH2 0x2BC7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1DE3 DUP2 PUSH2 0x2BDE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1DF8 DUP2 PUSH2 0x2BF5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x1E1A JUMPI PUSH2 0x1E19 PUSH2 0x2B03 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1E28 DUP9 DUP3 DUP10 ADD PUSH2 0x1D80 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x1E39 DUP9 DUP3 DUP10 ADD PUSH2 0x1DD4 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x1E4A DUP9 DUP3 DUP10 ADD PUSH2 0x1D95 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x1E5B DUP9 DUP3 DUP10 ADD PUSH2 0x1DBF JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x1E6C DUP9 DUP3 DUP10 ADD PUSH2 0x1DBF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1E90 JUMPI PUSH2 0x1E8F PUSH2 0x2B03 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1E9E DUP6 DUP3 DUP7 ADD PUSH2 0x1DAA JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1EAF DUP6 DUP3 DUP7 ADD PUSH2 0x1D3D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1ED2 JUMPI PUSH2 0x1ED1 PUSH2 0x2B03 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1EE0 DUP7 DUP3 DUP8 ADD PUSH2 0x1DAA JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x1EF1 DUP7 DUP3 DUP8 ADD PUSH2 0x1D3D JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1F12 JUMPI PUSH2 0x1F11 PUSH2 0x2AFE JUMP JUMPDEST JUMPDEST PUSH2 0x1F1E DUP7 DUP3 DUP8 ADD PUSH2 0x1D52 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1F3E JUMPI PUSH2 0x1F3D PUSH2 0x2B03 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1F4C DUP5 DUP3 DUP6 ADD PUSH2 0x1DD4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1F6C JUMPI PUSH2 0x1F6B PUSH2 0x2B03 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1F7A DUP6 DUP3 DUP7 ADD PUSH2 0x1DD4 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1F8B DUP6 DUP3 DUP7 ADD PUSH2 0x1D3D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1FAC JUMPI PUSH2 0x1FAB PUSH2 0x2B03 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1FBA DUP6 DUP3 DUP7 ADD PUSH2 0x1DD4 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1FCB DUP6 DUP3 DUP7 ADD PUSH2 0x1DE9 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FE1 DUP4 DUP4 PUSH2 0x201D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FF9 DUP4 DUP4 PUSH2 0x2164 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2011 DUP4 DUP4 PUSH2 0x2217 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2026 DUP2 PUSH2 0x2893 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2035 DUP2 PUSH2 0x2893 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2046 DUP3 PUSH2 0x2697 JUMP JUMPDEST PUSH2 0x2050 DUP2 DUP6 PUSH2 0x26EA JUMP JUMPDEST SWAP4 POP PUSH2 0x205B DUP4 PUSH2 0x2667 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x208C JUMPI DUP2 MLOAD PUSH2 0x2073 DUP9 DUP3 PUSH2 0x1FD5 JUMP JUMPDEST SWAP8 POP PUSH2 0x207E DUP4 PUSH2 0x26C3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x205F JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20A4 DUP3 PUSH2 0x26A2 JUMP JUMPDEST PUSH2 0x20AE DUP2 DUP6 PUSH2 0x26FB JUMP JUMPDEST SWAP4 POP PUSH2 0x20B9 DUP4 PUSH2 0x2677 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x20EA JUMPI DUP2 MLOAD PUSH2 0x20D1 DUP9 DUP3 PUSH2 0x1FED JUMP JUMPDEST SWAP8 POP PUSH2 0x20DC DUP4 PUSH2 0x26D0 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x20BD JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2102 DUP3 PUSH2 0x26AD JUMP JUMPDEST PUSH2 0x210C DUP2 DUP6 PUSH2 0x270C JUMP JUMPDEST SWAP4 POP PUSH2 0x2117 DUP4 PUSH2 0x2687 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2148 JUMPI DUP2 MLOAD PUSH2 0x212F DUP9 DUP3 PUSH2 0x2005 JUMP JUMPDEST SWAP8 POP PUSH2 0x213A DUP4 PUSH2 0x26DD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x211B JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x215E DUP2 PUSH2 0x28A5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x216D DUP2 PUSH2 0x28B1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x217E DUP3 PUSH2 0x26B8 JUMP JUMPDEST PUSH2 0x2188 DUP2 DUP6 PUSH2 0x271D JUMP JUMPDEST SWAP4 POP PUSH2 0x2198 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x295A JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x21AD DUP2 PUSH2 0x28BB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21C0 PUSH1 0xF DUP4 PUSH2 0x2728 JUMP JUMPDEST SWAP2 POP PUSH2 0x21CB DUP3 PUSH2 0x2B19 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21E3 PUSH1 0x13 DUP4 PUSH2 0x2728 JUMP JUMPDEST SWAP2 POP PUSH2 0x21EE DUP3 PUSH2 0x2B42 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2202 DUP2 PUSH2 0x28C5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2211 DUP2 PUSH2 0x28F3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2220 DUP2 PUSH2 0x2902 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x222F DUP2 PUSH2 0x2902 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x223E DUP2 PUSH2 0x290C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x224D DUP2 PUSH2 0x291C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x225C DUP2 PUSH2 0x2948 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x226B DUP2 PUSH2 0x2930 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x227D DUP3 DUP5 PUSH2 0x2173 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x229D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x202C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x22B8 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x202C JUMP JUMPDEST PUSH2 0x22C5 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2253 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x22E1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2155 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x22FC PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x21A4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x231B DUP2 PUSH2 0x21B3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x233B DUP2 PUSH2 0x21D6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2357 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x21F9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x2372 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x21F9 JUMP JUMPDEST PUSH2 0x237F PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x2235 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x2391 DUP2 DUP5 PUSH2 0x2099 JUMP JUMPDEST SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x23B0 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x21F9 JUMP JUMPDEST PUSH2 0x23BD PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x2235 JUMP JUMPDEST PUSH2 0x23CA PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x2235 JUMP JUMPDEST PUSH2 0x23D7 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x2235 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x23F5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2226 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2410 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x2226 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x2422 DUP2 DUP5 PUSH2 0x20F7 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2440 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x2226 JUMP JUMPDEST PUSH2 0x244D PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2226 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x2469 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x2226 JUMP JUMPDEST PUSH2 0x2476 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x2226 JUMP JUMPDEST PUSH2 0x2483 PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x21F9 JUMP JUMPDEST PUSH2 0x2490 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x2235 JUMP JUMPDEST PUSH2 0x249D PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x2235 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x24BC PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x2226 JUMP JUMPDEST PUSH2 0x24C9 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x2262 JUMP JUMPDEST PUSH2 0x24D6 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x2155 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x120 DUP3 ADD SWAP1 POP PUSH2 0x24F4 PUSH1 0x0 DUP4 ADD DUP13 PUSH2 0x2235 JUMP JUMPDEST PUSH2 0x2501 PUSH1 0x20 DUP4 ADD DUP12 PUSH2 0x2235 JUMP JUMPDEST PUSH2 0x250E PUSH1 0x40 DUP4 ADD DUP11 PUSH2 0x2235 JUMP JUMPDEST PUSH2 0x251B PUSH1 0x60 DUP4 ADD DUP10 PUSH2 0x2235 JUMP JUMPDEST PUSH2 0x2528 PUSH1 0x80 DUP4 ADD DUP9 PUSH2 0x2235 JUMP JUMPDEST PUSH2 0x2535 PUSH1 0xA0 DUP4 ADD DUP8 PUSH2 0x2208 JUMP JUMPDEST PUSH2 0x2542 PUSH1 0xC0 DUP4 ADD DUP7 PUSH2 0x2208 JUMP JUMPDEST PUSH2 0x254F PUSH1 0xE0 DUP4 ADD DUP6 PUSH2 0x2208 JUMP JUMPDEST PUSH2 0x255D PUSH2 0x100 DUP4 ADD DUP5 PUSH2 0x2208 JUMP JUMPDEST SWAP11 SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2580 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2244 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x259B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2262 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x25B6 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x2262 JUMP JUMPDEST PUSH2 0x25C3 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x2244 JUMP JUMPDEST PUSH2 0x25D0 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x202C JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0x25E2 DUP2 DUP5 PUSH2 0x203B JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2602 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x2253 JUMP JUMPDEST PUSH2 0x260F PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2253 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2620 PUSH2 0x2631 JUMP JUMPDEST SWAP1 POP PUSH2 0x262C DUP3 DUP3 PUSH2 0x298D JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x2656 JUMPI PUSH2 0x2655 PUSH2 0x2AC5 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2744 DUP3 PUSH2 0x2902 JUMP JUMPDEST SWAP2 POP PUSH2 0x274F DUP4 PUSH2 0x2902 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x2784 JUMPI PUSH2 0x2783 PUSH2 0x2A38 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x279A DUP3 PUSH2 0x2930 JUMP JUMPDEST SWAP2 POP PUSH2 0x27A5 DUP4 PUSH2 0x2930 JUMP JUMPDEST SWAP3 POP DUP3 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x27C6 JUMPI PUSH2 0x27C5 PUSH2 0x2A38 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27DC DUP3 PUSH2 0x2902 JUMP JUMPDEST SWAP2 POP PUSH2 0x27E7 DUP4 PUSH2 0x2902 JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x2820 JUMPI PUSH2 0x281F PUSH2 0x2A38 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2836 DUP3 PUSH2 0x2902 JUMP JUMPDEST SWAP2 POP PUSH2 0x2841 DUP4 PUSH2 0x2902 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x2854 JUMPI PUSH2 0x2853 PUSH2 0x2A38 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x286A DUP3 PUSH2 0x2930 JUMP JUMPDEST SWAP2 POP PUSH2 0x2875 DUP4 PUSH2 0x2930 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x2888 JUMPI PUSH2 0x2887 PUSH2 0x2A38 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x289E DUP3 PUSH2 0x28D3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2953 DUP3 PUSH2 0x2930 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2978 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x295D JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x2987 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x2996 DUP3 PUSH2 0x2B08 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x29B5 JUMPI PUSH2 0x29B4 PUSH2 0x2AC5 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x29C9 DUP3 PUSH2 0x2902 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x29FC JUMPI PUSH2 0x29FB PUSH2 0x2A38 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A12 DUP3 PUSH2 0x291C JUMP JUMPDEST SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x2A2D JUMPI PUSH2 0x2A2C PUSH2 0x2A38 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x6E6F7420696D706C656D656E7465640000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x6E6F6E6578697374656E74207265717565737400000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x2B74 DUP2 PUSH2 0x2893 JUMP JUMPDEST DUP2 EQ PUSH2 0x2B7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2B8B DUP2 PUSH2 0x28B1 JUMP JUMPDEST DUP2 EQ PUSH2 0x2B96 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2BA2 DUP2 PUSH2 0x28C5 JUMP JUMPDEST DUP2 EQ PUSH2 0x2BAD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2BB9 DUP2 PUSH2 0x2902 JUMP JUMPDEST DUP2 EQ PUSH2 0x2BC4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2BD0 DUP2 PUSH2 0x290C JUMP JUMPDEST DUP2 EQ PUSH2 0x2BDB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2BE7 DUP2 PUSH2 0x291C JUMP JUMPDEST DUP2 EQ PUSH2 0x2BF2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2BFE DUP2 PUSH2 0x2930 JUMP JUMPDEST DUP2 EQ PUSH2 0x2C09 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH30 0x8DE9206264BD5F4843334446A4B5F848657D65C90E2BC2D9311B9BF6089A DUP13 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ","sourceMap":"254:9107:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6986:184;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;8985:135;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3391:1142;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8864:117;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;317:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5081:756;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8270:590;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;395:43;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7174:345;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2953:158;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9124:115;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7523:489;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5841:269;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;353:38;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6114:399;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;4735:342;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8016:250;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;6517:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9243:116;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1947:290;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6986:184;7069:6;7083;7097:16;7136:1;7139:7;7162:1;7148:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7128:37;;;;;;6986:184;;;:::o;8985:135::-;9090:25;;;;;;;;;;:::i;:::-;;;;;;;;3391:1142;3524:16;3543:9;3524:28;;3594:1;3562:10;:22;3573:10;3562:22;;;;;;;;;;;:28;;;;;;;;;;;;:33;;;3558:83;;;3605:29;;;;;;;;;;:::i;:::-;;;;;;;;3558:83;3646:18;3667:10;:22;3678:10;3667:22;;;;;;;;;;;3646:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3717:1;3700:6;:13;:18;3696:284;;;3751:3;:12;;;3737:27;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3728:36;;3777:9;3772:119;3796:3;:12;;;3792:16;;:1;:16;3772:119;;;3866:10;3878:1;3855:25;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3845:36;;;;;;3837:45;;3825:6;3832:1;3825:9;;;;;;;;:::i;:::-;;;;;;;:57;;;;;3810:3;;;;;:::i;:::-;;;;3772:119;;;;3696:284;;;3924:3;:12;;;3907:29;;:6;:13;:29;3903:77;;3953:20;;;;;;;;;;;;;;3903:77;3696:284;3986:19;4011:20;4057:32;;;4091:10;4103:6;4034:76;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4011:99;;4117:12;4135:9;:14;;4155:3;:20;;;4135:50;;4177:7;4135:50;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4116:69;;;4192:14;4253;4228:39;;4240:9;4229:8;:20;;;;:::i;:::-;4228:39;;;;:::i;:::-;4216:8;:52;;;;;;:::i;:::-;4192:77;;4316:7;4279:44;;:15;:26;4295:3;:9;;;4279:26;;;;;;;;;;;;;;;:34;;;;;;;;;;;;:44;;;4275:93;;;4340:21;;;;;;;;;;;;;;4275:93;4411:7;4373:15;:26;4389:3;:9;;;4373:26;;;;;;;;;;;;;;;:34;;;:45;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4432:10;:22;4443:10;4432:22;;;;;;;;;;;;4424:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4487:10;4466:62;4499:10;4511:7;4520;4466:62;;;;;;;;:::i;:::-;;;;;;;;3518:1015;;;;;;3391:1142;;;:::o;8864:117::-;8924:6;8945:16;8938:23;;8864:117;:::o;317:32::-;;;:::o;5081:756::-;5312:7;5283:6;5291:10;2313:34;2329:6;2337:9;2313:15;:34::i;:::-;2308:80;;2364:17;;;;;;;;;;;;;;2308:80;5372:1:::1;5331:43;;:15;:23;5347:6;5331:23;;;;;;;;;;;;;;;:29;;;;;;;;;;;;:43;;;5327:92;;;5391:21;;;;;;;;;;;;;;5327:92;5425:17;5445:15;;:17;;;;;;;;;:::i;:::-;;;;;5425:37;;5468:15;5486:13;;:15;;;;;;;;;:::i;:::-;;;;;5468:33;;5532:82;;;;;;;;5548:6;5532:82;;;;;;5574:17;5532:82;;;;;;5603:9;5532:82;;;;::::0;5508:10:::1;:21;5519:9;5508:21;;;;;;;;;;;:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5794:10;5626:184;;5702:6;5626:184;;5654:8;5626:184;5670:9;5687:7;5716:28;5752:17;5777:9;5626:184;;;;;;;;;;:::i;:::-;;;;;;;;5823:9;5816:16;;;;5081:756:::0;;;;;;;;;:::o;8270:590::-;8336:37;8381;8426;8471;8516;8561:19;8588;8615;8642;8691:6;8717;8743;8769;8795;8821:1;8830;8839;8848;8676:179;;;;;;;;;;;;;;;;;;8270:590;;;;;;;;;:::o;395:43::-;;;:::o;7174:345::-;7260:6;6779:13;6795:15;:23;6811:6;6795:23;;;;;;;;;;;;;;;:29;;;;;;;;;;;;6779:45;;6851:1;6834:19;;:5;:19;;;6830:68;;;6870:21;;;;;;;;;;;;;;6830:68;6921:5;6907:19;;:10;:19;;;6903:68;;6958:5;6943:21;;;;;;;;;;;:::i;:::-;;;;;;;;6903:68;7308:13:::1;7278:43;;:11;:19;7290:6;7278:19;;;;;;;;;;;;;;;:26;;;;:43;7274:89;;;7338:18;;;;;;;;;;;;;;7274:89;7373:34;7389:6;7397:9;7373:15;:34::i;:::-;7369:61;;;7417:7;;7369:61;7436:11;:19;7448:6;7436:19;;;;;;;;;;;;;;;7461:9;7436:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7496:6;7482:32;;;7504:9;7482:32;;;;;;:::i;:::-;;;;;;;;6976:1;6773:209:::0;7174:345;;;:::o;2953:158::-;3035:71;3066:10;3078:9;3103:1;3089:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3035:30;:71::i;:::-;2953:158;;:::o;9124:115::-;9209:25;;;;;;;;;;:::i;:::-;;;;;;;;7523:489;7624:6;6779:13;6795:15;:23;6811:6;6795:23;;;;;;;;;;;;;;;:29;;;;;;;;;;;;6779:45;;6851:1;6834:19;;:5;:19;;;6830:68;;;6870:21;;;;;;;;;;;;;;6830:68;6921:5;6907:19;;:10;:19;;;6903:68;;6958:5;6943:21;;;;;;;;;;;:::i;:::-;;;;;;;;6903:68;7654:6:::1;7662:9;2313:34;2329:6;2337:9;2313:15;:34::i;:::-;2308:80;;2364:17;;;;;;;;;;;;;;2308:80;7681:27:::2;7711:11;:19;7723:6;7711:19;;;;;;;;;;;;;;;7681:49;;7741:9;7736:226;7760:9;:16;;;;7756:1;:20;7736:226;;;7811:9;7795:25;;:9;7805:1;7795:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:25;;;7791:165;;;7832:12;7847:9;7876:1;7857:9;:16;;;;:20;;;;:::i;:::-;7847:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7832:46;;7903:4;7888:9;7898:1;7888:12;;;;;;;;:::i;:::-;;;;;;;;;;:19;;;;;;;;;;;;;;;;;;7917:9;:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;7942:5;;;7791:165;7778:3;;;;;:::i;:::-;;;;7736:226;;;;7989:6;7973:34;;;7997:9;7973:34;;;;;;:::i;:::-;;;;;;;;7675:337;6976:1:::1;;6773:209:::0;7523:489;;;:::o;5841:269::-;5898:13;5919:14;;:16;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;5975:45;;;;;;;;5996:10;5975:45;;;;;;6017:1;5975:45;;;;;5941:15;:31;5957:14;;;;;;;;;;;5941:31;;;;;;;;;;;;;;;:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6051:14;;;;;;;;;;6031:47;;;6067:10;6031:47;;;;;;:::i;:::-;;;;;;;;6091:14;;;;;;;;;;6084:21;;5841:269;:::o;353:38::-;;;:::o;6114:399::-;6209:14;6231:15;6254:13;6275:26;6361:1;6320:43;;:15;:23;6336:6;6320:23;;;;;;;;;;;;;;;:29;;;;;;;;;;;;:43;;;6316:92;;;6380:21;;;;;;;;;;;;;;6316:92;6421:15;:23;6437:6;6421:23;;;;;;;;;;;;;;;:31;;;;;;;;;;;;6454:1;6457:15;:23;6473:6;6457:23;;;;;;;;;;;;;;;:29;;;;;;;;;;;;6488:11;:19;6500:6;6488:19;;;;;;;;;;;;;;;6413:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6114:399;;;;;:::o;4735:342::-;4850:1;4809:43;;:15;:23;4825:6;4809:23;;;;;;;;;;;;;;;:29;;;;;;;;;;;;:43;;;4805:92;;;4869:21;;;;;;;;;;;;;;4805:92;4902:17;4922:15;:23;4938:6;4922:23;;;;;;;;;;;;;;;:31;;;;;;;;;;;;4902:51;;4994:7;4959:15;:23;4975:6;4959:23;;;;;;;;;;;;;;;:31;;;:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5031:6;5012:60;;;5039:10;5064:7;5051:10;:20;;;;:::i;:::-;5012:60;;;;;;;:::i;:::-;;;;;;;;4799:278;4735:342;;:::o;8016:250::-;8079:34;8121:18;8147:23;8178:33;8234:1;8237:9;8248:5;8255;8226:35;;;;;;;;8016:250;;;;:::o;6517:215::-;6604:6;6779:13;6795:15;:23;6811:6;6795:23;;;;;;;;;;;;;;;:29;;;;;;;;;;;;6779:45;;6851:1;6834:19;;:5;:19;;;6830:68;;;6870:21;;;;;;;;;;;;;;6830:68;6921:5;6907:19;;:10;:19;;;6903:68;;6958:5;6943:21;;;;;;;;;;;:::i;:::-;;;;;;;;6903:68;6644:6:::1;6623:66;;;6652:3;6657:15;:23;6673:6;6657:23;;;;;;;;;;;;;;;:31;;;;;;;;;;;;6623:66;;;;;;;:::i;:::-;;;;;;;;6703:15;:23;6719:6;6703:23;;;;;;;;;;;;;;;;6695:32:::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6773:209:::0;6517:215;;;:::o;9243:116::-;9317:4;9329:25;;;;;;;;;;:::i;:::-;;;;;;;;1947:290;2027:4;2039:26;2068:11;:19;2080:6;2068:19;;;;;;;;;;;;;;;2039:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2098:9;2093:122;2117:9;:16;2113:1;:20;2093:122;;;2168:9;2152:25;;:9;2162:1;2152:12;;;;;;;;:::i;:::-;;;;;;;;:25;;;2148:61;;;2196:4;2189:11;;;;;;2148:61;2135:3;;;;;:::i;:::-;;;;2093:122;;;;2227:5;2220:12;;;1947:290;;;;;:::o;24:722:67:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:143;;;404:79;;:::i;:::-;350:143;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;24:722;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;752:139;;;;:::o;914:370::-;985:5;1034:3;1027:4;1019:6;1015:17;1011:27;1001:122;;1042:79;;:::i;:::-;1001:122;1159:6;1146:20;1184:94;1274:3;1266:6;1259:4;1251:6;1247:17;1184:94;:::i;:::-;1175:103;;991:293;914:370;;;;:::o;1290:139::-;1336:5;1374:6;1361:20;1352:29;;1390:33;1417:5;1390:33;:::i;:::-;1290:139;;;;:::o;1435:137::-;1480:5;1518:6;1505:20;1496:29;;1534:32;1560:5;1534:32;:::i;:::-;1435:137;;;;:::o;1578:139::-;1624:5;1662:6;1649:20;1640:29;;1678:33;1705:5;1678:33;:::i;:::-;1578:139;;;;:::o;1723:137::-;1768:5;1806:6;1793:20;1784:29;;1822:32;1848:5;1822:32;:::i;:::-;1723:137;;;;:::o;1866:::-;1911:5;1949:6;1936:20;1927:29;;1965:32;1991:5;1965:32;:::i;:::-;1866:137;;;;:::o;2009:::-;2054:5;2092:6;2079:20;2070:29;;2108:32;2134:5;2108:32;:::i;:::-;2009:137;;;;:::o;2152:903::-;2243:6;2251;2259;2267;2275;2324:3;2312:9;2303:7;2299:23;2295:33;2292:120;;;2331:79;;:::i;:::-;2292:120;2451:1;2476:53;2521:7;2512:6;2501:9;2497:22;2476:53;:::i;:::-;2466:63;;2422:117;2578:2;2604:52;2648:7;2639:6;2628:9;2624:22;2604:52;:::i;:::-;2594:62;;2549:117;2705:2;2731:52;2775:7;2766:6;2755:9;2751:22;2731:52;:::i;:::-;2721:62;;2676:117;2832:2;2858:52;2902:7;2893:6;2882:9;2878:22;2858:52;:::i;:::-;2848:62;;2803:117;2959:3;2986:52;3030:7;3021:6;3010:9;3006:22;2986:52;:::i;:::-;2976:62;;2930:118;2152:903;;;;;;;;:::o;3061:474::-;3129:6;3137;3186:2;3174:9;3165:7;3161:23;3157:32;3154:119;;;3192:79;;:::i;:::-;3154:119;3312:1;3337:53;3382:7;3373:6;3362:9;3358:22;3337:53;:::i;:::-;3327:63;;3283:117;3439:2;3465:53;3510:7;3501:6;3490:9;3486:22;3465:53;:::i;:::-;3455:63;;3410:118;3061:474;;;;;:::o;3541:829::-;3643:6;3651;3659;3708:2;3696:9;3687:7;3683:23;3679:32;3676:119;;;3714:79;;:::i;:::-;3676:119;3834:1;3859:53;3904:7;3895:6;3884:9;3880:22;3859:53;:::i;:::-;3849:63;;3805:117;3961:2;3987:53;4032:7;4023:6;4012:9;4008:22;3987:53;:::i;:::-;3977:63;;3932:118;4117:2;4106:9;4102:18;4089:32;4148:18;4140:6;4137:30;4134:117;;;4170:79;;:::i;:::-;4134:117;4275:78;4345:7;4336:6;4325:9;4321:22;4275:78;:::i;:::-;4265:88;;4060:303;3541:829;;;;;:::o;4376:327::-;4434:6;4483:2;4471:9;4462:7;4458:23;4454:32;4451:119;;;4489:79;;:::i;:::-;4451:119;4609:1;4634:52;4678:7;4669:6;4658:9;4654:22;4634:52;:::i;:::-;4624:62;;4580:116;4376:327;;;;:::o;4709:472::-;4776:6;4784;4833:2;4821:9;4812:7;4808:23;4804:32;4801:119;;;4839:79;;:::i;:::-;4801:119;4959:1;4984:52;5028:7;5019:6;5008:9;5004:22;4984:52;:::i;:::-;4974:62;;4930:116;5085:2;5111:53;5156:7;5147:6;5136:9;5132:22;5111:53;:::i;:::-;5101:63;;5056:118;4709:472;;;;;:::o;5187:470::-;5253:6;5261;5310:2;5298:9;5289:7;5285:23;5281:32;5278:119;;;5316:79;;:::i;:::-;5278:119;5436:1;5461:52;5505:7;5496:6;5485:9;5481:22;5461:52;:::i;:::-;5451:62;;5407:116;5562:2;5588:52;5632:7;5623:6;5612:9;5608:22;5588:52;:::i;:::-;5578:62;;5533:117;5187:470;;;;;:::o;5663:179::-;5732:10;5753:46;5795:3;5787:6;5753:46;:::i;:::-;5831:4;5826:3;5822:14;5808:28;;5663:179;;;;:::o;5848:::-;5917:10;5938:46;5980:3;5972:6;5938:46;:::i;:::-;6016:4;6011:3;6007:14;5993:28;;5848:179;;;;:::o;6033:::-;6102:10;6123:46;6165:3;6157:6;6123:46;:::i;:::-;6201:4;6196:3;6192:14;6178:28;;6033:179;;;;:::o;6218:108::-;6295:24;6313:5;6295:24;:::i;:::-;6290:3;6283:37;6218:108;;:::o;6332:118::-;6419:24;6437:5;6419:24;:::i;:::-;6414:3;6407:37;6332:118;;:::o;6486:732::-;6605:3;6634:54;6682:5;6634:54;:::i;:::-;6704:86;6783:6;6778:3;6704:86;:::i;:::-;6697:93;;6814:56;6864:5;6814:56;:::i;:::-;6893:7;6924:1;6909:284;6934:6;6931:1;6928:13;6909:284;;;7010:6;7004:13;7037:63;7096:3;7081:13;7037:63;:::i;:::-;7030:70;;7123:60;7176:6;7123:60;:::i;:::-;7113:70;;6969:224;6956:1;6953;6949:9;6944:14;;6909:284;;;6913:14;7209:3;7202:10;;6610:608;;;6486:732;;;;:::o;7254:::-;7373:3;7402:54;7450:5;7402:54;:::i;:::-;7472:86;7551:6;7546:3;7472:86;:::i;:::-;7465:93;;7582:56;7632:5;7582:56;:::i;:::-;7661:7;7692:1;7677:284;7702:6;7699:1;7696:13;7677:284;;;7778:6;7772:13;7805:63;7864:3;7849:13;7805:63;:::i;:::-;7798:70;;7891:60;7944:6;7891:60;:::i;:::-;7881:70;;7737:224;7724:1;7721;7717:9;7712:14;;7677:284;;;7681:14;7977:3;7970:10;;7378:608;;;7254:732;;;;:::o;8022:::-;8141:3;8170:54;8218:5;8170:54;:::i;:::-;8240:86;8319:6;8314:3;8240:86;:::i;:::-;8233:93;;8350:56;8400:5;8350:56;:::i;:::-;8429:7;8460:1;8445:284;8470:6;8467:1;8464:13;8445:284;;;8546:6;8540:13;8573:63;8632:3;8617:13;8573:63;:::i;:::-;8566:70;;8659:60;8712:6;8659:60;:::i;:::-;8649:70;;8505:224;8492:1;8489;8485:9;8480:14;;8445:284;;;8449:14;8745:3;8738:10;;8146:608;;;8022:732;;;;:::o;8760:109::-;8841:21;8856:5;8841:21;:::i;:::-;8836:3;8829:34;8760:109;;:::o;8875:108::-;8952:24;8970:5;8952:24;:::i;:::-;8947:3;8940:37;8875:108;;:::o;8989:373::-;9093:3;9121:38;9153:5;9121:38;:::i;:::-;9175:88;9256:6;9251:3;9175:88;:::i;:::-;9168:95;;9272:52;9317:6;9312:3;9305:4;9298:5;9294:16;9272:52;:::i;:::-;9349:6;9344:3;9340:16;9333:23;;9097:265;8989:373;;;;:::o;9368:115::-;9453:23;9470:5;9453:23;:::i;:::-;9448:3;9441:36;9368:115;;:::o;9489:366::-;9631:3;9652:67;9716:2;9711:3;9652:67;:::i;:::-;9645:74;;9728:93;9817:3;9728:93;:::i;:::-;9846:2;9841:3;9837:12;9830:19;;9489:366;;;:::o;9861:::-;10003:3;10024:67;10088:2;10083:3;10024:67;:::i;:::-;10017:74;;10100:93;10189:3;10100:93;:::i;:::-;10218:2;10213:3;10209:12;10202:19;;9861:366;;;:::o;10233:115::-;10318:23;10335:5;10318:23;:::i;:::-;10313:3;10306:36;10233:115;;:::o;10354:::-;10439:23;10456:5;10439:23;:::i;:::-;10434:3;10427:36;10354:115;;:::o;10475:108::-;10552:24;10570:5;10552:24;:::i;:::-;10547:3;10540:37;10475:108;;:::o;10589:118::-;10676:24;10694:5;10676:24;:::i;:::-;10671:3;10664:37;10589:118;;:::o;10713:115::-;10798:23;10815:5;10798:23;:::i;:::-;10793:3;10786:36;10713:115;;:::o;10834:::-;10919:23;10936:5;10919:23;:::i;:::-;10914:3;10907:36;10834:115;;:::o;10955:129::-;11041:36;11071:5;11041:36;:::i;:::-;11036:3;11029:49;10955:129;;:::o;11090:115::-;11175:23;11192:5;11175:23;:::i;:::-;11170:3;11163:36;11090:115;;:::o;11211:271::-;11341:3;11363:93;11452:3;11443:6;11363:93;:::i;:::-;11356:100;;11473:3;11466:10;;11211:271;;;;:::o;11488:222::-;11581:4;11619:2;11608:9;11604:18;11596:26;;11632:71;11700:1;11689:9;11685:17;11676:6;11632:71;:::i;:::-;11488:222;;;;:::o;11716:330::-;11836:4;11874:2;11863:9;11859:18;11851:26;;11887:71;11955:1;11944:9;11940:17;11931:6;11887:71;:::i;:::-;11968;12035:2;12024:9;12020:18;12011:6;11968:71;:::i;:::-;11716:330;;;;;:::o;12052:210::-;12139:4;12177:2;12166:9;12162:18;12154:26;;12190:65;12252:1;12241:9;12237:17;12228:6;12190:65;:::i;:::-;12052:210;;;;:::o;12268:218::-;12359:4;12397:2;12386:9;12382:18;12374:26;;12410:69;12476:1;12465:9;12461:17;12452:6;12410:69;:::i;:::-;12268:218;;;;:::o;12492:419::-;12658:4;12696:2;12685:9;12681:18;12673:26;;12745:9;12739:4;12735:20;12731:1;12720:9;12716:17;12709:47;12773:131;12899:4;12773:131;:::i;:::-;12765:139;;12492:419;;;:::o;12917:::-;13083:4;13121:2;13110:9;13106:18;13098:26;;13170:9;13164:4;13160:20;13156:1;13145:9;13141:17;13134:47;13198:131;13324:4;13198:131;:::i;:::-;13190:139;;12917:419;;;:::o;13342:218::-;13433:4;13471:2;13460:9;13456:18;13448:26;;13484:69;13550:1;13539:9;13535:17;13526:6;13484:69;:::i;:::-;13342:218;;;;:::o;13566:585::-;13761:4;13799:2;13788:9;13784:18;13776:26;;13812:69;13878:1;13867:9;13863:17;13854:6;13812:69;:::i;:::-;13891:70;13957:2;13946:9;13942:18;13933:6;13891:70;:::i;:::-;14008:9;14002:4;13998:20;13993:2;13982:9;13978:18;13971:48;14036:108;14139:4;14130:6;14036:108;:::i;:::-;14028:116;;13566:585;;;;;;:::o;14157:537::-;14326:4;14364:3;14353:9;14349:19;14341:27;;14378:69;14444:1;14433:9;14429:17;14420:6;14378:69;:::i;:::-;14457:70;14523:2;14512:9;14508:18;14499:6;14457:70;:::i;:::-;14537;14603:2;14592:9;14588:18;14579:6;14537:70;:::i;:::-;14617;14683:2;14672:9;14668:18;14659:6;14617:70;:::i;:::-;14157:537;;;;;;;:::o;14700:222::-;14793:4;14831:2;14820:9;14816:18;14808:26;;14844:71;14912:1;14901:9;14897:17;14888:6;14844:71;:::i;:::-;14700:222;;;;:::o;14928:483::-;15099:4;15137:2;15126:9;15122:18;15114:26;;15150:71;15218:1;15207:9;15203:17;15194:6;15150:71;:::i;:::-;15268:9;15262:4;15258:20;15253:2;15242:9;15238:18;15231:48;15296:108;15399:4;15390:6;15296:108;:::i;:::-;15288:116;;14928:483;;;;;:::o;15417:332::-;15538:4;15576:2;15565:9;15561:18;15553:26;;15589:71;15657:1;15646:9;15642:17;15633:6;15589:71;:::i;:::-;15670:72;15738:2;15727:9;15723:18;15714:6;15670:72;:::i;:::-;15417:332;;;;;:::o;15755:652::-;15954:4;15992:3;15981:9;15977:19;15969:27;;16006:71;16074:1;16063:9;16059:17;16050:6;16006:71;:::i;:::-;16087:72;16155:2;16144:9;16140:18;16131:6;16087:72;:::i;:::-;16169:70;16235:2;16224:9;16220:18;16211:6;16169:70;:::i;:::-;16249;16315:2;16304:9;16300:18;16291:6;16249:70;:::i;:::-;16329:71;16395:3;16384:9;16380:19;16371:6;16329:71;:::i;:::-;15755:652;;;;;;;;:::o;16413:426::-;16554:4;16592:2;16581:9;16577:18;16569:26;;16605:71;16673:1;16662:9;16658:17;16649:6;16605:71;:::i;:::-;16686:70;16752:2;16741:9;16737:18;16728:6;16686:70;:::i;:::-;16766:66;16828:2;16817:9;16813:18;16804:6;16766:66;:::i;:::-;16413:426;;;;;;:::o;16845:1072::-;17144:4;17182:3;17171:9;17167:19;17159:27;;17196:69;17262:1;17251:9;17247:17;17238:6;17196:69;:::i;:::-;17275:70;17341:2;17330:9;17326:18;17317:6;17275:70;:::i;:::-;17355;17421:2;17410:9;17406:18;17397:6;17355:70;:::i;:::-;17435;17501:2;17490:9;17486:18;17477:6;17435:70;:::i;:::-;17515:71;17581:3;17570:9;17566:19;17557:6;17515:71;:::i;:::-;17596;17662:3;17651:9;17647:19;17638:6;17596:71;:::i;:::-;17677;17743:3;17732:9;17728:19;17719:6;17677:71;:::i;:::-;17758;17824:3;17813:9;17809:19;17800:6;17758:71;:::i;:::-;17839;17905:3;17894:9;17890:19;17881:6;17839:71;:::i;:::-;16845:1072;;;;;;;;;;;;:::o;17923:218::-;18014:4;18052:2;18041:9;18037:18;18029:26;;18065:69;18131:1;18120:9;18116:17;18107:6;18065:69;:::i;:::-;17923:218;;;;:::o;18147:::-;18238:4;18276:2;18265:9;18261:18;18253:26;;18289:69;18355:1;18344:9;18340:17;18331:6;18289:69;:::i;:::-;18147:218;;;;:::o;18371:696::-;18594:4;18632:3;18621:9;18617:19;18609:27;;18646:69;18712:1;18701:9;18697:17;18688:6;18646:69;:::i;:::-;18725:70;18791:2;18780:9;18776:18;18767:6;18725:70;:::i;:::-;18805:72;18873:2;18862:9;18858:18;18849:6;18805:72;:::i;:::-;18924:9;18918:4;18914:20;18909:2;18898:9;18894:18;18887:48;18952:108;19055:4;19046:6;18952:108;:::i;:::-;18944:116;;18371:696;;;;;;;:::o;19073:328::-;19192:4;19230:2;19219:9;19215:18;19207:26;;19243:70;19310:1;19299:9;19295:17;19286:6;19243:70;:::i;:::-;19323:71;19390:2;19379:9;19375:18;19366:6;19323:71;:::i;:::-;19073:328;;;;;:::o;19407:129::-;19441:6;19468:20;;:::i;:::-;19458:30;;19497:33;19525:4;19517:6;19497:33;:::i;:::-;19407:129;;;:::o;19542:75::-;19575:6;19608:2;19602:9;19592:19;;19542:75;:::o;19623:311::-;19700:4;19790:18;19782:6;19779:30;19776:56;;;19812:18;;:::i;:::-;19776:56;19862:4;19854:6;19850:17;19842:25;;19922:4;19916;19912:15;19904:23;;19623:311;;;:::o;19940:132::-;20007:4;20030:3;20022:11;;20060:4;20055:3;20051:14;20043:22;;19940:132;;;:::o;20078:::-;20145:4;20168:3;20160:11;;20198:4;20193:3;20189:14;20181:22;;20078:132;;;:::o;20216:::-;20283:4;20306:3;20298:11;;20336:4;20331:3;20327:14;20319:22;;20216:132;;;:::o;20354:114::-;20421:6;20455:5;20449:12;20439:22;;20354:114;;;:::o;20474:::-;20541:6;20575:5;20569:12;20559:22;;20474:114;;;:::o;20594:::-;20661:6;20695:5;20689:12;20679:22;;20594:114;;;:::o;20714:98::-;20765:6;20799:5;20793:12;20783:22;;20714:98;;;:::o;20818:113::-;20888:4;20920;20915:3;20911:14;20903:22;;20818:113;;;:::o;20937:::-;21007:4;21039;21034:3;21030:14;21022:22;;20937:113;;;:::o;21056:::-;21126:4;21158;21153:3;21149:14;21141:22;;21056:113;;;:::o;21175:184::-;21274:11;21308:6;21303:3;21296:19;21348:4;21343:3;21339:14;21324:29;;21175:184;;;;:::o;21365:::-;21464:11;21498:6;21493:3;21486:19;21538:4;21533:3;21529:14;21514:29;;21365:184;;;;:::o;21555:::-;21654:11;21688:6;21683:3;21676:19;21728:4;21723:3;21719:14;21704:29;;21555:184;;;;:::o;21745:147::-;21846:11;21883:3;21868:18;;21745:147;;;;:::o;21898:169::-;21982:11;22016:6;22011:3;22004:19;22056:4;22051:3;22047:14;22032:29;;21898:169;;;;:::o;22073:305::-;22113:3;22132:20;22150:1;22132:20;:::i;:::-;22127:25;;22166:20;22184:1;22166:20;:::i;:::-;22161:25;;22320:1;22252:66;22248:74;22245:1;22242:81;22239:107;;;22326:18;;:::i;:::-;22239:107;22370:1;22367;22363:9;22356:16;;22073:305;;;;:::o;22384:262::-;22423:3;22442:19;22459:1;22442:19;:::i;:::-;22437:24;;22475:19;22492:1;22475:19;:::i;:::-;22470:24;;22588:1;22560:26;22556:34;22553:1;22550:41;22547:67;;;22594:18;;:::i;:::-;22547:67;22638:1;22635;22631:9;22624:16;;22384:262;;;;:::o;22652:348::-;22692:7;22715:20;22733:1;22715:20;:::i;:::-;22710:25;;22749:20;22767:1;22749:20;:::i;:::-;22744:25;;22937:1;22869:66;22865:74;22862:1;22859:81;22854:1;22847:9;22840:17;22836:105;22833:131;;;22944:18;;:::i;:::-;22833:131;22992:1;22989;22985:9;22974:20;;22652:348;;;;:::o;23006:191::-;23046:4;23066:20;23084:1;23066:20;:::i;:::-;23061:25;;23100:20;23118:1;23100:20;:::i;:::-;23095:25;;23139:1;23136;23133:8;23130:34;;;23144:18;;:::i;:::-;23130:34;23189:1;23186;23182:9;23174:17;;23006:191;;;;:::o;23203:188::-;23242:4;23262:19;23279:1;23262:19;:::i;:::-;23257:24;;23295:19;23312:1;23295:19;:::i;:::-;23290:24;;23333:1;23330;23327:8;23324:34;;;23338:18;;:::i;:::-;23324:34;23383:1;23380;23376:9;23368:17;;23203:188;;;;:::o;23397:96::-;23434:7;23463:24;23481:5;23463:24;:::i;:::-;23452:35;;23397:96;;;:::o;23499:90::-;23533:7;23576:5;23569:13;23562:21;23551:32;;23499:90;;;:::o;23595:77::-;23632:7;23661:5;23650:16;;23595:77;;;:::o;23678:76::-;23714:7;23743:5;23732:16;;23678:76;;;:::o;23760:89::-;23796:7;23836:6;23829:5;23825:18;23814:29;;23760:89;;;:::o;23855:126::-;23892:7;23932:42;23925:5;23921:54;23910:65;;23855:126;;;:::o;23987:91::-;24023:7;24063:8;24056:5;24052:20;24041:31;;23987:91;;;:::o;24084:77::-;24121:7;24150:5;24139:16;;24084:77;;;:::o;24167:93::-;24203:7;24243:10;24236:5;24232:22;24221:33;;24167:93;;;:::o;24266:101::-;24302:7;24342:18;24335:5;24331:30;24320:41;;24266:101;;;:::o;24373:109::-;24409:7;24449:26;24442:5;24438:38;24427:49;;24373:109;;;:::o;24488:111::-;24537:9;24570:23;24587:5;24570:23;:::i;:::-;24557:36;;24488:111;;;:::o;24605:307::-;24673:1;24683:113;24697:6;24694:1;24691:13;24683:113;;;24782:1;24777:3;24773:11;24767:18;24763:1;24758:3;24754:11;24747:39;24719:2;24716:1;24712:10;24707:15;;24683:113;;;24814:6;24811:1;24808:13;24805:101;;;24894:1;24885:6;24880:3;24876:16;24869:27;24805:101;24654:258;24605:307;;;:::o;24918:281::-;25001:27;25023:4;25001:27;:::i;:::-;24993:6;24989:40;25131:6;25119:10;25116:22;25095:18;25083:10;25080:34;25077:62;25074:88;;;25142:18;;:::i;:::-;25074:88;25182:10;25178:2;25171:22;24961:238;24918:281;;:::o;25205:233::-;25244:3;25267:24;25285:5;25267:24;:::i;:::-;25258:33;;25313:66;25306:5;25303:77;25300:103;;;25383:18;;:::i;:::-;25300:103;25430:1;25423:5;25419:13;25412:20;;25205:233;;;:::o;25444:183::-;25482:3;25505:23;25522:5;25505:23;:::i;:::-;25496:32;;25550:18;25543:5;25540:29;25537:55;;;25572:18;;:::i;:::-;25537:55;25619:1;25612:5;25608:13;25601:20;;25444:183;;;:::o;25633:180::-;25681:77;25678:1;25671:88;25778:4;25775:1;25768:15;25802:4;25799:1;25792:15;25819:180;25867:77;25864:1;25857:88;25964:4;25961:1;25954:15;25988:4;25985:1;25978:15;26005:180;26053:77;26050:1;26043:88;26150:4;26147:1;26140:15;26174:4;26171:1;26164:15;26191:180;26239:77;26236:1;26229:88;26336:4;26333:1;26326:15;26360:4;26357:1;26350:15;26377:117;26486:1;26483;26476:12;26500:117;26609:1;26606;26599:12;26623:117;26732:1;26729;26722:12;26746:117;26855:1;26852;26845:12;26869:102;26910:6;26961:2;26957:7;26952:2;26945:5;26941:14;26937:28;26927:38;;26869:102;;;:::o;26977:165::-;27117:17;27113:1;27105:6;27101:14;27094:41;26977:165;:::o;27148:169::-;27288:21;27284:1;27276:6;27272:14;27265:45;27148:169;:::o;27323:122::-;27396:24;27414:5;27396:24;:::i;:::-;27389:5;27386:35;27376:63;;27435:1;27432;27425:12;27376:63;27323:122;:::o;27451:::-;27524:24;27542:5;27524:24;:::i;:::-;27517:5;27514:35;27504:63;;27563:1;27560;27553:12;27504:63;27451:122;:::o;27579:120::-;27651:23;27668:5;27651:23;:::i;:::-;27644:5;27641:34;27631:62;;27689:1;27686;27679:12;27631:62;27579:120;:::o;27705:122::-;27778:24;27796:5;27778:24;:::i;:::-;27771:5;27768:35;27758:63;;27817:1;27814;27807:12;27758:63;27705:122;:::o;27833:120::-;27905:23;27922:5;27905:23;:::i;:::-;27898:5;27895:34;27885:62;;27943:1;27940;27933:12;27885:62;27833:120;:::o;27959:::-;28031:23;28048:5;28031:23;:::i;:::-;28024:5;28021:34;28011:62;;28069:1;28066;28059:12;28011:62;27959:120;:::o;28085:::-;28157:23;28174:5;28157:23;:::i;:::-;28150:5;28147:34;28137:62;;28195:1;28192;28185:12;28137:62;28085:120;:::o"},"gasEstimates":{"creation":{"codeDepositCost":"2266000","executionCost":"infinite","totalCost":"infinite"},"external":{"BASE_FEE()":"infinite","GAS_PRICE_LINK()":"infinite","MAX_CONSUMERS()":"infinite","acceptSubscriptionOwnerTransfer(uint64)":"723","addConsumer(uint64,address)":"infinite","cancelSubscription(uint64,address)":"infinite","consumerIsAdded(uint64,address)":"infinite","createSubscription()":"infinite","fulfillRandomWords(uint256,address)":"infinite","fulfillRandomWordsWithOverride(uint256,address,uint256[])":"infinite","fundSubscription(uint64,uint96)":"infinite","getConfig()":"infinite","getFallbackWeiPerUnitLink()":"427","getFeeConfig()":"infinite","getRequestConfig()":"908","getSubscription(uint64)":"infinite","pendingRequestExists(uint64)":"791","removeConsumer(uint64,address)":"infinite","requestRandomWords(bytes32,uint64,uint16,uint32,uint32)":"infinite","requestSubscriptionOwnerTransfer(uint64,address)":"966"}},"methodIdentifiers":{"BASE_FEE()":"3d18651e","GAS_PRICE_LINK()":"a410347f","MAX_CONSUMERS()":"64d51a2a","acceptSubscriptionOwnerTransfer(uint64)":"82359740","addConsumer(uint64,address)":"7341c10c","cancelSubscription(uint64,address)":"d7ae1d30","consumerIsAdded(uint64,address)":"ed5eb06d","createSubscription()":"a21a23e4","fulfillRandomWords(uint256,address)":"808974ff","fulfillRandomWordsWithOverride(uint256,address,uint256[])":"08e3898e","fundSubscription(uint64,uint96)":"afc69b53","getConfig()":"c3f909d4","getFallbackWeiPerUnitLink()":"356dac71","getFeeConfig()":"5fbbc0d2","getRequestConfig()":"00012291","getSubscription(uint64)":"a47c7696","pendingRequestExists(uint64)":"e82ad7d4","removeConsumer(uint64,address)":"9f87fad7","requestRandomWords(bytes32,uint64,uint16,uint32,uint32)":"5d3b1d30","requestSubscriptionOwnerTransfer(uint64,address)":"04c357cb"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint96\",\"name\":\"_baseFee\",\"type\":\"uint96\"},{\"internalType\":\"uint96\",\"name\":\"_gasPriceLink\",\"type\":\"uint96\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidConsumer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRandomWords\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSubscription\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"MustBeSubOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooManyConsumers\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"consumer\",\"type\":\"address\"}],\"name\":\"ConsumerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"consumer\",\"type\":\"address\"}],\"name\":\"ConsumerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"outputSeed\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint96\",\"name\":\"payment\",\"type\":\"uint96\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"name\":\"RandomWordsFulfilled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"keyHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"preSeed\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"minimumRequestConfirmations\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"callbackGasLimit\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"numWords\",\"type\":\"uint32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RandomWordsRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"SubscriptionCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"SubscriptionCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"SubscriptionFunded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BASE_FEE\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"\",\"type\":\"uint96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GAS_PRICE_LINK\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"\",\"type\":\"uint96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_CONSUMERS\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_subId\",\"type\":\"uint64\"}],\"name\":\"acceptSubscriptionOwnerTransfer\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_subId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"_consumer\",\"type\":\"address\"}],\"name\":\"addConsumer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_subId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"cancelSubscription\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_subId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"_consumer\",\"type\":\"address\"}],\"name\":\"consumerIsAdded\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"createSubscription\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"_subId\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requestId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_consumer\",\"type\":\"address\"}],\"name\":\"fulfillRandomWords\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requestId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_consumer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_words\",\"type\":\"uint256[]\"}],\"name\":\"fulfillRandomWordsWithOverride\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_subId\",\"type\":\"uint64\"},{\"internalType\":\"uint96\",\"name\":\"_amount\",\"type\":\"uint96\"}],\"name\":\"fundSubscription\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConfig\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"minimumRequestConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"maxGasLimit\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"stalenessSeconds\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"gasAfterPaymentCalculation\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFallbackWeiPerUnitLink\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeConfig\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"fulfillmentFlatFeeLinkPPMTier1\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"fulfillmentFlatFeeLinkPPMTier2\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"fulfillmentFlatFeeLinkPPMTier3\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"fulfillmentFlatFeeLinkPPMTier4\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"fulfillmentFlatFeeLinkPPMTier5\",\"type\":\"uint32\"},{\"internalType\":\"uint24\",\"name\":\"reqsForTier2\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"reqsForTier3\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"reqsForTier4\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"reqsForTier5\",\"type\":\"uint24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRequestConfig\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_subId\",\"type\":\"uint64\"}],\"name\":\"getSubscription\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"balance\",\"type\":\"uint96\"},{\"internalType\":\"uint64\",\"name\":\"reqCount\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"consumers\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"}],\"name\":\"pendingRequestExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_subId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"_consumer\",\"type\":\"address\"}],\"name\":\"removeConsumer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_keyHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"_subId\",\"type\":\"uint64\"},{\"internalType\":\"uint16\",\"name\":\"_minimumRequestConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"_callbackGasLimit\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"_numWords\",\"type\":\"uint32\"}],\"name\":\"requestRandomWords\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_subId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"requestSubscriptionOwnerTransfer\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"createSubscription()\":{\"details\":\"You can manage the consumer set dynamically with addConsumer/removeConsumer.Note to fund the subscription, use transferAndCall. For exampleLINKTOKEN.transferAndCall(address(COORDINATOR),amount,abi.encode(subId));\",\"returns\":{\"_subId\":\"- A unique subscription id.\"}},\"fulfillRandomWords(uint256,address)\":{\"details\":\"This mock uses a simplified formula for calculating payment amount and gas usage, and doesnot account for all edge cases handled in the real VRF coordinator. When making requestsagainst the real coordinator a small amount of additional LINK is required.\",\"params\":{\"_consumer\":\"the VRF randomness consumer to send the result to\",\"_requestId\":\"the request to fulfill\"}},\"fulfillRandomWordsWithOverride(uint256,address,uint256[])\":{\"params\":{\"_consumer\":\"the VRF randomness consumer to send the result to\",\"_requestId\":\"the request to fulfill\",\"_words\":\"user-provided random words\"}},\"fundSubscription(uint64,uint96)\":{\"params\":{\"_amount\":\"the amount to fund\",\"_subId\":\"the subscription to fund\"}},\"getRequestConfig()\":{\"returns\":{\"_0\":\"minimumRequestConfirmations global min for request confirmations\",\"_1\":\"maxGasLimit global max for request gas limit\",\"_2\":\"s_provingKeyHashes list of registered key hashes\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"createSubscription()\":{\"notice\":\"Create a VRF subscription.\"},\"fulfillRandomWords(uint256,address)\":{\"notice\":\"fulfillRandomWords fulfills the given request, sending the random words to the suppliedconsumer.\"},\"fulfillRandomWordsWithOverride(uint256,address,uint256[])\":{\"notice\":\"fulfillRandomWordsWithOverride allows the user to pass in their own random words.\"},\"fundSubscription(uint64,uint96)\":{\"notice\":\"fundSubscription allows funding a subscription with an arbitrary amount for testing.\"},\"getRequestConfig()\":{\"notice\":\"Get configuration relevant for making requests\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol\":\"VRFCoordinatorV2Mock\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/VRFConsumerBaseV2.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.4;\\n\\n/** ****************************************************************************\\n * @notice Interface for contracts using VRF randomness\\n * *****************************************************************************\\n * @dev PURPOSE\\n *\\n * @dev Reggie the Random Oracle (not his real job) wants to provide randomness\\n * @dev to Vera the verifier in such a way that Vera can be sure he's not\\n * @dev making his output up to suit himself. Reggie provides Vera a public key\\n * @dev to which he knows the secret key. Each time Vera provides a seed to\\n * @dev Reggie, he gives back a value which is computed completely\\n * @dev deterministically from the seed and the secret key.\\n *\\n * @dev Reggie provides a proof by which Vera can verify that the output was\\n * @dev correctly computed once Reggie tells it to her, but without that proof,\\n * @dev the output is indistinguishable to her from a uniform random sample\\n * @dev from the output space.\\n *\\n * @dev The purpose of this contract is to make it easy for unrelated contracts\\n * @dev to talk to Vera the verifier about the work Reggie is doing, to provide\\n * @dev simple access to a verifiable source of randomness. It ensures 2 things:\\n * @dev 1. The fulfillment came from the VRFCoordinator\\n * @dev 2. The consumer contract implements fulfillRandomWords.\\n * *****************************************************************************\\n * @dev USAGE\\n *\\n * @dev Calling contracts must inherit from VRFConsumerBase, and can\\n * @dev initialize VRFConsumerBase's attributes in their constructor as\\n * @dev shown:\\n *\\n * @dev   contract VRFConsumer {\\n * @dev     constructor(<other arguments>, address _vrfCoordinator, address _link)\\n * @dev       VRFConsumerBase(_vrfCoordinator) public {\\n * @dev         <initialization with other arguments goes here>\\n * @dev       }\\n * @dev   }\\n *\\n * @dev The oracle will have given you an ID for the VRF keypair they have\\n * @dev committed to (let's call it keyHash). Create subscription, fund it\\n * @dev and your consumer contract as a consumer of it (see VRFCoordinatorInterface\\n * @dev subscription management functions).\\n * @dev Call requestRandomWords(keyHash, subId, minimumRequestConfirmations,\\n * @dev callbackGasLimit, numWords),\\n * @dev see (VRFCoordinatorInterface for a description of the arguments).\\n *\\n * @dev Once the VRFCoordinator has received and validated the oracle's response\\n * @dev to your request, it will call your contract's fulfillRandomWords method.\\n *\\n * @dev The randomness argument to fulfillRandomWords is a set of random words\\n * @dev generated from your requestId and the blockHash of the request.\\n *\\n * @dev If your contract could have concurrent requests open, you can use the\\n * @dev requestId returned from requestRandomWords to track which response is associated\\n * @dev with which randomness request.\\n * @dev See \\\"SECURITY CONSIDERATIONS\\\" for principles to keep in mind,\\n * @dev if your contract could have multiple requests in flight simultaneously.\\n *\\n * @dev Colliding `requestId`s are cryptographically impossible as long as seeds\\n * @dev differ.\\n *\\n * *****************************************************************************\\n * @dev SECURITY CONSIDERATIONS\\n *\\n * @dev A method with the ability to call your fulfillRandomness method directly\\n * @dev could spoof a VRF response with any random value, so it's critical that\\n * @dev it cannot be directly called by anything other than this base contract\\n * @dev (specifically, by the VRFConsumerBase.rawFulfillRandomness method).\\n *\\n * @dev For your users to trust that your contract's random behavior is free\\n * @dev from malicious interference, it's best if you can write it so that all\\n * @dev behaviors implied by a VRF response are executed *during* your\\n * @dev fulfillRandomness method. If your contract must store the response (or\\n * @dev anything derived from it) and use it later, you must ensure that any\\n * @dev user-significant behavior which depends on that stored value cannot be\\n * @dev manipulated by a subsequent VRF request.\\n *\\n * @dev Similarly, both miners and the VRF oracle itself have some influence\\n * @dev over the order in which VRF responses appear on the blockchain, so if\\n * @dev your contract could have multiple VRF requests in flight simultaneously,\\n * @dev you must ensure that the order in which the VRF responses arrive cannot\\n * @dev be used to manipulate your contract's user-significant behavior.\\n *\\n * @dev Since the block hash of the block which contains the requestRandomness\\n * @dev call is mixed into the input to the VRF *last*, a sufficiently powerful\\n * @dev miner could, in principle, fork the blockchain to evict the block\\n * @dev containing the request, forcing the request to be included in a\\n * @dev different block with a different hash, and therefore a different input\\n * @dev to the VRF. However, such an attack would incur a substantial economic\\n * @dev cost. This cost scales with the number of blocks the VRF oracle waits\\n * @dev until it calls responds to a request. It is for this reason that\\n * @dev that you can signal to an oracle you'd like them to wait longer before\\n * @dev responding to the request (however this is not enforced in the contract\\n * @dev and so remains effective only in the case of unmodified oracle software).\\n */\\nabstract contract VRFConsumerBaseV2 {\\n  error OnlyCoordinatorCanFulfill(address have, address want);\\n  address private immutable vrfCoordinator;\\n\\n  /**\\n   * @param _vrfCoordinator address of VRFCoordinator contract\\n   */\\n  constructor(address _vrfCoordinator) {\\n    vrfCoordinator = _vrfCoordinator;\\n  }\\n\\n  /**\\n   * @notice fulfillRandomness handles the VRF response. Your contract must\\n   * @notice implement it. See \\\"SECURITY CONSIDERATIONS\\\" above for important\\n   * @notice principles to keep in mind when implementing your fulfillRandomness\\n   * @notice method.\\n   *\\n   * @dev VRFConsumerBaseV2 expects its subcontracts to have a method with this\\n   * @dev signature, and will call it once it has verified the proof\\n   * @dev associated with the randomness. (It is triggered via a call to\\n   * @dev rawFulfillRandomness, below.)\\n   *\\n   * @param requestId The Id initially returned by requestRandomness\\n   * @param randomWords the VRF output expanded to the requested number of words\\n   */\\n  function fulfillRandomWords(uint256 requestId, uint256[] memory randomWords) internal virtual;\\n\\n  // rawFulfillRandomness is called by VRFCoordinator when it receives a valid VRF\\n  // proof. rawFulfillRandomness then calls fulfillRandomness, after validating\\n  // the origin of the call\\n  function rawFulfillRandomWords(uint256 requestId, uint256[] memory randomWords) external {\\n    if (msg.sender != vrfCoordinator) {\\n      revert OnlyCoordinatorCanFulfill(msg.sender, vrfCoordinator);\\n    }\\n    fulfillRandomWords(requestId, randomWords);\\n  }\\n}\\n\",\"keccak256\":\"0x3d709a5e0f1f9b8841172b10ba8af785dd51a13eda9fc395723a706e51329904\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/interfaces/LinkTokenInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface LinkTokenInterface {\\n  function allowance(address owner, address spender) external view returns (uint256 remaining);\\n\\n  function approve(address spender, uint256 value) external returns (bool success);\\n\\n  function balanceOf(address owner) external view returns (uint256 balance);\\n\\n  function decimals() external view returns (uint8 decimalPlaces);\\n\\n  function decreaseApproval(address spender, uint256 addedValue) external returns (bool success);\\n\\n  function increaseApproval(address spender, uint256 subtractedValue) external;\\n\\n  function name() external view returns (string memory tokenName);\\n\\n  function symbol() external view returns (string memory tokenSymbol);\\n\\n  function totalSupply() external view returns (uint256 totalTokensIssued);\\n\\n  function transfer(address to, uint256 value) external returns (bool success);\\n\\n  function transferAndCall(\\n    address to,\\n    uint256 value,\\n    bytes calldata data\\n  ) external returns (bool success);\\n\\n  function transferFrom(\\n    address from,\\n    address to,\\n    uint256 value\\n  ) external returns (bool success);\\n}\\n\",\"keccak256\":\"0xc7d7cd730d36825485ef4107d93c3ff18b9f3a5a00ea3d5988ba9a0bd70b10c5\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/interfaces/VRFCoordinatorV2Interface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface VRFCoordinatorV2Interface {\\n  /**\\n   * @notice Get configuration relevant for making requests\\n   * @return minimumRequestConfirmations global min for request confirmations\\n   * @return maxGasLimit global max for request gas limit\\n   * @return s_provingKeyHashes list of registered key hashes\\n   */\\n  function getRequestConfig()\\n    external\\n    view\\n    returns (\\n      uint16,\\n      uint32,\\n      bytes32[] memory\\n    );\\n\\n  /**\\n   * @notice Request a set of random words.\\n   * @param keyHash - Corresponds to a particular oracle job which uses\\n   * that key for generating the VRF proof. Different keyHash's have different gas price\\n   * ceilings, so you can select a specific one to bound your maximum per request cost.\\n   * @param subId  - The ID of the VRF subscription. Must be funded\\n   * with the minimum subscription balance required for the selected keyHash.\\n   * @param minimumRequestConfirmations - How many blocks you'd like the\\n   * oracle to wait before responding to the request. See SECURITY CONSIDERATIONS\\n   * for why you may want to request more. The acceptable range is\\n   * [minimumRequestBlockConfirmations, 200].\\n   * @param callbackGasLimit - How much gas you'd like to receive in your\\n   * fulfillRandomWords callback. Note that gasleft() inside fulfillRandomWords\\n   * may be slightly less than this amount because of gas used calling the function\\n   * (argument decoding etc.), so you may need to request slightly more than you expect\\n   * to have inside fulfillRandomWords. The acceptable range is\\n   * [0, maxGasLimit]\\n   * @param numWords - The number of uint256 random values you'd like to receive\\n   * in your fulfillRandomWords callback. Note these numbers are expanded in a\\n   * secure way by the VRFCoordinator from a single random value supplied by the oracle.\\n   * @return requestId - A unique identifier of the request. Can be used to match\\n   * a request to a response in fulfillRandomWords.\\n   */\\n  function requestRandomWords(\\n    bytes32 keyHash,\\n    uint64 subId,\\n    uint16 minimumRequestConfirmations,\\n    uint32 callbackGasLimit,\\n    uint32 numWords\\n  ) external returns (uint256 requestId);\\n\\n  /**\\n   * @notice Create a VRF subscription.\\n   * @return subId - A unique subscription id.\\n   * @dev You can manage the consumer set dynamically with addConsumer/removeConsumer.\\n   * @dev Note to fund the subscription, use transferAndCall. For example\\n   * @dev  LINKTOKEN.transferAndCall(\\n   * @dev    address(COORDINATOR),\\n   * @dev    amount,\\n   * @dev    abi.encode(subId));\\n   */\\n  function createSubscription() external returns (uint64 subId);\\n\\n  /**\\n   * @notice Get a VRF subscription.\\n   * @param subId - ID of the subscription\\n   * @return balance - LINK balance of the subscription in juels.\\n   * @return reqCount - number of requests for this subscription, determines fee tier.\\n   * @return owner - owner of the subscription.\\n   * @return consumers - list of consumer address which are able to use this subscription.\\n   */\\n  function getSubscription(uint64 subId)\\n    external\\n    view\\n    returns (\\n      uint96 balance,\\n      uint64 reqCount,\\n      address owner,\\n      address[] memory consumers\\n    );\\n\\n  /**\\n   * @notice Request subscription owner transfer.\\n   * @param subId - ID of the subscription\\n   * @param newOwner - proposed new owner of the subscription\\n   */\\n  function requestSubscriptionOwnerTransfer(uint64 subId, address newOwner) external;\\n\\n  /**\\n   * @notice Request subscription owner transfer.\\n   * @param subId - ID of the subscription\\n   * @dev will revert if original owner of subId has\\n   * not requested that msg.sender become the new owner.\\n   */\\n  function acceptSubscriptionOwnerTransfer(uint64 subId) external;\\n\\n  /**\\n   * @notice Add a consumer to a VRF subscription.\\n   * @param subId - ID of the subscription\\n   * @param consumer - New consumer which can use the subscription\\n   */\\n  function addConsumer(uint64 subId, address consumer) external;\\n\\n  /**\\n   * @notice Remove a consumer from a VRF subscription.\\n   * @param subId - ID of the subscription\\n   * @param consumer - Consumer to remove from the subscription\\n   */\\n  function removeConsumer(uint64 subId, address consumer) external;\\n\\n  /**\\n   * @notice Cancel a subscription\\n   * @param subId - ID of the subscription\\n   * @param to - Where to send the remaining LINK to\\n   */\\n  function cancelSubscription(uint64 subId, address to) external;\\n\\n  /*\\n   * @notice Check to see if there exists a request commitment consumers\\n   * for all consumers and keyhashes for a given sub.\\n   * @param subId - ID of the subscription\\n   * @return true if there exists at least one unfulfilled request for the subscription, false\\n   * otherwise.\\n   */\\n  function pendingRequestExists(uint64 subId) external view returns (bool);\\n}\\n\",\"keccak256\":\"0x54cdc97717cbae1a51a5500c8ee4875ebf056c95b54d2155a9544a79cb4f4494\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// A mock for testing code that relies on VRFCoordinatorV2.\\npragma solidity ^0.8.4;\\n\\nimport \\\"../interfaces/LinkTokenInterface.sol\\\";\\nimport \\\"../interfaces/VRFCoordinatorV2Interface.sol\\\";\\nimport \\\"../VRFConsumerBaseV2.sol\\\";\\n\\ncontract VRFCoordinatorV2Mock is VRFCoordinatorV2Interface {\\n  uint96 public immutable BASE_FEE;\\n  uint96 public immutable GAS_PRICE_LINK;\\n  uint16 public immutable MAX_CONSUMERS = 100;\\n\\n  error InvalidSubscription();\\n  error InsufficientBalance();\\n  error MustBeSubOwner(address owner);\\n  error TooManyConsumers();\\n  error InvalidConsumer();\\n  error InvalidRandomWords();\\n\\n  event RandomWordsRequested(\\n    bytes32 indexed keyHash,\\n    uint256 requestId,\\n    uint256 preSeed,\\n    uint64 indexed subId,\\n    uint16 minimumRequestConfirmations,\\n    uint32 callbackGasLimit,\\n    uint32 numWords,\\n    address indexed sender\\n  );\\n  event RandomWordsFulfilled(uint256 indexed requestId, uint256 outputSeed, uint96 payment, bool success);\\n  event SubscriptionCreated(uint64 indexed subId, address owner);\\n  event SubscriptionFunded(uint64 indexed subId, uint256 oldBalance, uint256 newBalance);\\n  event SubscriptionCanceled(uint64 indexed subId, address to, uint256 amount);\\n  event ConsumerAdded(uint64 indexed subId, address consumer);\\n  event ConsumerRemoved(uint64 indexed subId, address consumer);\\n\\n  uint64 s_currentSubId;\\n  uint256 s_nextRequestId = 1;\\n  uint256 s_nextPreSeed = 100;\\n  struct Subscription {\\n    address owner;\\n    uint96 balance;\\n  }\\n  mapping(uint64 => Subscription) s_subscriptions; /* subId */ /* subscription */\\n  mapping(uint64 => address[]) s_consumers; /* subId */ /* consumers */\\n\\n  struct Request {\\n    uint64 subId;\\n    uint32 callbackGasLimit;\\n    uint32 numWords;\\n  }\\n  mapping(uint256 => Request) s_requests; /* requestId */ /* request */\\n\\n  constructor(uint96 _baseFee, uint96 _gasPriceLink) {\\n    BASE_FEE = _baseFee;\\n    GAS_PRICE_LINK = _gasPriceLink;\\n  }\\n\\n  function consumerIsAdded(uint64 _subId, address _consumer) public view returns (bool) {\\n    address[] memory consumers = s_consumers[_subId];\\n    for (uint256 i = 0; i < consumers.length; i++) {\\n      if (consumers[i] == _consumer) {\\n        return true;\\n      }\\n    }\\n    return false;\\n  }\\n\\n  modifier onlyValidConsumer(uint64 _subId, address _consumer) {\\n    if (!consumerIsAdded(_subId, _consumer)) {\\n      revert InvalidConsumer();\\n    }\\n    _;\\n  }\\n\\n  /**\\n   * @notice fulfillRandomWords fulfills the given request, sending the random words to the supplied\\n   * @notice consumer.\\n   *\\n   * @dev This mock uses a simplified formula for calculating payment amount and gas usage, and does\\n   * @dev not account for all edge cases handled in the real VRF coordinator. When making requests\\n   * @dev against the real coordinator a small amount of additional LINK is required.\\n   *\\n   * @param _requestId the request to fulfill\\n   * @param _consumer the VRF randomness consumer to send the result to\\n   */\\n  function fulfillRandomWords(uint256 _requestId, address _consumer) external {\\n    fulfillRandomWordsWithOverride(_requestId, _consumer, new uint256[](0));\\n  }\\n\\n  /**\\n   * @notice fulfillRandomWordsWithOverride allows the user to pass in their own random words.\\n   *\\n   * @param _requestId the request to fulfill\\n   * @param _consumer the VRF randomness consumer to send the result to\\n   * @param _words user-provided random words\\n   */\\n  function fulfillRandomWordsWithOverride(\\n    uint256 _requestId,\\n    address _consumer,\\n    uint256[] memory _words\\n  ) public {\\n    uint256 startGas = gasleft();\\n    if (s_requests[_requestId].subId == 0) {\\n      revert(\\\"nonexistent request\\\");\\n    }\\n    Request memory req = s_requests[_requestId];\\n\\n    if (_words.length == 0) {\\n      _words = new uint256[](req.numWords);\\n      for (uint256 i = 0; i < req.numWords; i++) {\\n        _words[i] = uint256(keccak256(abi.encode(_requestId, i)));\\n      }\\n    } else if (_words.length != req.numWords) {\\n      revert InvalidRandomWords();\\n    }\\n\\n    VRFConsumerBaseV2 v;\\n    bytes memory callReq = abi.encodeWithSelector(v.rawFulfillRandomWords.selector, _requestId, _words);\\n    (bool success, ) = _consumer.call{gas: req.callbackGasLimit}(callReq);\\n\\n    uint96 payment = uint96(BASE_FEE + ((startGas - gasleft()) * GAS_PRICE_LINK));\\n    if (s_subscriptions[req.subId].balance < payment) {\\n      revert InsufficientBalance();\\n    }\\n    s_subscriptions[req.subId].balance -= payment;\\n    delete (s_requests[_requestId]);\\n    emit RandomWordsFulfilled(_requestId, _requestId, payment, success);\\n  }\\n\\n  /**\\n   * @notice fundSubscription allows funding a subscription with an arbitrary amount for testing.\\n   *\\n   * @param _subId the subscription to fund\\n   * @param _amount the amount to fund\\n   */\\n  function fundSubscription(uint64 _subId, uint96 _amount) public {\\n    if (s_subscriptions[_subId].owner == address(0)) {\\n      revert InvalidSubscription();\\n    }\\n    uint96 oldBalance = s_subscriptions[_subId].balance;\\n    s_subscriptions[_subId].balance += _amount;\\n    emit SubscriptionFunded(_subId, oldBalance, oldBalance + _amount);\\n  }\\n\\n  function requestRandomWords(\\n    bytes32 _keyHash,\\n    uint64 _subId,\\n    uint16 _minimumRequestConfirmations,\\n    uint32 _callbackGasLimit,\\n    uint32 _numWords\\n  ) external override onlyValidConsumer(_subId, msg.sender) returns (uint256) {\\n    if (s_subscriptions[_subId].owner == address(0)) {\\n      revert InvalidSubscription();\\n    }\\n\\n    uint256 requestId = s_nextRequestId++;\\n    uint256 preSeed = s_nextPreSeed++;\\n\\n    s_requests[requestId] = Request({subId: _subId, callbackGasLimit: _callbackGasLimit, numWords: _numWords});\\n\\n    emit RandomWordsRequested(\\n      _keyHash,\\n      requestId,\\n      preSeed,\\n      _subId,\\n      _minimumRequestConfirmations,\\n      _callbackGasLimit,\\n      _numWords,\\n      msg.sender\\n    );\\n    return requestId;\\n  }\\n\\n  function createSubscription() external override returns (uint64 _subId) {\\n    s_currentSubId++;\\n    s_subscriptions[s_currentSubId] = Subscription({owner: msg.sender, balance: 0});\\n    emit SubscriptionCreated(s_currentSubId, msg.sender);\\n    return s_currentSubId;\\n  }\\n\\n  function getSubscription(uint64 _subId)\\n    external\\n    view\\n    override\\n    returns (\\n      uint96 balance,\\n      uint64 reqCount,\\n      address owner,\\n      address[] memory consumers\\n    )\\n  {\\n    if (s_subscriptions[_subId].owner == address(0)) {\\n      revert InvalidSubscription();\\n    }\\n    return (s_subscriptions[_subId].balance, 0, s_subscriptions[_subId].owner, s_consumers[_subId]);\\n  }\\n\\n  function cancelSubscription(uint64 _subId, address _to) external override onlySubOwner(_subId) {\\n    emit SubscriptionCanceled(_subId, _to, s_subscriptions[_subId].balance);\\n    delete (s_subscriptions[_subId]);\\n  }\\n\\n  modifier onlySubOwner(uint64 _subId) {\\n    address owner = s_subscriptions[_subId].owner;\\n    if (owner == address(0)) {\\n      revert InvalidSubscription();\\n    }\\n    if (msg.sender != owner) {\\n      revert MustBeSubOwner(owner);\\n    }\\n    _;\\n  }\\n\\n  function getRequestConfig()\\n    external\\n    pure\\n    override\\n    returns (\\n      uint16,\\n      uint32,\\n      bytes32[] memory\\n    )\\n  {\\n    return (3, 2000000, new bytes32[](0));\\n  }\\n\\n  function addConsumer(uint64 _subId, address _consumer) external override onlySubOwner(_subId) {\\n    if (s_consumers[_subId].length == MAX_CONSUMERS) {\\n      revert TooManyConsumers();\\n    }\\n\\n    if (consumerIsAdded(_subId, _consumer)) {\\n      return;\\n    }\\n\\n    s_consumers[_subId].push(_consumer);\\n    emit ConsumerAdded(_subId, _consumer);\\n  }\\n\\n  function removeConsumer(uint64 _subId, address _consumer)\\n    external\\n    override\\n    onlySubOwner(_subId)\\n    onlyValidConsumer(_subId, _consumer)\\n  {\\n    address[] storage consumers = s_consumers[_subId];\\n    for (uint256 i = 0; i < consumers.length; i++) {\\n      if (consumers[i] == _consumer) {\\n        address last = consumers[consumers.length - 1];\\n        consumers[i] = last;\\n        consumers.pop();\\n        break;\\n      }\\n    }\\n\\n    emit ConsumerRemoved(_subId, _consumer);\\n  }\\n\\n  function getConfig()\\n    external\\n    view\\n    returns (\\n      uint16 minimumRequestConfirmations,\\n      uint32 maxGasLimit,\\n      uint32 stalenessSeconds,\\n      uint32 gasAfterPaymentCalculation\\n    )\\n  {\\n    return (4, 2_500_000, 2_700, 33285);\\n  }\\n\\n  function getFeeConfig()\\n    external\\n    view\\n    returns (\\n      uint32 fulfillmentFlatFeeLinkPPMTier1,\\n      uint32 fulfillmentFlatFeeLinkPPMTier2,\\n      uint32 fulfillmentFlatFeeLinkPPMTier3,\\n      uint32 fulfillmentFlatFeeLinkPPMTier4,\\n      uint32 fulfillmentFlatFeeLinkPPMTier5,\\n      uint24 reqsForTier2,\\n      uint24 reqsForTier3,\\n      uint24 reqsForTier4,\\n      uint24 reqsForTier5\\n    )\\n  {\\n    return (\\n      100000, // 0.1 LINK\\n      100000, // 0.1 LINK\\n      100000, // 0.1 LINK\\n      100000, // 0.1 LINK\\n      100000, // 0.1 LINK\\n      0,\\n      0,\\n      0,\\n      0\\n    );\\n  }\\n\\n  function getFallbackWeiPerUnitLink() external view returns (int256) {\\n    return 4000000000000000; // 0.004 Ether\\n  }\\n\\n  function requestSubscriptionOwnerTransfer(uint64 _subId, address _newOwner) external pure override {\\n    revert(\\\"not implemented\\\");\\n  }\\n\\n  function acceptSubscriptionOwnerTransfer(uint64 _subId) external pure override {\\n    revert(\\\"not implemented\\\");\\n  }\\n\\n  function pendingRequestExists(uint64 subId) public view override returns (bool) {\\n    revert(\\\"not implemented\\\");\\n  }\\n}\\n\",\"keccak256\":\"0x05006a64339914b08f67180caf5dd29f95e74fe3993021ff839a98029f399e63\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[{"astId":1507,"contract":"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol:VRFCoordinatorV2Mock","label":"s_currentSubId","offset":0,"slot":"0","type":"t_uint64"},{"astId":1510,"contract":"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol:VRFCoordinatorV2Mock","label":"s_nextRequestId","offset":0,"slot":"1","type":"t_uint256"},{"astId":1513,"contract":"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol:VRFCoordinatorV2Mock","label":"s_nextPreSeed","offset":0,"slot":"2","type":"t_uint256"},{"astId":1523,"contract":"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol:VRFCoordinatorV2Mock","label":"s_subscriptions","offset":0,"slot":"3","type":"t_mapping(t_uint64,t_struct(Subscription)1518_storage)"},{"astId":1528,"contract":"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol:VRFCoordinatorV2Mock","label":"s_consumers","offset":0,"slot":"4","type":"t_mapping(t_uint64,t_array(t_address)dyn_storage)"},{"astId":1540,"contract":"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol:VRFCoordinatorV2Mock","label":"s_requests","offset":0,"slot":"5","type":"t_mapping(t_uint256,t_struct(Request)1535_storage)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"base":"t_address","encoding":"dynamic_array","label":"address[]","numberOfBytes":"32"},"t_mapping(t_uint256,t_struct(Request)1535_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct VRFCoordinatorV2Mock.Request)","numberOfBytes":"32","value":"t_struct(Request)1535_storage"},"t_mapping(t_uint64,t_array(t_address)dyn_storage)":{"encoding":"mapping","key":"t_uint64","label":"mapping(uint64 => address[])","numberOfBytes":"32","value":"t_array(t_address)dyn_storage"},"t_mapping(t_uint64,t_struct(Subscription)1518_storage)":{"encoding":"mapping","key":"t_uint64","label":"mapping(uint64 => struct VRFCoordinatorV2Mock.Subscription)","numberOfBytes":"32","value":"t_struct(Subscription)1518_storage"},"t_struct(Request)1535_storage":{"encoding":"inplace","label":"struct VRFCoordinatorV2Mock.Request","members":[{"astId":1530,"contract":"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol:VRFCoordinatorV2Mock","label":"subId","offset":0,"slot":"0","type":"t_uint64"},{"astId":1532,"contract":"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol:VRFCoordinatorV2Mock","label":"callbackGasLimit","offset":8,"slot":"0","type":"t_uint32"},{"astId":1534,"contract":"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol:VRFCoordinatorV2Mock","label":"numWords","offset":12,"slot":"0","type":"t_uint32"}],"numberOfBytes":"32"},"t_struct(Subscription)1518_storage":{"encoding":"inplace","label":"struct VRFCoordinatorV2Mock.Subscription","members":[{"astId":1515,"contract":"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol:VRFCoordinatorV2Mock","label":"owner","offset":0,"slot":"0","type":"t_address"},{"astId":1517,"contract":"@chainlink/contracts/src/v0.8/mocks/VRFCoordinatorV2Mock.sol:VRFCoordinatorV2Mock","label":"balance","offset":20,"slot":"0","type":"t_uint96"}],"numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint32":{"encoding":"inplace","label":"uint32","numberOfBytes":"4"},"t_uint64":{"encoding":"inplace","label":"uint64","numberOfBytes":"8"},"t_uint96":{"encoding":"inplace","label":"uint96","numberOfBytes":"12"}}},"userdoc":{"kind":"user","methods":{"createSubscription()":{"notice":"Create a VRF subscription."},"fulfillRandomWords(uint256,address)":{"notice":"fulfillRandomWords fulfills the given request, sending the random words to the suppliedconsumer."},"fulfillRandomWordsWithOverride(uint256,address,uint256[])":{"notice":"fulfillRandomWordsWithOverride allows the user to pass in their own random words."},"fundSubscription(uint64,uint96)":{"notice":"fundSubscription allows funding a subscription with an arbitrary amount for testing."},"getRequestConfig()":{"notice":"Get configuration relevant for making requests"}},"version":1}}},"@chainlink/contracts/src/v0.8/vendor/BufferChainlink.sol":{"BufferChainlink":{"abi":[],"devdoc":{"details":"A library for working with mutable byte buffers in Solidity. Byte buffers are mutable and expandable, and provide a variety of primitives for writing to them. At any time you can fetch a bytes object containing the current contents of the buffer. The bytes object should not be stored between operations, as it may change due to resizing of the buffer.","kind":"dev","methods":{},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f226e3fb9cf8a3834dca0447961eb7fa2fab31299e26f015e71ff67ac101536064736f6c63430008070033","opcodes":"PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLCODE 0x26 0xE3 0xFB SWAP13 0xF8 LOG3 DUP4 0x4D 0xCA DIV SELFBALANCE SWAP7 0x1E 0xB7 STATICCALL 0x2F 0xAB BALANCE 0x29 SWAP15 0x26 CREATE ISZERO 0xE7 0x1F 0xF6 PUSH27 0xC101536064736F6C63430008070033000000000000000000000000 ","sourceMap":"441:9632:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f226e3fb9cf8a3834dca0447961eb7fa2fab31299e26f015e71ff67ac101536064736f6c63430008070033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLCODE 0x26 0xE3 0xFB SWAP13 0xF8 LOG3 DUP4 0x4D 0xCA DIV SELFBALANCE SWAP7 0x1E 0xB7 STATICCALL 0x2F 0xAB BALANCE 0x29 SWAP15 0x26 CREATE ISZERO 0xE7 0x1F 0xF6 PUSH27 0xC101536064736F6C63430008070033000000000000000000000000 ","sourceMap":"441:9632:13:-:0;;;;;;;;"},"gasEstimates":{"creation":{"codeDepositCost":"17200","executionCost":"97","totalCost":"17297"},"internal":{"append(struct BufferChainlink.buffer memory,bytes memory)":"infinite","append(struct BufferChainlink.buffer memory,bytes memory,uint256)":"infinite","appendBytes20(struct BufferChainlink.buffer memory,bytes20)":"infinite","appendBytes32(struct BufferChainlink.buffer memory,bytes32)":"infinite","appendInt(struct BufferChainlink.buffer memory,uint256,uint256)":"infinite","appendUint8(struct BufferChainlink.buffer memory,uint8)":"infinite","fromBytes(bytes memory)":"infinite","init(struct BufferChainlink.buffer memory,uint256)":"infinite","max(uint256,uint256)":"infinite","resize(struct BufferChainlink.buffer memory,uint256)":"infinite","truncate(struct BufferChainlink.buffer memory)":"infinite","write(struct BufferChainlink.buffer memory,uint256,bytes memory,uint256)":"infinite","write(struct BufferChainlink.buffer memory,uint256,bytes32,uint256)":"infinite","writeBytes20(struct BufferChainlink.buffer memory,uint256,bytes20)":"infinite","writeInt(struct BufferChainlink.buffer memory,uint256,uint256,uint256)":"infinite","writeUint8(struct BufferChainlink.buffer memory,uint256,uint8)":"infinite"}},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"A library for working with mutable byte buffers in Solidity. Byte buffers are mutable and expandable, and provide a variety of primitives for writing to them. At any time you can fetch a bytes object containing the current contents of the buffer. The bytes object should not be stored between operations, as it may change due to resizing of the buffer.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@chainlink/contracts/src/v0.8/vendor/BufferChainlink.sol\":\"BufferChainlink\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/vendor/BufferChainlink.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\n/**\\n * @dev A library for working with mutable byte buffers in Solidity.\\n *\\n * Byte buffers are mutable and expandable, and provide a variety of primitives\\n * for writing to them. At any time you can fetch a bytes object containing the\\n * current contents of the buffer. The bytes object should not be stored between\\n * operations, as it may change due to resizing of the buffer.\\n */\\nlibrary BufferChainlink {\\n  /**\\n   * @dev Represents a mutable buffer. Buffers have a current value (buf) and\\n   *      a capacity. The capacity may be longer than the current value, in\\n   *      which case it can be extended without the need to allocate more memory.\\n   */\\n  struct buffer {\\n    bytes buf;\\n    uint256 capacity;\\n  }\\n\\n  /**\\n   * @dev Initializes a buffer with an initial capacity.\\n   * @param buf The buffer to initialize.\\n   * @param capacity The number of bytes of space to allocate the buffer.\\n   * @return The buffer, for chaining.\\n   */\\n  function init(buffer memory buf, uint256 capacity) internal pure returns (buffer memory) {\\n    if (capacity % 32 != 0) {\\n      capacity += 32 - (capacity % 32);\\n    }\\n    // Allocate space for the buffer data\\n    buf.capacity = capacity;\\n    assembly {\\n      let ptr := mload(0x40)\\n      mstore(buf, ptr)\\n      mstore(ptr, 0)\\n      mstore(0x40, add(32, add(ptr, capacity)))\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Initializes a new buffer from an existing bytes object.\\n   *      Changes to the buffer may mutate the original value.\\n   * @param b The bytes object to initialize the buffer with.\\n   * @return A new buffer.\\n   */\\n  function fromBytes(bytes memory b) internal pure returns (buffer memory) {\\n    buffer memory buf;\\n    buf.buf = b;\\n    buf.capacity = b.length;\\n    return buf;\\n  }\\n\\n  function resize(buffer memory buf, uint256 capacity) private pure {\\n    bytes memory oldbuf = buf.buf;\\n    init(buf, capacity);\\n    append(buf, oldbuf);\\n  }\\n\\n  function max(uint256 a, uint256 b) private pure returns (uint256) {\\n    if (a > b) {\\n      return a;\\n    }\\n    return b;\\n  }\\n\\n  /**\\n   * @dev Sets buffer length to 0.\\n   * @param buf The buffer to truncate.\\n   * @return The original buffer, for chaining..\\n   */\\n  function truncate(buffer memory buf) internal pure returns (buffer memory) {\\n    assembly {\\n      let bufptr := mload(buf)\\n      mstore(bufptr, 0)\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Writes a byte string to a buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The start offset to write to.\\n   * @param data The data to append.\\n   * @param len The number of bytes to copy.\\n   * @return The original buffer, for chaining.\\n   */\\n  function write(\\n    buffer memory buf,\\n    uint256 off,\\n    bytes memory data,\\n    uint256 len\\n  ) internal pure returns (buffer memory) {\\n    require(len <= data.length);\\n\\n    if (off + len > buf.capacity) {\\n      resize(buf, max(buf.capacity, len + off) * 2);\\n    }\\n\\n    uint256 dest;\\n    uint256 src;\\n    assembly {\\n      // Memory address of the buffer data\\n      let bufptr := mload(buf)\\n      // Length of existing buffer data\\n      let buflen := mload(bufptr)\\n      // Start address = buffer address + offset + sizeof(buffer length)\\n      dest := add(add(bufptr, 32), off)\\n      // Update buffer length if we're extending it\\n      if gt(add(len, off), buflen) {\\n        mstore(bufptr, add(len, off))\\n      }\\n      src := add(data, 32)\\n    }\\n\\n    // Copy word-length chunks while possible\\n    for (; len >= 32; len -= 32) {\\n      assembly {\\n        mstore(dest, mload(src))\\n      }\\n      dest += 32;\\n      src += 32;\\n    }\\n\\n    // Copy remaining bytes\\n    unchecked {\\n      uint256 mask = (256**(32 - len)) - 1;\\n      assembly {\\n        let srcpart := and(mload(src), not(mask))\\n        let destpart := and(mload(dest), mask)\\n        mstore(dest, or(destpart, srcpart))\\n      }\\n    }\\n\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Appends a byte string to a buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @param len The number of bytes to copy.\\n   * @return The original buffer, for chaining.\\n   */\\n  function append(\\n    buffer memory buf,\\n    bytes memory data,\\n    uint256 len\\n  ) internal pure returns (buffer memory) {\\n    return write(buf, buf.buf.length, data, len);\\n  }\\n\\n  /**\\n   * @dev Appends a byte string to a buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function append(buffer memory buf, bytes memory data) internal pure returns (buffer memory) {\\n    return write(buf, buf.buf.length, data, data.length);\\n  }\\n\\n  /**\\n   * @dev Writes a byte to the buffer. Resizes if doing so would exceed the\\n   *      capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The offset to write the byte at.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function writeUint8(\\n    buffer memory buf,\\n    uint256 off,\\n    uint8 data\\n  ) internal pure returns (buffer memory) {\\n    if (off >= buf.capacity) {\\n      resize(buf, buf.capacity * 2);\\n    }\\n\\n    assembly {\\n      // Memory address of the buffer data\\n      let bufptr := mload(buf)\\n      // Length of existing buffer data\\n      let buflen := mload(bufptr)\\n      // Address = buffer address + sizeof(buffer length) + off\\n      let dest := add(add(bufptr, off), 32)\\n      mstore8(dest, data)\\n      // Update buffer length if we extended it\\n      if eq(off, buflen) {\\n        mstore(bufptr, add(buflen, 1))\\n      }\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Appends a byte to the buffer. Resizes if doing so would exceed the\\n   *      capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function appendUint8(buffer memory buf, uint8 data) internal pure returns (buffer memory) {\\n    return writeUint8(buf, buf.buf.length, data);\\n  }\\n\\n  /**\\n   * @dev Writes up to 32 bytes to the buffer. Resizes if doing so would\\n   *      exceed the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The offset to write at.\\n   * @param data The data to append.\\n   * @param len The number of bytes to write (left-aligned).\\n   * @return The original buffer, for chaining.\\n   */\\n  function write(\\n    buffer memory buf,\\n    uint256 off,\\n    bytes32 data,\\n    uint256 len\\n  ) private pure returns (buffer memory) {\\n    if (len + off > buf.capacity) {\\n      resize(buf, (len + off) * 2);\\n    }\\n\\n    unchecked {\\n      uint256 mask = (256**len) - 1;\\n      // Right-align data\\n      data = data >> (8 * (32 - len));\\n      assembly {\\n        // Memory address of the buffer data\\n        let bufptr := mload(buf)\\n        // Address = buffer address + sizeof(buffer length) + off + len\\n        let dest := add(add(bufptr, off), len)\\n        mstore(dest, or(and(mload(dest), not(mask)), data))\\n        // Update buffer length if we extended it\\n        if gt(add(off, len), mload(bufptr)) {\\n          mstore(bufptr, add(off, len))\\n        }\\n      }\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Writes a bytes20 to the buffer. Resizes if doing so would exceed the\\n   *      capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The offset to write at.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function writeBytes20(\\n    buffer memory buf,\\n    uint256 off,\\n    bytes20 data\\n  ) internal pure returns (buffer memory) {\\n    return write(buf, off, bytes32(data), 20);\\n  }\\n\\n  /**\\n   * @dev Appends a bytes20 to the buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer, for chhaining.\\n   */\\n  function appendBytes20(buffer memory buf, bytes20 data) internal pure returns (buffer memory) {\\n    return write(buf, buf.buf.length, bytes32(data), 20);\\n  }\\n\\n  /**\\n   * @dev Appends a bytes32 to the buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function appendBytes32(buffer memory buf, bytes32 data) internal pure returns (buffer memory) {\\n    return write(buf, buf.buf.length, data, 32);\\n  }\\n\\n  /**\\n   * @dev Writes an integer to the buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The offset to write at.\\n   * @param data The data to append.\\n   * @param len The number of bytes to write (right-aligned).\\n   * @return The original buffer, for chaining.\\n   */\\n  function writeInt(\\n    buffer memory buf,\\n    uint256 off,\\n    uint256 data,\\n    uint256 len\\n  ) private pure returns (buffer memory) {\\n    if (len + off > buf.capacity) {\\n      resize(buf, (len + off) * 2);\\n    }\\n\\n    uint256 mask = (256**len) - 1;\\n    assembly {\\n      // Memory address of the buffer data\\n      let bufptr := mload(buf)\\n      // Address = buffer address + off + sizeof(buffer length) + len\\n      let dest := add(add(bufptr, off), len)\\n      mstore(dest, or(and(mload(dest), not(mask)), data))\\n      // Update buffer length if we extended it\\n      if gt(add(off, len), mload(bufptr)) {\\n        mstore(bufptr, add(off, len))\\n      }\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Appends a byte to the end of the buffer. Resizes if doing so would\\n   * exceed the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer.\\n   */\\n  function appendInt(\\n    buffer memory buf,\\n    uint256 data,\\n    uint256 len\\n  ) internal pure returns (buffer memory) {\\n    return writeInt(buf, buf.buf.length, data, len);\\n  }\\n}\\n\",\"keccak256\":\"0x89388a631c16ad993e4d76d8d19e08ae98e1397f5dfdfb5f9c0b91015df4cf5d\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"version":1}}},"@chainlink/contracts/src/v0.8/vendor/CBORChainlink.sol":{"CBORChainlink":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f4883a4b81829bd1f9e257ad7bada840c2eaad767eefa6701bdcd39b1cc697ce64736f6c63430008070033","opcodes":"PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DELEGATECALL DUP9 GASPRICE 0x4B DUP2 DUP3 SWAP12 0xD1 0xF9 0xE2 JUMPI 0xAD PUSH28 0xADA840C2EAAD767EEFA6701BDCD39B1CC697CE64736F6C6343000807 STOP CALLER ","sourceMap":"115:3271:14:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f4883a4b81829bd1f9e257ad7bada840c2eaad767eefa6701bdcd39b1cc697ce64736f6c63430008070033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DELEGATECALL DUP9 GASPRICE 0x4B DUP2 DUP3 SWAP12 0xD1 0xF9 0xE2 JUMPI 0xAD PUSH28 0xADA840C2EAAD767EEFA6701BDCD39B1CC697CE64736F6C6343000807 STOP CALLER ","sourceMap":"115:3271:14:-:0;;;;;;;;"},"gasEstimates":{"creation":{"codeDepositCost":"17200","executionCost":"97","totalCost":"17297"},"internal":{"encodeBigNum(struct BufferChainlink.buffer memory,uint256)":"infinite","encodeBytes(struct BufferChainlink.buffer memory,bytes memory)":"infinite","encodeFixedNumeric(struct BufferChainlink.buffer memory,uint8,uint64)":"infinite","encodeIndefiniteLengthType(struct BufferChainlink.buffer memory,uint8)":"infinite","encodeInt(struct BufferChainlink.buffer memory,int256)":"infinite","encodeSignedBigNum(struct BufferChainlink.buffer memory,int256)":"infinite","encodeString(struct BufferChainlink.buffer memory,string memory)":"infinite","encodeUInt(struct BufferChainlink.buffer memory,uint256)":"infinite","endSequence(struct BufferChainlink.buffer memory)":"infinite","startArray(struct BufferChainlink.buffer memory)":"infinite","startMap(struct BufferChainlink.buffer memory)":"infinite"}},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@chainlink/contracts/src/v0.8/vendor/CBORChainlink.sol\":\"CBORChainlink\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/vendor/BufferChainlink.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\n/**\\n * @dev A library for working with mutable byte buffers in Solidity.\\n *\\n * Byte buffers are mutable and expandable, and provide a variety of primitives\\n * for writing to them. At any time you can fetch a bytes object containing the\\n * current contents of the buffer. The bytes object should not be stored between\\n * operations, as it may change due to resizing of the buffer.\\n */\\nlibrary BufferChainlink {\\n  /**\\n   * @dev Represents a mutable buffer. Buffers have a current value (buf) and\\n   *      a capacity. The capacity may be longer than the current value, in\\n   *      which case it can be extended without the need to allocate more memory.\\n   */\\n  struct buffer {\\n    bytes buf;\\n    uint256 capacity;\\n  }\\n\\n  /**\\n   * @dev Initializes a buffer with an initial capacity.\\n   * @param buf The buffer to initialize.\\n   * @param capacity The number of bytes of space to allocate the buffer.\\n   * @return The buffer, for chaining.\\n   */\\n  function init(buffer memory buf, uint256 capacity) internal pure returns (buffer memory) {\\n    if (capacity % 32 != 0) {\\n      capacity += 32 - (capacity % 32);\\n    }\\n    // Allocate space for the buffer data\\n    buf.capacity = capacity;\\n    assembly {\\n      let ptr := mload(0x40)\\n      mstore(buf, ptr)\\n      mstore(ptr, 0)\\n      mstore(0x40, add(32, add(ptr, capacity)))\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Initializes a new buffer from an existing bytes object.\\n   *      Changes to the buffer may mutate the original value.\\n   * @param b The bytes object to initialize the buffer with.\\n   * @return A new buffer.\\n   */\\n  function fromBytes(bytes memory b) internal pure returns (buffer memory) {\\n    buffer memory buf;\\n    buf.buf = b;\\n    buf.capacity = b.length;\\n    return buf;\\n  }\\n\\n  function resize(buffer memory buf, uint256 capacity) private pure {\\n    bytes memory oldbuf = buf.buf;\\n    init(buf, capacity);\\n    append(buf, oldbuf);\\n  }\\n\\n  function max(uint256 a, uint256 b) private pure returns (uint256) {\\n    if (a > b) {\\n      return a;\\n    }\\n    return b;\\n  }\\n\\n  /**\\n   * @dev Sets buffer length to 0.\\n   * @param buf The buffer to truncate.\\n   * @return The original buffer, for chaining..\\n   */\\n  function truncate(buffer memory buf) internal pure returns (buffer memory) {\\n    assembly {\\n      let bufptr := mload(buf)\\n      mstore(bufptr, 0)\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Writes a byte string to a buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The start offset to write to.\\n   * @param data The data to append.\\n   * @param len The number of bytes to copy.\\n   * @return The original buffer, for chaining.\\n   */\\n  function write(\\n    buffer memory buf,\\n    uint256 off,\\n    bytes memory data,\\n    uint256 len\\n  ) internal pure returns (buffer memory) {\\n    require(len <= data.length);\\n\\n    if (off + len > buf.capacity) {\\n      resize(buf, max(buf.capacity, len + off) * 2);\\n    }\\n\\n    uint256 dest;\\n    uint256 src;\\n    assembly {\\n      // Memory address of the buffer data\\n      let bufptr := mload(buf)\\n      // Length of existing buffer data\\n      let buflen := mload(bufptr)\\n      // Start address = buffer address + offset + sizeof(buffer length)\\n      dest := add(add(bufptr, 32), off)\\n      // Update buffer length if we're extending it\\n      if gt(add(len, off), buflen) {\\n        mstore(bufptr, add(len, off))\\n      }\\n      src := add(data, 32)\\n    }\\n\\n    // Copy word-length chunks while possible\\n    for (; len >= 32; len -= 32) {\\n      assembly {\\n        mstore(dest, mload(src))\\n      }\\n      dest += 32;\\n      src += 32;\\n    }\\n\\n    // Copy remaining bytes\\n    unchecked {\\n      uint256 mask = (256**(32 - len)) - 1;\\n      assembly {\\n        let srcpart := and(mload(src), not(mask))\\n        let destpart := and(mload(dest), mask)\\n        mstore(dest, or(destpart, srcpart))\\n      }\\n    }\\n\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Appends a byte string to a buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @param len The number of bytes to copy.\\n   * @return The original buffer, for chaining.\\n   */\\n  function append(\\n    buffer memory buf,\\n    bytes memory data,\\n    uint256 len\\n  ) internal pure returns (buffer memory) {\\n    return write(buf, buf.buf.length, data, len);\\n  }\\n\\n  /**\\n   * @dev Appends a byte string to a buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function append(buffer memory buf, bytes memory data) internal pure returns (buffer memory) {\\n    return write(buf, buf.buf.length, data, data.length);\\n  }\\n\\n  /**\\n   * @dev Writes a byte to the buffer. Resizes if doing so would exceed the\\n   *      capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The offset to write the byte at.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function writeUint8(\\n    buffer memory buf,\\n    uint256 off,\\n    uint8 data\\n  ) internal pure returns (buffer memory) {\\n    if (off >= buf.capacity) {\\n      resize(buf, buf.capacity * 2);\\n    }\\n\\n    assembly {\\n      // Memory address of the buffer data\\n      let bufptr := mload(buf)\\n      // Length of existing buffer data\\n      let buflen := mload(bufptr)\\n      // Address = buffer address + sizeof(buffer length) + off\\n      let dest := add(add(bufptr, off), 32)\\n      mstore8(dest, data)\\n      // Update buffer length if we extended it\\n      if eq(off, buflen) {\\n        mstore(bufptr, add(buflen, 1))\\n      }\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Appends a byte to the buffer. Resizes if doing so would exceed the\\n   *      capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function appendUint8(buffer memory buf, uint8 data) internal pure returns (buffer memory) {\\n    return writeUint8(buf, buf.buf.length, data);\\n  }\\n\\n  /**\\n   * @dev Writes up to 32 bytes to the buffer. Resizes if doing so would\\n   *      exceed the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The offset to write at.\\n   * @param data The data to append.\\n   * @param len The number of bytes to write (left-aligned).\\n   * @return The original buffer, for chaining.\\n   */\\n  function write(\\n    buffer memory buf,\\n    uint256 off,\\n    bytes32 data,\\n    uint256 len\\n  ) private pure returns (buffer memory) {\\n    if (len + off > buf.capacity) {\\n      resize(buf, (len + off) * 2);\\n    }\\n\\n    unchecked {\\n      uint256 mask = (256**len) - 1;\\n      // Right-align data\\n      data = data >> (8 * (32 - len));\\n      assembly {\\n        // Memory address of the buffer data\\n        let bufptr := mload(buf)\\n        // Address = buffer address + sizeof(buffer length) + off + len\\n        let dest := add(add(bufptr, off), len)\\n        mstore(dest, or(and(mload(dest), not(mask)), data))\\n        // Update buffer length if we extended it\\n        if gt(add(off, len), mload(bufptr)) {\\n          mstore(bufptr, add(off, len))\\n        }\\n      }\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Writes a bytes20 to the buffer. Resizes if doing so would exceed the\\n   *      capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The offset to write at.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function writeBytes20(\\n    buffer memory buf,\\n    uint256 off,\\n    bytes20 data\\n  ) internal pure returns (buffer memory) {\\n    return write(buf, off, bytes32(data), 20);\\n  }\\n\\n  /**\\n   * @dev Appends a bytes20 to the buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer, for chhaining.\\n   */\\n  function appendBytes20(buffer memory buf, bytes20 data) internal pure returns (buffer memory) {\\n    return write(buf, buf.buf.length, bytes32(data), 20);\\n  }\\n\\n  /**\\n   * @dev Appends a bytes32 to the buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function appendBytes32(buffer memory buf, bytes32 data) internal pure returns (buffer memory) {\\n    return write(buf, buf.buf.length, data, 32);\\n  }\\n\\n  /**\\n   * @dev Writes an integer to the buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The offset to write at.\\n   * @param data The data to append.\\n   * @param len The number of bytes to write (right-aligned).\\n   * @return The original buffer, for chaining.\\n   */\\n  function writeInt(\\n    buffer memory buf,\\n    uint256 off,\\n    uint256 data,\\n    uint256 len\\n  ) private pure returns (buffer memory) {\\n    if (len + off > buf.capacity) {\\n      resize(buf, (len + off) * 2);\\n    }\\n\\n    uint256 mask = (256**len) - 1;\\n    assembly {\\n      // Memory address of the buffer data\\n      let bufptr := mload(buf)\\n      // Address = buffer address + off + sizeof(buffer length) + len\\n      let dest := add(add(bufptr, off), len)\\n      mstore(dest, or(and(mload(dest), not(mask)), data))\\n      // Update buffer length if we extended it\\n      if gt(add(off, len), mload(bufptr)) {\\n        mstore(bufptr, add(off, len))\\n      }\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Appends a byte to the end of the buffer. Resizes if doing so would\\n   * exceed the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer.\\n   */\\n  function appendInt(\\n    buffer memory buf,\\n    uint256 data,\\n    uint256 len\\n  ) internal pure returns (buffer memory) {\\n    return writeInt(buf, buf.buf.length, data, len);\\n  }\\n}\\n\",\"keccak256\":\"0x89388a631c16ad993e4d76d8d19e08ae98e1397f5dfdfb5f9c0b91015df4cf5d\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/vendor/CBORChainlink.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity >=0.4.19;\\n\\nimport {BufferChainlink} from \\\"./BufferChainlink.sol\\\";\\n\\nlibrary CBORChainlink {\\n  using BufferChainlink for BufferChainlink.buffer;\\n\\n  uint8 private constant MAJOR_TYPE_INT = 0;\\n  uint8 private constant MAJOR_TYPE_NEGATIVE_INT = 1;\\n  uint8 private constant MAJOR_TYPE_BYTES = 2;\\n  uint8 private constant MAJOR_TYPE_STRING = 3;\\n  uint8 private constant MAJOR_TYPE_ARRAY = 4;\\n  uint8 private constant MAJOR_TYPE_MAP = 5;\\n  uint8 private constant MAJOR_TYPE_TAG = 6;\\n  uint8 private constant MAJOR_TYPE_CONTENT_FREE = 7;\\n\\n  uint8 private constant TAG_TYPE_BIGNUM = 2;\\n  uint8 private constant TAG_TYPE_NEGATIVE_BIGNUM = 3;\\n\\n  function encodeFixedNumeric(BufferChainlink.buffer memory buf, uint8 major, uint64 value) private pure {\\n    if(value <= 23) {\\n      buf.appendUint8(uint8((major << 5) | value));\\n    } else if (value <= 0xFF) {\\n      buf.appendUint8(uint8((major << 5) | 24));\\n      buf.appendInt(value, 1);\\n    } else if (value <= 0xFFFF) {\\n      buf.appendUint8(uint8((major << 5) | 25));\\n      buf.appendInt(value, 2);\\n    } else if (value <= 0xFFFFFFFF) {\\n      buf.appendUint8(uint8((major << 5) | 26));\\n      buf.appendInt(value, 4);\\n    } else {\\n      buf.appendUint8(uint8((major << 5) | 27));\\n      buf.appendInt(value, 8);\\n    }\\n  }\\n\\n  function encodeIndefiniteLengthType(BufferChainlink.buffer memory buf, uint8 major) private pure {\\n    buf.appendUint8(uint8((major << 5) | 31));\\n  }\\n\\n  function encodeUInt(BufferChainlink.buffer memory buf, uint value) internal pure {\\n    if(value > 0xFFFFFFFFFFFFFFFF) {\\n      encodeBigNum(buf, value);\\n    } else {\\n      encodeFixedNumeric(buf, MAJOR_TYPE_INT, uint64(value));\\n    }\\n  }\\n\\n  function encodeInt(BufferChainlink.buffer memory buf, int value) internal pure {\\n    if(value < -0x10000000000000000) {\\n      encodeSignedBigNum(buf, value);\\n    } else if(value > 0xFFFFFFFFFFFFFFFF) {\\n      encodeBigNum(buf, uint(value));\\n    } else if(value >= 0) {\\n      encodeFixedNumeric(buf, MAJOR_TYPE_INT, uint64(uint256(value)));\\n    } else {\\n      encodeFixedNumeric(buf, MAJOR_TYPE_NEGATIVE_INT, uint64(uint256(-1 - value)));\\n    }\\n  }\\n\\n  function encodeBytes(BufferChainlink.buffer memory buf, bytes memory value) internal pure {\\n    encodeFixedNumeric(buf, MAJOR_TYPE_BYTES, uint64(value.length));\\n    buf.append(value);\\n  }\\n\\n  function encodeBigNum(BufferChainlink.buffer memory buf, uint value) internal pure {\\n    buf.appendUint8(uint8((MAJOR_TYPE_TAG << 5) | TAG_TYPE_BIGNUM));\\n    encodeBytes(buf, abi.encode(value));\\n  }\\n\\n  function encodeSignedBigNum(BufferChainlink.buffer memory buf, int input) internal pure {\\n    buf.appendUint8(uint8((MAJOR_TYPE_TAG << 5) | TAG_TYPE_NEGATIVE_BIGNUM));\\n    encodeBytes(buf, abi.encode(uint256(-1 - input)));\\n  }\\n\\n  function encodeString(BufferChainlink.buffer memory buf, string memory value) internal pure {\\n    encodeFixedNumeric(buf, MAJOR_TYPE_STRING, uint64(bytes(value).length));\\n    buf.append(bytes(value));\\n  }\\n\\n  function startArray(BufferChainlink.buffer memory buf) internal pure {\\n    encodeIndefiniteLengthType(buf, MAJOR_TYPE_ARRAY);\\n  }\\n\\n  function startMap(BufferChainlink.buffer memory buf) internal pure {\\n    encodeIndefiniteLengthType(buf, MAJOR_TYPE_MAP);\\n  }\\n\\n  function endSequence(BufferChainlink.buffer memory buf) internal pure {\\n    encodeIndefiniteLengthType(buf, MAJOR_TYPE_CONTENT_FREE);\\n  }\\n}\\n\",\"keccak256\":\"0x08bda450d4dc1d17147fd29810234d35e2c437f1a99be733cfa7ee516db08a48\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"version":1}}},"@chainlink/contracts/src/v0.8/vendor/ENSResolver.sol":{"ENSResolver":{"abi":[{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"}],"name":"addr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"addr(bytes32)":"3b3b57de"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@chainlink/contracts/src/v0.8/vendor/ENSResolver.sol\":\"ENSResolver\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/vendor/ENSResolver.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nabstract contract ENSResolver {\\n  function addr(bytes32 node) public view virtual returns (address);\\n}\\n\",\"keccak256\":\"0x606bda5f3fa27be4cf04f6636dda443b7787b56e87ade988fca2e51d2147613d\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"version":1}}},"ado-contracts/contracts/interfaces/IERC2362.sol":{"IERC2362":{"abi":[{"inputs":[{"internalType":"bytes32","name":"_id","type":"bytes32"}],"name":"valueFor","outputs":[{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"devdoc":{"details":"EIP2362 Interface for pull oracles https://github.com/adoracles/EIPs/blob/erc-2362/EIPS/eip-2362.md","kind":"dev","methods":{"valueFor(bytes32)":{"details":"Exposed function pertaining to EIP standards","params":{"_id":"bytes32 ID of the query"},"returns":{"_0":"int,uint,uint returns the value, timestamp, and status code of query"}}},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"valueFor(bytes32)":"f78eea83"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_id\",\"type\":\"bytes32\"}],\"name\":\"valueFor\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"EIP2362 Interface for pull oracles https://github.com/adoracles/EIPs/blob/erc-2362/EIPS/eip-2362.md\",\"kind\":\"dev\",\"methods\":{\"valueFor(bytes32)\":{\"details\":\"Exposed function pertaining to EIP standards\",\"params\":{\"_id\":\"bytes32 ID of the query\"},\"returns\":{\"_0\":\"int,uint,uint returns the value, timestamp, and status code of query\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"ado-contracts/contracts/interfaces/IERC2362.sol\":\"IERC2362\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"ado-contracts/contracts/interfaces/IERC2362.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.5.0 <0.9.0;\\n\\n/**\\n* @dev EIP2362 Interface for pull oracles\\n* https://github.com/adoracles/EIPs/blob/erc-2362/EIPS/eip-2362.md\\n*/\\ninterface IERC2362\\n{\\n\\t/**\\n\\t * @dev Exposed function pertaining to EIP standards\\n\\t * @param _id bytes32 ID of the query\\n\\t * @return int,uint,uint returns the value, timestamp, and status code of query\\n\\t */\\n\\tfunction valueFor(bytes32 _id) external view returns(int256,uint256,uint256);\\n}\",\"keccak256\":\"0x4df66aa83b94d7c3d52aba3522b6eeafc19f2c45299b7c871ef46eb199ee4f6b\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"version":1}}},"contracts/APIConsumer.sol":{"APIConsumer":{"abi":[{"inputs":[{"internalType":"address","name":"_oracle","type":"address"},{"internalType":"bytes32","name":"_jobId","type":"bytes32"},{"internalType":"uint256","name":"_fee","type":"uint256"},{"internalType":"address","name":"_link","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"ChainlinkCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"ChainlinkFulfilled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"ChainlinkRequested","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"volume","type":"uint256"}],"name":"DataFullfilled","type":"event"},{"inputs":[{"internalType":"bytes32","name":"_requestId","type":"bytes32"},{"internalType":"uint256","name":"_volume","type":"uint256"}],"name":"fulfill","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_coinSymbol","type":"string"},{"internalType":"uint8","name":"_coinDecimals","type":"uint8"}],"name":"requestVolumeData","outputs":[{"internalType":"bytes32","name":"requestId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"volume","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawLink","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{"constructor":{"params":{"_fee":"- node operator price per API call / data request","_jobId":"- specific job for :_oracle: to run; each job is unique and returns different types of data","_link":"- LINK token address on the corresponding network Network: Baobab Oracle: 0xfC3BdAbD8a6A73B40010350E2a61716a21c87610 Job ID: ca98366cc7314957b8c012c72f05aeeb Fee: 0.1 LINK Link: 0x04c5046A1f4E3fFf094c26dFCAA75eF293932f18","_oracle":"- address of the specific Chainlink node that a contract makes an API call from"}},"fulfill(bytes32,uint256)":{"params":{"_requestId":"- id of the request","_volume":"- response; requested 24h trading volume of ETH in USD"}},"requestVolumeData(string,uint8)":{"returns":{"requestId":"- id of the request"}},"withdrawLink()":{"details":"Implement a withdraw function to avoid locking your LINK in the contract"}},"title":"The APIConsumer contract","version":1},"evm":{"bytecode":{"functionDebugData":{"@_3336":{"entryPoint":null,"id":3336,"parameterSlots":4,"returnSlots":0},"@setChainlinkToken_669":{"entryPoint":403,"id":669,"parameterSlots":1,"returnSlots":0},"@setPublicChainlinkToken_682":{"entryPoint":235,"id":682,"parameterSlots":0,"returnSlots":0},"abi_decode_t_address_fromMemory":{"entryPoint":471,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32_fromMemory":{"entryPoint":494,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256_fromMemory":{"entryPoint":517,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":540,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_bytes32t_uint256t_address_fromMemory":{"entryPoint":590,"id":null,"parameterSlots":2,"returnSlots":4},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"cleanup_t_address":{"entryPoint":704,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":724,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":734,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":766,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":776,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_t_address":{"entryPoint":781,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":807,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":833,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:2745:67","statements":[{"body":{"nodeType":"YulBlock","src":"70:80:67","statements":[{"nodeType":"YulAssignment","src":"80:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"95:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"89:5:67"},"nodeType":"YulFunctionCall","src":"89:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"80:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"138:5:67"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"111:26:67"},"nodeType":"YulFunctionCall","src":"111:33:67"},"nodeType":"YulExpressionStatement","src":"111:33:67"}]},"name":"abi_decode_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"48:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"56:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"64:5:67","type":""}],"src":"7:143:67"},{"body":{"nodeType":"YulBlock","src":"219:80:67","statements":[{"nodeType":"YulAssignment","src":"229:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"244:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"238:5:67"},"nodeType":"YulFunctionCall","src":"238:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"229:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"287:5:67"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"260:26:67"},"nodeType":"YulFunctionCall","src":"260:33:67"},"nodeType":"YulExpressionStatement","src":"260:33:67"}]},"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"197:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"205:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"213:5:67","type":""}],"src":"156:143:67"},{"body":{"nodeType":"YulBlock","src":"368:80:67","statements":[{"nodeType":"YulAssignment","src":"378:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"393:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"387:5:67"},"nodeType":"YulFunctionCall","src":"387:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"378:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"436:5:67"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"409:26:67"},"nodeType":"YulFunctionCall","src":"409:33:67"},"nodeType":"YulExpressionStatement","src":"409:33:67"}]},"name":"abi_decode_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"346:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"354:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"362:5:67","type":""}],"src":"305:143:67"},{"body":{"nodeType":"YulBlock","src":"531:274:67","statements":[{"body":{"nodeType":"YulBlock","src":"577:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"579:77:67"},"nodeType":"YulFunctionCall","src":"579:79:67"},"nodeType":"YulExpressionStatement","src":"579:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"552:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"561:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"548:3:67"},"nodeType":"YulFunctionCall","src":"548:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"573:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"544:3:67"},"nodeType":"YulFunctionCall","src":"544:32:67"},"nodeType":"YulIf","src":"541:119:67"},{"nodeType":"YulBlock","src":"670:128:67","statements":[{"nodeType":"YulVariableDeclaration","src":"685:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"699:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"689:6:67","type":""}]},{"nodeType":"YulAssignment","src":"714:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"760:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"771:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"756:3:67"},"nodeType":"YulFunctionCall","src":"756:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"780:7:67"}],"functionName":{"name":"abi_decode_t_address_fromMemory","nodeType":"YulIdentifier","src":"724:31:67"},"nodeType":"YulFunctionCall","src":"724:64:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"714:6:67"}]}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"501:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"512:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"524:6:67","type":""}],"src":"454:351:67"},{"body":{"nodeType":"YulBlock","src":"939:692:67","statements":[{"body":{"nodeType":"YulBlock","src":"986:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"988:77:67"},"nodeType":"YulFunctionCall","src":"988:79:67"},"nodeType":"YulExpressionStatement","src":"988:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"960:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"969:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"956:3:67"},"nodeType":"YulFunctionCall","src":"956:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"981:3:67","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"952:3:67"},"nodeType":"YulFunctionCall","src":"952:33:67"},"nodeType":"YulIf","src":"949:120:67"},{"nodeType":"YulBlock","src":"1079:128:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1094:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1108:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1098:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1123:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1169:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1180:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1165:3:67"},"nodeType":"YulFunctionCall","src":"1165:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1189:7:67"}],"functionName":{"name":"abi_decode_t_address_fromMemory","nodeType":"YulIdentifier","src":"1133:31:67"},"nodeType":"YulFunctionCall","src":"1133:64:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1123:6:67"}]}]},{"nodeType":"YulBlock","src":"1217:129:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1232:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1246:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1236:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1262:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1308:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1319:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1304:3:67"},"nodeType":"YulFunctionCall","src":"1304:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1328:7:67"}],"functionName":{"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulIdentifier","src":"1272:31:67"},"nodeType":"YulFunctionCall","src":"1272:64:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1262:6:67"}]}]},{"nodeType":"YulBlock","src":"1356:129:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1371:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1385:2:67","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1375:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1401:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1447:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1458:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1443:3:67"},"nodeType":"YulFunctionCall","src":"1443:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1467:7:67"}],"functionName":{"name":"abi_decode_t_uint256_fromMemory","nodeType":"YulIdentifier","src":"1411:31:67"},"nodeType":"YulFunctionCall","src":"1411:64:67"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1401:6:67"}]}]},{"nodeType":"YulBlock","src":"1495:129:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1510:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1524:2:67","type":"","value":"96"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1514:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1540:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1586:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1597:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1582:3:67"},"nodeType":"YulFunctionCall","src":"1582:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1606:7:67"}],"functionName":{"name":"abi_decode_t_address_fromMemory","nodeType":"YulIdentifier","src":"1550:31:67"},"nodeType":"YulFunctionCall","src":"1550:64:67"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"1540:6:67"}]}]}]},"name":"abi_decode_tuple_t_addresst_bytes32t_uint256t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"885:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"896:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"908:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"916:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"924:6:67","type":""},{"name":"value3","nodeType":"YulTypedName","src":"932:6:67","type":""}],"src":"811:820:67"},{"body":{"nodeType":"YulBlock","src":"1677:35:67","statements":[{"nodeType":"YulAssignment","src":"1687:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1703:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1697:5:67"},"nodeType":"YulFunctionCall","src":"1697:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1687:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1670:6:67","type":""}],"src":"1637:75:67"},{"body":{"nodeType":"YulBlock","src":"1763:51:67","statements":[{"nodeType":"YulAssignment","src":"1773:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1802:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"1784:17:67"},"nodeType":"YulFunctionCall","src":"1784:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"1773:7:67"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1745:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"1755:7:67","type":""}],"src":"1718:96:67"},{"body":{"nodeType":"YulBlock","src":"1865:32:67","statements":[{"nodeType":"YulAssignment","src":"1875:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"1886:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"1875:7:67"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1847:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"1857:7:67","type":""}],"src":"1820:77:67"},{"body":{"nodeType":"YulBlock","src":"1948:81:67","statements":[{"nodeType":"YulAssignment","src":"1958:65:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1973:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"1980:42:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1969:3:67"},"nodeType":"YulFunctionCall","src":"1969:54:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"1958:7:67"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1930:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"1940:7:67","type":""}],"src":"1903:126:67"},{"body":{"nodeType":"YulBlock","src":"2080:32:67","statements":[{"nodeType":"YulAssignment","src":"2090:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"2101:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"2090:7:67"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2062:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"2072:7:67","type":""}],"src":"2035:77:67"},{"body":{"nodeType":"YulBlock","src":"2207:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2224:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2227:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2217:6:67"},"nodeType":"YulFunctionCall","src":"2217:12:67"},"nodeType":"YulExpressionStatement","src":"2217:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"2118:117:67"},{"body":{"nodeType":"YulBlock","src":"2330:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2347:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2350:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2340:6:67"},"nodeType":"YulFunctionCall","src":"2340:12:67"},"nodeType":"YulExpressionStatement","src":"2340:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"2241:117:67"},{"body":{"nodeType":"YulBlock","src":"2407:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"2464:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2473:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2476:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2466:6:67"},"nodeType":"YulFunctionCall","src":"2466:12:67"},"nodeType":"YulExpressionStatement","src":"2466:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2430:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2455:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"2437:17:67"},"nodeType":"YulFunctionCall","src":"2437:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2427:2:67"},"nodeType":"YulFunctionCall","src":"2427:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2420:6:67"},"nodeType":"YulFunctionCall","src":"2420:43:67"},"nodeType":"YulIf","src":"2417:63:67"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2400:5:67","type":""}],"src":"2364:122:67"},{"body":{"nodeType":"YulBlock","src":"2535:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"2592:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2601:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2604:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2594:6:67"},"nodeType":"YulFunctionCall","src":"2594:12:67"},"nodeType":"YulExpressionStatement","src":"2594:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2558:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2583:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"2565:17:67"},"nodeType":"YulFunctionCall","src":"2565:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2555:2:67"},"nodeType":"YulFunctionCall","src":"2555:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2548:6:67"},"nodeType":"YulFunctionCall","src":"2548:43:67"},"nodeType":"YulIf","src":"2545:63:67"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2528:5:67","type":""}],"src":"2492:122:67"},{"body":{"nodeType":"YulBlock","src":"2663:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"2720:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2729:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2732:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2722:6:67"},"nodeType":"YulFunctionCall","src":"2722:12:67"},"nodeType":"YulExpressionStatement","src":"2722:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2686:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2711:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"2693:17:67"},"nodeType":"YulFunctionCall","src":"2693:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2683:2:67"},"nodeType":"YulFunctionCall","src":"2683:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2676:6:67"},"nodeType":"YulFunctionCall","src":"2676:43:67"},"nodeType":"YulIf","src":"2673:63:67"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2656:5:67","type":""}],"src":"2620:122:67"}]},"contents":"{\n\n    function abi_decode_t_address_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_address(value)\n    }\n\n    function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_bytes32(value)\n    }\n\n    function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_uint256(value)\n    }\n\n    function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_addresst_bytes32t_uint256t_address_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3 {\n        if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_bytes32_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 64\n\n            value2 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 96\n\n            value3 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function cleanup_t_address(value) -> cleaned {\n        cleaned := cleanup_t_uint160(value)\n    }\n\n    function cleanup_t_bytes32(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_uint160(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n    }\n\n    function cleanup_t_uint256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function validator_revert_t_address(value) {\n        if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_bytes32(value) {\n        if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint256(value) {\n        if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60e060405260016004553480156200001657600080fd5b5060405162001e3038038062001e3083398181016040528101906200003c91906200024e565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620000885762000082620000eb60201b60201c565b6200009a565b62000099816200019360201b60201c565b5b8373ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250508260a081815250508160c08181525050505050506200035b565b6200019173c89bd4e1632d3a43cb03aaad5262cbe4038bc57173ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff1660e01b815260040160206040518083038186803b1580156200014a57600080fd5b505afa1580156200015f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018591906200021c565b6200019360201b60201c565b565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081519050620001e8816200030d565b92915050565b600081519050620001ff8162000327565b92915050565b600081519050620002168162000341565b92915050565b60006020828403121562000235576200023462000308565b5b60006200024584828501620001d7565b91505092915050565b600080600080608085870312156200026b576200026a62000308565b5b60006200027b87828801620001d7565b94505060206200028e87828801620001ee565b9350506040620002a18782880162000205565b9250506060620002b487828801620001d7565b91505092959194509250565b6000620002cd82620002de565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600080fd5b6200031881620002c0565b81146200032457600080fd5b50565b6200033281620002d4565b81146200033e57600080fd5b50565b6200034c81620002fe565b81146200035857600080fd5b50565b60805160601c60a05160c051611aa26200038e60003960006103b80152600061021f015260006103960152611aa26000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80634357855e146100515780638dc654a21461006d578063c618a1e414610077578063ca7baee414610095575b600080fd5b61006b60048036038101906100669190610f36565b6100c5565b005b61007561020f565b005b61007f610211565b60405161008c91906112a9565b60405180910390f35b6100af60048036038101906100aa9190610f76565b610217565b6040516100bc919061124e565b60405180910390f35b816005600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610167576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161015e90611289565b60405180910390fd5b6005600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055807f7cc135e0cebb02c3480ae5d74d377283180a2601f8f644edf7987b009316c63a60405160405180910390a2816006819055507f221d507243adddffe789060be0e69bff4be830996c6b265bfda5083d86f8863260065460405161020291906112a9565b60405180910390a1505050565b565b60065481565b60008061024c7f000000000000000000000000000000000000000000000000000000000000000030634357855e60e01b6103e6565b90506102b76040518060400160405280600381526020017f676574000000000000000000000000000000000000000000000000000000000081525085604051602001610298919061115e565b604051602081830303815290604052836104179092919063ffffffff16565b6103366040518060400160405280600481526020017f70617468000000000000000000000000000000000000000000000000000000008152506040518060400160405280601981526020017f5241572c4b4c41592c5553442c564f4c554d453234484f555200000000000000815250836104179092919063ffffffff16565b600083600a6103459190611451565b90506103916040518060400160405280600581526020017f74696d6573000000000000000000000000000000000000000000000000000000815250828461044a9092919063ffffffff16565b6103dc7f0000000000000000000000000000000000000000000000000000000000000000837f000000000000000000000000000000000000000000000000000000000000000061047d565b9250505092915050565b6103ee610dbe565b6103f6610dbe565b61040d85858584610549909392919063ffffffff16565b9150509392505050565b61042e8284608001516105f990919063ffffffff16565b6104458184608001516105f990919063ffffffff16565b505050565b6104618284608001516105f990919063ffffffff16565b61047881846080015161061e90919063ffffffff16565b505050565b6000806004549050600181610492919061135d565b6004819055506000634042994660e01b60008087600001513089604001518760018c60800151600001516040516024016104d398979695949392919061118b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905061053e868386846106cb565b925050509392505050565b610551610dbe565b610561856080015161010061086f565b508385600001818152505082856020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508185604001907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681525050849050949350505050565b61060682600383516108d9565b6106198183610a5e90919063ffffffff16565b505050565b7fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000811215610655576106508282610a80565b6106c7565b67ffffffffffffffff8113156106745761066f8282610af7565b6106c6565b6000811261068d57610688826000836108d9565b6106c5565b6106c4826001837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6106bf91906115c9565b6108d9565b5b5b5b5050565b600030846040516020016106e0929190611132565b604051602081830303815290604052805190602001209050846005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550807fb5e6e01e79f91267dc17b4e6314d5d4d03593d2ceee0fbb452b750bd70ea5af960405160405180910390a2600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634000aea08685856040518463ffffffff1660e01b81526004016107d693929190611210565b602060405180830381600087803b1580156107f057600080fd5b505af1158015610804573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108289190610f09565b610867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085e90611269565b60405180910390fd5b949350505050565b610877610e2b565b600060208361088691906117fd565b146108b25760208261089891906117fd565b60206108a4919061165d565b826108af919061135d565b91505b81836020018181525050604051808452600081528281016020016040525082905092915050565b60178167ffffffffffffffff16116109105761090a8160058460ff16901b60ff161784610b4390919063ffffffff16565b50610a59565b60ff8167ffffffffffffffff16116109665761093f601860058460ff16901b1784610b4390919063ffffffff16565b506109608167ffffffffffffffff16600185610b639092919063ffffffff16565b50610a58565b61ffff8167ffffffffffffffff16116109bd57610996601960058460ff16901b1784610b4390919063ffffffff16565b506109b78167ffffffffffffffff16600285610b639092919063ffffffff16565b50610a57565b63ffffffff8167ffffffffffffffff1611610a16576109ef601a60058460ff16901b1784610b4390919063ffffffff16565b50610a108167ffffffffffffffff16600485610b639092919063ffffffff16565b50610a56565b610a33601b60058460ff16901b1784610b4390919063ffffffff16565b50610a548167ffffffffffffffff16600885610b639092919063ffffffff16565b505b5b5b5b505050565b610a66610e2b565b610a7883846000015151848551610b85565b905092915050565b610a9e60036005600660ff16901b1783610b4390919063ffffffff16565b50610af382827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610acf91906115c9565b604051602001610adf91906112a9565b604051602081830303815290604052610c74565b5050565b610b1560026005600660ff16901b1783610b4390919063ffffffff16565b50610b3f8282604051602001610b2b91906112a9565b604051602081830303815290604052610c74565b5050565b610b4b610e2b565b610b5b8384600001515184610c99565b905092915050565b610b6b610e2b565b610b7c848560000151518585610cf0565b90509392505050565b610b8d610e2b565b8251821115610b9b57600080fd5b84602001518285610bac919061135d565b1115610be157610be0856002610bd188602001518887610bcc919061135d565b610d7e565b610bdb919061156f565b610d9a565b5b600080865180518760208301019350808887011115610c005787860182525b60208701925050505b60208410610c475780518252602082610c22919061135d565b9150602081610c31919061135d565b9050602084610c40919061165d565b9350610c09565b60006001856020036101000a03905080198251168184511681811785525050508692505050949350505050565b610c8182600283516108d9565b610c948183610a5e90919063ffffffff16565b505050565b610ca1610e2b565b83602001518310610cc757610cc68460028660200151610cc1919061156f565b610d9a565b5b8351805160208583010184815381861415610ce3576001820183525b5050508390509392505050565b610cf8610e2b565b84602001518483610d09919061135d565b1115610d3157610d308560028685610d21919061135d565b610d2b919061156f565b610d9a565b5b6000600183610100610d439190611406565b610d4d919061165d565b90508551838682010185831982511617815281518588011115610d705784870182525b505085915050949350505050565b600081831115610d9057829050610d94565b8190505b92915050565b600082600001519050610dad838361086f565b50610db88382610a5e565b50505050565b6040518060a0016040528060008019168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200160008152602001610e25610e2b565b81525090565b604051806040016040528060608152602001600081525090565b6000610e58610e53846112e9565b6112c4565b905082815260208101848484011115610e7457610e736118c0565b5b610e7f84828561175c565b509392505050565b600081519050610e9681611a10565b92915050565b600081359050610eab81611a27565b92915050565b600082601f830112610ec657610ec56118bb565b5b8135610ed6848260208601610e45565b91505092915050565b600081359050610eee81611a3e565b92915050565b600081359050610f0381611a55565b92915050565b600060208284031215610f1f57610f1e6118ca565b5b6000610f2d84828501610e87565b91505092915050565b60008060408385031215610f4d57610f4c6118ca565b5b6000610f5b85828601610e9c565b9250506020610f6c85828601610edf565b9150509250929050565b60008060408385031215610f8d57610f8c6118ca565b5b600083013567ffffffffffffffff811115610fab57610faa6118c5565b5b610fb785828601610eb1565b9250506020610fc885828601610ef4565b9150509250929050565b610fdb81611691565b82525050565b610fea816116af565b82525050565b610ff9816116b9565b82525050565b600061100a8261131a565b6110148185611330565b935061102481856020860161176b565b61102d816118cf565b840191505092915050565b61104961104482611726565b6117cf565b82525050565b600061105a82611325565b6110648185611352565b935061107481856020860161176b565b80840191505092915050565b600061108d603c83611352565b9150611098826118fa565b603c82019050919050565b60006110b0602383611341565b91506110bb82611949565b604082019050919050565b60006110d3600a83611352565b91506110de82611998565b600a82019050919050565b60006110f6602883611341565b9150611101826119c1565b604082019050919050565b6111158161170f565b82525050565b61112c6111278261170f565b6117f3565b82525050565b600061113e8285611038565b60148201915061114e828461111b565b6020820191508190509392505050565b600061116982611080565b9150611175828461104f565b9150611180826110c6565b915081905092915050565b6000610100820190506111a1600083018b610fd2565b6111ae602083018a61110c565b6111bb6040830189610fe1565b6111c86060830188610fd2565b6111d56080830187610ff0565b6111e260a083018661110c565b6111ef60c083018561110c565b81810360e08301526112018184610fff565b90509998505050505050505050565b60006060820190506112256000830186610fd2565b611232602083018561110c565b81810360408301526112448184610fff565b9050949350505050565b60006020820190506112636000830184610fe1565b92915050565b60006020820190508181036000830152611282816110a3565b9050919050565b600060208201905081810360008301526112a2816110e9565b9050919050565b60006020820190506112be600083018461110c565b92915050565b60006112ce6112df565b90506112da828261179e565b919050565b6000604051905090565b600067ffffffffffffffff8211156113045761130361188c565b5b61130d826118cf565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b60006113688261170f565b91506113738361170f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156113a8576113a761182e565b5b828201905092915050565b6000808291508390505b60018511156113fd578086048111156113d9576113d861182e565b5b60018516156113e85780820291505b80810290506113f6856118ed565b94506113bd565b94509492505050565b60006114118261170f565b915061141c8361170f565b92506114497fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461149c565b905092915050565b600061145c8261170f565b915061146783611719565b92506114947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461149c565b905092915050565b6000826114ac5760019050611568565b816114ba5760009050611568565b81600181146114d057600281146114da57611509565b6001915050611568565b60ff8411156114ec576114eb61182e565b5b8360020a9150848211156115035761150261182e565b5b50611568565b5060208310610133831016604e8410600b841016171561153e5782820a9050838111156115395761153861182e565b5b611568565b61154b84848460016113b3565b925090508184048111156115625761156161182e565b5b81810290505b9392505050565b600061157a8261170f565b91506115858361170f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156115be576115bd61182e565b5b828202905092915050565b60006115d4826116e5565b91506115df836116e5565b9250827f80000000000000000000000000000000000000000000000000000000000000000182126000841215161561161a5761161961182e565b5b827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0182136000841216156116525761165161182e565b5b828203905092915050565b60006116688261170f565b91506116738361170f565b9250828210156116865761168561182e565b5b828203905092915050565b600061169c826116ef565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061173182611738565b9050919050565b60006117438261174a565b9050919050565b6000611755826116ef565b9050919050565b82818337600083830152505050565b60005b8381101561178957808201518184015260208101905061176e565b83811115611798576000848401525b50505050565b6117a7826118cf565b810181811067ffffffffffffffff821117156117c6576117c561188c565b5b80604052505050565b60006117da826117e1565b9050919050565b60006117ec826118e0565b9050919050565b6000819050919050565b60006118088261170f565b91506118138361170f565b9250826118235761182261185d565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b60008160011c9050919050565b7f68747470733a2f2f6d696e2d6170692e63727970746f636f6d706172652e636f60008201527f6d2f646174612f70726963656d756c746966756c6c3f6673796d733d00000000602082015250565b7f756e61626c6520746f207472616e73666572416e6443616c6c20746f206f726160008201527f636c650000000000000000000000000000000000000000000000000000000000602082015250565b7f267473796d733d55534400000000000000000000000000000000000000000000600082015250565b7f536f75726365206d75737420626520746865206f7261636c65206f662074686560008201527f2072657175657374000000000000000000000000000000000000000000000000602082015250565b611a19816116a3565b8114611a2457600080fd5b50565b611a30816116af565b8114611a3b57600080fd5b50565b611a478161170f565b8114611a5257600080fd5b50565b611a5e81611719565b8114611a6957600080fd5b5056fea26469706673582212202dd6d42faf763e21cb3dd5f7988383a43c455dbf5ad37392884d14781eedb86064736f6c63430008070033","opcodes":"PUSH1 0xE0 PUSH1 0x40 MSTORE PUSH1 0x1 PUSH1 0x4 SSTORE CALLVALUE DUP1 ISZERO PUSH3 0x16 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1E30 CODESIZE SUB DUP1 PUSH3 0x1E30 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x3C SWAP2 SWAP1 PUSH3 0x24E JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH3 0x88 JUMPI PUSH3 0x82 PUSH3 0xEB PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x9A JUMP JUMPDEST PUSH3 0x99 DUP2 PUSH3 0x193 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 SHL DUP2 MSTORE POP POP DUP3 PUSH1 0xA0 DUP2 DUP2 MSTORE POP POP DUP2 PUSH1 0xC0 DUP2 DUP2 MSTORE POP POP POP POP POP POP PUSH3 0x35B JUMP JUMPDEST PUSH3 0x191 PUSH20 0xC89BD4E1632D3A43CB03AAAD5262CBE4038BC571 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x38CC4831 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 PUSH3 0x14A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x15F 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 PUSH3 0x185 SWAP2 SWAP1 PUSH3 0x21C JUMP JUMPDEST PUSH3 0x193 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST JUMP JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x1E8 DUP2 PUSH3 0x30D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x1FF DUP2 PUSH3 0x327 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x216 DUP2 PUSH3 0x341 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0x235 JUMPI PUSH3 0x234 PUSH3 0x308 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH3 0x245 DUP5 DUP3 DUP6 ADD PUSH3 0x1D7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH3 0x26B JUMPI PUSH3 0x26A PUSH3 0x308 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH3 0x27B DUP8 DUP3 DUP9 ADD PUSH3 0x1D7 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH3 0x28E DUP8 DUP3 DUP9 ADD PUSH3 0x1EE JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH3 0x2A1 DUP8 DUP3 DUP9 ADD PUSH3 0x205 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH3 0x2B4 DUP8 DUP3 DUP9 ADD PUSH3 0x1D7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2CD DUP3 PUSH3 0x2DE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x318 DUP2 PUSH3 0x2C0 JUMP JUMPDEST DUP2 EQ PUSH3 0x324 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH3 0x332 DUP2 PUSH3 0x2D4 JUMP JUMPDEST DUP2 EQ PUSH3 0x33E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH3 0x34C DUP2 PUSH3 0x2FE JUMP JUMPDEST DUP2 EQ PUSH3 0x358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0x60 SHR PUSH1 0xA0 MLOAD PUSH1 0xC0 MLOAD PUSH2 0x1AA2 PUSH3 0x38E PUSH1 0x0 CODECOPY PUSH1 0x0 PUSH2 0x3B8 ADD MSTORE PUSH1 0x0 PUSH2 0x21F ADD MSTORE PUSH1 0x0 PUSH2 0x396 ADD MSTORE PUSH2 0x1AA2 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4357855E EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x8DC654A2 EQ PUSH2 0x6D JUMPI DUP1 PUSH4 0xC618A1E4 EQ PUSH2 0x77 JUMPI DUP1 PUSH4 0xCA7BAEE4 EQ PUSH2 0x95 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0xF36 JUMP JUMPDEST PUSH2 0xC5 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x75 PUSH2 0x20F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x7F PUSH2 0x211 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8C SWAP2 SWAP1 PUSH2 0x12A9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xAF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAA SWAP2 SWAP1 PUSH2 0xF76 JUMP JUMPDEST PUSH2 0x217 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBC SWAP2 SWAP1 PUSH2 0x124E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 PUSH1 0x5 PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x167 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15E SWAP1 PUSH2 0x1289 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE DUP1 PUSH32 0x7CC135E0CEBB02C3480AE5D74D377283180A2601F8F644EDF7987B009316C63A PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP2 PUSH1 0x6 DUP2 SWAP1 SSTORE POP PUSH32 0x221D507243ADDDFFE789060BE0E69BFF4BE830996C6B265BFDA5083D86F88632 PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH2 0x202 SWAP2 SWAP1 PUSH2 0x12A9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x6 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x24C PUSH32 0x0 ADDRESS PUSH4 0x4357855E PUSH1 0xE0 SHL PUSH2 0x3E6 JUMP JUMPDEST SWAP1 POP PUSH2 0x2B7 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6765740000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP6 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x298 SWAP2 SWAP1 PUSH2 0x115E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP4 PUSH2 0x417 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x336 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x7061746800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x5241572C4B4C41592C5553442C564F4C554D453234484F555200000000000000 DUP2 MSTORE POP DUP4 PUSH2 0x417 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP4 PUSH1 0xA PUSH2 0x345 SWAP2 SWAP1 PUSH2 0x1451 JUMP JUMPDEST SWAP1 POP PUSH2 0x391 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x74696D6573000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP3 DUP5 PUSH2 0x44A SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x3DC PUSH32 0x0 DUP4 PUSH32 0x0 PUSH2 0x47D JUMP JUMPDEST SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3EE PUSH2 0xDBE JUMP JUMPDEST PUSH2 0x3F6 PUSH2 0xDBE JUMP JUMPDEST PUSH2 0x40D DUP6 DUP6 DUP6 DUP5 PUSH2 0x549 SWAP1 SWAP4 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x42E DUP3 DUP5 PUSH1 0x80 ADD MLOAD PUSH2 0x5F9 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x445 DUP2 DUP5 PUSH1 0x80 ADD MLOAD PUSH2 0x5F9 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x461 DUP3 DUP5 PUSH1 0x80 ADD MLOAD PUSH2 0x5F9 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x478 DUP2 DUP5 PUSH1 0x80 ADD MLOAD PUSH2 0x61E SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x4 SLOAD SWAP1 POP PUSH1 0x1 DUP2 PUSH2 0x492 SWAP2 SWAP1 PUSH2 0x135D JUMP JUMPDEST PUSH1 0x4 DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH4 0x40429946 PUSH1 0xE0 SHL PUSH1 0x0 DUP1 DUP8 PUSH1 0x0 ADD MLOAD ADDRESS DUP10 PUSH1 0x40 ADD MLOAD DUP8 PUSH1 0x1 DUP13 PUSH1 0x80 ADD MLOAD PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x4D3 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x118B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP SWAP1 POP PUSH2 0x53E DUP7 DUP4 DUP7 DUP5 PUSH2 0x6CB JUMP JUMPDEST SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x551 PUSH2 0xDBE JUMP JUMPDEST PUSH2 0x561 DUP6 PUSH1 0x80 ADD MLOAD PUSH2 0x100 PUSH2 0x86F JUMP JUMPDEST POP DUP4 DUP6 PUSH1 0x0 ADD DUP2 DUP2 MSTORE POP POP DUP3 DUP6 PUSH1 0x20 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP DUP2 DUP6 PUSH1 0x40 ADD SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP2 MSTORE POP POP DUP5 SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x606 DUP3 PUSH1 0x3 DUP4 MLOAD PUSH2 0x8D9 JUMP JUMPDEST PUSH2 0x619 DUP2 DUP4 PUSH2 0xA5E SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000 DUP2 SLT ISZERO PUSH2 0x655 JUMPI PUSH2 0x650 DUP3 DUP3 PUSH2 0xA80 JUMP JUMPDEST PUSH2 0x6C7 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 SGT ISZERO PUSH2 0x674 JUMPI PUSH2 0x66F DUP3 DUP3 PUSH2 0xAF7 JUMP JUMPDEST PUSH2 0x6C6 JUMP JUMPDEST PUSH1 0x0 DUP2 SLT PUSH2 0x68D JUMPI PUSH2 0x688 DUP3 PUSH1 0x0 DUP4 PUSH2 0x8D9 JUMP JUMPDEST PUSH2 0x6C5 JUMP JUMPDEST PUSH2 0x6C4 DUP3 PUSH1 0x1 DUP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x6BF SWAP2 SWAP1 PUSH2 0x15C9 JUMP JUMPDEST PUSH2 0x8D9 JUMP JUMPDEST JUMPDEST JUMPDEST JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 ADDRESS DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x6E0 SWAP3 SWAP2 SWAP1 PUSH2 0x1132 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP DUP5 PUSH1 0x5 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH32 0xB5E6E01E79F91267DC17B4E6314D5D4D03593D2CEEE0FBB452B750BD70EA5AF9 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x4000AEA0 DUP7 DUP6 DUP6 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7D6 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1210 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x7F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x804 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 0x828 SWAP2 SWAP1 PUSH2 0xF09 JUMP JUMPDEST PUSH2 0x867 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x85E SWAP1 PUSH2 0x1269 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x877 PUSH2 0xE2B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP4 PUSH2 0x886 SWAP2 SWAP1 PUSH2 0x17FD JUMP JUMPDEST EQ PUSH2 0x8B2 JUMPI PUSH1 0x20 DUP3 PUSH2 0x898 SWAP2 SWAP1 PUSH2 0x17FD JUMP JUMPDEST PUSH1 0x20 PUSH2 0x8A4 SWAP2 SWAP1 PUSH2 0x165D JUMP JUMPDEST DUP3 PUSH2 0x8AF SWAP2 SWAP1 PUSH2 0x135D JUMP JUMPDEST SWAP2 POP JUMPDEST DUP2 DUP4 PUSH1 0x20 ADD DUP2 DUP2 MSTORE POP POP PUSH1 0x40 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 DUP2 MSTORE DUP3 DUP2 ADD PUSH1 0x20 ADD PUSH1 0x40 MSTORE POP DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x17 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND GT PUSH2 0x910 JUMPI PUSH2 0x90A DUP2 PUSH1 0x5 DUP5 PUSH1 0xFF AND SWAP1 SHL PUSH1 0xFF AND OR DUP5 PUSH2 0xB43 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0xA59 JUMP JUMPDEST PUSH1 0xFF DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND GT PUSH2 0x966 JUMPI PUSH2 0x93F PUSH1 0x18 PUSH1 0x5 DUP5 PUSH1 0xFF AND SWAP1 SHL OR DUP5 PUSH2 0xB43 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x960 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 DUP6 PUSH2 0xB63 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0xA58 JUMP JUMPDEST PUSH2 0xFFFF DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND GT PUSH2 0x9BD JUMPI PUSH2 0x996 PUSH1 0x19 PUSH1 0x5 DUP5 PUSH1 0xFF AND SWAP1 SHL OR DUP5 PUSH2 0xB43 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x9B7 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x2 DUP6 PUSH2 0xB63 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0xA57 JUMP JUMPDEST PUSH4 0xFFFFFFFF DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND GT PUSH2 0xA16 JUMPI PUSH2 0x9EF PUSH1 0x1A PUSH1 0x5 DUP5 PUSH1 0xFF AND SWAP1 SHL OR DUP5 PUSH2 0xB43 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0xA10 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x4 DUP6 PUSH2 0xB63 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0xA56 JUMP JUMPDEST PUSH2 0xA33 PUSH1 0x1B PUSH1 0x5 DUP5 PUSH1 0xFF AND SWAP1 SHL OR DUP5 PUSH2 0xB43 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0xA54 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x8 DUP6 PUSH2 0xB63 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP JUMPDEST JUMPDEST JUMPDEST JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0xA66 PUSH2 0xE2B JUMP JUMPDEST PUSH2 0xA78 DUP4 DUP5 PUSH1 0x0 ADD MLOAD MLOAD DUP5 DUP6 MLOAD PUSH2 0xB85 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xA9E PUSH1 0x3 PUSH1 0x5 PUSH1 0x6 PUSH1 0xFF AND SWAP1 SHL OR DUP4 PUSH2 0xB43 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0xAF3 DUP3 DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0xACF SWAP2 SWAP1 PUSH2 0x15C9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xADF SWAP2 SWAP1 PUSH2 0x12A9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH2 0xC74 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xB15 PUSH1 0x2 PUSH1 0x5 PUSH1 0x6 PUSH1 0xFF AND SWAP1 SHL OR DUP4 PUSH2 0xB43 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0xB3F DUP3 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB2B SWAP2 SWAP1 PUSH2 0x12A9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH2 0xC74 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xB4B PUSH2 0xE2B JUMP JUMPDEST PUSH2 0xB5B DUP4 DUP5 PUSH1 0x0 ADD MLOAD MLOAD DUP5 PUSH2 0xC99 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB6B PUSH2 0xE2B JUMP JUMPDEST PUSH2 0xB7C DUP5 DUP6 PUSH1 0x0 ADD MLOAD MLOAD DUP6 DUP6 PUSH2 0xCF0 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xB8D PUSH2 0xE2B JUMP JUMPDEST DUP3 MLOAD DUP3 GT ISZERO PUSH2 0xB9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 PUSH1 0x20 ADD MLOAD DUP3 DUP6 PUSH2 0xBAC SWAP2 SWAP1 PUSH2 0x135D JUMP JUMPDEST GT ISZERO PUSH2 0xBE1 JUMPI PUSH2 0xBE0 DUP6 PUSH1 0x2 PUSH2 0xBD1 DUP9 PUSH1 0x20 ADD MLOAD DUP9 DUP8 PUSH2 0xBCC SWAP2 SWAP1 PUSH2 0x135D JUMP JUMPDEST PUSH2 0xD7E JUMP JUMPDEST PUSH2 0xBDB SWAP2 SWAP1 PUSH2 0x156F JUMP JUMPDEST PUSH2 0xD9A JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP1 DUP7 MLOAD DUP1 MLOAD DUP8 PUSH1 0x20 DUP4 ADD ADD SWAP4 POP DUP1 DUP9 DUP8 ADD GT ISZERO PUSH2 0xC00 JUMPI DUP8 DUP7 ADD DUP3 MSTORE JUMPDEST PUSH1 0x20 DUP8 ADD SWAP3 POP POP POP JUMPDEST PUSH1 0x20 DUP5 LT PUSH2 0xC47 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x20 DUP3 PUSH2 0xC22 SWAP2 SWAP1 PUSH2 0x135D JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP2 PUSH2 0xC31 SWAP2 SWAP1 PUSH2 0x135D JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP5 PUSH2 0xC40 SWAP2 SWAP1 PUSH2 0x165D JUMP JUMPDEST SWAP4 POP PUSH2 0xC09 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP6 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB SWAP1 POP DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP2 DUP2 OR DUP6 MSTORE POP POP POP DUP7 SWAP3 POP POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0xC81 DUP3 PUSH1 0x2 DUP4 MLOAD PUSH2 0x8D9 JUMP JUMPDEST PUSH2 0xC94 DUP2 DUP4 PUSH2 0xA5E SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0xCA1 PUSH2 0xE2B JUMP JUMPDEST DUP4 PUSH1 0x20 ADD MLOAD DUP4 LT PUSH2 0xCC7 JUMPI PUSH2 0xCC6 DUP5 PUSH1 0x2 DUP7 PUSH1 0x20 ADD MLOAD PUSH2 0xCC1 SWAP2 SWAP1 PUSH2 0x156F JUMP JUMPDEST PUSH2 0xD9A JUMP JUMPDEST JUMPDEST DUP4 MLOAD DUP1 MLOAD PUSH1 0x20 DUP6 DUP4 ADD ADD DUP5 DUP2 MSTORE8 DUP2 DUP7 EQ ISZERO PUSH2 0xCE3 JUMPI PUSH1 0x1 DUP3 ADD DUP4 MSTORE JUMPDEST POP POP POP DUP4 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xCF8 PUSH2 0xE2B JUMP JUMPDEST DUP5 PUSH1 0x20 ADD MLOAD DUP5 DUP4 PUSH2 0xD09 SWAP2 SWAP1 PUSH2 0x135D JUMP JUMPDEST GT ISZERO PUSH2 0xD31 JUMPI PUSH2 0xD30 DUP6 PUSH1 0x2 DUP7 DUP6 PUSH2 0xD21 SWAP2 SWAP1 PUSH2 0x135D JUMP JUMPDEST PUSH2 0xD2B SWAP2 SWAP1 PUSH2 0x156F JUMP JUMPDEST PUSH2 0xD9A JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP4 PUSH2 0x100 PUSH2 0xD43 SWAP2 SWAP1 PUSH2 0x1406 JUMP JUMPDEST PUSH2 0xD4D SWAP2 SWAP1 PUSH2 0x165D JUMP JUMPDEST SWAP1 POP DUP6 MLOAD DUP4 DUP7 DUP3 ADD ADD DUP6 DUP4 NOT DUP3 MLOAD AND OR DUP2 MSTORE DUP2 MLOAD DUP6 DUP9 ADD GT ISZERO PUSH2 0xD70 JUMPI DUP5 DUP8 ADD DUP3 MSTORE JUMPDEST POP POP DUP6 SWAP2 POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 GT ISZERO PUSH2 0xD90 JUMPI DUP3 SWAP1 POP PUSH2 0xD94 JUMP JUMPDEST DUP2 SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x0 ADD MLOAD SWAP1 POP PUSH2 0xDAD DUP4 DUP4 PUSH2 0x86F JUMP JUMPDEST POP PUSH2 0xDB8 DUP4 DUP3 PUSH2 0xA5E JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP1 NOT AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE25 PUSH2 0xE2B JUMP JUMPDEST DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE58 PUSH2 0xE53 DUP5 PUSH2 0x12E9 JUMP JUMPDEST PUSH2 0x12C4 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0xE74 JUMPI PUSH2 0xE73 PUSH2 0x18C0 JUMP JUMPDEST JUMPDEST PUSH2 0xE7F DUP5 DUP3 DUP6 PUSH2 0x175C JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0xE96 DUP2 PUSH2 0x1A10 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xEAB DUP2 PUSH2 0x1A27 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xEC6 JUMPI PUSH2 0xEC5 PUSH2 0x18BB JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0xED6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0xE45 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xEEE DUP2 PUSH2 0x1A3E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF03 DUP2 PUSH2 0x1A55 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF1F JUMPI PUSH2 0xF1E PUSH2 0x18CA JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF2D DUP5 DUP3 DUP6 ADD PUSH2 0xE87 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xF4D JUMPI PUSH2 0xF4C PUSH2 0x18CA JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF5B DUP6 DUP3 DUP7 ADD PUSH2 0xE9C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xF6C DUP6 DUP3 DUP7 ADD PUSH2 0xEDF JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xF8D JUMPI PUSH2 0xF8C PUSH2 0x18CA JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFAB JUMPI PUSH2 0xFAA PUSH2 0x18C5 JUMP JUMPDEST JUMPDEST PUSH2 0xFB7 DUP6 DUP3 DUP7 ADD PUSH2 0xEB1 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xFC8 DUP6 DUP3 DUP7 ADD PUSH2 0xEF4 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0xFDB DUP2 PUSH2 0x1691 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xFEA DUP2 PUSH2 0x16AF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xFF9 DUP2 PUSH2 0x16B9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100A DUP3 PUSH2 0x131A JUMP JUMPDEST PUSH2 0x1014 DUP2 DUP6 PUSH2 0x1330 JUMP JUMPDEST SWAP4 POP PUSH2 0x1024 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x176B JUMP JUMPDEST PUSH2 0x102D DUP2 PUSH2 0x18CF JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1049 PUSH2 0x1044 DUP3 PUSH2 0x1726 JUMP JUMPDEST PUSH2 0x17CF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x105A DUP3 PUSH2 0x1325 JUMP JUMPDEST PUSH2 0x1064 DUP2 DUP6 PUSH2 0x1352 JUMP JUMPDEST SWAP4 POP PUSH2 0x1074 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x176B JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x108D PUSH1 0x3C DUP4 PUSH2 0x1352 JUMP JUMPDEST SWAP2 POP PUSH2 0x1098 DUP3 PUSH2 0x18FA JUMP JUMPDEST PUSH1 0x3C DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10B0 PUSH1 0x23 DUP4 PUSH2 0x1341 JUMP JUMPDEST SWAP2 POP PUSH2 0x10BB DUP3 PUSH2 0x1949 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10D3 PUSH1 0xA DUP4 PUSH2 0x1352 JUMP JUMPDEST SWAP2 POP PUSH2 0x10DE DUP3 PUSH2 0x1998 JUMP JUMPDEST PUSH1 0xA DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10F6 PUSH1 0x28 DUP4 PUSH2 0x1341 JUMP JUMPDEST SWAP2 POP PUSH2 0x1101 DUP3 PUSH2 0x19C1 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1115 DUP2 PUSH2 0x170F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x112C PUSH2 0x1127 DUP3 PUSH2 0x170F JUMP JUMPDEST PUSH2 0x17F3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x113E DUP3 DUP6 PUSH2 0x1038 JUMP JUMPDEST PUSH1 0x14 DUP3 ADD SWAP2 POP PUSH2 0x114E DUP3 DUP5 PUSH2 0x111B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1169 DUP3 PUSH2 0x1080 JUMP JUMPDEST SWAP2 POP PUSH2 0x1175 DUP3 DUP5 PUSH2 0x104F JUMP JUMPDEST SWAP2 POP PUSH2 0x1180 DUP3 PUSH2 0x10C6 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP3 ADD SWAP1 POP PUSH2 0x11A1 PUSH1 0x0 DUP4 ADD DUP12 PUSH2 0xFD2 JUMP JUMPDEST PUSH2 0x11AE PUSH1 0x20 DUP4 ADD DUP11 PUSH2 0x110C JUMP JUMPDEST PUSH2 0x11BB PUSH1 0x40 DUP4 ADD DUP10 PUSH2 0xFE1 JUMP JUMPDEST PUSH2 0x11C8 PUSH1 0x60 DUP4 ADD DUP9 PUSH2 0xFD2 JUMP JUMPDEST PUSH2 0x11D5 PUSH1 0x80 DUP4 ADD DUP8 PUSH2 0xFF0 JUMP JUMPDEST PUSH2 0x11E2 PUSH1 0xA0 DUP4 ADD DUP7 PUSH2 0x110C JUMP JUMPDEST PUSH2 0x11EF PUSH1 0xC0 DUP4 ADD DUP6 PUSH2 0x110C JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0xE0 DUP4 ADD MSTORE PUSH2 0x1201 DUP2 DUP5 PUSH2 0xFFF JUMP JUMPDEST SWAP1 POP SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x1225 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0xFD2 JUMP JUMPDEST PUSH2 0x1232 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x110C JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1244 DUP2 DUP5 PUSH2 0xFFF JUMP JUMPDEST SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1263 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xFE1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1282 DUP2 PUSH2 0x10A3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12A2 DUP2 PUSH2 0x10E9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x12BE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x110C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12CE PUSH2 0x12DF JUMP JUMPDEST SWAP1 POP PUSH2 0x12DA DUP3 DUP3 PUSH2 0x179E JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1304 JUMPI PUSH2 0x1303 PUSH2 0x188C JUMP JUMPDEST JUMPDEST PUSH2 0x130D DUP3 PUSH2 0x18CF JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1368 DUP3 PUSH2 0x170F JUMP JUMPDEST SWAP2 POP PUSH2 0x1373 DUP4 PUSH2 0x170F JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x13A8 JUMPI PUSH2 0x13A7 PUSH2 0x182E JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP2 POP DUP4 SWAP1 POP JUMPDEST PUSH1 0x1 DUP6 GT ISZERO PUSH2 0x13FD JUMPI DUP1 DUP7 DIV DUP2 GT ISZERO PUSH2 0x13D9 JUMPI PUSH2 0x13D8 PUSH2 0x182E JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP6 AND ISZERO PUSH2 0x13E8 JUMPI DUP1 DUP3 MUL SWAP2 POP JUMPDEST DUP1 DUP2 MUL SWAP1 POP PUSH2 0x13F6 DUP6 PUSH2 0x18ED JUMP JUMPDEST SWAP5 POP PUSH2 0x13BD JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1411 DUP3 PUSH2 0x170F JUMP JUMPDEST SWAP2 POP PUSH2 0x141C DUP4 PUSH2 0x170F JUMP JUMPDEST SWAP3 POP PUSH2 0x1449 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 DUP5 PUSH2 0x149C JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x145C DUP3 PUSH2 0x170F JUMP JUMPDEST SWAP2 POP PUSH2 0x1467 DUP4 PUSH2 0x1719 JUMP JUMPDEST SWAP3 POP PUSH2 0x1494 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 DUP5 PUSH2 0x149C JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x14AC JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x1568 JUMP JUMPDEST DUP2 PUSH2 0x14BA JUMPI PUSH1 0x0 SWAP1 POP PUSH2 0x1568 JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x14D0 JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x14DA JUMPI PUSH2 0x1509 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x1568 JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x14EC JUMPI PUSH2 0x14EB PUSH2 0x182E JUMP JUMPDEST JUMPDEST DUP4 PUSH1 0x2 EXP SWAP2 POP DUP5 DUP3 GT ISZERO PUSH2 0x1503 JUMPI PUSH2 0x1502 PUSH2 0x182E JUMP JUMPDEST JUMPDEST POP PUSH2 0x1568 JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x153E JUMPI DUP3 DUP3 EXP SWAP1 POP DUP4 DUP2 GT ISZERO PUSH2 0x1539 JUMPI PUSH2 0x1538 PUSH2 0x182E JUMP JUMPDEST JUMPDEST PUSH2 0x1568 JUMP JUMPDEST PUSH2 0x154B DUP5 DUP5 DUP5 PUSH1 0x1 PUSH2 0x13B3 JUMP JUMPDEST SWAP3 POP SWAP1 POP DUP2 DUP5 DIV DUP2 GT ISZERO PUSH2 0x1562 JUMPI PUSH2 0x1561 PUSH2 0x182E JUMP JUMPDEST JUMPDEST DUP2 DUP2 MUL SWAP1 POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x157A DUP3 PUSH2 0x170F JUMP JUMPDEST SWAP2 POP PUSH2 0x1585 DUP4 PUSH2 0x170F JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x15BE JUMPI PUSH2 0x15BD PUSH2 0x182E JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15D4 DUP3 PUSH2 0x16E5 JUMP JUMPDEST SWAP2 POP PUSH2 0x15DF DUP4 PUSH2 0x16E5 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 ADD DUP3 SLT PUSH1 0x0 DUP5 SLT ISZERO AND ISZERO PUSH2 0x161A JUMPI PUSH2 0x1619 PUSH2 0x182E JUMP JUMPDEST JUMPDEST DUP3 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ADD DUP3 SGT PUSH1 0x0 DUP5 SLT AND ISZERO PUSH2 0x1652 JUMPI PUSH2 0x1651 PUSH2 0x182E JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1668 DUP3 PUSH2 0x170F JUMP JUMPDEST SWAP2 POP PUSH2 0x1673 DUP4 PUSH2 0x170F JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x1686 JUMPI PUSH2 0x1685 PUSH2 0x182E JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x169C DUP3 PUSH2 0x16EF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1731 DUP3 PUSH2 0x1738 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1743 DUP3 PUSH2 0x174A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1755 DUP3 PUSH2 0x16EF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1789 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x176E JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1798 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x17A7 DUP3 PUSH2 0x18CF JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x17C6 JUMPI PUSH2 0x17C5 PUSH2 0x188C JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17DA DUP3 PUSH2 0x17E1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17EC DUP3 PUSH2 0x18E0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1808 DUP3 PUSH2 0x170F JUMP JUMPDEST SWAP2 POP PUSH2 0x1813 DUP4 PUSH2 0x170F JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x1823 JUMPI PUSH2 0x1822 PUSH2 0x185D JUMP JUMPDEST JUMPDEST DUP3 DUP3 MOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x60 SHL SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 SHR SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x68747470733A2F2F6D696E2D6170692E63727970746F636F6D706172652E636F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6D2F646174612F70726963656D756C746966756C6C3F6673796D733D00000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x756E61626C6520746F207472616E73666572416E6443616C6C20746F206F7261 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x636C650000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x267473796D733D55534400000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x536F75726365206D75737420626520746865206F7261636C65206F6620746865 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2072657175657374000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x1A19 DUP2 PUSH2 0x16A3 JUMP JUMPDEST DUP2 EQ PUSH2 0x1A24 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1A30 DUP2 PUSH2 0x16AF JUMP JUMPDEST DUP2 EQ PUSH2 0x1A3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1A47 DUP2 PUSH2 0x170F JUMP JUMPDEST DUP2 EQ PUSH2 0x1A52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1A5E DUP2 PUSH2 0x1719 JUMP JUMPDEST DUP2 EQ PUSH2 0x1A69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2D 0xD6 0xD4 0x2F 0xAF PUSH23 0x3E21CB3DD5F7988383A43C455DBF5AD37392884D14781E 0xED 0xB8 PUSH1 0x64 PUSH20 0x6F6C634300080700330000000000000000000000 ","sourceMap":"264:3395:17:-:0;;;1291:1:1;1258:34;;1211:328:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1354:1;1337:19;;:5;:19;;;1333:130;;;1372:25;:23;;;:25;;:::i;:::-;1333:130;;;1428:24;1446:5;1428:17;;;:24;;:::i;:::-;1333:130;1481:7;1472:16;;;;;;;;;;;;1506:6;1498:14;;;;;;1528:4;1522:10;;;;;;1211:328;;;;264:3395;;8856:123:1;8906:68;1077:42;8924:47;;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8906:17;;;:68;;:::i;:::-;8856:123::o;8625:108::-;8716:11;8688:6;;:40;;;;;;;;;;;;;;;;;;8625:108;:::o;7:143:67:-;64:5;95:6;89:13;80:22;;111:33;138:5;111:33;:::i;:::-;7:143;;;;:::o;156:::-;213:5;244:6;238:13;229:22;;260:33;287:5;260:33;:::i;:::-;156:143;;;;:::o;305:::-;362:5;393:6;387:13;378:22;;409:33;436:5;409:33;:::i;:::-;305:143;;;;:::o;454:351::-;524:6;573:2;561:9;552:7;548:23;544:32;541:119;;;579:79;;:::i;:::-;541:119;699:1;724:64;780:7;771:6;760:9;756:22;724:64;:::i;:::-;714:74;;670:128;454:351;;;;:::o;811:820::-;908:6;916;924;932;981:3;969:9;960:7;956:23;952:33;949:120;;;988:79;;:::i;:::-;949:120;1108:1;1133:64;1189:7;1180:6;1169:9;1165:22;1133:64;:::i;:::-;1123:74;;1079:128;1246:2;1272:64;1328:7;1319:6;1308:9;1304:22;1272:64;:::i;:::-;1262:74;;1217:129;1385:2;1411:64;1467:7;1458:6;1447:9;1443:22;1411:64;:::i;:::-;1401:74;;1356:129;1524:2;1550:64;1606:7;1597:6;1586:9;1582:22;1550:64;:::i;:::-;1540:74;;1495:129;811:820;;;;;;;:::o;1718:96::-;1755:7;1784:24;1802:5;1784:24;:::i;:::-;1773:35;;1718:96;;;:::o;1820:77::-;1857:7;1886:5;1875:16;;1820:77;;;:::o;1903:126::-;1940:7;1980:42;1973:5;1969:54;1958:65;;1903:126;;;:::o;2035:77::-;2072:7;2101:5;2090:16;;2035:77;;;:::o;2241:117::-;2350:1;2347;2340:12;2364:122;2437:24;2455:5;2437:24;:::i;:::-;2430:5;2427:35;2417:63;;2476:1;2473;2466:12;2417:63;2364:122;:::o;2492:::-;2565:24;2583:5;2565:24;:::i;:::-;2558:5;2555:35;2545:63;;2604:1;2601;2594:12;2545:63;2492:122;:::o;2620:::-;2693:24;2711:5;2693:24;:::i;:::-;2686:5;2683:35;2673:63;;2732:1;2729;2722:12;2673:63;2620:122;:::o;264:3395:17:-;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_rawRequest_594":{"entryPoint":1739,"id":594,"parameterSlots":4,"returnSlots":1},"@addInt_181":{"entryPoint":1098,"id":181,"parameterSlots":3,"returnSlots":0},"@add_125":{"entryPoint":1047,"id":125,"parameterSlots":3,"returnSlots":0},"@appendInt_2799":{"entryPoint":2915,"id":2799,"parameterSlots":3,"returnSlots":1},"@appendUint8_2596":{"entryPoint":2883,"id":2596,"parameterSlots":2,"returnSlots":1},"@append_2543":{"entryPoint":2654,"id":2543,"parameterSlots":2,"returnSlots":1},"@buildChainlinkRequest_373":{"entryPoint":998,"id":373,"parameterSlots":3,"returnSlots":1},"@encodeBigNum_3142":{"entryPoint":2807,"id":3142,"parameterSlots":2,"returnSlots":0},"@encodeBytes_3111":{"entryPoint":3188,"id":3111,"parameterSlots":2,"returnSlots":0},"@encodeFixedNumeric_2968":{"entryPoint":2265,"id":2968,"parameterSlots":3,"returnSlots":0},"@encodeInt_3086":{"entryPoint":1566,"id":3086,"parameterSlots":2,"returnSlots":0},"@encodeSignedBigNum_3179":{"entryPoint":2688,"id":3179,"parameterSlots":2,"returnSlots":0},"@encodeString_3210":{"entryPoint":1529,"id":3210,"parameterSlots":2,"returnSlots":0},"@fulfill_3427":{"entryPoint":197,"id":3427,"parameterSlots":2,"returnSlots":0},"@init_2324":{"entryPoint":2159,"id":2324,"parameterSlots":2,"returnSlots":1},"@initialize_70":{"entryPoint":1353,"id":70,"parameterSlots":4,"returnSlots":1},"@max_2396":{"entryPoint":3454,"id":2396,"parameterSlots":2,"returnSlots":1},"@requestVolumeData_3407":{"entryPoint":535,"id":3407,"parameterSlots":2,"returnSlots":1},"@resize_2377":{"entryPoint":3482,"id":2377,"parameterSlots":2,"returnSlots":0},"@sendChainlinkRequestTo_477":{"entryPoint":1149,"id":477,"parameterSlots":3,"returnSlots":1},"@volume_3285":{"entryPoint":529,"id":3285,"parameterSlots":0,"returnSlots":0},"@withdrawLink_3432":{"entryPoint":527,"id":3432,"parameterSlots":0,"returnSlots":0},"@writeInt_2775":{"entryPoint":3312,"id":2775,"parameterSlots":4,"returnSlots":1},"@writeUint8_2575":{"entryPoint":3225,"id":2575,"parameterSlots":3,"returnSlots":1},"@write_2496":{"entryPoint":2949,"id":2496,"parameterSlots":4,"returnSlots":1},"abi_decode_available_length_t_string_memory_ptr":{"entryPoint":3653,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_bool_fromMemory":{"entryPoint":3719,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32":{"entryPoint":3740,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_string_memory_ptr":{"entryPoint":3761,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":3807,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint8":{"entryPoint":3828,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":3849,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_uint256":{"entryPoint":3894,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_string_memory_ptrt_uint8":{"entryPoint":3958,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_t_address_to_t_address_fromStack":{"entryPoint":4050,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes32_to_t_bytes32_fromStack":{"entryPoint":4065,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes4_to_t_bytes4_fromStack":{"entryPoint":4080,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack":{"entryPoint":4095,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_contract$_ChainlinkClient_$861_to_t_address_nonPadded_inplace_fromStack":{"entryPoint":4152,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":4175,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_stringliteral_00bc081eadf40ed0dc7879af2269c622702c3e724c853277939febcc318c7ca0_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":4224,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_3b3efd608222b424e5ed8427d7f6a272069793e6a1f5930c93db5c7960c3ce96_to_t_string_memory_ptr_fromStack":{"entryPoint":4259,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_7777c48c3199be13e96617288cd8bbab12953c2d243403b37a69369245a376d4_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":4294,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_d5cafe2745dab6273b51cca76f8727c7664db74ede49af049a5b5ca6a3b184e4_to_t_string_memory_ptr_fromStack":{"entryPoint":4329,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":4364,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack":{"entryPoint":4379,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_packed_t_contract$_ChainlinkClient_$861_t_uint256__to_t_address_t_uint256__nonPadded_inplace_fromStack_reversed":{"entryPoint":4402,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_00bc081eadf40ed0dc7879af2269c622702c3e724c853277939febcc318c7ca0_t_string_memory_ptr_t_stringliteral_7777c48c3199be13e96617288cd8bbab12953c2d243403b37a69369245a376d4__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":4446,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256_t_bytes32_t_address_t_bytes4_t_uint256_t_uint256_t_bytes_memory_ptr__to_t_address_t_uint256_t_bytes32_t_address_t_bytes4_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":4491,"id":null,"parameterSlots":9,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":4624,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":4686,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3b3efd608222b424e5ed8427d7f6a272069793e6a1f5930c93db5c7960c3ce96__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4713,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d5cafe2745dab6273b51cca76f8727c7664db74ede49af049a5b5ca6a3b184e4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4745,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":4777,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":4804,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":4831,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_string_memory_ptr":{"entryPoint":4841,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_bytes_memory_ptr":{"entryPoint":4890,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_string_memory_ptr":{"entryPoint":4901,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack":{"entryPoint":4912,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_fromStack":{"entryPoint":4929,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":4946,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":4957,"id":null,"parameterSlots":2,"returnSlots":1},"checked_exp_helper":{"entryPoint":5043,"id":null,"parameterSlots":4,"returnSlots":2},"checked_exp_t_uint256_t_uint256":{"entryPoint":5126,"id":null,"parameterSlots":2,"returnSlots":1},"checked_exp_t_uint256_t_uint8":{"entryPoint":5201,"id":null,"parameterSlots":2,"returnSlots":1},"checked_exp_unsigned":{"entryPoint":5276,"id":null,"parameterSlots":3,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":5487,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_int256":{"entryPoint":5577,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":5725,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_address":{"entryPoint":5777,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bool":{"entryPoint":5795,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":5807,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes4":{"entryPoint":5817,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_int256":{"entryPoint":5861,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":5871,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":5903,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint8":{"entryPoint":5913,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_contract$_ChainlinkClient_$861_to_t_address":{"entryPoint":5926,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_address":{"entryPoint":5944,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_uint160":{"entryPoint":5962,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory":{"entryPoint":5980,"id":null,"parameterSlots":3,"returnSlots":0},"copy_memory_to_memory":{"entryPoint":5995,"id":null,"parameterSlots":3,"returnSlots":0},"finalize_allocation":{"entryPoint":6046,"id":null,"parameterSlots":2,"returnSlots":0},"leftAlign_t_address":{"entryPoint":6095,"id":null,"parameterSlots":1,"returnSlots":1},"leftAlign_t_uint160":{"entryPoint":6113,"id":null,"parameterSlots":1,"returnSlots":1},"leftAlign_t_uint256":{"entryPoint":6131,"id":null,"parameterSlots":1,"returnSlots":1},"mod_t_uint256":{"entryPoint":6141,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x11":{"entryPoint":6190,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":6237,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":6284,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":6331,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae":{"entryPoint":6336,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":6341,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":6346,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":6351,"id":null,"parameterSlots":1,"returnSlots":1},"shift_left_96":{"entryPoint":6368,"id":null,"parameterSlots":1,"returnSlots":1},"shift_right_1_unsigned":{"entryPoint":6381,"id":null,"parameterSlots":1,"returnSlots":1},"store_literal_in_memory_00bc081eadf40ed0dc7879af2269c622702c3e724c853277939febcc318c7ca0":{"entryPoint":6394,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_3b3efd608222b424e5ed8427d7f6a272069793e6a1f5930c93db5c7960c3ce96":{"entryPoint":6473,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_7777c48c3199be13e96617288cd8bbab12953c2d243403b37a69369245a376d4":{"entryPoint":6552,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_d5cafe2745dab6273b51cca76f8727c7664db74ede49af049a5b5ca6a3b184e4":{"entryPoint":6593,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bool":{"entryPoint":6672,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":6695,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":6718,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint8":{"entryPoint":6741,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:20683:67","statements":[{"body":{"nodeType":"YulBlock","src":"91:328:67","statements":[{"nodeType":"YulAssignment","src":"101:75:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"168:6:67"}],"functionName":{"name":"array_allocation_size_t_string_memory_ptr","nodeType":"YulIdentifier","src":"126:41:67"},"nodeType":"YulFunctionCall","src":"126:49:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"110:15:67"},"nodeType":"YulFunctionCall","src":"110:66:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"101:5:67"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"192:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"199:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"185:6:67"},"nodeType":"YulFunctionCall","src":"185:21:67"},"nodeType":"YulExpressionStatement","src":"185:21:67"},{"nodeType":"YulVariableDeclaration","src":"215:27:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"230:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"237:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"226:3:67"},"nodeType":"YulFunctionCall","src":"226:16:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"219:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"280:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulIdentifier","src":"282:77:67"},"nodeType":"YulFunctionCall","src":"282:79:67"},"nodeType":"YulExpressionStatement","src":"282:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"261:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"266:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"257:3:67"},"nodeType":"YulFunctionCall","src":"257:16:67"},{"name":"end","nodeType":"YulIdentifier","src":"275:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"254:2:67"},"nodeType":"YulFunctionCall","src":"254:25:67"},"nodeType":"YulIf","src":"251:112:67"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"396:3:67"},{"name":"dst","nodeType":"YulIdentifier","src":"401:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"406:6:67"}],"functionName":{"name":"copy_calldata_to_memory","nodeType":"YulIdentifier","src":"372:23:67"},"nodeType":"YulFunctionCall","src":"372:41:67"},"nodeType":"YulExpressionStatement","src":"372:41:67"}]},"name":"abi_decode_available_length_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"64:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"69:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"77:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"85:5:67","type":""}],"src":"7:412:67"},{"body":{"nodeType":"YulBlock","src":"485:77:67","statements":[{"nodeType":"YulAssignment","src":"495:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"510:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"504:5:67"},"nodeType":"YulFunctionCall","src":"504:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"495:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"550:5:67"}],"functionName":{"name":"validator_revert_t_bool","nodeType":"YulIdentifier","src":"526:23:67"},"nodeType":"YulFunctionCall","src":"526:30:67"},"nodeType":"YulExpressionStatement","src":"526:30:67"}]},"name":"abi_decode_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"463:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"471:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"479:5:67","type":""}],"src":"425:137:67"},{"body":{"nodeType":"YulBlock","src":"620:87:67","statements":[{"nodeType":"YulAssignment","src":"630:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"652:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"639:12:67"},"nodeType":"YulFunctionCall","src":"639:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"630:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"695:5:67"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"668:26:67"},"nodeType":"YulFunctionCall","src":"668:33:67"},"nodeType":"YulExpressionStatement","src":"668:33:67"}]},"name":"abi_decode_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"598:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"606:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"614:5:67","type":""}],"src":"568:139:67"},{"body":{"nodeType":"YulBlock","src":"789:278:67","statements":[{"body":{"nodeType":"YulBlock","src":"838:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"840:77:67"},"nodeType":"YulFunctionCall","src":"840:79:67"},"nodeType":"YulExpressionStatement","src":"840:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"817:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"825:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"813:3:67"},"nodeType":"YulFunctionCall","src":"813:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"832:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"809:3:67"},"nodeType":"YulFunctionCall","src":"809:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"802:6:67"},"nodeType":"YulFunctionCall","src":"802:35:67"},"nodeType":"YulIf","src":"799:122:67"},{"nodeType":"YulVariableDeclaration","src":"930:34:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"957:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"944:12:67"},"nodeType":"YulFunctionCall","src":"944:20:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"934:6:67","type":""}]},{"nodeType":"YulAssignment","src":"973:88:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1034:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1042:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1030:3:67"},"nodeType":"YulFunctionCall","src":"1030:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"1049:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"1057:3:67"}],"functionName":{"name":"abi_decode_available_length_t_string_memory_ptr","nodeType":"YulIdentifier","src":"982:47:67"},"nodeType":"YulFunctionCall","src":"982:79:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"973:5:67"}]}]},"name":"abi_decode_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"767:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"775:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"783:5:67","type":""}],"src":"727:340:67"},{"body":{"nodeType":"YulBlock","src":"1125:87:67","statements":[{"nodeType":"YulAssignment","src":"1135:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1157:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1144:12:67"},"nodeType":"YulFunctionCall","src":"1144:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1135:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1200:5:67"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"1173:26:67"},"nodeType":"YulFunctionCall","src":"1173:33:67"},"nodeType":"YulExpressionStatement","src":"1173:33:67"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1103:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1111:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1119:5:67","type":""}],"src":"1073:139:67"},{"body":{"nodeType":"YulBlock","src":"1268:85:67","statements":[{"nodeType":"YulAssignment","src":"1278:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1300:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1287:12:67"},"nodeType":"YulFunctionCall","src":"1287:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1278:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1341:5:67"}],"functionName":{"name":"validator_revert_t_uint8","nodeType":"YulIdentifier","src":"1316:24:67"},"nodeType":"YulFunctionCall","src":"1316:31:67"},"nodeType":"YulExpressionStatement","src":"1316:31:67"}]},"name":"abi_decode_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1246:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1254:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1262:5:67","type":""}],"src":"1218:135:67"},{"body":{"nodeType":"YulBlock","src":"1433:271:67","statements":[{"body":{"nodeType":"YulBlock","src":"1479:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1481:77:67"},"nodeType":"YulFunctionCall","src":"1481:79:67"},"nodeType":"YulExpressionStatement","src":"1481:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1454:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"1463:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1450:3:67"},"nodeType":"YulFunctionCall","src":"1450:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"1475:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1446:3:67"},"nodeType":"YulFunctionCall","src":"1446:32:67"},"nodeType":"YulIf","src":"1443:119:67"},{"nodeType":"YulBlock","src":"1572:125:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1587:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1601:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1591:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1616:71:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1659:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1670:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1655:3:67"},"nodeType":"YulFunctionCall","src":"1655:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1679:7:67"}],"functionName":{"name":"abi_decode_t_bool_fromMemory","nodeType":"YulIdentifier","src":"1626:28:67"},"nodeType":"YulFunctionCall","src":"1626:61:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1616:6:67"}]}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1403:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1414:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1426:6:67","type":""}],"src":"1359:345:67"},{"body":{"nodeType":"YulBlock","src":"1793:391:67","statements":[{"body":{"nodeType":"YulBlock","src":"1839:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1841:77:67"},"nodeType":"YulFunctionCall","src":"1841:79:67"},"nodeType":"YulExpressionStatement","src":"1841:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1814:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"1823:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1810:3:67"},"nodeType":"YulFunctionCall","src":"1810:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"1835:2:67","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1806:3:67"},"nodeType":"YulFunctionCall","src":"1806:32:67"},"nodeType":"YulIf","src":"1803:119:67"},{"nodeType":"YulBlock","src":"1932:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1947:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1961:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1951:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1976:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2011:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2022:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2007:3:67"},"nodeType":"YulFunctionCall","src":"2007:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2031:7:67"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"1986:20:67"},"nodeType":"YulFunctionCall","src":"1986:53:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1976:6:67"}]}]},{"nodeType":"YulBlock","src":"2059:118:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2074:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"2088:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2078:6:67","type":""}]},{"nodeType":"YulAssignment","src":"2104:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2139:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2150:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2135:3:67"},"nodeType":"YulFunctionCall","src":"2135:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2159:7:67"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"2114:20:67"},"nodeType":"YulFunctionCall","src":"2114:53:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2104:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes32t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1755:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1766:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1778:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1786:6:67","type":""}],"src":"1710:474:67"},{"body":{"nodeType":"YulBlock","src":"2281:559:67","statements":[{"body":{"nodeType":"YulBlock","src":"2327:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"2329:77:67"},"nodeType":"YulFunctionCall","src":"2329:79:67"},"nodeType":"YulExpressionStatement","src":"2329:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2302:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"2311:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2298:3:67"},"nodeType":"YulFunctionCall","src":"2298:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"2323:2:67","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2294:3:67"},"nodeType":"YulFunctionCall","src":"2294:32:67"},"nodeType":"YulIf","src":"2291:119:67"},{"nodeType":"YulBlock","src":"2420:287:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2435:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2466:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2477:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2462:3:67"},"nodeType":"YulFunctionCall","src":"2462:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2449:12:67"},"nodeType":"YulFunctionCall","src":"2449:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2439:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"2527:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"2529:77:67"},"nodeType":"YulFunctionCall","src":"2529:79:67"},"nodeType":"YulExpressionStatement","src":"2529:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2499:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"2507:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2496:2:67"},"nodeType":"YulFunctionCall","src":"2496:30:67"},"nodeType":"YulIf","src":"2493:117:67"},{"nodeType":"YulAssignment","src":"2624:73:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2669:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2680:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2665:3:67"},"nodeType":"YulFunctionCall","src":"2665:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2689:7:67"}],"functionName":{"name":"abi_decode_t_string_memory_ptr","nodeType":"YulIdentifier","src":"2634:30:67"},"nodeType":"YulFunctionCall","src":"2634:63:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2624:6:67"}]}]},{"nodeType":"YulBlock","src":"2717:116:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2732:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"2746:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2736:6:67","type":""}]},{"nodeType":"YulAssignment","src":"2762:61:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2795:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2806:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2791:3:67"},"nodeType":"YulFunctionCall","src":"2791:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2815:7:67"}],"functionName":{"name":"abi_decode_t_uint8","nodeType":"YulIdentifier","src":"2772:18:67"},"nodeType":"YulFunctionCall","src":"2772:51:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2762:6:67"}]}]}]},"name":"abi_decode_tuple_t_string_memory_ptrt_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2243:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2254:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2266:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2274:6:67","type":""}],"src":"2190:650:67"},{"body":{"nodeType":"YulBlock","src":"2911:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2928:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2951:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"2933:17:67"},"nodeType":"YulFunctionCall","src":"2933:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2921:6:67"},"nodeType":"YulFunctionCall","src":"2921:37:67"},"nodeType":"YulExpressionStatement","src":"2921:37:67"}]},"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2899:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2906:3:67","type":""}],"src":"2846:118:67"},{"body":{"nodeType":"YulBlock","src":"3035:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3052:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3075:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"3057:17:67"},"nodeType":"YulFunctionCall","src":"3057:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3045:6:67"},"nodeType":"YulFunctionCall","src":"3045:37:67"},"nodeType":"YulExpressionStatement","src":"3045:37:67"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3023:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3030:3:67","type":""}],"src":"2970:118:67"},{"body":{"nodeType":"YulBlock","src":"3157:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3174:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3196:5:67"}],"functionName":{"name":"cleanup_t_bytes4","nodeType":"YulIdentifier","src":"3179:16:67"},"nodeType":"YulFunctionCall","src":"3179:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3167:6:67"},"nodeType":"YulFunctionCall","src":"3167:36:67"},"nodeType":"YulExpressionStatement","src":"3167:36:67"}]},"name":"abi_encode_t_bytes4_to_t_bytes4_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3145:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3152:3:67","type":""}],"src":"3094:115:67"},{"body":{"nodeType":"YulBlock","src":"3305:270:67","statements":[{"nodeType":"YulVariableDeclaration","src":"3315:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3361:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"3329:31:67"},"nodeType":"YulFunctionCall","src":"3329:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"3319:6:67","type":""}]},{"nodeType":"YulAssignment","src":"3376:77:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3441:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"3446:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"3383:57:67"},"nodeType":"YulFunctionCall","src":"3383:70:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3376:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3488:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"3495:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3484:3:67"},"nodeType":"YulFunctionCall","src":"3484:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"3502:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"3507:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"3462:21:67"},"nodeType":"YulFunctionCall","src":"3462:52:67"},"nodeType":"YulExpressionStatement","src":"3462:52:67"},{"nodeType":"YulAssignment","src":"3523:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3534:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3561:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"3539:21:67"},"nodeType":"YulFunctionCall","src":"3539:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3530:3:67"},"nodeType":"YulFunctionCall","src":"3530:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3523:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3286:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3293:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"3301:3:67","type":""}],"src":"3215:360:67"},{"body":{"nodeType":"YulBlock","src":"3687:110:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3704:3:67"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3783:5:67"}],"functionName":{"name":"convert_t_contract$_ChainlinkClient_$861_to_t_address","nodeType":"YulIdentifier","src":"3729:53:67"},"nodeType":"YulFunctionCall","src":"3729:60:67"}],"functionName":{"name":"leftAlign_t_address","nodeType":"YulIdentifier","src":"3709:19:67"},"nodeType":"YulFunctionCall","src":"3709:81:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3697:6:67"},"nodeType":"YulFunctionCall","src":"3697:94:67"},"nodeType":"YulExpressionStatement","src":"3697:94:67"}]},"name":"abi_encode_t_contract$_ChainlinkClient_$861_to_t_address_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3675:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3682:3:67","type":""}],"src":"3581:216:67"},{"body":{"nodeType":"YulBlock","src":"3913:267:67","statements":[{"nodeType":"YulVariableDeclaration","src":"3923:53:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3970:5:67"}],"functionName":{"name":"array_length_t_string_memory_ptr","nodeType":"YulIdentifier","src":"3937:32:67"},"nodeType":"YulFunctionCall","src":"3937:39:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"3927:6:67","type":""}]},{"nodeType":"YulAssignment","src":"3985:96:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4069:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"4074:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"3992:76:67"},"nodeType":"YulFunctionCall","src":"3992:89:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3985:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4116:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"4123:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4112:3:67"},"nodeType":"YulFunctionCall","src":"4112:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"4130:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"4135:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"4090:21:67"},"nodeType":"YulFunctionCall","src":"4090:52:67"},"nodeType":"YulExpressionStatement","src":"4090:52:67"},{"nodeType":"YulAssignment","src":"4151:23:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4162:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"4167:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4158:3:67"},"nodeType":"YulFunctionCall","src":"4158:16:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"4151:3:67"}]}]},"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3894:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3901:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"3909:3:67","type":""}],"src":"3803:377:67"},{"body":{"nodeType":"YulBlock","src":"4350:238:67","statements":[{"nodeType":"YulAssignment","src":"4360:92:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4444:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"4449:2:67","type":"","value":"60"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"4367:76:67"},"nodeType":"YulFunctionCall","src":"4367:85:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4360:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4550:3:67"}],"functionName":{"name":"store_literal_in_memory_00bc081eadf40ed0dc7879af2269c622702c3e724c853277939febcc318c7ca0","nodeType":"YulIdentifier","src":"4461:88:67"},"nodeType":"YulFunctionCall","src":"4461:93:67"},"nodeType":"YulExpressionStatement","src":"4461:93:67"},{"nodeType":"YulAssignment","src":"4563:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4574:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"4579:2:67","type":"","value":"60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4570:3:67"},"nodeType":"YulFunctionCall","src":"4570:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"4563:3:67"}]}]},"name":"abi_encode_t_stringliteral_00bc081eadf40ed0dc7879af2269c622702c3e724c853277939febcc318c7ca0_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"4338:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"4346:3:67","type":""}],"src":"4186:402:67"},{"body":{"nodeType":"YulBlock","src":"4740:220:67","statements":[{"nodeType":"YulAssignment","src":"4750:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4816:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"4821:2:67","type":"","value":"35"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"4757:58:67"},"nodeType":"YulFunctionCall","src":"4757:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4750:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4922:3:67"}],"functionName":{"name":"store_literal_in_memory_3b3efd608222b424e5ed8427d7f6a272069793e6a1f5930c93db5c7960c3ce96","nodeType":"YulIdentifier","src":"4833:88:67"},"nodeType":"YulFunctionCall","src":"4833:93:67"},"nodeType":"YulExpressionStatement","src":"4833:93:67"},{"nodeType":"YulAssignment","src":"4935:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4946:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"4951:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4942:3:67"},"nodeType":"YulFunctionCall","src":"4942:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"4935:3:67"}]}]},"name":"abi_encode_t_stringliteral_3b3efd608222b424e5ed8427d7f6a272069793e6a1f5930c93db5c7960c3ce96_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"4728:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"4736:3:67","type":""}],"src":"4594:366:67"},{"body":{"nodeType":"YulBlock","src":"5130:238:67","statements":[{"nodeType":"YulAssignment","src":"5140:92:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5224:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5229:2:67","type":"","value":"10"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"5147:76:67"},"nodeType":"YulFunctionCall","src":"5147:85:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"5140:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5330:3:67"}],"functionName":{"name":"store_literal_in_memory_7777c48c3199be13e96617288cd8bbab12953c2d243403b37a69369245a376d4","nodeType":"YulIdentifier","src":"5241:88:67"},"nodeType":"YulFunctionCall","src":"5241:93:67"},"nodeType":"YulExpressionStatement","src":"5241:93:67"},{"nodeType":"YulAssignment","src":"5343:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5354:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5359:2:67","type":"","value":"10"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5350:3:67"},"nodeType":"YulFunctionCall","src":"5350:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"5343:3:67"}]}]},"name":"abi_encode_t_stringliteral_7777c48c3199be13e96617288cd8bbab12953c2d243403b37a69369245a376d4_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"5118:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"5126:3:67","type":""}],"src":"4966:402:67"},{"body":{"nodeType":"YulBlock","src":"5520:220:67","statements":[{"nodeType":"YulAssignment","src":"5530:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5596:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5601:2:67","type":"","value":"40"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"5537:58:67"},"nodeType":"YulFunctionCall","src":"5537:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"5530:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5702:3:67"}],"functionName":{"name":"store_literal_in_memory_d5cafe2745dab6273b51cca76f8727c7664db74ede49af049a5b5ca6a3b184e4","nodeType":"YulIdentifier","src":"5613:88:67"},"nodeType":"YulFunctionCall","src":"5613:93:67"},"nodeType":"YulExpressionStatement","src":"5613:93:67"},{"nodeType":"YulAssignment","src":"5715:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5726:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5731:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5722:3:67"},"nodeType":"YulFunctionCall","src":"5722:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"5715:3:67"}]}]},"name":"abi_encode_t_stringliteral_d5cafe2745dab6273b51cca76f8727c7664db74ede49af049a5b5ca6a3b184e4_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"5508:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"5516:3:67","type":""}],"src":"5374:366:67"},{"body":{"nodeType":"YulBlock","src":"5811:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5828:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5851:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"5833:17:67"},"nodeType":"YulFunctionCall","src":"5833:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5821:6:67"},"nodeType":"YulFunctionCall","src":"5821:37:67"},"nodeType":"YulExpressionStatement","src":"5821:37:67"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5799:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5806:3:67","type":""}],"src":"5746:118:67"},{"body":{"nodeType":"YulBlock","src":"5953:74:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5970:3:67"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6013:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"5995:17:67"},"nodeType":"YulFunctionCall","src":"5995:24:67"}],"functionName":{"name":"leftAlign_t_uint256","nodeType":"YulIdentifier","src":"5975:19:67"},"nodeType":"YulFunctionCall","src":"5975:45:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5963:6:67"},"nodeType":"YulFunctionCall","src":"5963:58:67"},"nodeType":"YulExpressionStatement","src":"5963:58:67"}]},"name":"abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5941:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5948:3:67","type":""}],"src":"5870:157:67"},{"body":{"nodeType":"YulBlock","src":"6200:276:67","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6296:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"6305:3:67"}],"functionName":{"name":"abi_encode_t_contract$_ChainlinkClient_$861_to_t_address_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"6211:84:67"},"nodeType":"YulFunctionCall","src":"6211:98:67"},"nodeType":"YulExpressionStatement","src":"6211:98:67"},{"nodeType":"YulAssignment","src":"6318:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6329:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"6334:2:67","type":"","value":"20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6325:3:67"},"nodeType":"YulFunctionCall","src":"6325:12:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6318:3:67"}]},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"6409:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"6418:3:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"6347:61:67"},"nodeType":"YulFunctionCall","src":"6347:75:67"},"nodeType":"YulExpressionStatement","src":"6347:75:67"},{"nodeType":"YulAssignment","src":"6431:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6442:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"6447:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6438:3:67"},"nodeType":"YulFunctionCall","src":"6438:12:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6431:3:67"}]},{"nodeType":"YulAssignment","src":"6460:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"6467:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"6460:3:67"}]}]},"name":"abi_encode_tuple_packed_t_contract$_ChainlinkClient_$861_t_uint256__to_t_address_t_uint256__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"6171:3:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6177:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6185:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"6196:3:67","type":""}],"src":"6033:443:67"},{"body":{"nodeType":"YulBlock","src":"6820:469:67","statements":[{"nodeType":"YulAssignment","src":"6831:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6982:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_00bc081eadf40ed0dc7879af2269c622702c3e724c853277939febcc318c7ca0_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"6838:142:67"},"nodeType":"YulFunctionCall","src":"6838:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6831:3:67"}]},{"nodeType":"YulAssignment","src":"6996:102:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7085:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"7094:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"7003:81:67"},"nodeType":"YulFunctionCall","src":"7003:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6996:3:67"}]},{"nodeType":"YulAssignment","src":"7108:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7259:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_7777c48c3199be13e96617288cd8bbab12953c2d243403b37a69369245a376d4_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"7115:142:67"},"nodeType":"YulFunctionCall","src":"7115:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7108:3:67"}]},{"nodeType":"YulAssignment","src":"7273:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"7280:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7273:3:67"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_00bc081eadf40ed0dc7879af2269c622702c3e724c853277939febcc318c7ca0_t_string_memory_ptr_t_stringliteral_7777c48c3199be13e96617288cd8bbab12953c2d243403b37a69369245a376d4__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"6799:3:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6805:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"6816:3:67","type":""}],"src":"6482:807:67"},{"body":{"nodeType":"YulBlock","src":"7605:770:67","statements":[{"nodeType":"YulAssignment","src":"7615:27:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7627:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"7638:3:67","type":"","value":"256"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7623:3:67"},"nodeType":"YulFunctionCall","src":"7623:19:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7615:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7696:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7709:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"7720:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7705:3:67"},"nodeType":"YulFunctionCall","src":"7705:17:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"7652:43:67"},"nodeType":"YulFunctionCall","src":"7652:71:67"},"nodeType":"YulExpressionStatement","src":"7652:71:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"7777:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7790:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"7801:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7786:3:67"},"nodeType":"YulFunctionCall","src":"7786:18:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"7733:43:67"},"nodeType":"YulFunctionCall","src":"7733:72:67"},"nodeType":"YulExpressionStatement","src":"7733:72:67"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"7859:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7872:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"7883:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7868:3:67"},"nodeType":"YulFunctionCall","src":"7868:18:67"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"7815:43:67"},"nodeType":"YulFunctionCall","src":"7815:72:67"},"nodeType":"YulExpressionStatement","src":"7815:72:67"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"7941:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7954:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"7965:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7950:3:67"},"nodeType":"YulFunctionCall","src":"7950:18:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"7897:43:67"},"nodeType":"YulFunctionCall","src":"7897:72:67"},"nodeType":"YulExpressionStatement","src":"7897:72:67"},{"expression":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"8021:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8034:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"8045:3:67","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8030:3:67"},"nodeType":"YulFunctionCall","src":"8030:19:67"}],"functionName":{"name":"abi_encode_t_bytes4_to_t_bytes4_fromStack","nodeType":"YulIdentifier","src":"7979:41:67"},"nodeType":"YulFunctionCall","src":"7979:71:67"},"nodeType":"YulExpressionStatement","src":"7979:71:67"},{"expression":{"arguments":[{"name":"value5","nodeType":"YulIdentifier","src":"8104:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8117:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"8128:3:67","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8113:3:67"},"nodeType":"YulFunctionCall","src":"8113:19:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"8060:43:67"},"nodeType":"YulFunctionCall","src":"8060:73:67"},"nodeType":"YulExpressionStatement","src":"8060:73:67"},{"expression":{"arguments":[{"name":"value6","nodeType":"YulIdentifier","src":"8187:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8200:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"8211:3:67","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8196:3:67"},"nodeType":"YulFunctionCall","src":"8196:19:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"8143:43:67"},"nodeType":"YulFunctionCall","src":"8143:73:67"},"nodeType":"YulExpressionStatement","src":"8143:73:67"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8237:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"8248:3:67","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8233:3:67"},"nodeType":"YulFunctionCall","src":"8233:19:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"8258:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"8264:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8254:3:67"},"nodeType":"YulFunctionCall","src":"8254:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8226:6:67"},"nodeType":"YulFunctionCall","src":"8226:49:67"},"nodeType":"YulExpressionStatement","src":"8226:49:67"},{"nodeType":"YulAssignment","src":"8284:84:67","value":{"arguments":[{"name":"value7","nodeType":"YulIdentifier","src":"8354:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"8363:4:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"8292:61:67"},"nodeType":"YulFunctionCall","src":"8292:76:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8284:4:67"}]}]},"name":"abi_encode_tuple_t_address_t_uint256_t_bytes32_t_address_t_bytes4_t_uint256_t_uint256_t_bytes_memory_ptr__to_t_address_t_uint256_t_bytes32_t_address_t_bytes4_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7521:9:67","type":""},{"name":"value7","nodeType":"YulTypedName","src":"7533:6:67","type":""},{"name":"value6","nodeType":"YulTypedName","src":"7541:6:67","type":""},{"name":"value5","nodeType":"YulTypedName","src":"7549:6:67","type":""},{"name":"value4","nodeType":"YulTypedName","src":"7557:6:67","type":""},{"name":"value3","nodeType":"YulTypedName","src":"7565:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7573:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7581:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7589:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7600:4:67","type":""}],"src":"7295:1080:67"},{"body":{"nodeType":"YulBlock","src":"8553:357:67","statements":[{"nodeType":"YulAssignment","src":"8563:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8575:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"8586:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8571:3:67"},"nodeType":"YulFunctionCall","src":"8571:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8563:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8643:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8656:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"8667:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8652:3:67"},"nodeType":"YulFunctionCall","src":"8652:17:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"8599:43:67"},"nodeType":"YulFunctionCall","src":"8599:71:67"},"nodeType":"YulExpressionStatement","src":"8599:71:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"8724:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8737:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"8748:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8733:3:67"},"nodeType":"YulFunctionCall","src":"8733:18:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"8680:43:67"},"nodeType":"YulFunctionCall","src":"8680:72:67"},"nodeType":"YulExpressionStatement","src":"8680:72:67"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8773:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"8784:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8769:3:67"},"nodeType":"YulFunctionCall","src":"8769:18:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"8793:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"8799:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8789:3:67"},"nodeType":"YulFunctionCall","src":"8789:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8762:6:67"},"nodeType":"YulFunctionCall","src":"8762:48:67"},"nodeType":"YulExpressionStatement","src":"8762:48:67"},{"nodeType":"YulAssignment","src":"8819:84:67","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"8889:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"8898:4:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"8827:61:67"},"nodeType":"YulFunctionCall","src":"8827:76:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8819:4:67"}]}]},"name":"abi_encode_tuple_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8509:9:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"8521:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8529:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8537:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8548:4:67","type":""}],"src":"8381:529:67"},{"body":{"nodeType":"YulBlock","src":"9014:124:67","statements":[{"nodeType":"YulAssignment","src":"9024:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9036:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"9047:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9032:3:67"},"nodeType":"YulFunctionCall","src":"9032:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9024:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9104:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9117:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"9128:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9113:3:67"},"nodeType":"YulFunctionCall","src":"9113:17:67"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"9060:43:67"},"nodeType":"YulFunctionCall","src":"9060:71:67"},"nodeType":"YulExpressionStatement","src":"9060:71:67"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8986:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8998:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9009:4:67","type":""}],"src":"8916:222:67"},{"body":{"nodeType":"YulBlock","src":"9315:248:67","statements":[{"nodeType":"YulAssignment","src":"9325:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9337:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"9348:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9333:3:67"},"nodeType":"YulFunctionCall","src":"9333:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9325:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9372:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"9383:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9368:3:67"},"nodeType":"YulFunctionCall","src":"9368:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"9391:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"9397:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9387:3:67"},"nodeType":"YulFunctionCall","src":"9387:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9361:6:67"},"nodeType":"YulFunctionCall","src":"9361:47:67"},"nodeType":"YulExpressionStatement","src":"9361:47:67"},{"nodeType":"YulAssignment","src":"9417:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"9551:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_3b3efd608222b424e5ed8427d7f6a272069793e6a1f5930c93db5c7960c3ce96_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"9425:124:67"},"nodeType":"YulFunctionCall","src":"9425:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9417:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_3b3efd608222b424e5ed8427d7f6a272069793e6a1f5930c93db5c7960c3ce96__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9295:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9310:4:67","type":""}],"src":"9144:419:67"},{"body":{"nodeType":"YulBlock","src":"9740:248:67","statements":[{"nodeType":"YulAssignment","src":"9750:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9762:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"9773:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9758:3:67"},"nodeType":"YulFunctionCall","src":"9758:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9750:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9797:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"9808:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9793:3:67"},"nodeType":"YulFunctionCall","src":"9793:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"9816:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"9822:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9812:3:67"},"nodeType":"YulFunctionCall","src":"9812:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9786:6:67"},"nodeType":"YulFunctionCall","src":"9786:47:67"},"nodeType":"YulExpressionStatement","src":"9786:47:67"},{"nodeType":"YulAssignment","src":"9842:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"9976:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_d5cafe2745dab6273b51cca76f8727c7664db74ede49af049a5b5ca6a3b184e4_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"9850:124:67"},"nodeType":"YulFunctionCall","src":"9850:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9842:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_d5cafe2745dab6273b51cca76f8727c7664db74ede49af049a5b5ca6a3b184e4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9720:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9735:4:67","type":""}],"src":"9569:419:67"},{"body":{"nodeType":"YulBlock","src":"10092:124:67","statements":[{"nodeType":"YulAssignment","src":"10102:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10114:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"10125:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10110:3:67"},"nodeType":"YulFunctionCall","src":"10110:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10102:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10182:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10195:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"10206:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10191:3:67"},"nodeType":"YulFunctionCall","src":"10191:17:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"10138:43:67"},"nodeType":"YulFunctionCall","src":"10138:71:67"},"nodeType":"YulExpressionStatement","src":"10138:71:67"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10064:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10076:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10087:4:67","type":""}],"src":"9994:222:67"},{"body":{"nodeType":"YulBlock","src":"10263:88:67","statements":[{"nodeType":"YulAssignment","src":"10273:30:67","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"10283:18:67"},"nodeType":"YulFunctionCall","src":"10283:20:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"10273:6:67"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"10332:6:67"},{"name":"size","nodeType":"YulIdentifier","src":"10340:4:67"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"10312:19:67"},"nodeType":"YulFunctionCall","src":"10312:33:67"},"nodeType":"YulExpressionStatement","src":"10312:33:67"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"10247:4:67","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"10256:6:67","type":""}],"src":"10222:129:67"},{"body":{"nodeType":"YulBlock","src":"10397:35:67","statements":[{"nodeType":"YulAssignment","src":"10407:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10423:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10417:5:67"},"nodeType":"YulFunctionCall","src":"10417:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"10407:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"10390:6:67","type":""}],"src":"10357:75:67"},{"body":{"nodeType":"YulBlock","src":"10505:241:67","statements":[{"body":{"nodeType":"YulBlock","src":"10610:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"10612:16:67"},"nodeType":"YulFunctionCall","src":"10612:18:67"},"nodeType":"YulExpressionStatement","src":"10612:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"10582:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"10590:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10579:2:67"},"nodeType":"YulFunctionCall","src":"10579:30:67"},"nodeType":"YulIf","src":"10576:56:67"},{"nodeType":"YulAssignment","src":"10642:37:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"10672:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"10650:21:67"},"nodeType":"YulFunctionCall","src":"10650:29:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"10642:4:67"}]},{"nodeType":"YulAssignment","src":"10716:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"10728:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"10734:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10724:3:67"},"nodeType":"YulFunctionCall","src":"10724:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"10716:4:67"}]}]},"name":"array_allocation_size_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"10489:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"10500:4:67","type":""}],"src":"10438:308:67"},{"body":{"nodeType":"YulBlock","src":"10810:40:67","statements":[{"nodeType":"YulAssignment","src":"10821:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10837:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10831:5:67"},"nodeType":"YulFunctionCall","src":"10831:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"10821:6:67"}]}]},"name":"array_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10793:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"10803:6:67","type":""}],"src":"10752:98:67"},{"body":{"nodeType":"YulBlock","src":"10915:40:67","statements":[{"nodeType":"YulAssignment","src":"10926:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10942:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10936:5:67"},"nodeType":"YulFunctionCall","src":"10936:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"10926:6:67"}]}]},"name":"array_length_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10898:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"10908:6:67","type":""}],"src":"10856:99:67"},{"body":{"nodeType":"YulBlock","src":"11056:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11073:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"11078:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11066:6:67"},"nodeType":"YulFunctionCall","src":"11066:19:67"},"nodeType":"YulExpressionStatement","src":"11066:19:67"},{"nodeType":"YulAssignment","src":"11094:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11113:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"11118:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11109:3:67"},"nodeType":"YulFunctionCall","src":"11109:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"11094:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"11028:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"11033:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"11044:11:67","type":""}],"src":"10961:168:67"},{"body":{"nodeType":"YulBlock","src":"11231:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11248:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"11253:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11241:6:67"},"nodeType":"YulFunctionCall","src":"11241:19:67"},"nodeType":"YulExpressionStatement","src":"11241:19:67"},{"nodeType":"YulAssignment","src":"11269:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11288:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"11293:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11284:3:67"},"nodeType":"YulFunctionCall","src":"11284:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"11269:11:67"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"11203:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"11208:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"11219:11:67","type":""}],"src":"11135:169:67"},{"body":{"nodeType":"YulBlock","src":"11424:34:67","statements":[{"nodeType":"YulAssignment","src":"11434:18:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"11449:3:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"11434:11:67"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"11396:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"11401:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"11412:11:67","type":""}],"src":"11310:148:67"},{"body":{"nodeType":"YulBlock","src":"11508:261:67","statements":[{"nodeType":"YulAssignment","src":"11518:25:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"11541:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"11523:17:67"},"nodeType":"YulFunctionCall","src":"11523:20:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"11518:1:67"}]},{"nodeType":"YulAssignment","src":"11552:25:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"11575:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"11557:17:67"},"nodeType":"YulFunctionCall","src":"11557:20:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"11552:1:67"}]},{"body":{"nodeType":"YulBlock","src":"11715:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"11717:16:67"},"nodeType":"YulFunctionCall","src":"11717:18:67"},"nodeType":"YulExpressionStatement","src":"11717:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"11636:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11643:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"y","nodeType":"YulIdentifier","src":"11711:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11639:3:67"},"nodeType":"YulFunctionCall","src":"11639:74:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"11633:2:67"},"nodeType":"YulFunctionCall","src":"11633:81:67"},"nodeType":"YulIf","src":"11630:107:67"},{"nodeType":"YulAssignment","src":"11747:16:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"11758:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"11761:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11754:3:67"},"nodeType":"YulFunctionCall","src":"11754:9:67"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"11747:3:67"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"11495:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"11498:1:67","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"11504:3:67","type":""}],"src":"11464:305:67"},{"body":{"nodeType":"YulBlock","src":"11848:775:67","statements":[{"nodeType":"YulAssignment","src":"11858:15:67","value":{"name":"_power","nodeType":"YulIdentifier","src":"11867:6:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"11858:5:67"}]},{"nodeType":"YulAssignment","src":"11882:14:67","value":{"name":"_base","nodeType":"YulIdentifier","src":"11891:5:67"},"variableNames":[{"name":"base","nodeType":"YulIdentifier","src":"11882:4:67"}]},{"body":{"nodeType":"YulBlock","src":"11940:677:67","statements":[{"body":{"nodeType":"YulBlock","src":"12028:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"12030:16:67"},"nodeType":"YulFunctionCall","src":"12030:18:67"},"nodeType":"YulExpressionStatement","src":"12030:18:67"}]},"condition":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"12006:4:67"},{"arguments":[{"name":"max","nodeType":"YulIdentifier","src":"12016:3:67"},{"name":"base","nodeType":"YulIdentifier","src":"12021:4:67"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"12012:3:67"},"nodeType":"YulFunctionCall","src":"12012:14:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"12003:2:67"},"nodeType":"YulFunctionCall","src":"12003:24:67"},"nodeType":"YulIf","src":"12000:50:67"},{"body":{"nodeType":"YulBlock","src":"12095:419:67","statements":[{"nodeType":"YulAssignment","src":"12475:25:67","value":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"12488:5:67"},{"name":"base","nodeType":"YulIdentifier","src":"12495:4:67"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"12484:3:67"},"nodeType":"YulFunctionCall","src":"12484:16:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"12475:5:67"}]}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"12070:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"12080:1:67","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12066:3:67"},"nodeType":"YulFunctionCall","src":"12066:16:67"},"nodeType":"YulIf","src":"12063:451:67"},{"nodeType":"YulAssignment","src":"12527:23:67","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"12539:4:67"},{"name":"base","nodeType":"YulIdentifier","src":"12545:4:67"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"12535:3:67"},"nodeType":"YulFunctionCall","src":"12535:15:67"},"variableNames":[{"name":"base","nodeType":"YulIdentifier","src":"12527:4:67"}]},{"nodeType":"YulAssignment","src":"12563:44:67","value":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"12598:8:67"}],"functionName":{"name":"shift_right_1_unsigned","nodeType":"YulIdentifier","src":"12575:22:67"},"nodeType":"YulFunctionCall","src":"12575:32:67"},"variableNames":[{"name":"exponent","nodeType":"YulIdentifier","src":"12563:8:67"}]}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"11916:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"11926:1:67","type":"","value":"1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"11913:2:67"},"nodeType":"YulFunctionCall","src":"11913:15:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"11929:2:67","statements":[]},"pre":{"nodeType":"YulBlock","src":"11909:3:67","statements":[]},"src":"11905:712:67"}]},"name":"checked_exp_helper","nodeType":"YulFunctionDefinition","parameters":[{"name":"_power","nodeType":"YulTypedName","src":"11803:6:67","type":""},{"name":"_base","nodeType":"YulTypedName","src":"11811:5:67","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"11818:8:67","type":""},{"name":"max","nodeType":"YulTypedName","src":"11828:3:67","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"11836:5:67","type":""},{"name":"base","nodeType":"YulTypedName","src":"11843:4:67","type":""}],"src":"11775:848:67"},{"body":{"nodeType":"YulBlock","src":"12695:219:67","statements":[{"nodeType":"YulAssignment","src":"12705:31:67","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"12731:4:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"12713:17:67"},"nodeType":"YulFunctionCall","src":"12713:23:67"},"variableNames":[{"name":"base","nodeType":"YulIdentifier","src":"12705:4:67"}]},{"nodeType":"YulAssignment","src":"12745:39:67","value":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"12775:8:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"12757:17:67"},"nodeType":"YulFunctionCall","src":"12757:27:67"},"variableNames":[{"name":"exponent","nodeType":"YulIdentifier","src":"12745:8:67"}]},{"nodeType":"YulAssignment","src":"12794:113:67","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"12824:4:67"},{"name":"exponent","nodeType":"YulIdentifier","src":"12830:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"12840:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"checked_exp_unsigned","nodeType":"YulIdentifier","src":"12803:20:67"},"nodeType":"YulFunctionCall","src":"12803:104:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"12794:5:67"}]}]},"name":"checked_exp_t_uint256_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"base","nodeType":"YulTypedName","src":"12670:4:67","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"12676:8:67","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"12689:5:67","type":""}],"src":"12629:285:67"},{"body":{"nodeType":"YulBlock","src":"12984:217:67","statements":[{"nodeType":"YulAssignment","src":"12994:31:67","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"13020:4:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"13002:17:67"},"nodeType":"YulFunctionCall","src":"13002:23:67"},"variableNames":[{"name":"base","nodeType":"YulIdentifier","src":"12994:4:67"}]},{"nodeType":"YulAssignment","src":"13034:37:67","value":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"13062:8:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"13046:15:67"},"nodeType":"YulFunctionCall","src":"13046:25:67"},"variableNames":[{"name":"exponent","nodeType":"YulIdentifier","src":"13034:8:67"}]},{"nodeType":"YulAssignment","src":"13081:113:67","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"13111:4:67"},{"name":"exponent","nodeType":"YulIdentifier","src":"13117:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"13127:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"checked_exp_unsigned","nodeType":"YulIdentifier","src":"13090:20:67"},"nodeType":"YulFunctionCall","src":"13090:104:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"13081:5:67"}]}]},"name":"checked_exp_t_uint256_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"base","nodeType":"YulTypedName","src":"12959:4:67","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"12965:8:67","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"12978:5:67","type":""}],"src":"12920:281:67"},{"body":{"nodeType":"YulBlock","src":"13267:1013:67","statements":[{"body":{"nodeType":"YulBlock","src":"13462:20:67","statements":[{"nodeType":"YulAssignment","src":"13464:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"13473:1:67","type":"","value":"1"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"13464:5:67"}]},{"nodeType":"YulLeave","src":"13475:5:67"}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"13452:8:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13445:6:67"},"nodeType":"YulFunctionCall","src":"13445:16:67"},"nodeType":"YulIf","src":"13442:40:67"},{"body":{"nodeType":"YulBlock","src":"13507:20:67","statements":[{"nodeType":"YulAssignment","src":"13509:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"13518:1:67","type":"","value":"0"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"13509:5:67"}]},{"nodeType":"YulLeave","src":"13520:5:67"}]},"condition":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"13501:4:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13494:6:67"},"nodeType":"YulFunctionCall","src":"13494:12:67"},"nodeType":"YulIf","src":"13491:36:67"},{"cases":[{"body":{"nodeType":"YulBlock","src":"13637:20:67","statements":[{"nodeType":"YulAssignment","src":"13639:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"13648:1:67","type":"","value":"1"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"13639:5:67"}]},{"nodeType":"YulLeave","src":"13650:5:67"}]},"nodeType":"YulCase","src":"13630:27:67","value":{"kind":"number","nodeType":"YulLiteral","src":"13635:1:67","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"13681:176:67","statements":[{"body":{"nodeType":"YulBlock","src":"13716:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"13718:16:67"},"nodeType":"YulFunctionCall","src":"13718:18:67"},"nodeType":"YulExpressionStatement","src":"13718:18:67"}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"13701:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"13711:3:67","type":"","value":"255"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13698:2:67"},"nodeType":"YulFunctionCall","src":"13698:17:67"},"nodeType":"YulIf","src":"13695:43:67"},{"nodeType":"YulAssignment","src":"13751:25:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13764:1:67","type":"","value":"2"},{"name":"exponent","nodeType":"YulIdentifier","src":"13767:8:67"}],"functionName":{"name":"exp","nodeType":"YulIdentifier","src":"13760:3:67"},"nodeType":"YulFunctionCall","src":"13760:16:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"13751:5:67"}]},{"body":{"nodeType":"YulBlock","src":"13807:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"13809:16:67"},"nodeType":"YulFunctionCall","src":"13809:18:67"},"nodeType":"YulExpressionStatement","src":"13809:18:67"}]},"condition":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"13795:5:67"},{"name":"max","nodeType":"YulIdentifier","src":"13802:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13792:2:67"},"nodeType":"YulFunctionCall","src":"13792:14:67"},"nodeType":"YulIf","src":"13789:40:67"},{"nodeType":"YulLeave","src":"13842:5:67"}]},"nodeType":"YulCase","src":"13666:191:67","value":{"kind":"number","nodeType":"YulLiteral","src":"13671:1:67","type":"","value":"2"}}],"expression":{"name":"base","nodeType":"YulIdentifier","src":"13587:4:67"},"nodeType":"YulSwitch","src":"13580:277:67"},{"body":{"nodeType":"YulBlock","src":"13989:123:67","statements":[{"nodeType":"YulAssignment","src":"14003:28:67","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"14016:4:67"},{"name":"exponent","nodeType":"YulIdentifier","src":"14022:8:67"}],"functionName":{"name":"exp","nodeType":"YulIdentifier","src":"14012:3:67"},"nodeType":"YulFunctionCall","src":"14012:19:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"14003:5:67"}]},{"body":{"nodeType":"YulBlock","src":"14062:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"14064:16:67"},"nodeType":"YulFunctionCall","src":"14064:18:67"},"nodeType":"YulExpressionStatement","src":"14064:18:67"}]},"condition":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"14050:5:67"},{"name":"max","nodeType":"YulIdentifier","src":"14057:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14047:2:67"},"nodeType":"YulFunctionCall","src":"14047:14:67"},"nodeType":"YulIf","src":"14044:40:67"},{"nodeType":"YulLeave","src":"14097:5:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"13892:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"13898:2:67","type":"","value":"11"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"13889:2:67"},"nodeType":"YulFunctionCall","src":"13889:12:67"},{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"13906:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"13916:2:67","type":"","value":"78"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"13903:2:67"},"nodeType":"YulFunctionCall","src":"13903:16:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13885:3:67"},"nodeType":"YulFunctionCall","src":"13885:35:67"},{"arguments":[{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"13941:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"13947:3:67","type":"","value":"307"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"13938:2:67"},"nodeType":"YulFunctionCall","src":"13938:13:67"},{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"13956:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"13966:2:67","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"13953:2:67"},"nodeType":"YulFunctionCall","src":"13953:16:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13934:3:67"},"nodeType":"YulFunctionCall","src":"13934:36:67"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"13869:2:67"},"nodeType":"YulFunctionCall","src":"13869:111:67"},"nodeType":"YulIf","src":"13866:246:67"},{"nodeType":"YulAssignment","src":"14122:57:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14156:1:67","type":"","value":"1"},{"name":"base","nodeType":"YulIdentifier","src":"14159:4:67"},{"name":"exponent","nodeType":"YulIdentifier","src":"14165:8:67"},{"name":"max","nodeType":"YulIdentifier","src":"14175:3:67"}],"functionName":{"name":"checked_exp_helper","nodeType":"YulIdentifier","src":"14137:18:67"},"nodeType":"YulFunctionCall","src":"14137:42:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"14122:5:67"},{"name":"base","nodeType":"YulIdentifier","src":"14129:4:67"}]},{"body":{"nodeType":"YulBlock","src":"14218:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"14220:16:67"},"nodeType":"YulFunctionCall","src":"14220:18:67"},"nodeType":"YulExpressionStatement","src":"14220:18:67"}]},"condition":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"14195:5:67"},{"arguments":[{"name":"max","nodeType":"YulIdentifier","src":"14206:3:67"},{"name":"base","nodeType":"YulIdentifier","src":"14211:4:67"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"14202:3:67"},"nodeType":"YulFunctionCall","src":"14202:14:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14192:2:67"},"nodeType":"YulFunctionCall","src":"14192:25:67"},"nodeType":"YulIf","src":"14189:51:67"},{"nodeType":"YulAssignment","src":"14249:25:67","value":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"14262:5:67"},{"name":"base","nodeType":"YulIdentifier","src":"14269:4:67"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"14258:3:67"},"nodeType":"YulFunctionCall","src":"14258:16:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"14249:5:67"}]}]},"name":"checked_exp_unsigned","nodeType":"YulFunctionDefinition","parameters":[{"name":"base","nodeType":"YulTypedName","src":"13237:4:67","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"13243:8:67","type":""},{"name":"max","nodeType":"YulTypedName","src":"13253:3:67","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"13261:5:67","type":""}],"src":"13207:1073:67"},{"body":{"nodeType":"YulBlock","src":"14334:300:67","statements":[{"nodeType":"YulAssignment","src":"14344:25:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"14367:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"14349:17:67"},"nodeType":"YulFunctionCall","src":"14349:20:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"14344:1:67"}]},{"nodeType":"YulAssignment","src":"14378:25:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"14401:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"14383:17:67"},"nodeType":"YulFunctionCall","src":"14383:20:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"14378:1:67"}]},{"body":{"nodeType":"YulBlock","src":"14576:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"14578:16:67"},"nodeType":"YulFunctionCall","src":"14578:18:67"},"nodeType":"YulExpressionStatement","src":"14578:18:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"14488:1:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14481:6:67"},"nodeType":"YulFunctionCall","src":"14481:9:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14474:6:67"},"nodeType":"YulFunctionCall","src":"14474:17:67"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"14496:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14503:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"x","nodeType":"YulIdentifier","src":"14571:1:67"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"14499:3:67"},"nodeType":"YulFunctionCall","src":"14499:74:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14493:2:67"},"nodeType":"YulFunctionCall","src":"14493:81:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14470:3:67"},"nodeType":"YulFunctionCall","src":"14470:105:67"},"nodeType":"YulIf","src":"14467:131:67"},{"nodeType":"YulAssignment","src":"14608:20:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"14623:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"14626:1:67"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"14619:3:67"},"nodeType":"YulFunctionCall","src":"14619:9:67"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"14608:7:67"}]}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"14317:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"14320:1:67","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"14326:7:67","type":""}],"src":"14286:348:67"},{"body":{"nodeType":"YulBlock","src":"14684:483:67","statements":[{"nodeType":"YulAssignment","src":"14694:24:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"14716:1:67"}],"functionName":{"name":"cleanup_t_int256","nodeType":"YulIdentifier","src":"14699:16:67"},"nodeType":"YulFunctionCall","src":"14699:19:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"14694:1:67"}]},{"nodeType":"YulAssignment","src":"14727:24:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"14749:1:67"}],"functionName":{"name":"cleanup_t_int256","nodeType":"YulIdentifier","src":"14732:16:67"},"nodeType":"YulFunctionCall","src":"14732:19:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"14727:1:67"}]},{"body":{"nodeType":"YulBlock","src":"14926:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"14928:16:67"},"nodeType":"YulFunctionCall","src":"14928:18:67"},"nodeType":"YulExpressionStatement","src":"14928:18:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"14834:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"14837:1:67","type":"","value":"0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14830:3:67"},"nodeType":"YulFunctionCall","src":"14830:9:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14823:6:67"},"nodeType":"YulFunctionCall","src":"14823:17:67"},{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"14846:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14853:66:67","type":"","value":"0x8000000000000000000000000000000000000000000000000000000000000000"},{"name":"y","nodeType":"YulIdentifier","src":"14921:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14849:3:67"},"nodeType":"YulFunctionCall","src":"14849:74:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14842:3:67"},"nodeType":"YulFunctionCall","src":"14842:82:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14819:3:67"},"nodeType":"YulFunctionCall","src":"14819:106:67"},"nodeType":"YulIf","src":"14816:132:67"},{"body":{"nodeType":"YulBlock","src":"15112:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"15114:16:67"},"nodeType":"YulFunctionCall","src":"15114:18:67"},"nodeType":"YulExpressionStatement","src":"15114:18:67"}]},"condition":{"arguments":[{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"15021:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"15024:1:67","type":"","value":"0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15017:3:67"},"nodeType":"YulFunctionCall","src":"15017:9:67"},{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"15032:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15039:66:67","type":"","value":"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"y","nodeType":"YulIdentifier","src":"15107:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15035:3:67"},"nodeType":"YulFunctionCall","src":"15035:74:67"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"15028:3:67"},"nodeType":"YulFunctionCall","src":"15028:82:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15013:3:67"},"nodeType":"YulFunctionCall","src":"15013:98:67"},"nodeType":"YulIf","src":"15010:124:67"},{"nodeType":"YulAssignment","src":"15144:17:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"15156:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"15159:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15152:3:67"},"nodeType":"YulFunctionCall","src":"15152:9:67"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"15144:4:67"}]}]},"name":"checked_sub_t_int256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"14670:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"14673:1:67","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"14679:4:67","type":""}],"src":"14640:527:67"},{"body":{"nodeType":"YulBlock","src":"15218:146:67","statements":[{"nodeType":"YulAssignment","src":"15228:25:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"15251:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"15233:17:67"},"nodeType":"YulFunctionCall","src":"15233:20:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"15228:1:67"}]},{"nodeType":"YulAssignment","src":"15262:25:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"15285:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"15267:17:67"},"nodeType":"YulFunctionCall","src":"15267:20:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"15262:1:67"}]},{"body":{"nodeType":"YulBlock","src":"15309:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"15311:16:67"},"nodeType":"YulFunctionCall","src":"15311:18:67"},"nodeType":"YulExpressionStatement","src":"15311:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"15303:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"15306:1:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"15300:2:67"},"nodeType":"YulFunctionCall","src":"15300:8:67"},"nodeType":"YulIf","src":"15297:34:67"},{"nodeType":"YulAssignment","src":"15341:17:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"15353:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"15356:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15349:3:67"},"nodeType":"YulFunctionCall","src":"15349:9:67"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"15341:4:67"}]}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"15204:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"15207:1:67","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"15213:4:67","type":""}],"src":"15173:191:67"},{"body":{"nodeType":"YulBlock","src":"15415:51:67","statements":[{"nodeType":"YulAssignment","src":"15425:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15454:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"15436:17:67"},"nodeType":"YulFunctionCall","src":"15436:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"15425:7:67"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15397:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"15407:7:67","type":""}],"src":"15370:96:67"},{"body":{"nodeType":"YulBlock","src":"15514:48:67","statements":[{"nodeType":"YulAssignment","src":"15524:32:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15549:5:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"15542:6:67"},"nodeType":"YulFunctionCall","src":"15542:13:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"15535:6:67"},"nodeType":"YulFunctionCall","src":"15535:21:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"15524:7:67"}]}]},"name":"cleanup_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15496:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"15506:7:67","type":""}],"src":"15472:90:67"},{"body":{"nodeType":"YulBlock","src":"15613:32:67","statements":[{"nodeType":"YulAssignment","src":"15623:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"15634:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"15623:7:67"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15595:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"15605:7:67","type":""}],"src":"15568:77:67"},{"body":{"nodeType":"YulBlock","src":"15695:105:67","statements":[{"nodeType":"YulAssignment","src":"15705:89:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15720:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"15727:66:67","type":"","value":"0xffffffff00000000000000000000000000000000000000000000000000000000"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15716:3:67"},"nodeType":"YulFunctionCall","src":"15716:78:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"15705:7:67"}]}]},"name":"cleanup_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15677:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"15687:7:67","type":""}],"src":"15651:149:67"},{"body":{"nodeType":"YulBlock","src":"15850:32:67","statements":[{"nodeType":"YulAssignment","src":"15860:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"15871:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"15860:7:67"}]}]},"name":"cleanup_t_int256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15832:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"15842:7:67","type":""}],"src":"15806:76:67"},{"body":{"nodeType":"YulBlock","src":"15933:81:67","statements":[{"nodeType":"YulAssignment","src":"15943:65:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15958:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"15965:42:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15954:3:67"},"nodeType":"YulFunctionCall","src":"15954:54:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"15943:7:67"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15915:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"15925:7:67","type":""}],"src":"15888:126:67"},{"body":{"nodeType":"YulBlock","src":"16065:32:67","statements":[{"nodeType":"YulAssignment","src":"16075:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"16086:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"16075:7:67"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16047:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"16057:7:67","type":""}],"src":"16020:77:67"},{"body":{"nodeType":"YulBlock","src":"16146:43:67","statements":[{"nodeType":"YulAssignment","src":"16156:27:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16171:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"16178:4:67","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16167:3:67"},"nodeType":"YulFunctionCall","src":"16167:16:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"16156:7:67"}]}]},"name":"cleanup_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16128:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"16138:7:67","type":""}],"src":"16103:86:67"},{"body":{"nodeType":"YulBlock","src":"16278:66:67","statements":[{"nodeType":"YulAssignment","src":"16288:50:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16332:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_address","nodeType":"YulIdentifier","src":"16301:30:67"},"nodeType":"YulFunctionCall","src":"16301:37:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"16288:9:67"}]}]},"name":"convert_t_contract$_ChainlinkClient_$861_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16258:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"16268:9:67","type":""}],"src":"16195:149:67"},{"body":{"nodeType":"YulBlock","src":"16410:66:67","statements":[{"nodeType":"YulAssignment","src":"16420:50:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16464:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_uint160","nodeType":"YulIdentifier","src":"16433:30:67"},"nodeType":"YulFunctionCall","src":"16433:37:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"16420:9:67"}]}]},"name":"convert_t_uint160_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16390:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"16400:9:67","type":""}],"src":"16350:126:67"},{"body":{"nodeType":"YulBlock","src":"16542:53:67","statements":[{"nodeType":"YulAssignment","src":"16552:37:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16583:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"16565:17:67"},"nodeType":"YulFunctionCall","src":"16565:24:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"16552:9:67"}]}]},"name":"convert_t_uint160_to_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16522:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"16532:9:67","type":""}],"src":"16482:113:67"},{"body":{"nodeType":"YulBlock","src":"16652:103:67","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"16675:3:67"},{"name":"src","nodeType":"YulIdentifier","src":"16680:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"16685:6:67"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"16662:12:67"},"nodeType":"YulFunctionCall","src":"16662:30:67"},"nodeType":"YulExpressionStatement","src":"16662:30:67"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"16733:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"16738:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16729:3:67"},"nodeType":"YulFunctionCall","src":"16729:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"16747:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16722:6:67"},"nodeType":"YulFunctionCall","src":"16722:27:67"},"nodeType":"YulExpressionStatement","src":"16722:27:67"}]},"name":"copy_calldata_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"16634:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"16639:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"16644:6:67","type":""}],"src":"16601:154:67"},{"body":{"nodeType":"YulBlock","src":"16810:258:67","statements":[{"nodeType":"YulVariableDeclaration","src":"16820:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"16829:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"16824:1:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"16889:63:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"16914:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"16919:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16910:3:67"},"nodeType":"YulFunctionCall","src":"16910:11:67"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"16933:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"16938:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16929:3:67"},"nodeType":"YulFunctionCall","src":"16929:11:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16923:5:67"},"nodeType":"YulFunctionCall","src":"16923:18:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16903:6:67"},"nodeType":"YulFunctionCall","src":"16903:39:67"},"nodeType":"YulExpressionStatement","src":"16903:39:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"16850:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"16853:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"16847:2:67"},"nodeType":"YulFunctionCall","src":"16847:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"16861:19:67","statements":[{"nodeType":"YulAssignment","src":"16863:15:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"16872:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"16875:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16868:3:67"},"nodeType":"YulFunctionCall","src":"16868:10:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"16863:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"16843:3:67","statements":[]},"src":"16839:113:67"},{"body":{"nodeType":"YulBlock","src":"16986:76:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"17036:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"17041:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17032:3:67"},"nodeType":"YulFunctionCall","src":"17032:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"17050:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17025:6:67"},"nodeType":"YulFunctionCall","src":"17025:27:67"},"nodeType":"YulExpressionStatement","src":"17025:27:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"16967:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"16970:6:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"16964:2:67"},"nodeType":"YulFunctionCall","src":"16964:13:67"},"nodeType":"YulIf","src":"16961:101:67"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"16792:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"16797:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"16802:6:67","type":""}],"src":"16761:307:67"},{"body":{"nodeType":"YulBlock","src":"17117:238:67","statements":[{"nodeType":"YulVariableDeclaration","src":"17127:58:67","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"17149:6:67"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"17179:4:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"17157:21:67"},"nodeType":"YulFunctionCall","src":"17157:27:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17145:3:67"},"nodeType":"YulFunctionCall","src":"17145:40:67"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"17131:10:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"17296:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"17298:16:67"},"nodeType":"YulFunctionCall","src":"17298:18:67"},"nodeType":"YulExpressionStatement","src":"17298:18:67"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"17239:10:67"},{"kind":"number","nodeType":"YulLiteral","src":"17251:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"17236:2:67"},"nodeType":"YulFunctionCall","src":"17236:34:67"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"17275:10:67"},{"name":"memPtr","nodeType":"YulIdentifier","src":"17287:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"17272:2:67"},"nodeType":"YulFunctionCall","src":"17272:22:67"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"17233:2:67"},"nodeType":"YulFunctionCall","src":"17233:62:67"},"nodeType":"YulIf","src":"17230:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17334:2:67","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"17338:10:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17327:6:67"},"nodeType":"YulFunctionCall","src":"17327:22:67"},"nodeType":"YulExpressionStatement","src":"17327:22:67"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"17103:6:67","type":""},{"name":"size","nodeType":"YulTypedName","src":"17111:4:67","type":""}],"src":"17074:281:67"},{"body":{"nodeType":"YulBlock","src":"17408:53:67","statements":[{"nodeType":"YulAssignment","src":"17418:37:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17449:5:67"}],"functionName":{"name":"leftAlign_t_uint160","nodeType":"YulIdentifier","src":"17429:19:67"},"nodeType":"YulFunctionCall","src":"17429:26:67"},"variableNames":[{"name":"aligned","nodeType":"YulIdentifier","src":"17418:7:67"}]}]},"name":"leftAlign_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"17390:5:67","type":""}],"returnVariables":[{"name":"aligned","nodeType":"YulTypedName","src":"17400:7:67","type":""}],"src":"17361:100:67"},{"body":{"nodeType":"YulBlock","src":"17514:47:67","statements":[{"nodeType":"YulAssignment","src":"17524:31:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17549:5:67"}],"functionName":{"name":"shift_left_96","nodeType":"YulIdentifier","src":"17535:13:67"},"nodeType":"YulFunctionCall","src":"17535:20:67"},"variableNames":[{"name":"aligned","nodeType":"YulIdentifier","src":"17524:7:67"}]}]},"name":"leftAlign_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"17496:5:67","type":""}],"returnVariables":[{"name":"aligned","nodeType":"YulTypedName","src":"17506:7:67","type":""}],"src":"17467:94:67"},{"body":{"nodeType":"YulBlock","src":"17614:32:67","statements":[{"nodeType":"YulAssignment","src":"17624:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"17635:5:67"},"variableNames":[{"name":"aligned","nodeType":"YulIdentifier","src":"17624:7:67"}]}]},"name":"leftAlign_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"17596:5:67","type":""}],"returnVariables":[{"name":"aligned","nodeType":"YulTypedName","src":"17606:7:67","type":""}],"src":"17567:79:67"},{"body":{"nodeType":"YulBlock","src":"17686:142:67","statements":[{"nodeType":"YulAssignment","src":"17696:25:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"17719:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"17701:17:67"},"nodeType":"YulFunctionCall","src":"17701:20:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"17696:1:67"}]},{"nodeType":"YulAssignment","src":"17730:25:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"17753:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"17735:17:67"},"nodeType":"YulFunctionCall","src":"17735:20:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"17730:1:67"}]},{"body":{"nodeType":"YulBlock","src":"17777:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x12","nodeType":"YulIdentifier","src":"17779:16:67"},"nodeType":"YulFunctionCall","src":"17779:18:67"},"nodeType":"YulExpressionStatement","src":"17779:18:67"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"17774:1:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17767:6:67"},"nodeType":"YulFunctionCall","src":"17767:9:67"},"nodeType":"YulIf","src":"17764:35:67"},{"nodeType":"YulAssignment","src":"17808:14:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"17817:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"17820:1:67"}],"functionName":{"name":"mod","nodeType":"YulIdentifier","src":"17813:3:67"},"nodeType":"YulFunctionCall","src":"17813:9:67"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"17808:1:67"}]}]},"name":"mod_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"17675:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"17678:1:67","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"17684:1:67","type":""}],"src":"17652:176:67"},{"body":{"nodeType":"YulBlock","src":"17862:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17879:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17882:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17872:6:67"},"nodeType":"YulFunctionCall","src":"17872:88:67"},"nodeType":"YulExpressionStatement","src":"17872:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17976:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"17979:4:67","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17969:6:67"},"nodeType":"YulFunctionCall","src":"17969:15:67"},"nodeType":"YulExpressionStatement","src":"17969:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18000:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18003:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17993:6:67"},"nodeType":"YulFunctionCall","src":"17993:15:67"},"nodeType":"YulExpressionStatement","src":"17993:15:67"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"17834:180:67"},{"body":{"nodeType":"YulBlock","src":"18048:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18065:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18068:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18058:6:67"},"nodeType":"YulFunctionCall","src":"18058:88:67"},"nodeType":"YulExpressionStatement","src":"18058:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18162:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"18165:4:67","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18155:6:67"},"nodeType":"YulFunctionCall","src":"18155:15:67"},"nodeType":"YulExpressionStatement","src":"18155:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18186:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18189:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18179:6:67"},"nodeType":"YulFunctionCall","src":"18179:15:67"},"nodeType":"YulExpressionStatement","src":"18179:15:67"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"18020:180:67"},{"body":{"nodeType":"YulBlock","src":"18234:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18251:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18254:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18244:6:67"},"nodeType":"YulFunctionCall","src":"18244:88:67"},"nodeType":"YulExpressionStatement","src":"18244:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18348:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"18351:4:67","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18341:6:67"},"nodeType":"YulFunctionCall","src":"18341:15:67"},"nodeType":"YulExpressionStatement","src":"18341:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18372:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18375:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18365:6:67"},"nodeType":"YulFunctionCall","src":"18365:15:67"},"nodeType":"YulExpressionStatement","src":"18365:15:67"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"18206:180:67"},{"body":{"nodeType":"YulBlock","src":"18481:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18498:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18501:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18491:6:67"},"nodeType":"YulFunctionCall","src":"18491:12:67"},"nodeType":"YulExpressionStatement","src":"18491:12:67"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"18392:117:67"},{"body":{"nodeType":"YulBlock","src":"18604:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18621:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18624:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18614:6:67"},"nodeType":"YulFunctionCall","src":"18614:12:67"},"nodeType":"YulExpressionStatement","src":"18614:12:67"}]},"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulFunctionDefinition","src":"18515:117:67"},{"body":{"nodeType":"YulBlock","src":"18727:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18744:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18747:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18737:6:67"},"nodeType":"YulFunctionCall","src":"18737:12:67"},"nodeType":"YulExpressionStatement","src":"18737:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"18638:117:67"},{"body":{"nodeType":"YulBlock","src":"18850:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18867:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18870:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18860:6:67"},"nodeType":"YulFunctionCall","src":"18860:12:67"},"nodeType":"YulExpressionStatement","src":"18860:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"18761:117:67"},{"body":{"nodeType":"YulBlock","src":"18932:54:67","statements":[{"nodeType":"YulAssignment","src":"18942:38:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18960:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"18967:2:67","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18956:3:67"},"nodeType":"YulFunctionCall","src":"18956:14:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18976:2:67","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"18972:3:67"},"nodeType":"YulFunctionCall","src":"18972:7:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"18952:3:67"},"nodeType":"YulFunctionCall","src":"18952:28:67"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"18942:6:67"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18915:5:67","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"18925:6:67","type":""}],"src":"18884:102:67"},{"body":{"nodeType":"YulBlock","src":"19034:52:67","statements":[{"nodeType":"YulAssignment","src":"19044:35:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19069:2:67","type":"","value":"96"},{"name":"value","nodeType":"YulIdentifier","src":"19073:5:67"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"19065:3:67"},"nodeType":"YulFunctionCall","src":"19065:14:67"},"variableNames":[{"name":"newValue","nodeType":"YulIdentifier","src":"19044:8:67"}]}]},"name":"shift_left_96","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19015:5:67","type":""}],"returnVariables":[{"name":"newValue","nodeType":"YulTypedName","src":"19025:8:67","type":""}],"src":"18992:94:67"},{"body":{"nodeType":"YulBlock","src":"19143:51:67","statements":[{"nodeType":"YulAssignment","src":"19153:34:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19178:1:67","type":"","value":"1"},{"name":"value","nodeType":"YulIdentifier","src":"19181:5:67"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"19174:3:67"},"nodeType":"YulFunctionCall","src":"19174:13:67"},"variableNames":[{"name":"newValue","nodeType":"YulIdentifier","src":"19153:8:67"}]}]},"name":"shift_right_1_unsigned","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19124:5:67","type":""}],"returnVariables":[{"name":"newValue","nodeType":"YulTypedName","src":"19134:8:67","type":""}],"src":"19092:102:67"},{"body":{"nodeType":"YulBlock","src":"19306:149:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"19328:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"19336:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19324:3:67"},"nodeType":"YulFunctionCall","src":"19324:14:67"},{"hexValue":"68747470733a2f2f6d696e2d6170692e63727970746f636f6d706172652e636f","kind":"string","nodeType":"YulLiteral","src":"19340:34:67","type":"","value":"https://min-api.cryptocompare.co"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19317:6:67"},"nodeType":"YulFunctionCall","src":"19317:58:67"},"nodeType":"YulExpressionStatement","src":"19317:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"19400:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"19408:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19396:3:67"},"nodeType":"YulFunctionCall","src":"19396:15:67"},{"hexValue":"6d2f646174612f70726963656d756c746966756c6c3f6673796d733d","kind":"string","nodeType":"YulLiteral","src":"19413:30:67","type":"","value":"m/data/pricemultifull?fsyms="}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19389:6:67"},"nodeType":"YulFunctionCall","src":"19389:55:67"},"nodeType":"YulExpressionStatement","src":"19389:55:67"}]},"name":"store_literal_in_memory_00bc081eadf40ed0dc7879af2269c622702c3e724c853277939febcc318c7ca0","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"19298:6:67","type":""}],"src":"19200:255:67"},{"body":{"nodeType":"YulBlock","src":"19571:128:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"19597:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"19605:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19593:3:67"},"nodeType":"YulFunctionCall","src":"19593:14:67"},{"hexValue":"756e61626c6520746f207472616e73666572416e6443616c6c20746f206f7261","kind":"string","nodeType":"YulLiteral","src":"19609:34:67","type":"","value":"unable to transferAndCall to ora"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19586:6:67"},"nodeType":"YulFunctionCall","src":"19586:58:67"},"nodeType":"YulExpressionStatement","src":"19586:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"19669:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"19677:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19665:3:67"},"nodeType":"YulFunctionCall","src":"19665:15:67"},{"hexValue":"636c65","kind":"string","nodeType":"YulLiteral","src":"19682:5:67","type":"","value":"cle"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19658:6:67"},"nodeType":"YulFunctionCall","src":"19658:30:67"},"nodeType":"YulExpressionStatement","src":"19658:30:67"}]},"name":"store_literal_in_memory_3b3efd608222b424e5ed8427d7f6a272069793e6a1f5930c93db5c7960c3ce96","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"19563:6:67","type":""}],"src":"19465:234:67"},{"body":{"nodeType":"YulBlock","src":"19815:62:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"19841:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"19849:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19837:3:67"},"nodeType":"YulFunctionCall","src":"19837:14:67"},{"hexValue":"267473796d733d555344","kind":"string","nodeType":"YulLiteral","src":"19853:12:67","type":"","value":"&tsyms=USD"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19830:6:67"},"nodeType":"YulFunctionCall","src":"19830:36:67"},"nodeType":"YulExpressionStatement","src":"19830:36:67"}]},"name":"store_literal_in_memory_7777c48c3199be13e96617288cd8bbab12953c2d243403b37a69369245a376d4","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"19807:6:67","type":""}],"src":"19709:168:67"},{"body":{"nodeType":"YulBlock","src":"19993:133:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"20019:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"20027:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20015:3:67"},"nodeType":"YulFunctionCall","src":"20015:14:67"},{"hexValue":"536f75726365206d75737420626520746865206f7261636c65206f6620746865","kind":"string","nodeType":"YulLiteral","src":"20031:34:67","type":"","value":"Source must be the oracle of the"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20008:6:67"},"nodeType":"YulFunctionCall","src":"20008:58:67"},"nodeType":"YulExpressionStatement","src":"20008:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"20091:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"20099:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20087:3:67"},"nodeType":"YulFunctionCall","src":"20087:15:67"},{"hexValue":"2072657175657374","kind":"string","nodeType":"YulLiteral","src":"20104:10:67","type":"","value":" request"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20080:6:67"},"nodeType":"YulFunctionCall","src":"20080:35:67"},"nodeType":"YulExpressionStatement","src":"20080:35:67"}]},"name":"store_literal_in_memory_d5cafe2745dab6273b51cca76f8727c7664db74ede49af049a5b5ca6a3b184e4","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"19985:6:67","type":""}],"src":"19887:239:67"},{"body":{"nodeType":"YulBlock","src":"20176:84:67","statements":[{"body":{"nodeType":"YulBlock","src":"20234:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20243:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20246:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20236:6:67"},"nodeType":"YulFunctionCall","src":"20236:12:67"},"nodeType":"YulExpressionStatement","src":"20236:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20203:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20225:5:67"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"20210:14:67"},"nodeType":"YulFunctionCall","src":"20210:21:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"20200:2:67"},"nodeType":"YulFunctionCall","src":"20200:32:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"20193:6:67"},"nodeType":"YulFunctionCall","src":"20193:40:67"},"nodeType":"YulIf","src":"20190:60:67"}]},"name":"validator_revert_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"20169:5:67","type":""}],"src":"20136:124:67"},{"body":{"nodeType":"YulBlock","src":"20313:87:67","statements":[{"body":{"nodeType":"YulBlock","src":"20374:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20383:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20386:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20376:6:67"},"nodeType":"YulFunctionCall","src":"20376:12:67"},"nodeType":"YulExpressionStatement","src":"20376:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20340:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20365:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"20347:17:67"},"nodeType":"YulFunctionCall","src":"20347:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"20337:2:67"},"nodeType":"YulFunctionCall","src":"20337:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"20330:6:67"},"nodeType":"YulFunctionCall","src":"20330:43:67"},"nodeType":"YulIf","src":"20327:63:67"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"20306:5:67","type":""}],"src":"20270:130:67"},{"body":{"nodeType":"YulBlock","src":"20453:87:67","statements":[{"body":{"nodeType":"YulBlock","src":"20514:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20523:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20526:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20516:6:67"},"nodeType":"YulFunctionCall","src":"20516:12:67"},"nodeType":"YulExpressionStatement","src":"20516:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20480:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20505:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"20487:17:67"},"nodeType":"YulFunctionCall","src":"20487:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"20477:2:67"},"nodeType":"YulFunctionCall","src":"20477:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"20470:6:67"},"nodeType":"YulFunctionCall","src":"20470:43:67"},"nodeType":"YulIf","src":"20467:63:67"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"20446:5:67","type":""}],"src":"20410:130:67"},{"body":{"nodeType":"YulBlock","src":"20591:85:67","statements":[{"body":{"nodeType":"YulBlock","src":"20650:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20659:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20662:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20652:6:67"},"nodeType":"YulFunctionCall","src":"20652:12:67"},"nodeType":"YulExpressionStatement","src":"20652:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20618:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20641:5:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"20625:15:67"},"nodeType":"YulFunctionCall","src":"20625:22:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"20615:2:67"},"nodeType":"YulFunctionCall","src":"20615:33:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"20608:6:67"},"nodeType":"YulFunctionCall","src":"20608:41:67"},"nodeType":"YulIf","src":"20605:61:67"}]},"name":"validator_revert_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"20584:5:67","type":""}],"src":"20550:126:67"}]},"contents":"{\n\n    function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n        mstore(array, length)\n        let dst := add(array, 0x20)\n        if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n        copy_calldata_to_memory(src, dst, length)\n    }\n\n    function abi_decode_t_bool_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_bool(value)\n    }\n\n    function abi_decode_t_bytes32(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_bytes32(value)\n    }\n\n    // string\n    function abi_decode_t_string_memory_ptr(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := calldataload(offset)\n        array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n    }\n\n    function abi_decode_t_uint256(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint256(value)\n    }\n\n    function abi_decode_t_uint8(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint8(value)\n    }\n\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bytes32t_uint256(headStart, dataEnd) -> value0, value1 {\n        if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_string_memory_ptrt_uint8(headStart, dataEnd) -> value0, value1 {\n        if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_uint8(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n        mstore(pos, cleanup_t_address(value))\n    }\n\n    function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n        mstore(pos, cleanup_t_bytes32(value))\n    }\n\n    function abi_encode_t_bytes4_to_t_bytes4_fromStack(value, pos) {\n        mstore(pos, cleanup_t_bytes4(value))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_contract$_ChainlinkClient_$861_to_t_address_nonPadded_inplace_fromStack(value, pos) {\n        mstore(pos, leftAlign_t_address(convert_t_contract$_ChainlinkClient_$861_to_t_address(value)))\n    }\n\n    function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n        let length := array_length_t_string_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, length)\n    }\n\n    function abi_encode_t_stringliteral_00bc081eadf40ed0dc7879af2269c622702c3e724c853277939febcc318c7ca0_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 60)\n        store_literal_in_memory_00bc081eadf40ed0dc7879af2269c622702c3e724c853277939febcc318c7ca0(pos)\n        end := add(pos, 60)\n    }\n\n    function abi_encode_t_stringliteral_3b3efd608222b424e5ed8427d7f6a272069793e6a1f5930c93db5c7960c3ce96_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 35)\n        store_literal_in_memory_3b3efd608222b424e5ed8427d7f6a272069793e6a1f5930c93db5c7960c3ce96(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_7777c48c3199be13e96617288cd8bbab12953c2d243403b37a69369245a376d4_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 10)\n        store_literal_in_memory_7777c48c3199be13e96617288cd8bbab12953c2d243403b37a69369245a376d4(pos)\n        end := add(pos, 10)\n    }\n\n    function abi_encode_t_stringliteral_d5cafe2745dab6273b51cca76f8727c7664db74ede49af049a5b5ca6a3b184e4_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 40)\n        store_literal_in_memory_d5cafe2745dab6273b51cca76f8727c7664db74ede49af049a5b5ca6a3b184e4(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint256(value))\n    }\n\n    function abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value, pos) {\n        mstore(pos, leftAlign_t_uint256(cleanup_t_uint256(value)))\n    }\n\n    function abi_encode_tuple_packed_t_contract$_ChainlinkClient_$861_t_uint256__to_t_address_t_uint256__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n        abi_encode_t_contract$_ChainlinkClient_$861_to_t_address_nonPadded_inplace_fromStack(value0,  pos)\n        pos := add(pos, 20)\n\n        abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value1,  pos)\n        pos := add(pos, 32)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_packed_t_stringliteral_00bc081eadf40ed0dc7879af2269c622702c3e724c853277939febcc318c7ca0_t_string_memory_ptr_t_stringliteral_7777c48c3199be13e96617288cd8bbab12953c2d243403b37a69369245a376d4__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n        pos := abi_encode_t_stringliteral_00bc081eadf40ed0dc7879af2269c622702c3e724c853277939febcc318c7ca0_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        pos := abi_encode_t_stringliteral_7777c48c3199be13e96617288cd8bbab12953c2d243403b37a69369245a376d4_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_t_address_t_uint256_t_bytes32_t_address_t_bytes4_t_uint256_t_uint256_t_bytes_memory_ptr__to_t_address_t_uint256_t_bytes32_t_address_t_bytes4_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart , value7, value6, value5, value4, value3, value2, value1, value0) -> tail {\n        tail := add(headStart, 256)\n\n        abi_encode_t_address_to_t_address_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value1,  add(headStart, 32))\n\n        abi_encode_t_bytes32_to_t_bytes32_fromStack(value2,  add(headStart, 64))\n\n        abi_encode_t_address_to_t_address_fromStack(value3,  add(headStart, 96))\n\n        abi_encode_t_bytes4_to_t_bytes4_fromStack(value4,  add(headStart, 128))\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value5,  add(headStart, 160))\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value6,  add(headStart, 192))\n\n        mstore(add(headStart, 224), sub(tail, headStart))\n        tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value7,  tail)\n\n    }\n\n    function abi_encode_tuple_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n        tail := add(headStart, 96)\n\n        abi_encode_t_address_to_t_address_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value1,  add(headStart, 32))\n\n        mstore(add(headStart, 64), sub(tail, headStart))\n        tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value2,  tail)\n\n    }\n\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_bytes32_to_t_bytes32_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_3b3efd608222b424e5ed8427d7f6a272069793e6a1f5930c93db5c7960c3ce96__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_3b3efd608222b424e5ed8427d7f6a272069793e6a1f5930c93db5c7960c3ce96_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_d5cafe2745dab6273b51cca76f8727c7664db74ede49af049a5b5ca6a3b184e4__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_d5cafe2745dab6273b51cca76f8727c7664db74ede49af049a5b5ca6a3b184e4_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function allocate_memory(size) -> memPtr {\n        memPtr := allocate_unbounded()\n        finalize_allocation(memPtr, size)\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function array_allocation_size_t_string_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := round_up_to_mul_of_32(length)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_length_t_bytes_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_length_t_string_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n        updated_pos := pos\n    }\n\n    function checked_add_t_uint256(x, y) -> sum {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        // overflow, if x > (maxValue - y)\n        if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n        sum := add(x, y)\n    }\n\n    function checked_exp_helper(_power, _base, exponent, max) -> power, base {\n        power := _power\n        base  := _base\n        for { } gt(exponent, 1) {}\n        {\n            // overflow check for base * base\n            if gt(base, div(max, base)) { panic_error_0x11() }\n            if and(exponent, 1)\n            {\n                // No checks for power := mul(power, base) needed, because the check\n                // for base * base above is sufficient, since:\n                // |power| <= base (proof by induction) and thus:\n                // |power * base| <= base * base <= max <= |min| (for signed)\n                // (this is equally true for signed and unsigned exp)\n                power := mul(power, base)\n            }\n            base := mul(base, base)\n            exponent := shift_right_1_unsigned(exponent)\n        }\n    }\n\n    function checked_exp_t_uint256_t_uint256(base, exponent) -> power {\n        base := cleanup_t_uint256(base)\n        exponent := cleanup_t_uint256(exponent)\n\n        power := checked_exp_unsigned(base, exponent, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n\n    }\n\n    function checked_exp_t_uint256_t_uint8(base, exponent) -> power {\n        base := cleanup_t_uint256(base)\n        exponent := cleanup_t_uint8(exponent)\n\n        power := checked_exp_unsigned(base, exponent, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n\n    }\n\n    function checked_exp_unsigned(base, exponent, max) -> power {\n        // This function currently cannot be inlined because of the\n        // \"leave\" statements. We have to improve the optimizer.\n\n        // Note that 0**0 == 1\n        if iszero(exponent) { power := 1 leave }\n        if iszero(base) { power := 0 leave }\n\n        // Specializations for small bases\n        switch base\n        // 0 is handled above\n        case 1 { power := 1 leave }\n        case 2\n        {\n            if gt(exponent, 255) { panic_error_0x11() }\n            power := exp(2, exponent)\n            if gt(power, max) { panic_error_0x11() }\n            leave\n        }\n        if or(\n            and(lt(base, 11), lt(exponent, 78)),\n            and(lt(base, 307), lt(exponent, 32))\n        )\n        {\n            power := exp(base, exponent)\n            if gt(power, max) { panic_error_0x11() }\n            leave\n        }\n\n        power, base := checked_exp_helper(1, base, exponent, max)\n\n        if gt(power, div(max, base)) { panic_error_0x11() }\n        power := mul(power, base)\n    }\n\n    function checked_mul_t_uint256(x, y) -> product {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        // overflow, if x != 0 and y > (maxValue / x)\n        if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n        product := mul(x, y)\n    }\n\n    function checked_sub_t_int256(x, y) -> diff {\n        x := cleanup_t_int256(x)\n        y := cleanup_t_int256(y)\n\n        // underflow, if y >= 0 and x < (minValue + y)\n        if and(iszero(slt(y, 0)), slt(x, add(0x8000000000000000000000000000000000000000000000000000000000000000, y))) { panic_error_0x11() }\n        // overflow, if y < 0 and x > (maxValue + y)\n        if and(slt(y, 0), sgt(x, add(0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y))) { panic_error_0x11() }\n\n        diff := sub(x, y)\n    }\n\n    function checked_sub_t_uint256(x, y) -> diff {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        if lt(x, y) { panic_error_0x11() }\n\n        diff := sub(x, y)\n    }\n\n    function cleanup_t_address(value) -> cleaned {\n        cleaned := cleanup_t_uint160(value)\n    }\n\n    function cleanup_t_bool(value) -> cleaned {\n        cleaned := iszero(iszero(value))\n    }\n\n    function cleanup_t_bytes32(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_bytes4(value) -> cleaned {\n        cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n    }\n\n    function cleanup_t_int256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_uint160(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n    }\n\n    function cleanup_t_uint256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_uint8(value) -> cleaned {\n        cleaned := and(value, 0xff)\n    }\n\n    function convert_t_contract$_ChainlinkClient_$861_to_t_address(value) -> converted {\n        converted := convert_t_uint160_to_t_address(value)\n    }\n\n    function convert_t_uint160_to_t_address(value) -> converted {\n        converted := convert_t_uint160_to_t_uint160(value)\n    }\n\n    function convert_t_uint160_to_t_uint160(value) -> converted {\n        converted := cleanup_t_uint160(value)\n    }\n\n    function copy_calldata_to_memory(src, dst, length) {\n        calldatacopy(dst, src, length)\n        // clear end\n        mstore(add(dst, length), 0)\n    }\n\n    function copy_memory_to_memory(src, dst, length) {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        if gt(i, length)\n        {\n            // clear end\n            mstore(add(dst, length), 0)\n        }\n    }\n\n    function finalize_allocation(memPtr, size) {\n        let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n        // protect against overflow\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n\n    function leftAlign_t_address(value) -> aligned {\n        aligned := leftAlign_t_uint160(value)\n    }\n\n    function leftAlign_t_uint160(value) -> aligned {\n        aligned := shift_left_96(value)\n    }\n\n    function leftAlign_t_uint256(value) -> aligned {\n        aligned := value\n    }\n\n    function mod_t_uint256(x, y) -> r {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n        if iszero(y) { panic_error_0x12() }\n        r := mod(x, y)\n    }\n\n    function panic_error_0x11() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x12() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x41() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n\n    function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n        revert(0, 0)\n    }\n\n    function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n        revert(0, 0)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function round_up_to_mul_of_32(value) -> result {\n        result := and(add(value, 31), not(31))\n    }\n\n    function shift_left_96(value) -> newValue {\n        newValue :=\n\n        shl(96, value)\n\n    }\n\n    function shift_right_1_unsigned(value) -> newValue {\n        newValue :=\n\n        shr(1, value)\n\n    }\n\n    function store_literal_in_memory_00bc081eadf40ed0dc7879af2269c622702c3e724c853277939febcc318c7ca0(memPtr) {\n\n        mstore(add(memPtr, 0), \"https://min-api.cryptocompare.co\")\n\n            mstore(add(memPtr, 32), \"m/data/pricemultifull?fsyms=\")\n\n        }\n\n        function store_literal_in_memory_3b3efd608222b424e5ed8427d7f6a272069793e6a1f5930c93db5c7960c3ce96(memPtr) {\n\n            mstore(add(memPtr, 0), \"unable to transferAndCall to ora\")\n\n            mstore(add(memPtr, 32), \"cle\")\n\n        }\n\n        function store_literal_in_memory_7777c48c3199be13e96617288cd8bbab12953c2d243403b37a69369245a376d4(memPtr) {\n\n            mstore(add(memPtr, 0), \"&tsyms=USD\")\n\n        }\n\n        function store_literal_in_memory_d5cafe2745dab6273b51cca76f8727c7664db74ede49af049a5b5ca6a3b184e4(memPtr) {\n\n            mstore(add(memPtr, 0), \"Source must be the oracle of the\")\n\n            mstore(add(memPtr, 32), \" request\")\n\n        }\n\n        function validator_revert_t_bool(value) {\n            if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n        }\n\n        function validator_revert_t_bytes32(value) {\n            if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n        }\n\n        function validator_revert_t_uint256(value) {\n            if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n        }\n\n        function validator_revert_t_uint8(value) {\n            if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n        }\n\n    }\n","id":67,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"3287":[{"length":32,"start":918}],"3289":[{"length":32,"start":543}],"3291":[{"length":32,"start":952}]},"linkReferences":{},"object":"608060405234801561001057600080fd5b506004361061004c5760003560e01c80634357855e146100515780638dc654a21461006d578063c618a1e414610077578063ca7baee414610095575b600080fd5b61006b60048036038101906100669190610f36565b6100c5565b005b61007561020f565b005b61007f610211565b60405161008c91906112a9565b60405180910390f35b6100af60048036038101906100aa9190610f76565b610217565b6040516100bc919061124e565b60405180910390f35b816005600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610167576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161015e90611289565b60405180910390fd5b6005600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055807f7cc135e0cebb02c3480ae5d74d377283180a2601f8f644edf7987b009316c63a60405160405180910390a2816006819055507f221d507243adddffe789060be0e69bff4be830996c6b265bfda5083d86f8863260065460405161020291906112a9565b60405180910390a1505050565b565b60065481565b60008061024c7f000000000000000000000000000000000000000000000000000000000000000030634357855e60e01b6103e6565b90506102b76040518060400160405280600381526020017f676574000000000000000000000000000000000000000000000000000000000081525085604051602001610298919061115e565b604051602081830303815290604052836104179092919063ffffffff16565b6103366040518060400160405280600481526020017f70617468000000000000000000000000000000000000000000000000000000008152506040518060400160405280601981526020017f5241572c4b4c41592c5553442c564f4c554d453234484f555200000000000000815250836104179092919063ffffffff16565b600083600a6103459190611451565b90506103916040518060400160405280600581526020017f74696d6573000000000000000000000000000000000000000000000000000000815250828461044a9092919063ffffffff16565b6103dc7f0000000000000000000000000000000000000000000000000000000000000000837f000000000000000000000000000000000000000000000000000000000000000061047d565b9250505092915050565b6103ee610dbe565b6103f6610dbe565b61040d85858584610549909392919063ffffffff16565b9150509392505050565b61042e8284608001516105f990919063ffffffff16565b6104458184608001516105f990919063ffffffff16565b505050565b6104618284608001516105f990919063ffffffff16565b61047881846080015161061e90919063ffffffff16565b505050565b6000806004549050600181610492919061135d565b6004819055506000634042994660e01b60008087600001513089604001518760018c60800151600001516040516024016104d398979695949392919061118b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905061053e868386846106cb565b925050509392505050565b610551610dbe565b610561856080015161010061086f565b508385600001818152505082856020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508185604001907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681525050849050949350505050565b61060682600383516108d9565b6106198183610a5e90919063ffffffff16565b505050565b7fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000811215610655576106508282610a80565b6106c7565b67ffffffffffffffff8113156106745761066f8282610af7565b6106c6565b6000811261068d57610688826000836108d9565b6106c5565b6106c4826001837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6106bf91906115c9565b6108d9565b5b5b5b5050565b600030846040516020016106e0929190611132565b604051602081830303815290604052805190602001209050846005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550807fb5e6e01e79f91267dc17b4e6314d5d4d03593d2ceee0fbb452b750bd70ea5af960405160405180910390a2600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634000aea08685856040518463ffffffff1660e01b81526004016107d693929190611210565b602060405180830381600087803b1580156107f057600080fd5b505af1158015610804573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108289190610f09565b610867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085e90611269565b60405180910390fd5b949350505050565b610877610e2b565b600060208361088691906117fd565b146108b25760208261089891906117fd565b60206108a4919061165d565b826108af919061135d565b91505b81836020018181525050604051808452600081528281016020016040525082905092915050565b60178167ffffffffffffffff16116109105761090a8160058460ff16901b60ff161784610b4390919063ffffffff16565b50610a59565b60ff8167ffffffffffffffff16116109665761093f601860058460ff16901b1784610b4390919063ffffffff16565b506109608167ffffffffffffffff16600185610b639092919063ffffffff16565b50610a58565b61ffff8167ffffffffffffffff16116109bd57610996601960058460ff16901b1784610b4390919063ffffffff16565b506109b78167ffffffffffffffff16600285610b639092919063ffffffff16565b50610a57565b63ffffffff8167ffffffffffffffff1611610a16576109ef601a60058460ff16901b1784610b4390919063ffffffff16565b50610a108167ffffffffffffffff16600485610b639092919063ffffffff16565b50610a56565b610a33601b60058460ff16901b1784610b4390919063ffffffff16565b50610a548167ffffffffffffffff16600885610b639092919063ffffffff16565b505b5b5b5b505050565b610a66610e2b565b610a7883846000015151848551610b85565b905092915050565b610a9e60036005600660ff16901b1783610b4390919063ffffffff16565b50610af382827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610acf91906115c9565b604051602001610adf91906112a9565b604051602081830303815290604052610c74565b5050565b610b1560026005600660ff16901b1783610b4390919063ffffffff16565b50610b3f8282604051602001610b2b91906112a9565b604051602081830303815290604052610c74565b5050565b610b4b610e2b565b610b5b8384600001515184610c99565b905092915050565b610b6b610e2b565b610b7c848560000151518585610cf0565b90509392505050565b610b8d610e2b565b8251821115610b9b57600080fd5b84602001518285610bac919061135d565b1115610be157610be0856002610bd188602001518887610bcc919061135d565b610d7e565b610bdb919061156f565b610d9a565b5b600080865180518760208301019350808887011115610c005787860182525b60208701925050505b60208410610c475780518252602082610c22919061135d565b9150602081610c31919061135d565b9050602084610c40919061165d565b9350610c09565b60006001856020036101000a03905080198251168184511681811785525050508692505050949350505050565b610c8182600283516108d9565b610c948183610a5e90919063ffffffff16565b505050565b610ca1610e2b565b83602001518310610cc757610cc68460028660200151610cc1919061156f565b610d9a565b5b8351805160208583010184815381861415610ce3576001820183525b5050508390509392505050565b610cf8610e2b565b84602001518483610d09919061135d565b1115610d3157610d308560028685610d21919061135d565b610d2b919061156f565b610d9a565b5b6000600183610100610d439190611406565b610d4d919061165d565b90508551838682010185831982511617815281518588011115610d705784870182525b505085915050949350505050565b600081831115610d9057829050610d94565b8190505b92915050565b600082600001519050610dad838361086f565b50610db88382610a5e565b50505050565b6040518060a0016040528060008019168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200160008152602001610e25610e2b565b81525090565b604051806040016040528060608152602001600081525090565b6000610e58610e53846112e9565b6112c4565b905082815260208101848484011115610e7457610e736118c0565b5b610e7f84828561175c565b509392505050565b600081519050610e9681611a10565b92915050565b600081359050610eab81611a27565b92915050565b600082601f830112610ec657610ec56118bb565b5b8135610ed6848260208601610e45565b91505092915050565b600081359050610eee81611a3e565b92915050565b600081359050610f0381611a55565b92915050565b600060208284031215610f1f57610f1e6118ca565b5b6000610f2d84828501610e87565b91505092915050565b60008060408385031215610f4d57610f4c6118ca565b5b6000610f5b85828601610e9c565b9250506020610f6c85828601610edf565b9150509250929050565b60008060408385031215610f8d57610f8c6118ca565b5b600083013567ffffffffffffffff811115610fab57610faa6118c5565b5b610fb785828601610eb1565b9250506020610fc885828601610ef4565b9150509250929050565b610fdb81611691565b82525050565b610fea816116af565b82525050565b610ff9816116b9565b82525050565b600061100a8261131a565b6110148185611330565b935061102481856020860161176b565b61102d816118cf565b840191505092915050565b61104961104482611726565b6117cf565b82525050565b600061105a82611325565b6110648185611352565b935061107481856020860161176b565b80840191505092915050565b600061108d603c83611352565b9150611098826118fa565b603c82019050919050565b60006110b0602383611341565b91506110bb82611949565b604082019050919050565b60006110d3600a83611352565b91506110de82611998565b600a82019050919050565b60006110f6602883611341565b9150611101826119c1565b604082019050919050565b6111158161170f565b82525050565b61112c6111278261170f565b6117f3565b82525050565b600061113e8285611038565b60148201915061114e828461111b565b6020820191508190509392505050565b600061116982611080565b9150611175828461104f565b9150611180826110c6565b915081905092915050565b6000610100820190506111a1600083018b610fd2565b6111ae602083018a61110c565b6111bb6040830189610fe1565b6111c86060830188610fd2565b6111d56080830187610ff0565b6111e260a083018661110c565b6111ef60c083018561110c565b81810360e08301526112018184610fff565b90509998505050505050505050565b60006060820190506112256000830186610fd2565b611232602083018561110c565b81810360408301526112448184610fff565b9050949350505050565b60006020820190506112636000830184610fe1565b92915050565b60006020820190508181036000830152611282816110a3565b9050919050565b600060208201905081810360008301526112a2816110e9565b9050919050565b60006020820190506112be600083018461110c565b92915050565b60006112ce6112df565b90506112da828261179e565b919050565b6000604051905090565b600067ffffffffffffffff8211156113045761130361188c565b5b61130d826118cf565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b60006113688261170f565b91506113738361170f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156113a8576113a761182e565b5b828201905092915050565b6000808291508390505b60018511156113fd578086048111156113d9576113d861182e565b5b60018516156113e85780820291505b80810290506113f6856118ed565b94506113bd565b94509492505050565b60006114118261170f565b915061141c8361170f565b92506114497fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461149c565b905092915050565b600061145c8261170f565b915061146783611719565b92506114947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461149c565b905092915050565b6000826114ac5760019050611568565b816114ba5760009050611568565b81600181146114d057600281146114da57611509565b6001915050611568565b60ff8411156114ec576114eb61182e565b5b8360020a9150848211156115035761150261182e565b5b50611568565b5060208310610133831016604e8410600b841016171561153e5782820a9050838111156115395761153861182e565b5b611568565b61154b84848460016113b3565b925090508184048111156115625761156161182e565b5b81810290505b9392505050565b600061157a8261170f565b91506115858361170f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156115be576115bd61182e565b5b828202905092915050565b60006115d4826116e5565b91506115df836116e5565b9250827f80000000000000000000000000000000000000000000000000000000000000000182126000841215161561161a5761161961182e565b5b827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0182136000841216156116525761165161182e565b5b828203905092915050565b60006116688261170f565b91506116738361170f565b9250828210156116865761168561182e565b5b828203905092915050565b600061169c826116ef565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061173182611738565b9050919050565b60006117438261174a565b9050919050565b6000611755826116ef565b9050919050565b82818337600083830152505050565b60005b8381101561178957808201518184015260208101905061176e565b83811115611798576000848401525b50505050565b6117a7826118cf565b810181811067ffffffffffffffff821117156117c6576117c561188c565b5b80604052505050565b60006117da826117e1565b9050919050565b60006117ec826118e0565b9050919050565b6000819050919050565b60006118088261170f565b91506118138361170f565b9250826118235761182261185d565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b60008160011c9050919050565b7f68747470733a2f2f6d696e2d6170692e63727970746f636f6d706172652e636f60008201527f6d2f646174612f70726963656d756c746966756c6c3f6673796d733d00000000602082015250565b7f756e61626c6520746f207472616e73666572416e6443616c6c20746f206f726160008201527f636c650000000000000000000000000000000000000000000000000000000000602082015250565b7f267473796d733d55534400000000000000000000000000000000000000000000600082015250565b7f536f75726365206d75737420626520746865206f7261636c65206f662074686560008201527f2072657175657374000000000000000000000000000000000000000000000000602082015250565b611a19816116a3565b8114611a2457600080fd5b50565b611a30816116af565b8114611a3b57600080fd5b50565b611a478161170f565b8114611a5257600080fd5b50565b611a5e81611719565b8114611a6957600080fd5b5056fea26469706673582212202dd6d42faf763e21cb3dd5f7988383a43c455dbf5ad37392884d14781eedb86064736f6c63430008070033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4357855E EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x8DC654A2 EQ PUSH2 0x6D JUMPI DUP1 PUSH4 0xC618A1E4 EQ PUSH2 0x77 JUMPI DUP1 PUSH4 0xCA7BAEE4 EQ PUSH2 0x95 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0xF36 JUMP JUMPDEST PUSH2 0xC5 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x75 PUSH2 0x20F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x7F PUSH2 0x211 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8C SWAP2 SWAP1 PUSH2 0x12A9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xAF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAA SWAP2 SWAP1 PUSH2 0xF76 JUMP JUMPDEST PUSH2 0x217 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBC SWAP2 SWAP1 PUSH2 0x124E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 PUSH1 0x5 PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x167 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15E SWAP1 PUSH2 0x1289 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE DUP1 PUSH32 0x7CC135E0CEBB02C3480AE5D74D377283180A2601F8F644EDF7987B009316C63A PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP2 PUSH1 0x6 DUP2 SWAP1 SSTORE POP PUSH32 0x221D507243ADDDFFE789060BE0E69BFF4BE830996C6B265BFDA5083D86F88632 PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH2 0x202 SWAP2 SWAP1 PUSH2 0x12A9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x6 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x24C PUSH32 0x0 ADDRESS PUSH4 0x4357855E PUSH1 0xE0 SHL PUSH2 0x3E6 JUMP JUMPDEST SWAP1 POP PUSH2 0x2B7 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6765740000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP6 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x298 SWAP2 SWAP1 PUSH2 0x115E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP4 PUSH2 0x417 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x336 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x7061746800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x5241572C4B4C41592C5553442C564F4C554D453234484F555200000000000000 DUP2 MSTORE POP DUP4 PUSH2 0x417 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP4 PUSH1 0xA PUSH2 0x345 SWAP2 SWAP1 PUSH2 0x1451 JUMP JUMPDEST SWAP1 POP PUSH2 0x391 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x74696D6573000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP3 DUP5 PUSH2 0x44A SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x3DC PUSH32 0x0 DUP4 PUSH32 0x0 PUSH2 0x47D JUMP JUMPDEST SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3EE PUSH2 0xDBE JUMP JUMPDEST PUSH2 0x3F6 PUSH2 0xDBE JUMP JUMPDEST PUSH2 0x40D DUP6 DUP6 DUP6 DUP5 PUSH2 0x549 SWAP1 SWAP4 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x42E DUP3 DUP5 PUSH1 0x80 ADD MLOAD PUSH2 0x5F9 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x445 DUP2 DUP5 PUSH1 0x80 ADD MLOAD PUSH2 0x5F9 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x461 DUP3 DUP5 PUSH1 0x80 ADD MLOAD PUSH2 0x5F9 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x478 DUP2 DUP5 PUSH1 0x80 ADD MLOAD PUSH2 0x61E SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x4 SLOAD SWAP1 POP PUSH1 0x1 DUP2 PUSH2 0x492 SWAP2 SWAP1 PUSH2 0x135D JUMP JUMPDEST PUSH1 0x4 DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH4 0x40429946 PUSH1 0xE0 SHL PUSH1 0x0 DUP1 DUP8 PUSH1 0x0 ADD MLOAD ADDRESS DUP10 PUSH1 0x40 ADD MLOAD DUP8 PUSH1 0x1 DUP13 PUSH1 0x80 ADD MLOAD PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x4D3 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x118B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP SWAP1 POP PUSH2 0x53E DUP7 DUP4 DUP7 DUP5 PUSH2 0x6CB JUMP JUMPDEST SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x551 PUSH2 0xDBE JUMP JUMPDEST PUSH2 0x561 DUP6 PUSH1 0x80 ADD MLOAD PUSH2 0x100 PUSH2 0x86F JUMP JUMPDEST POP DUP4 DUP6 PUSH1 0x0 ADD DUP2 DUP2 MSTORE POP POP DUP3 DUP6 PUSH1 0x20 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP DUP2 DUP6 PUSH1 0x40 ADD SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP2 MSTORE POP POP DUP5 SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x606 DUP3 PUSH1 0x3 DUP4 MLOAD PUSH2 0x8D9 JUMP JUMPDEST PUSH2 0x619 DUP2 DUP4 PUSH2 0xA5E SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000 DUP2 SLT ISZERO PUSH2 0x655 JUMPI PUSH2 0x650 DUP3 DUP3 PUSH2 0xA80 JUMP JUMPDEST PUSH2 0x6C7 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 SGT ISZERO PUSH2 0x674 JUMPI PUSH2 0x66F DUP3 DUP3 PUSH2 0xAF7 JUMP JUMPDEST PUSH2 0x6C6 JUMP JUMPDEST PUSH1 0x0 DUP2 SLT PUSH2 0x68D JUMPI PUSH2 0x688 DUP3 PUSH1 0x0 DUP4 PUSH2 0x8D9 JUMP JUMPDEST PUSH2 0x6C5 JUMP JUMPDEST PUSH2 0x6C4 DUP3 PUSH1 0x1 DUP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x6BF SWAP2 SWAP1 PUSH2 0x15C9 JUMP JUMPDEST PUSH2 0x8D9 JUMP JUMPDEST JUMPDEST JUMPDEST JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 ADDRESS DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x6E0 SWAP3 SWAP2 SWAP1 PUSH2 0x1132 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP DUP5 PUSH1 0x5 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH32 0xB5E6E01E79F91267DC17B4E6314D5D4D03593D2CEEE0FBB452B750BD70EA5AF9 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x4000AEA0 DUP7 DUP6 DUP6 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7D6 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1210 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x7F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x804 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 0x828 SWAP2 SWAP1 PUSH2 0xF09 JUMP JUMPDEST PUSH2 0x867 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x85E SWAP1 PUSH2 0x1269 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x877 PUSH2 0xE2B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP4 PUSH2 0x886 SWAP2 SWAP1 PUSH2 0x17FD JUMP JUMPDEST EQ PUSH2 0x8B2 JUMPI PUSH1 0x20 DUP3 PUSH2 0x898 SWAP2 SWAP1 PUSH2 0x17FD JUMP JUMPDEST PUSH1 0x20 PUSH2 0x8A4 SWAP2 SWAP1 PUSH2 0x165D JUMP JUMPDEST DUP3 PUSH2 0x8AF SWAP2 SWAP1 PUSH2 0x135D JUMP JUMPDEST SWAP2 POP JUMPDEST DUP2 DUP4 PUSH1 0x20 ADD DUP2 DUP2 MSTORE POP POP PUSH1 0x40 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 DUP2 MSTORE DUP3 DUP2 ADD PUSH1 0x20 ADD PUSH1 0x40 MSTORE POP DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x17 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND GT PUSH2 0x910 JUMPI PUSH2 0x90A DUP2 PUSH1 0x5 DUP5 PUSH1 0xFF AND SWAP1 SHL PUSH1 0xFF AND OR DUP5 PUSH2 0xB43 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0xA59 JUMP JUMPDEST PUSH1 0xFF DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND GT PUSH2 0x966 JUMPI PUSH2 0x93F PUSH1 0x18 PUSH1 0x5 DUP5 PUSH1 0xFF AND SWAP1 SHL OR DUP5 PUSH2 0xB43 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x960 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 DUP6 PUSH2 0xB63 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0xA58 JUMP JUMPDEST PUSH2 0xFFFF DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND GT PUSH2 0x9BD JUMPI PUSH2 0x996 PUSH1 0x19 PUSH1 0x5 DUP5 PUSH1 0xFF AND SWAP1 SHL OR DUP5 PUSH2 0xB43 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x9B7 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x2 DUP6 PUSH2 0xB63 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0xA57 JUMP JUMPDEST PUSH4 0xFFFFFFFF DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND GT PUSH2 0xA16 JUMPI PUSH2 0x9EF PUSH1 0x1A PUSH1 0x5 DUP5 PUSH1 0xFF AND SWAP1 SHL OR DUP5 PUSH2 0xB43 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0xA10 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x4 DUP6 PUSH2 0xB63 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0xA56 JUMP JUMPDEST PUSH2 0xA33 PUSH1 0x1B PUSH1 0x5 DUP5 PUSH1 0xFF AND SWAP1 SHL OR DUP5 PUSH2 0xB43 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0xA54 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x8 DUP6 PUSH2 0xB63 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP JUMPDEST JUMPDEST JUMPDEST JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0xA66 PUSH2 0xE2B JUMP JUMPDEST PUSH2 0xA78 DUP4 DUP5 PUSH1 0x0 ADD MLOAD MLOAD DUP5 DUP6 MLOAD PUSH2 0xB85 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xA9E PUSH1 0x3 PUSH1 0x5 PUSH1 0x6 PUSH1 0xFF AND SWAP1 SHL OR DUP4 PUSH2 0xB43 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0xAF3 DUP3 DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0xACF SWAP2 SWAP1 PUSH2 0x15C9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xADF SWAP2 SWAP1 PUSH2 0x12A9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH2 0xC74 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xB15 PUSH1 0x2 PUSH1 0x5 PUSH1 0x6 PUSH1 0xFF AND SWAP1 SHL OR DUP4 PUSH2 0xB43 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0xB3F DUP3 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB2B SWAP2 SWAP1 PUSH2 0x12A9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH2 0xC74 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xB4B PUSH2 0xE2B JUMP JUMPDEST PUSH2 0xB5B DUP4 DUP5 PUSH1 0x0 ADD MLOAD MLOAD DUP5 PUSH2 0xC99 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB6B PUSH2 0xE2B JUMP JUMPDEST PUSH2 0xB7C DUP5 DUP6 PUSH1 0x0 ADD MLOAD MLOAD DUP6 DUP6 PUSH2 0xCF0 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xB8D PUSH2 0xE2B JUMP JUMPDEST DUP3 MLOAD DUP3 GT ISZERO PUSH2 0xB9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 PUSH1 0x20 ADD MLOAD DUP3 DUP6 PUSH2 0xBAC SWAP2 SWAP1 PUSH2 0x135D JUMP JUMPDEST GT ISZERO PUSH2 0xBE1 JUMPI PUSH2 0xBE0 DUP6 PUSH1 0x2 PUSH2 0xBD1 DUP9 PUSH1 0x20 ADD MLOAD DUP9 DUP8 PUSH2 0xBCC SWAP2 SWAP1 PUSH2 0x135D JUMP JUMPDEST PUSH2 0xD7E JUMP JUMPDEST PUSH2 0xBDB SWAP2 SWAP1 PUSH2 0x156F JUMP JUMPDEST PUSH2 0xD9A JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP1 DUP7 MLOAD DUP1 MLOAD DUP8 PUSH1 0x20 DUP4 ADD ADD SWAP4 POP DUP1 DUP9 DUP8 ADD GT ISZERO PUSH2 0xC00 JUMPI DUP8 DUP7 ADD DUP3 MSTORE JUMPDEST PUSH1 0x20 DUP8 ADD SWAP3 POP POP POP JUMPDEST PUSH1 0x20 DUP5 LT PUSH2 0xC47 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x20 DUP3 PUSH2 0xC22 SWAP2 SWAP1 PUSH2 0x135D JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP2 PUSH2 0xC31 SWAP2 SWAP1 PUSH2 0x135D JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP5 PUSH2 0xC40 SWAP2 SWAP1 PUSH2 0x165D JUMP JUMPDEST SWAP4 POP PUSH2 0xC09 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP6 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB SWAP1 POP DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP2 DUP2 OR DUP6 MSTORE POP POP POP DUP7 SWAP3 POP POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0xC81 DUP3 PUSH1 0x2 DUP4 MLOAD PUSH2 0x8D9 JUMP JUMPDEST PUSH2 0xC94 DUP2 DUP4 PUSH2 0xA5E SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0xCA1 PUSH2 0xE2B JUMP JUMPDEST DUP4 PUSH1 0x20 ADD MLOAD DUP4 LT PUSH2 0xCC7 JUMPI PUSH2 0xCC6 DUP5 PUSH1 0x2 DUP7 PUSH1 0x20 ADD MLOAD PUSH2 0xCC1 SWAP2 SWAP1 PUSH2 0x156F JUMP JUMPDEST PUSH2 0xD9A JUMP JUMPDEST JUMPDEST DUP4 MLOAD DUP1 MLOAD PUSH1 0x20 DUP6 DUP4 ADD ADD DUP5 DUP2 MSTORE8 DUP2 DUP7 EQ ISZERO PUSH2 0xCE3 JUMPI PUSH1 0x1 DUP3 ADD DUP4 MSTORE JUMPDEST POP POP POP DUP4 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xCF8 PUSH2 0xE2B JUMP JUMPDEST DUP5 PUSH1 0x20 ADD MLOAD DUP5 DUP4 PUSH2 0xD09 SWAP2 SWAP1 PUSH2 0x135D JUMP JUMPDEST GT ISZERO PUSH2 0xD31 JUMPI PUSH2 0xD30 DUP6 PUSH1 0x2 DUP7 DUP6 PUSH2 0xD21 SWAP2 SWAP1 PUSH2 0x135D JUMP JUMPDEST PUSH2 0xD2B SWAP2 SWAP1 PUSH2 0x156F JUMP JUMPDEST PUSH2 0xD9A JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP4 PUSH2 0x100 PUSH2 0xD43 SWAP2 SWAP1 PUSH2 0x1406 JUMP JUMPDEST PUSH2 0xD4D SWAP2 SWAP1 PUSH2 0x165D JUMP JUMPDEST SWAP1 POP DUP6 MLOAD DUP4 DUP7 DUP3 ADD ADD DUP6 DUP4 NOT DUP3 MLOAD AND OR DUP2 MSTORE DUP2 MLOAD DUP6 DUP9 ADD GT ISZERO PUSH2 0xD70 JUMPI DUP5 DUP8 ADD DUP3 MSTORE JUMPDEST POP POP DUP6 SWAP2 POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 GT ISZERO PUSH2 0xD90 JUMPI DUP3 SWAP1 POP PUSH2 0xD94 JUMP JUMPDEST DUP2 SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x0 ADD MLOAD SWAP1 POP PUSH2 0xDAD DUP4 DUP4 PUSH2 0x86F JUMP JUMPDEST POP PUSH2 0xDB8 DUP4 DUP3 PUSH2 0xA5E JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP1 NOT AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE25 PUSH2 0xE2B JUMP JUMPDEST DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE58 PUSH2 0xE53 DUP5 PUSH2 0x12E9 JUMP JUMPDEST PUSH2 0x12C4 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0xE74 JUMPI PUSH2 0xE73 PUSH2 0x18C0 JUMP JUMPDEST JUMPDEST PUSH2 0xE7F DUP5 DUP3 DUP6 PUSH2 0x175C JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0xE96 DUP2 PUSH2 0x1A10 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xEAB DUP2 PUSH2 0x1A27 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xEC6 JUMPI PUSH2 0xEC5 PUSH2 0x18BB JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0xED6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0xE45 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xEEE DUP2 PUSH2 0x1A3E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF03 DUP2 PUSH2 0x1A55 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF1F JUMPI PUSH2 0xF1E PUSH2 0x18CA JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF2D DUP5 DUP3 DUP6 ADD PUSH2 0xE87 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xF4D JUMPI PUSH2 0xF4C PUSH2 0x18CA JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF5B DUP6 DUP3 DUP7 ADD PUSH2 0xE9C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xF6C DUP6 DUP3 DUP7 ADD PUSH2 0xEDF JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xF8D JUMPI PUSH2 0xF8C PUSH2 0x18CA JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFAB JUMPI PUSH2 0xFAA PUSH2 0x18C5 JUMP JUMPDEST JUMPDEST PUSH2 0xFB7 DUP6 DUP3 DUP7 ADD PUSH2 0xEB1 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xFC8 DUP6 DUP3 DUP7 ADD PUSH2 0xEF4 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0xFDB DUP2 PUSH2 0x1691 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xFEA DUP2 PUSH2 0x16AF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xFF9 DUP2 PUSH2 0x16B9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100A DUP3 PUSH2 0x131A JUMP JUMPDEST PUSH2 0x1014 DUP2 DUP6 PUSH2 0x1330 JUMP JUMPDEST SWAP4 POP PUSH2 0x1024 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x176B JUMP JUMPDEST PUSH2 0x102D DUP2 PUSH2 0x18CF JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1049 PUSH2 0x1044 DUP3 PUSH2 0x1726 JUMP JUMPDEST PUSH2 0x17CF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x105A DUP3 PUSH2 0x1325 JUMP JUMPDEST PUSH2 0x1064 DUP2 DUP6 PUSH2 0x1352 JUMP JUMPDEST SWAP4 POP PUSH2 0x1074 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x176B JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x108D PUSH1 0x3C DUP4 PUSH2 0x1352 JUMP JUMPDEST SWAP2 POP PUSH2 0x1098 DUP3 PUSH2 0x18FA JUMP JUMPDEST PUSH1 0x3C DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10B0 PUSH1 0x23 DUP4 PUSH2 0x1341 JUMP JUMPDEST SWAP2 POP PUSH2 0x10BB DUP3 PUSH2 0x1949 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10D3 PUSH1 0xA DUP4 PUSH2 0x1352 JUMP JUMPDEST SWAP2 POP PUSH2 0x10DE DUP3 PUSH2 0x1998 JUMP JUMPDEST PUSH1 0xA DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10F6 PUSH1 0x28 DUP4 PUSH2 0x1341 JUMP JUMPDEST SWAP2 POP PUSH2 0x1101 DUP3 PUSH2 0x19C1 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1115 DUP2 PUSH2 0x170F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x112C PUSH2 0x1127 DUP3 PUSH2 0x170F JUMP JUMPDEST PUSH2 0x17F3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x113E DUP3 DUP6 PUSH2 0x1038 JUMP JUMPDEST PUSH1 0x14 DUP3 ADD SWAP2 POP PUSH2 0x114E DUP3 DUP5 PUSH2 0x111B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1169 DUP3 PUSH2 0x1080 JUMP JUMPDEST SWAP2 POP PUSH2 0x1175 DUP3 DUP5 PUSH2 0x104F JUMP JUMPDEST SWAP2 POP PUSH2 0x1180 DUP3 PUSH2 0x10C6 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP3 ADD SWAP1 POP PUSH2 0x11A1 PUSH1 0x0 DUP4 ADD DUP12 PUSH2 0xFD2 JUMP JUMPDEST PUSH2 0x11AE PUSH1 0x20 DUP4 ADD DUP11 PUSH2 0x110C JUMP JUMPDEST PUSH2 0x11BB PUSH1 0x40 DUP4 ADD DUP10 PUSH2 0xFE1 JUMP JUMPDEST PUSH2 0x11C8 PUSH1 0x60 DUP4 ADD DUP9 PUSH2 0xFD2 JUMP JUMPDEST PUSH2 0x11D5 PUSH1 0x80 DUP4 ADD DUP8 PUSH2 0xFF0 JUMP JUMPDEST PUSH2 0x11E2 PUSH1 0xA0 DUP4 ADD DUP7 PUSH2 0x110C JUMP JUMPDEST PUSH2 0x11EF PUSH1 0xC0 DUP4 ADD DUP6 PUSH2 0x110C JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0xE0 DUP4 ADD MSTORE PUSH2 0x1201 DUP2 DUP5 PUSH2 0xFFF JUMP JUMPDEST SWAP1 POP SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x1225 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0xFD2 JUMP JUMPDEST PUSH2 0x1232 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x110C JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1244 DUP2 DUP5 PUSH2 0xFFF JUMP JUMPDEST SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1263 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xFE1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1282 DUP2 PUSH2 0x10A3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12A2 DUP2 PUSH2 0x10E9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x12BE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x110C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12CE PUSH2 0x12DF JUMP JUMPDEST SWAP1 POP PUSH2 0x12DA DUP3 DUP3 PUSH2 0x179E JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1304 JUMPI PUSH2 0x1303 PUSH2 0x188C JUMP JUMPDEST JUMPDEST PUSH2 0x130D DUP3 PUSH2 0x18CF JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1368 DUP3 PUSH2 0x170F JUMP JUMPDEST SWAP2 POP PUSH2 0x1373 DUP4 PUSH2 0x170F JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x13A8 JUMPI PUSH2 0x13A7 PUSH2 0x182E JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP2 POP DUP4 SWAP1 POP JUMPDEST PUSH1 0x1 DUP6 GT ISZERO PUSH2 0x13FD JUMPI DUP1 DUP7 DIV DUP2 GT ISZERO PUSH2 0x13D9 JUMPI PUSH2 0x13D8 PUSH2 0x182E JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP6 AND ISZERO PUSH2 0x13E8 JUMPI DUP1 DUP3 MUL SWAP2 POP JUMPDEST DUP1 DUP2 MUL SWAP1 POP PUSH2 0x13F6 DUP6 PUSH2 0x18ED JUMP JUMPDEST SWAP5 POP PUSH2 0x13BD JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1411 DUP3 PUSH2 0x170F JUMP JUMPDEST SWAP2 POP PUSH2 0x141C DUP4 PUSH2 0x170F JUMP JUMPDEST SWAP3 POP PUSH2 0x1449 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 DUP5 PUSH2 0x149C JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x145C DUP3 PUSH2 0x170F JUMP JUMPDEST SWAP2 POP PUSH2 0x1467 DUP4 PUSH2 0x1719 JUMP JUMPDEST SWAP3 POP PUSH2 0x1494 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 DUP5 PUSH2 0x149C JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x14AC JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x1568 JUMP JUMPDEST DUP2 PUSH2 0x14BA JUMPI PUSH1 0x0 SWAP1 POP PUSH2 0x1568 JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x14D0 JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x14DA JUMPI PUSH2 0x1509 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x1568 JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x14EC JUMPI PUSH2 0x14EB PUSH2 0x182E JUMP JUMPDEST JUMPDEST DUP4 PUSH1 0x2 EXP SWAP2 POP DUP5 DUP3 GT ISZERO PUSH2 0x1503 JUMPI PUSH2 0x1502 PUSH2 0x182E JUMP JUMPDEST JUMPDEST POP PUSH2 0x1568 JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x153E JUMPI DUP3 DUP3 EXP SWAP1 POP DUP4 DUP2 GT ISZERO PUSH2 0x1539 JUMPI PUSH2 0x1538 PUSH2 0x182E JUMP JUMPDEST JUMPDEST PUSH2 0x1568 JUMP JUMPDEST PUSH2 0x154B DUP5 DUP5 DUP5 PUSH1 0x1 PUSH2 0x13B3 JUMP JUMPDEST SWAP3 POP SWAP1 POP DUP2 DUP5 DIV DUP2 GT ISZERO PUSH2 0x1562 JUMPI PUSH2 0x1561 PUSH2 0x182E JUMP JUMPDEST JUMPDEST DUP2 DUP2 MUL SWAP1 POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x157A DUP3 PUSH2 0x170F JUMP JUMPDEST SWAP2 POP PUSH2 0x1585 DUP4 PUSH2 0x170F JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x15BE JUMPI PUSH2 0x15BD PUSH2 0x182E JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15D4 DUP3 PUSH2 0x16E5 JUMP JUMPDEST SWAP2 POP PUSH2 0x15DF DUP4 PUSH2 0x16E5 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 ADD DUP3 SLT PUSH1 0x0 DUP5 SLT ISZERO AND ISZERO PUSH2 0x161A JUMPI PUSH2 0x1619 PUSH2 0x182E JUMP JUMPDEST JUMPDEST DUP3 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ADD DUP3 SGT PUSH1 0x0 DUP5 SLT AND ISZERO PUSH2 0x1652 JUMPI PUSH2 0x1651 PUSH2 0x182E JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1668 DUP3 PUSH2 0x170F JUMP JUMPDEST SWAP2 POP PUSH2 0x1673 DUP4 PUSH2 0x170F JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x1686 JUMPI PUSH2 0x1685 PUSH2 0x182E JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x169C DUP3 PUSH2 0x16EF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1731 DUP3 PUSH2 0x1738 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1743 DUP3 PUSH2 0x174A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1755 DUP3 PUSH2 0x16EF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1789 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x176E JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1798 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x17A7 DUP3 PUSH2 0x18CF JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x17C6 JUMPI PUSH2 0x17C5 PUSH2 0x188C JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17DA DUP3 PUSH2 0x17E1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17EC DUP3 PUSH2 0x18E0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1808 DUP3 PUSH2 0x170F JUMP JUMPDEST SWAP2 POP PUSH2 0x1813 DUP4 PUSH2 0x170F JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x1823 JUMPI PUSH2 0x1822 PUSH2 0x185D JUMP JUMPDEST JUMPDEST DUP3 DUP3 MOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x60 SHL SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 SHR SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x68747470733A2F2F6D696E2D6170692E63727970746F636F6D706172652E636F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6D2F646174612F70726963656D756C746966756C6C3F6673796D733D00000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x756E61626C6520746F207472616E73666572416E6443616C6C20746F206F7261 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x636C650000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x267473796D733D55534400000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x536F75726365206D75737420626520746865206F7261636C65206F6620746865 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2072657175657374000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x1A19 DUP2 PUSH2 0x16A3 JUMP JUMPDEST DUP2 EQ PUSH2 0x1A24 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1A30 DUP2 PUSH2 0x16AF JUMP JUMPDEST DUP2 EQ PUSH2 0x1A3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1A47 DUP2 PUSH2 0x170F JUMP JUMPDEST DUP2 EQ PUSH2 0x1A52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1A5E DUP2 PUSH2 0x1719 JUMP JUMPDEST DUP2 EQ PUSH2 0x1A69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2D 0xD6 0xD4 0x2F 0xAF PUSH23 0x3E21CB3DD5F7988383A43C455DBF5AD37392884D14781E 0xED 0xB8 PUSH1 0x64 PUSH20 0x6F6C634300080700330000000000000000000000 ","sourceMap":"264:3395:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3278:190;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3622:35;;;:::i;:::-;;354:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1783:1284;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3278:190;3382:10;11663:17:1;:28;11681:9;11663:28;;;;;;;;;;;;;;;;;;;;;11649:42;;:10;:42;;;11641:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;11749:17;:28;11767:9;11749:28;;;;;;;;;;;;11742:35;;;;;;;;;;;11807:9;11788:29;;;;;;;;;;3417:7:17::1;3408:6;:16;;;;3439:22;3454:6;;3439:22;;;;;;:::i;:::-;;;;;;;;3278:190:::0;;;:::o;3622:35::-;:::o;354:21::-;;;;:::o;1783:1284::-;1874:17;1903:32;1938:112;1973:5;2000:4;2019:21;;;1938;:112::i;:::-;1903:147;;2114:169;;;;;;;;;;;;;;;;;;2246:11;2165:107;;;;;;;;:::i;:::-;;;;;;;;;;;;;2114:7;:11;;:169;;;;;:::i;:::-;2692:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:7;:11;;:48;;;;;:::i;:::-;2877:18;2909:13;2905:2;:17;;;;:::i;:::-;2877:46;;2933:36;;;;;;;;;;;;;;;;;;2957:11;2933:7;:14;;:36;;;;;:::i;:::-;3016:44;3039:6;3047:7;3056:3;3016:22;:44::i;:::-;3009:51;;;;1783:1284;;;;:::o;1850:283:1:-;1992:24;;:::i;:::-;2024:28;;:::i;:::-;2065:63;2080:6;2088:12;2102:25;2065:3;:14;;:63;;;;;;:::i;:::-;2058:70;;;1850:283;;;;;:::o;1951:175:0:-;2061:26;2083:3;2061:4;:8;;;:21;;:26;;;;:::i;:::-;2093:28;2115:5;2093:4;:8;;;:21;;:28;;;;:::i;:::-;1951:175;;;:::o;2712:168::-;2818:26;2840:3;2818:4;:8;;;:21;;:26;;;;:::i;:::-;2850:25;2869:5;2850:4;:8;;;:18;;:25;;;;:::i;:::-;2712:168;;;:::o;3687:756:1:-;3823:17;3848:13;3864:14;;3848:30;;3909:1;3901:5;:9;;;;:::i;:::-;3884:14;:26;;;;3916:27;3976:48;;;784:1;728;4245:3;:6;;;4267:4;4280:3;:22;;;4310:5;837:1;4350:3;:7;;;:11;;;3946:421;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3916:451;;4380:58;4392:13;4407:5;4414:7;4423:14;4380:11;:58::i;:::-;4373:65;;;;3687:756;;;;;:::o;987:351:0:-;1129:24;;:::i;:::-;1161:49;1182:4;:8;;;361:3;1161:20;:49::i;:::-;;1226:5;1216:4;:7;;:15;;;;;1260:12;1237:4;:20;;:35;;;;;;;;;;;1304:12;1278:4;:23;;:38;;;;;;;;;;;;;1329:4;1322:11;;987:351;;;;;;:::o;2777:204:14:-;2875:71;2894:3;383:1;2931:5;2925:19;2875:18;:71::i;:::-;2952:24;2969:5;2952:3;:10;;:24;;;;:::i;:::-;;2777:204;;:::o;1704:446::-;1800:20;1792:5;:28;1789:357;;;1830:30;1849:3;1854:5;1830:18;:30::i;:::-;1789:357;;;1884:18;1876:5;:26;1873:273;;;1912:30;1925:3;1935:5;1912:12;:30::i;:::-;1873:273;;;1967:1;1958:5;:10;1955:191;;1978:63;1997:3;234:1;2033:5;1978:18;:63::i;:::-;1955:191;;;2062:77;2081:3;288:1;2131:5;2126:2;:10;;;;:::i;:::-;2062:18;:77::i;:::-;1955:191;1873:273;1789:357;1704:446;;:::o;6629:430:1:-;6771:17;6835:4;6841:5;6818:29;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6808:40;;;;;;6796:52;;6885:13;6854:17;:28;6872:9;6854:28;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;6928:9;6909:29;;;;;;;;;;6952:6;;;;;;;;;;;:22;;;6975:13;6990:7;6999:14;6952:62;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6944:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;6629:430;;;;;;:::o;1001:399:13:-;1075:13;;:::i;:::-;1117:1;1111:2;1100:8;:13;;;;:::i;:::-;:18;1096:71;;1157:2;1146:8;:13;;;;:::i;:::-;1140:2;:20;;;;:::i;:::-;1128:32;;;;;:::i;:::-;;;1096:71;1229:8;1214:3;:12;;:23;;;;;1277:4;1271:11;1301:3;1296;1289:16;1324:1;1319:3;1312:14;1363:8;1358:3;1354:18;1350:2;1346:27;1340:4;1333:41;1252:128;1392:3;1385:10;;1001:399;;;;:::o;682:625:14:-;803:2;794:5;:11;;;791:512;;815:44;852:5;847:1;838:5;:10;;;;837:20;;;815:3;:15;;:44;;;;:::i;:::-;;791:512;;;885:4;876:5;:13;;;872:431;;899:41;936:2;931:1;922:5;:10;;;;921:17;899:3;:15;;:41;;;;:::i;:::-;;948:23;962:5;948:23;;969:1;948:3;:13;;:23;;;;;:::i;:::-;;872:431;;;997:6;988:5;:15;;;984:319;;1013:41;1050:2;1045:1;1036:5;:10;;;;1035:17;1013:3;:15;;:41;;;;:::i;:::-;;1062:23;1076:5;1062:23;;1083:1;1062:3;:13;;:23;;;;;:::i;:::-;;984:319;;;1111:10;1102:5;:19;;;1098:205;;1131:41;1168:2;1163:1;1154:5;:10;;;;1153:17;1131:3;:15;;:41;;;;:::i;:::-;;1180:23;1194:5;1180:23;;1201:1;1180:3;:13;;:23;;;;;:::i;:::-;;1098:205;;;1224:41;1261:2;1256:1;1247:5;:10;;;;1246:17;1224:3;:15;;:41;;;;:::i;:::-;;1273:23;1287:5;1273:23;;1294:1;1273:3;:13;;:23;;;;;:::i;:::-;;1098:205;984:319;872:431;791:512;682:625;;;:::o;4692:155:13:-;4769:13;;:::i;:::-;4797:45;4803:3;4808;:7;;;:14;4824:4;4830;:11;4797:5;:45::i;:::-;4790:52;;4692:155;;;;:::o;2547:226:14:-;2641:72;676:1;2682;520;2664:19;;;;2663:48;2641:3;:15;;:72;;;;:::i;:::-;;2719:49;2731:3;2760:5;2755:2;:10;;;;:::i;:::-;2736:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;2719:11;:49::i;:::-;2547:226;;:::o;2345:198::-;2434:63;621:1;2475;520;2457:19;;;;2456:39;2434:3;:15;;:63;;;;:::i;:::-;;2503:35;2515:3;2531:5;2520:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;2503:11;:35::i;:::-;2345:198;;:::o;6040:145:13:-;6115:13;;:::i;:::-;6143:37;6154:3;6159;:7;;;:14;6175:4;6143:10;:37::i;:::-;6136:44;;6040:145;;;;:::o;9894:177::-;9998:13;;:::i;:::-;10026:40;10035:3;10040;:7;;;:14;10056:4;10062:3;10026:8;:40::i;:::-;10019:47;;9894:177;;;;;:::o;2745:1210::-;2867:13;;:::i;:::-;2903:4;:11;2896:3;:18;;2888:27;;;;;;2938:3;:12;;;2932:3;2926;:9;;;;:::i;:::-;:24;2922:90;;;2960:45;2967:3;3003:1;2972:28;2976:3;:12;;;2996:3;2990;:9;;;;:::i;:::-;2972:3;:28::i;:::-;:32;;;;:::i;:::-;2960:6;:45::i;:::-;2922:90;3018:12;3036:11;3133:3;3127:10;3204:6;3198:13;3320:3;3315:2;3307:6;3303:15;3299:25;3291:33;;3404:6;3398:3;3393;3389:13;3386:25;3383:76;;;3446:3;3441;3437:13;3429:6;3422:29;3383:76;3483:2;3477:4;3473:13;3466:20;;3062:430;;3544:129;3558:2;3551:3;:9;3544:129;;3619:3;3613:10;3607:4;3600:24;3647:2;3639:10;;;;;:::i;:::-;;;3664:2;3657:9;;;;;:::i;:::-;;;3569:2;3562:9;;;;;:::i;:::-;;;3544:129;;;3725:12;3760:1;3752:3;3747:2;:8;3741:3;:15;3740:21;3725:36;;3823:4;3819:9;3813:3;3807:10;3803:26;3871:4;3864;3858:11;3854:22;3911:7;3901:8;3898:21;3892:4;3885:35;3778:150;;;3947:3;3940:10;;;;2745:1210;;;;;;:::o;2154:187:14:-;2250:63;2269:3;335:1;2299:5;:12;2250:18;:63::i;:::-;2319:17;2330:5;2319:3;:10;;:17;;;;:::i;:::-;;2154:187;;:::o;5148:639:13:-;5251:13;;:::i;:::-;5283:3;:12;;;5276:3;:19;5272:69;;5305:29;5312:3;5332:1;5317:3;:12;;;:16;;;;:::i;:::-;5305:6;:29::i;:::-;5272:69;5427:3;5421:10;5498:6;5492:13;5610:2;5604:3;5596:6;5592:16;5588:25;5634:4;5628;5620:19;5705:6;5700:3;5697:15;5694:67;;;5750:1;5742:6;5738:14;5730:6;5723:30;5694:67;5356:411;;;5779:3;5772:10;;5148:639;;;;;:::o;8974:675::-;9093:13;;:::i;:::-;9130:3;:12;;;9124:3;9118;:9;;;;:::i;:::-;:24;9114:73;;;9152:28;9159:3;9178:1;9171:3;9165;:9;;;;:::i;:::-;9164:15;;;;:::i;:::-;9152:6;:28::i;:::-;9114:73;9193:12;9221:1;9214:3;9209;:8;;;;:::i;:::-;9208:14;;;;:::i;:::-;9193:29;;9308:3;9302:10;9423:3;9417;9409:6;9405:16;9401:26;9479:4;9471;9467:9;9460:4;9454:11;9450:27;9447:37;9441:4;9434:51;9567:6;9561:13;9555:3;9550;9546:13;9543:32;9540:83;;;9610:3;9605;9601:13;9593:6;9586:29;9540:83;9237:392;;9641:3;9634:10;;;8974:675;;;;;;:::o;1961:124::-;2018:7;2041:1;2037;:5;2033:34;;;2059:1;2052:8;;;;2033:34;2079:1;2072:8;;1961:124;;;;;:::o;1801:156::-;1873:19;1895:3;:7;;;1873:29;;1908:19;1913:3;1918:8;1908:4;:19::i;:::-;;1933;1940:3;1945:6;1933;:19::i;:::-;;1867:90;1801:156;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;7:412:67:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:112;;;282:79;;:::i;:::-;251:112;372:41;406:6;401:3;396;372:41;:::i;:::-;91:328;7:412;;;;;:::o;425:137::-;479:5;510:6;504:13;495:22;;526:30;550:5;526:30;:::i;:::-;425:137;;;;:::o;568:139::-;614:5;652:6;639:20;630:29;;668:33;695:5;668:33;:::i;:::-;568:139;;;;:::o;727:340::-;783:5;832:3;825:4;817:6;813:17;809:27;799:122;;840:79;;:::i;:::-;799:122;957:6;944:20;982:79;1057:3;1049:6;1042:4;1034:6;1030:17;982:79;:::i;:::-;973:88;;789:278;727:340;;;;:::o;1073:139::-;1119:5;1157:6;1144:20;1135:29;;1173:33;1200:5;1173:33;:::i;:::-;1073:139;;;;:::o;1218:135::-;1262:5;1300:6;1287:20;1278:29;;1316:31;1341:5;1316:31;:::i;:::-;1218:135;;;;:::o;1359:345::-;1426:6;1475:2;1463:9;1454:7;1450:23;1446:32;1443:119;;;1481:79;;:::i;:::-;1443:119;1601:1;1626:61;1679:7;1670:6;1659:9;1655:22;1626:61;:::i;:::-;1616:71;;1572:125;1359:345;;;;:::o;1710:474::-;1778:6;1786;1835:2;1823:9;1814:7;1810:23;1806:32;1803:119;;;1841:79;;:::i;:::-;1803:119;1961:1;1986:53;2031:7;2022:6;2011:9;2007:22;1986:53;:::i;:::-;1976:63;;1932:117;2088:2;2114:53;2159:7;2150:6;2139:9;2135:22;2114:53;:::i;:::-;2104:63;;2059:118;1710:474;;;;;:::o;2190:650::-;2266:6;2274;2323:2;2311:9;2302:7;2298:23;2294:32;2291:119;;;2329:79;;:::i;:::-;2291:119;2477:1;2466:9;2462:17;2449:31;2507:18;2499:6;2496:30;2493:117;;;2529:79;;:::i;:::-;2493:117;2634:63;2689:7;2680:6;2669:9;2665:22;2634:63;:::i;:::-;2624:73;;2420:287;2746:2;2772:51;2815:7;2806:6;2795:9;2791:22;2772:51;:::i;:::-;2762:61;;2717:116;2190:650;;;;;:::o;2846:118::-;2933:24;2951:5;2933:24;:::i;:::-;2928:3;2921:37;2846:118;;:::o;2970:::-;3057:24;3075:5;3057:24;:::i;:::-;3052:3;3045:37;2970:118;;:::o;3094:115::-;3179:23;3196:5;3179:23;:::i;:::-;3174:3;3167:36;3094:115;;:::o;3215:360::-;3301:3;3329:38;3361:5;3329:38;:::i;:::-;3383:70;3446:6;3441:3;3383:70;:::i;:::-;3376:77;;3462:52;3507:6;3502:3;3495:4;3488:5;3484:16;3462:52;:::i;:::-;3539:29;3561:6;3539:29;:::i;:::-;3534:3;3530:39;3523:46;;3305:270;3215:360;;;;:::o;3581:216::-;3709:81;3729:60;3783:5;3729:60;:::i;:::-;3709:81;:::i;:::-;3704:3;3697:94;3581:216;;:::o;3803:377::-;3909:3;3937:39;3970:5;3937:39;:::i;:::-;3992:89;4074:6;4069:3;3992:89;:::i;:::-;3985:96;;4090:52;4135:6;4130:3;4123:4;4116:5;4112:16;4090:52;:::i;:::-;4167:6;4162:3;4158:16;4151:23;;3913:267;3803:377;;;;:::o;4186:402::-;4346:3;4367:85;4449:2;4444:3;4367:85;:::i;:::-;4360:92;;4461:93;4550:3;4461:93;:::i;:::-;4579:2;4574:3;4570:12;4563:19;;4186:402;;;:::o;4594:366::-;4736:3;4757:67;4821:2;4816:3;4757:67;:::i;:::-;4750:74;;4833:93;4922:3;4833:93;:::i;:::-;4951:2;4946:3;4942:12;4935:19;;4594:366;;;:::o;4966:402::-;5126:3;5147:85;5229:2;5224:3;5147:85;:::i;:::-;5140:92;;5241:93;5330:3;5241:93;:::i;:::-;5359:2;5354:3;5350:12;5343:19;;4966:402;;;:::o;5374:366::-;5516:3;5537:67;5601:2;5596:3;5537:67;:::i;:::-;5530:74;;5613:93;5702:3;5613:93;:::i;:::-;5731:2;5726:3;5722:12;5715:19;;5374:366;;;:::o;5746:118::-;5833:24;5851:5;5833:24;:::i;:::-;5828:3;5821:37;5746:118;;:::o;5870:157::-;5975:45;5995:24;6013:5;5995:24;:::i;:::-;5975:45;:::i;:::-;5970:3;5963:58;5870:157;;:::o;6033:443::-;6196:3;6211:98;6305:3;6296:6;6211:98;:::i;:::-;6334:2;6329:3;6325:12;6318:19;;6347:75;6418:3;6409:6;6347:75;:::i;:::-;6447:2;6442:3;6438:12;6431:19;;6467:3;6460:10;;6033:443;;;;;:::o;6482:807::-;6816:3;6838:148;6982:3;6838:148;:::i;:::-;6831:155;;7003:95;7094:3;7085:6;7003:95;:::i;:::-;6996:102;;7115:148;7259:3;7115:148;:::i;:::-;7108:155;;7280:3;7273:10;;6482:807;;;;:::o;7295:1080::-;7600:4;7638:3;7627:9;7623:19;7615:27;;7652:71;7720:1;7709:9;7705:17;7696:6;7652:71;:::i;:::-;7733:72;7801:2;7790:9;7786:18;7777:6;7733:72;:::i;:::-;7815;7883:2;7872:9;7868:18;7859:6;7815:72;:::i;:::-;7897;7965:2;7954:9;7950:18;7941:6;7897:72;:::i;:::-;7979:71;8045:3;8034:9;8030:19;8021:6;7979:71;:::i;:::-;8060:73;8128:3;8117:9;8113:19;8104:6;8060:73;:::i;:::-;8143;8211:3;8200:9;8196:19;8187:6;8143:73;:::i;:::-;8264:9;8258:4;8254:20;8248:3;8237:9;8233:19;8226:49;8292:76;8363:4;8354:6;8292:76;:::i;:::-;8284:84;;7295:1080;;;;;;;;;;;:::o;8381:529::-;8548:4;8586:2;8575:9;8571:18;8563:26;;8599:71;8667:1;8656:9;8652:17;8643:6;8599:71;:::i;:::-;8680:72;8748:2;8737:9;8733:18;8724:6;8680:72;:::i;:::-;8799:9;8793:4;8789:20;8784:2;8773:9;8769:18;8762:48;8827:76;8898:4;8889:6;8827:76;:::i;:::-;8819:84;;8381:529;;;;;;:::o;8916:222::-;9009:4;9047:2;9036:9;9032:18;9024:26;;9060:71;9128:1;9117:9;9113:17;9104:6;9060:71;:::i;:::-;8916:222;;;;:::o;9144:419::-;9310:4;9348:2;9337:9;9333:18;9325:26;;9397:9;9391:4;9387:20;9383:1;9372:9;9368:17;9361:47;9425:131;9551:4;9425:131;:::i;:::-;9417:139;;9144:419;;;:::o;9569:::-;9735:4;9773:2;9762:9;9758:18;9750:26;;9822:9;9816:4;9812:20;9808:1;9797:9;9793:17;9786:47;9850:131;9976:4;9850:131;:::i;:::-;9842:139;;9569:419;;;:::o;9994:222::-;10087:4;10125:2;10114:9;10110:18;10102:26;;10138:71;10206:1;10195:9;10191:17;10182:6;10138:71;:::i;:::-;9994:222;;;;:::o;10222:129::-;10256:6;10283:20;;:::i;:::-;10273:30;;10312:33;10340:4;10332:6;10312:33;:::i;:::-;10222:129;;;:::o;10357:75::-;10390:6;10423:2;10417:9;10407:19;;10357:75;:::o;10438:308::-;10500:4;10590:18;10582:6;10579:30;10576:56;;;10612:18;;:::i;:::-;10576:56;10650:29;10672:6;10650:29;:::i;:::-;10642:37;;10734:4;10728;10724:15;10716:23;;10438:308;;;:::o;10752:98::-;10803:6;10837:5;10831:12;10821:22;;10752:98;;;:::o;10856:99::-;10908:6;10942:5;10936:12;10926:22;;10856:99;;;:::o;10961:168::-;11044:11;11078:6;11073:3;11066:19;11118:4;11113:3;11109:14;11094:29;;10961:168;;;;:::o;11135:169::-;11219:11;11253:6;11248:3;11241:19;11293:4;11288:3;11284:14;11269:29;;11135:169;;;;:::o;11310:148::-;11412:11;11449:3;11434:18;;11310:148;;;;:::o;11464:305::-;11504:3;11523:20;11541:1;11523:20;:::i;:::-;11518:25;;11557:20;11575:1;11557:20;:::i;:::-;11552:25;;11711:1;11643:66;11639:74;11636:1;11633:81;11630:107;;;11717:18;;:::i;:::-;11630:107;11761:1;11758;11754:9;11747:16;;11464:305;;;;:::o;11775:848::-;11836:5;11843:4;11867:6;11858:15;;11891:5;11882:14;;11905:712;11926:1;11916:8;11913:15;11905:712;;;12021:4;12016:3;12012:14;12006:4;12003:24;12000:50;;;12030:18;;:::i;:::-;12000:50;12080:1;12070:8;12066:16;12063:451;;;12495:4;12488:5;12484:16;12475:25;;12063:451;12545:4;12539;12535:15;12527:23;;12575:32;12598:8;12575:32;:::i;:::-;12563:44;;11905:712;;;11775:848;;;;;;;:::o;12629:285::-;12689:5;12713:23;12731:4;12713:23;:::i;:::-;12705:31;;12757:27;12775:8;12757:27;:::i;:::-;12745:39;;12803:104;12840:66;12830:8;12824:4;12803:104;:::i;:::-;12794:113;;12629:285;;;;:::o;12920:281::-;12978:5;13002:23;13020:4;13002:23;:::i;:::-;12994:31;;13046:25;13062:8;13046:25;:::i;:::-;13034:37;;13090:104;13127:66;13117:8;13111:4;13090:104;:::i;:::-;13081:113;;12920:281;;;;:::o;13207:1073::-;13261:5;13452:8;13442:40;;13473:1;13464:10;;13475:5;;13442:40;13501:4;13491:36;;13518:1;13509:10;;13520:5;;13491:36;13587:4;13635:1;13630:27;;;;13671:1;13666:191;;;;13580:277;;13630:27;13648:1;13639:10;;13650:5;;;13666:191;13711:3;13701:8;13698:17;13695:43;;;13718:18;;:::i;:::-;13695:43;13767:8;13764:1;13760:16;13751:25;;13802:3;13795:5;13792:14;13789:40;;;13809:18;;:::i;:::-;13789:40;13842:5;;;13580:277;;13966:2;13956:8;13953:16;13947:3;13941:4;13938:13;13934:36;13916:2;13906:8;13903:16;13898:2;13892:4;13889:12;13885:35;13869:111;13866:246;;;14022:8;14016:4;14012:19;14003:28;;14057:3;14050:5;14047:14;14044:40;;;14064:18;;:::i;:::-;14044:40;14097:5;;13866:246;14137:42;14175:3;14165:8;14159:4;14156:1;14137:42;:::i;:::-;14122:57;;;;14211:4;14206:3;14202:14;14195:5;14192:25;14189:51;;;14220:18;;:::i;:::-;14189:51;14269:4;14262:5;14258:16;14249:25;;13207:1073;;;;;;:::o;14286:348::-;14326:7;14349:20;14367:1;14349:20;:::i;:::-;14344:25;;14383:20;14401:1;14383:20;:::i;:::-;14378:25;;14571:1;14503:66;14499:74;14496:1;14493:81;14488:1;14481:9;14474:17;14470:105;14467:131;;;14578:18;;:::i;:::-;14467:131;14626:1;14623;14619:9;14608:20;;14286:348;;;;:::o;14640:527::-;14679:4;14699:19;14716:1;14699:19;:::i;:::-;14694:24;;14732:19;14749:1;14732:19;:::i;:::-;14727:24;;14921:1;14853:66;14849:74;14846:1;14842:82;14837:1;14834;14830:9;14823:17;14819:106;14816:132;;;14928:18;;:::i;:::-;14816:132;15107:1;15039:66;15035:74;15032:1;15028:82;15024:1;15021;15017:9;15013:98;15010:124;;;15114:18;;:::i;:::-;15010:124;15159:1;15156;15152:9;15144:17;;14640:527;;;;:::o;15173:191::-;15213:4;15233:20;15251:1;15233:20;:::i;:::-;15228:25;;15267:20;15285:1;15267:20;:::i;:::-;15262:25;;15306:1;15303;15300:8;15297:34;;;15311:18;;:::i;:::-;15297:34;15356:1;15353;15349:9;15341:17;;15173:191;;;;:::o;15370:96::-;15407:7;15436:24;15454:5;15436:24;:::i;:::-;15425:35;;15370:96;;;:::o;15472:90::-;15506:7;15549:5;15542:13;15535:21;15524:32;;15472:90;;;:::o;15568:77::-;15605:7;15634:5;15623:16;;15568:77;;;:::o;15651:149::-;15687:7;15727:66;15720:5;15716:78;15705:89;;15651:149;;;:::o;15806:76::-;15842:7;15871:5;15860:16;;15806:76;;;:::o;15888:126::-;15925:7;15965:42;15958:5;15954:54;15943:65;;15888:126;;;:::o;16020:77::-;16057:7;16086:5;16075:16;;16020:77;;;:::o;16103:86::-;16138:7;16178:4;16171:5;16167:16;16156:27;;16103:86;;;:::o;16195:149::-;16268:9;16301:37;16332:5;16301:37;:::i;:::-;16288:50;;16195:149;;;:::o;16350:126::-;16400:9;16433:37;16464:5;16433:37;:::i;:::-;16420:50;;16350:126;;;:::o;16482:113::-;16532:9;16565:24;16583:5;16565:24;:::i;:::-;16552:37;;16482:113;;;:::o;16601:154::-;16685:6;16680:3;16675;16662:30;16747:1;16738:6;16733:3;16729:16;16722:27;16601:154;;;:::o;16761:307::-;16829:1;16839:113;16853:6;16850:1;16847:13;16839:113;;;16938:1;16933:3;16929:11;16923:18;16919:1;16914:3;16910:11;16903:39;16875:2;16872:1;16868:10;16863:15;;16839:113;;;16970:6;16967:1;16964:13;16961:101;;;17050:1;17041:6;17036:3;17032:16;17025:27;16961:101;16810:258;16761:307;;;:::o;17074:281::-;17157:27;17179:4;17157:27;:::i;:::-;17149:6;17145:40;17287:6;17275:10;17272:22;17251:18;17239:10;17236:34;17233:62;17230:88;;;17298:18;;:::i;:::-;17230:88;17338:10;17334:2;17327:22;17117:238;17074:281;;:::o;17361:100::-;17400:7;17429:26;17449:5;17429:26;:::i;:::-;17418:37;;17361:100;;;:::o;17467:94::-;17506:7;17535:20;17549:5;17535:20;:::i;:::-;17524:31;;17467:94;;;:::o;17567:79::-;17606:7;17635:5;17624:16;;17567:79;;;:::o;17652:176::-;17684:1;17701:20;17719:1;17701:20;:::i;:::-;17696:25;;17735:20;17753:1;17735:20;:::i;:::-;17730:25;;17774:1;17764:35;;17779:18;;:::i;:::-;17764:35;17820:1;17817;17813:9;17808:14;;17652:176;;;;:::o;17834:180::-;17882:77;17879:1;17872:88;17979:4;17976:1;17969:15;18003:4;18000:1;17993:15;18020:180;18068:77;18065:1;18058:88;18165:4;18162:1;18155:15;18189:4;18186:1;18179:15;18206:180;18254:77;18251:1;18244:88;18351:4;18348:1;18341:15;18375:4;18372:1;18365:15;18392:117;18501:1;18498;18491:12;18515:117;18624:1;18621;18614:12;18638:117;18747:1;18744;18737:12;18761:117;18870:1;18867;18860:12;18884:102;18925:6;18976:2;18972:7;18967:2;18960:5;18956:14;18952:28;18942:38;;18884:102;;;:::o;18992:94::-;19025:8;19073:5;19069:2;19065:14;19044:35;;18992:94;;;:::o;19092:102::-;19134:8;19181:5;19178:1;19174:13;19153:34;;19092:102;;;:::o;19200:255::-;19340:34;19336:1;19328:6;19324:14;19317:58;19413:30;19408:2;19400:6;19396:15;19389:55;19200:255;:::o;19465:234::-;19609:34;19605:1;19597:6;19593:14;19586:58;19682:5;19677:2;19669:6;19665:15;19658:30;19465:234;:::o;19709:168::-;19853:12;19849:1;19841:6;19837:14;19830:36;19709:168;:::o;19887:239::-;20031:34;20027:1;20019:6;20015:14;20008:58;20104:10;20099:2;20091:6;20087:15;20080:35;19887:239;:::o;20136:124::-;20210:21;20225:5;20210:21;:::i;:::-;20203:5;20200:32;20190:60;;20246:1;20243;20236:12;20190:60;20136:124;:::o;20270:130::-;20347:24;20365:5;20347:24;:::i;:::-;20340:5;20337:35;20327:63;;20386:1;20383;20376:12;20327:63;20270:130;:::o;20410:::-;20487:24;20505:5;20487:24;:::i;:::-;20480:5;20477:35;20467:63;;20526:1;20523;20516:12;20467:63;20410:130;:::o;20550:126::-;20625:22;20641:5;20625:22;:::i;:::-;20618:5;20615:33;20605:61;;20662:1;20659;20652:12;20605:61;20550:126;:::o"},"gasEstimates":{"creation":{"codeDepositCost":"1363600","executionCost":"infinite","totalCost":"infinite"},"external":{"fulfill(bytes32,uint256)":"infinite","requestVolumeData(string,uint8)":"infinite","volume()":"2451","withdrawLink()":"144"}},"methodIdentifiers":{"fulfill(bytes32,uint256)":"4357855e","requestVolumeData(string,uint8)":"ca7baee4","volume()":"c618a1e4","withdrawLink()":"8dc654a2"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_oracle\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_jobId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_link\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"ChainlinkCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"ChainlinkFulfilled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"ChainlinkRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"volume\",\"type\":\"uint256\"}],\"name\":\"DataFullfilled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_volume\",\"type\":\"uint256\"}],\"name\":\"fulfill\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_coinSymbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"_coinDecimals\",\"type\":\"uint8\"}],\"name\":\"requestVolumeData\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"requestId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"volume\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawLink\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_fee\":\"- node operator price per API call / data request\",\"_jobId\":\"- specific job for :_oracle: to run; each job is unique and returns different types of data\",\"_link\":\"- LINK token address on the corresponding network Network: Baobab Oracle: 0xfC3BdAbD8a6A73B40010350E2a61716a21c87610 Job ID: ca98366cc7314957b8c012c72f05aeeb Fee: 0.1 LINK Link: 0x04c5046A1f4E3fFf094c26dFCAA75eF293932f18\",\"_oracle\":\"- address of the specific Chainlink node that a contract makes an API call from\"}},\"fulfill(bytes32,uint256)\":{\"params\":{\"_requestId\":\"- id of the request\",\"_volume\":\"- response; requested 24h trading volume of ETH in USD\"}},\"requestVolumeData(string,uint8)\":{\"returns\":{\"requestId\":\"- id of the request\"}},\"withdrawLink()\":{\"details\":\"Implement a withdraw function to avoid locking your LINK in the contract\"}},\"title\":\"The APIConsumer contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"constructor\":{\"notice\":\"Executes once when a contract is created to initialize state variables\"},\"fulfill(bytes32,uint256)\":{\"notice\":\"Receives the response in the form of uint256\"},\"requestVolumeData(string,uint8)\":{\"notice\":\"Creates a Chainlink request to retrieve API response, find the target data, then multiply by 10*_coinDecimals (to remove decimal places from data).\"},\"withdrawLink()\":{\"notice\":\"Witdraws LINK from the contract\"}},\"notice\":\"An API Consumer contract that makes GET requests to obtain 24h trading volume of ETH in USD\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/APIConsumer.sol\":\"APIConsumer\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/Chainlink.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nimport {CBORChainlink} from \\\"./vendor/CBORChainlink.sol\\\";\\nimport {BufferChainlink} from \\\"./vendor/BufferChainlink.sol\\\";\\n\\n/**\\n * @title Library for common Chainlink functions\\n * @dev Uses imported CBOR library for encoding to buffer\\n */\\nlibrary Chainlink {\\n  uint256 internal constant defaultBufferSize = 256; // solhint-disable-line const-name-snakecase\\n\\n  using CBORChainlink for BufferChainlink.buffer;\\n\\n  struct Request {\\n    bytes32 id;\\n    address callbackAddress;\\n    bytes4 callbackFunctionId;\\n    uint256 nonce;\\n    BufferChainlink.buffer buf;\\n  }\\n\\n  /**\\n   * @notice Initializes a Chainlink request\\n   * @dev Sets the ID, callback address, and callback function signature on the request\\n   * @param self The uninitialized request\\n   * @param jobId The Job Specification ID\\n   * @param callbackAddr The callback address\\n   * @param callbackFunc The callback function signature\\n   * @return The initialized request\\n   */\\n  function initialize(\\n    Request memory self,\\n    bytes32 jobId,\\n    address callbackAddr,\\n    bytes4 callbackFunc\\n  ) internal pure returns (Chainlink.Request memory) {\\n    BufferChainlink.init(self.buf, defaultBufferSize);\\n    self.id = jobId;\\n    self.callbackAddress = callbackAddr;\\n    self.callbackFunctionId = callbackFunc;\\n    return self;\\n  }\\n\\n  /**\\n   * @notice Sets the data for the buffer without encoding CBOR on-chain\\n   * @dev CBOR can be closed with curly-brackets {} or they can be left off\\n   * @param self The initialized request\\n   * @param data The CBOR data\\n   */\\n  function setBuffer(Request memory self, bytes memory data) internal pure {\\n    BufferChainlink.init(self.buf, data.length);\\n    BufferChainlink.append(self.buf, data);\\n  }\\n\\n  /**\\n   * @notice Adds a string value to the request with a given key name\\n   * @param self The initialized request\\n   * @param key The name of the key\\n   * @param value The string value to add\\n   */\\n  function add(\\n    Request memory self,\\n    string memory key,\\n    string memory value\\n  ) internal pure {\\n    self.buf.encodeString(key);\\n    self.buf.encodeString(value);\\n  }\\n\\n  /**\\n   * @notice Adds a bytes value to the request with a given key name\\n   * @param self The initialized request\\n   * @param key The name of the key\\n   * @param value The bytes value to add\\n   */\\n  function addBytes(\\n    Request memory self,\\n    string memory key,\\n    bytes memory value\\n  ) internal pure {\\n    self.buf.encodeString(key);\\n    self.buf.encodeBytes(value);\\n  }\\n\\n  /**\\n   * @notice Adds a int256 value to the request with a given key name\\n   * @param self The initialized request\\n   * @param key The name of the key\\n   * @param value The int256 value to add\\n   */\\n  function addInt(\\n    Request memory self,\\n    string memory key,\\n    int256 value\\n  ) internal pure {\\n    self.buf.encodeString(key);\\n    self.buf.encodeInt(value);\\n  }\\n\\n  /**\\n   * @notice Adds a uint256 value to the request with a given key name\\n   * @param self The initialized request\\n   * @param key The name of the key\\n   * @param value The uint256 value to add\\n   */\\n  function addUint(\\n    Request memory self,\\n    string memory key,\\n    uint256 value\\n  ) internal pure {\\n    self.buf.encodeString(key);\\n    self.buf.encodeUInt(value);\\n  }\\n\\n  /**\\n   * @notice Adds an array of strings to the request with a given key name\\n   * @param self The initialized request\\n   * @param key The name of the key\\n   * @param values The array of string values to add\\n   */\\n  function addStringArray(\\n    Request memory self,\\n    string memory key,\\n    string[] memory values\\n  ) internal pure {\\n    self.buf.encodeString(key);\\n    self.buf.startArray();\\n    for (uint256 i = 0; i < values.length; i++) {\\n      self.buf.encodeString(values[i]);\\n    }\\n    self.buf.endSequence();\\n  }\\n}\\n\",\"keccak256\":\"0x3e133ddc69d0909fbe338c34b70cbf8dd262c70fd670b3632424c1858de25105\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/ChainlinkClient.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nimport \\\"./Chainlink.sol\\\";\\nimport \\\"./interfaces/ENSInterface.sol\\\";\\nimport \\\"./interfaces/LinkTokenInterface.sol\\\";\\nimport \\\"./interfaces/ChainlinkRequestInterface.sol\\\";\\nimport \\\"./interfaces/OperatorInterface.sol\\\";\\nimport \\\"./interfaces/PointerInterface.sol\\\";\\nimport {ENSResolver as ENSResolver_Chainlink} from \\\"./vendor/ENSResolver.sol\\\";\\n\\n/**\\n * @title The ChainlinkClient contract\\n * @notice Contract writers can inherit this contract in order to create requests for the\\n * Chainlink network\\n */\\nabstract contract ChainlinkClient {\\n  using Chainlink for Chainlink.Request;\\n\\n  uint256 internal constant LINK_DIVISIBILITY = 10**18;\\n  uint256 private constant AMOUNT_OVERRIDE = 0;\\n  address private constant SENDER_OVERRIDE = address(0);\\n  uint256 private constant ORACLE_ARGS_VERSION = 1;\\n  uint256 private constant OPERATOR_ARGS_VERSION = 2;\\n  bytes32 private constant ENS_TOKEN_SUBNAME = keccak256(\\\"link\\\");\\n  bytes32 private constant ENS_ORACLE_SUBNAME = keccak256(\\\"oracle\\\");\\n  address private constant LINK_TOKEN_POINTER = 0xC89bD4E1632D3A43CB03AAAd5262cbe4038Bc571;\\n\\n  ENSInterface private s_ens;\\n  bytes32 private s_ensNode;\\n  LinkTokenInterface private s_link;\\n  OperatorInterface private s_oracle;\\n  uint256 private s_requestCount = 1;\\n  mapping(bytes32 => address) private s_pendingRequests;\\n\\n  event ChainlinkRequested(bytes32 indexed id);\\n  event ChainlinkFulfilled(bytes32 indexed id);\\n  event ChainlinkCancelled(bytes32 indexed id);\\n\\n  /**\\n   * @notice Creates a request that can hold additional parameters\\n   * @param specId The Job Specification ID that the request will be created for\\n   * @param callbackAddr address to operate the callback on\\n   * @param callbackFunctionSignature function signature to use for the callback\\n   * @return A Chainlink Request struct in memory\\n   */\\n  function buildChainlinkRequest(\\n    bytes32 specId,\\n    address callbackAddr,\\n    bytes4 callbackFunctionSignature\\n  ) internal pure returns (Chainlink.Request memory) {\\n    Chainlink.Request memory req;\\n    return req.initialize(specId, callbackAddr, callbackFunctionSignature);\\n  }\\n\\n  /**\\n   * @notice Creates a request that can hold additional parameters\\n   * @param specId The Job Specification ID that the request will be created for\\n   * @param callbackFunctionSignature function signature to use for the callback\\n   * @return A Chainlink Request struct in memory\\n   */\\n  function buildOperatorRequest(bytes32 specId, bytes4 callbackFunctionSignature)\\n    internal\\n    view\\n    returns (Chainlink.Request memory)\\n  {\\n    Chainlink.Request memory req;\\n    return req.initialize(specId, address(this), callbackFunctionSignature);\\n  }\\n\\n  /**\\n   * @notice Creates a Chainlink request to the stored oracle address\\n   * @dev Calls `chainlinkRequestTo` with the stored oracle address\\n   * @param req The initialized Chainlink Request\\n   * @param payment The amount of LINK to send for the request\\n   * @return requestId The request ID\\n   */\\n  function sendChainlinkRequest(Chainlink.Request memory req, uint256 payment) internal returns (bytes32) {\\n    return sendChainlinkRequestTo(address(s_oracle), req, payment);\\n  }\\n\\n  /**\\n   * @notice Creates a Chainlink request to the specified oracle address\\n   * @dev Generates and stores a request ID, increments the local nonce, and uses `transferAndCall` to\\n   * send LINK which creates a request on the target oracle contract.\\n   * Emits ChainlinkRequested event.\\n   * @param oracleAddress The address of the oracle for the request\\n   * @param req The initialized Chainlink Request\\n   * @param payment The amount of LINK to send for the request\\n   * @return requestId The request ID\\n   */\\n  function sendChainlinkRequestTo(\\n    address oracleAddress,\\n    Chainlink.Request memory req,\\n    uint256 payment\\n  ) internal returns (bytes32 requestId) {\\n    uint256 nonce = s_requestCount;\\n    s_requestCount = nonce + 1;\\n    bytes memory encodedRequest = abi.encodeWithSelector(\\n      ChainlinkRequestInterface.oracleRequest.selector,\\n      SENDER_OVERRIDE, // Sender value - overridden by onTokenTransfer by the requesting contract's address\\n      AMOUNT_OVERRIDE, // Amount value - overridden by onTokenTransfer by the actual amount of LINK sent\\n      req.id,\\n      address(this),\\n      req.callbackFunctionId,\\n      nonce,\\n      ORACLE_ARGS_VERSION,\\n      req.buf.buf\\n    );\\n    return _rawRequest(oracleAddress, nonce, payment, encodedRequest);\\n  }\\n\\n  /**\\n   * @notice Creates a Chainlink request to the stored oracle address\\n   * @dev This function supports multi-word response\\n   * @dev Calls `sendOperatorRequestTo` with the stored oracle address\\n   * @param req The initialized Chainlink Request\\n   * @param payment The amount of LINK to send for the request\\n   * @return requestId The request ID\\n   */\\n  function sendOperatorRequest(Chainlink.Request memory req, uint256 payment) internal returns (bytes32) {\\n    return sendOperatorRequestTo(address(s_oracle), req, payment);\\n  }\\n\\n  /**\\n   * @notice Creates a Chainlink request to the specified oracle address\\n   * @dev This function supports multi-word response\\n   * @dev Generates and stores a request ID, increments the local nonce, and uses `transferAndCall` to\\n   * send LINK which creates a request on the target oracle contract.\\n   * Emits ChainlinkRequested event.\\n   * @param oracleAddress The address of the oracle for the request\\n   * @param req The initialized Chainlink Request\\n   * @param payment The amount of LINK to send for the request\\n   * @return requestId The request ID\\n   */\\n  function sendOperatorRequestTo(\\n    address oracleAddress,\\n    Chainlink.Request memory req,\\n    uint256 payment\\n  ) internal returns (bytes32 requestId) {\\n    uint256 nonce = s_requestCount;\\n    s_requestCount = nonce + 1;\\n    bytes memory encodedRequest = abi.encodeWithSelector(\\n      OperatorInterface.operatorRequest.selector,\\n      SENDER_OVERRIDE, // Sender value - overridden by onTokenTransfer by the requesting contract's address\\n      AMOUNT_OVERRIDE, // Amount value - overridden by onTokenTransfer by the actual amount of LINK sent\\n      req.id,\\n      req.callbackFunctionId,\\n      nonce,\\n      OPERATOR_ARGS_VERSION,\\n      req.buf.buf\\n    );\\n    return _rawRequest(oracleAddress, nonce, payment, encodedRequest);\\n  }\\n\\n  /**\\n   * @notice Make a request to an oracle\\n   * @param oracleAddress The address of the oracle for the request\\n   * @param nonce used to generate the request ID\\n   * @param payment The amount of LINK to send for the request\\n   * @param encodedRequest data encoded for request type specific format\\n   * @return requestId The request ID\\n   */\\n  function _rawRequest(\\n    address oracleAddress,\\n    uint256 nonce,\\n    uint256 payment,\\n    bytes memory encodedRequest\\n  ) private returns (bytes32 requestId) {\\n    requestId = keccak256(abi.encodePacked(this, nonce));\\n    s_pendingRequests[requestId] = oracleAddress;\\n    emit ChainlinkRequested(requestId);\\n    require(s_link.transferAndCall(oracleAddress, payment, encodedRequest), \\\"unable to transferAndCall to oracle\\\");\\n  }\\n\\n  /**\\n   * @notice Allows a request to be cancelled if it has not been fulfilled\\n   * @dev Requires keeping track of the expiration value emitted from the oracle contract.\\n   * Deletes the request from the `pendingRequests` mapping.\\n   * Emits ChainlinkCancelled event.\\n   * @param requestId The request ID\\n   * @param payment The amount of LINK sent for the request\\n   * @param callbackFunc The callback function specified for the request\\n   * @param expiration The time of the expiration for the request\\n   */\\n  function cancelChainlinkRequest(\\n    bytes32 requestId,\\n    uint256 payment,\\n    bytes4 callbackFunc,\\n    uint256 expiration\\n  ) internal {\\n    OperatorInterface requested = OperatorInterface(s_pendingRequests[requestId]);\\n    delete s_pendingRequests[requestId];\\n    emit ChainlinkCancelled(requestId);\\n    requested.cancelOracleRequest(requestId, payment, callbackFunc, expiration);\\n  }\\n\\n  /**\\n   * @notice the next request count to be used in generating a nonce\\n   * @dev starts at 1 in order to ensure consistent gas cost\\n   * @return returns the next request count to be used in a nonce\\n   */\\n  function getNextRequestCount() internal view returns (uint256) {\\n    return s_requestCount;\\n  }\\n\\n  /**\\n   * @notice Sets the stored oracle address\\n   * @param oracleAddress The address of the oracle contract\\n   */\\n  function setChainlinkOracle(address oracleAddress) internal {\\n    s_oracle = OperatorInterface(oracleAddress);\\n  }\\n\\n  /**\\n   * @notice Sets the LINK token address\\n   * @param linkAddress The address of the LINK token contract\\n   */\\n  function setChainlinkToken(address linkAddress) internal {\\n    s_link = LinkTokenInterface(linkAddress);\\n  }\\n\\n  /**\\n   * @notice Sets the Chainlink token address for the public\\n   * network as given by the Pointer contract\\n   */\\n  function setPublicChainlinkToken() internal {\\n    setChainlinkToken(PointerInterface(LINK_TOKEN_POINTER).getAddress());\\n  }\\n\\n  /**\\n   * @notice Retrieves the stored address of the LINK token\\n   * @return The address of the LINK token\\n   */\\n  function chainlinkTokenAddress() internal view returns (address) {\\n    return address(s_link);\\n  }\\n\\n  /**\\n   * @notice Retrieves the stored address of the oracle contract\\n   * @return The address of the oracle contract\\n   */\\n  function chainlinkOracleAddress() internal view returns (address) {\\n    return address(s_oracle);\\n  }\\n\\n  /**\\n   * @notice Allows for a request which was created on another contract to be fulfilled\\n   * on this contract\\n   * @param oracleAddress The address of the oracle contract that will fulfill the request\\n   * @param requestId The request ID used for the response\\n   */\\n  function addChainlinkExternalRequest(address oracleAddress, bytes32 requestId) internal notPendingRequest(requestId) {\\n    s_pendingRequests[requestId] = oracleAddress;\\n  }\\n\\n  /**\\n   * @notice Sets the stored oracle and LINK token contracts with the addresses resolved by ENS\\n   * @dev Accounts for subnodes having different resolvers\\n   * @param ensAddress The address of the ENS contract\\n   * @param node The ENS node hash\\n   */\\n  function useChainlinkWithENS(address ensAddress, bytes32 node) internal {\\n    s_ens = ENSInterface(ensAddress);\\n    s_ensNode = node;\\n    bytes32 linkSubnode = keccak256(abi.encodePacked(s_ensNode, ENS_TOKEN_SUBNAME));\\n    ENSResolver_Chainlink resolver = ENSResolver_Chainlink(s_ens.resolver(linkSubnode));\\n    setChainlinkToken(resolver.addr(linkSubnode));\\n    updateChainlinkOracleWithENS();\\n  }\\n\\n  /**\\n   * @notice Sets the stored oracle contract with the address resolved by ENS\\n   * @dev This may be called on its own as long as `useChainlinkWithENS` has been called previously\\n   */\\n  function updateChainlinkOracleWithENS() internal {\\n    bytes32 oracleSubnode = keccak256(abi.encodePacked(s_ensNode, ENS_ORACLE_SUBNAME));\\n    ENSResolver_Chainlink resolver = ENSResolver_Chainlink(s_ens.resolver(oracleSubnode));\\n    setChainlinkOracle(resolver.addr(oracleSubnode));\\n  }\\n\\n  /**\\n   * @notice Ensures that the fulfillment is valid for this contract\\n   * @dev Use if the contract developer prefers methods instead of modifiers for validation\\n   * @param requestId The request ID for fulfillment\\n   */\\n  function validateChainlinkCallback(bytes32 requestId)\\n    internal\\n    recordChainlinkFulfillment(requestId)\\n  // solhint-disable-next-line no-empty-blocks\\n  {\\n\\n  }\\n\\n  /**\\n   * @dev Reverts if the sender is not the oracle of the request.\\n   * Emits ChainlinkFulfilled event.\\n   * @param requestId The request ID for fulfillment\\n   */\\n  modifier recordChainlinkFulfillment(bytes32 requestId) {\\n    require(msg.sender == s_pendingRequests[requestId], \\\"Source must be the oracle of the request\\\");\\n    delete s_pendingRequests[requestId];\\n    emit ChainlinkFulfilled(requestId);\\n    _;\\n  }\\n\\n  /**\\n   * @dev Reverts if the request is already pending\\n   * @param requestId The request ID for fulfillment\\n   */\\n  modifier notPendingRequest(bytes32 requestId) {\\n    require(s_pendingRequests[requestId] == address(0), \\\"Request is already pending\\\");\\n    _;\\n  }\\n}\\n\",\"keccak256\":\"0xa221ccfa4763977cc78c57e3a83d47f5aaf7c15535a2c20dba5f46af80fb3bd7\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/interfaces/ChainlinkRequestInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface ChainlinkRequestInterface {\\n  function oracleRequest(\\n    address sender,\\n    uint256 requestPrice,\\n    bytes32 serviceAgreementID,\\n    address callbackAddress,\\n    bytes4 callbackFunctionId,\\n    uint256 nonce,\\n    uint256 dataVersion,\\n    bytes calldata data\\n  ) external;\\n\\n  function cancelOracleRequest(\\n    bytes32 requestId,\\n    uint256 payment,\\n    bytes4 callbackFunctionId,\\n    uint256 expiration\\n  ) external;\\n}\\n\",\"keccak256\":\"0xa8adfbd0326c982c38ea3808a4da52f0a51807241787c4bd28235bbe86707c04\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/interfaces/ENSInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface ENSInterface {\\n  // Logged when the owner of a node assigns a new owner to a subnode.\\n  event NewOwner(bytes32 indexed node, bytes32 indexed label, address owner);\\n\\n  // Logged when the owner of a node transfers ownership to a new account.\\n  event Transfer(bytes32 indexed node, address owner);\\n\\n  // Logged when the resolver for a node changes.\\n  event NewResolver(bytes32 indexed node, address resolver);\\n\\n  // Logged when the TTL of a node changes\\n  event NewTTL(bytes32 indexed node, uint64 ttl);\\n\\n  function setSubnodeOwner(\\n    bytes32 node,\\n    bytes32 label,\\n    address owner\\n  ) external;\\n\\n  function setResolver(bytes32 node, address resolver) external;\\n\\n  function setOwner(bytes32 node, address owner) external;\\n\\n  function setTTL(bytes32 node, uint64 ttl) external;\\n\\n  function owner(bytes32 node) external view returns (address);\\n\\n  function resolver(bytes32 node) external view returns (address);\\n\\n  function ttl(bytes32 node) external view returns (uint64);\\n}\\n\",\"keccak256\":\"0xe51365458d82233a55f5ad4492a3b6bf56332d21cad6b0a5f21b8a026fcfd6d0\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/interfaces/LinkTokenInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface LinkTokenInterface {\\n  function allowance(address owner, address spender) external view returns (uint256 remaining);\\n\\n  function approve(address spender, uint256 value) external returns (bool success);\\n\\n  function balanceOf(address owner) external view returns (uint256 balance);\\n\\n  function decimals() external view returns (uint8 decimalPlaces);\\n\\n  function decreaseApproval(address spender, uint256 addedValue) external returns (bool success);\\n\\n  function increaseApproval(address spender, uint256 subtractedValue) external;\\n\\n  function name() external view returns (string memory tokenName);\\n\\n  function symbol() external view returns (string memory tokenSymbol);\\n\\n  function totalSupply() external view returns (uint256 totalTokensIssued);\\n\\n  function transfer(address to, uint256 value) external returns (bool success);\\n\\n  function transferAndCall(\\n    address to,\\n    uint256 value,\\n    bytes calldata data\\n  ) external returns (bool success);\\n\\n  function transferFrom(\\n    address from,\\n    address to,\\n    uint256 value\\n  ) external returns (bool success);\\n}\\n\",\"keccak256\":\"0xc7d7cd730d36825485ef4107d93c3ff18b9f3a5a00ea3d5988ba9a0bd70b10c5\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/interfaces/OperatorInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nimport \\\"./OracleInterface.sol\\\";\\nimport \\\"./ChainlinkRequestInterface.sol\\\";\\n\\ninterface OperatorInterface is OracleInterface, ChainlinkRequestInterface {\\n  function operatorRequest(\\n    address sender,\\n    uint256 payment,\\n    bytes32 specId,\\n    bytes4 callbackFunctionId,\\n    uint256 nonce,\\n    uint256 dataVersion,\\n    bytes calldata data\\n  ) external;\\n\\n  function fulfillOracleRequest2(\\n    bytes32 requestId,\\n    uint256 payment,\\n    address callbackAddress,\\n    bytes4 callbackFunctionId,\\n    uint256 expiration,\\n    bytes calldata data\\n  ) external returns (bool);\\n\\n  function ownerTransferAndCall(\\n    address to,\\n    uint256 value,\\n    bytes calldata data\\n  ) external returns (bool success);\\n\\n  function distributeFunds(address payable[] calldata receivers, uint256[] calldata amounts) external payable;\\n\\n  function getAuthorizedSenders() external returns (address[] memory);\\n\\n  function setAuthorizedSenders(address[] calldata senders) external;\\n\\n  function getForwarder() external returns (address);\\n}\\n\",\"keccak256\":\"0x79a7c77b8f87be6ef02a566765077ed599724b060a209f34f8907eec5615da68\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/interfaces/OracleInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface OracleInterface {\\n  function fulfillOracleRequest(\\n    bytes32 requestId,\\n    uint256 payment,\\n    address callbackAddress,\\n    bytes4 callbackFunctionId,\\n    uint256 expiration,\\n    bytes32 data\\n  ) external returns (bool);\\n\\n  function isAuthorizedSender(address node) external view returns (bool);\\n\\n  function withdraw(address recipient, uint256 amount) external;\\n\\n  function withdrawable() external view returns (uint256);\\n}\\n\",\"keccak256\":\"0x3a86242e005bad9daf1b4794399a81ba373069355f38c8a07b58e57abc32513a\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/interfaces/PointerInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface PointerInterface {\\n  function getAddress() external view returns (address);\\n}\\n\",\"keccak256\":\"0x42e5d62984f9d57bab7e32b2c6e3af86f4feb232ea2af6c822032fae88203bd7\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/vendor/BufferChainlink.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\n/**\\n * @dev A library for working with mutable byte buffers in Solidity.\\n *\\n * Byte buffers are mutable and expandable, and provide a variety of primitives\\n * for writing to them. At any time you can fetch a bytes object containing the\\n * current contents of the buffer. The bytes object should not be stored between\\n * operations, as it may change due to resizing of the buffer.\\n */\\nlibrary BufferChainlink {\\n  /**\\n   * @dev Represents a mutable buffer. Buffers have a current value (buf) and\\n   *      a capacity. The capacity may be longer than the current value, in\\n   *      which case it can be extended without the need to allocate more memory.\\n   */\\n  struct buffer {\\n    bytes buf;\\n    uint256 capacity;\\n  }\\n\\n  /**\\n   * @dev Initializes a buffer with an initial capacity.\\n   * @param buf The buffer to initialize.\\n   * @param capacity The number of bytes of space to allocate the buffer.\\n   * @return The buffer, for chaining.\\n   */\\n  function init(buffer memory buf, uint256 capacity) internal pure returns (buffer memory) {\\n    if (capacity % 32 != 0) {\\n      capacity += 32 - (capacity % 32);\\n    }\\n    // Allocate space for the buffer data\\n    buf.capacity = capacity;\\n    assembly {\\n      let ptr := mload(0x40)\\n      mstore(buf, ptr)\\n      mstore(ptr, 0)\\n      mstore(0x40, add(32, add(ptr, capacity)))\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Initializes a new buffer from an existing bytes object.\\n   *      Changes to the buffer may mutate the original value.\\n   * @param b The bytes object to initialize the buffer with.\\n   * @return A new buffer.\\n   */\\n  function fromBytes(bytes memory b) internal pure returns (buffer memory) {\\n    buffer memory buf;\\n    buf.buf = b;\\n    buf.capacity = b.length;\\n    return buf;\\n  }\\n\\n  function resize(buffer memory buf, uint256 capacity) private pure {\\n    bytes memory oldbuf = buf.buf;\\n    init(buf, capacity);\\n    append(buf, oldbuf);\\n  }\\n\\n  function max(uint256 a, uint256 b) private pure returns (uint256) {\\n    if (a > b) {\\n      return a;\\n    }\\n    return b;\\n  }\\n\\n  /**\\n   * @dev Sets buffer length to 0.\\n   * @param buf The buffer to truncate.\\n   * @return The original buffer, for chaining..\\n   */\\n  function truncate(buffer memory buf) internal pure returns (buffer memory) {\\n    assembly {\\n      let bufptr := mload(buf)\\n      mstore(bufptr, 0)\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Writes a byte string to a buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The start offset to write to.\\n   * @param data The data to append.\\n   * @param len The number of bytes to copy.\\n   * @return The original buffer, for chaining.\\n   */\\n  function write(\\n    buffer memory buf,\\n    uint256 off,\\n    bytes memory data,\\n    uint256 len\\n  ) internal pure returns (buffer memory) {\\n    require(len <= data.length);\\n\\n    if (off + len > buf.capacity) {\\n      resize(buf, max(buf.capacity, len + off) * 2);\\n    }\\n\\n    uint256 dest;\\n    uint256 src;\\n    assembly {\\n      // Memory address of the buffer data\\n      let bufptr := mload(buf)\\n      // Length of existing buffer data\\n      let buflen := mload(bufptr)\\n      // Start address = buffer address + offset + sizeof(buffer length)\\n      dest := add(add(bufptr, 32), off)\\n      // Update buffer length if we're extending it\\n      if gt(add(len, off), buflen) {\\n        mstore(bufptr, add(len, off))\\n      }\\n      src := add(data, 32)\\n    }\\n\\n    // Copy word-length chunks while possible\\n    for (; len >= 32; len -= 32) {\\n      assembly {\\n        mstore(dest, mload(src))\\n      }\\n      dest += 32;\\n      src += 32;\\n    }\\n\\n    // Copy remaining bytes\\n    unchecked {\\n      uint256 mask = (256**(32 - len)) - 1;\\n      assembly {\\n        let srcpart := and(mload(src), not(mask))\\n        let destpart := and(mload(dest), mask)\\n        mstore(dest, or(destpart, srcpart))\\n      }\\n    }\\n\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Appends a byte string to a buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @param len The number of bytes to copy.\\n   * @return The original buffer, for chaining.\\n   */\\n  function append(\\n    buffer memory buf,\\n    bytes memory data,\\n    uint256 len\\n  ) internal pure returns (buffer memory) {\\n    return write(buf, buf.buf.length, data, len);\\n  }\\n\\n  /**\\n   * @dev Appends a byte string to a buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function append(buffer memory buf, bytes memory data) internal pure returns (buffer memory) {\\n    return write(buf, buf.buf.length, data, data.length);\\n  }\\n\\n  /**\\n   * @dev Writes a byte to the buffer. Resizes if doing so would exceed the\\n   *      capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The offset to write the byte at.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function writeUint8(\\n    buffer memory buf,\\n    uint256 off,\\n    uint8 data\\n  ) internal pure returns (buffer memory) {\\n    if (off >= buf.capacity) {\\n      resize(buf, buf.capacity * 2);\\n    }\\n\\n    assembly {\\n      // Memory address of the buffer data\\n      let bufptr := mload(buf)\\n      // Length of existing buffer data\\n      let buflen := mload(bufptr)\\n      // Address = buffer address + sizeof(buffer length) + off\\n      let dest := add(add(bufptr, off), 32)\\n      mstore8(dest, data)\\n      // Update buffer length if we extended it\\n      if eq(off, buflen) {\\n        mstore(bufptr, add(buflen, 1))\\n      }\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Appends a byte to the buffer. Resizes if doing so would exceed the\\n   *      capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function appendUint8(buffer memory buf, uint8 data) internal pure returns (buffer memory) {\\n    return writeUint8(buf, buf.buf.length, data);\\n  }\\n\\n  /**\\n   * @dev Writes up to 32 bytes to the buffer. Resizes if doing so would\\n   *      exceed the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The offset to write at.\\n   * @param data The data to append.\\n   * @param len The number of bytes to write (left-aligned).\\n   * @return The original buffer, for chaining.\\n   */\\n  function write(\\n    buffer memory buf,\\n    uint256 off,\\n    bytes32 data,\\n    uint256 len\\n  ) private pure returns (buffer memory) {\\n    if (len + off > buf.capacity) {\\n      resize(buf, (len + off) * 2);\\n    }\\n\\n    unchecked {\\n      uint256 mask = (256**len) - 1;\\n      // Right-align data\\n      data = data >> (8 * (32 - len));\\n      assembly {\\n        // Memory address of the buffer data\\n        let bufptr := mload(buf)\\n        // Address = buffer address + sizeof(buffer length) + off + len\\n        let dest := add(add(bufptr, off), len)\\n        mstore(dest, or(and(mload(dest), not(mask)), data))\\n        // Update buffer length if we extended it\\n        if gt(add(off, len), mload(bufptr)) {\\n          mstore(bufptr, add(off, len))\\n        }\\n      }\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Writes a bytes20 to the buffer. Resizes if doing so would exceed the\\n   *      capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The offset to write at.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function writeBytes20(\\n    buffer memory buf,\\n    uint256 off,\\n    bytes20 data\\n  ) internal pure returns (buffer memory) {\\n    return write(buf, off, bytes32(data), 20);\\n  }\\n\\n  /**\\n   * @dev Appends a bytes20 to the buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer, for chhaining.\\n   */\\n  function appendBytes20(buffer memory buf, bytes20 data) internal pure returns (buffer memory) {\\n    return write(buf, buf.buf.length, bytes32(data), 20);\\n  }\\n\\n  /**\\n   * @dev Appends a bytes32 to the buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer, for chaining.\\n   */\\n  function appendBytes32(buffer memory buf, bytes32 data) internal pure returns (buffer memory) {\\n    return write(buf, buf.buf.length, data, 32);\\n  }\\n\\n  /**\\n   * @dev Writes an integer to the buffer. Resizes if doing so would exceed\\n   *      the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param off The offset to write at.\\n   * @param data The data to append.\\n   * @param len The number of bytes to write (right-aligned).\\n   * @return The original buffer, for chaining.\\n   */\\n  function writeInt(\\n    buffer memory buf,\\n    uint256 off,\\n    uint256 data,\\n    uint256 len\\n  ) private pure returns (buffer memory) {\\n    if (len + off > buf.capacity) {\\n      resize(buf, (len + off) * 2);\\n    }\\n\\n    uint256 mask = (256**len) - 1;\\n    assembly {\\n      // Memory address of the buffer data\\n      let bufptr := mload(buf)\\n      // Address = buffer address + off + sizeof(buffer length) + len\\n      let dest := add(add(bufptr, off), len)\\n      mstore(dest, or(and(mload(dest), not(mask)), data))\\n      // Update buffer length if we extended it\\n      if gt(add(off, len), mload(bufptr)) {\\n        mstore(bufptr, add(off, len))\\n      }\\n    }\\n    return buf;\\n  }\\n\\n  /**\\n   * @dev Appends a byte to the end of the buffer. Resizes if doing so would\\n   * exceed the capacity of the buffer.\\n   * @param buf The buffer to append to.\\n   * @param data The data to append.\\n   * @return The original buffer.\\n   */\\n  function appendInt(\\n    buffer memory buf,\\n    uint256 data,\\n    uint256 len\\n  ) internal pure returns (buffer memory) {\\n    return writeInt(buf, buf.buf.length, data, len);\\n  }\\n}\\n\",\"keccak256\":\"0x89388a631c16ad993e4d76d8d19e08ae98e1397f5dfdfb5f9c0b91015df4cf5d\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/vendor/CBORChainlink.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity >=0.4.19;\\n\\nimport {BufferChainlink} from \\\"./BufferChainlink.sol\\\";\\n\\nlibrary CBORChainlink {\\n  using BufferChainlink for BufferChainlink.buffer;\\n\\n  uint8 private constant MAJOR_TYPE_INT = 0;\\n  uint8 private constant MAJOR_TYPE_NEGATIVE_INT = 1;\\n  uint8 private constant MAJOR_TYPE_BYTES = 2;\\n  uint8 private constant MAJOR_TYPE_STRING = 3;\\n  uint8 private constant MAJOR_TYPE_ARRAY = 4;\\n  uint8 private constant MAJOR_TYPE_MAP = 5;\\n  uint8 private constant MAJOR_TYPE_TAG = 6;\\n  uint8 private constant MAJOR_TYPE_CONTENT_FREE = 7;\\n\\n  uint8 private constant TAG_TYPE_BIGNUM = 2;\\n  uint8 private constant TAG_TYPE_NEGATIVE_BIGNUM = 3;\\n\\n  function encodeFixedNumeric(BufferChainlink.buffer memory buf, uint8 major, uint64 value) private pure {\\n    if(value <= 23) {\\n      buf.appendUint8(uint8((major << 5) | value));\\n    } else if (value <= 0xFF) {\\n      buf.appendUint8(uint8((major << 5) | 24));\\n      buf.appendInt(value, 1);\\n    } else if (value <= 0xFFFF) {\\n      buf.appendUint8(uint8((major << 5) | 25));\\n      buf.appendInt(value, 2);\\n    } else if (value <= 0xFFFFFFFF) {\\n      buf.appendUint8(uint8((major << 5) | 26));\\n      buf.appendInt(value, 4);\\n    } else {\\n      buf.appendUint8(uint8((major << 5) | 27));\\n      buf.appendInt(value, 8);\\n    }\\n  }\\n\\n  function encodeIndefiniteLengthType(BufferChainlink.buffer memory buf, uint8 major) private pure {\\n    buf.appendUint8(uint8((major << 5) | 31));\\n  }\\n\\n  function encodeUInt(BufferChainlink.buffer memory buf, uint value) internal pure {\\n    if(value > 0xFFFFFFFFFFFFFFFF) {\\n      encodeBigNum(buf, value);\\n    } else {\\n      encodeFixedNumeric(buf, MAJOR_TYPE_INT, uint64(value));\\n    }\\n  }\\n\\n  function encodeInt(BufferChainlink.buffer memory buf, int value) internal pure {\\n    if(value < -0x10000000000000000) {\\n      encodeSignedBigNum(buf, value);\\n    } else if(value > 0xFFFFFFFFFFFFFFFF) {\\n      encodeBigNum(buf, uint(value));\\n    } else if(value >= 0) {\\n      encodeFixedNumeric(buf, MAJOR_TYPE_INT, uint64(uint256(value)));\\n    } else {\\n      encodeFixedNumeric(buf, MAJOR_TYPE_NEGATIVE_INT, uint64(uint256(-1 - value)));\\n    }\\n  }\\n\\n  function encodeBytes(BufferChainlink.buffer memory buf, bytes memory value) internal pure {\\n    encodeFixedNumeric(buf, MAJOR_TYPE_BYTES, uint64(value.length));\\n    buf.append(value);\\n  }\\n\\n  function encodeBigNum(BufferChainlink.buffer memory buf, uint value) internal pure {\\n    buf.appendUint8(uint8((MAJOR_TYPE_TAG << 5) | TAG_TYPE_BIGNUM));\\n    encodeBytes(buf, abi.encode(value));\\n  }\\n\\n  function encodeSignedBigNum(BufferChainlink.buffer memory buf, int input) internal pure {\\n    buf.appendUint8(uint8((MAJOR_TYPE_TAG << 5) | TAG_TYPE_NEGATIVE_BIGNUM));\\n    encodeBytes(buf, abi.encode(uint256(-1 - input)));\\n  }\\n\\n  function encodeString(BufferChainlink.buffer memory buf, string memory value) internal pure {\\n    encodeFixedNumeric(buf, MAJOR_TYPE_STRING, uint64(bytes(value).length));\\n    buf.append(bytes(value));\\n  }\\n\\n  function startArray(BufferChainlink.buffer memory buf) internal pure {\\n    encodeIndefiniteLengthType(buf, MAJOR_TYPE_ARRAY);\\n  }\\n\\n  function startMap(BufferChainlink.buffer memory buf) internal pure {\\n    encodeIndefiniteLengthType(buf, MAJOR_TYPE_MAP);\\n  }\\n\\n  function endSequence(BufferChainlink.buffer memory buf) internal pure {\\n    encodeIndefiniteLengthType(buf, MAJOR_TYPE_CONTENT_FREE);\\n  }\\n}\\n\",\"keccak256\":\"0x08bda450d4dc1d17147fd29810234d35e2c437f1a99be733cfa7ee516db08a48\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/vendor/ENSResolver.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nabstract contract ENSResolver {\\n  function addr(bytes32 node) public view virtual returns (address);\\n}\\n\",\"keccak256\":\"0x606bda5f3fa27be4cf04f6636dda443b7787b56e87ade988fca2e51d2147613d\",\"license\":\"MIT\"},\"contracts/APIConsumer.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.7;\\n\\nimport \\\"@chainlink/contracts/src/v0.8/ChainlinkClient.sol\\\";\\n\\n/**\\n * @title The APIConsumer contract\\n * @notice An API Consumer contract that makes GET requests to obtain 24h trading volume of ETH in USD\\n */\\ncontract APIConsumer is ChainlinkClient {\\n    using Chainlink for Chainlink.Request;\\n\\n    uint256 public volume;\\n    address private immutable oracle;\\n    bytes32 private immutable jobId;\\n    uint256 private immutable fee;\\n\\n    event DataFullfilled(uint256 volume);\\n\\n    /**\\n     * @notice Executes once when a contract is created to initialize state variables\\n     *\\n     * @param _oracle - address of the specific Chainlink node that a contract makes an API call from\\n     * @param _jobId - specific job for :_oracle: to run; each job is unique and returns different types of data\\n     * @param _fee - node operator price per API call / data request\\n     * @param _link - LINK token address on the corresponding network\\n     *\\n     * Network: Baobab\\n     * Oracle: 0xfC3BdAbD8a6A73B40010350E2a61716a21c87610\\n     * Job ID: ca98366cc7314957b8c012c72f05aeeb\\n     * Fee: 0.1 LINK\\n     * Link: 0x04c5046A1f4E3fFf094c26dFCAA75eF293932f18\\n     */\\n    constructor(\\n        address _oracle,\\n        bytes32 _jobId,\\n        uint256 _fee,\\n        address _link\\n    ) {\\n        if (_link == address(0)) {\\n            setPublicChainlinkToken();\\n        } else {\\n            setChainlinkToken(_link);\\n        }\\n        oracle = _oracle;\\n        jobId = _jobId;\\n        fee = _fee;\\n    }\\n\\n    /**\\n     * @notice Creates a Chainlink request to retrieve API response, find the target\\n     * data, then multiply by 10*_coinDecimals (to remove decimal places from data).\\n     *\\n     * @return requestId - id of the request\\n     */\\n    function requestVolumeData(string memory _coinSymbol, uint8 _coinDecimals) public returns (bytes32 requestId) {\\n        Chainlink.Request memory request = buildChainlinkRequest(\\n            jobId,\\n            address(this),\\n            this.fulfill.selector\\n        );\\n\\n        // Set the URL to perform the GET request on\\n        request.add(\\n            \\\"get\\\",\\n            string(abi.encodePacked(\\\"https://min-api.cryptocompare.com/data/pricemultifull?fsyms=\\\", _coinSymbol, \\\"&tsyms=USD\\\"))\\n        );\\n\\n        // Set the path to find the desired data in the API response, where the response format is:\\n        // {\\\"RAW\\\":\\n        //   {\\\"KLAY\\\":\\n        //    {\\\"USD\\\":\\n        //     {\\n        //      \\\"VOLUME24HOUR\\\": xxx.xxx,\\n        //     }\\n        //    }\\n        //   }\\n        //  }\\n        // request.add(\\\"path\\\", \\\"RAW.KLAY.USD.VOLUME24HOUR\\\"); // Chainlink nodes prior to 1.0.0 support this format\\n        request.add(\\\"path\\\", \\\"RAW,KLAY,USD,VOLUME24HOUR\\\"); // Chainlink nodes 1.0.0 and later support this format\\n\\n        // Multiply the result by 10**_coinDecimals to remove decimals\\n        int256 timesAmount = int256(10**_coinDecimals);\\n        request.addInt(\\\"times\\\", timesAmount);\\n\\n        // Sends the request\\n        return sendChainlinkRequestTo(oracle, request, fee);\\n    }\\n\\n    /**\\n     * @notice Receives the response in the form of uint256\\n     *\\n     * @param _requestId - id of the request\\n     * @param _volume - response; requested 24h trading volume of ETH in USD\\n     */\\n    function fulfill(bytes32 _requestId, uint256 _volume)\\n        public\\n        recordChainlinkFulfillment(_requestId)\\n    {\\n        volume = _volume;\\n        emit DataFullfilled(volume);\\n    }\\n\\n    /**\\n     * @notice Witdraws LINK from the contract\\n     * @dev Implement a withdraw function to avoid locking your LINK in the contract\\n     */\\n    function withdrawLink() external {}\\n}\\n\",\"keccak256\":\"0x2e08e4f62231f77ec187d8a006d8b1a11c7774c2096f459fd09522e8ac7d3d14\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[{"astId":319,"contract":"contracts/APIConsumer.sol:APIConsumer","label":"s_ens","offset":0,"slot":"0","type":"t_contract(ENSInterface)1078"},{"astId":321,"contract":"contracts/APIConsumer.sol:APIConsumer","label":"s_ensNode","offset":0,"slot":"1","type":"t_bytes32"},{"astId":324,"contract":"contracts/APIConsumer.sol:APIConsumer","label":"s_link","offset":0,"slot":"2","type":"t_contract(LinkTokenInterface)1192"},{"astId":327,"contract":"contracts/APIConsumer.sol:APIConsumer","label":"s_oracle","offset":0,"slot":"3","type":"t_contract(OperatorInterface)1272"},{"astId":330,"contract":"contracts/APIConsumer.sol:APIConsumer","label":"s_requestCount","offset":0,"slot":"4","type":"t_uint256"},{"astId":334,"contract":"contracts/APIConsumer.sol:APIConsumer","label":"s_pendingRequests","offset":0,"slot":"5","type":"t_mapping(t_bytes32,t_address)"},{"astId":3285,"contract":"contracts/APIConsumer.sol:APIConsumer","label":"volume","offset":0,"slot":"6","type":"t_uint256"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(ENSInterface)1078":{"encoding":"inplace","label":"contract ENSInterface","numberOfBytes":"20"},"t_contract(LinkTokenInterface)1192":{"encoding":"inplace","label":"contract LinkTokenInterface","numberOfBytes":"20"},"t_contract(OperatorInterface)1272":{"encoding":"inplace","label":"contract OperatorInterface","numberOfBytes":"20"},"t_mapping(t_bytes32,t_address)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => address)","numberOfBytes":"32","value":"t_address"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"userdoc":{"kind":"user","methods":{"constructor":{"notice":"Executes once when a contract is created to initialize state variables"},"fulfill(bytes32,uint256)":{"notice":"Receives the response in the form of uint256"},"requestVolumeData(string,uint8)":{"notice":"Creates a Chainlink request to retrieve API response, find the target data, then multiply by 10*_coinDecimals (to remove decimal places from data)."},"withdrawLink()":{"notice":"Witdraws LINK from the contract"}},"notice":"An API Consumer contract that makes GET requests to obtain 24h trading volume of ETH in USD","version":1}}},"contracts/KeepersCounter.sol":{"KeepersCounter":{"abi":[{"inputs":[{"internalType":"uint256","name":"updateInterval","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"name":"checkUpkeep","outputs":[{"internalType":"bool","name":"upkeepNeeded","type":"bool"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"counter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"interval","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastTimeStamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"name":"performUpkeep","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{"constructor":{"params":{"updateInterval":"- Period of time between two counter increments expressed as UNIX timestamp value"}}},"title":"The Counter contract","version":1},"evm":{"bytecode":{"functionDebugData":{"@_3467":{"entryPoint":null,"id":3467,"parameterSlots":1,"returnSlots":0},"abi_decode_t_uint256_fromMemory":{"entryPoint":78,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":99,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":144,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":154,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":159,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1048:67","statements":[{"body":{"nodeType":"YulBlock","src":"70:80:67","statements":[{"nodeType":"YulAssignment","src":"80:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"95:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"89:5:67"},"nodeType":"YulFunctionCall","src":"89:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"80:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"138:5:67"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"111:26:67"},"nodeType":"YulFunctionCall","src":"111:33:67"},"nodeType":"YulExpressionStatement","src":"111:33:67"}]},"name":"abi_decode_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"48:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"56:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"64:5:67","type":""}],"src":"7:143:67"},{"body":{"nodeType":"YulBlock","src":"233:274:67","statements":[{"body":{"nodeType":"YulBlock","src":"279:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"281:77:67"},"nodeType":"YulFunctionCall","src":"281:79:67"},"nodeType":"YulExpressionStatement","src":"281:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"254:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"263:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"250:3:67"},"nodeType":"YulFunctionCall","src":"250:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"275:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"246:3:67"},"nodeType":"YulFunctionCall","src":"246:32:67"},"nodeType":"YulIf","src":"243:119:67"},{"nodeType":"YulBlock","src":"372:128:67","statements":[{"nodeType":"YulVariableDeclaration","src":"387:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"401:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"391:6:67","type":""}]},{"nodeType":"YulAssignment","src":"416:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"462:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"473:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"458:3:67"},"nodeType":"YulFunctionCall","src":"458:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"482:7:67"}],"functionName":{"name":"abi_decode_t_uint256_fromMemory","nodeType":"YulIdentifier","src":"426:31:67"},"nodeType":"YulFunctionCall","src":"426:64:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"416:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"203:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"214:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"226:6:67","type":""}],"src":"156:351:67"},{"body":{"nodeType":"YulBlock","src":"553:35:67","statements":[{"nodeType":"YulAssignment","src":"563:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"579:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"573:5:67"},"nodeType":"YulFunctionCall","src":"573:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"563:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"546:6:67","type":""}],"src":"513:75:67"},{"body":{"nodeType":"YulBlock","src":"639:32:67","statements":[{"nodeType":"YulAssignment","src":"649:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"660:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"649:7:67"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"621:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"631:7:67","type":""}],"src":"594:77:67"},{"body":{"nodeType":"YulBlock","src":"766:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"783:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"786:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"776:6:67"},"nodeType":"YulFunctionCall","src":"776:12:67"},"nodeType":"YulExpressionStatement","src":"776:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"677:117:67"},{"body":{"nodeType":"YulBlock","src":"889:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"906:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"909:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"899:6:67"},"nodeType":"YulFunctionCall","src":"899:12:67"},"nodeType":"YulExpressionStatement","src":"899:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"800:117:67"},{"body":{"nodeType":"YulBlock","src":"966:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"1023:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1032:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1035:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1025:6:67"},"nodeType":"YulFunctionCall","src":"1025:12:67"},"nodeType":"YulExpressionStatement","src":"1025:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"989:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1014:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"996:17:67"},"nodeType":"YulFunctionCall","src":"996:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"986:2:67"},"nodeType":"YulFunctionCall","src":"986:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"979:6:67"},"nodeType":"YulFunctionCall","src":"979:43:67"},"nodeType":"YulIf","src":"976:63:67"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"959:5:67","type":""}],"src":"923:122:67"}]},"contents":"{\n\n    function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_uint256(value)\n    }\n\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function cleanup_t_uint256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function validator_revert_t_uint256(value) {\n        if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60a060405234801561001057600080fd5b5060405161078738038061078783398181016040528101906100329190610063565b80608081815250504260018190555060008081905550506100b6565b60008151905061005d8161009f565b92915050565b6000602082840312156100795761007861009a565b5b60006100878482850161004e565b91505092915050565b6000819050919050565b600080fd5b6100a881610090565b81146100b357600080fd5b50565b6080516106af6100d86000396000818161019301526101ca01526106af6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80633f3b3b271461005c5780634585e33b1461007a57806361bc221a146100965780636e04ff0d146100b4578063947a36fb146100e5575b600080fd5b610064610103565b6040516100719190610412565b60405180910390f35b610094600480360381019061008f91906102b2565b610109565b005b61009e610187565b6040516100ab9190610412565b60405180910390f35b6100ce60048036038101906100c991906102ff565b61018d565b6040516100dc9291906103c2565b60405180910390f35b6100ed6101c8565b6040516100fa9190610412565b60405180910390f35b60015481565b60006101236040518060200160405280600081525061018d565b50905080610166576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161015d906103f2565b60405180910390fd5b42600181905550600160005461017c91906104b0565b600081905550505050565b60005481565b600060607f0000000000000000000000000000000000000000000000000000000000000000600154426101c09190610506565b119150915091565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006101ff6101fa84610452565b61042d565b90508281526020810184848401111561021b5761021a610630565b5b610226848285610550565b509392505050565b60008083601f84011261024457610243610626565b5b8235905067ffffffffffffffff81111561026157610260610621565b5b60208301915083600182028301111561027d5761027c61062b565b5b9250929050565b600082601f83011261029957610298610626565b5b81356102a98482602086016101ec565b91505092915050565b600080602083850312156102c9576102c861063a565b5b600083013567ffffffffffffffff8111156102e7576102e6610635565b5b6102f38582860161022e565b92509250509250929050565b6000602082840312156103155761031461063a565b5b600082013567ffffffffffffffff81111561033357610332610635565b5b61033f84828501610284565b91505092915050565b6103518161053a565b82525050565b600061036282610483565b61036c818561048e565b935061037c81856020860161055f565b6103858161063f565b840191505092915050565b600061039d60158361049f565b91506103a882610650565b602082019050919050565b6103bc81610546565b82525050565b60006040820190506103d76000830185610348565b81810360208301526103e98184610357565b90509392505050565b6000602082019050818103600083015261040b81610390565b9050919050565b600060208201905061042760008301846103b3565b92915050565b6000610437610448565b90506104438282610592565b919050565b6000604051905090565b600067ffffffffffffffff82111561046d5761046c6105f2565b5b6104768261063f565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006104bb82610546565b91506104c683610546565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156104fb576104fa6105c3565b5b828201905092915050565b600061051182610546565b915061051c83610546565b92508282101561052f5761052e6105c3565b5b828203905092915050565b60008115159050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561057d578082015181840152602081019050610562565b8381111561058c576000848401525b50505050565b61059b8261063f565b810181811067ffffffffffffffff821117156105ba576105b96105f2565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f54696d6520696e74657276616c206e6f74206d6574000000000000000000000060008201525056fea2646970667358221220d8b1f36960d5034a4f93ba7e20ecbfa4f4a0e1617b2ff04ea1ba5c0c9ebc9fed64736f6c63430008070033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x787 CODESIZE SUB DUP1 PUSH2 0x787 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0x63 JUMP JUMPDEST DUP1 PUSH1 0x80 DUP2 DUP2 MSTORE POP POP TIMESTAMP PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 DUP2 SWAP1 SSTORE POP POP PUSH2 0xB6 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x5D DUP2 PUSH2 0x9F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x79 JUMPI PUSH2 0x78 PUSH2 0x9A JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x87 DUP5 DUP3 DUP6 ADD PUSH2 0x4E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA8 DUP2 PUSH2 0x90 JUMP JUMPDEST DUP2 EQ PUSH2 0xB3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x6AF PUSH2 0xD8 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x193 ADD MSTORE PUSH2 0x1CA ADD MSTORE PUSH2 0x6AF PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3F3B3B27 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x4585E33B EQ PUSH2 0x7A JUMPI DUP1 PUSH4 0x61BC221A EQ PUSH2 0x96 JUMPI DUP1 PUSH4 0x6E04FF0D EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0x947A36FB EQ PUSH2 0xE5 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0x103 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x412 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x94 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x8F SWAP2 SWAP1 PUSH2 0x2B2 JUMP JUMPDEST PUSH2 0x109 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9E PUSH2 0x187 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAB SWAP2 SWAP1 PUSH2 0x412 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC9 SWAP2 SWAP1 PUSH2 0x2FF JUMP JUMPDEST PUSH2 0x18D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDC SWAP3 SWAP2 SWAP1 PUSH2 0x3C2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xED PUSH2 0x1C8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFA SWAP2 SWAP1 PUSH2 0x412 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x123 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x18D JUMP JUMPDEST POP SWAP1 POP DUP1 PUSH2 0x166 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15D SWAP1 PUSH2 0x3F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST TIMESTAMP PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 SLOAD PUSH2 0x17C SWAP2 SWAP1 PUSH2 0x4B0 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH32 0x0 PUSH1 0x1 SLOAD TIMESTAMP PUSH2 0x1C0 SWAP2 SWAP1 PUSH2 0x506 JUMP JUMPDEST GT SWAP2 POP SWAP2 POP SWAP2 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FF PUSH2 0x1FA DUP5 PUSH2 0x452 JUMP JUMPDEST PUSH2 0x42D JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x21B JUMPI PUSH2 0x21A PUSH2 0x630 JUMP JUMPDEST JUMPDEST PUSH2 0x226 DUP5 DUP3 DUP6 PUSH2 0x550 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x244 JUMPI PUSH2 0x243 PUSH2 0x626 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x261 JUMPI PUSH2 0x260 PUSH2 0x621 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x27D JUMPI PUSH2 0x27C PUSH2 0x62B JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x299 JUMPI PUSH2 0x298 PUSH2 0x626 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2A9 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1EC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2C9 JUMPI PUSH2 0x2C8 PUSH2 0x63A JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2E7 JUMPI PUSH2 0x2E6 PUSH2 0x635 JUMP JUMPDEST JUMPDEST PUSH2 0x2F3 DUP6 DUP3 DUP7 ADD PUSH2 0x22E JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x315 JUMPI PUSH2 0x314 PUSH2 0x63A JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x333 JUMPI PUSH2 0x332 PUSH2 0x635 JUMP JUMPDEST JUMPDEST PUSH2 0x33F DUP5 DUP3 DUP6 ADD PUSH2 0x284 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x351 DUP2 PUSH2 0x53A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x362 DUP3 PUSH2 0x483 JUMP JUMPDEST PUSH2 0x36C DUP2 DUP6 PUSH2 0x48E JUMP JUMPDEST SWAP4 POP PUSH2 0x37C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x55F JUMP JUMPDEST PUSH2 0x385 DUP2 PUSH2 0x63F JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x39D PUSH1 0x15 DUP4 PUSH2 0x49F JUMP JUMPDEST SWAP2 POP PUSH2 0x3A8 DUP3 PUSH2 0x650 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3BC DUP2 PUSH2 0x546 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x3D7 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x348 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x3E9 DUP2 DUP5 PUSH2 0x357 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x40B DUP2 PUSH2 0x390 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x427 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3B3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x437 PUSH2 0x448 JUMP JUMPDEST SWAP1 POP PUSH2 0x443 DUP3 DUP3 PUSH2 0x592 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x46D JUMPI PUSH2 0x46C PUSH2 0x5F2 JUMP JUMPDEST JUMPDEST PUSH2 0x476 DUP3 PUSH2 0x63F JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4BB DUP3 PUSH2 0x546 JUMP JUMPDEST SWAP2 POP PUSH2 0x4C6 DUP4 PUSH2 0x546 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x4FB JUMPI PUSH2 0x4FA PUSH2 0x5C3 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x511 DUP3 PUSH2 0x546 JUMP JUMPDEST SWAP2 POP PUSH2 0x51C DUP4 PUSH2 0x546 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x52F JUMPI PUSH2 0x52E PUSH2 0x5C3 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x57D JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x562 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x58C JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x59B DUP3 PUSH2 0x63F JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x5BA JUMPI PUSH2 0x5B9 PUSH2 0x5F2 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x54696D6520696E74657276616C206E6F74206D65740000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD8 0xB1 RETURN PUSH10 0x60D5034A4F93BA7E20EC 0xBF LOG4 DELEGATECALL LOG0 0xE1 PUSH2 0x7B2F CREATE 0x4E LOG1 0xBA 0x5C 0xC SWAP15 0xBC SWAP16 0xED PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ","sourceMap":"276:1561:18:-:0;;;769:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;822:14;811:25;;;;;;858:15;842:13;:31;;;;890:1;880:7;:11;;;;769:127;276:1561;;7:143:67;64:5;95:6;89:13;80:22;;111:33;138:5;111:33;:::i;:::-;7:143;;;;:::o;156:351::-;226:6;275:2;263:9;254:7;250:23;246:32;243:119;;;281:79;;:::i;:::-;243:119;401:1;426:64;482:7;473:6;462:9;458:22;426:64;:::i;:::-;416:74;;372:128;156:351;;;;:::o;594:77::-;631:7;660:5;649:16;;594:77;;;:::o;800:117::-;909:1;906;899:12;923:122;996:24;1014:5;996:24;:::i;:::-;989:5;986:35;976:63;;1035:1;1032;1025:12;976:63;923:122;:::o;276:1561:18:-;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@checkUpkeep_3489":{"entryPoint":397,"id":3489,"parameterSlots":1,"returnSlots":2},"@counter_3442":{"entryPoint":391,"id":3442,"parameterSlots":0,"returnSlots":0},"@interval_3445":{"entryPoint":456,"id":3445,"parameterSlots":0,"returnSlots":0},"@lastTimeStamp_3447":{"entryPoint":259,"id":3447,"parameterSlots":0,"returnSlots":0},"@performUpkeep_3519":{"entryPoint":265,"id":3519,"parameterSlots":2,"returnSlots":0},"abi_decode_available_length_t_bytes_memory_ptr":{"entryPoint":492,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_bytes_calldata_ptr":{"entryPoint":558,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_bytes_memory_ptr":{"entryPoint":644,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes_calldata_ptr":{"entryPoint":690,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes_memory_ptr":{"entryPoint":767,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bool_to_t_bool_fromStack":{"entryPoint":840,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack":{"entryPoint":855,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_stringliteral_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4_to_t_string_memory_ptr_fromStack":{"entryPoint":912,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":947,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_bool_t_bytes_memory_ptr__to_t_bool_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":962,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":1010,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":1042,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":1069,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":1096,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_bytes_memory_ptr":{"entryPoint":1106,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_bytes_memory_ptr":{"entryPoint":1155,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack":{"entryPoint":1166,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_fromStack":{"entryPoint":1183,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":1200,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":1286,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_bool":{"entryPoint":1338,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":1350,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory":{"entryPoint":1360,"id":null,"parameterSlots":3,"returnSlots":0},"copy_memory_to_memory":{"entryPoint":1375,"id":null,"parameterSlots":3,"returnSlots":0},"finalize_allocation":{"entryPoint":1426,"id":null,"parameterSlots":2,"returnSlots":0},"panic_error_0x11":{"entryPoint":1475,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":1522,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490":{"entryPoint":1569,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":1574,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":1579,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae":{"entryPoint":1584,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":1589,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":1594,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":1599,"id":null,"parameterSlots":1,"returnSlots":1},"store_literal_in_memory_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4":{"entryPoint":1616,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:8261:67","statements":[{"body":{"nodeType":"YulBlock","src":"90:327:67","statements":[{"nodeType":"YulAssignment","src":"100:74:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"166:6:67"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"125:40:67"},"nodeType":"YulFunctionCall","src":"125:48:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"109:15:67"},"nodeType":"YulFunctionCall","src":"109:65:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"100:5:67"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"190:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"197:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"183:6:67"},"nodeType":"YulFunctionCall","src":"183:21:67"},"nodeType":"YulExpressionStatement","src":"183:21:67"},{"nodeType":"YulVariableDeclaration","src":"213:27:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"228:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"235:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"224:3:67"},"nodeType":"YulFunctionCall","src":"224:16:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"217:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"278:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulIdentifier","src":"280:77:67"},"nodeType":"YulFunctionCall","src":"280:79:67"},"nodeType":"YulExpressionStatement","src":"280:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"259:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"264:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"255:3:67"},"nodeType":"YulFunctionCall","src":"255:16:67"},{"name":"end","nodeType":"YulIdentifier","src":"273:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"252:2:67"},"nodeType":"YulFunctionCall","src":"252:25:67"},"nodeType":"YulIf","src":"249:112:67"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"394:3:67"},{"name":"dst","nodeType":"YulIdentifier","src":"399:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"404:6:67"}],"functionName":{"name":"copy_calldata_to_memory","nodeType":"YulIdentifier","src":"370:23:67"},"nodeType":"YulFunctionCall","src":"370:41:67"},"nodeType":"YulExpressionStatement","src":"370:41:67"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"63:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"68:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"76:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"84:5:67","type":""}],"src":"7:410:67"},{"body":{"nodeType":"YulBlock","src":"510:478:67","statements":[{"body":{"nodeType":"YulBlock","src":"559:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"561:77:67"},"nodeType":"YulFunctionCall","src":"561:79:67"},"nodeType":"YulExpressionStatement","src":"561:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"538:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"546:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"534:3:67"},"nodeType":"YulFunctionCall","src":"534:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"553:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"530:3:67"},"nodeType":"YulFunctionCall","src":"530:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"523:6:67"},"nodeType":"YulFunctionCall","src":"523:35:67"},"nodeType":"YulIf","src":"520:122:67"},{"nodeType":"YulAssignment","src":"651:30:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"674:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"661:12:67"},"nodeType":"YulFunctionCall","src":"661:20:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"651:6:67"}]},{"body":{"nodeType":"YulBlock","src":"724:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"726:77:67"},"nodeType":"YulFunctionCall","src":"726:79:67"},"nodeType":"YulExpressionStatement","src":"726:79:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"696:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"704:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"693:2:67"},"nodeType":"YulFunctionCall","src":"693:30:67"},"nodeType":"YulIf","src":"690:117:67"},{"nodeType":"YulAssignment","src":"816:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"832:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"840:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"828:3:67"},"nodeType":"YulFunctionCall","src":"828:17:67"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"816:8:67"}]},{"body":{"nodeType":"YulBlock","src":"899:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"901:77:67"},"nodeType":"YulFunctionCall","src":"901:79:67"},"nodeType":"YulExpressionStatement","src":"901:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"864:8:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"878:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"886:4:67","type":"","value":"0x01"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"874:3:67"},"nodeType":"YulFunctionCall","src":"874:17:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"860:3:67"},"nodeType":"YulFunctionCall","src":"860:32:67"},{"name":"end","nodeType":"YulIdentifier","src":"894:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"857:2:67"},"nodeType":"YulFunctionCall","src":"857:41:67"},"nodeType":"YulIf","src":"854:128:67"}]},"name":"abi_decode_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"477:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"485:3:67","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"493:8:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"503:6:67","type":""}],"src":"436:552:67"},{"body":{"nodeType":"YulBlock","src":"1068:277:67","statements":[{"body":{"nodeType":"YulBlock","src":"1117:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"1119:77:67"},"nodeType":"YulFunctionCall","src":"1119:79:67"},"nodeType":"YulExpressionStatement","src":"1119:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1096:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1104:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1092:3:67"},"nodeType":"YulFunctionCall","src":"1092:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"1111:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1088:3:67"},"nodeType":"YulFunctionCall","src":"1088:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1081:6:67"},"nodeType":"YulFunctionCall","src":"1081:35:67"},"nodeType":"YulIf","src":"1078:122:67"},{"nodeType":"YulVariableDeclaration","src":"1209:34:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1236:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1223:12:67"},"nodeType":"YulFunctionCall","src":"1223:20:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1213:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1252:87:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1312:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1320:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1308:3:67"},"nodeType":"YulFunctionCall","src":"1308:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"1327:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"1335:3:67"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"1261:46:67"},"nodeType":"YulFunctionCall","src":"1261:78:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1252:5:67"}]}]},"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1046:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1054:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"1062:5:67","type":""}],"src":"1007:338:67"},{"body":{"nodeType":"YulBlock","src":"1436:442:67","statements":[{"body":{"nodeType":"YulBlock","src":"1482:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1484:77:67"},"nodeType":"YulFunctionCall","src":"1484:79:67"},"nodeType":"YulExpressionStatement","src":"1484:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1457:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"1466:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1453:3:67"},"nodeType":"YulFunctionCall","src":"1453:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"1478:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1449:3:67"},"nodeType":"YulFunctionCall","src":"1449:32:67"},"nodeType":"YulIf","src":"1446:119:67"},{"nodeType":"YulBlock","src":"1575:296:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1590:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1621:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"1632:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1617:3:67"},"nodeType":"YulFunctionCall","src":"1617:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1604:12:67"},"nodeType":"YulFunctionCall","src":"1604:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1594:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"1682:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"1684:77:67"},"nodeType":"YulFunctionCall","src":"1684:79:67"},"nodeType":"YulExpressionStatement","src":"1684:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1654:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1662:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1651:2:67"},"nodeType":"YulFunctionCall","src":"1651:30:67"},"nodeType":"YulIf","src":"1648:117:67"},{"nodeType":"YulAssignment","src":"1779:82:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1833:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1844:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1829:3:67"},"nodeType":"YulFunctionCall","src":"1829:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1853:7:67"}],"functionName":{"name":"abi_decode_t_bytes_calldata_ptr","nodeType":"YulIdentifier","src":"1797:31:67"},"nodeType":"YulFunctionCall","src":"1797:64:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1779:6:67"},{"name":"value1","nodeType":"YulIdentifier","src":"1787:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1398:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1409:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1421:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1429:6:67","type":""}],"src":"1351:527:67"},{"body":{"nodeType":"YulBlock","src":"1959:432:67","statements":[{"body":{"nodeType":"YulBlock","src":"2005:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"2007:77:67"},"nodeType":"YulFunctionCall","src":"2007:79:67"},"nodeType":"YulExpressionStatement","src":"2007:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1980:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"1989:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1976:3:67"},"nodeType":"YulFunctionCall","src":"1976:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"2001:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1972:3:67"},"nodeType":"YulFunctionCall","src":"1972:32:67"},"nodeType":"YulIf","src":"1969:119:67"},{"nodeType":"YulBlock","src":"2098:286:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2113:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2144:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2155:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2140:3:67"},"nodeType":"YulFunctionCall","src":"2140:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2127:12:67"},"nodeType":"YulFunctionCall","src":"2127:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2117:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"2205:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"2207:77:67"},"nodeType":"YulFunctionCall","src":"2207:79:67"},"nodeType":"YulExpressionStatement","src":"2207:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2177:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"2185:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2174:2:67"},"nodeType":"YulFunctionCall","src":"2174:30:67"},"nodeType":"YulIf","src":"2171:117:67"},{"nodeType":"YulAssignment","src":"2302:72:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2346:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2357:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2342:3:67"},"nodeType":"YulFunctionCall","src":"2342:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2366:7:67"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"2312:29:67"},"nodeType":"YulFunctionCall","src":"2312:62:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2302:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1929:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1940:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1952:6:67","type":""}],"src":"1884:507:67"},{"body":{"nodeType":"YulBlock","src":"2456:50:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2473:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2493:5:67"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"2478:14:67"},"nodeType":"YulFunctionCall","src":"2478:21:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2466:6:67"},"nodeType":"YulFunctionCall","src":"2466:34:67"},"nodeType":"YulExpressionStatement","src":"2466:34:67"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2444:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2451:3:67","type":""}],"src":"2397:109:67"},{"body":{"nodeType":"YulBlock","src":"2602:270:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2612:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2658:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"2626:31:67"},"nodeType":"YulFunctionCall","src":"2626:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2616:6:67","type":""}]},{"nodeType":"YulAssignment","src":"2673:77:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2738:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"2743:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"2680:57:67"},"nodeType":"YulFunctionCall","src":"2680:70:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2673:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2785:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"2792:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2781:3:67"},"nodeType":"YulFunctionCall","src":"2781:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"2799:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"2804:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"2759:21:67"},"nodeType":"YulFunctionCall","src":"2759:52:67"},"nodeType":"YulExpressionStatement","src":"2759:52:67"},{"nodeType":"YulAssignment","src":"2820:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2831:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2858:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"2836:21:67"},"nodeType":"YulFunctionCall","src":"2836:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2827:3:67"},"nodeType":"YulFunctionCall","src":"2827:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2820:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2583:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2590:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2598:3:67","type":""}],"src":"2512:360:67"},{"body":{"nodeType":"YulBlock","src":"3024:220:67","statements":[{"nodeType":"YulAssignment","src":"3034:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3100:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"3105:2:67","type":"","value":"21"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"3041:58:67"},"nodeType":"YulFunctionCall","src":"3041:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3034:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3206:3:67"}],"functionName":{"name":"store_literal_in_memory_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4","nodeType":"YulIdentifier","src":"3117:88:67"},"nodeType":"YulFunctionCall","src":"3117:93:67"},"nodeType":"YulExpressionStatement","src":"3117:93:67"},{"nodeType":"YulAssignment","src":"3219:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3230:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"3235:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3226:3:67"},"nodeType":"YulFunctionCall","src":"3226:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3219:3:67"}]}]},"name":"abi_encode_t_stringliteral_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"3012:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"3020:3:67","type":""}],"src":"2878:366:67"},{"body":{"nodeType":"YulBlock","src":"3315:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3332:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3355:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"3337:17:67"},"nodeType":"YulFunctionCall","src":"3337:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3325:6:67"},"nodeType":"YulFunctionCall","src":"3325:37:67"},"nodeType":"YulExpressionStatement","src":"3325:37:67"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3303:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3310:3:67","type":""}],"src":"3250:118:67"},{"body":{"nodeType":"YulBlock","src":"3512:269:67","statements":[{"nodeType":"YulAssignment","src":"3522:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3534:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"3545:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3530:3:67"},"nodeType":"YulFunctionCall","src":"3530:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3522:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3596:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3609:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"3620:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3605:3:67"},"nodeType":"YulFunctionCall","src":"3605:17:67"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulIdentifier","src":"3558:37:67"},"nodeType":"YulFunctionCall","src":"3558:65:67"},"nodeType":"YulExpressionStatement","src":"3558:65:67"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3644:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"3655:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3640:3:67"},"nodeType":"YulFunctionCall","src":"3640:18:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"3664:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"3670:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3660:3:67"},"nodeType":"YulFunctionCall","src":"3660:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3633:6:67"},"nodeType":"YulFunctionCall","src":"3633:48:67"},"nodeType":"YulExpressionStatement","src":"3633:48:67"},{"nodeType":"YulAssignment","src":"3690:84:67","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"3760:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"3769:4:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"3698:61:67"},"nodeType":"YulFunctionCall","src":"3698:76:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3690:4:67"}]}]},"name":"abi_encode_tuple_t_bool_t_bytes_memory_ptr__to_t_bool_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3476:9:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3488:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3496:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3507:4:67","type":""}],"src":"3374:407:67"},{"body":{"nodeType":"YulBlock","src":"3958:248:67","statements":[{"nodeType":"YulAssignment","src":"3968:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3980:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"3991:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3976:3:67"},"nodeType":"YulFunctionCall","src":"3976:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3968:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4015:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"4026:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4011:3:67"},"nodeType":"YulFunctionCall","src":"4011:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"4034:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"4040:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4030:3:67"},"nodeType":"YulFunctionCall","src":"4030:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4004:6:67"},"nodeType":"YulFunctionCall","src":"4004:47:67"},"nodeType":"YulExpressionStatement","src":"4004:47:67"},{"nodeType":"YulAssignment","src":"4060:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"4194:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"4068:124:67"},"nodeType":"YulFunctionCall","src":"4068:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4060:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3938:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3953:4:67","type":""}],"src":"3787:419:67"},{"body":{"nodeType":"YulBlock","src":"4310:124:67","statements":[{"nodeType":"YulAssignment","src":"4320:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4332:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"4343:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4328:3:67"},"nodeType":"YulFunctionCall","src":"4328:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4320:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4400:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4413:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"4424:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4409:3:67"},"nodeType":"YulFunctionCall","src":"4409:17:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"4356:43:67"},"nodeType":"YulFunctionCall","src":"4356:71:67"},"nodeType":"YulExpressionStatement","src":"4356:71:67"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4282:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4294:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4305:4:67","type":""}],"src":"4212:222:67"},{"body":{"nodeType":"YulBlock","src":"4481:88:67","statements":[{"nodeType":"YulAssignment","src":"4491:30:67","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"4501:18:67"},"nodeType":"YulFunctionCall","src":"4501:20:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4491:6:67"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4550:6:67"},{"name":"size","nodeType":"YulIdentifier","src":"4558:4:67"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"4530:19:67"},"nodeType":"YulFunctionCall","src":"4530:33:67"},"nodeType":"YulExpressionStatement","src":"4530:33:67"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"4465:4:67","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"4474:6:67","type":""}],"src":"4440:129:67"},{"body":{"nodeType":"YulBlock","src":"4615:35:67","statements":[{"nodeType":"YulAssignment","src":"4625:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4641:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4635:5:67"},"nodeType":"YulFunctionCall","src":"4635:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4625:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"4608:6:67","type":""}],"src":"4575:75:67"},{"body":{"nodeType":"YulBlock","src":"4722:241:67","statements":[{"body":{"nodeType":"YulBlock","src":"4827:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4829:16:67"},"nodeType":"YulFunctionCall","src":"4829:18:67"},"nodeType":"YulExpressionStatement","src":"4829:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4799:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"4807:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4796:2:67"},"nodeType":"YulFunctionCall","src":"4796:30:67"},"nodeType":"YulIf","src":"4793:56:67"},{"nodeType":"YulAssignment","src":"4859:37:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4889:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"4867:21:67"},"nodeType":"YulFunctionCall","src":"4867:29:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"4859:4:67"}]},{"nodeType":"YulAssignment","src":"4933:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"4945:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"4951:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4941:3:67"},"nodeType":"YulFunctionCall","src":"4941:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"4933:4:67"}]}]},"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"4706:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"4717:4:67","type":""}],"src":"4656:307:67"},{"body":{"nodeType":"YulBlock","src":"5027:40:67","statements":[{"nodeType":"YulAssignment","src":"5038:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5054:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5048:5:67"},"nodeType":"YulFunctionCall","src":"5048:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"5038:6:67"}]}]},"name":"array_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5010:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"5020:6:67","type":""}],"src":"4969:98:67"},{"body":{"nodeType":"YulBlock","src":"5168:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5185:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"5190:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5178:6:67"},"nodeType":"YulFunctionCall","src":"5178:19:67"},"nodeType":"YulExpressionStatement","src":"5178:19:67"},{"nodeType":"YulAssignment","src":"5206:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5225:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5230:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5221:3:67"},"nodeType":"YulFunctionCall","src":"5221:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"5206:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"5140:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"5145:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"5156:11:67","type":""}],"src":"5073:168:67"},{"body":{"nodeType":"YulBlock","src":"5343:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5360:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"5365:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5353:6:67"},"nodeType":"YulFunctionCall","src":"5353:19:67"},"nodeType":"YulExpressionStatement","src":"5353:19:67"},{"nodeType":"YulAssignment","src":"5381:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5400:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5405:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5396:3:67"},"nodeType":"YulFunctionCall","src":"5396:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"5381:11:67"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"5315:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"5320:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"5331:11:67","type":""}],"src":"5247:169:67"},{"body":{"nodeType":"YulBlock","src":"5466:261:67","statements":[{"nodeType":"YulAssignment","src":"5476:25:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5499:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"5481:17:67"},"nodeType":"YulFunctionCall","src":"5481:20:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"5476:1:67"}]},{"nodeType":"YulAssignment","src":"5510:25:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"5533:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"5515:17:67"},"nodeType":"YulFunctionCall","src":"5515:20:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"5510:1:67"}]},{"body":{"nodeType":"YulBlock","src":"5673:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"5675:16:67"},"nodeType":"YulFunctionCall","src":"5675:18:67"},"nodeType":"YulExpressionStatement","src":"5675:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5594:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5601:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"y","nodeType":"YulIdentifier","src":"5669:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5597:3:67"},"nodeType":"YulFunctionCall","src":"5597:74:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5591:2:67"},"nodeType":"YulFunctionCall","src":"5591:81:67"},"nodeType":"YulIf","src":"5588:107:67"},{"nodeType":"YulAssignment","src":"5705:16:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5716:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"5719:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5712:3:67"},"nodeType":"YulFunctionCall","src":"5712:9:67"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"5705:3:67"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"5453:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"5456:1:67","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"5462:3:67","type":""}],"src":"5422:305:67"},{"body":{"nodeType":"YulBlock","src":"5778:146:67","statements":[{"nodeType":"YulAssignment","src":"5788:25:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5811:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"5793:17:67"},"nodeType":"YulFunctionCall","src":"5793:20:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"5788:1:67"}]},{"nodeType":"YulAssignment","src":"5822:25:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"5845:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"5827:17:67"},"nodeType":"YulFunctionCall","src":"5827:20:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"5822:1:67"}]},{"body":{"nodeType":"YulBlock","src":"5869:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"5871:16:67"},"nodeType":"YulFunctionCall","src":"5871:18:67"},"nodeType":"YulExpressionStatement","src":"5871:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5863:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"5866:1:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5860:2:67"},"nodeType":"YulFunctionCall","src":"5860:8:67"},"nodeType":"YulIf","src":"5857:34:67"},{"nodeType":"YulAssignment","src":"5901:17:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5913:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"5916:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5909:3:67"},"nodeType":"YulFunctionCall","src":"5909:9:67"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"5901:4:67"}]}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"5764:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"5767:1:67","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"5773:4:67","type":""}],"src":"5733:191:67"},{"body":{"nodeType":"YulBlock","src":"5972:48:67","statements":[{"nodeType":"YulAssignment","src":"5982:32:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6007:5:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6000:6:67"},"nodeType":"YulFunctionCall","src":"6000:13:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5993:6:67"},"nodeType":"YulFunctionCall","src":"5993:21:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"5982:7:67"}]}]},"name":"cleanup_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5954:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"5964:7:67","type":""}],"src":"5930:90:67"},{"body":{"nodeType":"YulBlock","src":"6071:32:67","statements":[{"nodeType":"YulAssignment","src":"6081:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"6092:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"6081:7:67"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6053:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"6063:7:67","type":""}],"src":"6026:77:67"},{"body":{"nodeType":"YulBlock","src":"6160:103:67","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6183:3:67"},{"name":"src","nodeType":"YulIdentifier","src":"6188:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"6193:6:67"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"6170:12:67"},"nodeType":"YulFunctionCall","src":"6170:30:67"},"nodeType":"YulExpressionStatement","src":"6170:30:67"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6241:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"6246:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6237:3:67"},"nodeType":"YulFunctionCall","src":"6237:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"6255:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6230:6:67"},"nodeType":"YulFunctionCall","src":"6230:27:67"},"nodeType":"YulExpressionStatement","src":"6230:27:67"}]},"name":"copy_calldata_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"6142:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"6147:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"6152:6:67","type":""}],"src":"6109:154:67"},{"body":{"nodeType":"YulBlock","src":"6318:258:67","statements":[{"nodeType":"YulVariableDeclaration","src":"6328:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"6337:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"6332:1:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"6397:63:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6422:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"6427:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6418:3:67"},"nodeType":"YulFunctionCall","src":"6418:11:67"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"6441:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"6446:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6437:3:67"},"nodeType":"YulFunctionCall","src":"6437:11:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6431:5:67"},"nodeType":"YulFunctionCall","src":"6431:18:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6411:6:67"},"nodeType":"YulFunctionCall","src":"6411:39:67"},"nodeType":"YulExpressionStatement","src":"6411:39:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6358:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"6361:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6355:2:67"},"nodeType":"YulFunctionCall","src":"6355:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"6369:19:67","statements":[{"nodeType":"YulAssignment","src":"6371:15:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6380:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"6383:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6376:3:67"},"nodeType":"YulFunctionCall","src":"6376:10:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"6371:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"6351:3:67","statements":[]},"src":"6347:113:67"},{"body":{"nodeType":"YulBlock","src":"6494:76:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6544:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"6549:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6540:3:67"},"nodeType":"YulFunctionCall","src":"6540:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"6558:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6533:6:67"},"nodeType":"YulFunctionCall","src":"6533:27:67"},"nodeType":"YulExpressionStatement","src":"6533:27:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6475:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"6478:6:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6472:2:67"},"nodeType":"YulFunctionCall","src":"6472:13:67"},"nodeType":"YulIf","src":"6469:101:67"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"6300:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"6305:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"6310:6:67","type":""}],"src":"6269:307:67"},{"body":{"nodeType":"YulBlock","src":"6625:238:67","statements":[{"nodeType":"YulVariableDeclaration","src":"6635:58:67","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"6657:6:67"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"6687:4:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"6665:21:67"},"nodeType":"YulFunctionCall","src":"6665:27:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6653:3:67"},"nodeType":"YulFunctionCall","src":"6653:40:67"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"6639:10:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"6804:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"6806:16:67"},"nodeType":"YulFunctionCall","src":"6806:18:67"},"nodeType":"YulExpressionStatement","src":"6806:18:67"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6747:10:67"},{"kind":"number","nodeType":"YulLiteral","src":"6759:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6744:2:67"},"nodeType":"YulFunctionCall","src":"6744:34:67"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6783:10:67"},{"name":"memPtr","nodeType":"YulIdentifier","src":"6795:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6780:2:67"},"nodeType":"YulFunctionCall","src":"6780:22:67"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"6741:2:67"},"nodeType":"YulFunctionCall","src":"6741:62:67"},"nodeType":"YulIf","src":"6738:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6842:2:67","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6846:10:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6835:6:67"},"nodeType":"YulFunctionCall","src":"6835:22:67"},"nodeType":"YulExpressionStatement","src":"6835:22:67"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"6611:6:67","type":""},{"name":"size","nodeType":"YulTypedName","src":"6619:4:67","type":""}],"src":"6582:281:67"},{"body":{"nodeType":"YulBlock","src":"6897:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6914:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6917:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6907:6:67"},"nodeType":"YulFunctionCall","src":"6907:88:67"},"nodeType":"YulExpressionStatement","src":"6907:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7011:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"7014:4:67","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7004:6:67"},"nodeType":"YulFunctionCall","src":"7004:15:67"},"nodeType":"YulExpressionStatement","src":"7004:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7035:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7038:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7028:6:67"},"nodeType":"YulFunctionCall","src":"7028:15:67"},"nodeType":"YulExpressionStatement","src":"7028:15:67"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"6869:180:67"},{"body":{"nodeType":"YulBlock","src":"7083:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7100:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7103:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7093:6:67"},"nodeType":"YulFunctionCall","src":"7093:88:67"},"nodeType":"YulExpressionStatement","src":"7093:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7197:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"7200:4:67","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7190:6:67"},"nodeType":"YulFunctionCall","src":"7190:15:67"},"nodeType":"YulExpressionStatement","src":"7190:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7221:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7224:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7214:6:67"},"nodeType":"YulFunctionCall","src":"7214:15:67"},"nodeType":"YulExpressionStatement","src":"7214:15:67"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"7055:180:67"},{"body":{"nodeType":"YulBlock","src":"7330:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7347:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7350:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7340:6:67"},"nodeType":"YulFunctionCall","src":"7340:12:67"},"nodeType":"YulExpressionStatement","src":"7340:12:67"}]},"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulFunctionDefinition","src":"7241:117:67"},{"body":{"nodeType":"YulBlock","src":"7453:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7470:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7473:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7463:6:67"},"nodeType":"YulFunctionCall","src":"7463:12:67"},"nodeType":"YulExpressionStatement","src":"7463:12:67"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"7364:117:67"},{"body":{"nodeType":"YulBlock","src":"7576:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7593:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7596:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7586:6:67"},"nodeType":"YulFunctionCall","src":"7586:12:67"},"nodeType":"YulExpressionStatement","src":"7586:12:67"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulFunctionDefinition","src":"7487:117:67"},{"body":{"nodeType":"YulBlock","src":"7699:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7716:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7719:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7709:6:67"},"nodeType":"YulFunctionCall","src":"7709:12:67"},"nodeType":"YulExpressionStatement","src":"7709:12:67"}]},"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulFunctionDefinition","src":"7610:117:67"},{"body":{"nodeType":"YulBlock","src":"7822:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7839:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7842:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7832:6:67"},"nodeType":"YulFunctionCall","src":"7832:12:67"},"nodeType":"YulExpressionStatement","src":"7832:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"7733:117:67"},{"body":{"nodeType":"YulBlock","src":"7945:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7962:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7965:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7955:6:67"},"nodeType":"YulFunctionCall","src":"7955:12:67"},"nodeType":"YulExpressionStatement","src":"7955:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"7856:117:67"},{"body":{"nodeType":"YulBlock","src":"8027:54:67","statements":[{"nodeType":"YulAssignment","src":"8037:38:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8055:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"8062:2:67","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8051:3:67"},"nodeType":"YulFunctionCall","src":"8051:14:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8071:2:67","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"8067:3:67"},"nodeType":"YulFunctionCall","src":"8067:7:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8047:3:67"},"nodeType":"YulFunctionCall","src":"8047:28:67"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"8037:6:67"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8010:5:67","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"8020:6:67","type":""}],"src":"7979:102:67"},{"body":{"nodeType":"YulBlock","src":"8193:65:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"8215:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"8223:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8211:3:67"},"nodeType":"YulFunctionCall","src":"8211:14:67"},{"hexValue":"54696d6520696e74657276616c206e6f74206d6574","kind":"string","nodeType":"YulLiteral","src":"8227:23:67","type":"","value":"Time interval not met"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8204:6:67"},"nodeType":"YulFunctionCall","src":"8204:47:67"},"nodeType":"YulExpressionStatement","src":"8204:47:67"}]},"name":"store_literal_in_memory_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"8185:6:67","type":""}],"src":"8087:171:67"}]},"contents":"{\n\n    function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n        mstore(array, length)\n        let dst := add(array, 0x20)\n        if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n        copy_calldata_to_memory(src, dst, length)\n    }\n\n    // bytes\n    function abi_decode_t_bytes_calldata_ptr(offset, end) -> arrayPos, length {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        length := calldataload(offset)\n        if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n        arrayPos := add(offset, 0x20)\n        if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n    }\n\n    // bytes\n    function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := calldataload(offset)\n        array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n    }\n\n    function abi_decode_tuple_t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0, value1 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n        mstore(pos, cleanup_t_bool(value))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_stringliteral_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 21)\n        store_literal_in_memory_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint256(value))\n    }\n\n    function abi_encode_tuple_t_bool_t_bytes_memory_ptr__to_t_bool_t_bytes_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n        tail := add(headStart, 64)\n\n        abi_encode_t_bool_to_t_bool_fromStack(value0,  add(headStart, 0))\n\n        mstore(add(headStart, 32), sub(tail, headStart))\n        tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value1,  tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function allocate_memory(size) -> memPtr {\n        memPtr := allocate_unbounded()\n        finalize_allocation(memPtr, size)\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := round_up_to_mul_of_32(length)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_length_t_bytes_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function checked_add_t_uint256(x, y) -> sum {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        // overflow, if x > (maxValue - y)\n        if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n        sum := add(x, y)\n    }\n\n    function checked_sub_t_uint256(x, y) -> diff {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        if lt(x, y) { panic_error_0x11() }\n\n        diff := sub(x, y)\n    }\n\n    function cleanup_t_bool(value) -> cleaned {\n        cleaned := iszero(iszero(value))\n    }\n\n    function cleanup_t_uint256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function copy_calldata_to_memory(src, dst, length) {\n        calldatacopy(dst, src, length)\n        // clear end\n        mstore(add(dst, length), 0)\n    }\n\n    function copy_memory_to_memory(src, dst, length) {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        if gt(i, length)\n        {\n            // clear end\n            mstore(add(dst, length), 0)\n        }\n    }\n\n    function finalize_allocation(memPtr, size) {\n        let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n        // protect against overflow\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n\n    function panic_error_0x11() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x41() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n\n    function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n        revert(0, 0)\n    }\n\n    function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n        revert(0, 0)\n    }\n\n    function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n        revert(0, 0)\n    }\n\n    function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n        revert(0, 0)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function round_up_to_mul_of_32(value) -> result {\n        result := and(add(value, 31), not(31))\n    }\n\n    function store_literal_in_memory_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4(memPtr) {\n\n        mstore(add(memPtr, 0), \"Time interval not met\")\n\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"3445":[{"length":32,"start":403},{"length":32,"start":458}]},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100575760003560e01c80633f3b3b271461005c5780634585e33b1461007a57806361bc221a146100965780636e04ff0d146100b4578063947a36fb146100e5575b600080fd5b610064610103565b6040516100719190610412565b60405180910390f35b610094600480360381019061008f91906102b2565b610109565b005b61009e610187565b6040516100ab9190610412565b60405180910390f35b6100ce60048036038101906100c991906102ff565b61018d565b6040516100dc9291906103c2565b60405180910390f35b6100ed6101c8565b6040516100fa9190610412565b60405180910390f35b60015481565b60006101236040518060200160405280600081525061018d565b50905080610166576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161015d906103f2565b60405180910390fd5b42600181905550600160005461017c91906104b0565b600081905550505050565b60005481565b600060607f0000000000000000000000000000000000000000000000000000000000000000600154426101c09190610506565b119150915091565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006101ff6101fa84610452565b61042d565b90508281526020810184848401111561021b5761021a610630565b5b610226848285610550565b509392505050565b60008083601f84011261024457610243610626565b5b8235905067ffffffffffffffff81111561026157610260610621565b5b60208301915083600182028301111561027d5761027c61062b565b5b9250929050565b600082601f83011261029957610298610626565b5b81356102a98482602086016101ec565b91505092915050565b600080602083850312156102c9576102c861063a565b5b600083013567ffffffffffffffff8111156102e7576102e6610635565b5b6102f38582860161022e565b92509250509250929050565b6000602082840312156103155761031461063a565b5b600082013567ffffffffffffffff81111561033357610332610635565b5b61033f84828501610284565b91505092915050565b6103518161053a565b82525050565b600061036282610483565b61036c818561048e565b935061037c81856020860161055f565b6103858161063f565b840191505092915050565b600061039d60158361049f565b91506103a882610650565b602082019050919050565b6103bc81610546565b82525050565b60006040820190506103d76000830185610348565b81810360208301526103e98184610357565b90509392505050565b6000602082019050818103600083015261040b81610390565b9050919050565b600060208201905061042760008301846103b3565b92915050565b6000610437610448565b90506104438282610592565b919050565b6000604051905090565b600067ffffffffffffffff82111561046d5761046c6105f2565b5b6104768261063f565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006104bb82610546565b91506104c683610546565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156104fb576104fa6105c3565b5b828201905092915050565b600061051182610546565b915061051c83610546565b92508282101561052f5761052e6105c3565b5b828203905092915050565b60008115159050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561057d578082015181840152602081019050610562565b8381111561058c576000848401525b50505050565b61059b8261063f565b810181811067ffffffffffffffff821117156105ba576105b96105f2565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f54696d6520696e74657276616c206e6f74206d6574000000000000000000000060008201525056fea2646970667358221220d8b1f36960d5034a4f93ba7e20ecbfa4f4a0e1617b2ff04ea1ba5c0c9ebc9fed64736f6c63430008070033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3F3B3B27 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x4585E33B EQ PUSH2 0x7A JUMPI DUP1 PUSH4 0x61BC221A EQ PUSH2 0x96 JUMPI DUP1 PUSH4 0x6E04FF0D EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0x947A36FB EQ PUSH2 0xE5 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0x103 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x412 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x94 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x8F SWAP2 SWAP1 PUSH2 0x2B2 JUMP JUMPDEST PUSH2 0x109 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9E PUSH2 0x187 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAB SWAP2 SWAP1 PUSH2 0x412 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC9 SWAP2 SWAP1 PUSH2 0x2FF JUMP JUMPDEST PUSH2 0x18D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDC SWAP3 SWAP2 SWAP1 PUSH2 0x3C2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xED PUSH2 0x1C8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFA SWAP2 SWAP1 PUSH2 0x412 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x123 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x18D JUMP JUMPDEST POP SWAP1 POP DUP1 PUSH2 0x166 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15D SWAP1 PUSH2 0x3F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST TIMESTAMP PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 SLOAD PUSH2 0x17C SWAP2 SWAP1 PUSH2 0x4B0 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH32 0x0 PUSH1 0x1 SLOAD TIMESTAMP PUSH2 0x1C0 SWAP2 SWAP1 PUSH2 0x506 JUMP JUMPDEST GT SWAP2 POP SWAP2 POP SWAP2 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FF PUSH2 0x1FA DUP5 PUSH2 0x452 JUMP JUMPDEST PUSH2 0x42D JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x21B JUMPI PUSH2 0x21A PUSH2 0x630 JUMP JUMPDEST JUMPDEST PUSH2 0x226 DUP5 DUP3 DUP6 PUSH2 0x550 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x244 JUMPI PUSH2 0x243 PUSH2 0x626 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x261 JUMPI PUSH2 0x260 PUSH2 0x621 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x27D JUMPI PUSH2 0x27C PUSH2 0x62B JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x299 JUMPI PUSH2 0x298 PUSH2 0x626 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2A9 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1EC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2C9 JUMPI PUSH2 0x2C8 PUSH2 0x63A JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2E7 JUMPI PUSH2 0x2E6 PUSH2 0x635 JUMP JUMPDEST JUMPDEST PUSH2 0x2F3 DUP6 DUP3 DUP7 ADD PUSH2 0x22E JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x315 JUMPI PUSH2 0x314 PUSH2 0x63A JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x333 JUMPI PUSH2 0x332 PUSH2 0x635 JUMP JUMPDEST JUMPDEST PUSH2 0x33F DUP5 DUP3 DUP6 ADD PUSH2 0x284 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x351 DUP2 PUSH2 0x53A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x362 DUP3 PUSH2 0x483 JUMP JUMPDEST PUSH2 0x36C DUP2 DUP6 PUSH2 0x48E JUMP JUMPDEST SWAP4 POP PUSH2 0x37C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x55F JUMP JUMPDEST PUSH2 0x385 DUP2 PUSH2 0x63F JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x39D PUSH1 0x15 DUP4 PUSH2 0x49F JUMP JUMPDEST SWAP2 POP PUSH2 0x3A8 DUP3 PUSH2 0x650 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3BC DUP2 PUSH2 0x546 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x3D7 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x348 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x3E9 DUP2 DUP5 PUSH2 0x357 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x40B DUP2 PUSH2 0x390 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x427 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3B3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x437 PUSH2 0x448 JUMP JUMPDEST SWAP1 POP PUSH2 0x443 DUP3 DUP3 PUSH2 0x592 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x46D JUMPI PUSH2 0x46C PUSH2 0x5F2 JUMP JUMPDEST JUMPDEST PUSH2 0x476 DUP3 PUSH2 0x63F JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4BB DUP3 PUSH2 0x546 JUMP JUMPDEST SWAP2 POP PUSH2 0x4C6 DUP4 PUSH2 0x546 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x4FB JUMPI PUSH2 0x4FA PUSH2 0x5C3 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x511 DUP3 PUSH2 0x546 JUMP JUMPDEST SWAP2 POP PUSH2 0x51C DUP4 PUSH2 0x546 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x52F JUMPI PUSH2 0x52E PUSH2 0x5C3 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x57D JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x562 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x58C JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x59B DUP3 PUSH2 0x63F JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x5BA JUMPI PUSH2 0x5B9 PUSH2 0x5F2 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x54696D6520696E74657276616C206E6F74206D65740000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD8 0xB1 RETURN PUSH10 0x60D5034A4F93BA7E20EC 0xBF LOG4 DELEGATECALL LOG0 0xE1 PUSH2 0x7B2F CREATE 0x4E LOG1 0xBA 0x5C 0xC SWAP15 0xBC SWAP16 0xED PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ","sourceMap":"276:1561:18:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;526:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1424:411;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;374:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;973:354;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;489:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;526:28;;;;:::o;1424:411::-;1543:17;1566:15;;;;;;;;;;;;;:11;:15::i;:::-;1542:39;;;1595:12;1587:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1656:15;1640:13;:31;;;;1697:1;1687:7;;:11;;;;:::i;:::-;1677:7;:21;;;;1507:328;1424:411;;:::o;374:22::-;;;;:::o;973:354::-;1085:17;1110:12;1206:8;1189:13;;1171:15;:31;;;;:::i;:::-;1170:44;1155:59;;973:354;;;:::o;489:33::-;;;:::o;7:410:67:-;84:5;109:65;125:48;166:6;125:48;:::i;:::-;109:65;:::i;:::-;100:74;;197:6;190:5;183:21;235:4;228:5;224:16;273:3;264:6;259:3;255:16;252:25;249:112;;;280:79;;:::i;:::-;249:112;370:41;404:6;399:3;394;370:41;:::i;:::-;90:327;7:410;;;;;:::o;436:552::-;493:8;503:6;553:3;546:4;538:6;534:17;530:27;520:122;;561:79;;:::i;:::-;520:122;674:6;661:20;651:30;;704:18;696:6;693:30;690:117;;;726:79;;:::i;:::-;690:117;840:4;832:6;828:17;816:29;;894:3;886:4;878:6;874:17;864:8;860:32;857:41;854:128;;;901:79;;:::i;:::-;854:128;436:552;;;;;:::o;1007:338::-;1062:5;1111:3;1104:4;1096:6;1092:17;1088:27;1078:122;;1119:79;;:::i;:::-;1078:122;1236:6;1223:20;1261:78;1335:3;1327:6;1320:4;1312:6;1308:17;1261:78;:::i;:::-;1252:87;;1068:277;1007:338;;;;:::o;1351:527::-;1421:6;1429;1478:2;1466:9;1457:7;1453:23;1449:32;1446:119;;;1484:79;;:::i;:::-;1446:119;1632:1;1621:9;1617:17;1604:31;1662:18;1654:6;1651:30;1648:117;;;1684:79;;:::i;:::-;1648:117;1797:64;1853:7;1844:6;1833:9;1829:22;1797:64;:::i;:::-;1779:82;;;;1575:296;1351:527;;;;;:::o;1884:507::-;1952:6;2001:2;1989:9;1980:7;1976:23;1972:32;1969:119;;;2007:79;;:::i;:::-;1969:119;2155:1;2144:9;2140:17;2127:31;2185:18;2177:6;2174:30;2171:117;;;2207:79;;:::i;:::-;2171:117;2312:62;2366:7;2357:6;2346:9;2342:22;2312:62;:::i;:::-;2302:72;;2098:286;1884:507;;;;:::o;2397:109::-;2478:21;2493:5;2478:21;:::i;:::-;2473:3;2466:34;2397:109;;:::o;2512:360::-;2598:3;2626:38;2658:5;2626:38;:::i;:::-;2680:70;2743:6;2738:3;2680:70;:::i;:::-;2673:77;;2759:52;2804:6;2799:3;2792:4;2785:5;2781:16;2759:52;:::i;:::-;2836:29;2858:6;2836:29;:::i;:::-;2831:3;2827:39;2820:46;;2602:270;2512:360;;;;:::o;2878:366::-;3020:3;3041:67;3105:2;3100:3;3041:67;:::i;:::-;3034:74;;3117:93;3206:3;3117:93;:::i;:::-;3235:2;3230:3;3226:12;3219:19;;2878:366;;;:::o;3250:118::-;3337:24;3355:5;3337:24;:::i;:::-;3332:3;3325:37;3250:118;;:::o;3374:407::-;3507:4;3545:2;3534:9;3530:18;3522:26;;3558:65;3620:1;3609:9;3605:17;3596:6;3558:65;:::i;:::-;3670:9;3664:4;3660:20;3655:2;3644:9;3640:18;3633:48;3698:76;3769:4;3760:6;3698:76;:::i;:::-;3690:84;;3374:407;;;;;:::o;3787:419::-;3953:4;3991:2;3980:9;3976:18;3968:26;;4040:9;4034:4;4030:20;4026:1;4015:9;4011:17;4004:47;4068:131;4194:4;4068:131;:::i;:::-;4060:139;;3787:419;;;:::o;4212:222::-;4305:4;4343:2;4332:9;4328:18;4320:26;;4356:71;4424:1;4413:9;4409:17;4400:6;4356:71;:::i;:::-;4212:222;;;;:::o;4440:129::-;4474:6;4501:20;;:::i;:::-;4491:30;;4530:33;4558:4;4550:6;4530:33;:::i;:::-;4440:129;;;:::o;4575:75::-;4608:6;4641:2;4635:9;4625:19;;4575:75;:::o;4656:307::-;4717:4;4807:18;4799:6;4796:30;4793:56;;;4829:18;;:::i;:::-;4793:56;4867:29;4889:6;4867:29;:::i;:::-;4859:37;;4951:4;4945;4941:15;4933:23;;4656:307;;;:::o;4969:98::-;5020:6;5054:5;5048:12;5038:22;;4969:98;;;:::o;5073:168::-;5156:11;5190:6;5185:3;5178:19;5230:4;5225:3;5221:14;5206:29;;5073:168;;;;:::o;5247:169::-;5331:11;5365:6;5360:3;5353:19;5405:4;5400:3;5396:14;5381:29;;5247:169;;;;:::o;5422:305::-;5462:3;5481:20;5499:1;5481:20;:::i;:::-;5476:25;;5515:20;5533:1;5515:20;:::i;:::-;5510:25;;5669:1;5601:66;5597:74;5594:1;5591:81;5588:107;;;5675:18;;:::i;:::-;5588:107;5719:1;5716;5712:9;5705:16;;5422:305;;;;:::o;5733:191::-;5773:4;5793:20;5811:1;5793:20;:::i;:::-;5788:25;;5827:20;5845:1;5827:20;:::i;:::-;5822:25;;5866:1;5863;5860:8;5857:34;;;5871:18;;:::i;:::-;5857:34;5916:1;5913;5909:9;5901:17;;5733:191;;;;:::o;5930:90::-;5964:7;6007:5;6000:13;5993:21;5982:32;;5930:90;;;:::o;6026:77::-;6063:7;6092:5;6081:16;;6026:77;;;:::o;6109:154::-;6193:6;6188:3;6183;6170:30;6255:1;6246:6;6241:3;6237:16;6230:27;6109:154;;;:::o;6269:307::-;6337:1;6347:113;6361:6;6358:1;6355:13;6347:113;;;6446:1;6441:3;6437:11;6431:18;6427:1;6422:3;6418:11;6411:39;6383:2;6380:1;6376:10;6371:15;;6347:113;;;6478:6;6475:1;6472:13;6469:101;;;6558:1;6549:6;6544:3;6540:16;6533:27;6469:101;6318:258;6269:307;;;:::o;6582:281::-;6665:27;6687:4;6665:27;:::i;:::-;6657:6;6653:40;6795:6;6783:10;6780:22;6759:18;6747:10;6744:34;6741:62;6738:88;;;6806:18;;:::i;:::-;6738:88;6846:10;6842:2;6835:22;6625:238;6582:281;;:::o;6869:180::-;6917:77;6914:1;6907:88;7014:4;7011:1;7004:15;7038:4;7035:1;7028:15;7055:180;7103:77;7100:1;7093:88;7200:4;7197:1;7190:15;7224:4;7221:1;7214:15;7241:117;7350:1;7347;7340:12;7364:117;7473:1;7470;7463:12;7487:117;7596:1;7593;7586:12;7610:117;7719:1;7716;7709:12;7733:117;7842:1;7839;7832:12;7856:117;7965:1;7962;7955:12;7979:102;8020:6;8071:2;8067:7;8062:2;8055:5;8051:14;8047:28;8037:38;;7979:102;;;:::o;8087:171::-;8227:23;8223:1;8215:6;8211:14;8204:47;8087:171;:::o"},"gasEstimates":{"creation":{"codeDepositCost":"342200","executionCost":"infinite","totalCost":"infinite"},"external":{"checkUpkeep(bytes)":"infinite","counter()":"2451","interval()":"infinite","lastTimeStamp()":"2407","performUpkeep(bytes)":"infinite"}},"methodIdentifiers":{"checkUpkeep(bytes)":"6e04ff0d","counter()":"61bc221a","interval()":"947a36fb","lastTimeStamp()":"3f3b3b27","performUpkeep(bytes)":"4585e33b"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"updateInterval\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"checkUpkeep\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"upkeepNeeded\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"counter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"interval\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastTimeStamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"performUpkeep\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"updateInterval\":\"- Period of time between two counter increments expressed as UNIX timestamp value\"}}},\"title\":\"The Counter contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"checkUpkeep(bytes)\":{\"notice\":\"Checks if the contract requires work to be done\"},\"constructor\":{\"notice\":\"Executes once when a contract is created to initialize state variables\"},\"counter()\":{\"notice\":\"Public counter variable\"},\"interval()\":{\"notice\":\"Use an interval in seconds and a timestamp to slow execution of Upkeep\"},\"performUpkeep(bytes)\":{\"notice\":\"Performs the work on the contract, if instructed by :checkUpkeep():\"}},\"notice\":\"A keeper-compatible contract that increments counter variable at fixed time intervals\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/KeepersCounter.sol\":\"KeepersCounter\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/interfaces/KeeperCompatibleInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface KeeperCompatibleInterface {\\n  /**\\n   * @notice method that is simulated by the keepers to see if any work actually\\n   * needs to be performed. This method does does not actually need to be\\n   * executable, and since it is only ever simulated it can consume lots of gas.\\n   * @dev To ensure that it is never called, you may want to add the\\n   * cannotExecute modifier from KeeperBase to your implementation of this\\n   * method.\\n   * @param checkData specified in the upkeep registration so it is always the\\n   * same for a registered upkeep. This can easily be broken down into specific\\n   * arguments using `abi.decode`, so multiple upkeeps can be registered on the\\n   * same contract and easily differentiated by the contract.\\n   * @return upkeepNeeded boolean to indicate whether the keeper should call\\n   * performUpkeep or not.\\n   * @return performData bytes that the keeper should call performUpkeep with, if\\n   * upkeep is needed. If you would like to encode data to decode later, try\\n   * `abi.encode`.\\n   */\\n  function checkUpkeep(bytes calldata checkData) external returns (bool upkeepNeeded, bytes memory performData);\\n\\n  /**\\n   * @notice method that is actually executed by the keepers, via the registry.\\n   * The data returned by the checkUpkeep simulation will be passed into\\n   * this method to actually be executed.\\n   * @dev The input to this method should not be trusted, and the caller of the\\n   * method should not even be restricted to any single registry. Anyone should\\n   * be able call it, and the input should be validated, there is no guarantee\\n   * that the data passed in is the performData returned from checkUpkeep. This\\n   * could happen due to malicious keepers, racing keepers, or simply a state\\n   * change while the performUpkeep transaction is waiting for confirmation.\\n   * Always validate the data passed in.\\n   * @param performData is the data which was passed back from the checkData\\n   * simulation. If it is encoded, it can easily be decoded into other types by\\n   * calling `abi.decode`. This data should not be trusted, and should be\\n   * validated against the contract's current state.\\n   */\\n  function performUpkeep(bytes calldata performData) external;\\n}\\n\",\"keccak256\":\"0xb6577cda6b731b655aebcb6e3c24f8658d3f4c5eda07200622d07d4570af33ea\",\"license\":\"MIT\"},\"contracts/KeepersCounter.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.7;\\n\\nimport \\\"@chainlink/contracts/src/v0.8/interfaces/KeeperCompatibleInterface.sol\\\";\\n\\n/**\\n * @title The Counter contract\\n * @notice  A keeper-compatible contract that increments counter variable at fixed time intervals\\n */\\ncontract KeepersCounter is KeeperCompatibleInterface {\\n  /**\\n   * Public counter variable\\n   */\\n  uint256 public counter;\\n\\n  /**\\n   * Use an interval in seconds and a timestamp to slow execution of Upkeep\\n   */\\n  uint256 public immutable interval;\\n  uint256 public lastTimeStamp;\\n\\n  /**\\n   * @notice Executes once when a contract is created to initialize state variables\\n   *\\n   * @param updateInterval - Period of time between two counter increments expressed as UNIX timestamp value\\n   */\\n  constructor(uint256 updateInterval) {\\n    interval = updateInterval;\\n    lastTimeStamp = block.timestamp;\\n\\n    counter = 0;\\n  }\\n\\n  /**\\n   * @notice Checks if the contract requires work to be done\\n   */\\n  function checkUpkeep(\\n    bytes memory /* checkData */\\n  )\\n    public\\n    view\\n    override\\n    returns (\\n      bool upkeepNeeded,\\n      bytes memory /* performData */\\n    )\\n  {\\n    upkeepNeeded = (block.timestamp - lastTimeStamp) > interval;\\n    // We don't use the checkData in this example. The checkData is defined when the Upkeep was registered.\\n  }\\n\\n  /**\\n   * @notice Performs the work on the contract, if instructed by :checkUpkeep():\\n   */\\n  function performUpkeep(\\n    bytes calldata /* performData */\\n  ) external override {\\n    // add some verification\\n    (bool upkeepNeeded, ) = checkUpkeep(\\\"\\\");\\n    require(upkeepNeeded, \\\"Time interval not met\\\");\\n\\n    lastTimeStamp = block.timestamp;\\n    counter = counter + 1;\\n    // We don't use the performData in this example. The performData is generated by the Keeper's call to your checkUpkeep function\\n  }\\n}\\n\",\"keccak256\":\"0x787be83dd1c463644a70933146ade725793bbae4ba115e3c78836c94edd80f54\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[{"astId":3442,"contract":"contracts/KeepersCounter.sol:KeepersCounter","label":"counter","offset":0,"slot":"0","type":"t_uint256"},{"astId":3447,"contract":"contracts/KeepersCounter.sol:KeepersCounter","label":"lastTimeStamp","offset":0,"slot":"1","type":"t_uint256"}],"types":{"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"userdoc":{"kind":"user","methods":{"checkUpkeep(bytes)":{"notice":"Checks if the contract requires work to be done"},"constructor":{"notice":"Executes once when a contract is created to initialize state variables"},"counter()":{"notice":"Public counter variable"},"interval()":{"notice":"Use an interval in seconds and a timestamp to slow execution of Upkeep"},"performUpkeep(bytes)":{"notice":"Performs the work on the contract, if instructed by :checkUpkeep():"}},"notice":"A keeper-compatible contract that increments counter variable at fixed time intervals","version":1}}},"contracts/PriceConsumerV3.sol":{"PriceConsumerV3":{"abi":[{"inputs":[{"internalType":"address","name":"_priceFeed","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"_priceFeed","type":"address"}],"name":"changePriceFeed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getLatestPrice","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPriceFeed","outputs":[{"internalType":"contract AggregatorV3Interface","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{"changePriceFeed(address)":{"params":{"_priceFeed":"- Price Feed Address. Refer here https://docs.chain.link/data-feeds/price-feeds/addresses/?network=klaytn "}},"constructor":{"params":{"_priceFeed":"- Price Feed Address. Refer here https://docs.chain.link/data-feeds/price-feeds/addresses/?network=klaytn Network: Baobab Aggregator: LINK/KLAY Address: 0xf49f81b3d2F2a79b706621FA2D5934136352140c"}},"getLatestPrice()":{"returns":{"_0":"latest price"}},"getPriceFeed()":{"returns":{"_0":"Price Feed address"}}},"title":"The PriceConsumerV3 contract","version":1},"evm":{"bytecode":{"functionDebugData":{"@_3540":{"entryPoint":null,"id":3540,"parameterSlots":1,"returnSlots":0},"abi_decode_t_address_fromMemory":{"entryPoint":120,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":141,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"cleanup_t_address":{"entryPoint":186,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":204,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":236,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_t_address":{"entryPoint":241,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1199:67","statements":[{"body":{"nodeType":"YulBlock","src":"70:80:67","statements":[{"nodeType":"YulAssignment","src":"80:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"95:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"89:5:67"},"nodeType":"YulFunctionCall","src":"89:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"80:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"138:5:67"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"111:26:67"},"nodeType":"YulFunctionCall","src":"111:33:67"},"nodeType":"YulExpressionStatement","src":"111:33:67"}]},"name":"abi_decode_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"48:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"56:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"64:5:67","type":""}],"src":"7:143:67"},{"body":{"nodeType":"YulBlock","src":"233:274:67","statements":[{"body":{"nodeType":"YulBlock","src":"279:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"281:77:67"},"nodeType":"YulFunctionCall","src":"281:79:67"},"nodeType":"YulExpressionStatement","src":"281:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"254:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"263:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"250:3:67"},"nodeType":"YulFunctionCall","src":"250:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"275:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"246:3:67"},"nodeType":"YulFunctionCall","src":"246:32:67"},"nodeType":"YulIf","src":"243:119:67"},{"nodeType":"YulBlock","src":"372:128:67","statements":[{"nodeType":"YulVariableDeclaration","src":"387:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"401:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"391:6:67","type":""}]},{"nodeType":"YulAssignment","src":"416:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"462:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"473:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"458:3:67"},"nodeType":"YulFunctionCall","src":"458:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"482:7:67"}],"functionName":{"name":"abi_decode_t_address_fromMemory","nodeType":"YulIdentifier","src":"426:31:67"},"nodeType":"YulFunctionCall","src":"426:64:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"416:6:67"}]}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"203:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"214:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"226:6:67","type":""}],"src":"156:351:67"},{"body":{"nodeType":"YulBlock","src":"553:35:67","statements":[{"nodeType":"YulAssignment","src":"563:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"579:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"573:5:67"},"nodeType":"YulFunctionCall","src":"573:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"563:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"546:6:67","type":""}],"src":"513:75:67"},{"body":{"nodeType":"YulBlock","src":"639:51:67","statements":[{"nodeType":"YulAssignment","src":"649:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"678:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"660:17:67"},"nodeType":"YulFunctionCall","src":"660:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"649:7:67"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"621:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"631:7:67","type":""}],"src":"594:96:67"},{"body":{"nodeType":"YulBlock","src":"741:81:67","statements":[{"nodeType":"YulAssignment","src":"751:65:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"766:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"773:42:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"762:3:67"},"nodeType":"YulFunctionCall","src":"762:54:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"751:7:67"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"723:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"733:7:67","type":""}],"src":"696:126:67"},{"body":{"nodeType":"YulBlock","src":"917:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"934:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"937:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"927:6:67"},"nodeType":"YulFunctionCall","src":"927:12:67"},"nodeType":"YulExpressionStatement","src":"927:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"828:117:67"},{"body":{"nodeType":"YulBlock","src":"1040:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1057:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1060:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1050:6:67"},"nodeType":"YulFunctionCall","src":"1050:12:67"},"nodeType":"YulExpressionStatement","src":"1050:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"951:117:67"},{"body":{"nodeType":"YulBlock","src":"1117:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"1174:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1183:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1186:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1176:6:67"},"nodeType":"YulFunctionCall","src":"1176:12:67"},"nodeType":"YulExpressionStatement","src":"1176:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1140:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1165:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"1147:17:67"},"nodeType":"YulFunctionCall","src":"1147:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1137:2:67"},"nodeType":"YulFunctionCall","src":"1137:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1130:6:67"},"nodeType":"YulFunctionCall","src":"1130:43:67"},"nodeType":"YulIf","src":"1127:63:67"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1110:5:67","type":""}],"src":"1074:122:67"}]},"contents":"{\n\n    function abi_decode_t_address_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_address(value)\n    }\n\n    function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function cleanup_t_address(value) -> cleaned {\n        cleaned := cleanup_t_uint160(value)\n    }\n\n    function cleanup_t_uint160(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function validator_revert_t_address(value) {\n        if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"608060405234801561001057600080fd5b506040516105563803806105568339818101604052810190610032919061008d565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610108565b600081519050610087816100f1565b92915050565b6000602082840312156100a3576100a26100ec565b5b60006100b184828501610078565b91505092915050565b60006100c5826100cc565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b6100fa816100ba565b811461010557600080fd5b50565b61043f806101176000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80638e15f473146100465780639e87a5cd14610064578063cbd3df3814610082575b600080fd5b61004e61009e565b60405161005b91906102fb565b60405180910390f35b61006c61015a565b60405161007991906102e0565b60405180910390f35b61009c6004803603810190610097919061021a565b610183565b005b60008060008060008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561010d57600080fd5b505afa158015610121573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101459190610247565b94509450945094509450839550505050505090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000813590506101d5816103ad565b92915050565b6000815190506101ea816103c4565b92915050565b6000815190506101ff816103db565b92915050565b600081519050610214816103f2565b92915050565b6000602082840312156102305761022f6103a8565b5b600061023e848285016101c6565b91505092915050565b600080600080600060a08688031215610263576102626103a8565b5b600061027188828901610205565b9550506020610282888289016101db565b9450506040610293888289016101f0565b93505060606102a4888289016101f0565b92505060806102b588828901610205565b9150509295509295909350565b6102cb81610372565b82525050565b6102da81610328565b82525050565b60006020820190506102f560008301846102c2565b92915050565b600060208201905061031060008301846102d1565b92915050565b600061032182610332565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600069ffffffffffffffffffff82169050919050565b600061037d82610384565b9050919050565b600061038f82610396565b9050919050565b60006103a182610332565b9050919050565b600080fd5b6103b681610316565b81146103c157600080fd5b50565b6103cd81610328565b81146103d857600080fd5b50565b6103e481610352565b81146103ef57600080fd5b50565b6103fb8161035c565b811461040657600080fd5b5056fea2646970667358221220e2123cdcf61a5a61afa8c6af3a147b77e0327c5f3f5d7a47b815b0e875dd742b64736f6c63430008070033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x556 CODESIZE SUB DUP1 PUSH2 0x556 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0x8D JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP PUSH2 0x108 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x87 DUP2 PUSH2 0xF1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA3 JUMPI PUSH2 0xA2 PUSH2 0xEC JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xB1 DUP5 DUP3 DUP6 ADD PUSH2 0x78 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC5 DUP3 PUSH2 0xCC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xFA DUP2 PUSH2 0xBA JUMP JUMPDEST DUP2 EQ PUSH2 0x105 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x43F DUP1 PUSH2 0x117 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8E15F473 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x9E87A5CD EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0xCBD3DF38 EQ PUSH2 0x82 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x9E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x2FB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x6C PUSH2 0x15A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x79 SWAP2 SWAP1 PUSH2 0x2E0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x97 SWAP2 SWAP1 PUSH2 0x21A JUMP JUMPDEST PUSH2 0x183 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFEAF968C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0xA0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x10D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x121 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 0x145 SWAP2 SWAP1 PUSH2 0x247 JUMP JUMPDEST SWAP5 POP SWAP5 POP SWAP5 POP SWAP5 POP SWAP5 POP DUP4 SWAP6 POP POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1D5 DUP2 PUSH2 0x3AD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1EA DUP2 PUSH2 0x3C4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1FF DUP2 PUSH2 0x3DB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x214 DUP2 PUSH2 0x3F2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x230 JUMPI PUSH2 0x22F PUSH2 0x3A8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x23E DUP5 DUP3 DUP6 ADD PUSH2 0x1C6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x263 JUMPI PUSH2 0x262 PUSH2 0x3A8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x271 DUP9 DUP3 DUP10 ADD PUSH2 0x205 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x282 DUP9 DUP3 DUP10 ADD PUSH2 0x1DB JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x293 DUP9 DUP3 DUP10 ADD PUSH2 0x1F0 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x2A4 DUP9 DUP3 DUP10 ADD PUSH2 0x1F0 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x2B5 DUP9 DUP3 DUP10 ADD PUSH2 0x205 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH2 0x2CB DUP2 PUSH2 0x372 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2DA DUP2 PUSH2 0x328 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2F5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2C2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x310 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2D1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x321 DUP3 PUSH2 0x332 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH10 0xFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x37D DUP3 PUSH2 0x384 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x38F DUP3 PUSH2 0x396 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A1 DUP3 PUSH2 0x332 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3B6 DUP2 PUSH2 0x316 JUMP JUMPDEST DUP2 EQ PUSH2 0x3C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3CD DUP2 PUSH2 0x328 JUMP JUMPDEST DUP2 EQ PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3E4 DUP2 PUSH2 0x352 JUMP JUMPDEST DUP2 EQ PUSH2 0x3EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3FB DUP2 PUSH2 0x35C JUMP JUMPDEST DUP2 EQ PUSH2 0x406 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE2 SLT EXTCODECOPY 0xDC 0xF6 BYTE GAS PUSH2 0xAFA8 0xC6 0xAF GASPRICE EQ PUSH28 0x77E0327C5F3F5D7A47B815B0E875DD742B64736F6C63430008070033 ","sourceMap":"256:1462:19:-:0;;;692:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;768:10;734:9;;:45;;;;;;;;;;;;;;;;;;692:94;256:1462;;7:143:67;64:5;95:6;89:13;80:22;;111:33;138:5;111:33;:::i;:::-;7:143;;;;:::o;156:351::-;226:6;275:2;263:9;254:7;250:23;246:32;243:119;;;281:79;;:::i;:::-;243:119;401:1;426:64;482:7;473:6;462:9;458:22;426:64;:::i;:::-;416:74;;372:128;156:351;;;;:::o;594:96::-;631:7;660:24;678:5;660:24;:::i;:::-;649:35;;594:96;;;:::o;696:126::-;733:7;773:42;766:5;762:54;751:65;;696:126;;;:::o;951:117::-;1060:1;1057;1050:12;1074:122;1147:24;1165:5;1147:24;:::i;:::-;1140:5;1137:35;1127:63;;1186:1;1183;1176:12;1127:63;1074:122;:::o;256:1462:19:-;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@changePriceFeed_3553":{"entryPoint":387,"id":3553,"parameterSlots":1,"returnSlots":0},"@getLatestPrice_3576":{"entryPoint":158,"id":3576,"parameterSlots":0,"returnSlots":1},"@getPriceFeed_3586":{"entryPoint":346,"id":3586,"parameterSlots":0,"returnSlots":1},"abi_decode_t_address":{"entryPoint":454,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_int256_fromMemory":{"entryPoint":475,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256_fromMemory":{"entryPoint":496,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint80_fromMemory":{"entryPoint":517,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":538,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint80t_int256t_uint256t_uint256t_uint80_fromMemory":{"entryPoint":583,"id":null,"parameterSlots":2,"returnSlots":5},"abi_encode_t_contract$_AggregatorV3Interface_$965_to_t_address_fromStack":{"entryPoint":706,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_int256_to_t_int256_fromStack":{"entryPoint":721,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_contract$_AggregatorV3Interface_$965__to_t_address__fromStack_reversed":{"entryPoint":736,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed":{"entryPoint":763,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"cleanup_t_address":{"entryPoint":790,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_int256":{"entryPoint":808,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":818,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":850,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint80":{"entryPoint":860,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_contract$_AggregatorV3Interface_$965_to_t_address":{"entryPoint":882,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_address":{"entryPoint":900,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_uint160":{"entryPoint":918,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":936,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_t_address":{"entryPoint":941,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_int256":{"entryPoint":964,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":987,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint80":{"entryPoint":1010,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:4487:67","statements":[{"body":{"nodeType":"YulBlock","src":"59:87:67","statements":[{"nodeType":"YulAssignment","src":"69:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"91:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"78:12:67"},"nodeType":"YulFunctionCall","src":"78:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"69:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"134:5:67"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"107:26:67"},"nodeType":"YulFunctionCall","src":"107:33:67"},"nodeType":"YulExpressionStatement","src":"107:33:67"}]},"name":"abi_decode_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"37:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"45:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:67","type":""}],"src":"7:139:67"},{"body":{"nodeType":"YulBlock","src":"214:79:67","statements":[{"nodeType":"YulAssignment","src":"224:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"239:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"233:5:67"},"nodeType":"YulFunctionCall","src":"233:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"224:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"281:5:67"}],"functionName":{"name":"validator_revert_t_int256","nodeType":"YulIdentifier","src":"255:25:67"},"nodeType":"YulFunctionCall","src":"255:32:67"},"nodeType":"YulExpressionStatement","src":"255:32:67"}]},"name":"abi_decode_t_int256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"192:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"200:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"208:5:67","type":""}],"src":"152:141:67"},{"body":{"nodeType":"YulBlock","src":"362:80:67","statements":[{"nodeType":"YulAssignment","src":"372:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"387:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"381:5:67"},"nodeType":"YulFunctionCall","src":"381:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"372:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"430:5:67"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"403:26:67"},"nodeType":"YulFunctionCall","src":"403:33:67"},"nodeType":"YulExpressionStatement","src":"403:33:67"}]},"name":"abi_decode_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"340:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"348:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"356:5:67","type":""}],"src":"299:143:67"},{"body":{"nodeType":"YulBlock","src":"510:79:67","statements":[{"nodeType":"YulAssignment","src":"520:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"535:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"529:5:67"},"nodeType":"YulFunctionCall","src":"529:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"520:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"577:5:67"}],"functionName":{"name":"validator_revert_t_uint80","nodeType":"YulIdentifier","src":"551:25:67"},"nodeType":"YulFunctionCall","src":"551:32:67"},"nodeType":"YulExpressionStatement","src":"551:32:67"}]},"name":"abi_decode_t_uint80_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"488:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"496:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"504:5:67","type":""}],"src":"448:141:67"},{"body":{"nodeType":"YulBlock","src":"661:263:67","statements":[{"body":{"nodeType":"YulBlock","src":"707:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"709:77:67"},"nodeType":"YulFunctionCall","src":"709:79:67"},"nodeType":"YulExpressionStatement","src":"709:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"682:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"691:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"678:3:67"},"nodeType":"YulFunctionCall","src":"678:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"703:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"674:3:67"},"nodeType":"YulFunctionCall","src":"674:32:67"},"nodeType":"YulIf","src":"671:119:67"},{"nodeType":"YulBlock","src":"800:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"815:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"829:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"819:6:67","type":""}]},{"nodeType":"YulAssignment","src":"844:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"879:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"890:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"875:3:67"},"nodeType":"YulFunctionCall","src":"875:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"899:7:67"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"854:20:67"},"nodeType":"YulFunctionCall","src":"854:53:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"844:6:67"}]}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"631:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"642:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"654:6:67","type":""}],"src":"595:329:67"},{"body":{"nodeType":"YulBlock","src":"1072:829:67","statements":[{"body":{"nodeType":"YulBlock","src":"1119:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1121:77:67"},"nodeType":"YulFunctionCall","src":"1121:79:67"},"nodeType":"YulExpressionStatement","src":"1121:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1093:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"1102:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1089:3:67"},"nodeType":"YulFunctionCall","src":"1089:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"1114:3:67","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1085:3:67"},"nodeType":"YulFunctionCall","src":"1085:33:67"},"nodeType":"YulIf","src":"1082:120:67"},{"nodeType":"YulBlock","src":"1212:127:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1227:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1241:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1231:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1256:73:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1301:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1312:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1297:3:67"},"nodeType":"YulFunctionCall","src":"1297:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1321:7:67"}],"functionName":{"name":"abi_decode_t_uint80_fromMemory","nodeType":"YulIdentifier","src":"1266:30:67"},"nodeType":"YulFunctionCall","src":"1266:63:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1256:6:67"}]}]},{"nodeType":"YulBlock","src":"1349:128:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1364:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1378:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1368:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1394:73:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1439:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1450:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1435:3:67"},"nodeType":"YulFunctionCall","src":"1435:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1459:7:67"}],"functionName":{"name":"abi_decode_t_int256_fromMemory","nodeType":"YulIdentifier","src":"1404:30:67"},"nodeType":"YulFunctionCall","src":"1404:63:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1394:6:67"}]}]},{"nodeType":"YulBlock","src":"1487:129:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1502:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1516:2:67","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1506:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1532:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1578:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1589:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1574:3:67"},"nodeType":"YulFunctionCall","src":"1574:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1598:7:67"}],"functionName":{"name":"abi_decode_t_uint256_fromMemory","nodeType":"YulIdentifier","src":"1542:31:67"},"nodeType":"YulFunctionCall","src":"1542:64:67"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1532:6:67"}]}]},{"nodeType":"YulBlock","src":"1626:129:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1641:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1655:2:67","type":"","value":"96"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1645:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1671:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1717:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1728:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1713:3:67"},"nodeType":"YulFunctionCall","src":"1713:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1737:7:67"}],"functionName":{"name":"abi_decode_t_uint256_fromMemory","nodeType":"YulIdentifier","src":"1681:31:67"},"nodeType":"YulFunctionCall","src":"1681:64:67"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"1671:6:67"}]}]},{"nodeType":"YulBlock","src":"1765:129:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1780:17:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1794:3:67","type":"","value":"128"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1784:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1811:73:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1856:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1867:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1852:3:67"},"nodeType":"YulFunctionCall","src":"1852:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1876:7:67"}],"functionName":{"name":"abi_decode_t_uint80_fromMemory","nodeType":"YulIdentifier","src":"1821:30:67"},"nodeType":"YulFunctionCall","src":"1821:63:67"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"1811:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint80t_int256t_uint256t_uint256t_uint80_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1010:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1021:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1033:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1041:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1049:6:67","type":""},{"name":"value3","nodeType":"YulTypedName","src":"1057:6:67","type":""},{"name":"value4","nodeType":"YulTypedName","src":"1065:6:67","type":""}],"src":"930:971:67"},{"body":{"nodeType":"YulBlock","src":"2001:95:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2018:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2083:5:67"}],"functionName":{"name":"convert_t_contract$_AggregatorV3Interface_$965_to_t_address","nodeType":"YulIdentifier","src":"2023:59:67"},"nodeType":"YulFunctionCall","src":"2023:66:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2011:6:67"},"nodeType":"YulFunctionCall","src":"2011:79:67"},"nodeType":"YulExpressionStatement","src":"2011:79:67"}]},"name":"abi_encode_t_contract$_AggregatorV3Interface_$965_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1989:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1996:3:67","type":""}],"src":"1907:189:67"},{"body":{"nodeType":"YulBlock","src":"2165:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2182:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2204:5:67"}],"functionName":{"name":"cleanup_t_int256","nodeType":"YulIdentifier","src":"2187:16:67"},"nodeType":"YulFunctionCall","src":"2187:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2175:6:67"},"nodeType":"YulFunctionCall","src":"2175:36:67"},"nodeType":"YulExpressionStatement","src":"2175:36:67"}]},"name":"abi_encode_t_int256_to_t_int256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2153:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2160:3:67","type":""}],"src":"2102:115:67"},{"body":{"nodeType":"YulBlock","src":"2350:153:67","statements":[{"nodeType":"YulAssignment","src":"2360:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2372:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2383:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2368:3:67"},"nodeType":"YulFunctionCall","src":"2368:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2360:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2469:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2482:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2493:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2478:3:67"},"nodeType":"YulFunctionCall","src":"2478:17:67"}],"functionName":{"name":"abi_encode_t_contract$_AggregatorV3Interface_$965_to_t_address_fromStack","nodeType":"YulIdentifier","src":"2396:72:67"},"nodeType":"YulFunctionCall","src":"2396:100:67"},"nodeType":"YulExpressionStatement","src":"2396:100:67"}]},"name":"abi_encode_tuple_t_contract$_AggregatorV3Interface_$965__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2322:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2334:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2345:4:67","type":""}],"src":"2223:280:67"},{"body":{"nodeType":"YulBlock","src":"2605:122:67","statements":[{"nodeType":"YulAssignment","src":"2615:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2627:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2638:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2623:3:67"},"nodeType":"YulFunctionCall","src":"2623:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2615:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2693:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2706:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2717:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2702:3:67"},"nodeType":"YulFunctionCall","src":"2702:17:67"}],"functionName":{"name":"abi_encode_t_int256_to_t_int256_fromStack","nodeType":"YulIdentifier","src":"2651:41:67"},"nodeType":"YulFunctionCall","src":"2651:69:67"},"nodeType":"YulExpressionStatement","src":"2651:69:67"}]},"name":"abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2577:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2589:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2600:4:67","type":""}],"src":"2509:218:67"},{"body":{"nodeType":"YulBlock","src":"2773:35:67","statements":[{"nodeType":"YulAssignment","src":"2783:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2799:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2793:5:67"},"nodeType":"YulFunctionCall","src":"2793:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2783:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"2766:6:67","type":""}],"src":"2733:75:67"},{"body":{"nodeType":"YulBlock","src":"2859:51:67","statements":[{"nodeType":"YulAssignment","src":"2869:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2898:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"2880:17:67"},"nodeType":"YulFunctionCall","src":"2880:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"2869:7:67"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2841:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"2851:7:67","type":""}],"src":"2814:96:67"},{"body":{"nodeType":"YulBlock","src":"2960:32:67","statements":[{"nodeType":"YulAssignment","src":"2970:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"2981:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"2970:7:67"}]}]},"name":"cleanup_t_int256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2942:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"2952:7:67","type":""}],"src":"2916:76:67"},{"body":{"nodeType":"YulBlock","src":"3043:81:67","statements":[{"nodeType":"YulAssignment","src":"3053:65:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3068:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"3075:42:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3064:3:67"},"nodeType":"YulFunctionCall","src":"3064:54:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"3053:7:67"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3025:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"3035:7:67","type":""}],"src":"2998:126:67"},{"body":{"nodeType":"YulBlock","src":"3175:32:67","statements":[{"nodeType":"YulAssignment","src":"3185:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"3196:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"3185:7:67"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3157:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"3167:7:67","type":""}],"src":"3130:77:67"},{"body":{"nodeType":"YulBlock","src":"3257:61:67","statements":[{"nodeType":"YulAssignment","src":"3267:45:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3282:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"3289:22:67","type":"","value":"0xffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3278:3:67"},"nodeType":"YulFunctionCall","src":"3278:34:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"3267:7:67"}]}]},"name":"cleanup_t_uint80","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3239:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"3249:7:67","type":""}],"src":"3213:105:67"},{"body":{"nodeType":"YulBlock","src":"3413:66:67","statements":[{"nodeType":"YulAssignment","src":"3423:50:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3467:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_address","nodeType":"YulIdentifier","src":"3436:30:67"},"nodeType":"YulFunctionCall","src":"3436:37:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"3423:9:67"}]}]},"name":"convert_t_contract$_AggregatorV3Interface_$965_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3393:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"3403:9:67","type":""}],"src":"3324:155:67"},{"body":{"nodeType":"YulBlock","src":"3545:66:67","statements":[{"nodeType":"YulAssignment","src":"3555:50:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3599:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_uint160","nodeType":"YulIdentifier","src":"3568:30:67"},"nodeType":"YulFunctionCall","src":"3568:37:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"3555:9:67"}]}]},"name":"convert_t_uint160_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3525:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"3535:9:67","type":""}],"src":"3485:126:67"},{"body":{"nodeType":"YulBlock","src":"3677:53:67","statements":[{"nodeType":"YulAssignment","src":"3687:37:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3718:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"3700:17:67"},"nodeType":"YulFunctionCall","src":"3700:24:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"3687:9:67"}]}]},"name":"convert_t_uint160_to_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3657:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"3667:9:67","type":""}],"src":"3617:113:67"},{"body":{"nodeType":"YulBlock","src":"3825:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3842:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3845:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3835:6:67"},"nodeType":"YulFunctionCall","src":"3835:12:67"},"nodeType":"YulExpressionStatement","src":"3835:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"3736:117:67"},{"body":{"nodeType":"YulBlock","src":"3948:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3965:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3968:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3958:6:67"},"nodeType":"YulFunctionCall","src":"3958:12:67"},"nodeType":"YulExpressionStatement","src":"3958:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"3859:117:67"},{"body":{"nodeType":"YulBlock","src":"4025:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"4082:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4091:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4094:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4084:6:67"},"nodeType":"YulFunctionCall","src":"4084:12:67"},"nodeType":"YulExpressionStatement","src":"4084:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4048:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4073:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"4055:17:67"},"nodeType":"YulFunctionCall","src":"4055:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4045:2:67"},"nodeType":"YulFunctionCall","src":"4045:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4038:6:67"},"nodeType":"YulFunctionCall","src":"4038:43:67"},"nodeType":"YulIf","src":"4035:63:67"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4018:5:67","type":""}],"src":"3982:122:67"},{"body":{"nodeType":"YulBlock","src":"4152:78:67","statements":[{"body":{"nodeType":"YulBlock","src":"4208:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4217:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4220:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4210:6:67"},"nodeType":"YulFunctionCall","src":"4210:12:67"},"nodeType":"YulExpressionStatement","src":"4210:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4175:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4199:5:67"}],"functionName":{"name":"cleanup_t_int256","nodeType":"YulIdentifier","src":"4182:16:67"},"nodeType":"YulFunctionCall","src":"4182:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4172:2:67"},"nodeType":"YulFunctionCall","src":"4172:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4165:6:67"},"nodeType":"YulFunctionCall","src":"4165:42:67"},"nodeType":"YulIf","src":"4162:62:67"}]},"name":"validator_revert_t_int256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4145:5:67","type":""}],"src":"4110:120:67"},{"body":{"nodeType":"YulBlock","src":"4279:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"4336:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4345:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4348:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4338:6:67"},"nodeType":"YulFunctionCall","src":"4338:12:67"},"nodeType":"YulExpressionStatement","src":"4338:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4302:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4327:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"4309:17:67"},"nodeType":"YulFunctionCall","src":"4309:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4299:2:67"},"nodeType":"YulFunctionCall","src":"4299:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4292:6:67"},"nodeType":"YulFunctionCall","src":"4292:43:67"},"nodeType":"YulIf","src":"4289:63:67"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4272:5:67","type":""}],"src":"4236:122:67"},{"body":{"nodeType":"YulBlock","src":"4406:78:67","statements":[{"body":{"nodeType":"YulBlock","src":"4462:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4471:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4474:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4464:6:67"},"nodeType":"YulFunctionCall","src":"4464:12:67"},"nodeType":"YulExpressionStatement","src":"4464:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4429:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4453:5:67"}],"functionName":{"name":"cleanup_t_uint80","nodeType":"YulIdentifier","src":"4436:16:67"},"nodeType":"YulFunctionCall","src":"4436:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4426:2:67"},"nodeType":"YulFunctionCall","src":"4426:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4419:6:67"},"nodeType":"YulFunctionCall","src":"4419:42:67"},"nodeType":"YulIf","src":"4416:62:67"}]},"name":"validator_revert_t_uint80","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4399:5:67","type":""}],"src":"4364:120:67"}]},"contents":"{\n\n    function abi_decode_t_address(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_address(value)\n    }\n\n    function abi_decode_t_int256_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_int256(value)\n    }\n\n    function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_uint256(value)\n    }\n\n    function abi_decode_t_uint80_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_uint80(value)\n    }\n\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint80t_int256t_uint256t_uint256t_uint80_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n        if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint80_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_int256_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 64\n\n            value2 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 96\n\n            value3 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 128\n\n            value4 := abi_decode_t_uint80_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_encode_t_contract$_AggregatorV3Interface_$965_to_t_address_fromStack(value, pos) {\n        mstore(pos, convert_t_contract$_AggregatorV3Interface_$965_to_t_address(value))\n    }\n\n    function abi_encode_t_int256_to_t_int256_fromStack(value, pos) {\n        mstore(pos, cleanup_t_int256(value))\n    }\n\n    function abi_encode_tuple_t_contract$_AggregatorV3Interface_$965__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_contract$_AggregatorV3Interface_$965_to_t_address_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_int256_to_t_int256_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function cleanup_t_address(value) -> cleaned {\n        cleaned := cleanup_t_uint160(value)\n    }\n\n    function cleanup_t_int256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_uint160(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n    }\n\n    function cleanup_t_uint256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_uint80(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffffffff)\n    }\n\n    function convert_t_contract$_AggregatorV3Interface_$965_to_t_address(value) -> converted {\n        converted := convert_t_uint160_to_t_address(value)\n    }\n\n    function convert_t_uint160_to_t_address(value) -> converted {\n        converted := convert_t_uint160_to_t_uint160(value)\n    }\n\n    function convert_t_uint160_to_t_uint160(value) -> converted {\n        converted := cleanup_t_uint160(value)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function validator_revert_t_address(value) {\n        if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_int256(value) {\n        if iszero(eq(value, cleanup_t_int256(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint256(value) {\n        if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint80(value) {\n        if iszero(eq(value, cleanup_t_uint80(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100415760003560e01c80638e15f473146100465780639e87a5cd14610064578063cbd3df3814610082575b600080fd5b61004e61009e565b60405161005b91906102fb565b60405180910390f35b61006c61015a565b60405161007991906102e0565b60405180910390f35b61009c6004803603810190610097919061021a565b610183565b005b60008060008060008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561010d57600080fd5b505afa158015610121573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101459190610247565b94509450945094509450839550505050505090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000813590506101d5816103ad565b92915050565b6000815190506101ea816103c4565b92915050565b6000815190506101ff816103db565b92915050565b600081519050610214816103f2565b92915050565b6000602082840312156102305761022f6103a8565b5b600061023e848285016101c6565b91505092915050565b600080600080600060a08688031215610263576102626103a8565b5b600061027188828901610205565b9550506020610282888289016101db565b9450506040610293888289016101f0565b93505060606102a4888289016101f0565b92505060806102b588828901610205565b9150509295509295909350565b6102cb81610372565b82525050565b6102da81610328565b82525050565b60006020820190506102f560008301846102c2565b92915050565b600060208201905061031060008301846102d1565b92915050565b600061032182610332565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600069ffffffffffffffffffff82169050919050565b600061037d82610384565b9050919050565b600061038f82610396565b9050919050565b60006103a182610332565b9050919050565b600080fd5b6103b681610316565b81146103c157600080fd5b50565b6103cd81610328565b81146103d857600080fd5b50565b6103e481610352565b81146103ef57600080fd5b50565b6103fb8161035c565b811461040657600080fd5b5056fea2646970667358221220e2123cdcf61a5a61afa8c6af3a147b77e0327c5f3f5d7a47b815b0e875dd742b64736f6c63430008070033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8E15F473 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x9E87A5CD EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0xCBD3DF38 EQ PUSH2 0x82 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x9E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x2FB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x6C PUSH2 0x15A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x79 SWAP2 SWAP1 PUSH2 0x2E0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x97 SWAP2 SWAP1 PUSH2 0x21A JUMP JUMPDEST PUSH2 0x183 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFEAF968C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0xA0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x10D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x121 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 0x145 SWAP2 SWAP1 PUSH2 0x247 JUMP JUMPDEST SWAP5 POP SWAP5 POP SWAP5 POP SWAP5 POP SWAP5 POP DUP4 SWAP6 POP POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1D5 DUP2 PUSH2 0x3AD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1EA DUP2 PUSH2 0x3C4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1FF DUP2 PUSH2 0x3DB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x214 DUP2 PUSH2 0x3F2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x230 JUMPI PUSH2 0x22F PUSH2 0x3A8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x23E DUP5 DUP3 DUP6 ADD PUSH2 0x1C6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x263 JUMPI PUSH2 0x262 PUSH2 0x3A8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x271 DUP9 DUP3 DUP10 ADD PUSH2 0x205 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x282 DUP9 DUP3 DUP10 ADD PUSH2 0x1DB JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x293 DUP9 DUP3 DUP10 ADD PUSH2 0x1F0 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x2A4 DUP9 DUP3 DUP10 ADD PUSH2 0x1F0 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x2B5 DUP9 DUP3 DUP10 ADD PUSH2 0x205 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH2 0x2CB DUP2 PUSH2 0x372 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2DA DUP2 PUSH2 0x328 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2F5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2C2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x310 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2D1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x321 DUP3 PUSH2 0x332 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH10 0xFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x37D DUP3 PUSH2 0x384 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x38F DUP3 PUSH2 0x396 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A1 DUP3 PUSH2 0x332 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3B6 DUP2 PUSH2 0x316 JUMP JUMPDEST DUP2 EQ PUSH2 0x3C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3CD DUP2 PUSH2 0x328 JUMP JUMPDEST DUP2 EQ PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3E4 DUP2 PUSH2 0x352 JUMP JUMPDEST DUP2 EQ PUSH2 0x3EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3FB DUP2 PUSH2 0x35C JUMP JUMPDEST DUP2 EQ PUSH2 0x406 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE2 SLT EXTCODECOPY 0xDC 0xF6 BYTE GAS PUSH2 0xAFA8 0xC6 0xAF GASPRICE EQ PUSH28 0x77E0327C5F3F5D7A47B815B0E875DD742B64736F6C63430008070033 ","sourceMap":"256:1462:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1215:286;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1615:101;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1004:114;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1215:286;1262:6;1294:14;1322:12;1348:17;1379;1410:22;1445:9;;;;;;;;;;:25;;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1280:192;;;;;;;;;;1489:5;1482:12;;;;;;;1215:286;:::o;1615:101::-;1660:21;1700:9;;;;;;;;;;;1693:16;;1615:101;:::o;1004:114::-;1100:10;1066:9;;:45;;;;;;;;;;;;;;;;;;1004:114;:::o;7:139:67:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:141::-;208:5;239:6;233:13;224:22;;255:32;281:5;255:32;:::i;:::-;152:141;;;;:::o;299:143::-;356:5;387:6;381:13;372:22;;403:33;430:5;403:33;:::i;:::-;299:143;;;;:::o;448:141::-;504:5;535:6;529:13;520:22;;551:32;577:5;551:32;:::i;:::-;448:141;;;;:::o;595:329::-;654:6;703:2;691:9;682:7;678:23;674:32;671:119;;;709:79;;:::i;:::-;671:119;829:1;854:53;899:7;890:6;879:9;875:22;854:53;:::i;:::-;844:63;;800:117;595:329;;;;:::o;930:971::-;1033:6;1041;1049;1057;1065;1114:3;1102:9;1093:7;1089:23;1085:33;1082:120;;;1121:79;;:::i;:::-;1082:120;1241:1;1266:63;1321:7;1312:6;1301:9;1297:22;1266:63;:::i;:::-;1256:73;;1212:127;1378:2;1404:63;1459:7;1450:6;1439:9;1435:22;1404:63;:::i;:::-;1394:73;;1349:128;1516:2;1542:64;1598:7;1589:6;1578:9;1574:22;1542:64;:::i;:::-;1532:74;;1487:129;1655:2;1681:64;1737:7;1728:6;1717:9;1713:22;1681:64;:::i;:::-;1671:74;;1626:129;1794:3;1821:63;1876:7;1867:6;1856:9;1852:22;1821:63;:::i;:::-;1811:73;;1765:129;930:971;;;;;;;;:::o;1907:189::-;2023:66;2083:5;2023:66;:::i;:::-;2018:3;2011:79;1907:189;;:::o;2102:115::-;2187:23;2204:5;2187:23;:::i;:::-;2182:3;2175:36;2102:115;;:::o;2223:280::-;2345:4;2383:2;2372:9;2368:18;2360:26;;2396:100;2493:1;2482:9;2478:17;2469:6;2396:100;:::i;:::-;2223:280;;;;:::o;2509:218::-;2600:4;2638:2;2627:9;2623:18;2615:26;;2651:69;2717:1;2706:9;2702:17;2693:6;2651:69;:::i;:::-;2509:218;;;;:::o;2814:96::-;2851:7;2880:24;2898:5;2880:24;:::i;:::-;2869:35;;2814:96;;;:::o;2916:76::-;2952:7;2981:5;2970:16;;2916:76;;;:::o;2998:126::-;3035:7;3075:42;3068:5;3064:54;3053:65;;2998:126;;;:::o;3130:77::-;3167:7;3196:5;3185:16;;3130:77;;;:::o;3213:105::-;3249:7;3289:22;3282:5;3278:34;3267:45;;3213:105;;;:::o;3324:155::-;3403:9;3436:37;3467:5;3436:37;:::i;:::-;3423:50;;3324:155;;;:::o;3485:126::-;3535:9;3568:37;3599:5;3568:37;:::i;:::-;3555:50;;3485:126;;;:::o;3617:113::-;3667:9;3700:24;3718:5;3700:24;:::i;:::-;3687:37;;3617:113;;;:::o;3859:117::-;3968:1;3965;3958:12;3982:122;4055:24;4073:5;4055:24;:::i;:::-;4048:5;4045:35;4035:63;;4094:1;4091;4084:12;4035:63;3982:122;:::o;4110:120::-;4182:23;4199:5;4182:23;:::i;:::-;4175:5;4172:34;4162:62;;4220:1;4217;4210:12;4162:62;4110:120;:::o;4236:122::-;4309:24;4327:5;4309:24;:::i;:::-;4302:5;4299:35;4289:63;;4348:1;4345;4338:12;4289:63;4236:122;:::o;4364:120::-;4436:23;4453:5;4436:23;:::i;:::-;4429:5;4426:34;4416:62;;4474:1;4471;4464:12;4416:62;4364:120;:::o"},"gasEstimates":{"creation":{"codeDepositCost":"217400","executionCost":"infinite","totalCost":"infinite"},"external":{"changePriceFeed(address)":"24744","getLatestPrice()":"infinite","getPriceFeed()":"2608"}},"methodIdentifiers":{"changePriceFeed(address)":"cbd3df38","getLatestPrice()":"8e15f473","getPriceFeed()":"9e87a5cd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_priceFeed\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_priceFeed\",\"type\":\"address\"}],\"name\":\"changePriceFeed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLatestPrice\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPriceFeed\",\"outputs\":[{\"internalType\":\"contract AggregatorV3Interface\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"changePriceFeed(address)\":{\"params\":{\"_priceFeed\":\"- Price Feed Address. Refer here https://docs.chain.link/data-feeds/price-feeds/addresses/?network=klaytn \"}},\"constructor\":{\"params\":{\"_priceFeed\":\"- Price Feed Address. Refer here https://docs.chain.link/data-feeds/price-feeds/addresses/?network=klaytn Network: Baobab Aggregator: LINK/KLAY Address: 0xf49f81b3d2F2a79b706621FA2D5934136352140c\"}},\"getLatestPrice()\":{\"returns\":{\"_0\":\"latest price\"}},\"getPriceFeed()\":{\"returns\":{\"_0\":\"Price Feed address\"}}},\"title\":\"The PriceConsumerV3 contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"changePriceFeed(address)\":{\"notice\":\"Changes price feed address \"},\"constructor\":{\"notice\":\"Executes once when a contract is created to initialize state variables\"},\"getLatestPrice()\":{\"notice\":\"Returns the latest price\"},\"getPriceFeed()\":{\"notice\":\"Returns the Price Feed address\"}},\"notice\":\"Acontract that returns latest price from Chainlink Price Feeds\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/PriceConsumerV3.sol\":\"PriceConsumerV3\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface AggregatorV3Interface {\\n  function decimals() external view returns (uint8);\\n\\n  function description() external view returns (string memory);\\n\\n  function version() external view returns (uint256);\\n\\n  function getRoundData(uint80 _roundId)\\n    external\\n    view\\n    returns (\\n      uint80 roundId,\\n      int256 answer,\\n      uint256 startedAt,\\n      uint256 updatedAt,\\n      uint80 answeredInRound\\n    );\\n\\n  function latestRoundData()\\n    external\\n    view\\n    returns (\\n      uint80 roundId,\\n      int256 answer,\\n      uint256 startedAt,\\n      uint256 updatedAt,\\n      uint80 answeredInRound\\n    );\\n}\\n\",\"keccak256\":\"0x6e6e4b0835904509406b070ee173b5bc8f677c19421b76be38aea3b1b3d30846\",\"license\":\"MIT\"},\"contracts/PriceConsumerV3.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.7;\\n\\nimport \\\"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol\\\";\\n\\n/**\\n * @title The PriceConsumerV3 contract\\n * @notice Acontract that returns latest price from Chainlink Price Feeds\\n */\\ncontract PriceConsumerV3 {\\n    AggregatorV3Interface internal priceFeed;\\n\\n    /**\\n     * @notice Executes once when a contract is created to initialize state variables\\n     *\\n     * @param _priceFeed - Price Feed Address. Refer here https://docs.chain.link/data-feeds/price-feeds/addresses/?network=klaytn\\n     *\\n     * Network: Baobab\\n     * Aggregator: LINK/KLAY\\n     * Address: 0xf49f81b3d2F2a79b706621FA2D5934136352140c\\n     */\\n    constructor(address _priceFeed) {\\n        priceFeed = AggregatorV3Interface(_priceFeed);\\n    }\\n\\n    /**\\n     * @notice Changes price feed address\\n     * \\n     * @param _priceFeed - Price Feed Address. Refer here https://docs.chain.link/data-feeds/price-feeds/addresses/?network=klaytn\\n     *\\n     * \\n     */\\n    function changePriceFeed(address _priceFeed) public {\\n        priceFeed = AggregatorV3Interface(_priceFeed);\\n    }\\n\\n    /**\\n     * @notice Returns the latest price\\n     *\\n     * @return latest price\\n     */\\n    function getLatestPrice() public view returns (int256) {\\n        (\\n            uint80 roundID,\\n            int256 price,\\n            uint256 startedAt,\\n            uint256 timeStamp,\\n            uint80 answeredInRound\\n        ) = priceFeed.latestRoundData();\\n        return price;\\n    }\\n\\n    \\n    /**\\n     * @notice Returns the Price Feed address\\n     *\\n     * @return Price Feed address\\n     */\\n    function getPriceFeed() public view returns (AggregatorV3Interface) {\\n        return priceFeed;\\n    }\\n}\\n\",\"keccak256\":\"0x685b65087232fc7e3dda731317e3a293b5f7343c7dede8adf90fa13fac424495\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[{"astId":3527,"contract":"contracts/PriceConsumerV3.sol:PriceConsumerV3","label":"priceFeed","offset":0,"slot":"0","type":"t_contract(AggregatorV3Interface)965"}],"types":{"t_contract(AggregatorV3Interface)965":{"encoding":"inplace","label":"contract AggregatorV3Interface","numberOfBytes":"20"}}},"userdoc":{"kind":"user","methods":{"changePriceFeed(address)":{"notice":"Changes price feed address "},"constructor":{"notice":"Executes once when a contract is created to initialize state variables"},"getLatestPrice()":{"notice":"Returns the latest price"},"getPriceFeed()":{"notice":"Returns the Price Feed address"}},"notice":"Acontract that returns latest price from Chainlink Price Feeds","version":1}}},"contracts/RandomNumberConsumerV2.sol":{"RandomNumberConsumerV2":{"abi":[{"inputs":[{"internalType":"uint64","name":"subscriptionId","type":"uint64"},{"internalType":"address","name":"vrfCoordinator","type":"address"},{"internalType":"bytes32","name":"keyHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"have","type":"address"},{"internalType":"address","name":"want","type":"address"}],"name":"OnlyCoordinatorCanFulfill","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"randomWords","type":"uint256[]"}],"name":"ReturnedRandomness","type":"event"},{"inputs":[],"name":"getRandomWordsCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"requestId","type":"uint256"},{"internalType":"uint256[]","name":"randomWords","type":"uint256[]"}],"name":"rawFulfillRandomWords","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_numWords","type":"uint32"}],"name":"requestRandomWords","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"s_randomWords","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_requestId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{"constructor":{"params":{"keyHash":"- the gas lane to use, which specifies the maximum gas price to bump to","subscriptionId":"- the subscription ID that this contract uses for funding requests","vrfCoordinator":"- coordinator, check https://docs.chain.link/docs/vrf-contracts/#configurations"}},"getRandomWordsCount()":{"returns":{"_0":"Length of random words array"}},"requestRandomWords(uint32)":{"params":{"_numWords":"- retrieve no of random values in one request. Cannot exceed VRFCoordinatorV2.MAX_NUM_WORDS. Assumes the subscription is funded sufficiently; \"Words\" refers to unit of data in Computer Science"}}},"title":"The RandomNumberConsumerV2 contract","version":1},"evm":{"bytecode":{"functionDebugData":{"@_3652":{"entryPoint":null,"id":3652,"parameterSlots":3,"returnSlots":0},"@_883":{"entryPoint":null,"id":883,"parameterSlots":1,"returnSlots":0},"abi_decode_t_address_fromMemory":{"entryPoint":281,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32_fromMemory":{"entryPoint":304,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint64_fromMemory":{"entryPoint":327,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint64t_addresst_bytes32_fromMemory":{"entryPoint":350,"id":null,"parameterSlots":2,"returnSlots":3},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"cleanup_t_address":{"entryPoint":442,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":462,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":472,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint64":{"entryPoint":504,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":524,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_t_address":{"entryPoint":529,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":555,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint64":{"entryPoint":581,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:2249:67","statements":[{"body":{"nodeType":"YulBlock","src":"70:80:67","statements":[{"nodeType":"YulAssignment","src":"80:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"95:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"89:5:67"},"nodeType":"YulFunctionCall","src":"89:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"80:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"138:5:67"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"111:26:67"},"nodeType":"YulFunctionCall","src":"111:33:67"},"nodeType":"YulExpressionStatement","src":"111:33:67"}]},"name":"abi_decode_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"48:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"56:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"64:5:67","type":""}],"src":"7:143:67"},{"body":{"nodeType":"YulBlock","src":"219:80:67","statements":[{"nodeType":"YulAssignment","src":"229:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"244:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"238:5:67"},"nodeType":"YulFunctionCall","src":"238:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"229:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"287:5:67"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"260:26:67"},"nodeType":"YulFunctionCall","src":"260:33:67"},"nodeType":"YulExpressionStatement","src":"260:33:67"}]},"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"197:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"205:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"213:5:67","type":""}],"src":"156:143:67"},{"body":{"nodeType":"YulBlock","src":"367:79:67","statements":[{"nodeType":"YulAssignment","src":"377:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"392:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"386:5:67"},"nodeType":"YulFunctionCall","src":"386:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"377:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"434:5:67"}],"functionName":{"name":"validator_revert_t_uint64","nodeType":"YulIdentifier","src":"408:25:67"},"nodeType":"YulFunctionCall","src":"408:32:67"},"nodeType":"YulExpressionStatement","src":"408:32:67"}]},"name":"abi_decode_t_uint64_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"345:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"353:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"361:5:67","type":""}],"src":"305:141:67"},{"body":{"nodeType":"YulBlock","src":"562:551:67","statements":[{"body":{"nodeType":"YulBlock","src":"608:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"610:77:67"},"nodeType":"YulFunctionCall","src":"610:79:67"},"nodeType":"YulExpressionStatement","src":"610:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"583:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"592:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"579:3:67"},"nodeType":"YulFunctionCall","src":"579:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"604:2:67","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"575:3:67"},"nodeType":"YulFunctionCall","src":"575:32:67"},"nodeType":"YulIf","src":"572:119:67"},{"nodeType":"YulBlock","src":"701:127:67","statements":[{"nodeType":"YulVariableDeclaration","src":"716:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"730:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"720:6:67","type":""}]},{"nodeType":"YulAssignment","src":"745:73:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"790:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"801:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"786:3:67"},"nodeType":"YulFunctionCall","src":"786:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"810:7:67"}],"functionName":{"name":"abi_decode_t_uint64_fromMemory","nodeType":"YulIdentifier","src":"755:30:67"},"nodeType":"YulFunctionCall","src":"755:63:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"745:6:67"}]}]},{"nodeType":"YulBlock","src":"838:129:67","statements":[{"nodeType":"YulVariableDeclaration","src":"853:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"867:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"857:6:67","type":""}]},{"nodeType":"YulAssignment","src":"883:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"929:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"940:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"925:3:67"},"nodeType":"YulFunctionCall","src":"925:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"949:7:67"}],"functionName":{"name":"abi_decode_t_address_fromMemory","nodeType":"YulIdentifier","src":"893:31:67"},"nodeType":"YulFunctionCall","src":"893:64:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"883:6:67"}]}]},{"nodeType":"YulBlock","src":"977:129:67","statements":[{"nodeType":"YulVariableDeclaration","src":"992:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1006:2:67","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"996:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1022:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1068:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1079:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1064:3:67"},"nodeType":"YulFunctionCall","src":"1064:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1088:7:67"}],"functionName":{"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulIdentifier","src":"1032:31:67"},"nodeType":"YulFunctionCall","src":"1032:64:67"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1022:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint64t_addresst_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"516:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"527:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"539:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"547:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"555:6:67","type":""}],"src":"452:661:67"},{"body":{"nodeType":"YulBlock","src":"1159:35:67","statements":[{"nodeType":"YulAssignment","src":"1169:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1185:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1179:5:67"},"nodeType":"YulFunctionCall","src":"1179:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1169:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1152:6:67","type":""}],"src":"1119:75:67"},{"body":{"nodeType":"YulBlock","src":"1245:51:67","statements":[{"nodeType":"YulAssignment","src":"1255:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1284:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"1266:17:67"},"nodeType":"YulFunctionCall","src":"1266:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"1255:7:67"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1227:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"1237:7:67","type":""}],"src":"1200:96:67"},{"body":{"nodeType":"YulBlock","src":"1347:32:67","statements":[{"nodeType":"YulAssignment","src":"1357:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"1368:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"1357:7:67"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1329:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"1339:7:67","type":""}],"src":"1302:77:67"},{"body":{"nodeType":"YulBlock","src":"1430:81:67","statements":[{"nodeType":"YulAssignment","src":"1440:65:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1455:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"1462:42:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1451:3:67"},"nodeType":"YulFunctionCall","src":"1451:54:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"1440:7:67"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1412:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"1422:7:67","type":""}],"src":"1385:126:67"},{"body":{"nodeType":"YulBlock","src":"1561:57:67","statements":[{"nodeType":"YulAssignment","src":"1571:41:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1586:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"1593:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1582:3:67"},"nodeType":"YulFunctionCall","src":"1582:30:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"1571:7:67"}]}]},"name":"cleanup_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1543:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"1553:7:67","type":""}],"src":"1517:101:67"},{"body":{"nodeType":"YulBlock","src":"1713:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1730:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1733:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1723:6:67"},"nodeType":"YulFunctionCall","src":"1723:12:67"},"nodeType":"YulExpressionStatement","src":"1723:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"1624:117:67"},{"body":{"nodeType":"YulBlock","src":"1836:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1853:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1856:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1846:6:67"},"nodeType":"YulFunctionCall","src":"1846:12:67"},"nodeType":"YulExpressionStatement","src":"1846:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"1747:117:67"},{"body":{"nodeType":"YulBlock","src":"1913:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"1970:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1979:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1982:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1972:6:67"},"nodeType":"YulFunctionCall","src":"1972:12:67"},"nodeType":"YulExpressionStatement","src":"1972:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1936:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1961:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"1943:17:67"},"nodeType":"YulFunctionCall","src":"1943:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1933:2:67"},"nodeType":"YulFunctionCall","src":"1933:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1926:6:67"},"nodeType":"YulFunctionCall","src":"1926:43:67"},"nodeType":"YulIf","src":"1923:63:67"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1906:5:67","type":""}],"src":"1870:122:67"},{"body":{"nodeType":"YulBlock","src":"2041:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"2098:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2107:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2110:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2100:6:67"},"nodeType":"YulFunctionCall","src":"2100:12:67"},"nodeType":"YulExpressionStatement","src":"2100:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2064:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2089:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"2071:17:67"},"nodeType":"YulFunctionCall","src":"2071:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2061:2:67"},"nodeType":"YulFunctionCall","src":"2061:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2054:6:67"},"nodeType":"YulFunctionCall","src":"2054:43:67"},"nodeType":"YulIf","src":"2051:63:67"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2034:5:67","type":""}],"src":"1998:122:67"},{"body":{"nodeType":"YulBlock","src":"2168:78:67","statements":[{"body":{"nodeType":"YulBlock","src":"2224:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2233:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2236:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2226:6:67"},"nodeType":"YulFunctionCall","src":"2226:12:67"},"nodeType":"YulExpressionStatement","src":"2226:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2191:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2215:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"2198:16:67"},"nodeType":"YulFunctionCall","src":"2198:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2188:2:67"},"nodeType":"YulFunctionCall","src":"2188:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2181:6:67"},"nodeType":"YulFunctionCall","src":"2181:42:67"},"nodeType":"YulIf","src":"2178:62:67"}]},"name":"validator_revert_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2161:5:67","type":""}],"src":"2126:120:67"}]},"contents":"{\n\n    function abi_decode_t_address_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_address(value)\n    }\n\n    function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_bytes32(value)\n    }\n\n    function abi_decode_t_uint64_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_uint64(value)\n    }\n\n    function abi_decode_tuple_t_uint64t_addresst_bytes32_fromMemory(headStart, dataEnd) -> value0, value1, value2 {\n        if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint64_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 64\n\n            value2 := abi_decode_t_bytes32_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function cleanup_t_address(value) -> cleaned {\n        cleaned := cleanup_t_uint160(value)\n    }\n\n    function cleanup_t_bytes32(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_uint160(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n    }\n\n    function cleanup_t_uint64(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffff)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function validator_revert_t_address(value) {\n        if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_bytes32(value) {\n        if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint64(value) {\n        if iszero(eq(value, cleanup_t_uint64(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"6101006040523480156200001257600080fd5b5060405162000bf838038062000bf883398181016040528101906200003891906200015e565b818073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b81525050508173ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508060e0818152505033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508267ffffffffffffffff1660c08167ffffffffffffffff1660c01b815250505050506200025f565b6000815190506200012a8162000211565b92915050565b60008151905062000141816200022b565b92915050565b600081519050620001588162000245565b92915050565b6000806000606084860312156200017a57620001796200020c565b5b60006200018a8682870162000147565b93505060206200019d8682870162000119565b9250506040620001b08682870162000130565b9150509250925092565b6000620001c782620001d8565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600080fd5b6200021c81620001ba565b81146200022857600080fd5b50565b6200023681620001ce565b81146200024257600080fd5b50565b6200025081620001f8565b81146200025c57600080fd5b50565b60805160601c60a05160601c60c05160c01c60e05161094f620002a9600039600061026401526000610285015260006102280152600081816101020152610156015261094f6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80631fe543e31461005c578063705a050b14610078578063e726f2e114610096578063e89e106a146100b2578063f6eaffc8146100d0575b600080fd5b61007660048036038101906100719190610543565b610100565b005b6100806101c0565b60405161008d9190610749565b60405180910390f35b6100b060048036038101906100ab919061059f565b6101cc565b005b6100ba610326565b6040516100c79190610749565b60405180910390f35b6100ea60048036038101906100e591906104e9565b61032c565b6040516100f79190610749565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101b257337f00000000000000000000000000000000000000000000000000000000000000006040517f1cf993f40000000000000000000000000000000000000000000000000000000081526004016101a99291906106ab565b60405180910390fd5b6101bc8282610350565b5050565b60008080549050905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461022657600080fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16635d3b1d307f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006003620186a0866040518663ffffffff1660e01b81526004016102cb9594939291906106f6565b602060405180830381600087803b1580156102e557600080fd5b505af11580156102f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031d9190610516565b60018190555050565b60015481565b6000818154811061033c57600080fd5b906000526020600020016000915090505481565b80600090805190602001906103669291906103a2565b507fefb16d61046900da527008568620fb9f8420e2f5ed4de3bfbded5035c9362b0e8160405161039691906106d4565b60405180910390a15050565b8280548282559060005260206000209081019282156103de579160200282015b828111156103dd5782518255916020019190600101906103c2565b5b5090506103eb91906103ef565b5090565b5b808211156104085760008160009055506001016103f0565b5090565b600061041f61041a84610789565b610764565b90508083825260208201905082856020860282011115610442576104416108cb565b5b60005b85811015610472578161045888826104aa565b845260208401935060208301925050600181019050610445565b5050509392505050565b600082601f830112610491576104906108c6565b5b81356104a184826020860161040c565b91505092915050565b6000813590506104b9816108eb565b92915050565b6000815190506104ce816108eb565b92915050565b6000813590506104e381610902565b92915050565b6000602082840312156104ff576104fe6108d5565b5b600061050d848285016104aa565b91505092915050565b60006020828403121561052c5761052b6108d5565b5b600061053a848285016104bf565b91505092915050565b6000806040838503121561055a576105596108d5565b5b6000610568858286016104aa565b925050602083013567ffffffffffffffff811115610589576105886108d0565b5b6105958582860161047c565b9150509250929050565b6000602082840312156105b5576105b46108d5565b5b60006105c3848285016104d4565b91505092915050565b60006105d8838361066f565b60208301905092915050565b6105ed816107ee565b82525050565b60006105fe826107c5565b61060881856107dd565b9350610613836107b5565b8060005b8381101561064457815161062b88826105cc565b9750610636836107d0565b925050600181019050610617565b5085935050505092915050565b61065a81610800565b82525050565b6106698161080a565b82525050565b61067881610838565b82525050565b61068781610838565b82525050565b61069681610842565b82525050565b6106a581610852565b82525050565b60006040820190506106c060008301856105e4565b6106cd60208301846105e4565b9392505050565b600060208201905081810360008301526106ee81846105f3565b905092915050565b600060a08201905061070b6000830188610651565b610718602083018761069c565b6107256040830186610660565b610732606083018561068d565b61073f608083018461068d565b9695505050505050565b600060208201905061075e600083018461067e565b92915050565b600061076e61077f565b905061077a8282610866565b919050565b6000604051905090565b600067ffffffffffffffff8211156107a4576107a3610897565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b60006107f982610818565b9050919050565b6000819050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b61086f826108da565b810181811067ffffffffffffffff8211171561088e5761088d610897565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b6108f481610838565b81146108ff57600080fd5b50565b61090b81610842565b811461091657600080fd5b5056fea26469706673582212200a0444b18f837b5ec7b87cc70f59d801f88c6dc1603f60c0a1a7abcd64b6c6bc64736f6c63430008070033","opcodes":"PUSH2 0x100 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0xBF8 CODESIZE SUB DUP1 PUSH3 0xBF8 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x38 SWAP2 SWAP1 PUSH3 0x15E JUMP JUMPDEST DUP2 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 SHL DUP2 MSTORE POP POP POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xA0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 SHL DUP2 MSTORE POP POP DUP1 PUSH1 0xE0 DUP2 DUP2 MSTORE POP POP CALLER PUSH1 0x2 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0xC0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0xC0 SHL DUP2 MSTORE POP POP POP POP POP PUSH3 0x25F JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x12A DUP2 PUSH3 0x211 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x141 DUP2 PUSH3 0x22B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x158 DUP2 PUSH3 0x245 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH3 0x17A JUMPI PUSH3 0x179 PUSH3 0x20C JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH3 0x18A DUP7 DUP3 DUP8 ADD PUSH3 0x147 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH3 0x19D DUP7 DUP3 DUP8 ADD PUSH3 0x119 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH3 0x1B0 DUP7 DUP3 DUP8 ADD PUSH3 0x130 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH3 0x1C7 DUP3 PUSH3 0x1D8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x21C DUP2 PUSH3 0x1BA JUMP JUMPDEST DUP2 EQ PUSH3 0x228 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH3 0x236 DUP2 PUSH3 0x1CE JUMP JUMPDEST DUP2 EQ PUSH3 0x242 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH3 0x250 DUP2 PUSH3 0x1F8 JUMP JUMPDEST DUP2 EQ PUSH3 0x25C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0x60 SHR PUSH1 0xA0 MLOAD PUSH1 0x60 SHR PUSH1 0xC0 MLOAD PUSH1 0xC0 SHR PUSH1 0xE0 MLOAD PUSH2 0x94F PUSH3 0x2A9 PUSH1 0x0 CODECOPY PUSH1 0x0 PUSH2 0x264 ADD MSTORE PUSH1 0x0 PUSH2 0x285 ADD MSTORE PUSH1 0x0 PUSH2 0x228 ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH2 0x102 ADD MSTORE PUSH2 0x156 ADD MSTORE PUSH2 0x94F PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1FE543E3 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x705A050B EQ PUSH2 0x78 JUMPI DUP1 PUSH4 0xE726F2E1 EQ PUSH2 0x96 JUMPI DUP1 PUSH4 0xE89E106A EQ PUSH2 0xB2 JUMPI DUP1 PUSH4 0xF6EAFFC8 EQ PUSH2 0xD0 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x76 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x543 JUMP JUMPDEST PUSH2 0x100 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x80 PUSH2 0x1C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8D SWAP2 SWAP1 PUSH2 0x749 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAB SWAP2 SWAP1 PUSH2 0x59F JUMP JUMPDEST PUSH2 0x1CC JUMP JUMPDEST STOP JUMPDEST PUSH2 0xBA PUSH2 0x326 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC7 SWAP2 SWAP1 PUSH2 0x749 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xEA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE5 SWAP2 SWAP1 PUSH2 0x4E9 JUMP JUMPDEST PUSH2 0x32C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF7 SWAP2 SWAP1 PUSH2 0x749 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1B2 JUMPI CALLER PUSH32 0x0 PUSH1 0x40 MLOAD PUSH32 0x1CF993F400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A9 SWAP3 SWAP2 SWAP1 PUSH2 0x6AB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1BC DUP3 DUP3 PUSH2 0x350 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x226 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5D3B1D30 PUSH32 0x0 PUSH32 0x0 PUSH1 0x3 PUSH3 0x186A0 DUP7 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2CB SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x6F6 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2F9 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 0x31D SWAP2 SWAP1 PUSH2 0x516 JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x33C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST DUP1 PUSH1 0x0 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x366 SWAP3 SWAP2 SWAP1 PUSH2 0x3A2 JUMP JUMPDEST POP PUSH32 0xEFB16D61046900DA527008568620FB9F8420E2F5ED4DE3BFBDED5035C9362B0E DUP2 PUSH1 0x40 MLOAD PUSH2 0x396 SWAP2 SWAP1 PUSH2 0x6D4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x3DE JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x3DD JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x3C2 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x3EB SWAP2 SWAP1 PUSH2 0x3EF JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x408 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x3F0 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x41F PUSH2 0x41A DUP5 PUSH2 0x789 JUMP JUMPDEST PUSH2 0x764 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x442 JUMPI PUSH2 0x441 PUSH2 0x8CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x472 JUMPI DUP2 PUSH2 0x458 DUP9 DUP3 PUSH2 0x4AA JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x445 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x491 JUMPI PUSH2 0x490 PUSH2 0x8C6 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x4A1 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x40C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4B9 DUP2 PUSH2 0x8EB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x4CE DUP2 PUSH2 0x8EB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4E3 DUP2 PUSH2 0x902 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4FF JUMPI PUSH2 0x4FE PUSH2 0x8D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x50D DUP5 DUP3 DUP6 ADD PUSH2 0x4AA JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x52C JUMPI PUSH2 0x52B PUSH2 0x8D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x53A DUP5 DUP3 DUP6 ADD PUSH2 0x4BF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x55A JUMPI PUSH2 0x559 PUSH2 0x8D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x568 DUP6 DUP3 DUP7 ADD PUSH2 0x4AA JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x589 JUMPI PUSH2 0x588 PUSH2 0x8D0 JUMP JUMPDEST JUMPDEST PUSH2 0x595 DUP6 DUP3 DUP7 ADD PUSH2 0x47C JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5B5 JUMPI PUSH2 0x5B4 PUSH2 0x8D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5C3 DUP5 DUP3 DUP6 ADD PUSH2 0x4D4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5D8 DUP4 DUP4 PUSH2 0x66F JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x5ED DUP2 PUSH2 0x7EE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5FE DUP3 PUSH2 0x7C5 JUMP JUMPDEST PUSH2 0x608 DUP2 DUP6 PUSH2 0x7DD JUMP JUMPDEST SWAP4 POP PUSH2 0x613 DUP4 PUSH2 0x7B5 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x644 JUMPI DUP2 MLOAD PUSH2 0x62B DUP9 DUP3 PUSH2 0x5CC JUMP JUMPDEST SWAP8 POP PUSH2 0x636 DUP4 PUSH2 0x7D0 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x617 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x65A DUP2 PUSH2 0x800 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x669 DUP2 PUSH2 0x80A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x678 DUP2 PUSH2 0x838 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x687 DUP2 PUSH2 0x838 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x696 DUP2 PUSH2 0x842 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x6A5 DUP2 PUSH2 0x852 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x6C0 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x5E4 JUMP JUMPDEST PUSH2 0x6CD PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x5E4 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x6EE DUP2 DUP5 PUSH2 0x5F3 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x70B PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x651 JUMP JUMPDEST PUSH2 0x718 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x69C JUMP JUMPDEST PUSH2 0x725 PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x660 JUMP JUMPDEST PUSH2 0x732 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x68D JUMP JUMPDEST PUSH2 0x73F PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x68D JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x75E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x67E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x76E PUSH2 0x77F JUMP JUMPDEST SWAP1 POP PUSH2 0x77A DUP3 DUP3 PUSH2 0x866 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x7A4 JUMPI PUSH2 0x7A3 PUSH2 0x897 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7F9 DUP3 PUSH2 0x818 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x86F DUP3 PUSH2 0x8DA JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x88E JUMPI PUSH2 0x88D PUSH2 0x897 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x8F4 DUP2 PUSH2 0x838 JUMP JUMPDEST DUP2 EQ PUSH2 0x8FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x90B DUP2 PUSH2 0x842 JUMP JUMPDEST DUP2 EQ PUSH2 0x916 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXP DIV DIFFICULTY 0xB1 DUP16 DUP4 PUSH28 0x5EC7B87CC70F59D801F88C6DC1603F60C0A1A7ABCD64B6C6BC64736F PUSH13 0x63430008070033000000000000 ","sourceMap":"403:2892:20:-:0;;;1851:282;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1961:14;5616:15:2;5599:32;;;;;;;;;;;;5556:80;2023:14:20::1;1983:55;;;;;;;;;;::::0;::::1;2056:7;2044:19;;;;::::0;::::1;2079:10;2069:7;;:20;;;;;;;;;;;;;;;;;;2114:14;2095:33;;;;;;;;;;::::0;::::1;1851:282:::0;;;403:2892;;7:143:67;64:5;95:6;89:13;80:22;;111:33;138:5;111:33;:::i;:::-;7:143;;;;:::o;156:::-;213:5;244:6;238:13;229:22;;260:33;287:5;260:33;:::i;:::-;156:143;;;;:::o;305:141::-;361:5;392:6;386:13;377:22;;408:32;434:5;408:32;:::i;:::-;305:141;;;;:::o;452:661::-;539:6;547;555;604:2;592:9;583:7;579:23;575:32;572:119;;;610:79;;:::i;:::-;572:119;730:1;755:63;810:7;801:6;790:9;786:22;755:63;:::i;:::-;745:73;;701:127;867:2;893:64;949:7;940:6;929:9;925:22;893:64;:::i;:::-;883:74;;838:129;1006:2;1032:64;1088:7;1079:6;1068:9;1064:22;1032:64;:::i;:::-;1022:74;;977:129;452:661;;;;;:::o;1200:96::-;1237:7;1266:24;1284:5;1266:24;:::i;:::-;1255:35;;1200:96;;;:::o;1302:77::-;1339:7;1368:5;1357:16;;1302:77;;;:::o;1385:126::-;1422:7;1462:42;1455:5;1451:54;1440:65;;1385:126;;;:::o;1517:101::-;1553:7;1593:18;1586:5;1582:30;1571:41;;1517:101;;;:::o;1747:117::-;1856:1;1853;1846:12;1870:122;1943:24;1961:5;1943:24;:::i;:::-;1936:5;1933:35;1923:63;;1982:1;1979;1972:12;1923:63;1870:122;:::o;1998:::-;2071:24;2089:5;2071:24;:::i;:::-;2064:5;2061:35;2051:63;;2110:1;2107;2100:12;2051:63;1998:122;:::o;2126:120::-;2198:23;2215:5;2198:23;:::i;:::-;2191:5;2188:34;2178:62;;2236:1;2233;2226:12;2178:62;2126:120;:::o;403:2892:20:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@fulfillRandomWords_3701":{"entryPoint":848,"id":3701,"parameterSlots":2,"returnSlots":0},"@getRandomWordsCount_3662":{"entryPoint":448,"id":3662,"parameterSlots":0,"returnSlots":1},"@rawFulfillRandomWords_918":{"entryPoint":256,"id":918,"parameterSlots":2,"returnSlots":0},"@requestRandomWords_3682":{"entryPoint":460,"id":3682,"parameterSlots":1,"returnSlots":0},"@s_randomWords_3610":{"entryPoint":812,"id":3610,"parameterSlots":0,"returnSlots":0},"@s_requestId_3612":{"entryPoint":806,"id":3612,"parameterSlots":0,"returnSlots":0},"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":1036,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":1148,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":1194,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256_fromMemory":{"entryPoint":1215,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint32":{"entryPoint":1236,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":1257,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":1302,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":1347,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint32":{"entryPoint":1439,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_uint256_to_t_uint256":{"entryPoint":1484,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_address_to_t_address_fromStack":{"entryPoint":1508,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack":{"entryPoint":1523,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes32_to_t_bytes32_fromStack":{"entryPoint":1617,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint16_to_t_uint16_fromStack":{"entryPoint":1632,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256":{"entryPoint":1647,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":1662,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint32_to_t_uint32_fromStack":{"entryPoint":1677,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint64_to_t_uint64_fromStack":{"entryPoint":1692,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed":{"entryPoint":1707,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":1748,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint64_t_uint16_t_uint32_t_uint32__to_t_bytes32_t_uint64_t_uint16_t_uint32_t_uint32__fromStack_reversed":{"entryPoint":1782,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":1865,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":1892,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":1919,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":1929,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":1973,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":1989,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":2000,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack":{"entryPoint":2013,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_address":{"entryPoint":2030,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":2048,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint16":{"entryPoint":2058,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":2072,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":2104,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint32":{"entryPoint":2114,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint64":{"entryPoint":2130,"id":null,"parameterSlots":1,"returnSlots":1},"finalize_allocation":{"entryPoint":2150,"id":null,"parameterSlots":2,"returnSlots":0},"panic_error_0x41":{"entryPoint":2199,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":2246,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":2251,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":2256,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":2261,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":2266,"id":null,"parameterSlots":1,"returnSlots":1},"validator_revert_t_uint256":{"entryPoint":2283,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint32":{"entryPoint":2306,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:9823:67","statements":[{"body":{"nodeType":"YulBlock","src":"126:620:67","statements":[{"nodeType":"YulAssignment","src":"136:90:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"218:6:67"}],"functionName":{"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"161:56:67"},"nodeType":"YulFunctionCall","src":"161:64:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"145:15:67"},"nodeType":"YulFunctionCall","src":"145:81:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"136:5:67"}]},{"nodeType":"YulVariableDeclaration","src":"235:16:67","value":{"name":"array","nodeType":"YulIdentifier","src":"246:5:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"239:3:67","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"268:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"275:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"261:6:67"},"nodeType":"YulFunctionCall","src":"261:21:67"},"nodeType":"YulExpressionStatement","src":"261:21:67"},{"nodeType":"YulAssignment","src":"291:23:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"302:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"309:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"298:3:67"},"nodeType":"YulFunctionCall","src":"298:16:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"291:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"324:17:67","value":{"name":"offset","nodeType":"YulIdentifier","src":"335:6:67"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"328:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"390:103:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"404:77:67"},"nodeType":"YulFunctionCall","src":"404:79:67"},"nodeType":"YulExpressionStatement","src":"404:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"360:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"369:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"377:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"365:3:67"},"nodeType":"YulFunctionCall","src":"365:17:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"356:3:67"},"nodeType":"YulFunctionCall","src":"356:27:67"},{"name":"end","nodeType":"YulIdentifier","src":"385:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"353:2:67"},"nodeType":"YulFunctionCall","src":"353:36:67"},"nodeType":"YulIf","src":"350:143:67"},{"body":{"nodeType":"YulBlock","src":"562:178:67","statements":[{"nodeType":"YulVariableDeclaration","src":"577:21:67","value":{"name":"src","nodeType":"YulIdentifier","src":"595:3:67"},"variables":[{"name":"elementPos","nodeType":"YulTypedName","src":"581:10:67","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"619:3:67"},{"arguments":[{"name":"elementPos","nodeType":"YulIdentifier","src":"645:10:67"},{"name":"end","nodeType":"YulIdentifier","src":"657:3:67"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"624:20:67"},"nodeType":"YulFunctionCall","src":"624:37:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"612:6:67"},"nodeType":"YulFunctionCall","src":"612:50:67"},"nodeType":"YulExpressionStatement","src":"612:50:67"},{"nodeType":"YulAssignment","src":"675:21:67","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"686:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"691:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"682:3:67"},"nodeType":"YulFunctionCall","src":"682:14:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"675:3:67"}]},{"nodeType":"YulAssignment","src":"709:21:67","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"720:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"725:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"716:3:67"},"nodeType":"YulFunctionCall","src":"716:14:67"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"709:3:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"524:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"527:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"521:2:67"},"nodeType":"YulFunctionCall","src":"521:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"535:18:67","statements":[{"nodeType":"YulAssignment","src":"537:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"546:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"549:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"542:3:67"},"nodeType":"YulFunctionCall","src":"542:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"537:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"506:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"508:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"517:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"512:1:67","type":""}]}]},"src":"502:238:67"}]},"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"96:6:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"104:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"112:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"120:5:67","type":""}],"src":"24:722:67"},{"body":{"nodeType":"YulBlock","src":"846:293:67","statements":[{"body":{"nodeType":"YulBlock","src":"895:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"897:77:67"},"nodeType":"YulFunctionCall","src":"897:79:67"},"nodeType":"YulExpressionStatement","src":"897:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"874:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"882:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"870:3:67"},"nodeType":"YulFunctionCall","src":"870:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"889:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"866:3:67"},"nodeType":"YulFunctionCall","src":"866:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"859:6:67"},"nodeType":"YulFunctionCall","src":"859:35:67"},"nodeType":"YulIf","src":"856:122:67"},{"nodeType":"YulVariableDeclaration","src":"987:34:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1014:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1001:12:67"},"nodeType":"YulFunctionCall","src":"1001:20:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"991:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1030:103:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1106:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1114:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1102:3:67"},"nodeType":"YulFunctionCall","src":"1102:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"1121:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"1129:3:67"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"1039:62:67"},"nodeType":"YulFunctionCall","src":"1039:94:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1030:5:67"}]}]},"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"824:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"832:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"840:5:67","type":""}],"src":"769:370:67"},{"body":{"nodeType":"YulBlock","src":"1197:87:67","statements":[{"nodeType":"YulAssignment","src":"1207:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1229:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1216:12:67"},"nodeType":"YulFunctionCall","src":"1216:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1207:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1272:5:67"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"1245:26:67"},"nodeType":"YulFunctionCall","src":"1245:33:67"},"nodeType":"YulExpressionStatement","src":"1245:33:67"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1175:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1183:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1191:5:67","type":""}],"src":"1145:139:67"},{"body":{"nodeType":"YulBlock","src":"1353:80:67","statements":[{"nodeType":"YulAssignment","src":"1363:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1378:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1372:5:67"},"nodeType":"YulFunctionCall","src":"1372:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1363:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1421:5:67"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"1394:26:67"},"nodeType":"YulFunctionCall","src":"1394:33:67"},"nodeType":"YulExpressionStatement","src":"1394:33:67"}]},"name":"abi_decode_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1331:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1339:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1347:5:67","type":""}],"src":"1290:143:67"},{"body":{"nodeType":"YulBlock","src":"1490:86:67","statements":[{"nodeType":"YulAssignment","src":"1500:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1522:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1509:12:67"},"nodeType":"YulFunctionCall","src":"1509:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1500:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1564:5:67"}],"functionName":{"name":"validator_revert_t_uint32","nodeType":"YulIdentifier","src":"1538:25:67"},"nodeType":"YulFunctionCall","src":"1538:32:67"},"nodeType":"YulExpressionStatement","src":"1538:32:67"}]},"name":"abi_decode_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1468:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1476:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1484:5:67","type":""}],"src":"1439:137:67"},{"body":{"nodeType":"YulBlock","src":"1648:263:67","statements":[{"body":{"nodeType":"YulBlock","src":"1694:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1696:77:67"},"nodeType":"YulFunctionCall","src":"1696:79:67"},"nodeType":"YulExpressionStatement","src":"1696:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1669:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"1678:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1665:3:67"},"nodeType":"YulFunctionCall","src":"1665:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"1690:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1661:3:67"},"nodeType":"YulFunctionCall","src":"1661:32:67"},"nodeType":"YulIf","src":"1658:119:67"},{"nodeType":"YulBlock","src":"1787:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1802:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1816:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1806:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1831:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1866:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1877:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1862:3:67"},"nodeType":"YulFunctionCall","src":"1862:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1886:7:67"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"1841:20:67"},"nodeType":"YulFunctionCall","src":"1841:53:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1831:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1618:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1629:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1641:6:67","type":""}],"src":"1582:329:67"},{"body":{"nodeType":"YulBlock","src":"1994:274:67","statements":[{"body":{"nodeType":"YulBlock","src":"2040:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"2042:77:67"},"nodeType":"YulFunctionCall","src":"2042:79:67"},"nodeType":"YulExpressionStatement","src":"2042:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2015:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"2024:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2011:3:67"},"nodeType":"YulFunctionCall","src":"2011:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"2036:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2007:3:67"},"nodeType":"YulFunctionCall","src":"2007:32:67"},"nodeType":"YulIf","src":"2004:119:67"},{"nodeType":"YulBlock","src":"2133:128:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2148:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"2162:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2152:6:67","type":""}]},{"nodeType":"YulAssignment","src":"2177:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2223:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2234:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2219:3:67"},"nodeType":"YulFunctionCall","src":"2219:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2243:7:67"}],"functionName":{"name":"abi_decode_t_uint256_fromMemory","nodeType":"YulIdentifier","src":"2187:31:67"},"nodeType":"YulFunctionCall","src":"2187:64:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2177:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1964:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1975:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1987:6:67","type":""}],"src":"1917:351:67"},{"body":{"nodeType":"YulBlock","src":"2382:576:67","statements":[{"body":{"nodeType":"YulBlock","src":"2428:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"2430:77:67"},"nodeType":"YulFunctionCall","src":"2430:79:67"},"nodeType":"YulExpressionStatement","src":"2430:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2403:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"2412:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2399:3:67"},"nodeType":"YulFunctionCall","src":"2399:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"2424:2:67","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2395:3:67"},"nodeType":"YulFunctionCall","src":"2395:32:67"},"nodeType":"YulIf","src":"2392:119:67"},{"nodeType":"YulBlock","src":"2521:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2536:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"2550:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2540:6:67","type":""}]},{"nodeType":"YulAssignment","src":"2565:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2600:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2611:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2596:3:67"},"nodeType":"YulFunctionCall","src":"2596:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2620:7:67"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"2575:20:67"},"nodeType":"YulFunctionCall","src":"2575:53:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2565:6:67"}]}]},{"nodeType":"YulBlock","src":"2648:303:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2663:46:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2694:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2705:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2690:3:67"},"nodeType":"YulFunctionCall","src":"2690:18:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2677:12:67"},"nodeType":"YulFunctionCall","src":"2677:32:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2667:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"2756:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"2758:77:67"},"nodeType":"YulFunctionCall","src":"2758:79:67"},"nodeType":"YulExpressionStatement","src":"2758:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2728:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"2736:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2725:2:67"},"nodeType":"YulFunctionCall","src":"2725:30:67"},"nodeType":"YulIf","src":"2722:117:67"},{"nodeType":"YulAssignment","src":"2853:88:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2913:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2924:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2909:3:67"},"nodeType":"YulFunctionCall","src":"2909:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2933:7:67"}],"functionName":{"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"2863:45:67"},"nodeType":"YulFunctionCall","src":"2863:78:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2853:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint256t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2344:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2355:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2367:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2375:6:67","type":""}],"src":"2274:684:67"},{"body":{"nodeType":"YulBlock","src":"3029:262:67","statements":[{"body":{"nodeType":"YulBlock","src":"3075:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"3077:77:67"},"nodeType":"YulFunctionCall","src":"3077:79:67"},"nodeType":"YulExpressionStatement","src":"3077:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3050:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"3059:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3046:3:67"},"nodeType":"YulFunctionCall","src":"3046:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"3071:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3042:3:67"},"nodeType":"YulFunctionCall","src":"3042:32:67"},"nodeType":"YulIf","src":"3039:119:67"},{"nodeType":"YulBlock","src":"3168:116:67","statements":[{"nodeType":"YulVariableDeclaration","src":"3183:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"3197:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3187:6:67","type":""}]},{"nodeType":"YulAssignment","src":"3212:62:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3246:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"3257:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3242:3:67"},"nodeType":"YulFunctionCall","src":"3242:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3266:7:67"}],"functionName":{"name":"abi_decode_t_uint32","nodeType":"YulIdentifier","src":"3222:19:67"},"nodeType":"YulFunctionCall","src":"3222:52:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3212:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2999:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3010:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3022:6:67","type":""}],"src":"2964:327:67"},{"body":{"nodeType":"YulBlock","src":"3377:99:67","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3421:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"3429:3:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"3387:33:67"},"nodeType":"YulFunctionCall","src":"3387:46:67"},"nodeType":"YulExpressionStatement","src":"3387:46:67"},{"nodeType":"YulAssignment","src":"3442:28:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3460:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"3465:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3456:3:67"},"nodeType":"YulFunctionCall","src":"3456:14:67"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"3442:10:67"}]}]},"name":"abi_encodeUpdatedPos_t_uint256_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"3350:6:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3358:3:67","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"3366:10:67","type":""}],"src":"3297:179:67"},{"body":{"nodeType":"YulBlock","src":"3547:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3564:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3587:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"3569:17:67"},"nodeType":"YulFunctionCall","src":"3569:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3557:6:67"},"nodeType":"YulFunctionCall","src":"3557:37:67"},"nodeType":"YulExpressionStatement","src":"3557:37:67"}]},"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3535:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3542:3:67","type":""}],"src":"3482:118:67"},{"body":{"nodeType":"YulBlock","src":"3760:608:67","statements":[{"nodeType":"YulVariableDeclaration","src":"3770:68:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3832:5:67"}],"functionName":{"name":"array_length_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"3784:47:67"},"nodeType":"YulFunctionCall","src":"3784:54:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"3774:6:67","type":""}]},{"nodeType":"YulAssignment","src":"3847:93:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3928:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"3933:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"3854:73:67"},"nodeType":"YulFunctionCall","src":"3854:86:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3847:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"3949:71:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4014:5:67"}],"functionName":{"name":"array_dataslot_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"3964:49:67"},"nodeType":"YulFunctionCall","src":"3964:56:67"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"3953:7:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4029:21:67","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"4043:7:67"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"4033:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"4119:224:67","statements":[{"nodeType":"YulVariableDeclaration","src":"4133:34:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"4160:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4154:5:67"},"nodeType":"YulFunctionCall","src":"4154:13:67"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"4137:13:67","type":""}]},{"nodeType":"YulAssignment","src":"4180:70:67","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"4231:13:67"},{"name":"pos","nodeType":"YulIdentifier","src":"4246:3:67"}],"functionName":{"name":"abi_encodeUpdatedPos_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"4187:43:67"},"nodeType":"YulFunctionCall","src":"4187:63:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4180:3:67"}]},{"nodeType":"YulAssignment","src":"4263:70:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"4326:6:67"}],"functionName":{"name":"array_nextElement_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"4273:52:67"},"nodeType":"YulFunctionCall","src":"4273:60:67"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"4263:6:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"4081:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"4084:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4078:2:67"},"nodeType":"YulFunctionCall","src":"4078:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"4092:18:67","statements":[{"nodeType":"YulAssignment","src":"4094:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"4103:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"4106:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4099:3:67"},"nodeType":"YulFunctionCall","src":"4099:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"4094:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"4063:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"4065:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"4074:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"4069:1:67","type":""}]}]},"src":"4059:284:67"},{"nodeType":"YulAssignment","src":"4352:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"4359:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"4352:3:67"}]}]},"name":"abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3739:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3746:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"3755:3:67","type":""}],"src":"3636:732:67"},{"body":{"nodeType":"YulBlock","src":"4439:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4456:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4479:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"4461:17:67"},"nodeType":"YulFunctionCall","src":"4461:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4449:6:67"},"nodeType":"YulFunctionCall","src":"4449:37:67"},"nodeType":"YulExpressionStatement","src":"4449:37:67"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4427:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"4434:3:67","type":""}],"src":"4374:118:67"},{"body":{"nodeType":"YulBlock","src":"4561:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4578:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4600:5:67"}],"functionName":{"name":"cleanup_t_uint16","nodeType":"YulIdentifier","src":"4583:16:67"},"nodeType":"YulFunctionCall","src":"4583:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4571:6:67"},"nodeType":"YulFunctionCall","src":"4571:36:67"},"nodeType":"YulExpressionStatement","src":"4571:36:67"}]},"name":"abi_encode_t_uint16_to_t_uint16_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4549:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"4556:3:67","type":""}],"src":"4498:115:67"},{"body":{"nodeType":"YulBlock","src":"4674:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4691:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4714:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"4696:17:67"},"nodeType":"YulFunctionCall","src":"4696:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4684:6:67"},"nodeType":"YulFunctionCall","src":"4684:37:67"},"nodeType":"YulExpressionStatement","src":"4684:37:67"}]},"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4662:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"4669:3:67","type":""}],"src":"4619:108:67"},{"body":{"nodeType":"YulBlock","src":"4798:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4815:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4838:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"4820:17:67"},"nodeType":"YulFunctionCall","src":"4820:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4808:6:67"},"nodeType":"YulFunctionCall","src":"4808:37:67"},"nodeType":"YulExpressionStatement","src":"4808:37:67"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4786:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"4793:3:67","type":""}],"src":"4733:118:67"},{"body":{"nodeType":"YulBlock","src":"4920:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4937:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4959:5:67"}],"functionName":{"name":"cleanup_t_uint32","nodeType":"YulIdentifier","src":"4942:16:67"},"nodeType":"YulFunctionCall","src":"4942:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4930:6:67"},"nodeType":"YulFunctionCall","src":"4930:36:67"},"nodeType":"YulExpressionStatement","src":"4930:36:67"}]},"name":"abi_encode_t_uint32_to_t_uint32_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4908:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"4915:3:67","type":""}],"src":"4857:115:67"},{"body":{"nodeType":"YulBlock","src":"5041:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5058:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5080:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"5063:16:67"},"nodeType":"YulFunctionCall","src":"5063:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5051:6:67"},"nodeType":"YulFunctionCall","src":"5051:36:67"},"nodeType":"YulExpressionStatement","src":"5051:36:67"}]},"name":"abi_encode_t_uint64_to_t_uint64_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5029:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5036:3:67","type":""}],"src":"4978:115:67"},{"body":{"nodeType":"YulBlock","src":"5225:206:67","statements":[{"nodeType":"YulAssignment","src":"5235:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5247:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"5258:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5243:3:67"},"nodeType":"YulFunctionCall","src":"5243:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5235:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5315:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5328:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"5339:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5324:3:67"},"nodeType":"YulFunctionCall","src":"5324:17:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"5271:43:67"},"nodeType":"YulFunctionCall","src":"5271:71:67"},"nodeType":"YulExpressionStatement","src":"5271:71:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"5396:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5409:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"5420:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5405:3:67"},"nodeType":"YulFunctionCall","src":"5405:18:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"5352:43:67"},"nodeType":"YulFunctionCall","src":"5352:72:67"},"nodeType":"YulExpressionStatement","src":"5352:72:67"}]},"name":"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5189:9:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5201:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5209:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5220:4:67","type":""}],"src":"5099:332:67"},{"body":{"nodeType":"YulBlock","src":"5585:225:67","statements":[{"nodeType":"YulAssignment","src":"5595:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5607:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"5618:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5603:3:67"},"nodeType":"YulFunctionCall","src":"5603:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5595:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5642:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"5653:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5638:3:67"},"nodeType":"YulFunctionCall","src":"5638:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"5661:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"5667:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5657:3:67"},"nodeType":"YulFunctionCall","src":"5657:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5631:6:67"},"nodeType":"YulFunctionCall","src":"5631:47:67"},"nodeType":"YulExpressionStatement","src":"5631:47:67"},{"nodeType":"YulAssignment","src":"5687:116:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5789:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"5798:4:67"}],"functionName":{"name":"abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"5695:93:67"},"nodeType":"YulFunctionCall","src":"5695:108:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5687:4:67"}]}]},"name":"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5557:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5569:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5580:4:67","type":""}],"src":"5437:373:67"},{"body":{"nodeType":"YulBlock","src":"6018:446:67","statements":[{"nodeType":"YulAssignment","src":"6028:27:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6040:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"6051:3:67","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6036:3:67"},"nodeType":"YulFunctionCall","src":"6036:19:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6028:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6109:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6122:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"6133:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6118:3:67"},"nodeType":"YulFunctionCall","src":"6118:17:67"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"6065:43:67"},"nodeType":"YulFunctionCall","src":"6065:71:67"},"nodeType":"YulExpressionStatement","src":"6065:71:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"6188:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6201:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"6212:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6197:3:67"},"nodeType":"YulFunctionCall","src":"6197:18:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_fromStack","nodeType":"YulIdentifier","src":"6146:41:67"},"nodeType":"YulFunctionCall","src":"6146:70:67"},"nodeType":"YulExpressionStatement","src":"6146:70:67"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"6268:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6281:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"6292:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6277:3:67"},"nodeType":"YulFunctionCall","src":"6277:18:67"}],"functionName":{"name":"abi_encode_t_uint16_to_t_uint16_fromStack","nodeType":"YulIdentifier","src":"6226:41:67"},"nodeType":"YulFunctionCall","src":"6226:70:67"},"nodeType":"YulExpressionStatement","src":"6226:70:67"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"6348:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6361:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"6372:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6357:3:67"},"nodeType":"YulFunctionCall","src":"6357:18:67"}],"functionName":{"name":"abi_encode_t_uint32_to_t_uint32_fromStack","nodeType":"YulIdentifier","src":"6306:41:67"},"nodeType":"YulFunctionCall","src":"6306:70:67"},"nodeType":"YulExpressionStatement","src":"6306:70:67"},{"expression":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"6428:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6441:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"6452:3:67","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6437:3:67"},"nodeType":"YulFunctionCall","src":"6437:19:67"}],"functionName":{"name":"abi_encode_t_uint32_to_t_uint32_fromStack","nodeType":"YulIdentifier","src":"6386:41:67"},"nodeType":"YulFunctionCall","src":"6386:71:67"},"nodeType":"YulExpressionStatement","src":"6386:71:67"}]},"name":"abi_encode_tuple_t_bytes32_t_uint64_t_uint16_t_uint32_t_uint32__to_t_bytes32_t_uint64_t_uint16_t_uint32_t_uint32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5958:9:67","type":""},{"name":"value4","nodeType":"YulTypedName","src":"5970:6:67","type":""},{"name":"value3","nodeType":"YulTypedName","src":"5978:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"5986:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5994:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6002:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6013:4:67","type":""}],"src":"5816:648:67"},{"body":{"nodeType":"YulBlock","src":"6568:124:67","statements":[{"nodeType":"YulAssignment","src":"6578:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6590:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"6601:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6586:3:67"},"nodeType":"YulFunctionCall","src":"6586:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6578:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6658:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6671:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"6682:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6667:3:67"},"nodeType":"YulFunctionCall","src":"6667:17:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"6614:43:67"},"nodeType":"YulFunctionCall","src":"6614:71:67"},"nodeType":"YulExpressionStatement","src":"6614:71:67"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6540:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6552:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6563:4:67","type":""}],"src":"6470:222:67"},{"body":{"nodeType":"YulBlock","src":"6739:88:67","statements":[{"nodeType":"YulAssignment","src":"6749:30:67","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"6759:18:67"},"nodeType":"YulFunctionCall","src":"6759:20:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"6749:6:67"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"6808:6:67"},{"name":"size","nodeType":"YulIdentifier","src":"6816:4:67"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"6788:19:67"},"nodeType":"YulFunctionCall","src":"6788:33:67"},"nodeType":"YulExpressionStatement","src":"6788:33:67"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"6723:4:67","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"6732:6:67","type":""}],"src":"6698:129:67"},{"body":{"nodeType":"YulBlock","src":"6873:35:67","statements":[{"nodeType":"YulAssignment","src":"6883:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6899:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6893:5:67"},"nodeType":"YulFunctionCall","src":"6893:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"6883:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"6866:6:67","type":""}],"src":"6833:75:67"},{"body":{"nodeType":"YulBlock","src":"6996:229:67","statements":[{"body":{"nodeType":"YulBlock","src":"7101:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"7103:16:67"},"nodeType":"YulFunctionCall","src":"7103:18:67"},"nodeType":"YulExpressionStatement","src":"7103:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"7073:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"7081:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7070:2:67"},"nodeType":"YulFunctionCall","src":"7070:30:67"},"nodeType":"YulIf","src":"7067:56:67"},{"nodeType":"YulAssignment","src":"7133:25:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"7145:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"7153:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"7141:3:67"},"nodeType":"YulFunctionCall","src":"7141:17:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"7133:4:67"}]},{"nodeType":"YulAssignment","src":"7195:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"7207:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"7213:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7203:3:67"},"nodeType":"YulFunctionCall","src":"7203:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"7195:4:67"}]}]},"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"6980:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"6991:4:67","type":""}],"src":"6914:311:67"},{"body":{"nodeType":"YulBlock","src":"7303:60:67","statements":[{"nodeType":"YulAssignment","src":"7313:11:67","value":{"name":"ptr","nodeType":"YulIdentifier","src":"7321:3:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"7313:4:67"}]},{"nodeType":"YulAssignment","src":"7334:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"7346:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"7351:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7342:3:67"},"nodeType":"YulFunctionCall","src":"7342:14:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"7334:4:67"}]}]},"name":"array_dataslot_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"7290:3:67","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"7298:4:67","type":""}],"src":"7231:132:67"},{"body":{"nodeType":"YulBlock","src":"7443:40:67","statements":[{"nodeType":"YulAssignment","src":"7454:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7470:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7464:5:67"},"nodeType":"YulFunctionCall","src":"7464:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"7454:6:67"}]}]},"name":"array_length_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7426:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"7436:6:67","type":""}],"src":"7369:114:67"},{"body":{"nodeType":"YulBlock","src":"7564:38:67","statements":[{"nodeType":"YulAssignment","src":"7574:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"7586:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"7591:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7582:3:67"},"nodeType":"YulFunctionCall","src":"7582:14:67"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"7574:4:67"}]}]},"name":"array_nextElement_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"7551:3:67","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"7559:4:67","type":""}],"src":"7489:113:67"},{"body":{"nodeType":"YulBlock","src":"7719:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7736:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"7741:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7729:6:67"},"nodeType":"YulFunctionCall","src":"7729:19:67"},"nodeType":"YulExpressionStatement","src":"7729:19:67"},{"nodeType":"YulAssignment","src":"7757:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7776:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"7781:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7772:3:67"},"nodeType":"YulFunctionCall","src":"7772:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"7757:11:67"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"7691:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"7696:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"7707:11:67","type":""}],"src":"7608:184:67"},{"body":{"nodeType":"YulBlock","src":"7843:51:67","statements":[{"nodeType":"YulAssignment","src":"7853:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7882:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"7864:17:67"},"nodeType":"YulFunctionCall","src":"7864:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"7853:7:67"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7825:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"7835:7:67","type":""}],"src":"7798:96:67"},{"body":{"nodeType":"YulBlock","src":"7945:32:67","statements":[{"nodeType":"YulAssignment","src":"7955:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"7966:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"7955:7:67"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7927:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"7937:7:67","type":""}],"src":"7900:77:67"},{"body":{"nodeType":"YulBlock","src":"8027:45:67","statements":[{"nodeType":"YulAssignment","src":"8037:29:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8052:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"8059:6:67","type":"","value":"0xffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8048:3:67"},"nodeType":"YulFunctionCall","src":"8048:18:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"8037:7:67"}]}]},"name":"cleanup_t_uint16","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8009:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"8019:7:67","type":""}],"src":"7983:89:67"},{"body":{"nodeType":"YulBlock","src":"8123:81:67","statements":[{"nodeType":"YulAssignment","src":"8133:65:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8148:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"8155:42:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8144:3:67"},"nodeType":"YulFunctionCall","src":"8144:54:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"8133:7:67"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8105:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"8115:7:67","type":""}],"src":"8078:126:67"},{"body":{"nodeType":"YulBlock","src":"8255:32:67","statements":[{"nodeType":"YulAssignment","src":"8265:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"8276:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"8265:7:67"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8237:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"8247:7:67","type":""}],"src":"8210:77:67"},{"body":{"nodeType":"YulBlock","src":"8337:49:67","statements":[{"nodeType":"YulAssignment","src":"8347:33:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8362:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"8369:10:67","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8358:3:67"},"nodeType":"YulFunctionCall","src":"8358:22:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"8347:7:67"}]}]},"name":"cleanup_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8319:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"8329:7:67","type":""}],"src":"8293:93:67"},{"body":{"nodeType":"YulBlock","src":"8436:57:67","statements":[{"nodeType":"YulAssignment","src":"8446:41:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8461:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"8468:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8457:3:67"},"nodeType":"YulFunctionCall","src":"8457:30:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"8446:7:67"}]}]},"name":"cleanup_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8418:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"8428:7:67","type":""}],"src":"8392:101:67"},{"body":{"nodeType":"YulBlock","src":"8542:238:67","statements":[{"nodeType":"YulVariableDeclaration","src":"8552:58:67","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"8574:6:67"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"8604:4:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"8582:21:67"},"nodeType":"YulFunctionCall","src":"8582:27:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8570:3:67"},"nodeType":"YulFunctionCall","src":"8570:40:67"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"8556:10:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"8721:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"8723:16:67"},"nodeType":"YulFunctionCall","src":"8723:18:67"},"nodeType":"YulExpressionStatement","src":"8723:18:67"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"8664:10:67"},{"kind":"number","nodeType":"YulLiteral","src":"8676:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8661:2:67"},"nodeType":"YulFunctionCall","src":"8661:34:67"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"8700:10:67"},{"name":"memPtr","nodeType":"YulIdentifier","src":"8712:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"8697:2:67"},"nodeType":"YulFunctionCall","src":"8697:22:67"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"8658:2:67"},"nodeType":"YulFunctionCall","src":"8658:62:67"},"nodeType":"YulIf","src":"8655:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8759:2:67","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"8763:10:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8752:6:67"},"nodeType":"YulFunctionCall","src":"8752:22:67"},"nodeType":"YulExpressionStatement","src":"8752:22:67"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"8528:6:67","type":""},{"name":"size","nodeType":"YulTypedName","src":"8536:4:67","type":""}],"src":"8499:281:67"},{"body":{"nodeType":"YulBlock","src":"8814:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8831:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8834:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8824:6:67"},"nodeType":"YulFunctionCall","src":"8824:88:67"},"nodeType":"YulExpressionStatement","src":"8824:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8928:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"8931:4:67","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8921:6:67"},"nodeType":"YulFunctionCall","src":"8921:15:67"},"nodeType":"YulExpressionStatement","src":"8921:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8952:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8955:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8945:6:67"},"nodeType":"YulFunctionCall","src":"8945:15:67"},"nodeType":"YulExpressionStatement","src":"8945:15:67"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"8786:180:67"},{"body":{"nodeType":"YulBlock","src":"9061:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9078:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9081:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9071:6:67"},"nodeType":"YulFunctionCall","src":"9071:12:67"},"nodeType":"YulExpressionStatement","src":"9071:12:67"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"8972:117:67"},{"body":{"nodeType":"YulBlock","src":"9184:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9201:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9204:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9194:6:67"},"nodeType":"YulFunctionCall","src":"9194:12:67"},"nodeType":"YulExpressionStatement","src":"9194:12:67"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulFunctionDefinition","src":"9095:117:67"},{"body":{"nodeType":"YulBlock","src":"9307:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9324:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9327:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9317:6:67"},"nodeType":"YulFunctionCall","src":"9317:12:67"},"nodeType":"YulExpressionStatement","src":"9317:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"9218:117:67"},{"body":{"nodeType":"YulBlock","src":"9430:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9447:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9450:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9440:6:67"},"nodeType":"YulFunctionCall","src":"9440:12:67"},"nodeType":"YulExpressionStatement","src":"9440:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"9341:117:67"},{"body":{"nodeType":"YulBlock","src":"9512:54:67","statements":[{"nodeType":"YulAssignment","src":"9522:38:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9540:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"9547:2:67","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9536:3:67"},"nodeType":"YulFunctionCall","src":"9536:14:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9556:2:67","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"9552:3:67"},"nodeType":"YulFunctionCall","src":"9552:7:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9532:3:67"},"nodeType":"YulFunctionCall","src":"9532:28:67"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"9522:6:67"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9495:5:67","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"9505:6:67","type":""}],"src":"9464:102:67"},{"body":{"nodeType":"YulBlock","src":"9615:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"9672:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9681:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9684:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9674:6:67"},"nodeType":"YulFunctionCall","src":"9674:12:67"},"nodeType":"YulExpressionStatement","src":"9674:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9638:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9663:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"9645:17:67"},"nodeType":"YulFunctionCall","src":"9645:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"9635:2:67"},"nodeType":"YulFunctionCall","src":"9635:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"9628:6:67"},"nodeType":"YulFunctionCall","src":"9628:43:67"},"nodeType":"YulIf","src":"9625:63:67"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9608:5:67","type":""}],"src":"9572:122:67"},{"body":{"nodeType":"YulBlock","src":"9742:78:67","statements":[{"body":{"nodeType":"YulBlock","src":"9798:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9807:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9810:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9800:6:67"},"nodeType":"YulFunctionCall","src":"9800:12:67"},"nodeType":"YulExpressionStatement","src":"9800:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9765:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9789:5:67"}],"functionName":{"name":"cleanup_t_uint32","nodeType":"YulIdentifier","src":"9772:16:67"},"nodeType":"YulFunctionCall","src":"9772:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"9762:2:67"},"nodeType":"YulFunctionCall","src":"9762:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"9755:6:67"},"nodeType":"YulFunctionCall","src":"9755:42:67"},"nodeType":"YulIf","src":"9752:62:67"}]},"name":"validator_revert_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9735:5:67","type":""}],"src":"9700:120:67"}]},"contents":"{\n\n    // uint256[]\n    function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(offset, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length))\n        let dst := array\n\n        mstore(array, length)\n        dst := add(array, 0x20)\n\n        let src := offset\n        if gt(add(src, mul(length, 0x20)), end) {\n            revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n        }\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n\n            let elementPos := src\n\n            mstore(dst, abi_decode_t_uint256(elementPos, end))\n            dst := add(dst, 0x20)\n            src := add(src, 0x20)\n        }\n    }\n\n    // uint256[]\n    function abi_decode_t_array$_t_uint256_$dyn_memory_ptr(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := calldataload(offset)\n        array := abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(add(offset, 0x20), length, end)\n    }\n\n    function abi_decode_t_uint256(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint256(value)\n    }\n\n    function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_uint256(value)\n    }\n\n    function abi_decode_t_uint32(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint32(value)\n    }\n\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint256t_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1 {\n        if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := calldataload(add(headStart, 32))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value1 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint32(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint32(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_encodeUpdatedPos_t_uint256_to_t_uint256(value0, pos) -> updatedPos {\n        abi_encode_t_uint256_to_t_uint256(value0, pos)\n        updatedPos := add(pos, 0x20)\n    }\n\n    function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n        mstore(pos, cleanup_t_address(value))\n    }\n\n    // uint256[] -> uint256[]\n    function abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value, pos)  -> end  {\n        let length := array_length_t_array$_t_uint256_$dyn_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length)\n        let baseRef := array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(value)\n        let srcPtr := baseRef\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n            let elementValue0 := mload(srcPtr)\n            pos := abi_encodeUpdatedPos_t_uint256_to_t_uint256(elementValue0, pos)\n            srcPtr := array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(srcPtr)\n        }\n        end := pos\n    }\n\n    function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n        mstore(pos, cleanup_t_bytes32(value))\n    }\n\n    function abi_encode_t_uint16_to_t_uint16_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint16(value))\n    }\n\n    function abi_encode_t_uint256_to_t_uint256(value, pos) {\n        mstore(pos, cleanup_t_uint256(value))\n    }\n\n    function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint256(value))\n    }\n\n    function abi_encode_t_uint32_to_t_uint32_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint32(value))\n    }\n\n    function abi_encode_t_uint64_to_t_uint64_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint64(value))\n    }\n\n    function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart , value1, value0) -> tail {\n        tail := add(headStart, 64)\n\n        abi_encode_t_address_to_t_address_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_address_to_t_address_fromStack(value1,  add(headStart, 32))\n\n    }\n\n    function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_bytes32_t_uint64_t_uint16_t_uint32_t_uint32__to_t_bytes32_t_uint64_t_uint16_t_uint32_t_uint32__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n        tail := add(headStart, 160)\n\n        abi_encode_t_bytes32_to_t_bytes32_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_uint64_to_t_uint64_fromStack(value1,  add(headStart, 32))\n\n        abi_encode_t_uint16_to_t_uint16_fromStack(value2,  add(headStart, 64))\n\n        abi_encode_t_uint32_to_t_uint32_fromStack(value3,  add(headStart, 96))\n\n        abi_encode_t_uint32_to_t_uint32_fromStack(value4,  add(headStart, 128))\n\n    }\n\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function allocate_memory(size) -> memPtr {\n        memPtr := allocate_unbounded()\n        finalize_allocation(memPtr, size)\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := mul(length, 0x20)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> data {\n        data := ptr\n\n        data := add(ptr, 0x20)\n\n    }\n\n    function array_length_t_array$_t_uint256_$dyn_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> next {\n        next := add(ptr, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function cleanup_t_address(value) -> cleaned {\n        cleaned := cleanup_t_uint160(value)\n    }\n\n    function cleanup_t_bytes32(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_uint16(value) -> cleaned {\n        cleaned := and(value, 0xffff)\n    }\n\n    function cleanup_t_uint160(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n    }\n\n    function cleanup_t_uint256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_uint32(value) -> cleaned {\n        cleaned := and(value, 0xffffffff)\n    }\n\n    function cleanup_t_uint64(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffff)\n    }\n\n    function finalize_allocation(memPtr, size) {\n        let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n        // protect against overflow\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n\n    function panic_error_0x41() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n\n    function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n        revert(0, 0)\n    }\n\n    function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n        revert(0, 0)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function round_up_to_mul_of_32(value) -> result {\n        result := and(add(value, 31), not(31))\n    }\n\n    function validator_revert_t_uint256(value) {\n        if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint32(value) {\n        if iszero(eq(value, cleanup_t_uint32(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"872":[{"length":32,"start":258},{"length":32,"start":342}],"3597":[{"length":32,"start":552}],"3599":[{"length":32,"start":645}],"3601":[{"length":32,"start":612}]},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100575760003560e01c80631fe543e31461005c578063705a050b14610078578063e726f2e114610096578063e89e106a146100b2578063f6eaffc8146100d0575b600080fd5b61007660048036038101906100719190610543565b610100565b005b6100806101c0565b60405161008d9190610749565b60405180910390f35b6100b060048036038101906100ab919061059f565b6101cc565b005b6100ba610326565b6040516100c79190610749565b60405180910390f35b6100ea60048036038101906100e591906104e9565b61032c565b6040516100f79190610749565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101b257337f00000000000000000000000000000000000000000000000000000000000000006040517f1cf993f40000000000000000000000000000000000000000000000000000000081526004016101a99291906106ab565b60405180910390fd5b6101bc8282610350565b5050565b60008080549050905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461022657600080fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16635d3b1d307f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006003620186a0866040518663ffffffff1660e01b81526004016102cb9594939291906106f6565b602060405180830381600087803b1580156102e557600080fd5b505af11580156102f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031d9190610516565b60018190555050565b60015481565b6000818154811061033c57600080fd5b906000526020600020016000915090505481565b80600090805190602001906103669291906103a2565b507fefb16d61046900da527008568620fb9f8420e2f5ed4de3bfbded5035c9362b0e8160405161039691906106d4565b60405180910390a15050565b8280548282559060005260206000209081019282156103de579160200282015b828111156103dd5782518255916020019190600101906103c2565b5b5090506103eb91906103ef565b5090565b5b808211156104085760008160009055506001016103f0565b5090565b600061041f61041a84610789565b610764565b90508083825260208201905082856020860282011115610442576104416108cb565b5b60005b85811015610472578161045888826104aa565b845260208401935060208301925050600181019050610445565b5050509392505050565b600082601f830112610491576104906108c6565b5b81356104a184826020860161040c565b91505092915050565b6000813590506104b9816108eb565b92915050565b6000815190506104ce816108eb565b92915050565b6000813590506104e381610902565b92915050565b6000602082840312156104ff576104fe6108d5565b5b600061050d848285016104aa565b91505092915050565b60006020828403121561052c5761052b6108d5565b5b600061053a848285016104bf565b91505092915050565b6000806040838503121561055a576105596108d5565b5b6000610568858286016104aa565b925050602083013567ffffffffffffffff811115610589576105886108d0565b5b6105958582860161047c565b9150509250929050565b6000602082840312156105b5576105b46108d5565b5b60006105c3848285016104d4565b91505092915050565b60006105d8838361066f565b60208301905092915050565b6105ed816107ee565b82525050565b60006105fe826107c5565b61060881856107dd565b9350610613836107b5565b8060005b8381101561064457815161062b88826105cc565b9750610636836107d0565b925050600181019050610617565b5085935050505092915050565b61065a81610800565b82525050565b6106698161080a565b82525050565b61067881610838565b82525050565b61068781610838565b82525050565b61069681610842565b82525050565b6106a581610852565b82525050565b60006040820190506106c060008301856105e4565b6106cd60208301846105e4565b9392505050565b600060208201905081810360008301526106ee81846105f3565b905092915050565b600060a08201905061070b6000830188610651565b610718602083018761069c565b6107256040830186610660565b610732606083018561068d565b61073f608083018461068d565b9695505050505050565b600060208201905061075e600083018461067e565b92915050565b600061076e61077f565b905061077a8282610866565b919050565b6000604051905090565b600067ffffffffffffffff8211156107a4576107a3610897565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b60006107f982610818565b9050919050565b6000819050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b61086f826108da565b810181811067ffffffffffffffff8211171561088e5761088d610897565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b6108f481610838565b81146108ff57600080fd5b50565b61090b81610842565b811461091657600080fd5b5056fea26469706673582212200a0444b18f837b5ec7b87cc70f59d801f88c6dc1603f60c0a1a7abcd64b6c6bc64736f6c63430008070033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1FE543E3 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x705A050B EQ PUSH2 0x78 JUMPI DUP1 PUSH4 0xE726F2E1 EQ PUSH2 0x96 JUMPI DUP1 PUSH4 0xE89E106A EQ PUSH2 0xB2 JUMPI DUP1 PUSH4 0xF6EAFFC8 EQ PUSH2 0xD0 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x76 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x543 JUMP JUMPDEST PUSH2 0x100 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x80 PUSH2 0x1C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8D SWAP2 SWAP1 PUSH2 0x749 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAB SWAP2 SWAP1 PUSH2 0x59F JUMP JUMPDEST PUSH2 0x1CC JUMP JUMPDEST STOP JUMPDEST PUSH2 0xBA PUSH2 0x326 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC7 SWAP2 SWAP1 PUSH2 0x749 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xEA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE5 SWAP2 SWAP1 PUSH2 0x4E9 JUMP JUMPDEST PUSH2 0x32C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF7 SWAP2 SWAP1 PUSH2 0x749 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1B2 JUMPI CALLER PUSH32 0x0 PUSH1 0x40 MLOAD PUSH32 0x1CF993F400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A9 SWAP3 SWAP2 SWAP1 PUSH2 0x6AB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1BC DUP3 DUP3 PUSH2 0x350 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x226 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5D3B1D30 PUSH32 0x0 PUSH32 0x0 PUSH1 0x3 PUSH3 0x186A0 DUP7 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2CB SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x6F6 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2F9 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 0x31D SWAP2 SWAP1 PUSH2 0x516 JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x33C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST DUP1 PUSH1 0x0 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x366 SWAP3 SWAP2 SWAP1 PUSH2 0x3A2 JUMP JUMPDEST POP PUSH32 0xEFB16D61046900DA527008568620FB9F8420E2F5ED4DE3BFBDED5035C9362B0E DUP2 PUSH1 0x40 MLOAD PUSH2 0x396 SWAP2 SWAP1 PUSH2 0x6D4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x3DE JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x3DD JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x3C2 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x3EB SWAP2 SWAP1 PUSH2 0x3EF JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x408 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x3F0 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x41F PUSH2 0x41A DUP5 PUSH2 0x789 JUMP JUMPDEST PUSH2 0x764 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x442 JUMPI PUSH2 0x441 PUSH2 0x8CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x472 JUMPI DUP2 PUSH2 0x458 DUP9 DUP3 PUSH2 0x4AA JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x445 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x491 JUMPI PUSH2 0x490 PUSH2 0x8C6 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x4A1 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x40C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4B9 DUP2 PUSH2 0x8EB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x4CE DUP2 PUSH2 0x8EB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4E3 DUP2 PUSH2 0x902 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4FF JUMPI PUSH2 0x4FE PUSH2 0x8D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x50D DUP5 DUP3 DUP6 ADD PUSH2 0x4AA JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x52C JUMPI PUSH2 0x52B PUSH2 0x8D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x53A DUP5 DUP3 DUP6 ADD PUSH2 0x4BF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x55A JUMPI PUSH2 0x559 PUSH2 0x8D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x568 DUP6 DUP3 DUP7 ADD PUSH2 0x4AA JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x589 JUMPI PUSH2 0x588 PUSH2 0x8D0 JUMP JUMPDEST JUMPDEST PUSH2 0x595 DUP6 DUP3 DUP7 ADD PUSH2 0x47C JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5B5 JUMPI PUSH2 0x5B4 PUSH2 0x8D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5C3 DUP5 DUP3 DUP6 ADD PUSH2 0x4D4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5D8 DUP4 DUP4 PUSH2 0x66F JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x5ED DUP2 PUSH2 0x7EE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5FE DUP3 PUSH2 0x7C5 JUMP JUMPDEST PUSH2 0x608 DUP2 DUP6 PUSH2 0x7DD JUMP JUMPDEST SWAP4 POP PUSH2 0x613 DUP4 PUSH2 0x7B5 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x644 JUMPI DUP2 MLOAD PUSH2 0x62B DUP9 DUP3 PUSH2 0x5CC JUMP JUMPDEST SWAP8 POP PUSH2 0x636 DUP4 PUSH2 0x7D0 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x617 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x65A DUP2 PUSH2 0x800 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x669 DUP2 PUSH2 0x80A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x678 DUP2 PUSH2 0x838 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x687 DUP2 PUSH2 0x838 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x696 DUP2 PUSH2 0x842 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x6A5 DUP2 PUSH2 0x852 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x6C0 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x5E4 JUMP JUMPDEST PUSH2 0x6CD PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x5E4 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x6EE DUP2 DUP5 PUSH2 0x5F3 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x70B PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x651 JUMP JUMPDEST PUSH2 0x718 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x69C JUMP JUMPDEST PUSH2 0x725 PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x660 JUMP JUMPDEST PUSH2 0x732 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x68D JUMP JUMPDEST PUSH2 0x73F PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x68D JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x75E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x67E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x76E PUSH2 0x77F JUMP JUMPDEST SWAP1 POP PUSH2 0x77A DUP3 DUP3 PUSH2 0x866 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x7A4 JUMPI PUSH2 0x7A3 PUSH2 0x897 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7F9 DUP3 PUSH2 0x818 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x86F DUP3 PUSH2 0x8DA JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x88E JUMPI PUSH2 0x88D PUSH2 0x897 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x8F4 DUP2 PUSH2 0x838 JUMP JUMPDEST DUP2 EQ PUSH2 0x8FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x90B DUP2 PUSH2 0x842 JUMP JUMPDEST DUP2 EQ PUSH2 0x916 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXP DIV DIFFICULTY 0xB1 DUP16 DUP4 PUSH28 0x5EC7B87CC70F59D801F88C6DC1603F60C0A1A7ABCD64B6C6BC64736F PUSH13 0x63430008070033000000000000 ","sourceMap":"403:2892:20:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6618:256:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2191:99:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2559:297;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1387:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1353:30;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6618:256:2;6731:14;6717:28;;:10;:28;;;6713:109;;6788:10;6800:14;6762:53;;;;;;;;;;;;:::i;:::-;;;;;;;;6713:109;6827:42;6846:9;6857:11;6827:18;:42::i;:::-;6618:256;;:::o;2191:99:20:-;2244:7;2265:13;:20;;;;2258:27;;2191:99;:::o;2559:297::-;3273:7;;;;;;;;;;;3259:21;;:10;:21;;;3251:30;;;;;;2702:11:::1;:30;;;2740:9;2757:16;1347:1;1244:6;2836:9;2702:149;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2688:11;:163;;;;2559:297:::0;:::o;1387:26::-;;;;:::o;1353:30::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3045:175::-;3162:11;3146:13;:27;;;;;;;;;;;;:::i;:::-;;3184:31;3203:11;3184:31;;;;;;:::i;:::-;;;;;;;;3045:175;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;24:722:67:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:143;;;404:79;;:::i;:::-;350:143;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;24:722;;;;;:::o;769:370::-;840:5;889:3;882:4;874:6;870:17;866:27;856:122;;897:79;;:::i;:::-;856:122;1014:6;1001:20;1039:94;1129:3;1121:6;1114:4;1106:6;1102:17;1039:94;:::i;:::-;1030:103;;846:293;769:370;;;;:::o;1145:139::-;1191:5;1229:6;1216:20;1207:29;;1245:33;1272:5;1245:33;:::i;:::-;1145:139;;;;:::o;1290:143::-;1347:5;1378:6;1372:13;1363:22;;1394:33;1421:5;1394:33;:::i;:::-;1290:143;;;;:::o;1439:137::-;1484:5;1522:6;1509:20;1500:29;;1538:32;1564:5;1538:32;:::i;:::-;1439:137;;;;:::o;1582:329::-;1641:6;1690:2;1678:9;1669:7;1665:23;1661:32;1658:119;;;1696:79;;:::i;:::-;1658:119;1816:1;1841:53;1886:7;1877:6;1866:9;1862:22;1841:53;:::i;:::-;1831:63;;1787:117;1582:329;;;;:::o;1917:351::-;1987:6;2036:2;2024:9;2015:7;2011:23;2007:32;2004:119;;;2042:79;;:::i;:::-;2004:119;2162:1;2187:64;2243:7;2234:6;2223:9;2219:22;2187:64;:::i;:::-;2177:74;;2133:128;1917:351;;;;:::o;2274:684::-;2367:6;2375;2424:2;2412:9;2403:7;2399:23;2395:32;2392:119;;;2430:79;;:::i;:::-;2392:119;2550:1;2575:53;2620:7;2611:6;2600:9;2596:22;2575:53;:::i;:::-;2565:63;;2521:117;2705:2;2694:9;2690:18;2677:32;2736:18;2728:6;2725:30;2722:117;;;2758:79;;:::i;:::-;2722:117;2863:78;2933:7;2924:6;2913:9;2909:22;2863:78;:::i;:::-;2853:88;;2648:303;2274:684;;;;;:::o;2964:327::-;3022:6;3071:2;3059:9;3050:7;3046:23;3042:32;3039:119;;;3077:79;;:::i;:::-;3039:119;3197:1;3222:52;3266:7;3257:6;3246:9;3242:22;3222:52;:::i;:::-;3212:62;;3168:116;2964:327;;;;:::o;3297:179::-;3366:10;3387:46;3429:3;3421:6;3387:46;:::i;:::-;3465:4;3460:3;3456:14;3442:28;;3297:179;;;;:::o;3482:118::-;3569:24;3587:5;3569:24;:::i;:::-;3564:3;3557:37;3482:118;;:::o;3636:732::-;3755:3;3784:54;3832:5;3784:54;:::i;:::-;3854:86;3933:6;3928:3;3854:86;:::i;:::-;3847:93;;3964:56;4014:5;3964:56;:::i;:::-;4043:7;4074:1;4059:284;4084:6;4081:1;4078:13;4059:284;;;4160:6;4154:13;4187:63;4246:3;4231:13;4187:63;:::i;:::-;4180:70;;4273:60;4326:6;4273:60;:::i;:::-;4263:70;;4119:224;4106:1;4103;4099:9;4094:14;;4059:284;;;4063:14;4359:3;4352:10;;3760:608;;;3636:732;;;;:::o;4374:118::-;4461:24;4479:5;4461:24;:::i;:::-;4456:3;4449:37;4374:118;;:::o;4498:115::-;4583:23;4600:5;4583:23;:::i;:::-;4578:3;4571:36;4498:115;;:::o;4619:108::-;4696:24;4714:5;4696:24;:::i;:::-;4691:3;4684:37;4619:108;;:::o;4733:118::-;4820:24;4838:5;4820:24;:::i;:::-;4815:3;4808:37;4733:118;;:::o;4857:115::-;4942:23;4959:5;4942:23;:::i;:::-;4937:3;4930:36;4857:115;;:::o;4978:::-;5063:23;5080:5;5063:23;:::i;:::-;5058:3;5051:36;4978:115;;:::o;5099:332::-;5220:4;5258:2;5247:9;5243:18;5235:26;;5271:71;5339:1;5328:9;5324:17;5315:6;5271:71;:::i;:::-;5352:72;5420:2;5409:9;5405:18;5396:6;5352:72;:::i;:::-;5099:332;;;;;:::o;5437:373::-;5580:4;5618:2;5607:9;5603:18;5595:26;;5667:9;5661:4;5657:20;5653:1;5642:9;5638:17;5631:47;5695:108;5798:4;5789:6;5695:108;:::i;:::-;5687:116;;5437:373;;;;:::o;5816:648::-;6013:4;6051:3;6040:9;6036:19;6028:27;;6065:71;6133:1;6122:9;6118:17;6109:6;6065:71;:::i;:::-;6146:70;6212:2;6201:9;6197:18;6188:6;6146:70;:::i;:::-;6226;6292:2;6281:9;6277:18;6268:6;6226:70;:::i;:::-;6306;6372:2;6361:9;6357:18;6348:6;6306:70;:::i;:::-;6386:71;6452:3;6441:9;6437:19;6428:6;6386:71;:::i;:::-;5816:648;;;;;;;;:::o;6470:222::-;6563:4;6601:2;6590:9;6586:18;6578:26;;6614:71;6682:1;6671:9;6667:17;6658:6;6614:71;:::i;:::-;6470:222;;;;:::o;6698:129::-;6732:6;6759:20;;:::i;:::-;6749:30;;6788:33;6816:4;6808:6;6788:33;:::i;:::-;6698:129;;;:::o;6833:75::-;6866:6;6899:2;6893:9;6883:19;;6833:75;:::o;6914:311::-;6991:4;7081:18;7073:6;7070:30;7067:56;;;7103:18;;:::i;:::-;7067:56;7153:4;7145:6;7141:17;7133:25;;7213:4;7207;7203:15;7195:23;;6914:311;;;:::o;7231:132::-;7298:4;7321:3;7313:11;;7351:4;7346:3;7342:14;7334:22;;7231:132;;;:::o;7369:114::-;7436:6;7470:5;7464:12;7454:22;;7369:114;;;:::o;7489:113::-;7559:4;7591;7586:3;7582:14;7574:22;;7489:113;;;:::o;7608:184::-;7707:11;7741:6;7736:3;7729:19;7781:4;7776:3;7772:14;7757:29;;7608:184;;;;:::o;7798:96::-;7835:7;7864:24;7882:5;7864:24;:::i;:::-;7853:35;;7798:96;;;:::o;7900:77::-;7937:7;7966:5;7955:16;;7900:77;;;:::o;7983:89::-;8019:7;8059:6;8052:5;8048:18;8037:29;;7983:89;;;:::o;8078:126::-;8115:7;8155:42;8148:5;8144:54;8133:65;;8078:126;;;:::o;8210:77::-;8247:7;8276:5;8265:16;;8210:77;;;:::o;8293:93::-;8329:7;8369:10;8362:5;8358:22;8347:33;;8293:93;;;:::o;8392:101::-;8428:7;8468:18;8461:5;8457:30;8446:41;;8392:101;;;:::o;8499:281::-;8582:27;8604:4;8582:27;:::i;:::-;8574:6;8570:40;8712:6;8700:10;8697:22;8676:18;8664:10;8661:34;8658:62;8655:88;;;8723:18;;:::i;:::-;8655:88;8763:10;8759:2;8752:22;8542:238;8499:281;;:::o;8786:180::-;8834:77;8831:1;8824:88;8931:4;8928:1;8921:15;8955:4;8952:1;8945:15;8972:117;9081:1;9078;9071:12;9095:117;9204:1;9201;9194:12;9218:117;9327:1;9324;9317:12;9341:117;9450:1;9447;9440:12;9464:102;9505:6;9556:2;9552:7;9547:2;9540:5;9536:14;9532:28;9522:38;;9464:102;;;:::o;9572:122::-;9645:24;9663:5;9645:24;:::i;:::-;9638:5;9635:35;9625:63;;9684:1;9681;9674:12;9625:63;9572:122;:::o;9700:120::-;9772:23;9789:5;9772:23;:::i;:::-;9765:5;9762:34;9752:62;;9810:1;9807;9800:12;9752:62;9700:120;:::o"},"gasEstimates":{"creation":{"codeDepositCost":"476600","executionCost":"infinite","totalCost":"infinite"},"external":{"getRandomWordsCount()":"2445","rawFulfillRandomWords(uint256,uint256[])":"infinite","requestRandomWords(uint32)":"infinite","s_randomWords(uint256)":"infinite","s_requestId()":"2473"},"internal":{"fulfillRandomWords(uint256,uint256[] memory)":"infinite"}},"methodIdentifiers":{"getRandomWordsCount()":"705a050b","rawFulfillRandomWords(uint256,uint256[])":"1fe543e3","requestRandomWords(uint32)":"e726f2e1","s_randomWords(uint256)":"f6eaffc8","s_requestId()":"e89e106a"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"subscriptionId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"vrfCoordinator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"keyHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"have\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"want\",\"type\":\"address\"}],\"name\":\"OnlyCoordinatorCanFulfill\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"randomWords\",\"type\":\"uint256[]\"}],\"name\":\"ReturnedRandomness\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getRandomWordsCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"randomWords\",\"type\":\"uint256[]\"}],\"name\":\"rawFulfillRandomWords\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_numWords\",\"type\":\"uint32\"}],\"name\":\"requestRandomWords\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"s_randomWords\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_requestId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"keyHash\":\"- the gas lane to use, which specifies the maximum gas price to bump to\",\"subscriptionId\":\"- the subscription ID that this contract uses for funding requests\",\"vrfCoordinator\":\"- coordinator, check https://docs.chain.link/docs/vrf-contracts/#configurations\"}},\"getRandomWordsCount()\":{\"returns\":{\"_0\":\"Length of random words array\"}},\"requestRandomWords(uint32)\":{\"params\":{\"_numWords\":\"- retrieve no of random values in one request. Cannot exceed VRFCoordinatorV2.MAX_NUM_WORDS. Assumes the subscription is funded sufficiently; \\\"Words\\\" refers to unit of data in Computer Science\"}}},\"title\":\"The RandomNumberConsumerV2 contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"constructor\":{\"notice\":\"Constructor inherits VRFConsumerBaseV2\"},\"requestRandomWords(uint32)\":{\"notice\":\"Requests randomness\"}},\"notice\":\"A contract that gets random values from Chainlink VRF V2\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/RandomNumberConsumerV2.sol\":\"RandomNumberConsumerV2\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/VRFConsumerBaseV2.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.4;\\n\\n/** ****************************************************************************\\n * @notice Interface for contracts using VRF randomness\\n * *****************************************************************************\\n * @dev PURPOSE\\n *\\n * @dev Reggie the Random Oracle (not his real job) wants to provide randomness\\n * @dev to Vera the verifier in such a way that Vera can be sure he's not\\n * @dev making his output up to suit himself. Reggie provides Vera a public key\\n * @dev to which he knows the secret key. Each time Vera provides a seed to\\n * @dev Reggie, he gives back a value which is computed completely\\n * @dev deterministically from the seed and the secret key.\\n *\\n * @dev Reggie provides a proof by which Vera can verify that the output was\\n * @dev correctly computed once Reggie tells it to her, but without that proof,\\n * @dev the output is indistinguishable to her from a uniform random sample\\n * @dev from the output space.\\n *\\n * @dev The purpose of this contract is to make it easy for unrelated contracts\\n * @dev to talk to Vera the verifier about the work Reggie is doing, to provide\\n * @dev simple access to a verifiable source of randomness. It ensures 2 things:\\n * @dev 1. The fulfillment came from the VRFCoordinator\\n * @dev 2. The consumer contract implements fulfillRandomWords.\\n * *****************************************************************************\\n * @dev USAGE\\n *\\n * @dev Calling contracts must inherit from VRFConsumerBase, and can\\n * @dev initialize VRFConsumerBase's attributes in their constructor as\\n * @dev shown:\\n *\\n * @dev   contract VRFConsumer {\\n * @dev     constructor(<other arguments>, address _vrfCoordinator, address _link)\\n * @dev       VRFConsumerBase(_vrfCoordinator) public {\\n * @dev         <initialization with other arguments goes here>\\n * @dev       }\\n * @dev   }\\n *\\n * @dev The oracle will have given you an ID for the VRF keypair they have\\n * @dev committed to (let's call it keyHash). Create subscription, fund it\\n * @dev and your consumer contract as a consumer of it (see VRFCoordinatorInterface\\n * @dev subscription management functions).\\n * @dev Call requestRandomWords(keyHash, subId, minimumRequestConfirmations,\\n * @dev callbackGasLimit, numWords),\\n * @dev see (VRFCoordinatorInterface for a description of the arguments).\\n *\\n * @dev Once the VRFCoordinator has received and validated the oracle's response\\n * @dev to your request, it will call your contract's fulfillRandomWords method.\\n *\\n * @dev The randomness argument to fulfillRandomWords is a set of random words\\n * @dev generated from your requestId and the blockHash of the request.\\n *\\n * @dev If your contract could have concurrent requests open, you can use the\\n * @dev requestId returned from requestRandomWords to track which response is associated\\n * @dev with which randomness request.\\n * @dev See \\\"SECURITY CONSIDERATIONS\\\" for principles to keep in mind,\\n * @dev if your contract could have multiple requests in flight simultaneously.\\n *\\n * @dev Colliding `requestId`s are cryptographically impossible as long as seeds\\n * @dev differ.\\n *\\n * *****************************************************************************\\n * @dev SECURITY CONSIDERATIONS\\n *\\n * @dev A method with the ability to call your fulfillRandomness method directly\\n * @dev could spoof a VRF response with any random value, so it's critical that\\n * @dev it cannot be directly called by anything other than this base contract\\n * @dev (specifically, by the VRFConsumerBase.rawFulfillRandomness method).\\n *\\n * @dev For your users to trust that your contract's random behavior is free\\n * @dev from malicious interference, it's best if you can write it so that all\\n * @dev behaviors implied by a VRF response are executed *during* your\\n * @dev fulfillRandomness method. If your contract must store the response (or\\n * @dev anything derived from it) and use it later, you must ensure that any\\n * @dev user-significant behavior which depends on that stored value cannot be\\n * @dev manipulated by a subsequent VRF request.\\n *\\n * @dev Similarly, both miners and the VRF oracle itself have some influence\\n * @dev over the order in which VRF responses appear on the blockchain, so if\\n * @dev your contract could have multiple VRF requests in flight simultaneously,\\n * @dev you must ensure that the order in which the VRF responses arrive cannot\\n * @dev be used to manipulate your contract's user-significant behavior.\\n *\\n * @dev Since the block hash of the block which contains the requestRandomness\\n * @dev call is mixed into the input to the VRF *last*, a sufficiently powerful\\n * @dev miner could, in principle, fork the blockchain to evict the block\\n * @dev containing the request, forcing the request to be included in a\\n * @dev different block with a different hash, and therefore a different input\\n * @dev to the VRF. However, such an attack would incur a substantial economic\\n * @dev cost. This cost scales with the number of blocks the VRF oracle waits\\n * @dev until it calls responds to a request. It is for this reason that\\n * @dev that you can signal to an oracle you'd like them to wait longer before\\n * @dev responding to the request (however this is not enforced in the contract\\n * @dev and so remains effective only in the case of unmodified oracle software).\\n */\\nabstract contract VRFConsumerBaseV2 {\\n  error OnlyCoordinatorCanFulfill(address have, address want);\\n  address private immutable vrfCoordinator;\\n\\n  /**\\n   * @param _vrfCoordinator address of VRFCoordinator contract\\n   */\\n  constructor(address _vrfCoordinator) {\\n    vrfCoordinator = _vrfCoordinator;\\n  }\\n\\n  /**\\n   * @notice fulfillRandomness handles the VRF response. Your contract must\\n   * @notice implement it. See \\\"SECURITY CONSIDERATIONS\\\" above for important\\n   * @notice principles to keep in mind when implementing your fulfillRandomness\\n   * @notice method.\\n   *\\n   * @dev VRFConsumerBaseV2 expects its subcontracts to have a method with this\\n   * @dev signature, and will call it once it has verified the proof\\n   * @dev associated with the randomness. (It is triggered via a call to\\n   * @dev rawFulfillRandomness, below.)\\n   *\\n   * @param requestId The Id initially returned by requestRandomness\\n   * @param randomWords the VRF output expanded to the requested number of words\\n   */\\n  function fulfillRandomWords(uint256 requestId, uint256[] memory randomWords) internal virtual;\\n\\n  // rawFulfillRandomness is called by VRFCoordinator when it receives a valid VRF\\n  // proof. rawFulfillRandomness then calls fulfillRandomness, after validating\\n  // the origin of the call\\n  function rawFulfillRandomWords(uint256 requestId, uint256[] memory randomWords) external {\\n    if (msg.sender != vrfCoordinator) {\\n      revert OnlyCoordinatorCanFulfill(msg.sender, vrfCoordinator);\\n    }\\n    fulfillRandomWords(requestId, randomWords);\\n  }\\n}\\n\",\"keccak256\":\"0x3d709a5e0f1f9b8841172b10ba8af785dd51a13eda9fc395723a706e51329904\",\"license\":\"MIT\"},\"@chainlink/contracts/src/v0.8/interfaces/VRFCoordinatorV2Interface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface VRFCoordinatorV2Interface {\\n  /**\\n   * @notice Get configuration relevant for making requests\\n   * @return minimumRequestConfirmations global min for request confirmations\\n   * @return maxGasLimit global max for request gas limit\\n   * @return s_provingKeyHashes list of registered key hashes\\n   */\\n  function getRequestConfig()\\n    external\\n    view\\n    returns (\\n      uint16,\\n      uint32,\\n      bytes32[] memory\\n    );\\n\\n  /**\\n   * @notice Request a set of random words.\\n   * @param keyHash - Corresponds to a particular oracle job which uses\\n   * that key for generating the VRF proof. Different keyHash's have different gas price\\n   * ceilings, so you can select a specific one to bound your maximum per request cost.\\n   * @param subId  - The ID of the VRF subscription. Must be funded\\n   * with the minimum subscription balance required for the selected keyHash.\\n   * @param minimumRequestConfirmations - How many blocks you'd like the\\n   * oracle to wait before responding to the request. See SECURITY CONSIDERATIONS\\n   * for why you may want to request more. The acceptable range is\\n   * [minimumRequestBlockConfirmations, 200].\\n   * @param callbackGasLimit - How much gas you'd like to receive in your\\n   * fulfillRandomWords callback. Note that gasleft() inside fulfillRandomWords\\n   * may be slightly less than this amount because of gas used calling the function\\n   * (argument decoding etc.), so you may need to request slightly more than you expect\\n   * to have inside fulfillRandomWords. The acceptable range is\\n   * [0, maxGasLimit]\\n   * @param numWords - The number of uint256 random values you'd like to receive\\n   * in your fulfillRandomWords callback. Note these numbers are expanded in a\\n   * secure way by the VRFCoordinator from a single random value supplied by the oracle.\\n   * @return requestId - A unique identifier of the request. Can be used to match\\n   * a request to a response in fulfillRandomWords.\\n   */\\n  function requestRandomWords(\\n    bytes32 keyHash,\\n    uint64 subId,\\n    uint16 minimumRequestConfirmations,\\n    uint32 callbackGasLimit,\\n    uint32 numWords\\n  ) external returns (uint256 requestId);\\n\\n  /**\\n   * @notice Create a VRF subscription.\\n   * @return subId - A unique subscription id.\\n   * @dev You can manage the consumer set dynamically with addConsumer/removeConsumer.\\n   * @dev Note to fund the subscription, use transferAndCall. For example\\n   * @dev  LINKTOKEN.transferAndCall(\\n   * @dev    address(COORDINATOR),\\n   * @dev    amount,\\n   * @dev    abi.encode(subId));\\n   */\\n  function createSubscription() external returns (uint64 subId);\\n\\n  /**\\n   * @notice Get a VRF subscription.\\n   * @param subId - ID of the subscription\\n   * @return balance - LINK balance of the subscription in juels.\\n   * @return reqCount - number of requests for this subscription, determines fee tier.\\n   * @return owner - owner of the subscription.\\n   * @return consumers - list of consumer address which are able to use this subscription.\\n   */\\n  function getSubscription(uint64 subId)\\n    external\\n    view\\n    returns (\\n      uint96 balance,\\n      uint64 reqCount,\\n      address owner,\\n      address[] memory consumers\\n    );\\n\\n  /**\\n   * @notice Request subscription owner transfer.\\n   * @param subId - ID of the subscription\\n   * @param newOwner - proposed new owner of the subscription\\n   */\\n  function requestSubscriptionOwnerTransfer(uint64 subId, address newOwner) external;\\n\\n  /**\\n   * @notice Request subscription owner transfer.\\n   * @param subId - ID of the subscription\\n   * @dev will revert if original owner of subId has\\n   * not requested that msg.sender become the new owner.\\n   */\\n  function acceptSubscriptionOwnerTransfer(uint64 subId) external;\\n\\n  /**\\n   * @notice Add a consumer to a VRF subscription.\\n   * @param subId - ID of the subscription\\n   * @param consumer - New consumer which can use the subscription\\n   */\\n  function addConsumer(uint64 subId, address consumer) external;\\n\\n  /**\\n   * @notice Remove a consumer from a VRF subscription.\\n   * @param subId - ID of the subscription\\n   * @param consumer - Consumer to remove from the subscription\\n   */\\n  function removeConsumer(uint64 subId, address consumer) external;\\n\\n  /**\\n   * @notice Cancel a subscription\\n   * @param subId - ID of the subscription\\n   * @param to - Where to send the remaining LINK to\\n   */\\n  function cancelSubscription(uint64 subId, address to) external;\\n\\n  /*\\n   * @notice Check to see if there exists a request commitment consumers\\n   * for all consumers and keyhashes for a given sub.\\n   * @param subId - ID of the subscription\\n   * @return true if there exists at least one unfulfilled request for the subscription, false\\n   * otherwise.\\n   */\\n  function pendingRequestExists(uint64 subId) external view returns (bool);\\n}\\n\",\"keccak256\":\"0x54cdc97717cbae1a51a5500c8ee4875ebf056c95b54d2155a9544a79cb4f4494\",\"license\":\"MIT\"},\"contracts/RandomNumberConsumerV2.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// An example of a consumer contract that relies on a subscription for funding.\\npragma solidity ^0.8.7;\\n\\nimport \\\"@chainlink/contracts/src/v0.8/interfaces/VRFCoordinatorV2Interface.sol\\\";\\nimport \\\"@chainlink/contracts/src/v0.8/VRFConsumerBaseV2.sol\\\";\\n\\n/**\\n * @title The RandomNumberConsumerV2 contract\\n * @notice A contract that gets random values from Chainlink VRF V2\\n */\\ncontract RandomNumberConsumerV2 is VRFConsumerBaseV2 {\\n  VRFCoordinatorV2Interface immutable COORDINATOR;\\n\\n  // Your subscription ID.\\n  uint64 immutable s_subscriptionId;\\n\\n  // The gas lane to use, which specifies the maximum gas price to bump to.\\n  // For a list of available gas lanes on each network,\\n  // see https://docs.chain.link/docs/vrf-contracts/#configurations\\n  bytes32 immutable s_keyHash;\\n\\n  // Depends on the number of requested values that you want sent to the\\n  // fulfillRandomWords() function. Storing each word costs about 20,000 gas,\\n  // so 100,000 is a safe default for this example contract. Test and adjust\\n  // this limit based on the network that you select, the size of the request,\\n  // and the processing of the callback request in the fulfillRandomWords()\\n  // function.\\n  uint32 constant CALLBACK_GAS_LIMIT = 100000;\\n\\n  // The default is 3, but you can set this higher.\\n  uint16 constant REQUEST_CONFIRMATIONS = 3;\\n\\n  uint256[] public s_randomWords;\\n  uint256 public s_requestId;\\n  address s_owner;\\n\\n  event ReturnedRandomness(uint256[] randomWords);\\n\\n  /**\\n   * @notice Constructor inherits VRFConsumerBaseV2\\n   *\\n   * @param subscriptionId - the subscription ID that this contract uses for funding requests\\n   * @param vrfCoordinator - coordinator, check https://docs.chain.link/docs/vrf-contracts/#configurations\\n   * @param keyHash - the gas lane to use, which specifies the maximum gas price to bump to\\n   */\\n  constructor(\\n    uint64 subscriptionId,\\n    address vrfCoordinator,\\n    bytes32 keyHash\\n  ) VRFConsumerBaseV2(vrfCoordinator) {\\n    COORDINATOR = VRFCoordinatorV2Interface(vrfCoordinator);\\n    s_keyHash = keyHash;\\n    s_owner = msg.sender;\\n    s_subscriptionId = subscriptionId;\\n  }\\n\\n  /**\\n   * @return Length of random words array\\n   */\\n  function getRandomWordsCount() view external returns(uint256){\\n    return s_randomWords.length;\\n  }\\n\\n  /**\\n   * @notice Requests randomness\\n   * @param _numWords - retrieve no of random values in one request. Cannot exceed VRFCoordinatorV2.MAX_NUM_WORDS.\\n   * Assumes the subscription is funded sufficiently; \\\"Words\\\" refers to unit of data in Computer Science\\n   */\\n  function requestRandomWords(uint32 _numWords) external onlyOwner {\\n    // Will revert if subscription is not set and funded.\\n    s_requestId = COORDINATOR.requestRandomWords(\\n      s_keyHash,\\n      s_subscriptionId,\\n      REQUEST_CONFIRMATIONS,\\n      CALLBACK_GAS_LIMIT,\\n      _numWords\\n    );\\n  }\\n\\n  /**\\n   * @notice Callback function used by VRF Coordinator\\n   *\\n   * @param requestId - id of the request\\n   * @param randomWords - array of random results from VRF Coordinator\\n   */\\n  function fulfillRandomWords(uint256 requestId, uint256[] memory randomWords) internal override {\\n    s_randomWords = randomWords;\\n    emit ReturnedRandomness(randomWords);\\n  }\\n\\n  modifier onlyOwner() {\\n    require(msg.sender == s_owner);\\n    _;\\n  }\\n}\\n\",\"keccak256\":\"0x2d2b82bca3dfab7fd8ed9f238d79b41384b9b383ed0d1354a51fd331aef11619\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[{"astId":3610,"contract":"contracts/RandomNumberConsumerV2.sol:RandomNumberConsumerV2","label":"s_randomWords","offset":0,"slot":"0","type":"t_array(t_uint256)dyn_storage"},{"astId":3612,"contract":"contracts/RandomNumberConsumerV2.sol:RandomNumberConsumerV2","label":"s_requestId","offset":0,"slot":"1","type":"t_uint256"},{"astId":3614,"contract":"contracts/RandomNumberConsumerV2.sol:RandomNumberConsumerV2","label":"s_owner","offset":0,"slot":"2","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)dyn_storage":{"base":"t_uint256","encoding":"dynamic_array","label":"uint256[]","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"userdoc":{"kind":"user","methods":{"constructor":{"notice":"Constructor inherits VRFConsumerBaseV2"},"requestRandomWords(uint32)":{"notice":"Requests randomness"}},"notice":"A contract that gets random values from Chainlink VRF V2","version":1}}},"contracts/WitnetPriceFeed.sol":{"WitnetPriceFeed":{"abi":[{"inputs":[{"internalType":"contract IWitnetPriceRouter","name":"_router","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes4","name":"_id4","type":"bytes4"}],"name":"getPrice","outputs":[{"internalType":"int256","name":"_lastPrice","type":"int256"},{"internalType":"uint256","name":"_lastTimestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"witnetPriceRouter","outputs":[{"internalType":"contract IWitnetPriceRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"bytecode":{"functionDebugData":{"@_3730":{"entryPoint":null,"id":3730,"parameterSlots":1,"returnSlots":0},"abi_decode_t_contract$_IWitnetPriceRouter_$7380_fromMemory":{"entryPoint":111,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IWitnetPriceRouter_$7380_fromMemory":{"entryPoint":132,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"cleanup_t_address":{"entryPoint":177,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_contract$_IWitnetPriceRouter_$7380":{"entryPoint":195,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":213,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":245,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_t_contract$_IWitnetPriceRouter_$7380":{"entryPoint":250,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1490:67","statements":[{"body":{"nodeType":"YulBlock","src":"97:107:67","statements":[{"nodeType":"YulAssignment","src":"107:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"122:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"116:5:67"},"nodeType":"YulFunctionCall","src":"116:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"107:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"192:5:67"}],"functionName":{"name":"validator_revert_t_contract$_IWitnetPriceRouter_$7380","nodeType":"YulIdentifier","src":"138:53:67"},"nodeType":"YulFunctionCall","src":"138:60:67"},"nodeType":"YulExpressionStatement","src":"138:60:67"}]},"name":"abi_decode_t_contract$_IWitnetPriceRouter_$7380_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"75:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"83:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"91:5:67","type":""}],"src":"7:197:67"},{"body":{"nodeType":"YulBlock","src":"314:301:67","statements":[{"body":{"nodeType":"YulBlock","src":"360:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"362:77:67"},"nodeType":"YulFunctionCall","src":"362:79:67"},"nodeType":"YulExpressionStatement","src":"362:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"335:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"344:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"331:3:67"},"nodeType":"YulFunctionCall","src":"331:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"356:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"327:3:67"},"nodeType":"YulFunctionCall","src":"327:32:67"},"nodeType":"YulIf","src":"324:119:67"},{"nodeType":"YulBlock","src":"453:155:67","statements":[{"nodeType":"YulVariableDeclaration","src":"468:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"482:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"472:6:67","type":""}]},{"nodeType":"YulAssignment","src":"497:101:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"570:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"581:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"566:3:67"},"nodeType":"YulFunctionCall","src":"566:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"590:7:67"}],"functionName":{"name":"abi_decode_t_contract$_IWitnetPriceRouter_$7380_fromMemory","nodeType":"YulIdentifier","src":"507:58:67"},"nodeType":"YulFunctionCall","src":"507:91:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"497:6:67"}]}]}]},"name":"abi_decode_tuple_t_contract$_IWitnetPriceRouter_$7380_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"284:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"295:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"307:6:67","type":""}],"src":"210:405:67"},{"body":{"nodeType":"YulBlock","src":"661:35:67","statements":[{"nodeType":"YulAssignment","src":"671:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"687:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"681:5:67"},"nodeType":"YulFunctionCall","src":"681:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"671:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"654:6:67","type":""}],"src":"621:75:67"},{"body":{"nodeType":"YulBlock","src":"747:51:67","statements":[{"nodeType":"YulAssignment","src":"757:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"786:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"768:17:67"},"nodeType":"YulFunctionCall","src":"768:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"757:7:67"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"729:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"739:7:67","type":""}],"src":"702:96:67"},{"body":{"nodeType":"YulBlock","src":"876:51:67","statements":[{"nodeType":"YulAssignment","src":"886:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"915:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"897:17:67"},"nodeType":"YulFunctionCall","src":"897:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"886:7:67"}]}]},"name":"cleanup_t_contract$_IWitnetPriceRouter_$7380","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"858:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"868:7:67","type":""}],"src":"804:123:67"},{"body":{"nodeType":"YulBlock","src":"978:81:67","statements":[{"nodeType":"YulAssignment","src":"988:65:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1003:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"1010:42:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"999:3:67"},"nodeType":"YulFunctionCall","src":"999:54:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"988:7:67"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"960:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"970:7:67","type":""}],"src":"933:126:67"},{"body":{"nodeType":"YulBlock","src":"1154:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1171:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1174:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1164:6:67"},"nodeType":"YulFunctionCall","src":"1164:12:67"},"nodeType":"YulExpressionStatement","src":"1164:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"1065:117:67"},{"body":{"nodeType":"YulBlock","src":"1277:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1294:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1297:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1287:6:67"},"nodeType":"YulFunctionCall","src":"1287:12:67"},"nodeType":"YulExpressionStatement","src":"1287:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"1188:117:67"},{"body":{"nodeType":"YulBlock","src":"1381:106:67","statements":[{"body":{"nodeType":"YulBlock","src":"1465:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1474:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1477:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1467:6:67"},"nodeType":"YulFunctionCall","src":"1467:12:67"},"nodeType":"YulExpressionStatement","src":"1467:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1404:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1456:5:67"}],"functionName":{"name":"cleanup_t_contract$_IWitnetPriceRouter_$7380","nodeType":"YulIdentifier","src":"1411:44:67"},"nodeType":"YulFunctionCall","src":"1411:51:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1401:2:67"},"nodeType":"YulFunctionCall","src":"1401:62:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1394:6:67"},"nodeType":"YulFunctionCall","src":"1394:70:67"},"nodeType":"YulIf","src":"1391:90:67"}]},"name":"validator_revert_t_contract$_IWitnetPriceRouter_$7380","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1374:5:67","type":""}],"src":"1311:176:67"}]},"contents":"{\n\n    function abi_decode_t_contract$_IWitnetPriceRouter_$7380_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_contract$_IWitnetPriceRouter_$7380(value)\n    }\n\n    function abi_decode_tuple_t_contract$_IWitnetPriceRouter_$7380_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_contract$_IWitnetPriceRouter_$7380_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function cleanup_t_address(value) -> cleaned {\n        cleaned := cleanup_t_uint160(value)\n    }\n\n    function cleanup_t_contract$_IWitnetPriceRouter_$7380(value) -> cleaned {\n        cleaned := cleanup_t_address(value)\n    }\n\n    function cleanup_t_uint160(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function validator_revert_t_contract$_IWitnetPriceRouter_$7380(value) {\n        if iszero(eq(value, cleanup_t_contract$_IWitnetPriceRouter_$7380(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60a060405234801561001057600080fd5b5060405161051e38038061051e83398181016040528101906100329190610084565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b8152505050610111565b60008151905061007e816100fa565b92915050565b60006020828403121561009a576100996100f5565b5b60006100a88482850161006f565b91505092915050565b60006100bc826100d5565b9050919050565b60006100ce826100b1565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b610103816100c3565b811461010e57600080fd5b50565b60805160601c6103ea61013460003960008181608c015260b301526103ea6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634fc87f241461003b578063c66f4c0a14610059575b600080fd5b61004361008a565b604051610050919061027e565b60405180910390f35b610073600480360381019061006e91906101a7565b6100ae565b604051610081929190610299565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000081565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f78eea83846040518263ffffffff1660e01b815260040161010a9190610263565b60606040518083038186803b15801561012257600080fd5b505afa158015610136573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015a91906101d4565b508092508193505050915091565b6000813590506101778161036f565b92915050565b60008151905061018c81610386565b92915050565b6000815190506101a18161039d565b92915050565b6000602082840312156101bd576101bc61036a565b5b60006101cb84828501610168565b91505092915050565b6000806000606084860312156101ed576101ec61036a565b5b60006101fb8682870161017d565b935050602061020c86828701610192565b925050604061021d86828701610192565b9150509250925092565b61023081610322565b82525050565b61023f81610334565b82525050565b61024e816102ee565b82525050565b61025d81610318565b82525050565b60006020820190506102786000830184610227565b92915050565b60006020820190506102936000830184610236565b92915050565b60006040820190506102ae6000830185610245565b6102bb6020830184610254565b9392505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061032d826102c2565b9050919050565b600061033f82610346565b9050919050565b600061035182610358565b9050919050565b6000610363826102f8565b9050919050565b600080fd5b610378816102c2565b811461038357600080fd5b50565b61038f816102ee565b811461039a57600080fd5b50565b6103a681610318565b81146103b157600080fd5b5056fea26469706673582212203b8d83c8b830f83736eb2ade2319548016ded7130d50688e2b00b7481d88c00164736f6c63430008070033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x51E CODESIZE SUB DUP1 PUSH2 0x51E DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0x84 JUMP JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 SHL DUP2 MSTORE POP POP POP PUSH2 0x111 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x7E DUP2 PUSH2 0xFA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9A JUMPI PUSH2 0x99 PUSH2 0xF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xA8 DUP5 DUP3 DUP6 ADD PUSH2 0x6F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBC DUP3 PUSH2 0xD5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCE DUP3 PUSH2 0xB1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x103 DUP2 PUSH2 0xC3 JUMP JUMPDEST DUP2 EQ PUSH2 0x10E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0x60 SHR PUSH2 0x3EA PUSH2 0x134 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH1 0x8C ADD MSTORE PUSH1 0xB3 ADD MSTORE PUSH2 0x3EA PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4FC87F24 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xC66F4C0A EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x8A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x27E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x73 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x1A7 JUMP JUMPDEST PUSH2 0xAE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x81 SWAP3 SWAP2 SWAP1 PUSH2 0x299 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF78EEA83 DUP5 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x10A SWAP2 SWAP1 PUSH2 0x263 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x122 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x136 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 0x15A SWAP2 SWAP1 PUSH2 0x1D4 JUMP JUMPDEST POP DUP1 SWAP3 POP DUP2 SWAP4 POP POP POP SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x177 DUP2 PUSH2 0x36F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x18C DUP2 PUSH2 0x386 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1A1 DUP2 PUSH2 0x39D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1BD JUMPI PUSH2 0x1BC PUSH2 0x36A JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1CB DUP5 DUP3 DUP6 ADD PUSH2 0x168 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1ED JUMPI PUSH2 0x1EC PUSH2 0x36A JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1FB DUP7 DUP3 DUP8 ADD PUSH2 0x17D JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x20C DUP7 DUP3 DUP8 ADD PUSH2 0x192 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x21D DUP7 DUP3 DUP8 ADD PUSH2 0x192 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x230 DUP2 PUSH2 0x322 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x23F DUP2 PUSH2 0x334 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x24E DUP2 PUSH2 0x2EE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x25D DUP2 PUSH2 0x318 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x278 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x227 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x293 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x236 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2AE PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x245 JUMP JUMPDEST PUSH2 0x2BB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x254 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32D DUP3 PUSH2 0x2C2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33F DUP3 PUSH2 0x346 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x351 DUP3 PUSH2 0x358 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x363 DUP3 PUSH2 0x2F8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x378 DUP2 PUSH2 0x2C2 JUMP JUMPDEST DUP2 EQ PUSH2 0x383 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x38F DUP2 PUSH2 0x2EE JUMP JUMPDEST DUP2 EQ PUSH2 0x39A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3A6 DUP2 PUSH2 0x318 JUMP JUMPDEST DUP2 EQ PUSH2 0x3B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXTCODESIZE DUP14 DUP4 0xC8 0xB8 ADDRESS 0xF8 CALLDATACOPY CALLDATASIZE 0xEB 0x2A 0xDE 0x23 NOT SLOAD DUP1 AND 0xDE 0xD7 SGT 0xD POP PUSH9 0x8E2B00B7481D88C001 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ","sourceMap":"143:645:21:-:0;;;349:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;419:7;399:27;;;;;;;;;;;;349:84;143:645;;7:197:67;91:5;122:6;116:13;107:22;;138:60;192:5;138:60;:::i;:::-;7:197;;;;:::o;210:405::-;307:6;356:2;344:9;335:7;331:23;327:32;324:119;;;362:79;;:::i;:::-;324:119;482:1;507:91;590:7;581:6;570:9;566:22;507:91;:::i;:::-;497:101;;453:155;210:405;;;;:::o;702:96::-;739:7;768:24;786:5;768:24;:::i;:::-;757:35;;702:96;;;:::o;804:123::-;868:7;897:24;915:5;897:24;:::i;:::-;886:35;;804:123;;;:::o;933:126::-;970:7;1010:42;1003:5;999:54;988:65;;933:126;;;:::o;1188:117::-;1297:1;1294;1287:12;1311:176;1411:51;1456:5;1411:51;:::i;:::-;1404:5;1401:62;1391:90;;1477:1;1474;1467:12;1391:90;1311:176;:::o;143:645:21:-;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@getPrice_3749":{"entryPoint":174,"id":3749,"parameterSlots":1,"returnSlots":2},"@witnetPriceRouter_3719":{"entryPoint":138,"id":3719,"parameterSlots":0,"returnSlots":0},"abi_decode_t_bytes4":{"entryPoint":360,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_int256_fromMemory":{"entryPoint":381,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256_fromMemory":{"entryPoint":402,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes4":{"entryPoint":423,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_int256t_uint256t_uint256_fromMemory":{"entryPoint":468,"id":null,"parameterSlots":2,"returnSlots":3},"abi_encode_t_bytes4_to_t_bytes32_fromStack":{"entryPoint":551,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_contract$_IWitnetPriceRouter_$7380_to_t_address_fromStack":{"entryPoint":566,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_int256_to_t_int256_fromStack":{"entryPoint":581,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":596,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_bytes4__to_t_bytes32__fromStack_reversed":{"entryPoint":611,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IWitnetPriceRouter_$7380__to_t_address__fromStack_reversed":{"entryPoint":638,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_int256_t_uint256__to_t_int256_t_uint256__fromStack_reversed":{"entryPoint":665,"id":null,"parameterSlots":3,"returnSlots":1},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"cleanup_t_bytes4":{"entryPoint":706,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_int256":{"entryPoint":750,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":760,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":792,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_bytes4_to_t_bytes32":{"entryPoint":802,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_contract$_IWitnetPriceRouter_$7380_to_t_address":{"entryPoint":820,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_address":{"entryPoint":838,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_uint160":{"entryPoint":856,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":874,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_t_bytes4":{"entryPoint":879,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_int256":{"entryPoint":902,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":925,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:4542:67","statements":[{"body":{"nodeType":"YulBlock","src":"58:86:67","statements":[{"nodeType":"YulAssignment","src":"68:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"90:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"77:12:67"},"nodeType":"YulFunctionCall","src":"77:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"68:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"132:5:67"}],"functionName":{"name":"validator_revert_t_bytes4","nodeType":"YulIdentifier","src":"106:25:67"},"nodeType":"YulFunctionCall","src":"106:32:67"},"nodeType":"YulExpressionStatement","src":"106:32:67"}]},"name":"abi_decode_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"36:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"44:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"52:5:67","type":""}],"src":"7:137:67"},{"body":{"nodeType":"YulBlock","src":"212:79:67","statements":[{"nodeType":"YulAssignment","src":"222:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"237:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"231:5:67"},"nodeType":"YulFunctionCall","src":"231:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"222:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"279:5:67"}],"functionName":{"name":"validator_revert_t_int256","nodeType":"YulIdentifier","src":"253:25:67"},"nodeType":"YulFunctionCall","src":"253:32:67"},"nodeType":"YulExpressionStatement","src":"253:32:67"}]},"name":"abi_decode_t_int256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"190:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"198:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"206:5:67","type":""}],"src":"150:141:67"},{"body":{"nodeType":"YulBlock","src":"360:80:67","statements":[{"nodeType":"YulAssignment","src":"370:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"385:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"379:5:67"},"nodeType":"YulFunctionCall","src":"379:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"370:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"428:5:67"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"401:26:67"},"nodeType":"YulFunctionCall","src":"401:33:67"},"nodeType":"YulExpressionStatement","src":"401:33:67"}]},"name":"abi_decode_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"338:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"346:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"354:5:67","type":""}],"src":"297:143:67"},{"body":{"nodeType":"YulBlock","src":"511:262:67","statements":[{"body":{"nodeType":"YulBlock","src":"557:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"559:77:67"},"nodeType":"YulFunctionCall","src":"559:79:67"},"nodeType":"YulExpressionStatement","src":"559:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"532:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"541:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"528:3:67"},"nodeType":"YulFunctionCall","src":"528:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"553:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"524:3:67"},"nodeType":"YulFunctionCall","src":"524:32:67"},"nodeType":"YulIf","src":"521:119:67"},{"nodeType":"YulBlock","src":"650:116:67","statements":[{"nodeType":"YulVariableDeclaration","src":"665:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"679:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"669:6:67","type":""}]},{"nodeType":"YulAssignment","src":"694:62:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"728:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"739:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"724:3:67"},"nodeType":"YulFunctionCall","src":"724:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"748:7:67"}],"functionName":{"name":"abi_decode_t_bytes4","nodeType":"YulIdentifier","src":"704:19:67"},"nodeType":"YulFunctionCall","src":"704:52:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"694:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"481:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"492:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"504:6:67","type":""}],"src":"446:327:67"},{"body":{"nodeType":"YulBlock","src":"889:551:67","statements":[{"body":{"nodeType":"YulBlock","src":"935:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"937:77:67"},"nodeType":"YulFunctionCall","src":"937:79:67"},"nodeType":"YulExpressionStatement","src":"937:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"910:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"919:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"906:3:67"},"nodeType":"YulFunctionCall","src":"906:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"931:2:67","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"902:3:67"},"nodeType":"YulFunctionCall","src":"902:32:67"},"nodeType":"YulIf","src":"899:119:67"},{"nodeType":"YulBlock","src":"1028:127:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1043:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1057:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1047:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1072:73:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1117:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1128:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1113:3:67"},"nodeType":"YulFunctionCall","src":"1113:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1137:7:67"}],"functionName":{"name":"abi_decode_t_int256_fromMemory","nodeType":"YulIdentifier","src":"1082:30:67"},"nodeType":"YulFunctionCall","src":"1082:63:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1072:6:67"}]}]},{"nodeType":"YulBlock","src":"1165:129:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1180:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1194:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1184:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1210:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1256:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1267:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1252:3:67"},"nodeType":"YulFunctionCall","src":"1252:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1276:7:67"}],"functionName":{"name":"abi_decode_t_uint256_fromMemory","nodeType":"YulIdentifier","src":"1220:31:67"},"nodeType":"YulFunctionCall","src":"1220:64:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1210:6:67"}]}]},{"nodeType":"YulBlock","src":"1304:129:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1319:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1333:2:67","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1323:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1349:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1395:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1406:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1391:3:67"},"nodeType":"YulFunctionCall","src":"1391:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1415:7:67"}],"functionName":{"name":"abi_decode_t_uint256_fromMemory","nodeType":"YulIdentifier","src":"1359:31:67"},"nodeType":"YulFunctionCall","src":"1359:64:67"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1349:6:67"}]}]}]},"name":"abi_decode_tuple_t_int256t_uint256t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"843:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"854:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"866:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"874:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"882:6:67","type":""}],"src":"779:661:67"},{"body":{"nodeType":"YulBlock","src":"1510:65:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1527:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1562:5:67"}],"functionName":{"name":"convert_t_bytes4_to_t_bytes32","nodeType":"YulIdentifier","src":"1532:29:67"},"nodeType":"YulFunctionCall","src":"1532:36:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1520:6:67"},"nodeType":"YulFunctionCall","src":"1520:49:67"},"nodeType":"YulExpressionStatement","src":"1520:49:67"}]},"name":"abi_encode_t_bytes4_to_t_bytes32_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1498:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1505:3:67","type":""}],"src":"1446:129:67"},{"body":{"nodeType":"YulBlock","src":"1673:93:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1690:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1753:5:67"}],"functionName":{"name":"convert_t_contract$_IWitnetPriceRouter_$7380_to_t_address","nodeType":"YulIdentifier","src":"1695:57:67"},"nodeType":"YulFunctionCall","src":"1695:64:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1683:6:67"},"nodeType":"YulFunctionCall","src":"1683:77:67"},"nodeType":"YulExpressionStatement","src":"1683:77:67"}]},"name":"abi_encode_t_contract$_IWitnetPriceRouter_$7380_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1661:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1668:3:67","type":""}],"src":"1581:185:67"},{"body":{"nodeType":"YulBlock","src":"1835:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1852:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1874:5:67"}],"functionName":{"name":"cleanup_t_int256","nodeType":"YulIdentifier","src":"1857:16:67"},"nodeType":"YulFunctionCall","src":"1857:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1845:6:67"},"nodeType":"YulFunctionCall","src":"1845:36:67"},"nodeType":"YulExpressionStatement","src":"1845:36:67"}]},"name":"abi_encode_t_int256_to_t_int256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1823:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1830:3:67","type":""}],"src":"1772:115:67"},{"body":{"nodeType":"YulBlock","src":"1958:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1975:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1998:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"1980:17:67"},"nodeType":"YulFunctionCall","src":"1980:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1968:6:67"},"nodeType":"YulFunctionCall","src":"1968:37:67"},"nodeType":"YulExpressionStatement","src":"1968:37:67"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1946:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1953:3:67","type":""}],"src":"1893:118:67"},{"body":{"nodeType":"YulBlock","src":"2114:123:67","statements":[{"nodeType":"YulAssignment","src":"2124:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2136:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2147:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2132:3:67"},"nodeType":"YulFunctionCall","src":"2132:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2124:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2203:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2216:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2227:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2212:3:67"},"nodeType":"YulFunctionCall","src":"2212:17:67"}],"functionName":{"name":"abi_encode_t_bytes4_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"2160:42:67"},"nodeType":"YulFunctionCall","src":"2160:70:67"},"nodeType":"YulExpressionStatement","src":"2160:70:67"}]},"name":"abi_encode_tuple_t_bytes4__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2086:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2098:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2109:4:67","type":""}],"src":"2017:220:67"},{"body":{"nodeType":"YulBlock","src":"2368:151:67","statements":[{"nodeType":"YulAssignment","src":"2378:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2390:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2401:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2386:3:67"},"nodeType":"YulFunctionCall","src":"2386:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2378:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2485:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2498:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2509:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2494:3:67"},"nodeType":"YulFunctionCall","src":"2494:17:67"}],"functionName":{"name":"abi_encode_t_contract$_IWitnetPriceRouter_$7380_to_t_address_fromStack","nodeType":"YulIdentifier","src":"2414:70:67"},"nodeType":"YulFunctionCall","src":"2414:98:67"},"nodeType":"YulExpressionStatement","src":"2414:98:67"}]},"name":"abi_encode_tuple_t_contract$_IWitnetPriceRouter_$7380__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2340:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2352:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2363:4:67","type":""}],"src":"2243:276:67"},{"body":{"nodeType":"YulBlock","src":"2649:204:67","statements":[{"nodeType":"YulAssignment","src":"2659:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2671:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2682:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2667:3:67"},"nodeType":"YulFunctionCall","src":"2667:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2659:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2737:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2750:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2761:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2746:3:67"},"nodeType":"YulFunctionCall","src":"2746:17:67"}],"functionName":{"name":"abi_encode_t_int256_to_t_int256_fromStack","nodeType":"YulIdentifier","src":"2695:41:67"},"nodeType":"YulFunctionCall","src":"2695:69:67"},"nodeType":"YulExpressionStatement","src":"2695:69:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"2818:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2831:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2842:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2827:3:67"},"nodeType":"YulFunctionCall","src":"2827:18:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"2774:43:67"},"nodeType":"YulFunctionCall","src":"2774:72:67"},"nodeType":"YulExpressionStatement","src":"2774:72:67"}]},"name":"abi_encode_tuple_t_int256_t_uint256__to_t_int256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2613:9:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2625:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2633:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2644:4:67","type":""}],"src":"2525:328:67"},{"body":{"nodeType":"YulBlock","src":"2899:35:67","statements":[{"nodeType":"YulAssignment","src":"2909:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2925:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2919:5:67"},"nodeType":"YulFunctionCall","src":"2919:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2909:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"2892:6:67","type":""}],"src":"2859:75:67"},{"body":{"nodeType":"YulBlock","src":"2984:105:67","statements":[{"nodeType":"YulAssignment","src":"2994:89:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3009:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"3016:66:67","type":"","value":"0xffffffff00000000000000000000000000000000000000000000000000000000"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3005:3:67"},"nodeType":"YulFunctionCall","src":"3005:78:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"2994:7:67"}]}]},"name":"cleanup_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2966:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"2976:7:67","type":""}],"src":"2940:149:67"},{"body":{"nodeType":"YulBlock","src":"3139:32:67","statements":[{"nodeType":"YulAssignment","src":"3149:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"3160:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"3149:7:67"}]}]},"name":"cleanup_t_int256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3121:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"3131:7:67","type":""}],"src":"3095:76:67"},{"body":{"nodeType":"YulBlock","src":"3222:81:67","statements":[{"nodeType":"YulAssignment","src":"3232:65:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3247:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"3254:42:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3243:3:67"},"nodeType":"YulFunctionCall","src":"3243:54:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"3232:7:67"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3204:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"3214:7:67","type":""}],"src":"3177:126:67"},{"body":{"nodeType":"YulBlock","src":"3354:32:67","statements":[{"nodeType":"YulAssignment","src":"3364:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"3375:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"3364:7:67"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3336:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"3346:7:67","type":""}],"src":"3309:77:67"},{"body":{"nodeType":"YulBlock","src":"3451:52:67","statements":[{"nodeType":"YulAssignment","src":"3461:36:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3491:5:67"}],"functionName":{"name":"cleanup_t_bytes4","nodeType":"YulIdentifier","src":"3474:16:67"},"nodeType":"YulFunctionCall","src":"3474:23:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"3461:9:67"}]}]},"name":"convert_t_bytes4_to_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3431:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"3441:9:67","type":""}],"src":"3392:111:67"},{"body":{"nodeType":"YulBlock","src":"3596:66:67","statements":[{"nodeType":"YulAssignment","src":"3606:50:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3650:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_address","nodeType":"YulIdentifier","src":"3619:30:67"},"nodeType":"YulFunctionCall","src":"3619:37:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"3606:9:67"}]}]},"name":"convert_t_contract$_IWitnetPriceRouter_$7380_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3576:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"3586:9:67","type":""}],"src":"3509:153:67"},{"body":{"nodeType":"YulBlock","src":"3728:66:67","statements":[{"nodeType":"YulAssignment","src":"3738:50:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3782:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_uint160","nodeType":"YulIdentifier","src":"3751:30:67"},"nodeType":"YulFunctionCall","src":"3751:37:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"3738:9:67"}]}]},"name":"convert_t_uint160_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3708:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"3718:9:67","type":""}],"src":"3668:126:67"},{"body":{"nodeType":"YulBlock","src":"3860:53:67","statements":[{"nodeType":"YulAssignment","src":"3870:37:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3901:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"3883:17:67"},"nodeType":"YulFunctionCall","src":"3883:24:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"3870:9:67"}]}]},"name":"convert_t_uint160_to_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3840:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"3850:9:67","type":""}],"src":"3800:113:67"},{"body":{"nodeType":"YulBlock","src":"4008:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4025:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4028:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4018:6:67"},"nodeType":"YulFunctionCall","src":"4018:12:67"},"nodeType":"YulExpressionStatement","src":"4018:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"3919:117:67"},{"body":{"nodeType":"YulBlock","src":"4131:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4148:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4151:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4141:6:67"},"nodeType":"YulFunctionCall","src":"4141:12:67"},"nodeType":"YulExpressionStatement","src":"4141:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"4042:117:67"},{"body":{"nodeType":"YulBlock","src":"4207:78:67","statements":[{"body":{"nodeType":"YulBlock","src":"4263:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4272:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4275:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4265:6:67"},"nodeType":"YulFunctionCall","src":"4265:12:67"},"nodeType":"YulExpressionStatement","src":"4265:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4230:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4254:5:67"}],"functionName":{"name":"cleanup_t_bytes4","nodeType":"YulIdentifier","src":"4237:16:67"},"nodeType":"YulFunctionCall","src":"4237:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4227:2:67"},"nodeType":"YulFunctionCall","src":"4227:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4220:6:67"},"nodeType":"YulFunctionCall","src":"4220:42:67"},"nodeType":"YulIf","src":"4217:62:67"}]},"name":"validator_revert_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4200:5:67","type":""}],"src":"4165:120:67"},{"body":{"nodeType":"YulBlock","src":"4333:78:67","statements":[{"body":{"nodeType":"YulBlock","src":"4389:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4398:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4401:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4391:6:67"},"nodeType":"YulFunctionCall","src":"4391:12:67"},"nodeType":"YulExpressionStatement","src":"4391:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4356:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4380:5:67"}],"functionName":{"name":"cleanup_t_int256","nodeType":"YulIdentifier","src":"4363:16:67"},"nodeType":"YulFunctionCall","src":"4363:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4353:2:67"},"nodeType":"YulFunctionCall","src":"4353:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4346:6:67"},"nodeType":"YulFunctionCall","src":"4346:42:67"},"nodeType":"YulIf","src":"4343:62:67"}]},"name":"validator_revert_t_int256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4326:5:67","type":""}],"src":"4291:120:67"},{"body":{"nodeType":"YulBlock","src":"4460:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"4517:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4526:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4529:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4519:6:67"},"nodeType":"YulFunctionCall","src":"4519:12:67"},"nodeType":"YulExpressionStatement","src":"4519:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4483:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4508:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"4490:17:67"},"nodeType":"YulFunctionCall","src":"4490:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4480:2:67"},"nodeType":"YulFunctionCall","src":"4480:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4473:6:67"},"nodeType":"YulFunctionCall","src":"4473:43:67"},"nodeType":"YulIf","src":"4470:63:67"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4453:5:67","type":""}],"src":"4417:122:67"}]},"contents":"{\n\n    function abi_decode_t_bytes4(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_bytes4(value)\n    }\n\n    function abi_decode_t_int256_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_int256(value)\n    }\n\n    function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_uint256(value)\n    }\n\n    function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_bytes4(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_int256t_uint256t_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2 {\n        if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_int256_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 64\n\n            value2 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_encode_t_bytes4_to_t_bytes32_fromStack(value, pos) {\n        mstore(pos, convert_t_bytes4_to_t_bytes32(value))\n    }\n\n    function abi_encode_t_contract$_IWitnetPriceRouter_$7380_to_t_address_fromStack(value, pos) {\n        mstore(pos, convert_t_contract$_IWitnetPriceRouter_$7380_to_t_address(value))\n    }\n\n    function abi_encode_t_int256_to_t_int256_fromStack(value, pos) {\n        mstore(pos, cleanup_t_int256(value))\n    }\n\n    function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint256(value))\n    }\n\n    function abi_encode_tuple_t_bytes4__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_bytes4_to_t_bytes32_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_contract$_IWitnetPriceRouter_$7380__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_contract$_IWitnetPriceRouter_$7380_to_t_address_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_int256_t_uint256__to_t_int256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n        tail := add(headStart, 64)\n\n        abi_encode_t_int256_to_t_int256_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value1,  add(headStart, 32))\n\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function cleanup_t_bytes4(value) -> cleaned {\n        cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n    }\n\n    function cleanup_t_int256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_uint160(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n    }\n\n    function cleanup_t_uint256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function convert_t_bytes4_to_t_bytes32(value) -> converted {\n        converted := cleanup_t_bytes4(value)\n    }\n\n    function convert_t_contract$_IWitnetPriceRouter_$7380_to_t_address(value) -> converted {\n        converted := convert_t_uint160_to_t_address(value)\n    }\n\n    function convert_t_uint160_to_t_address(value) -> converted {\n        converted := convert_t_uint160_to_t_uint160(value)\n    }\n\n    function convert_t_uint160_to_t_uint160(value) -> converted {\n        converted := cleanup_t_uint160(value)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function validator_revert_t_bytes4(value) {\n        if iszero(eq(value, cleanup_t_bytes4(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_int256(value) {\n        if iszero(eq(value, cleanup_t_int256(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint256(value) {\n        if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"3719":[{"length":32,"start":140},{"length":32,"start":179}]},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100365760003560e01c80634fc87f241461003b578063c66f4c0a14610059575b600080fd5b61004361008a565b604051610050919061027e565b60405180910390f35b610073600480360381019061006e91906101a7565b6100ae565b604051610081929190610299565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000081565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f78eea83846040518263ffffffff1660e01b815260040161010a9190610263565b60606040518083038186803b15801561012257600080fd5b505afa158015610136573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015a91906101d4565b508092508193505050915091565b6000813590506101778161036f565b92915050565b60008151905061018c81610386565b92915050565b6000815190506101a18161039d565b92915050565b6000602082840312156101bd576101bc61036a565b5b60006101cb84828501610168565b91505092915050565b6000806000606084860312156101ed576101ec61036a565b5b60006101fb8682870161017d565b935050602061020c86828701610192565b925050604061021d86828701610192565b9150509250925092565b61023081610322565b82525050565b61023f81610334565b82525050565b61024e816102ee565b82525050565b61025d81610318565b82525050565b60006020820190506102786000830184610227565b92915050565b60006020820190506102936000830184610236565b92915050565b60006040820190506102ae6000830185610245565b6102bb6020830184610254565b9392505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061032d826102c2565b9050919050565b600061033f82610346565b9050919050565b600061035182610358565b9050919050565b6000610363826102f8565b9050919050565b600080fd5b610378816102c2565b811461038357600080fd5b50565b61038f816102ee565b811461039a57600080fd5b50565b6103a681610318565b81146103b157600080fd5b5056fea26469706673582212203b8d83c8b830f83736eb2ade2319548016ded7130d50688e2b00b7481d88c00164736f6c63430008070033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4FC87F24 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xC66F4C0A EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x8A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x27E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x73 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x1A7 JUMP JUMPDEST PUSH2 0xAE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x81 SWAP3 SWAP2 SWAP1 PUSH2 0x299 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF78EEA83 DUP5 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x10A SWAP2 SWAP1 PUSH2 0x263 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x122 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x136 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 0x15A SWAP2 SWAP1 PUSH2 0x1D4 JUMP JUMPDEST POP DUP1 SWAP3 POP DUP2 SWAP4 POP POP POP SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x177 DUP2 PUSH2 0x36F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x18C DUP2 PUSH2 0x386 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1A1 DUP2 PUSH2 0x39D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1BD JUMPI PUSH2 0x1BC PUSH2 0x36A JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1CB DUP5 DUP3 DUP6 ADD PUSH2 0x168 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1ED JUMPI PUSH2 0x1EC PUSH2 0x36A JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1FB DUP7 DUP3 DUP8 ADD PUSH2 0x17D JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x20C DUP7 DUP3 DUP8 ADD PUSH2 0x192 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x21D DUP7 DUP3 DUP8 ADD PUSH2 0x192 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x230 DUP2 PUSH2 0x322 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x23F DUP2 PUSH2 0x334 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x24E DUP2 PUSH2 0x2EE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x25D DUP2 PUSH2 0x318 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x278 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x227 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x293 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x236 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2AE PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x245 JUMP JUMPDEST PUSH2 0x2BB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x254 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32D DUP3 PUSH2 0x2C2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33F DUP3 PUSH2 0x346 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x351 DUP3 PUSH2 0x358 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x363 DUP3 PUSH2 0x2F8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x378 DUP2 PUSH2 0x2C2 JUMP JUMPDEST DUP2 EQ PUSH2 0x383 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x38F DUP2 PUSH2 0x2EE JUMP JUMPDEST DUP2 EQ PUSH2 0x39A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3A6 DUP2 PUSH2 0x318 JUMP JUMPDEST DUP2 EQ PUSH2 0x3B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXTCODESIZE DUP14 DUP4 0xC8 0xB8 ADDRESS 0xF8 CALLDATACOPY CALLDATASIZE 0xEB 0x2A 0xDE 0x23 NOT SLOAD DUP1 AND 0xDE 0xD7 SGT 0xD POP PUSH9 0x8E2B00B7481D88C001 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ","sourceMap":"143:645:21:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;174:53;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;610:176;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;174:53;;;:::o;610:176::-;662:17;681:22;747:17;:26;;;774:4;747:32;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;715:64;;;;;;;;;610:176;;;:::o;7:137:67:-;52:5;90:6;77:20;68:29;;106:32;132:5;106:32;:::i;:::-;7:137;;;;:::o;150:141::-;206:5;237:6;231:13;222:22;;253:32;279:5;253:32;:::i;:::-;150:141;;;;:::o;297:143::-;354:5;385:6;379:13;370:22;;401:33;428:5;401:33;:::i;:::-;297:143;;;;:::o;446:327::-;504:6;553:2;541:9;532:7;528:23;524:32;521:119;;;559:79;;:::i;:::-;521:119;679:1;704:52;748:7;739:6;728:9;724:22;704:52;:::i;:::-;694:62;;650:116;446:327;;;;:::o;779:661::-;866:6;874;882;931:2;919:9;910:7;906:23;902:32;899:119;;;937:79;;:::i;:::-;899:119;1057:1;1082:63;1137:7;1128:6;1117:9;1113:22;1082:63;:::i;:::-;1072:73;;1028:127;1194:2;1220:64;1276:7;1267:6;1256:9;1252:22;1220:64;:::i;:::-;1210:74;;1165:129;1333:2;1359:64;1415:7;1406:6;1395:9;1391:22;1359:64;:::i;:::-;1349:74;;1304:129;779:661;;;;;:::o;1446:129::-;1532:36;1562:5;1532:36;:::i;:::-;1527:3;1520:49;1446:129;;:::o;1581:185::-;1695:64;1753:5;1695:64;:::i;:::-;1690:3;1683:77;1581:185;;:::o;1772:115::-;1857:23;1874:5;1857:23;:::i;:::-;1852:3;1845:36;1772:115;;:::o;1893:118::-;1980:24;1998:5;1980:24;:::i;:::-;1975:3;1968:37;1893:118;;:::o;2017:220::-;2109:4;2147:2;2136:9;2132:18;2124:26;;2160:70;2227:1;2216:9;2212:17;2203:6;2160:70;:::i;:::-;2017:220;;;;:::o;2243:276::-;2363:4;2401:2;2390:9;2386:18;2378:26;;2414:98;2509:1;2498:9;2494:17;2485:6;2414:98;:::i;:::-;2243:276;;;;:::o;2525:328::-;2644:4;2682:2;2671:9;2667:18;2659:26;;2695:69;2761:1;2750:9;2746:17;2737:6;2695:69;:::i;:::-;2774:72;2842:2;2831:9;2827:18;2818:6;2774:72;:::i;:::-;2525:328;;;;;:::o;2940:149::-;2976:7;3016:66;3009:5;3005:78;2994:89;;2940:149;;;:::o;3095:76::-;3131:7;3160:5;3149:16;;3095:76;;;:::o;3177:126::-;3214:7;3254:42;3247:5;3243:54;3232:65;;3177:126;;;:::o;3309:77::-;3346:7;3375:5;3364:16;;3309:77;;;:::o;3392:111::-;3441:9;3474:23;3491:5;3474:23;:::i;:::-;3461:36;;3392:111;;;:::o;3509:153::-;3586:9;3619:37;3650:5;3619:37;:::i;:::-;3606:50;;3509:153;;;:::o;3668:126::-;3718:9;3751:37;3782:5;3751:37;:::i;:::-;3738:50;;3668:126;;;:::o;3800:113::-;3850:9;3883:24;3901:5;3883:24;:::i;:::-;3870:37;;3800:113;;;:::o;4042:117::-;4151:1;4148;4141:12;4165:120;4237:23;4254:5;4237:23;:::i;:::-;4230:5;4227:34;4217:62;;4275:1;4272;4265:12;4217:62;4165:120;:::o;4291:::-;4363:23;4380:5;4363:23;:::i;:::-;4356:5;4353:34;4343:62;;4401:1;4398;4391:12;4343:62;4291:120;:::o;4417:122::-;4490:24;4508:5;4490:24;:::i;:::-;4483:5;4480:35;4470:63;;4529:1;4526;4519:12;4470:63;4417:122;:::o"},"gasEstimates":{"creation":{"codeDepositCost":"200400","executionCost":"infinite","totalCost":"infinite"},"external":{"getPrice(bytes4)":"infinite","witnetPriceRouter()":"infinite"}},"methodIdentifiers":{"getPrice(bytes4)":"c66f4c0a","witnetPriceRouter()":"4fc87f24"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IWitnetPriceRouter\",\"name\":\"_router\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_id4\",\"type\":\"bytes4\"}],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"_lastPrice\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"_lastTimestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"witnetPriceRouter\",\"outputs\":[{\"internalType\":\"contract IWitnetPriceRouter\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/WitnetPriceFeed.sol\":\"WitnetPriceFeed\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"ado-contracts/contracts/interfaces/IERC2362.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.5.0 <0.9.0;\\n\\n/**\\n* @dev EIP2362 Interface for pull oracles\\n* https://github.com/adoracles/EIPs/blob/erc-2362/EIPS/eip-2362.md\\n*/\\ninterface IERC2362\\n{\\n\\t/**\\n\\t * @dev Exposed function pertaining to EIP standards\\n\\t * @param _id bytes32 ID of the query\\n\\t * @return int,uint,uint returns the value, timestamp, and status code of query\\n\\t */\\n\\tfunction valueFor(bytes32 _id) external view returns(int256,uint256,uint256);\\n}\",\"keccak256\":\"0x4df66aa83b94d7c3d52aba3522b6eeafc19f2c45299b7c871ef46eb199ee4f6b\",\"license\":\"MIT\"},\"contracts/WitnetPriceFeed.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity >=0.5.0 <0.9.0;\\n\\nimport \\\"witnet-solidity-bridge/contracts/interfaces/IWitnetPriceRouter.sol\\\";\\n\\ncontract WitnetPriceFeed {\\n    IWitnetPriceRouter public immutable witnetPriceRouter;\\n\\n    /*\\n     * Network: Klaytn Baobab\\n     * WitnetPriceRouter: 0xeD074DA2A76FD2Ca90C1508930b4FB4420e413B0\\n     **/\\n    constructor(IWitnetPriceRouter _router) {\\n        witnetPriceRouter = _router;\\n    }\\n\\n    /*\\n    * @param _id4 - pricefeed id. \\n    * id4 can be found here https://docs.witnet.io/smart-contracts/witnet-data-feeds/addresses/klaytn-price-feeds\\n    * \\n    **/\\n    function getPrice(bytes4 _id4) public view returns (int256 _lastPrice, uint256 _lastTimestamp) {\\n        (_lastPrice, _lastTimestamp,) = witnetPriceRouter.valueFor(_id4);\\n    }\\n}\",\"keccak256\":\"0x616e5ee556b2853e4f59814f5aa9d837ae5efd0c314125875187435c198b51cc\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IERC165.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/**\\n * @dev Interface of the ERC165 standard, as defined in the\\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\\n *\\n * Implementers can declare support of contract interfaces, which can then be\\n * queried by others ({ERC165Checker}).\\n *\\n * For an implementation, see {ERC165}.\\n */\\ninterface IERC165 {\\n    /**\\n     * @dev Returns true if this contract implements the interface defined by\\n     * `interfaceId`. See the corresponding\\n     * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\\n     * to learn more about how these ids are created.\\n     *\\n     * This function call must use less than 30 000 gas.\\n     */\\n    function supportsInterface(bytes4 interfaceId) external view returns (bool);\\n}\\n\",\"keccak256\":\"0x14a404607f920aa7ce19e17a0abce07d317c95b427fd8ca7b4aaf0b2999d4847\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetPriceRouter.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"ado-contracts/contracts/interfaces/IERC2362.sol\\\";\\nimport \\\"./IERC165.sol\\\";\\n\\n/// @title The Witnet Price Router basic interface.\\n/// @dev Guides implementation of price feeds aggregation contracts.\\n/// @author The Witnet Foundation.\\nabstract contract IWitnetPriceRouter\\n    is\\n        IERC2362 \\n{\\n    /// Emitted everytime a currency pair is attached to a new price feed contract\\n    /// @dev See https://github.com/adoracles/ADOIPs/blob/main/adoip-0010.md \\n    /// @dev to learn how these ids are created.\\n    event CurrencyPairSet(bytes32 indexed erc2362ID, IERC165 pricefeed);\\n\\n    /// Helper pure function: returns hash of the provided ERC2362-compliant currency pair caption (aka ID).\\n    function currencyPairId(string memory) external pure virtual returns (bytes32);\\n\\n    /// Returns the ERC-165-compliant price feed contract currently serving \\n    /// updates on the given currency pair.\\n    function getPriceFeed(bytes32 _erc2362id) external view virtual returns (IERC165);\\n\\n    /// Returns human-readable ERC2362-based caption of the currency pair being\\n    /// served by the given price feed contract address. \\n    /// @dev Should fail if the given price feed contract address is not currently\\n    /// @dev registered in the router.\\n    function getPriceFeedCaption(IERC165) external view virtual returns (string memory);\\n\\n    /// Returns human-readable caption of the ERC2362-based currency pair identifier, if known.\\n    function lookupERC2362ID(bytes32 _erc2362id) external view virtual returns (string memory);\\n\\n    /// Register a price feed contract that will serve updates for the given currency pair.\\n    /// @dev Setting zero address to a currency pair implies that it will not be served any longer.\\n    /// @dev Otherwise, should fail if the price feed contract does not support the `IWitnetPriceFeed` interface,\\n    /// @dev or if given price feed is already serving another currency pair (within this WitnetPriceRouter instance).\\n    function setPriceFeed(\\n            IERC165 _pricefeed,\\n            uint256 _decimals,\\n            string calldata _base,\\n            string calldata _quote\\n        )\\n        external virtual;\\n\\n    /// Returns list of known currency pairs IDs.\\n    function supportedCurrencyPairs() external view virtual returns (bytes32[] memory);\\n\\n    /// Returns `true` if given pair is currently being served by a compliant price feed contract.\\n    function supportsCurrencyPair(bytes32 _erc2362id) external view virtual returns (bool);\\n\\n    /// Returns `true` if given price feed contract is currently serving updates to any known currency pair. \\n    function supportsPriceFeed(IERC165 _priceFeed) external view virtual returns (bool);\\n}\\n\",\"keccak256\":\"0xeabd84fc5a5676dc88de213245b7199e50bc11af174ebb1a5ef460ba262a7276\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"version":1}}},"contracts/WitnetRandom.sol":{"WitnetRandom":{"abi":[{"inputs":[{"internalType":"contract IWitnetRandomness","name":"_witnetRandomness","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"fetchRandomNumber","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"latestRandomizingBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"randomness","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"requestRandomness","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"witnetRandomness","outputs":[{"internalType":"contract IWitnetRandomness","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"bytecode":{"functionDebugData":{"@_3783":{"entryPoint":null,"id":3783,"parameterSlots":1,"returnSlots":0},"abi_decode_t_contract$_IWitnetRandomness_$7494_fromMemory":{"entryPoint":173,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IWitnetRandomness_$7494_fromMemory":{"entryPoint":194,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"cleanup_t_address":{"entryPoint":239,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_contract$_IWitnetRandomness_$7494":{"entryPoint":257,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":275,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x01":{"entryPoint":307,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":354,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_t_contract$_IWitnetRandomness_$7494":{"entryPoint":359,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1669:67","statements":[{"body":{"nodeType":"YulBlock","src":"96:106:67","statements":[{"nodeType":"YulAssignment","src":"106:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"121:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"115:5:67"},"nodeType":"YulFunctionCall","src":"115:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"106:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"190:5:67"}],"functionName":{"name":"validator_revert_t_contract$_IWitnetRandomness_$7494","nodeType":"YulIdentifier","src":"137:52:67"},"nodeType":"YulFunctionCall","src":"137:59:67"},"nodeType":"YulExpressionStatement","src":"137:59:67"}]},"name":"abi_decode_t_contract$_IWitnetRandomness_$7494_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"74:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"82:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"90:5:67","type":""}],"src":"7:195:67"},{"body":{"nodeType":"YulBlock","src":"311:300:67","statements":[{"body":{"nodeType":"YulBlock","src":"357:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"359:77:67"},"nodeType":"YulFunctionCall","src":"359:79:67"},"nodeType":"YulExpressionStatement","src":"359:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"332:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"341:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"328:3:67"},"nodeType":"YulFunctionCall","src":"328:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"353:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"324:3:67"},"nodeType":"YulFunctionCall","src":"324:32:67"},"nodeType":"YulIf","src":"321:119:67"},{"nodeType":"YulBlock","src":"450:154:67","statements":[{"nodeType":"YulVariableDeclaration","src":"465:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"479:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"469:6:67","type":""}]},{"nodeType":"YulAssignment","src":"494:100:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"566:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"577:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"562:3:67"},"nodeType":"YulFunctionCall","src":"562:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"586:7:67"}],"functionName":{"name":"abi_decode_t_contract$_IWitnetRandomness_$7494_fromMemory","nodeType":"YulIdentifier","src":"504:57:67"},"nodeType":"YulFunctionCall","src":"504:90:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"494:6:67"}]}]}]},"name":"abi_decode_tuple_t_contract$_IWitnetRandomness_$7494_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"281:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"292:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"304:6:67","type":""}],"src":"208:403:67"},{"body":{"nodeType":"YulBlock","src":"657:35:67","statements":[{"nodeType":"YulAssignment","src":"667:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"683:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"677:5:67"},"nodeType":"YulFunctionCall","src":"677:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"667:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"650:6:67","type":""}],"src":"617:75:67"},{"body":{"nodeType":"YulBlock","src":"743:51:67","statements":[{"nodeType":"YulAssignment","src":"753:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"782:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"764:17:67"},"nodeType":"YulFunctionCall","src":"764:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"753:7:67"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"725:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"735:7:67","type":""}],"src":"698:96:67"},{"body":{"nodeType":"YulBlock","src":"871:51:67","statements":[{"nodeType":"YulAssignment","src":"881:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"910:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"892:17:67"},"nodeType":"YulFunctionCall","src":"892:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"881:7:67"}]}]},"name":"cleanup_t_contract$_IWitnetRandomness_$7494","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"853:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"863:7:67","type":""}],"src":"800:122:67"},{"body":{"nodeType":"YulBlock","src":"973:81:67","statements":[{"nodeType":"YulAssignment","src":"983:65:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"998:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"1005:42:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"994:3:67"},"nodeType":"YulFunctionCall","src":"994:54:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"983:7:67"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"955:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"965:7:67","type":""}],"src":"928:126:67"},{"body":{"nodeType":"YulBlock","src":"1088:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1105:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1108:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1098:6:67"},"nodeType":"YulFunctionCall","src":"1098:88:67"},"nodeType":"YulExpressionStatement","src":"1098:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1202:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1205:4:67","type":"","value":"0x01"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1195:6:67"},"nodeType":"YulFunctionCall","src":"1195:15:67"},"nodeType":"YulExpressionStatement","src":"1195:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1226:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1229:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1219:6:67"},"nodeType":"YulFunctionCall","src":"1219:15:67"},"nodeType":"YulExpressionStatement","src":"1219:15:67"}]},"name":"panic_error_0x01","nodeType":"YulFunctionDefinition","src":"1060:180:67"},{"body":{"nodeType":"YulBlock","src":"1335:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1352:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1355:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1345:6:67"},"nodeType":"YulFunctionCall","src":"1345:12:67"},"nodeType":"YulExpressionStatement","src":"1345:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"1246:117:67"},{"body":{"nodeType":"YulBlock","src":"1458:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1475:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1478:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1468:6:67"},"nodeType":"YulFunctionCall","src":"1468:12:67"},"nodeType":"YulExpressionStatement","src":"1468:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"1369:117:67"},{"body":{"nodeType":"YulBlock","src":"1561:105:67","statements":[{"body":{"nodeType":"YulBlock","src":"1644:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1653:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1656:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1646:6:67"},"nodeType":"YulFunctionCall","src":"1646:12:67"},"nodeType":"YulExpressionStatement","src":"1646:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1584:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1635:5:67"}],"functionName":{"name":"cleanup_t_contract$_IWitnetRandomness_$7494","nodeType":"YulIdentifier","src":"1591:43:67"},"nodeType":"YulFunctionCall","src":"1591:50:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1581:2:67"},"nodeType":"YulFunctionCall","src":"1581:61:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1574:6:67"},"nodeType":"YulFunctionCall","src":"1574:69:67"},"nodeType":"YulIf","src":"1571:89:67"}]},"name":"validator_revert_t_contract$_IWitnetRandomness_$7494","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1554:5:67","type":""}],"src":"1492:174:67"}]},"contents":"{\n\n    function abi_decode_t_contract$_IWitnetRandomness_$7494_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_contract$_IWitnetRandomness_$7494(value)\n    }\n\n    function abi_decode_tuple_t_contract$_IWitnetRandomness_$7494_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_contract$_IWitnetRandomness_$7494_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function cleanup_t_address(value) -> cleaned {\n        cleaned := cleanup_t_uint160(value)\n    }\n\n    function cleanup_t_contract$_IWitnetRandomness_$7494(value) -> cleaned {\n        cleaned := cleanup_t_address(value)\n    }\n\n    function cleanup_t_uint160(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n    }\n\n    function panic_error_0x01() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x01)\n        revert(0, 0x24)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function validator_revert_t_contract$_IWitnetRandomness_$7494(value) {\n        if iszero(eq(value, cleanup_t_contract$_IWitnetRandomness_$7494(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60a060405234801561001057600080fd5b5060405161079a38038061079a833981810160405281019061003291906100c2565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100705761006f610133565b5b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250505061017e565b6000815190506100bc81610167565b92915050565b6000602082840312156100d8576100d7610162565b5b60006100e6848285016100ad565b91505092915050565b60006100fa82610113565b9050919050565b600061010c826100ef565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b600080fd5b61017081610101565b811461017b57600080fd5b50565b60805160601c6105f16101a96000396000818160fe01528181610149015261022d01526105f16000f3fe60806040526004361061004e5760003560e01c806327eef8b91461005a5780633601318914610085578063921b9763146100b0578063b1fa4176146100c7578063f8413b07146100f257610055565b3661005557005b600080fd5b34801561006657600080fd5b5061006f6100fc565b60405161007c91906103ec565b60405180910390f35b34801561009157600080fd5b5061009a610120565b6040516100a79190610422565b60405180910390f35b3480156100bc57600080fd5b506100c5610134565b005b3480156100d357600080fd5b506100dc61021c565b6040516100e99190610407565b60405180910390f35b6100fa610222565b005b7f000000000000000000000000000000000000000000000000000000000000000081565b60008054906101000a900463ffffffff1681565b6000600154116101475761014661052a565b5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166324cbbfc163ffffffff60006001546040518463ffffffff1660e01b81526004016101ab9392919061043d565b60206040518083038186803b1580156101c357600080fd5b505afa1580156101d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101fb9190610383565b6000806101000a81548163ffffffff021916908363ffffffff160217905550565b60015481565b4360018190555060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663699b328a346040518263ffffffff1660e01b81526004016020604051808303818588803b15801561029357600080fd5b505af11580156102a7573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906102cc9190610356565b905034811015610329573373ffffffffffffffffffffffffffffffffffffffff166108fc82346102fc9190610474565b9081150290604051600060405180830381858888f19350505050158015610327573d6000803e3d6000fd5b505b50565b60008151905061033b8161058d565b92915050565b600081519050610350816105a4565b92915050565b60006020828403121561036c5761036b610588565b5b600061037a8482850161032c565b91505092915050565b60006020828403121561039957610398610588565b5b60006103a784828501610341565b91505092915050565b6103b9816104e2565b82525050565b6103c8816104f4565b82525050565b6103d7816104c8565b82525050565b6103e6816104d2565b82525050565b600060208201905061040160008301846103b0565b92915050565b600060208201905061041c60008301846103ce565b92915050565b600060208201905061043760008301846103dd565b92915050565b600060608201905061045260008301866103dd565b61045f60208301856103bf565b61046c60408301846103ce565b949350505050565b600061047f826104c8565b915061048a836104c8565b92508282101561049d5761049c610559565b5b828203905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b60006104ed82610506565b9050919050565b60006104ff826104c8565b9050919050565b600061051182610518565b9050919050565b6000610523826104a8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600080fd5b610596816104c8565b81146105a157600080fd5b50565b6105ad816104d2565b81146105b857600080fd5b5056fea2646970667358221220c9252e6800c1b528138fb398772d4697009b4a0c4b7293da0719b297243ab97d64736f6c63430008070033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x79A CODESIZE SUB DUP1 PUSH2 0x79A DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0xC2 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x70 JUMPI PUSH2 0x6F PUSH2 0x133 JUMP JUMPDEST JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 SHL DUP2 MSTORE POP POP POP PUSH2 0x17E JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0xBC DUP2 PUSH2 0x167 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD8 JUMPI PUSH2 0xD7 PUSH2 0x162 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xE6 DUP5 DUP3 DUP6 ADD PUSH2 0xAD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFA DUP3 PUSH2 0x113 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10C DUP3 PUSH2 0xEF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x170 DUP2 PUSH2 0x101 JUMP JUMPDEST DUP2 EQ PUSH2 0x17B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0x60 SHR PUSH2 0x5F1 PUSH2 0x1A9 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH1 0xFE ADD MSTORE DUP2 DUP2 PUSH2 0x149 ADD MSTORE PUSH2 0x22D ADD MSTORE PUSH2 0x5F1 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x27EEF8B9 EQ PUSH2 0x5A JUMPI DUP1 PUSH4 0x36013189 EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x921B9763 EQ PUSH2 0xB0 JUMPI DUP1 PUSH4 0xB1FA4176 EQ PUSH2 0xC7 JUMPI DUP1 PUSH4 0xF8413B07 EQ PUSH2 0xF2 JUMPI PUSH2 0x55 JUMP JUMPDEST CALLDATASIZE PUSH2 0x55 JUMPI STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6F PUSH2 0xFC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x3EC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x91 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9A PUSH2 0x120 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA7 SWAP2 SWAP1 PUSH2 0x422 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC5 PUSH2 0x134 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDC PUSH2 0x21C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE9 SWAP2 SWAP1 PUSH2 0x407 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xFA PUSH2 0x222 JUMP JUMPDEST STOP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SLOAD GT PUSH2 0x147 JUMPI PUSH2 0x146 PUSH2 0x52A JUMP JUMPDEST JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x24CBBFC1 PUSH4 0xFFFFFFFF PUSH1 0x0 PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1AB SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x43D JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1D7 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 0x1FB SWAP2 SWAP1 PUSH2 0x383 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH4 0xFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH4 0xFFFFFFFF AND MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST NUMBER PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x699B328A CALLVALUE PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2A7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP 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 0x2CC SWAP2 SWAP1 PUSH2 0x356 JUMP JUMPDEST SWAP1 POP CALLVALUE DUP2 LT ISZERO PUSH2 0x329 JUMPI CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 CALLVALUE PUSH2 0x2FC SWAP2 SWAP1 PUSH2 0x474 JUMP JUMPDEST SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x327 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x33B DUP2 PUSH2 0x58D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x350 DUP2 PUSH2 0x5A4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x36C JUMPI PUSH2 0x36B PUSH2 0x588 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x37A DUP5 DUP3 DUP6 ADD PUSH2 0x32C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x399 JUMPI PUSH2 0x398 PUSH2 0x588 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x3A7 DUP5 DUP3 DUP6 ADD PUSH2 0x341 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3B9 DUP2 PUSH2 0x4E2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x3C8 DUP2 PUSH2 0x4F4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x3D7 DUP2 PUSH2 0x4C8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x3E6 DUP2 PUSH2 0x4D2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x401 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3B0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x41C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3CE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x437 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3DD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x452 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x3DD JUMP JUMPDEST PUSH2 0x45F PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x3BF JUMP JUMPDEST PUSH2 0x46C PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x3CE JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x47F DUP3 PUSH2 0x4C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x48A DUP4 PUSH2 0x4C8 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x49D JUMPI PUSH2 0x49C PUSH2 0x559 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4ED DUP3 PUSH2 0x506 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4FF DUP3 PUSH2 0x4C8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x511 DUP3 PUSH2 0x518 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x523 DUP3 PUSH2 0x4A8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x596 DUP2 PUSH2 0x4C8 JUMP JUMPDEST DUP2 EQ PUSH2 0x5A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x5AD DUP2 PUSH2 0x4D2 JUMP JUMPDEST DUP2 EQ PUSH2 0x5B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC9 0x25 0x2E PUSH9 0xC1B528138FB39877 0x2D CHAINID SWAP8 STOP SWAP12 0x4A 0xC 0x4B PUSH19 0x93DA0719B297243AB97D64736F6C6343000807 STOP CALLER ","sourceMap":"142:953:22:-:0;;;415:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;519:1;481:40;;489:17;481:40;;;;474:48;;;;:::i;:::-;;551:17;532:36;;;;;;;;;;;;415:160;142:953;;7:195:67;90:5;121:6;115:13;106:22;;137:59;190:5;137:59;:::i;:::-;7:195;;;;:::o;208:403::-;304:6;353:2;341:9;332:7;328:23;324:32;321:119;;;359:79;;:::i;:::-;321:119;479:1;504:90;586:7;577:6;566:9;562:22;504:90;:::i;:::-;494:100;;450:154;208:403;;;;:::o;698:96::-;735:7;764:24;782:5;764:24;:::i;:::-;753:35;;698:96;;;:::o;800:122::-;863:7;892:24;910:5;892:24;:::i;:::-;881:35;;800:122;;;:::o;928:126::-;965:7;1005:42;998:5;994:54;983:65;;928:126;;;:::o;1060:180::-;1108:77;1105:1;1098:88;1205:4;1202:1;1195:15;1229:4;1226:1;1219:15;1369:117;1478:1;1475;1468:12;1492:174;1591:50;1635:5;1591:50;:::i;:::-;1584:5;1581:61;1571:89;;1656:1;1653;1646:12;1571:89;1492:174;:::o;142:953:22:-;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_3787":{"entryPoint":null,"id":3787,"parameterSlots":0,"returnSlots":0},"@fetchRandomNumber_3846":{"entryPoint":308,"id":3846,"parameterSlots":0,"returnSlots":0},"@latestRandomizingBlock_3757":{"entryPoint":540,"id":3757,"parameterSlots":0,"returnSlots":0},"@randomness_3755":{"entryPoint":288,"id":3755,"parameterSlots":0,"returnSlots":0},"@requestRandomness_3823":{"entryPoint":546,"id":3823,"parameterSlots":0,"returnSlots":0},"@witnetRandomness_3760":{"entryPoint":252,"id":3760,"parameterSlots":0,"returnSlots":0},"abi_decode_t_uint256_fromMemory":{"entryPoint":812,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint32_fromMemory":{"entryPoint":833,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":854,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint32_fromMemory":{"entryPoint":899,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_contract$_IWitnetRandomness_$7494_to_t_address_fromStack":{"entryPoint":944,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_rational_0_by_1_to_t_uint256_fromStack":{"entryPoint":959,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":974,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint32_to_t_uint32_fromStack":{"entryPoint":989,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_contract$_IWitnetRandomness_$7494__to_t_address__fromStack_reversed":{"entryPoint":1004,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":1031,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint32__to_t_uint32__fromStack_reversed":{"entryPoint":1058,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint32_t_rational_0_by_1_t_uint256__to_t_uint32_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":1085,"id":null,"parameterSlots":4,"returnSlots":1},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":1140,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":1192,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":1224,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint32":{"entryPoint":1234,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_contract$_IWitnetRandomness_$7494_to_t_address":{"entryPoint":1250,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_rational_0_by_1_to_t_uint256":{"entryPoint":1268,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_address":{"entryPoint":1286,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_uint160":{"entryPoint":1304,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x01":{"entryPoint":1322,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x11":{"entryPoint":1369,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":1416,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":1421,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint32":{"entryPoint":1444,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:4791:67","statements":[{"body":{"nodeType":"YulBlock","src":"70:80:67","statements":[{"nodeType":"YulAssignment","src":"80:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"95:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"89:5:67"},"nodeType":"YulFunctionCall","src":"89:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"80:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"138:5:67"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"111:26:67"},"nodeType":"YulFunctionCall","src":"111:33:67"},"nodeType":"YulExpressionStatement","src":"111:33:67"}]},"name":"abi_decode_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"48:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"56:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"64:5:67","type":""}],"src":"7:143:67"},{"body":{"nodeType":"YulBlock","src":"218:79:67","statements":[{"nodeType":"YulAssignment","src":"228:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"243:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"237:5:67"},"nodeType":"YulFunctionCall","src":"237:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"228:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"285:5:67"}],"functionName":{"name":"validator_revert_t_uint32","nodeType":"YulIdentifier","src":"259:25:67"},"nodeType":"YulFunctionCall","src":"259:32:67"},"nodeType":"YulExpressionStatement","src":"259:32:67"}]},"name":"abi_decode_t_uint32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"196:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"204:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"212:5:67","type":""}],"src":"156:141:67"},{"body":{"nodeType":"YulBlock","src":"380:274:67","statements":[{"body":{"nodeType":"YulBlock","src":"426:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"428:77:67"},"nodeType":"YulFunctionCall","src":"428:79:67"},"nodeType":"YulExpressionStatement","src":"428:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"401:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"410:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"397:3:67"},"nodeType":"YulFunctionCall","src":"397:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"422:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"393:3:67"},"nodeType":"YulFunctionCall","src":"393:32:67"},"nodeType":"YulIf","src":"390:119:67"},{"nodeType":"YulBlock","src":"519:128:67","statements":[{"nodeType":"YulVariableDeclaration","src":"534:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"548:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"538:6:67","type":""}]},{"nodeType":"YulAssignment","src":"563:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"609:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"620:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"605:3:67"},"nodeType":"YulFunctionCall","src":"605:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"629:7:67"}],"functionName":{"name":"abi_decode_t_uint256_fromMemory","nodeType":"YulIdentifier","src":"573:31:67"},"nodeType":"YulFunctionCall","src":"573:64:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"563:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"350:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"361:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"373:6:67","type":""}],"src":"303:351:67"},{"body":{"nodeType":"YulBlock","src":"736:273:67","statements":[{"body":{"nodeType":"YulBlock","src":"782:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"784:77:67"},"nodeType":"YulFunctionCall","src":"784:79:67"},"nodeType":"YulExpressionStatement","src":"784:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"757:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"766:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"753:3:67"},"nodeType":"YulFunctionCall","src":"753:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"778:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"749:3:67"},"nodeType":"YulFunctionCall","src":"749:32:67"},"nodeType":"YulIf","src":"746:119:67"},{"nodeType":"YulBlock","src":"875:127:67","statements":[{"nodeType":"YulVariableDeclaration","src":"890:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"904:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"894:6:67","type":""}]},{"nodeType":"YulAssignment","src":"919:73:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"964:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"975:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"960:3:67"},"nodeType":"YulFunctionCall","src":"960:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"984:7:67"}],"functionName":{"name":"abi_decode_t_uint32_fromMemory","nodeType":"YulIdentifier","src":"929:30:67"},"nodeType":"YulFunctionCall","src":"929:63:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"919:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"706:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"717:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"729:6:67","type":""}],"src":"660:349:67"},{"body":{"nodeType":"YulBlock","src":"1106:92:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1123:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1185:5:67"}],"functionName":{"name":"convert_t_contract$_IWitnetRandomness_$7494_to_t_address","nodeType":"YulIdentifier","src":"1128:56:67"},"nodeType":"YulFunctionCall","src":"1128:63:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1116:6:67"},"nodeType":"YulFunctionCall","src":"1116:76:67"},"nodeType":"YulExpressionStatement","src":"1116:76:67"}]},"name":"abi_encode_t_contract$_IWitnetRandomness_$7494_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1094:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1101:3:67","type":""}],"src":"1015:183:67"},{"body":{"nodeType":"YulBlock","src":"1277:74:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1294:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1338:5:67"}],"functionName":{"name":"convert_t_rational_0_by_1_to_t_uint256","nodeType":"YulIdentifier","src":"1299:38:67"},"nodeType":"YulFunctionCall","src":"1299:45:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1287:6:67"},"nodeType":"YulFunctionCall","src":"1287:58:67"},"nodeType":"YulExpressionStatement","src":"1287:58:67"}]},"name":"abi_encode_t_rational_0_by_1_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1265:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1272:3:67","type":""}],"src":"1204:147:67"},{"body":{"nodeType":"YulBlock","src":"1422:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1439:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1462:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"1444:17:67"},"nodeType":"YulFunctionCall","src":"1444:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1432:6:67"},"nodeType":"YulFunctionCall","src":"1432:37:67"},"nodeType":"YulExpressionStatement","src":"1432:37:67"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1410:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1417:3:67","type":""}],"src":"1357:118:67"},{"body":{"nodeType":"YulBlock","src":"1544:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1561:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1583:5:67"}],"functionName":{"name":"cleanup_t_uint32","nodeType":"YulIdentifier","src":"1566:16:67"},"nodeType":"YulFunctionCall","src":"1566:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1554:6:67"},"nodeType":"YulFunctionCall","src":"1554:36:67"},"nodeType":"YulExpressionStatement","src":"1554:36:67"}]},"name":"abi_encode_t_uint32_to_t_uint32_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1532:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1539:3:67","type":""}],"src":"1481:115:67"},{"body":{"nodeType":"YulBlock","src":"1726:150:67","statements":[{"nodeType":"YulAssignment","src":"1736:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1748:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"1759:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1744:3:67"},"nodeType":"YulFunctionCall","src":"1744:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1736:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1842:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1855:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"1866:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1851:3:67"},"nodeType":"YulFunctionCall","src":"1851:17:67"}],"functionName":{"name":"abi_encode_t_contract$_IWitnetRandomness_$7494_to_t_address_fromStack","nodeType":"YulIdentifier","src":"1772:69:67"},"nodeType":"YulFunctionCall","src":"1772:97:67"},"nodeType":"YulExpressionStatement","src":"1772:97:67"}]},"name":"abi_encode_tuple_t_contract$_IWitnetRandomness_$7494__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1698:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1710:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1721:4:67","type":""}],"src":"1602:274:67"},{"body":{"nodeType":"YulBlock","src":"1980:124:67","statements":[{"nodeType":"YulAssignment","src":"1990:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2002:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2013:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1998:3:67"},"nodeType":"YulFunctionCall","src":"1998:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1990:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2070:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2083:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2094:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2079:3:67"},"nodeType":"YulFunctionCall","src":"2079:17:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"2026:43:67"},"nodeType":"YulFunctionCall","src":"2026:71:67"},"nodeType":"YulExpressionStatement","src":"2026:71:67"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1952:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1964:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1975:4:67","type":""}],"src":"1882:222:67"},{"body":{"nodeType":"YulBlock","src":"2206:122:67","statements":[{"nodeType":"YulAssignment","src":"2216:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2228:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2239:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2224:3:67"},"nodeType":"YulFunctionCall","src":"2224:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2216:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2294:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2307:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2318:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2303:3:67"},"nodeType":"YulFunctionCall","src":"2303:17:67"}],"functionName":{"name":"abi_encode_t_uint32_to_t_uint32_fromStack","nodeType":"YulIdentifier","src":"2252:41:67"},"nodeType":"YulFunctionCall","src":"2252:69:67"},"nodeType":"YulExpressionStatement","src":"2252:69:67"}]},"name":"abi_encode_tuple_t_uint32__to_t_uint32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2178:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2190:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2201:4:67","type":""}],"src":"2110:218:67"},{"body":{"nodeType":"YulBlock","src":"2494:294:67","statements":[{"nodeType":"YulAssignment","src":"2504:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2516:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2527:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2512:3:67"},"nodeType":"YulFunctionCall","src":"2512:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2504:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2582:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2595:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2606:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2591:3:67"},"nodeType":"YulFunctionCall","src":"2591:17:67"}],"functionName":{"name":"abi_encode_t_uint32_to_t_uint32_fromStack","nodeType":"YulIdentifier","src":"2540:41:67"},"nodeType":"YulFunctionCall","src":"2540:69:67"},"nodeType":"YulExpressionStatement","src":"2540:69:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"2671:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2684:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2695:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2680:3:67"},"nodeType":"YulFunctionCall","src":"2680:18:67"}],"functionName":{"name":"abi_encode_t_rational_0_by_1_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"2619:51:67"},"nodeType":"YulFunctionCall","src":"2619:80:67"},"nodeType":"YulExpressionStatement","src":"2619:80:67"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"2753:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2766:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2777:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2762:3:67"},"nodeType":"YulFunctionCall","src":"2762:18:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"2709:43:67"},"nodeType":"YulFunctionCall","src":"2709:72:67"},"nodeType":"YulExpressionStatement","src":"2709:72:67"}]},"name":"abi_encode_tuple_t_uint32_t_rational_0_by_1_t_uint256__to_t_uint32_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2450:9:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2462:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2470:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2478:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2489:4:67","type":""}],"src":"2334:454:67"},{"body":{"nodeType":"YulBlock","src":"2834:35:67","statements":[{"nodeType":"YulAssignment","src":"2844:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2860:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2854:5:67"},"nodeType":"YulFunctionCall","src":"2854:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2844:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"2827:6:67","type":""}],"src":"2794:75:67"},{"body":{"nodeType":"YulBlock","src":"2920:146:67","statements":[{"nodeType":"YulAssignment","src":"2930:25:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2953:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"2935:17:67"},"nodeType":"YulFunctionCall","src":"2935:20:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"2930:1:67"}]},{"nodeType":"YulAssignment","src":"2964:25:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"2987:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"2969:17:67"},"nodeType":"YulFunctionCall","src":"2969:20:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"2964:1:67"}]},{"body":{"nodeType":"YulBlock","src":"3011:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"3013:16:67"},"nodeType":"YulFunctionCall","src":"3013:18:67"},"nodeType":"YulExpressionStatement","src":"3013:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3005:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"3008:1:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3002:2:67"},"nodeType":"YulFunctionCall","src":"3002:8:67"},"nodeType":"YulIf","src":"2999:34:67"},{"nodeType":"YulAssignment","src":"3043:17:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3055:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"3058:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3051:3:67"},"nodeType":"YulFunctionCall","src":"3051:9:67"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"3043:4:67"}]}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"2906:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"2909:1:67","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"2915:4:67","type":""}],"src":"2875:191:67"},{"body":{"nodeType":"YulBlock","src":"3117:81:67","statements":[{"nodeType":"YulAssignment","src":"3127:65:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3142:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"3149:42:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3138:3:67"},"nodeType":"YulFunctionCall","src":"3138:54:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"3127:7:67"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3099:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"3109:7:67","type":""}],"src":"3072:126:67"},{"body":{"nodeType":"YulBlock","src":"3249:32:67","statements":[{"nodeType":"YulAssignment","src":"3259:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"3270:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"3259:7:67"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3231:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"3241:7:67","type":""}],"src":"3204:77:67"},{"body":{"nodeType":"YulBlock","src":"3331:49:67","statements":[{"nodeType":"YulAssignment","src":"3341:33:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3356:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"3363:10:67","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3352:3:67"},"nodeType":"YulFunctionCall","src":"3352:22:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"3341:7:67"}]}]},"name":"cleanup_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3313:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"3323:7:67","type":""}],"src":"3287:93:67"},{"body":{"nodeType":"YulBlock","src":"3472:66:67","statements":[{"nodeType":"YulAssignment","src":"3482:50:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3526:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_address","nodeType":"YulIdentifier","src":"3495:30:67"},"nodeType":"YulFunctionCall","src":"3495:37:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"3482:9:67"}]}]},"name":"convert_t_contract$_IWitnetRandomness_$7494_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3452:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"3462:9:67","type":""}],"src":"3386:152:67"},{"body":{"nodeType":"YulBlock","src":"3612:53:67","statements":[{"nodeType":"YulAssignment","src":"3622:37:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3653:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"3635:17:67"},"nodeType":"YulFunctionCall","src":"3635:24:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"3622:9:67"}]}]},"name":"convert_t_rational_0_by_1_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3592:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"3602:9:67","type":""}],"src":"3544:121:67"},{"body":{"nodeType":"YulBlock","src":"3731:66:67","statements":[{"nodeType":"YulAssignment","src":"3741:50:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3785:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_uint160","nodeType":"YulIdentifier","src":"3754:30:67"},"nodeType":"YulFunctionCall","src":"3754:37:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"3741:9:67"}]}]},"name":"convert_t_uint160_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3711:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"3721:9:67","type":""}],"src":"3671:126:67"},{"body":{"nodeType":"YulBlock","src":"3863:53:67","statements":[{"nodeType":"YulAssignment","src":"3873:37:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3904:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"3886:17:67"},"nodeType":"YulFunctionCall","src":"3886:24:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"3873:9:67"}]}]},"name":"convert_t_uint160_to_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3843:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"3853:9:67","type":""}],"src":"3803:113:67"},{"body":{"nodeType":"YulBlock","src":"3950:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3967:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3970:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3960:6:67"},"nodeType":"YulFunctionCall","src":"3960:88:67"},"nodeType":"YulExpressionStatement","src":"3960:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4064:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"4067:4:67","type":"","value":"0x01"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4057:6:67"},"nodeType":"YulFunctionCall","src":"4057:15:67"},"nodeType":"YulExpressionStatement","src":"4057:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4088:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4091:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4081:6:67"},"nodeType":"YulFunctionCall","src":"4081:15:67"},"nodeType":"YulExpressionStatement","src":"4081:15:67"}]},"name":"panic_error_0x01","nodeType":"YulFunctionDefinition","src":"3922:180:67"},{"body":{"nodeType":"YulBlock","src":"4136:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4153:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4156:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4146:6:67"},"nodeType":"YulFunctionCall","src":"4146:88:67"},"nodeType":"YulExpressionStatement","src":"4146:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4250:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"4253:4:67","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4243:6:67"},"nodeType":"YulFunctionCall","src":"4243:15:67"},"nodeType":"YulExpressionStatement","src":"4243:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4274:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4277:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4267:6:67"},"nodeType":"YulFunctionCall","src":"4267:15:67"},"nodeType":"YulExpressionStatement","src":"4267:15:67"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"4108:180:67"},{"body":{"nodeType":"YulBlock","src":"4383:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4400:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4403:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4393:6:67"},"nodeType":"YulFunctionCall","src":"4393:12:67"},"nodeType":"YulExpressionStatement","src":"4393:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"4294:117:67"},{"body":{"nodeType":"YulBlock","src":"4506:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4523:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4526:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4516:6:67"},"nodeType":"YulFunctionCall","src":"4516:12:67"},"nodeType":"YulExpressionStatement","src":"4516:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"4417:117:67"},{"body":{"nodeType":"YulBlock","src":"4583:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"4640:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4649:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4652:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4642:6:67"},"nodeType":"YulFunctionCall","src":"4642:12:67"},"nodeType":"YulExpressionStatement","src":"4642:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4606:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4631:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"4613:17:67"},"nodeType":"YulFunctionCall","src":"4613:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4603:2:67"},"nodeType":"YulFunctionCall","src":"4603:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4596:6:67"},"nodeType":"YulFunctionCall","src":"4596:43:67"},"nodeType":"YulIf","src":"4593:63:67"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4576:5:67","type":""}],"src":"4540:122:67"},{"body":{"nodeType":"YulBlock","src":"4710:78:67","statements":[{"body":{"nodeType":"YulBlock","src":"4766:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4775:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4778:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4768:6:67"},"nodeType":"YulFunctionCall","src":"4768:12:67"},"nodeType":"YulExpressionStatement","src":"4768:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4733:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4757:5:67"}],"functionName":{"name":"cleanup_t_uint32","nodeType":"YulIdentifier","src":"4740:16:67"},"nodeType":"YulFunctionCall","src":"4740:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4730:2:67"},"nodeType":"YulFunctionCall","src":"4730:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4723:6:67"},"nodeType":"YulFunctionCall","src":"4723:42:67"},"nodeType":"YulIf","src":"4720:62:67"}]},"name":"validator_revert_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4703:5:67","type":""}],"src":"4668:120:67"}]},"contents":"{\n\n    function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_uint256(value)\n    }\n\n    function abi_decode_t_uint32_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_uint32(value)\n    }\n\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint32_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint32_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_encode_t_contract$_IWitnetRandomness_$7494_to_t_address_fromStack(value, pos) {\n        mstore(pos, convert_t_contract$_IWitnetRandomness_$7494_to_t_address(value))\n    }\n\n    function abi_encode_t_rational_0_by_1_to_t_uint256_fromStack(value, pos) {\n        mstore(pos, convert_t_rational_0_by_1_to_t_uint256(value))\n    }\n\n    function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint256(value))\n    }\n\n    function abi_encode_t_uint32_to_t_uint32_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint32(value))\n    }\n\n    function abi_encode_tuple_t_contract$_IWitnetRandomness_$7494__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_contract$_IWitnetRandomness_$7494_to_t_address_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_uint32__to_t_uint32__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_uint32_to_t_uint32_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_uint32_t_rational_0_by_1_t_uint256__to_t_uint32_t_uint256_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n        tail := add(headStart, 96)\n\n        abi_encode_t_uint32_to_t_uint32_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_rational_0_by_1_to_t_uint256_fromStack(value1,  add(headStart, 32))\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value2,  add(headStart, 64))\n\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function checked_sub_t_uint256(x, y) -> diff {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        if lt(x, y) { panic_error_0x11() }\n\n        diff := sub(x, y)\n    }\n\n    function cleanup_t_uint160(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n    }\n\n    function cleanup_t_uint256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_uint32(value) -> cleaned {\n        cleaned := and(value, 0xffffffff)\n    }\n\n    function convert_t_contract$_IWitnetRandomness_$7494_to_t_address(value) -> converted {\n        converted := convert_t_uint160_to_t_address(value)\n    }\n\n    function convert_t_rational_0_by_1_to_t_uint256(value) -> converted {\n        converted := cleanup_t_uint256(value)\n    }\n\n    function convert_t_uint160_to_t_address(value) -> converted {\n        converted := convert_t_uint160_to_t_uint160(value)\n    }\n\n    function convert_t_uint160_to_t_uint160(value) -> converted {\n        converted := cleanup_t_uint160(value)\n    }\n\n    function panic_error_0x01() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x01)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x11() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function validator_revert_t_uint256(value) {\n        if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint32(value) {\n        if iszero(eq(value, cleanup_t_uint32(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"3760":[{"length":32,"start":254},{"length":32,"start":329},{"length":32,"start":557}]},"linkReferences":{},"object":"60806040526004361061004e5760003560e01c806327eef8b91461005a5780633601318914610085578063921b9763146100b0578063b1fa4176146100c7578063f8413b07146100f257610055565b3661005557005b600080fd5b34801561006657600080fd5b5061006f6100fc565b60405161007c91906103ec565b60405180910390f35b34801561009157600080fd5b5061009a610120565b6040516100a79190610422565b60405180910390f35b3480156100bc57600080fd5b506100c5610134565b005b3480156100d357600080fd5b506100dc61021c565b6040516100e99190610407565b60405180910390f35b6100fa610222565b005b7f000000000000000000000000000000000000000000000000000000000000000081565b60008054906101000a900463ffffffff1681565b6000600154116101475761014661052a565b5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166324cbbfc163ffffffff60006001546040518463ffffffff1660e01b81526004016101ab9392919061043d565b60206040518083038186803b1580156101c357600080fd5b505afa1580156101d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101fb9190610383565b6000806101000a81548163ffffffff021916908363ffffffff160217905550565b60015481565b4360018190555060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663699b328a346040518263ffffffff1660e01b81526004016020604051808303818588803b15801561029357600080fd5b505af11580156102a7573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906102cc9190610356565b905034811015610329573373ffffffffffffffffffffffffffffffffffffffff166108fc82346102fc9190610474565b9081150290604051600060405180830381858888f19350505050158015610327573d6000803e3d6000fd5b505b50565b60008151905061033b8161058d565b92915050565b600081519050610350816105a4565b92915050565b60006020828403121561036c5761036b610588565b5b600061037a8482850161032c565b91505092915050565b60006020828403121561039957610398610588565b5b60006103a784828501610341565b91505092915050565b6103b9816104e2565b82525050565b6103c8816104f4565b82525050565b6103d7816104c8565b82525050565b6103e6816104d2565b82525050565b600060208201905061040160008301846103b0565b92915050565b600060208201905061041c60008301846103ce565b92915050565b600060208201905061043760008301846103dd565b92915050565b600060608201905061045260008301866103dd565b61045f60208301856103bf565b61046c60408301846103ce565b949350505050565b600061047f826104c8565b915061048a836104c8565b92508282101561049d5761049c610559565b5b828203905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b60006104ed82610506565b9050919050565b60006104ff826104c8565b9050919050565b600061051182610518565b9050919050565b6000610523826104a8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600080fd5b610596816104c8565b81146105a157600080fd5b50565b6105ad816104d2565b81146105b857600080fd5b5056fea2646970667358221220c9252e6800c1b528138fb398772d4697009b4a0c4b7293da0719b297243ab97d64736f6c63430008070033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x27EEF8B9 EQ PUSH2 0x5A JUMPI DUP1 PUSH4 0x36013189 EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x921B9763 EQ PUSH2 0xB0 JUMPI DUP1 PUSH4 0xB1FA4176 EQ PUSH2 0xC7 JUMPI DUP1 PUSH4 0xF8413B07 EQ PUSH2 0xF2 JUMPI PUSH2 0x55 JUMP JUMPDEST CALLDATASIZE PUSH2 0x55 JUMPI STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6F PUSH2 0xFC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x3EC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x91 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9A PUSH2 0x120 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA7 SWAP2 SWAP1 PUSH2 0x422 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC5 PUSH2 0x134 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDC PUSH2 0x21C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE9 SWAP2 SWAP1 PUSH2 0x407 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xFA PUSH2 0x222 JUMP JUMPDEST STOP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SLOAD GT PUSH2 0x147 JUMPI PUSH2 0x146 PUSH2 0x52A JUMP JUMPDEST JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x24CBBFC1 PUSH4 0xFFFFFFFF PUSH1 0x0 PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1AB SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x43D JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1D7 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 0x1FB SWAP2 SWAP1 PUSH2 0x383 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH4 0xFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH4 0xFFFFFFFF AND MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST NUMBER PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x699B328A CALLVALUE PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2A7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP 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 0x2CC SWAP2 SWAP1 PUSH2 0x356 JUMP JUMPDEST SWAP1 POP CALLVALUE DUP2 LT ISZERO PUSH2 0x329 JUMPI CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 CALLVALUE PUSH2 0x2FC SWAP2 SWAP1 PUSH2 0x474 JUMP JUMPDEST SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x327 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x33B DUP2 PUSH2 0x58D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x350 DUP2 PUSH2 0x5A4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x36C JUMPI PUSH2 0x36B PUSH2 0x588 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x37A DUP5 DUP3 DUP6 ADD PUSH2 0x32C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x399 JUMPI PUSH2 0x398 PUSH2 0x588 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x3A7 DUP5 DUP3 DUP6 ADD PUSH2 0x341 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3B9 DUP2 PUSH2 0x4E2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x3C8 DUP2 PUSH2 0x4F4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x3D7 DUP2 PUSH2 0x4C8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x3E6 DUP2 PUSH2 0x4D2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x401 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3B0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x41C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3CE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x437 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3DD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x452 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x3DD JUMP JUMPDEST PUSH2 0x45F PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x3BF JUMP JUMPDEST PUSH2 0x46C PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x3CE JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x47F DUP3 PUSH2 0x4C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x48A DUP4 PUSH2 0x4C8 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x49D JUMPI PUSH2 0x49C PUSH2 0x559 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4ED DUP3 PUSH2 0x506 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4FF DUP3 PUSH2 0x4C8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x511 DUP3 PUSH2 0x518 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x523 DUP3 PUSH2 0x4A8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x596 DUP2 PUSH2 0x4C8 JUMP JUMPDEST DUP2 EQ PUSH2 0x5A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x5AD DUP2 PUSH2 0x4D2 JUMP JUMPDEST DUP2 EQ PUSH2 0x5B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC9 0x25 0x2E PUSH9 0xC1B528138FB39877 0x2D CHAINID SWAP8 STOP SWAP12 0x4A 0xC 0x4B PUSH19 0x93DA0719B297243AB97D64736F6C6343000807 STOP CALLER ","sourceMap":"142:953:22:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;243:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;170:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;912:181;;;;;;;;;;;;;:::i;:::-;;200:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;616:290;;;:::i;:::-;;243:51;;;:::o;170:24::-;;;;;;;;;;;;:::o;912:181::-;992:1;967:22;;:26;960:34;;;;:::i;:::-;;1018:16;:23;;;1042:16;1060:1;1063:22;;1018:68;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1004:10;;:82;;;;;;;;;;;;;;;;;;912:181::o;200:37::-;;;;:::o;616:290::-;697:12;672:22;:37;;;;719:15;737:16;:26;;;772:9;737:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;719:66;;812:9;799:10;:22;795:105;;;845:10;837:28;;:52;878:10;866:9;:22;;;;:::i;:::-;837:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;795:105;662:244;616:290::o;7:143:67:-;64:5;95:6;89:13;80:22;;111:33;138:5;111:33;:::i;:::-;7:143;;;;:::o;156:141::-;212:5;243:6;237:13;228:22;;259:32;285:5;259:32;:::i;:::-;156:141;;;;:::o;303:351::-;373:6;422:2;410:9;401:7;397:23;393:32;390:119;;;428:79;;:::i;:::-;390:119;548:1;573:64;629:7;620:6;609:9;605:22;573:64;:::i;:::-;563:74;;519:128;303:351;;;;:::o;660:349::-;729:6;778:2;766:9;757:7;753:23;749:32;746:119;;;784:79;;:::i;:::-;746:119;904:1;929:63;984:7;975:6;964:9;960:22;929:63;:::i;:::-;919:73;;875:127;660:349;;;;:::o;1015:183::-;1128:63;1185:5;1128:63;:::i;:::-;1123:3;1116:76;1015:183;;:::o;1204:147::-;1299:45;1338:5;1299:45;:::i;:::-;1294:3;1287:58;1204:147;;:::o;1357:118::-;1444:24;1462:5;1444:24;:::i;:::-;1439:3;1432:37;1357:118;;:::o;1481:115::-;1566:23;1583:5;1566:23;:::i;:::-;1561:3;1554:36;1481:115;;:::o;1602:274::-;1721:4;1759:2;1748:9;1744:18;1736:26;;1772:97;1866:1;1855:9;1851:17;1842:6;1772:97;:::i;:::-;1602:274;;;;:::o;1882:222::-;1975:4;2013:2;2002:9;1998:18;1990:26;;2026:71;2094:1;2083:9;2079:17;2070:6;2026:71;:::i;:::-;1882:222;;;;:::o;2110:218::-;2201:4;2239:2;2228:9;2224:18;2216:26;;2252:69;2318:1;2307:9;2303:17;2294:6;2252:69;:::i;:::-;2110:218;;;;:::o;2334:454::-;2489:4;2527:2;2516:9;2512:18;2504:26;;2540:69;2606:1;2595:9;2591:17;2582:6;2540:69;:::i;:::-;2619:80;2695:2;2684:9;2680:18;2671:6;2619:80;:::i;:::-;2709:72;2777:2;2766:9;2762:18;2753:6;2709:72;:::i;:::-;2334:454;;;;;;:::o;2875:191::-;2915:4;2935:20;2953:1;2935:20;:::i;:::-;2930:25;;2969:20;2987:1;2969:20;:::i;:::-;2964:25;;3008:1;3005;3002:8;2999:34;;;3013:18;;:::i;:::-;2999:34;3058:1;3055;3051:9;3043:17;;2875:191;;;;:::o;3072:126::-;3109:7;3149:42;3142:5;3138:54;3127:65;;3072:126;;;:::o;3204:77::-;3241:7;3270:5;3259:16;;3204:77;;;:::o;3287:93::-;3323:7;3363:10;3356:5;3352:22;3341:33;;3287:93;;;:::o;3386:152::-;3462:9;3495:37;3526:5;3495:37;:::i;:::-;3482:50;;3386:152;;;:::o;3544:121::-;3602:9;3635:24;3653:5;3635:24;:::i;:::-;3622:37;;3544:121;;;:::o;3671:126::-;3721:9;3754:37;3785:5;3754:37;:::i;:::-;3741:50;;3671:126;;;:::o;3803:113::-;3853:9;3886:24;3904:5;3886:24;:::i;:::-;3873:37;;3803:113;;;:::o;3922:180::-;3970:77;3967:1;3960:88;4067:4;4064:1;4057:15;4091:4;4088:1;4081:15;4108:180;4156:77;4153:1;4146:88;4253:4;4250:1;4243:15;4277:4;4274:1;4267:15;4417:117;4526:1;4523;4516:12;4540:122;4613:24;4631:5;4613:24;:::i;:::-;4606:5;4603:35;4593:63;;4652:1;4649;4642:12;4593:63;4540:122;:::o;4668:120::-;4740:23;4757:5;4740:23;:::i;:::-;4733:5;4730:34;4720:62;;4778:1;4775;4768:12;4720:62;4668:120;:::o"},"gasEstimates":{"creation":{"codeDepositCost":"304200","executionCost":"infinite","totalCost":"infinite"},"external":{"fetchRandomNumber()":"infinite","latestRandomizingBlock()":"2473","randomness()":"2468","requestRandomness()":"infinite","witnetRandomness()":"infinite"}},"methodIdentifiers":{"fetchRandomNumber()":"921b9763","latestRandomizingBlock()":"b1fa4176","randomness()":"36013189","requestRandomness()":"f8413b07","witnetRandomness()":"27eef8b9"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IWitnetRandomness\",\"name\":\"_witnetRandomness\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"fetchRandomNumber\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestRandomizingBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomness\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"requestRandomness\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"witnetRandomness\",\"outputs\":[{\"internalType\":\"contract IWitnetRandomness\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/WitnetRandom.sol\":\"WitnetRandom\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/WitnetRandom.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity >=0.5.0 <0.9.0;\\n\\nimport \\\"witnet-solidity-bridge/contracts/interfaces/IWitnetRandomness.sol\\\";\\n\\ncontract WitnetRandom {\\n    uint32 public randomness;\\n    uint256 public latestRandomizingBlock;\\n    IWitnetRandomness public immutable witnetRandomness;\\n\\n    /*\\n     * Network: Klaytn Baobab\\n     * WitnetRandomness: 0xb4b2e2e00e9d6e5490d55623e4f403ec84c6d33f\\n     **/\\n    constructor(IWitnetRandomness _witnetRandomness) {\\n        assert(address(_witnetRandomness) != address(0));\\n        witnetRandomness = _witnetRandomness;\\n    }\\n\\n    receive() external payable {}\\n\\n    function requestRandomness() external payable {\\n        latestRandomizingBlock = block.number;\\n        uint _usedFunds = witnetRandomness.randomize{ value: msg.value }();\\n        if (_usedFunds < msg.value) {\\n            payable(msg.sender).transfer(msg.value - _usedFunds);\\n        }\\n    }\\n\\n    function fetchRandomNumber() external {\\n        assert(latestRandomizingBlock > 0);\\n        randomness =  witnetRandomness.random(type(uint32).max, 0, latestRandomizingBlock);\\n    }\\n}\",\"keccak256\":\"0x73cab6b541c2a6fd7c7236253e70ce3dd57d11e0ec9c8feb947fdf37e9d09560\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRandomness.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title The Witnet Randomness generator interface.\\n/// @author Witnet Foundation.\\ninterface IWitnetRandomness {\\n\\n    /// Thrown every time a new WitnetRandomnessRequest gets succesfully posted to the WitnetRequestBoard.\\n    /// @param from Address from which the randomize() function was called. \\n    /// @param prevBlock Block number in which a randomness request got posted just before this one. 0 if none.\\n    /// @param witnetQueryId Unique query id assigned to this request by the WRB.\\n    /// @param witnetRequestHash SHA-256 hash of the WitnetRandomnessRequest actual bytecode just posted to the WRB.\\n    event Randomized(\\n        address indexed from,\\n        uint256 indexed prevBlock,\\n        uint256 witnetQueryId,\\n        bytes32 witnetRequestHash\\n    );\\n\\n    /// Returns amount of wei required to be paid as a fee when requesting randomization with a \\n    /// transaction gas price as the one given.\\n    function estimateRandomizeFee(uint256 _gasPrice) external view returns (uint256);\\n\\n    /// Retrieves data of a randomization request that got successfully posted to the WRB within a given block.\\n    /// @dev Returns zero values if no randomness request was actually posted within a given block.\\n    /// @param _block Block number whose randomness request is being queried for.\\n    /// @return _from Address from which the latest randomness request was posted.\\n    /// @return _id Unique request identifier as provided by the WRB.\\n    /// @return _prevBlock Block number in which a randomness request got posted just before this one. 0 if none.\\n    /// @return _nextBlock Block number in which a randomness request got posted just after this one, 0 if none.\\n    function getRandomizeData(uint256 _block)\\n        external view returns (address _from, uint256 _id, uint256 _prevBlock, uint256 _nextBlock);\\n\\n    /// Retrieves the randomness generated upon solving a request that was posted within a given block,\\n    /// if any, or to the _first_ request posted after that block, otherwise. Should the intended \\n    /// request happen to be finalized with errors on the Witnet oracle network side, this function \\n    /// will recursively try to return randomness from the next non-faulty randomization request found \\n    /// in storage, if any. \\n    /// @dev Fails if:\\n    /// @dev   i.   no `randomize()` was not called in either the given block, or afterwards.\\n    /// @dev   ii.  a request posted in/after given block does exist, but no result has been provided yet.\\n    /// @dev   iii. all requests in/after the given block were solved with errors.\\n    /// @param _block Block number from which the search will start.\\n    function getRandomnessAfter(uint256 _block) external view returns (bytes32); \\n\\n    /// Tells what is the number of the next block in which a randomization request was posted after the given one. \\n    /// @param _block Block number from which the search will start.\\n    /// @return Number of the first block found after the given one, or `0` otherwise.\\n    function getRandomnessNextBlock(uint256 _block) external view returns (uint256); \\n\\n    /// Gets previous block in which a randomness request was posted before the given one.\\n    /// @param _block Block number from which the search will start.\\n    /// @return First block found before the given one, or `0` otherwise.\\n    function getRandomnessPrevBlock(uint256 _block) external view returns (uint256);\\n\\n    /// Returns `true` only when the randomness request that got posted within given block was already\\n    /// reported back from the Witnet oracle, either successfully or with an error of any kind.\\n    function isRandomized(uint256 _block) external view returns (bool);\\n\\n    /// Returns latest block in which a randomness request got sucessfully posted to the WRB.\\n    function latestRandomizeBlock() external view returns (uint256);\\n\\n    /// Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using \\n    /// the given `_nonce` value and the randomness returned by `getRandomnessAfter(_block)`. \\n    /// @dev Fails under same conditions as `getRandomnessAfter(uint256)` may do.\\n    /// @param _range Range within which the uniformly-distributed random number will be generated.\\n    /// @param _nonce Nonce value enabling multiple random numbers from the same randomness value.\\n    /// @param _block Block number from which the search will start.\\n    function random(uint32 _range, uint256 _nonce, uint256 _block) external view returns (uint32);\\n\\n    /// Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using \\n    /// the given `_nonce` value and the given `_seed` as a source of entropy.\\n    /// @param _range Range within which the uniformly-distributed random number will be generated.\\n    /// @param _nonce Nonce value enabling multiple random numbers from the same randomness value.\\n    /// @param _seed Seed value used as entropy source.\\n    function random(uint32 _range, uint256 _nonce, bytes32 _seed) external pure returns (uint32);\\n\\n    /// Requests the Witnet oracle to generate an EVM-agnostic and trustless source of randomness. \\n    /// Only one randomness request per block will be actually posted to the WRB. Should there \\n    /// already be a posted request within current block, it will try to upgrade Witnet fee of current's \\n    /// block randomness request according to current gas price. In both cases, all unused funds shall \\n    /// be transfered back to the tx sender.\\n    /// @return _usedFunds Amount of funds actually used from those provided by the tx sender.\\n    function randomize() external payable returns (uint256 _usedFunds);\\n\\n    /// Increases Witnet fee related to a pending-to-be-solved randomness request, as much as it\\n    /// may be required in proportion to how much bigger the current tx gas price is with respect the \\n    /// highest gas price that was paid in either previous fee upgrades, or when the given randomness \\n    /// request was posted. All unused funds shall be transferred back to the tx sender.\\n    /// @return _usedFunds Amount of dunds actually used from those provided by the tx sender.\\n    function upgradeRandomizeFee(uint256 _block) external payable returns (uint256 _usedFunds);\\n}\\n\",\"keccak256\":\"0x67868d08fe2406086cdd9a3860614201911a1ad16e3d34a94151fad721a12934\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[{"astId":3755,"contract":"contracts/WitnetRandom.sol:WitnetRandom","label":"randomness","offset":0,"slot":"0","type":"t_uint32"},{"astId":3757,"contract":"contracts/WitnetRandom.sol:WitnetRandom","label":"latestRandomizingBlock","offset":0,"slot":"1","type":"t_uint256"}],"types":{"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint32":{"encoding":"inplace","label":"uint32","numberOfBytes":"4"}}},"userdoc":{"kind":"user","methods":{},"version":1}}},"contracts/test/MockWitnetRouter.sol":{"MockWitnetRouter":{"abi":[{"inputs":[{"internalType":"bytes32","name":"_id","type":"bytes32"}],"name":"valueFor","outputs":[{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b50610180806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f78eea8314610030575b600080fd5b61004a6004803603810190610045919061008e565b610062565b604051610059939291906100d9565b60405180910390f35b6000806000600a80600a9250925092509193909250565b60008135905061008881610133565b92915050565b6000602082840312156100a4576100a361012e565b5b60006100b284828501610079565b91505092915050565b6100c48161011a565b82525050565b6100d381610124565b82525050565b60006060820190506100ee60008301866100bb565b6100fb60208301856100ca565b61010860408301846100ca565b949350505050565b6000819050919050565b6000819050919050565b6000819050919050565b600080fd5b61013c81610110565b811461014757600080fd5b5056fea2646970667358221220cdeb165c8c186cc522bd7743426ea6ac7bd781e52f6590722e0ee195d94d25b864736f6c63430008070033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x180 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xF78EEA83 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x8E JUMP JUMPDEST PUSH2 0x62 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x59 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xD9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA DUP1 PUSH1 0xA SWAP3 POP SWAP3 POP SWAP3 POP SWAP2 SWAP4 SWAP1 SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x88 DUP2 PUSH2 0x133 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA4 JUMPI PUSH2 0xA3 PUSH2 0x12E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xB2 DUP5 DUP3 DUP6 ADD PUSH2 0x79 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xC4 DUP2 PUSH2 0x11A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xD3 DUP2 PUSH2 0x124 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0xEE PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0xBB JUMP JUMPDEST PUSH2 0xFB PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xCA JUMP JUMPDEST PUSH2 0x108 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0xCA JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x13C DUP2 PUSH2 0x110 JUMP JUMPDEST DUP2 EQ PUSH2 0x147 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCD 0xEB AND 0x5C DUP13 XOR PUSH13 0xC522BD7743426EA6AC7BD781E5 0x2F PUSH6 0x90722E0EE195 0xD9 0x4D 0x25 0xB8 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ","sourceMap":"64:146:24:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@valueFor_3869":{"entryPoint":98,"id":3869,"parameterSlots":1,"returnSlots":3},"abi_decode_t_bytes32":{"entryPoint":121,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32":{"entryPoint":142,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_int256_to_t_int256_fromStack":{"entryPoint":187,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":202,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_int256_t_uint256_t_uint256__to_t_int256_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":217,"id":null,"parameterSlots":4,"returnSlots":1},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":272,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_int256":{"entryPoint":282,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":292,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":302,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":307,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1876:67","statements":[{"body":{"nodeType":"YulBlock","src":"59:87:67","statements":[{"nodeType":"YulAssignment","src":"69:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"91:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"78:12:67"},"nodeType":"YulFunctionCall","src":"78:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"69:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"134:5:67"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"107:26:67"},"nodeType":"YulFunctionCall","src":"107:33:67"},"nodeType":"YulExpressionStatement","src":"107:33:67"}]},"name":"abi_decode_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"37:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"45:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:67","type":""}],"src":"7:139:67"},{"body":{"nodeType":"YulBlock","src":"218:263:67","statements":[{"body":{"nodeType":"YulBlock","src":"264:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"266:77:67"},"nodeType":"YulFunctionCall","src":"266:79:67"},"nodeType":"YulExpressionStatement","src":"266:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"239:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"248:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"235:3:67"},"nodeType":"YulFunctionCall","src":"235:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"260:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"231:3:67"},"nodeType":"YulFunctionCall","src":"231:32:67"},"nodeType":"YulIf","src":"228:119:67"},{"nodeType":"YulBlock","src":"357:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"372:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"386:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"376:6:67","type":""}]},{"nodeType":"YulAssignment","src":"401:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"436:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"447:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"432:3:67"},"nodeType":"YulFunctionCall","src":"432:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"456:7:67"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"411:20:67"},"nodeType":"YulFunctionCall","src":"411:53:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"401:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"188:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"199:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"211:6:67","type":""}],"src":"152:329:67"},{"body":{"nodeType":"YulBlock","src":"550:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"567:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"589:5:67"}],"functionName":{"name":"cleanup_t_int256","nodeType":"YulIdentifier","src":"572:16:67"},"nodeType":"YulFunctionCall","src":"572:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"560:6:67"},"nodeType":"YulFunctionCall","src":"560:36:67"},"nodeType":"YulExpressionStatement","src":"560:36:67"}]},"name":"abi_encode_t_int256_to_t_int256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"538:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"545:3:67","type":""}],"src":"487:115:67"},{"body":{"nodeType":"YulBlock","src":"673:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"690:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"713:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"695:17:67"},"nodeType":"YulFunctionCall","src":"695:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"683:6:67"},"nodeType":"YulFunctionCall","src":"683:37:67"},"nodeType":"YulExpressionStatement","src":"683:37:67"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"661:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"668:3:67","type":""}],"src":"608:118:67"},{"body":{"nodeType":"YulBlock","src":"884:286:67","statements":[{"nodeType":"YulAssignment","src":"894:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"906:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"917:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"902:3:67"},"nodeType":"YulFunctionCall","src":"902:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"894:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"972:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"985:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"996:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"981:3:67"},"nodeType":"YulFunctionCall","src":"981:17:67"}],"functionName":{"name":"abi_encode_t_int256_to_t_int256_fromStack","nodeType":"YulIdentifier","src":"930:41:67"},"nodeType":"YulFunctionCall","src":"930:69:67"},"nodeType":"YulExpressionStatement","src":"930:69:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"1053:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1066:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"1077:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1062:3:67"},"nodeType":"YulFunctionCall","src":"1062:18:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"1009:43:67"},"nodeType":"YulFunctionCall","src":"1009:72:67"},"nodeType":"YulExpressionStatement","src":"1009:72:67"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"1135:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1148:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"1159:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1144:3:67"},"nodeType":"YulFunctionCall","src":"1144:18:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"1091:43:67"},"nodeType":"YulFunctionCall","src":"1091:72:67"},"nodeType":"YulExpressionStatement","src":"1091:72:67"}]},"name":"abi_encode_tuple_t_int256_t_uint256_t_uint256__to_t_int256_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"840:9:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"852:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"860:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"868:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"879:4:67","type":""}],"src":"732:438:67"},{"body":{"nodeType":"YulBlock","src":"1216:35:67","statements":[{"nodeType":"YulAssignment","src":"1226:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1242:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1236:5:67"},"nodeType":"YulFunctionCall","src":"1236:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1226:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1209:6:67","type":""}],"src":"1176:75:67"},{"body":{"nodeType":"YulBlock","src":"1302:32:67","statements":[{"nodeType":"YulAssignment","src":"1312:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"1323:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"1312:7:67"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1284:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"1294:7:67","type":""}],"src":"1257:77:67"},{"body":{"nodeType":"YulBlock","src":"1384:32:67","statements":[{"nodeType":"YulAssignment","src":"1394:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"1405:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"1394:7:67"}]}]},"name":"cleanup_t_int256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1366:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"1376:7:67","type":""}],"src":"1340:76:67"},{"body":{"nodeType":"YulBlock","src":"1467:32:67","statements":[{"nodeType":"YulAssignment","src":"1477:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"1488:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"1477:7:67"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1449:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"1459:7:67","type":""}],"src":"1422:77:67"},{"body":{"nodeType":"YulBlock","src":"1594:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1611:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1614:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1604:6:67"},"nodeType":"YulFunctionCall","src":"1604:12:67"},"nodeType":"YulExpressionStatement","src":"1604:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"1505:117:67"},{"body":{"nodeType":"YulBlock","src":"1717:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1734:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1737:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1727:6:67"},"nodeType":"YulFunctionCall","src":"1727:12:67"},"nodeType":"YulExpressionStatement","src":"1727:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"1628:117:67"},{"body":{"nodeType":"YulBlock","src":"1794:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"1851:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1860:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1863:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1853:6:67"},"nodeType":"YulFunctionCall","src":"1853:12:67"},"nodeType":"YulExpressionStatement","src":"1853:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1817:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1842:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"1824:17:67"},"nodeType":"YulFunctionCall","src":"1824:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1814:2:67"},"nodeType":"YulFunctionCall","src":"1814:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1807:6:67"},"nodeType":"YulFunctionCall","src":"1807:43:67"},"nodeType":"YulIf","src":"1804:63:67"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1787:5:67","type":""}],"src":"1751:122:67"}]},"contents":"{\n\n    function abi_decode_t_bytes32(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_bytes32(value)\n    }\n\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_encode_t_int256_to_t_int256_fromStack(value, pos) {\n        mstore(pos, cleanup_t_int256(value))\n    }\n\n    function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint256(value))\n    }\n\n    function abi_encode_tuple_t_int256_t_uint256_t_uint256__to_t_int256_t_uint256_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n        tail := add(headStart, 96)\n\n        abi_encode_t_int256_to_t_int256_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value1,  add(headStart, 32))\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value2,  add(headStart, 64))\n\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function cleanup_t_bytes32(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_int256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_uint256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function validator_revert_t_bytes32(value) {\n        if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f78eea8314610030575b600080fd5b61004a6004803603810190610045919061008e565b610062565b604051610059939291906100d9565b60405180910390f35b6000806000600a80600a9250925092509193909250565b60008135905061008881610133565b92915050565b6000602082840312156100a4576100a361012e565b5b60006100b284828501610079565b91505092915050565b6100c48161011a565b82525050565b6100d381610124565b82525050565b60006060820190506100ee60008301866100bb565b6100fb60208301856100ca565b61010860408301846100ca565b949350505050565b6000819050919050565b6000819050919050565b6000819050919050565b600080fd5b61013c81610110565b811461014757600080fd5b5056fea2646970667358221220cdeb165c8c186cc522bd7743426ea6ac7bd781e52f6590722e0ee195d94d25b864736f6c63430008070033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xF78EEA83 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x8E JUMP JUMPDEST PUSH2 0x62 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x59 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xD9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA DUP1 PUSH1 0xA SWAP3 POP SWAP3 POP SWAP3 POP SWAP2 SWAP4 SWAP1 SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x88 DUP2 PUSH2 0x133 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA4 JUMPI PUSH2 0xA3 PUSH2 0x12E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xB2 DUP5 DUP3 DUP6 ADD PUSH2 0x79 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xC4 DUP2 PUSH2 0x11A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xD3 DUP2 PUSH2 0x124 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0xEE PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0xBB JUMP JUMPDEST PUSH2 0xFB PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xCA JUMP JUMPDEST PUSH2 0x108 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0xCA JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x13C DUP2 PUSH2 0x110 JUMP JUMPDEST DUP2 EQ PUSH2 0x147 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCD 0xEB AND 0x5C DUP13 XOR PUSH13 0xC522BD7743426EA6AC7BD781E5 0x2F PUSH6 0x90722E0EE195 0xD9 0x4D 0x25 0xB8 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ","sourceMap":"64:146:24:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;96:112;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;148:6;155:7;163;190:2;194;198;182:19;;;;;;96:112;;;;;:::o;7:139:67:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:329::-;211:6;260:2;248:9;239:7;235:23;231:32;228:119;;;266:79;;:::i;:::-;228:119;386:1;411:53;456:7;447:6;436:9;432:22;411:53;:::i;:::-;401:63;;357:117;152:329;;;;:::o;487:115::-;572:23;589:5;572:23;:::i;:::-;567:3;560:36;487:115;;:::o;608:118::-;695:24;713:5;695:24;:::i;:::-;690:3;683:37;608:118;;:::o;732:438::-;879:4;917:2;906:9;902:18;894:26;;930:69;996:1;985:9;981:17;972:6;930:69;:::i;:::-;1009:72;1077:2;1066:9;1062:18;1053:6;1009:72;:::i;:::-;1091;1159:2;1148:9;1144:18;1135:6;1091:72;:::i;:::-;732:438;;;;;;:::o;1257:77::-;1294:7;1323:5;1312:16;;1257:77;;;:::o;1340:76::-;1376:7;1405:5;1394:16;;1340:76;;;:::o;1422:77::-;1459:7;1488:5;1477:16;;1422:77;;;:::o;1628:117::-;1737:1;1734;1727:12;1751:122;1824:24;1842:5;1824:24;:::i;:::-;1817:5;1814:35;1804:63;;1863:1;1860;1853:12;1804:63;1751:122;:::o"},"gasEstimates":{"creation":{"codeDepositCost":"76800","executionCost":"123","totalCost":"76923"},"external":{"valueFor(bytes32)":"infinite"}},"methodIdentifiers":{"valueFor(bytes32)":"f78eea83"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_id\",\"type\":\"bytes32\"}],\"name\":\"valueFor\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/MockWitnetRouter.sol\":\"MockWitnetRouter\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/test/MockWitnetRouter.sol\":{\"content\":\"//SPDX-License-Identifier: MIT\\npragma solidity >=0.5.0 <0.9.0;\\n\\ncontract MockWitnetRouter {\\n    function valueFor(bytes32 _id) public view returns (int256,uint256,uint256) {\\n        return (10, 10, 10);\\n    }\\n}\",\"keccak256\":\"0xadffe281651f6b20d892afa52998c96ce09053a80b5a53391db017741c3b7443\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"version":1}}},"contracts/test/fuzzing/KeepersCounterEchidnaTest.sol":{"KeepersCounterEchidnaTest":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"name":"checkUpkeep","outputs":[{"internalType":"bool","name":"upkeepNeeded","type":"bool"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"counter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"echidna_test_perform_upkeep_gate","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"interval","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastTimeStamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"name":"performUpkeep","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"bytecode":{"functionDebugData":{"@_3467":{"entryPoint":null,"id":3467,"parameterSlots":1,"returnSlots":0},"@_3885":{"entryPoint":null,"id":3885,"parameterSlots":0,"returnSlots":0}},"generatedSources":[],"linkReferences":{},"object":"60a060405234801561001057600080fd5b50620a8c0080608081815250504260018190555060008081905550506080516106ff61004e600039600081816101bc01526101ff01526106ff6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80633f3b3b27146100675780634585e33b1461008557806361bc221a146100a15780636e04ff0d146100bf5780637d1b7ebd146100f0578063947a36fb1461010e575b600080fd5b61006f61012c565b60405161007c9190610462565b60405180910390f35b61009f600480360381019061009a91906102e7565b610132565b005b6100a96101b0565b6040516100b69190610462565b60405180910390f35b6100d960048036038101906100d49190610334565b6101b6565b6040516100e7929190610412565b60405180910390f35b6100f86101f1565b60405161010591906103f7565b60405180910390f35b6101166101fd565b6040516101239190610462565b60405180910390f35b60015481565b600061014c604051806020016040528060008152506101b6565b5090508061018f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161018690610442565b60405180910390fd5b4260018190555060016000546101a59190610500565b600081905550505050565b60005481565b600060607f0000000000000000000000000000000000000000000000000000000000000000600154426101e99190610556565b119150915091565b60008060005414905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061023461022f846104a2565b61047d565b9050828152602081018484840111156102505761024f610680565b5b61025b8482856105a0565b509392505050565b60008083601f84011261027957610278610676565b5b8235905067ffffffffffffffff81111561029657610295610671565b5b6020830191508360018202830111156102b2576102b161067b565b5b9250929050565b600082601f8301126102ce576102cd610676565b5b81356102de848260208601610221565b91505092915050565b600080602083850312156102fe576102fd61068a565b5b600083013567ffffffffffffffff81111561031c5761031b610685565b5b61032885828601610263565b92509250509250929050565b60006020828403121561034a5761034961068a565b5b600082013567ffffffffffffffff81111561036857610367610685565b5b610374848285016102b9565b91505092915050565b6103868161058a565b82525050565b6000610397826104d3565b6103a181856104de565b93506103b18185602086016105af565b6103ba8161068f565b840191505092915050565b60006103d26015836104ef565b91506103dd826106a0565b602082019050919050565b6103f181610596565b82525050565b600060208201905061040c600083018461037d565b92915050565b6000604082019050610427600083018561037d565b8181036020830152610439818461038c565b90509392505050565b6000602082019050818103600083015261045b816103c5565b9050919050565b600060208201905061047760008301846103e8565b92915050565b6000610487610498565b905061049382826105e2565b919050565b6000604051905090565b600067ffffffffffffffff8211156104bd576104bc610642565b5b6104c68261068f565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061050b82610596565b915061051683610596565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561054b5761054a610613565b5b828201905092915050565b600061056182610596565b915061056c83610596565b92508282101561057f5761057e610613565b5b828203905092915050565b60008115159050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156105cd5780820151818401526020810190506105b2565b838111156105dc576000848401525b50505050565b6105eb8261068f565b810181811067ffffffffffffffff8211171561060a57610609610642565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f54696d6520696e74657276616c206e6f74206d6574000000000000000000000060008201525056fea2646970667358221220b1ef64744117ff639594fa94f6f57e3e6b0f03d37b94ac14d90d4f898ec2781264736f6c63430008070033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0xA8C00 DUP1 PUSH1 0x80 DUP2 DUP2 MSTORE POP POP TIMESTAMP PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 DUP2 SWAP1 SSTORE POP POP PUSH1 0x80 MLOAD PUSH2 0x6FF PUSH2 0x4E PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x1BC ADD MSTORE PUSH2 0x1FF ADD MSTORE PUSH2 0x6FF PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3F3B3B27 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x4585E33B EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x61BC221A EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0x6E04FF0D EQ PUSH2 0xBF JUMPI DUP1 PUSH4 0x7D1B7EBD EQ PUSH2 0xF0 JUMPI DUP1 PUSH4 0x947A36FB EQ PUSH2 0x10E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x12C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x462 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x2E7 JUMP JUMPDEST PUSH2 0x132 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xA9 PUSH2 0x1B0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB6 SWAP2 SWAP1 PUSH2 0x462 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD4 SWAP2 SWAP1 PUSH2 0x334 JUMP JUMPDEST PUSH2 0x1B6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP3 SWAP2 SWAP1 PUSH2 0x412 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF8 PUSH2 0x1F1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x105 SWAP2 SWAP1 PUSH2 0x3F7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x116 PUSH2 0x1FD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x123 SWAP2 SWAP1 PUSH2 0x462 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14C PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x1B6 JUMP JUMPDEST POP SWAP1 POP DUP1 PUSH2 0x18F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x186 SWAP1 PUSH2 0x442 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST TIMESTAMP PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 SLOAD PUSH2 0x1A5 SWAP2 SWAP1 PUSH2 0x500 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH32 0x0 PUSH1 0x1 SLOAD TIMESTAMP PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x556 JUMP JUMPDEST GT SWAP2 POP SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SLOAD EQ SWAP1 POP SWAP1 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x234 PUSH2 0x22F DUP5 PUSH2 0x4A2 JUMP JUMPDEST PUSH2 0x47D JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x250 JUMPI PUSH2 0x24F PUSH2 0x680 JUMP JUMPDEST JUMPDEST PUSH2 0x25B DUP5 DUP3 DUP6 PUSH2 0x5A0 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x279 JUMPI PUSH2 0x278 PUSH2 0x676 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x296 JUMPI PUSH2 0x295 PUSH2 0x671 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x2B2 JUMPI PUSH2 0x2B1 PUSH2 0x67B JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2CE JUMPI PUSH2 0x2CD PUSH2 0x676 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2DE DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x221 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2FE JUMPI PUSH2 0x2FD PUSH2 0x68A JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x31C JUMPI PUSH2 0x31B PUSH2 0x685 JUMP JUMPDEST JUMPDEST PUSH2 0x328 DUP6 DUP3 DUP7 ADD PUSH2 0x263 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x34A JUMPI PUSH2 0x349 PUSH2 0x68A JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x368 JUMPI PUSH2 0x367 PUSH2 0x685 JUMP JUMPDEST JUMPDEST PUSH2 0x374 DUP5 DUP3 DUP6 ADD PUSH2 0x2B9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x386 DUP2 PUSH2 0x58A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x397 DUP3 PUSH2 0x4D3 JUMP JUMPDEST PUSH2 0x3A1 DUP2 DUP6 PUSH2 0x4DE JUMP JUMPDEST SWAP4 POP PUSH2 0x3B1 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x5AF JUMP JUMPDEST PUSH2 0x3BA DUP2 PUSH2 0x68F JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3D2 PUSH1 0x15 DUP4 PUSH2 0x4EF JUMP JUMPDEST SWAP2 POP PUSH2 0x3DD DUP3 PUSH2 0x6A0 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3F1 DUP2 PUSH2 0x596 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x40C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x37D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x427 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x37D JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x439 DUP2 DUP5 PUSH2 0x38C JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x45B DUP2 PUSH2 0x3C5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x477 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3E8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x487 PUSH2 0x498 JUMP JUMPDEST SWAP1 POP PUSH2 0x493 DUP3 DUP3 PUSH2 0x5E2 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x4BD JUMPI PUSH2 0x4BC PUSH2 0x642 JUMP JUMPDEST JUMPDEST PUSH2 0x4C6 DUP3 PUSH2 0x68F JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x50B DUP3 PUSH2 0x596 JUMP JUMPDEST SWAP2 POP PUSH2 0x516 DUP4 PUSH2 0x596 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x54B JUMPI PUSH2 0x54A PUSH2 0x613 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x561 DUP3 PUSH2 0x596 JUMP JUMPDEST SWAP2 POP PUSH2 0x56C DUP4 PUSH2 0x596 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x57F JUMPI PUSH2 0x57E PUSH2 0x613 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5CD JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x5B2 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x5DC JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x5EB DUP3 PUSH2 0x68F JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x60A JUMPI PUSH2 0x609 PUSH2 0x642 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x54696D6520696E74657276616C206E6F74206D65740000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB1 0xEF PUSH5 0x744117FF63 SWAP6 SWAP5 STATICCALL SWAP5 0xF6 CREATE2 PUSH31 0x3E6B0F03D37B94AC14D90D4F898EC2781264736F6C63430008070033000000 ","sourceMap":"93:203:26:-:0;;;150:39;;;;;;;;;;179:6;822:14:18;811:25;;;;;;858:15;842:13;:31;;;;890:1;880:7;:11;;;;769:127;93:203:26;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@checkUpkeep_3489":{"entryPoint":438,"id":3489,"parameterSlots":1,"returnSlots":2},"@counter_3442":{"entryPoint":432,"id":3442,"parameterSlots":0,"returnSlots":0},"@echidna_test_perform_upkeep_gate_3895":{"entryPoint":497,"id":3895,"parameterSlots":0,"returnSlots":1},"@interval_3445":{"entryPoint":509,"id":3445,"parameterSlots":0,"returnSlots":0},"@lastTimeStamp_3447":{"entryPoint":300,"id":3447,"parameterSlots":0,"returnSlots":0},"@performUpkeep_3519":{"entryPoint":306,"id":3519,"parameterSlots":2,"returnSlots":0},"abi_decode_available_length_t_bytes_memory_ptr":{"entryPoint":545,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_bytes_calldata_ptr":{"entryPoint":611,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_bytes_memory_ptr":{"entryPoint":697,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes_calldata_ptr":{"entryPoint":743,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes_memory_ptr":{"entryPoint":820,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bool_to_t_bool_fromStack":{"entryPoint":893,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack":{"entryPoint":908,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_stringliteral_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4_to_t_string_memory_ptr_fromStack":{"entryPoint":965,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":1000,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":1015,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool_t_bytes_memory_ptr__to_t_bool_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":1042,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":1090,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":1122,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":1149,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":1176,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_bytes_memory_ptr":{"entryPoint":1186,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_bytes_memory_ptr":{"entryPoint":1235,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack":{"entryPoint":1246,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_fromStack":{"entryPoint":1263,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":1280,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":1366,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_bool":{"entryPoint":1418,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":1430,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory":{"entryPoint":1440,"id":null,"parameterSlots":3,"returnSlots":0},"copy_memory_to_memory":{"entryPoint":1455,"id":null,"parameterSlots":3,"returnSlots":0},"finalize_allocation":{"entryPoint":1506,"id":null,"parameterSlots":2,"returnSlots":0},"panic_error_0x11":{"entryPoint":1555,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":1602,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490":{"entryPoint":1649,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":1654,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":1659,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae":{"entryPoint":1664,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":1669,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":1674,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":1679,"id":null,"parameterSlots":1,"returnSlots":1},"store_literal_in_memory_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4":{"entryPoint":1696,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:8477:67","statements":[{"body":{"nodeType":"YulBlock","src":"90:327:67","statements":[{"nodeType":"YulAssignment","src":"100:74:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"166:6:67"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"125:40:67"},"nodeType":"YulFunctionCall","src":"125:48:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"109:15:67"},"nodeType":"YulFunctionCall","src":"109:65:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"100:5:67"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"190:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"197:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"183:6:67"},"nodeType":"YulFunctionCall","src":"183:21:67"},"nodeType":"YulExpressionStatement","src":"183:21:67"},{"nodeType":"YulVariableDeclaration","src":"213:27:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"228:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"235:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"224:3:67"},"nodeType":"YulFunctionCall","src":"224:16:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"217:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"278:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulIdentifier","src":"280:77:67"},"nodeType":"YulFunctionCall","src":"280:79:67"},"nodeType":"YulExpressionStatement","src":"280:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"259:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"264:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"255:3:67"},"nodeType":"YulFunctionCall","src":"255:16:67"},{"name":"end","nodeType":"YulIdentifier","src":"273:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"252:2:67"},"nodeType":"YulFunctionCall","src":"252:25:67"},"nodeType":"YulIf","src":"249:112:67"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"394:3:67"},{"name":"dst","nodeType":"YulIdentifier","src":"399:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"404:6:67"}],"functionName":{"name":"copy_calldata_to_memory","nodeType":"YulIdentifier","src":"370:23:67"},"nodeType":"YulFunctionCall","src":"370:41:67"},"nodeType":"YulExpressionStatement","src":"370:41:67"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"63:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"68:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"76:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"84:5:67","type":""}],"src":"7:410:67"},{"body":{"nodeType":"YulBlock","src":"510:478:67","statements":[{"body":{"nodeType":"YulBlock","src":"559:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"561:77:67"},"nodeType":"YulFunctionCall","src":"561:79:67"},"nodeType":"YulExpressionStatement","src":"561:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"538:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"546:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"534:3:67"},"nodeType":"YulFunctionCall","src":"534:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"553:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"530:3:67"},"nodeType":"YulFunctionCall","src":"530:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"523:6:67"},"nodeType":"YulFunctionCall","src":"523:35:67"},"nodeType":"YulIf","src":"520:122:67"},{"nodeType":"YulAssignment","src":"651:30:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"674:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"661:12:67"},"nodeType":"YulFunctionCall","src":"661:20:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"651:6:67"}]},{"body":{"nodeType":"YulBlock","src":"724:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"726:77:67"},"nodeType":"YulFunctionCall","src":"726:79:67"},"nodeType":"YulExpressionStatement","src":"726:79:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"696:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"704:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"693:2:67"},"nodeType":"YulFunctionCall","src":"693:30:67"},"nodeType":"YulIf","src":"690:117:67"},{"nodeType":"YulAssignment","src":"816:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"832:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"840:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"828:3:67"},"nodeType":"YulFunctionCall","src":"828:17:67"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"816:8:67"}]},{"body":{"nodeType":"YulBlock","src":"899:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"901:77:67"},"nodeType":"YulFunctionCall","src":"901:79:67"},"nodeType":"YulExpressionStatement","src":"901:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"864:8:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"878:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"886:4:67","type":"","value":"0x01"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"874:3:67"},"nodeType":"YulFunctionCall","src":"874:17:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"860:3:67"},"nodeType":"YulFunctionCall","src":"860:32:67"},{"name":"end","nodeType":"YulIdentifier","src":"894:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"857:2:67"},"nodeType":"YulFunctionCall","src":"857:41:67"},"nodeType":"YulIf","src":"854:128:67"}]},"name":"abi_decode_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"477:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"485:3:67","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"493:8:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"503:6:67","type":""}],"src":"436:552:67"},{"body":{"nodeType":"YulBlock","src":"1068:277:67","statements":[{"body":{"nodeType":"YulBlock","src":"1117:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"1119:77:67"},"nodeType":"YulFunctionCall","src":"1119:79:67"},"nodeType":"YulExpressionStatement","src":"1119:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1096:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1104:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1092:3:67"},"nodeType":"YulFunctionCall","src":"1092:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"1111:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1088:3:67"},"nodeType":"YulFunctionCall","src":"1088:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1081:6:67"},"nodeType":"YulFunctionCall","src":"1081:35:67"},"nodeType":"YulIf","src":"1078:122:67"},{"nodeType":"YulVariableDeclaration","src":"1209:34:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1236:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1223:12:67"},"nodeType":"YulFunctionCall","src":"1223:20:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1213:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1252:87:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1312:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1320:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1308:3:67"},"nodeType":"YulFunctionCall","src":"1308:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"1327:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"1335:3:67"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"1261:46:67"},"nodeType":"YulFunctionCall","src":"1261:78:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1252:5:67"}]}]},"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1046:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1054:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"1062:5:67","type":""}],"src":"1007:338:67"},{"body":{"nodeType":"YulBlock","src":"1436:442:67","statements":[{"body":{"nodeType":"YulBlock","src":"1482:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1484:77:67"},"nodeType":"YulFunctionCall","src":"1484:79:67"},"nodeType":"YulExpressionStatement","src":"1484:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1457:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"1466:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1453:3:67"},"nodeType":"YulFunctionCall","src":"1453:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"1478:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1449:3:67"},"nodeType":"YulFunctionCall","src":"1449:32:67"},"nodeType":"YulIf","src":"1446:119:67"},{"nodeType":"YulBlock","src":"1575:296:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1590:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1621:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"1632:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1617:3:67"},"nodeType":"YulFunctionCall","src":"1617:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1604:12:67"},"nodeType":"YulFunctionCall","src":"1604:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1594:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"1682:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"1684:77:67"},"nodeType":"YulFunctionCall","src":"1684:79:67"},"nodeType":"YulExpressionStatement","src":"1684:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1654:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1662:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1651:2:67"},"nodeType":"YulFunctionCall","src":"1651:30:67"},"nodeType":"YulIf","src":"1648:117:67"},{"nodeType":"YulAssignment","src":"1779:82:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1833:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1844:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1829:3:67"},"nodeType":"YulFunctionCall","src":"1829:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1853:7:67"}],"functionName":{"name":"abi_decode_t_bytes_calldata_ptr","nodeType":"YulIdentifier","src":"1797:31:67"},"nodeType":"YulFunctionCall","src":"1797:64:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1779:6:67"},{"name":"value1","nodeType":"YulIdentifier","src":"1787:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1398:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1409:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1421:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1429:6:67","type":""}],"src":"1351:527:67"},{"body":{"nodeType":"YulBlock","src":"1959:432:67","statements":[{"body":{"nodeType":"YulBlock","src":"2005:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"2007:77:67"},"nodeType":"YulFunctionCall","src":"2007:79:67"},"nodeType":"YulExpressionStatement","src":"2007:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1980:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"1989:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1976:3:67"},"nodeType":"YulFunctionCall","src":"1976:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"2001:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1972:3:67"},"nodeType":"YulFunctionCall","src":"1972:32:67"},"nodeType":"YulIf","src":"1969:119:67"},{"nodeType":"YulBlock","src":"2098:286:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2113:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2144:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2155:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2140:3:67"},"nodeType":"YulFunctionCall","src":"2140:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2127:12:67"},"nodeType":"YulFunctionCall","src":"2127:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2117:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"2205:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"2207:77:67"},"nodeType":"YulFunctionCall","src":"2207:79:67"},"nodeType":"YulExpressionStatement","src":"2207:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2177:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"2185:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2174:2:67"},"nodeType":"YulFunctionCall","src":"2174:30:67"},"nodeType":"YulIf","src":"2171:117:67"},{"nodeType":"YulAssignment","src":"2302:72:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2346:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2357:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2342:3:67"},"nodeType":"YulFunctionCall","src":"2342:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2366:7:67"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"2312:29:67"},"nodeType":"YulFunctionCall","src":"2312:62:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2302:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1929:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1940:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1952:6:67","type":""}],"src":"1884:507:67"},{"body":{"nodeType":"YulBlock","src":"2456:50:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2473:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2493:5:67"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"2478:14:67"},"nodeType":"YulFunctionCall","src":"2478:21:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2466:6:67"},"nodeType":"YulFunctionCall","src":"2466:34:67"},"nodeType":"YulExpressionStatement","src":"2466:34:67"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2444:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2451:3:67","type":""}],"src":"2397:109:67"},{"body":{"nodeType":"YulBlock","src":"2602:270:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2612:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2658:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"2626:31:67"},"nodeType":"YulFunctionCall","src":"2626:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2616:6:67","type":""}]},{"nodeType":"YulAssignment","src":"2673:77:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2738:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"2743:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"2680:57:67"},"nodeType":"YulFunctionCall","src":"2680:70:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2673:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2785:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"2792:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2781:3:67"},"nodeType":"YulFunctionCall","src":"2781:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"2799:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"2804:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"2759:21:67"},"nodeType":"YulFunctionCall","src":"2759:52:67"},"nodeType":"YulExpressionStatement","src":"2759:52:67"},{"nodeType":"YulAssignment","src":"2820:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2831:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2858:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"2836:21:67"},"nodeType":"YulFunctionCall","src":"2836:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2827:3:67"},"nodeType":"YulFunctionCall","src":"2827:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2820:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2583:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2590:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2598:3:67","type":""}],"src":"2512:360:67"},{"body":{"nodeType":"YulBlock","src":"3024:220:67","statements":[{"nodeType":"YulAssignment","src":"3034:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3100:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"3105:2:67","type":"","value":"21"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"3041:58:67"},"nodeType":"YulFunctionCall","src":"3041:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3034:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3206:3:67"}],"functionName":{"name":"store_literal_in_memory_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4","nodeType":"YulIdentifier","src":"3117:88:67"},"nodeType":"YulFunctionCall","src":"3117:93:67"},"nodeType":"YulExpressionStatement","src":"3117:93:67"},{"nodeType":"YulAssignment","src":"3219:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3230:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"3235:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3226:3:67"},"nodeType":"YulFunctionCall","src":"3226:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3219:3:67"}]}]},"name":"abi_encode_t_stringliteral_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"3012:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"3020:3:67","type":""}],"src":"2878:366:67"},{"body":{"nodeType":"YulBlock","src":"3315:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3332:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3355:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"3337:17:67"},"nodeType":"YulFunctionCall","src":"3337:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3325:6:67"},"nodeType":"YulFunctionCall","src":"3325:37:67"},"nodeType":"YulExpressionStatement","src":"3325:37:67"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3303:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3310:3:67","type":""}],"src":"3250:118:67"},{"body":{"nodeType":"YulBlock","src":"3466:118:67","statements":[{"nodeType":"YulAssignment","src":"3476:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3488:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"3499:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3484:3:67"},"nodeType":"YulFunctionCall","src":"3484:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3476:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3550:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3563:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"3574:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3559:3:67"},"nodeType":"YulFunctionCall","src":"3559:17:67"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulIdentifier","src":"3512:37:67"},"nodeType":"YulFunctionCall","src":"3512:65:67"},"nodeType":"YulExpressionStatement","src":"3512:65:67"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3438:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3450:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3461:4:67","type":""}],"src":"3374:210:67"},{"body":{"nodeType":"YulBlock","src":"3728:269:67","statements":[{"nodeType":"YulAssignment","src":"3738:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3750:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"3761:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3746:3:67"},"nodeType":"YulFunctionCall","src":"3746:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3738:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3812:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3825:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"3836:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3821:3:67"},"nodeType":"YulFunctionCall","src":"3821:17:67"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulIdentifier","src":"3774:37:67"},"nodeType":"YulFunctionCall","src":"3774:65:67"},"nodeType":"YulExpressionStatement","src":"3774:65:67"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3860:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"3871:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3856:3:67"},"nodeType":"YulFunctionCall","src":"3856:18:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"3880:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"3886:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3876:3:67"},"nodeType":"YulFunctionCall","src":"3876:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3849:6:67"},"nodeType":"YulFunctionCall","src":"3849:48:67"},"nodeType":"YulExpressionStatement","src":"3849:48:67"},{"nodeType":"YulAssignment","src":"3906:84:67","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"3976:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"3985:4:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"3914:61:67"},"nodeType":"YulFunctionCall","src":"3914:76:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3906:4:67"}]}]},"name":"abi_encode_tuple_t_bool_t_bytes_memory_ptr__to_t_bool_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3692:9:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3704:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3712:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3723:4:67","type":""}],"src":"3590:407:67"},{"body":{"nodeType":"YulBlock","src":"4174:248:67","statements":[{"nodeType":"YulAssignment","src":"4184:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4196:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"4207:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4192:3:67"},"nodeType":"YulFunctionCall","src":"4192:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4184:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4231:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"4242:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4227:3:67"},"nodeType":"YulFunctionCall","src":"4227:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"4250:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"4256:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4246:3:67"},"nodeType":"YulFunctionCall","src":"4246:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4220:6:67"},"nodeType":"YulFunctionCall","src":"4220:47:67"},"nodeType":"YulExpressionStatement","src":"4220:47:67"},{"nodeType":"YulAssignment","src":"4276:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"4410:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"4284:124:67"},"nodeType":"YulFunctionCall","src":"4284:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4276:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4154:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4169:4:67","type":""}],"src":"4003:419:67"},{"body":{"nodeType":"YulBlock","src":"4526:124:67","statements":[{"nodeType":"YulAssignment","src":"4536:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4548:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"4559:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4544:3:67"},"nodeType":"YulFunctionCall","src":"4544:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4536:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4616:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4629:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"4640:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4625:3:67"},"nodeType":"YulFunctionCall","src":"4625:17:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"4572:43:67"},"nodeType":"YulFunctionCall","src":"4572:71:67"},"nodeType":"YulExpressionStatement","src":"4572:71:67"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4498:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4510:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4521:4:67","type":""}],"src":"4428:222:67"},{"body":{"nodeType":"YulBlock","src":"4697:88:67","statements":[{"nodeType":"YulAssignment","src":"4707:30:67","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"4717:18:67"},"nodeType":"YulFunctionCall","src":"4717:20:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4707:6:67"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4766:6:67"},{"name":"size","nodeType":"YulIdentifier","src":"4774:4:67"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"4746:19:67"},"nodeType":"YulFunctionCall","src":"4746:33:67"},"nodeType":"YulExpressionStatement","src":"4746:33:67"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"4681:4:67","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"4690:6:67","type":""}],"src":"4656:129:67"},{"body":{"nodeType":"YulBlock","src":"4831:35:67","statements":[{"nodeType":"YulAssignment","src":"4841:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4857:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4851:5:67"},"nodeType":"YulFunctionCall","src":"4851:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4841:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"4824:6:67","type":""}],"src":"4791:75:67"},{"body":{"nodeType":"YulBlock","src":"4938:241:67","statements":[{"body":{"nodeType":"YulBlock","src":"5043:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5045:16:67"},"nodeType":"YulFunctionCall","src":"5045:18:67"},"nodeType":"YulExpressionStatement","src":"5045:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5015:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"5023:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5012:2:67"},"nodeType":"YulFunctionCall","src":"5012:30:67"},"nodeType":"YulIf","src":"5009:56:67"},{"nodeType":"YulAssignment","src":"5075:37:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5105:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"5083:21:67"},"nodeType":"YulFunctionCall","src":"5083:29:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"5075:4:67"}]},{"nodeType":"YulAssignment","src":"5149:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"5161:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"5167:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5157:3:67"},"nodeType":"YulFunctionCall","src":"5157:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"5149:4:67"}]}]},"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"4922:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"4933:4:67","type":""}],"src":"4872:307:67"},{"body":{"nodeType":"YulBlock","src":"5243:40:67","statements":[{"nodeType":"YulAssignment","src":"5254:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5270:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5264:5:67"},"nodeType":"YulFunctionCall","src":"5264:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"5254:6:67"}]}]},"name":"array_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5226:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"5236:6:67","type":""}],"src":"5185:98:67"},{"body":{"nodeType":"YulBlock","src":"5384:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5401:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"5406:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5394:6:67"},"nodeType":"YulFunctionCall","src":"5394:19:67"},"nodeType":"YulExpressionStatement","src":"5394:19:67"},{"nodeType":"YulAssignment","src":"5422:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5441:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5446:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5437:3:67"},"nodeType":"YulFunctionCall","src":"5437:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"5422:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"5356:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"5361:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"5372:11:67","type":""}],"src":"5289:168:67"},{"body":{"nodeType":"YulBlock","src":"5559:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5576:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"5581:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5569:6:67"},"nodeType":"YulFunctionCall","src":"5569:19:67"},"nodeType":"YulExpressionStatement","src":"5569:19:67"},{"nodeType":"YulAssignment","src":"5597:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5616:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5621:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5612:3:67"},"nodeType":"YulFunctionCall","src":"5612:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"5597:11:67"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"5531:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"5536:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"5547:11:67","type":""}],"src":"5463:169:67"},{"body":{"nodeType":"YulBlock","src":"5682:261:67","statements":[{"nodeType":"YulAssignment","src":"5692:25:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5715:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"5697:17:67"},"nodeType":"YulFunctionCall","src":"5697:20:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"5692:1:67"}]},{"nodeType":"YulAssignment","src":"5726:25:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"5749:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"5731:17:67"},"nodeType":"YulFunctionCall","src":"5731:20:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"5726:1:67"}]},{"body":{"nodeType":"YulBlock","src":"5889:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"5891:16:67"},"nodeType":"YulFunctionCall","src":"5891:18:67"},"nodeType":"YulExpressionStatement","src":"5891:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5810:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5817:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"y","nodeType":"YulIdentifier","src":"5885:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5813:3:67"},"nodeType":"YulFunctionCall","src":"5813:74:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5807:2:67"},"nodeType":"YulFunctionCall","src":"5807:81:67"},"nodeType":"YulIf","src":"5804:107:67"},{"nodeType":"YulAssignment","src":"5921:16:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5932:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"5935:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5928:3:67"},"nodeType":"YulFunctionCall","src":"5928:9:67"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"5921:3:67"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"5669:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"5672:1:67","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"5678:3:67","type":""}],"src":"5638:305:67"},{"body":{"nodeType":"YulBlock","src":"5994:146:67","statements":[{"nodeType":"YulAssignment","src":"6004:25:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"6027:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"6009:17:67"},"nodeType":"YulFunctionCall","src":"6009:20:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"6004:1:67"}]},{"nodeType":"YulAssignment","src":"6038:25:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"6061:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"6043:17:67"},"nodeType":"YulFunctionCall","src":"6043:20:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"6038:1:67"}]},{"body":{"nodeType":"YulBlock","src":"6085:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"6087:16:67"},"nodeType":"YulFunctionCall","src":"6087:18:67"},"nodeType":"YulExpressionStatement","src":"6087:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"6079:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"6082:1:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6076:2:67"},"nodeType":"YulFunctionCall","src":"6076:8:67"},"nodeType":"YulIf","src":"6073:34:67"},{"nodeType":"YulAssignment","src":"6117:17:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"6129:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"6132:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6125:3:67"},"nodeType":"YulFunctionCall","src":"6125:9:67"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"6117:4:67"}]}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"5980:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"5983:1:67","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"5989:4:67","type":""}],"src":"5949:191:67"},{"body":{"nodeType":"YulBlock","src":"6188:48:67","statements":[{"nodeType":"YulAssignment","src":"6198:32:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6223:5:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6216:6:67"},"nodeType":"YulFunctionCall","src":"6216:13:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6209:6:67"},"nodeType":"YulFunctionCall","src":"6209:21:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"6198:7:67"}]}]},"name":"cleanup_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6170:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"6180:7:67","type":""}],"src":"6146:90:67"},{"body":{"nodeType":"YulBlock","src":"6287:32:67","statements":[{"nodeType":"YulAssignment","src":"6297:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"6308:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"6297:7:67"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6269:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"6279:7:67","type":""}],"src":"6242:77:67"},{"body":{"nodeType":"YulBlock","src":"6376:103:67","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6399:3:67"},{"name":"src","nodeType":"YulIdentifier","src":"6404:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"6409:6:67"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"6386:12:67"},"nodeType":"YulFunctionCall","src":"6386:30:67"},"nodeType":"YulExpressionStatement","src":"6386:30:67"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6457:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"6462:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6453:3:67"},"nodeType":"YulFunctionCall","src":"6453:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"6471:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6446:6:67"},"nodeType":"YulFunctionCall","src":"6446:27:67"},"nodeType":"YulExpressionStatement","src":"6446:27:67"}]},"name":"copy_calldata_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"6358:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"6363:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"6368:6:67","type":""}],"src":"6325:154:67"},{"body":{"nodeType":"YulBlock","src":"6534:258:67","statements":[{"nodeType":"YulVariableDeclaration","src":"6544:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"6553:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"6548:1:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"6613:63:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6638:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"6643:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6634:3:67"},"nodeType":"YulFunctionCall","src":"6634:11:67"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"6657:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"6662:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6653:3:67"},"nodeType":"YulFunctionCall","src":"6653:11:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6647:5:67"},"nodeType":"YulFunctionCall","src":"6647:18:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6627:6:67"},"nodeType":"YulFunctionCall","src":"6627:39:67"},"nodeType":"YulExpressionStatement","src":"6627:39:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6574:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"6577:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6571:2:67"},"nodeType":"YulFunctionCall","src":"6571:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"6585:19:67","statements":[{"nodeType":"YulAssignment","src":"6587:15:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6596:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"6599:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6592:3:67"},"nodeType":"YulFunctionCall","src":"6592:10:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"6587:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"6567:3:67","statements":[]},"src":"6563:113:67"},{"body":{"nodeType":"YulBlock","src":"6710:76:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6760:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"6765:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6756:3:67"},"nodeType":"YulFunctionCall","src":"6756:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"6774:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6749:6:67"},"nodeType":"YulFunctionCall","src":"6749:27:67"},"nodeType":"YulExpressionStatement","src":"6749:27:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6691:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"6694:6:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6688:2:67"},"nodeType":"YulFunctionCall","src":"6688:13:67"},"nodeType":"YulIf","src":"6685:101:67"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"6516:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"6521:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"6526:6:67","type":""}],"src":"6485:307:67"},{"body":{"nodeType":"YulBlock","src":"6841:238:67","statements":[{"nodeType":"YulVariableDeclaration","src":"6851:58:67","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"6873:6:67"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"6903:4:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"6881:21:67"},"nodeType":"YulFunctionCall","src":"6881:27:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6869:3:67"},"nodeType":"YulFunctionCall","src":"6869:40:67"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"6855:10:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"7020:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"7022:16:67"},"nodeType":"YulFunctionCall","src":"7022:18:67"},"nodeType":"YulExpressionStatement","src":"7022:18:67"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6963:10:67"},{"kind":"number","nodeType":"YulLiteral","src":"6975:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6960:2:67"},"nodeType":"YulFunctionCall","src":"6960:34:67"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6999:10:67"},{"name":"memPtr","nodeType":"YulIdentifier","src":"7011:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6996:2:67"},"nodeType":"YulFunctionCall","src":"6996:22:67"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"6957:2:67"},"nodeType":"YulFunctionCall","src":"6957:62:67"},"nodeType":"YulIf","src":"6954:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7058:2:67","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"7062:10:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7051:6:67"},"nodeType":"YulFunctionCall","src":"7051:22:67"},"nodeType":"YulExpressionStatement","src":"7051:22:67"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"6827:6:67","type":""},{"name":"size","nodeType":"YulTypedName","src":"6835:4:67","type":""}],"src":"6798:281:67"},{"body":{"nodeType":"YulBlock","src":"7113:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7130:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7133:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7123:6:67"},"nodeType":"YulFunctionCall","src":"7123:88:67"},"nodeType":"YulExpressionStatement","src":"7123:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7227:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"7230:4:67","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7220:6:67"},"nodeType":"YulFunctionCall","src":"7220:15:67"},"nodeType":"YulExpressionStatement","src":"7220:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7251:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7254:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7244:6:67"},"nodeType":"YulFunctionCall","src":"7244:15:67"},"nodeType":"YulExpressionStatement","src":"7244:15:67"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"7085:180:67"},{"body":{"nodeType":"YulBlock","src":"7299:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7316:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7319:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7309:6:67"},"nodeType":"YulFunctionCall","src":"7309:88:67"},"nodeType":"YulExpressionStatement","src":"7309:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7413:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"7416:4:67","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7406:6:67"},"nodeType":"YulFunctionCall","src":"7406:15:67"},"nodeType":"YulExpressionStatement","src":"7406:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7437:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7440:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7430:6:67"},"nodeType":"YulFunctionCall","src":"7430:15:67"},"nodeType":"YulExpressionStatement","src":"7430:15:67"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"7271:180:67"},{"body":{"nodeType":"YulBlock","src":"7546:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7563:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7566:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7556:6:67"},"nodeType":"YulFunctionCall","src":"7556:12:67"},"nodeType":"YulExpressionStatement","src":"7556:12:67"}]},"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulFunctionDefinition","src":"7457:117:67"},{"body":{"nodeType":"YulBlock","src":"7669:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7686:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7689:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7679:6:67"},"nodeType":"YulFunctionCall","src":"7679:12:67"},"nodeType":"YulExpressionStatement","src":"7679:12:67"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"7580:117:67"},{"body":{"nodeType":"YulBlock","src":"7792:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7809:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7812:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7802:6:67"},"nodeType":"YulFunctionCall","src":"7802:12:67"},"nodeType":"YulExpressionStatement","src":"7802:12:67"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulFunctionDefinition","src":"7703:117:67"},{"body":{"nodeType":"YulBlock","src":"7915:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7932:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7935:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7925:6:67"},"nodeType":"YulFunctionCall","src":"7925:12:67"},"nodeType":"YulExpressionStatement","src":"7925:12:67"}]},"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulFunctionDefinition","src":"7826:117:67"},{"body":{"nodeType":"YulBlock","src":"8038:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8055:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8058:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8048:6:67"},"nodeType":"YulFunctionCall","src":"8048:12:67"},"nodeType":"YulExpressionStatement","src":"8048:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"7949:117:67"},{"body":{"nodeType":"YulBlock","src":"8161:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8178:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8181:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8171:6:67"},"nodeType":"YulFunctionCall","src":"8171:12:67"},"nodeType":"YulExpressionStatement","src":"8171:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"8072:117:67"},{"body":{"nodeType":"YulBlock","src":"8243:54:67","statements":[{"nodeType":"YulAssignment","src":"8253:38:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8271:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"8278:2:67","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8267:3:67"},"nodeType":"YulFunctionCall","src":"8267:14:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8287:2:67","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"8283:3:67"},"nodeType":"YulFunctionCall","src":"8283:7:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8263:3:67"},"nodeType":"YulFunctionCall","src":"8263:28:67"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"8253:6:67"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8226:5:67","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"8236:6:67","type":""}],"src":"8195:102:67"},{"body":{"nodeType":"YulBlock","src":"8409:65:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"8431:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"8439:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8427:3:67"},"nodeType":"YulFunctionCall","src":"8427:14:67"},{"hexValue":"54696d6520696e74657276616c206e6f74206d6574","kind":"string","nodeType":"YulLiteral","src":"8443:23:67","type":"","value":"Time interval not met"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8420:6:67"},"nodeType":"YulFunctionCall","src":"8420:47:67"},"nodeType":"YulExpressionStatement","src":"8420:47:67"}]},"name":"store_literal_in_memory_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"8401:6:67","type":""}],"src":"8303:171:67"}]},"contents":"{\n\n    function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n        mstore(array, length)\n        let dst := add(array, 0x20)\n        if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n        copy_calldata_to_memory(src, dst, length)\n    }\n\n    // bytes\n    function abi_decode_t_bytes_calldata_ptr(offset, end) -> arrayPos, length {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        length := calldataload(offset)\n        if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n        arrayPos := add(offset, 0x20)\n        if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n    }\n\n    // bytes\n    function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := calldataload(offset)\n        array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n    }\n\n    function abi_decode_tuple_t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0, value1 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n        mstore(pos, cleanup_t_bool(value))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_stringliteral_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 21)\n        store_literal_in_memory_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint256(value))\n    }\n\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_bool_to_t_bool_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_bool_t_bytes_memory_ptr__to_t_bool_t_bytes_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n        tail := add(headStart, 64)\n\n        abi_encode_t_bool_to_t_bool_fromStack(value0,  add(headStart, 0))\n\n        mstore(add(headStart, 32), sub(tail, headStart))\n        tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value1,  tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function allocate_memory(size) -> memPtr {\n        memPtr := allocate_unbounded()\n        finalize_allocation(memPtr, size)\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := round_up_to_mul_of_32(length)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_length_t_bytes_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function checked_add_t_uint256(x, y) -> sum {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        // overflow, if x > (maxValue - y)\n        if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n        sum := add(x, y)\n    }\n\n    function checked_sub_t_uint256(x, y) -> diff {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        if lt(x, y) { panic_error_0x11() }\n\n        diff := sub(x, y)\n    }\n\n    function cleanup_t_bool(value) -> cleaned {\n        cleaned := iszero(iszero(value))\n    }\n\n    function cleanup_t_uint256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function copy_calldata_to_memory(src, dst, length) {\n        calldatacopy(dst, src, length)\n        // clear end\n        mstore(add(dst, length), 0)\n    }\n\n    function copy_memory_to_memory(src, dst, length) {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        if gt(i, length)\n        {\n            // clear end\n            mstore(add(dst, length), 0)\n        }\n    }\n\n    function finalize_allocation(memPtr, size) {\n        let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n        // protect against overflow\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n\n    function panic_error_0x11() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x41() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n\n    function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n        revert(0, 0)\n    }\n\n    function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n        revert(0, 0)\n    }\n\n    function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n        revert(0, 0)\n    }\n\n    function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n        revert(0, 0)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function round_up_to_mul_of_32(value) -> result {\n        result := and(add(value, 31), not(31))\n    }\n\n    function store_literal_in_memory_9691625a4472b919cd74f439acf082863d1736c3c84eca30d528853ac95bc0b4(memPtr) {\n\n        mstore(add(memPtr, 0), \"Time interval not met\")\n\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"3445":[{"length":32,"start":444},{"length":32,"start":511}]},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100625760003560e01c80633f3b3b27146100675780634585e33b1461008557806361bc221a146100a15780636e04ff0d146100bf5780637d1b7ebd146100f0578063947a36fb1461010e575b600080fd5b61006f61012c565b60405161007c9190610462565b60405180910390f35b61009f600480360381019061009a91906102e7565b610132565b005b6100a96101b0565b6040516100b69190610462565b60405180910390f35b6100d960048036038101906100d49190610334565b6101b6565b6040516100e7929190610412565b60405180910390f35b6100f86101f1565b60405161010591906103f7565b60405180910390f35b6101166101fd565b6040516101239190610462565b60405180910390f35b60015481565b600061014c604051806020016040528060008152506101b6565b5090508061018f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161018690610442565b60405180910390fd5b4260018190555060016000546101a59190610500565b600081905550505050565b60005481565b600060607f0000000000000000000000000000000000000000000000000000000000000000600154426101e99190610556565b119150915091565b60008060005414905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061023461022f846104a2565b61047d565b9050828152602081018484840111156102505761024f610680565b5b61025b8482856105a0565b509392505050565b60008083601f84011261027957610278610676565b5b8235905067ffffffffffffffff81111561029657610295610671565b5b6020830191508360018202830111156102b2576102b161067b565b5b9250929050565b600082601f8301126102ce576102cd610676565b5b81356102de848260208601610221565b91505092915050565b600080602083850312156102fe576102fd61068a565b5b600083013567ffffffffffffffff81111561031c5761031b610685565b5b61032885828601610263565b92509250509250929050565b60006020828403121561034a5761034961068a565b5b600082013567ffffffffffffffff81111561036857610367610685565b5b610374848285016102b9565b91505092915050565b6103868161058a565b82525050565b6000610397826104d3565b6103a181856104de565b93506103b18185602086016105af565b6103ba8161068f565b840191505092915050565b60006103d26015836104ef565b91506103dd826106a0565b602082019050919050565b6103f181610596565b82525050565b600060208201905061040c600083018461037d565b92915050565b6000604082019050610427600083018561037d565b8181036020830152610439818461038c565b90509392505050565b6000602082019050818103600083015261045b816103c5565b9050919050565b600060208201905061047760008301846103e8565b92915050565b6000610487610498565b905061049382826105e2565b919050565b6000604051905090565b600067ffffffffffffffff8211156104bd576104bc610642565b5b6104c68261068f565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061050b82610596565b915061051683610596565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561054b5761054a610613565b5b828201905092915050565b600061056182610596565b915061056c83610596565b92508282101561057f5761057e610613565b5b828203905092915050565b60008115159050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156105cd5780820151818401526020810190506105b2565b838111156105dc576000848401525b50505050565b6105eb8261068f565b810181811067ffffffffffffffff8211171561060a57610609610642565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f54696d6520696e74657276616c206e6f74206d6574000000000000000000000060008201525056fea2646970667358221220b1ef64744117ff639594fa94f6f57e3e6b0f03d37b94ac14d90d4f898ec2781264736f6c63430008070033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3F3B3B27 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x4585E33B EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x61BC221A EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0x6E04FF0D EQ PUSH2 0xBF JUMPI DUP1 PUSH4 0x7D1B7EBD EQ PUSH2 0xF0 JUMPI DUP1 PUSH4 0x947A36FB EQ PUSH2 0x10E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x12C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x462 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x2E7 JUMP JUMPDEST PUSH2 0x132 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xA9 PUSH2 0x1B0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB6 SWAP2 SWAP1 PUSH2 0x462 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD4 SWAP2 SWAP1 PUSH2 0x334 JUMP JUMPDEST PUSH2 0x1B6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP3 SWAP2 SWAP1 PUSH2 0x412 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF8 PUSH2 0x1F1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x105 SWAP2 SWAP1 PUSH2 0x3F7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x116 PUSH2 0x1FD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x123 SWAP2 SWAP1 PUSH2 0x462 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14C PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x1B6 JUMP JUMPDEST POP SWAP1 POP DUP1 PUSH2 0x18F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x186 SWAP1 PUSH2 0x442 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST TIMESTAMP PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 SLOAD PUSH2 0x1A5 SWAP2 SWAP1 PUSH2 0x500 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH32 0x0 PUSH1 0x1 SLOAD TIMESTAMP PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x556 JUMP JUMPDEST GT SWAP2 POP SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SLOAD EQ SWAP1 POP SWAP1 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x234 PUSH2 0x22F DUP5 PUSH2 0x4A2 JUMP JUMPDEST PUSH2 0x47D JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x250 JUMPI PUSH2 0x24F PUSH2 0x680 JUMP JUMPDEST JUMPDEST PUSH2 0x25B DUP5 DUP3 DUP6 PUSH2 0x5A0 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x279 JUMPI PUSH2 0x278 PUSH2 0x676 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x296 JUMPI PUSH2 0x295 PUSH2 0x671 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x2B2 JUMPI PUSH2 0x2B1 PUSH2 0x67B JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2CE JUMPI PUSH2 0x2CD PUSH2 0x676 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2DE DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x221 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2FE JUMPI PUSH2 0x2FD PUSH2 0x68A JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x31C JUMPI PUSH2 0x31B PUSH2 0x685 JUMP JUMPDEST JUMPDEST PUSH2 0x328 DUP6 DUP3 DUP7 ADD PUSH2 0x263 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x34A JUMPI PUSH2 0x349 PUSH2 0x68A JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x368 JUMPI PUSH2 0x367 PUSH2 0x685 JUMP JUMPDEST JUMPDEST PUSH2 0x374 DUP5 DUP3 DUP6 ADD PUSH2 0x2B9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x386 DUP2 PUSH2 0x58A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x397 DUP3 PUSH2 0x4D3 JUMP JUMPDEST PUSH2 0x3A1 DUP2 DUP6 PUSH2 0x4DE JUMP JUMPDEST SWAP4 POP PUSH2 0x3B1 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x5AF JUMP JUMPDEST PUSH2 0x3BA DUP2 PUSH2 0x68F JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3D2 PUSH1 0x15 DUP4 PUSH2 0x4EF JUMP JUMPDEST SWAP2 POP PUSH2 0x3DD DUP3 PUSH2 0x6A0 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3F1 DUP2 PUSH2 0x596 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x40C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x37D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x427 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x37D JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x439 DUP2 DUP5 PUSH2 0x38C JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x45B DUP2 PUSH2 0x3C5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x477 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3E8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x487 PUSH2 0x498 JUMP JUMPDEST SWAP1 POP PUSH2 0x493 DUP3 DUP3 PUSH2 0x5E2 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x4BD JUMPI PUSH2 0x4BC PUSH2 0x642 JUMP JUMPDEST JUMPDEST PUSH2 0x4C6 DUP3 PUSH2 0x68F JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x50B DUP3 PUSH2 0x596 JUMP JUMPDEST SWAP2 POP PUSH2 0x516 DUP4 PUSH2 0x596 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x54B JUMPI PUSH2 0x54A PUSH2 0x613 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x561 DUP3 PUSH2 0x596 JUMP JUMPDEST SWAP2 POP PUSH2 0x56C DUP4 PUSH2 0x596 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x57F JUMPI PUSH2 0x57E PUSH2 0x613 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5CD JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x5B2 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x5DC JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x5EB DUP3 PUSH2 0x68F JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x60A JUMPI PUSH2 0x609 PUSH2 0x642 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x54696D6520696E74657276616C206E6F74206D65740000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB1 0xEF PUSH5 0x744117FF63 SWAP6 SWAP5 STATICCALL SWAP5 0xF6 CREATE2 PUSH31 0x3E6B0F03D37B94AC14D90D4F898EC2781264736F6C63430008070033000000 ","sourceMap":"93:203:26:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;526:28:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1424:411;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;374:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;973:354;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;193:101:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;489:33:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;526:28;;;;:::o;1424:411::-;1543:17;1566:15;;;;;;;;;;;;;:11;:15::i;:::-;1542:39;;;1595:12;1587:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1656:15;1640:13;:31;;;;1697:1;1687:7;;:11;;;;:::i;:::-;1677:7;:21;;;;1507:328;1424:411;;:::o;374:22::-;;;;:::o;973:354::-;1085:17;1110:12;1206:8;1189:13;;1171:15;:31;;;;:::i;:::-;1170:44;1155:59;;973:354;;;:::o;193:101:26:-;258:4;288:1;277:7;;:12;270:19;;193:101;:::o;489:33:18:-;;;:::o;7:410:67:-;84:5;109:65;125:48;166:6;125:48;:::i;:::-;109:65;:::i;:::-;100:74;;197:6;190:5;183:21;235:4;228:5;224:16;273:3;264:6;259:3;255:16;252:25;249:112;;;280:79;;:::i;:::-;249:112;370:41;404:6;399:3;394;370:41;:::i;:::-;90:327;7:410;;;;;:::o;436:552::-;493:8;503:6;553:3;546:4;538:6;534:17;530:27;520:122;;561:79;;:::i;:::-;520:122;674:6;661:20;651:30;;704:18;696:6;693:30;690:117;;;726:79;;:::i;:::-;690:117;840:4;832:6;828:17;816:29;;894:3;886:4;878:6;874:17;864:8;860:32;857:41;854:128;;;901:79;;:::i;:::-;854:128;436:552;;;;;:::o;1007:338::-;1062:5;1111:3;1104:4;1096:6;1092:17;1088:27;1078:122;;1119:79;;:::i;:::-;1078:122;1236:6;1223:20;1261:78;1335:3;1327:6;1320:4;1312:6;1308:17;1261:78;:::i;:::-;1252:87;;1068:277;1007:338;;;;:::o;1351:527::-;1421:6;1429;1478:2;1466:9;1457:7;1453:23;1449:32;1446:119;;;1484:79;;:::i;:::-;1446:119;1632:1;1621:9;1617:17;1604:31;1662:18;1654:6;1651:30;1648:117;;;1684:79;;:::i;:::-;1648:117;1797:64;1853:7;1844:6;1833:9;1829:22;1797:64;:::i;:::-;1779:82;;;;1575:296;1351:527;;;;;:::o;1884:507::-;1952:6;2001:2;1989:9;1980:7;1976:23;1972:32;1969:119;;;2007:79;;:::i;:::-;1969:119;2155:1;2144:9;2140:17;2127:31;2185:18;2177:6;2174:30;2171:117;;;2207:79;;:::i;:::-;2171:117;2312:62;2366:7;2357:6;2346:9;2342:22;2312:62;:::i;:::-;2302:72;;2098:286;1884:507;;;;:::o;2397:109::-;2478:21;2493:5;2478:21;:::i;:::-;2473:3;2466:34;2397:109;;:::o;2512:360::-;2598:3;2626:38;2658:5;2626:38;:::i;:::-;2680:70;2743:6;2738:3;2680:70;:::i;:::-;2673:77;;2759:52;2804:6;2799:3;2792:4;2785:5;2781:16;2759:52;:::i;:::-;2836:29;2858:6;2836:29;:::i;:::-;2831:3;2827:39;2820:46;;2602:270;2512:360;;;;:::o;2878:366::-;3020:3;3041:67;3105:2;3100:3;3041:67;:::i;:::-;3034:74;;3117:93;3206:3;3117:93;:::i;:::-;3235:2;3230:3;3226:12;3219:19;;2878:366;;;:::o;3250:118::-;3337:24;3355:5;3337:24;:::i;:::-;3332:3;3325:37;3250:118;;:::o;3374:210::-;3461:4;3499:2;3488:9;3484:18;3476:26;;3512:65;3574:1;3563:9;3559:17;3550:6;3512:65;:::i;:::-;3374:210;;;;:::o;3590:407::-;3723:4;3761:2;3750:9;3746:18;3738:26;;3774:65;3836:1;3825:9;3821:17;3812:6;3774:65;:::i;:::-;3886:9;3880:4;3876:20;3871:2;3860:9;3856:18;3849:48;3914:76;3985:4;3976:6;3914:76;:::i;:::-;3906:84;;3590:407;;;;;:::o;4003:419::-;4169:4;4207:2;4196:9;4192:18;4184:26;;4256:9;4250:4;4246:20;4242:1;4231:9;4227:17;4220:47;4284:131;4410:4;4284:131;:::i;:::-;4276:139;;4003:419;;;:::o;4428:222::-;4521:4;4559:2;4548:9;4544:18;4536:26;;4572:71;4640:1;4629:9;4625:17;4616:6;4572:71;:::i;:::-;4428:222;;;;:::o;4656:129::-;4690:6;4717:20;;:::i;:::-;4707:30;;4746:33;4774:4;4766:6;4746:33;:::i;:::-;4656:129;;;:::o;4791:75::-;4824:6;4857:2;4851:9;4841:19;;4791:75;:::o;4872:307::-;4933:4;5023:18;5015:6;5012:30;5009:56;;;5045:18;;:::i;:::-;5009:56;5083:29;5105:6;5083:29;:::i;:::-;5075:37;;5167:4;5161;5157:15;5149:23;;4872:307;;;:::o;5185:98::-;5236:6;5270:5;5264:12;5254:22;;5185:98;;;:::o;5289:168::-;5372:11;5406:6;5401:3;5394:19;5446:4;5441:3;5437:14;5422:29;;5289:168;;;;:::o;5463:169::-;5547:11;5581:6;5576:3;5569:19;5621:4;5616:3;5612:14;5597:29;;5463:169;;;;:::o;5638:305::-;5678:3;5697:20;5715:1;5697:20;:::i;:::-;5692:25;;5731:20;5749:1;5731:20;:::i;:::-;5726:25;;5885:1;5817:66;5813:74;5810:1;5807:81;5804:107;;;5891:18;;:::i;:::-;5804:107;5935:1;5932;5928:9;5921:16;;5638:305;;;;:::o;5949:191::-;5989:4;6009:20;6027:1;6009:20;:::i;:::-;6004:25;;6043:20;6061:1;6043:20;:::i;:::-;6038:25;;6082:1;6079;6076:8;6073:34;;;6087:18;;:::i;:::-;6073:34;6132:1;6129;6125:9;6117:17;;5949:191;;;;:::o;6146:90::-;6180:7;6223:5;6216:13;6209:21;6198:32;;6146:90;;;:::o;6242:77::-;6279:7;6308:5;6297:16;;6242:77;;;:::o;6325:154::-;6409:6;6404:3;6399;6386:30;6471:1;6462:6;6457:3;6453:16;6446:27;6325:154;;;:::o;6485:307::-;6553:1;6563:113;6577:6;6574:1;6571:13;6563:113;;;6662:1;6657:3;6653:11;6647:18;6643:1;6638:3;6634:11;6627:39;6599:2;6596:1;6592:10;6587:15;;6563:113;;;6694:6;6691:1;6688:13;6685:101;;;6774:1;6765:6;6760:3;6756:16;6749:27;6685:101;6534:258;6485:307;;;:::o;6798:281::-;6881:27;6903:4;6881:27;:::i;:::-;6873:6;6869:40;7011:6;6999:10;6996:22;6975:18;6963:10;6960:34;6957:62;6954:88;;;7022:18;;:::i;:::-;6954:88;7062:10;7058:2;7051:22;6841:238;6798:281;;:::o;7085:180::-;7133:77;7130:1;7123:88;7230:4;7227:1;7220:15;7254:4;7251:1;7244:15;7271:180;7319:77;7316:1;7309:88;7416:4;7413:1;7406:15;7440:4;7437:1;7430:15;7457:117;7566:1;7563;7556:12;7580:117;7689:1;7686;7679:12;7703:117;7812:1;7809;7802:12;7826:117;7935:1;7932;7925:12;7949:117;8058:1;8055;8048:12;8072:117;8181:1;8178;8171:12;8195:102;8236:6;8287:2;8283:7;8278:2;8271:5;8267:14;8263:28;8253:38;;8195:102;;;:::o;8303:171::-;8443:23;8439:1;8431:6;8427:14;8420:47;8303:171;:::o"},"gasEstimates":{"creation":{"codeDepositCost":"358200","executionCost":"infinite","totalCost":"infinite"},"external":{"checkUpkeep(bytes)":"infinite","counter()":"2451","echidna_test_perform_upkeep_gate()":"2515","interval()":"infinite","lastTimeStamp()":"2407","performUpkeep(bytes)":"infinite"}},"methodIdentifiers":{"checkUpkeep(bytes)":"6e04ff0d","counter()":"61bc221a","echidna_test_perform_upkeep_gate()":"7d1b7ebd","interval()":"947a36fb","lastTimeStamp()":"3f3b3b27","performUpkeep(bytes)":"4585e33b"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"checkUpkeep\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"upkeepNeeded\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"counter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"echidna_test_perform_upkeep_gate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"interval\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastTimeStamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"performUpkeep\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"checkUpkeep(bytes)\":{\"notice\":\"Checks if the contract requires work to be done\"},\"counter()\":{\"notice\":\"Public counter variable\"},\"interval()\":{\"notice\":\"Use an interval in seconds and a timestamp to slow execution of Upkeep\"},\"performUpkeep(bytes)\":{\"notice\":\"Performs the work on the contract, if instructed by :checkUpkeep():\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/fuzzing/KeepersCounterEchidnaTest.sol\":\"KeepersCounterEchidnaTest\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/interfaces/KeeperCompatibleInterface.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\ninterface KeeperCompatibleInterface {\\n  /**\\n   * @notice method that is simulated by the keepers to see if any work actually\\n   * needs to be performed. This method does does not actually need to be\\n   * executable, and since it is only ever simulated it can consume lots of gas.\\n   * @dev To ensure that it is never called, you may want to add the\\n   * cannotExecute modifier from KeeperBase to your implementation of this\\n   * method.\\n   * @param checkData specified in the upkeep registration so it is always the\\n   * same for a registered upkeep. This can easily be broken down into specific\\n   * arguments using `abi.decode`, so multiple upkeeps can be registered on the\\n   * same contract and easily differentiated by the contract.\\n   * @return upkeepNeeded boolean to indicate whether the keeper should call\\n   * performUpkeep or not.\\n   * @return performData bytes that the keeper should call performUpkeep with, if\\n   * upkeep is needed. If you would like to encode data to decode later, try\\n   * `abi.encode`.\\n   */\\n  function checkUpkeep(bytes calldata checkData) external returns (bool upkeepNeeded, bytes memory performData);\\n\\n  /**\\n   * @notice method that is actually executed by the keepers, via the registry.\\n   * The data returned by the checkUpkeep simulation will be passed into\\n   * this method to actually be executed.\\n   * @dev The input to this method should not be trusted, and the caller of the\\n   * method should not even be restricted to any single registry. Anyone should\\n   * be able call it, and the input should be validated, there is no guarantee\\n   * that the data passed in is the performData returned from checkUpkeep. This\\n   * could happen due to malicious keepers, racing keepers, or simply a state\\n   * change while the performUpkeep transaction is waiting for confirmation.\\n   * Always validate the data passed in.\\n   * @param performData is the data which was passed back from the checkData\\n   * simulation. If it is encoded, it can easily be decoded into other types by\\n   * calling `abi.decode`. This data should not be trusted, and should be\\n   * validated against the contract's current state.\\n   */\\n  function performUpkeep(bytes calldata performData) external;\\n}\\n\",\"keccak256\":\"0xb6577cda6b731b655aebcb6e3c24f8658d3f4c5eda07200622d07d4570af33ea\",\"license\":\"MIT\"},\"contracts/KeepersCounter.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.7;\\n\\nimport \\\"@chainlink/contracts/src/v0.8/interfaces/KeeperCompatibleInterface.sol\\\";\\n\\n/**\\n * @title The Counter contract\\n * @notice  A keeper-compatible contract that increments counter variable at fixed time intervals\\n */\\ncontract KeepersCounter is KeeperCompatibleInterface {\\n  /**\\n   * Public counter variable\\n   */\\n  uint256 public counter;\\n\\n  /**\\n   * Use an interval in seconds and a timestamp to slow execution of Upkeep\\n   */\\n  uint256 public immutable interval;\\n  uint256 public lastTimeStamp;\\n\\n  /**\\n   * @notice Executes once when a contract is created to initialize state variables\\n   *\\n   * @param updateInterval - Period of time between two counter increments expressed as UNIX timestamp value\\n   */\\n  constructor(uint256 updateInterval) {\\n    interval = updateInterval;\\n    lastTimeStamp = block.timestamp;\\n\\n    counter = 0;\\n  }\\n\\n  /**\\n   * @notice Checks if the contract requires work to be done\\n   */\\n  function checkUpkeep(\\n    bytes memory /* checkData */\\n  )\\n    public\\n    view\\n    override\\n    returns (\\n      bool upkeepNeeded,\\n      bytes memory /* performData */\\n    )\\n  {\\n    upkeepNeeded = (block.timestamp - lastTimeStamp) > interval;\\n    // We don't use the checkData in this example. The checkData is defined when the Upkeep was registered.\\n  }\\n\\n  /**\\n   * @notice Performs the work on the contract, if instructed by :checkUpkeep():\\n   */\\n  function performUpkeep(\\n    bytes calldata /* performData */\\n  ) external override {\\n    // add some verification\\n    (bool upkeepNeeded, ) = checkUpkeep(\\\"\\\");\\n    require(upkeepNeeded, \\\"Time interval not met\\\");\\n\\n    lastTimeStamp = block.timestamp;\\n    counter = counter + 1;\\n    // We don't use the performData in this example. The performData is generated by the Keeper's call to your checkUpkeep function\\n  }\\n}\\n\",\"keccak256\":\"0x787be83dd1c463644a70933146ade725793bbae4ba115e3c78836c94edd80f54\",\"license\":\"MIT\"},\"contracts/test/fuzzing/KeepersCounterEchidnaTest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.7;\\n\\nimport \\\"../../KeepersCounter.sol\\\";\\n\\ncontract KeepersCounterEchidnaTest is KeepersCounter {\\n  constructor() KeepersCounter(8 days) {}\\n\\n  function echidna_test_perform_upkeep_gate() public view returns (bool) {\\n    return counter == 0;\\n  }\\n}\\n\",\"keccak256\":\"0xa7b80f97f8e3789e4f3dcf886b01f88f447209b6f2ee0cb4adb75e6fdb9b70e5\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[{"astId":3442,"contract":"contracts/test/fuzzing/KeepersCounterEchidnaTest.sol:KeepersCounterEchidnaTest","label":"counter","offset":0,"slot":"0","type":"t_uint256"},{"astId":3447,"contract":"contracts/test/fuzzing/KeepersCounterEchidnaTest.sol:KeepersCounterEchidnaTest","label":"lastTimeStamp","offset":0,"slot":"1","type":"t_uint256"}],"types":{"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"userdoc":{"kind":"user","methods":{"checkUpkeep(bytes)":{"notice":"Checks if the contract requires work to be done"},"counter()":{"notice":"Public counter variable"},"interval()":{"notice":"Use an interval in seconds and a timestamp to slow execution of Upkeep"},"performUpkeep(bytes)":{"notice":"Performs the work on the contract, if instructed by :checkUpkeep():"}},"version":1}}},"contracts/witnet-requests/coinPrice.sol":{"coinPriceRequest":{"abi":[{"inputs":[],"name":"bytecode","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"_bytecode","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b50610840806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806309bd5a6014610051578063439fab911461006f5780638129fc1c1461008b578063f094000214610095575b600080fd5b6100596100b3565b604051610066919061048e565b60405180910390f35b61008960048036038101906100849190610392565b6100b9565b005b610093610132565b005b61009d610156565b6040516100aa91906104a9565b60405180910390f35b60015481565b60008080546100c7906105c5565b905014610109576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610100906104cb565b60405180910390fd5b806000908051906020019061011f92919061023d565b50610129816101e4565b60018190555050565b61015460405180610120016040528060f9815260200161071260f991396100b9565b565b60008054610163906105c5565b80601f016020809104026020016040519081016040528092919081815260200182805461018f906105c5565b80156101dc5780601f106101b1576101008083540402835291602001916101dc565b820191906000526020600020905b8154815290600101906020018083116101bf57829003601f168201915b505050505081565b60006002826040516101f69190610477565b602060405180830381855afa158015610213573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906102369190610365565b9050919050565b828054610249906105c5565b90600052602060002090601f01602090048101928261026b57600085556102b2565b82601f1061028457805160ff19168380011785556102b2565b828001600101855582156102b2579182015b828111156102b1578251825591602001919060010190610296565b5b5090506102bf91906102c3565b5090565b5b808211156102dc5760008160009055506001016102c4565b5090565b60006102f36102ee84610510565b6104eb565b90508281526020810184848401111561030f5761030e61068b565b5b61031a848285610583565b509392505050565b600081519050610331816106fa565b92915050565b600082601f83011261034c5761034b610686565b5b813561035c8482602086016102e0565b91505092915050565b60006020828403121561037b5761037a610695565b5b600061038984828501610322565b91505092915050565b6000602082840312156103a8576103a7610695565b5b600082013567ffffffffffffffff8111156103c6576103c5610690565b5b6103d284828501610337565b91505092915050565b6103e481610579565b82525050565b60006103f582610541565b6103ff818561054c565b935061040f818560208601610592565b6104188161069a565b840191505092915050565b600061042e82610541565b610438818561055d565b9350610448818560208601610592565b80840191505092915050565b6000610461603683610568565b915061046c826106ab565b604082019050919050565b60006104838284610423565b915081905092915050565b60006020820190506104a360008301846103db565b92915050565b600060208201905081810360008301526104c381846103ea565b905092915050565b600060208201905081810360008301526104e481610454565b9050919050565b60006104f5610506565b905061050182826105f7565b919050565b6000604051905090565b600067ffffffffffffffff82111561052b5761052a610657565b5b6105348261069a565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000819050919050565b82818337600083830152505050565b60005b838110156105b0578082015181840152602081019050610595565b838111156105bf576000848401525b50505050565b600060028204905060018216806105dd57607f821691505b602082108114156105f1576105f0610628565b5b50919050565b6106008261069a565b810181811067ffffffffffffffff8211171561061f5761061e610657565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f5769746e657452657175657374496e697469616c697a61626c65426173653a2060008201527f63616e6e6f74206368616e67652062797465636f646500000000000000000000602082015250565b61070381610579565b811461070e57600080fd5b5056fe0adf01125a0801124068747470733a2f2f6d696e2d6170692e63727970746f636f6d706172652e636f6d2f646174612f70726963653f6673796d3d4b4c4159267473796d733d5553441a14841877821864635553448218571a000f4240185b12630801123868747470733a2f2f6170692e636f696e626173652e636f6d2f76322f65786368616e67652d72617465733f63757272656e63793d4b4c41591a258618778218666464617461821866657261746573821864635553448218571a000f4240185b1a0d0a0908051205fa3fc000001003220d0a0908051205fa4020000010031080e497d012180a208094ebdc0328333080e8eda1ba01a2646970667358221220f601a4842b7780a1bd7cbd78f1b3314aee34ed123f86fc14da575a1ad2d6cebe64736f6c63430008070033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x840 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9BD5A60 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x439FAB91 EQ PUSH2 0x6F JUMPI DUP1 PUSH4 0x8129FC1C EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0xF0940002 EQ PUSH2 0x95 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0xB3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x48E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x89 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x84 SWAP2 SWAP1 PUSH2 0x392 JUMP JUMPDEST PUSH2 0xB9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x93 PUSH2 0x132 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9D PUSH2 0x156 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAA SWAP2 SWAP1 PUSH2 0x4A9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 SLOAD PUSH2 0xC7 SWAP1 PUSH2 0x5C5 JUMP JUMPDEST SWAP1 POP EQ PUSH2 0x109 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x100 SWAP1 PUSH2 0x4CB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x11F SWAP3 SWAP2 SWAP1 PUSH2 0x23D JUMP JUMPDEST POP PUSH2 0x129 DUP2 PUSH2 0x1E4 JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH2 0x154 PUSH1 0x40 MLOAD DUP1 PUSH2 0x120 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF9 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x712 PUSH1 0xF9 SWAP2 CODECOPY PUSH2 0xB9 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x163 SWAP1 PUSH2 0x5C5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x18F SWAP1 PUSH2 0x5C5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1DC JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1B1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1DC JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1BF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 PUSH1 0x40 MLOAD PUSH2 0x1F6 SWAP2 SWAP1 PUSH2 0x477 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x213 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST 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 0x236 SWAP2 SWAP1 PUSH2 0x365 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x249 SWAP1 PUSH2 0x5C5 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x26B JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x2B2 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x284 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x2B2 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x2B2 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x2B1 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x296 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x2BF SWAP2 SWAP1 PUSH2 0x2C3 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x2DC JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x2C4 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F3 PUSH2 0x2EE DUP5 PUSH2 0x510 JUMP JUMPDEST PUSH2 0x4EB JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x30F JUMPI PUSH2 0x30E PUSH2 0x68B JUMP JUMPDEST JUMPDEST PUSH2 0x31A DUP5 DUP3 DUP6 PUSH2 0x583 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x331 DUP2 PUSH2 0x6FA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x34C JUMPI PUSH2 0x34B PUSH2 0x686 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x35C DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2E0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x37B JUMPI PUSH2 0x37A PUSH2 0x695 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x389 DUP5 DUP3 DUP6 ADD PUSH2 0x322 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3A8 JUMPI PUSH2 0x3A7 PUSH2 0x695 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3C6 JUMPI PUSH2 0x3C5 PUSH2 0x690 JUMP JUMPDEST JUMPDEST PUSH2 0x3D2 DUP5 DUP3 DUP6 ADD PUSH2 0x337 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3E4 DUP2 PUSH2 0x579 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3F5 DUP3 PUSH2 0x541 JUMP JUMPDEST PUSH2 0x3FF DUP2 DUP6 PUSH2 0x54C JUMP JUMPDEST SWAP4 POP PUSH2 0x40F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x592 JUMP JUMPDEST PUSH2 0x418 DUP2 PUSH2 0x69A JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x42E DUP3 PUSH2 0x541 JUMP JUMPDEST PUSH2 0x438 DUP2 DUP6 PUSH2 0x55D JUMP JUMPDEST SWAP4 POP PUSH2 0x448 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x592 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x461 PUSH1 0x36 DUP4 PUSH2 0x568 JUMP JUMPDEST SWAP2 POP PUSH2 0x46C DUP3 PUSH2 0x6AB JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x483 DUP3 DUP5 PUSH2 0x423 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x4A3 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3DB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x4C3 DUP2 DUP5 PUSH2 0x3EA JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x4E4 DUP2 PUSH2 0x454 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4F5 PUSH2 0x506 JUMP JUMPDEST SWAP1 POP PUSH2 0x501 DUP3 DUP3 PUSH2 0x5F7 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x52B JUMPI PUSH2 0x52A PUSH2 0x657 JUMP JUMPDEST JUMPDEST PUSH2 0x534 DUP3 PUSH2 0x69A JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5B0 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x595 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x5BF JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x5DD JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x5F1 JUMPI PUSH2 0x5F0 PUSH2 0x628 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x600 DUP3 PUSH2 0x69A JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x61F JUMPI PUSH2 0x61E PUSH2 0x657 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374496E697469616C697A61626C65426173653A20 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x63616E6E6F74206368616E67652062797465636F646500000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x703 DUP2 PUSH2 0x579 JUMP JUMPDEST DUP2 EQ PUSH2 0x70E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID EXP 0xDF ADD SLT GAS ADDMOD ADD SLT BLOCKHASH PUSH9 0x747470733A2F2F6D69 PUSH15 0x2D6170692E63727970746F636F6D70 PUSH2 0x7265 0x2E PUSH4 0x6F6D2F64 PUSH2 0x7461 0x2F PUSH17 0x726963653F6673796D3D4B4C4159267473 PUSH26 0x6D733D5553441A14841877821864635553448218571A000F4240 XOR JUMPDEST SLT PUSH4 0x8011238 PUSH9 0x747470733A2F2F6170 PUSH10 0x2E636F696E626173652E PUSH4 0x6F6D2F76 ORIGIN 0x2F PUSH6 0x786368616E67 PUSH6 0x2D7261746573 EXTCODEHASH PUSH4 0x75727265 PUSH15 0x63793D4B4C41591A25861877821866 PUSH5 0x6461746182 XOR PUSH7 0x65726174657382 XOR PUSH5 0x6355534482 XOR JUMPI BYTE STOP 0xF TIMESTAMP BLOCKHASH XOR JUMPDEST BYTE 0xD EXP MULMOD ADDMOD SDIV SLT SDIV STATICCALL EXTCODEHASH 0xC0 STOP STOP LT SUB 0x22 0xD EXP MULMOD ADDMOD SDIV SLT SDIV STATICCALL BLOCKHASH KECCAK256 STOP STOP LT SUB LT DUP1 0xE4 SWAP8 0xD0 SLT XOR EXP KECCAK256 DUP1 SWAP5 0xEB 0xDC SUB 0x28 CALLER ADDRESS DUP1 0xE8 0xED LOG1 0xBA ADD LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF6 ADD LOG4 DUP5 0x2B PUSH24 0x80A1BD7CBD78F1B3314AEE34ED123F86FC14DA575A1AD2D6 0xCE 0xBE PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ","sourceMap":"561:652:27:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@bytecode_11946":{"entryPoint":342,"id":11946,"parameterSlots":0,"returnSlots":0},"@hash_11950":{"entryPoint":179,"id":11950,"parameterSlots":0,"returnSlots":0},"@hash_7982":{"entryPoint":484,"id":7982,"parameterSlots":1,"returnSlots":1},"@initialize_11987":{"entryPoint":185,"id":11987,"parameterSlots":1,"returnSlots":0},"@initialize_3912":{"entryPoint":306,"id":3912,"parameterSlots":0,"returnSlots":0},"abi_decode_available_length_t_bytes_memory_ptr":{"entryPoint":736,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_bytes32_fromMemory":{"entryPoint":802,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes_memory_ptr":{"entryPoint":823,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":869,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes_memory_ptr":{"entryPoint":914,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes32_to_t_bytes32_fromStack":{"entryPoint":987,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack":{"entryPoint":1002,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":1059,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_stringliteral_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5_to_t_string_memory_ptr_fromStack":{"entryPoint":1108,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":1143,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":1166,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":1193,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":1227,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_memory":{"entryPoint":1259,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":1286,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_bytes_memory_ptr":{"entryPoint":1296,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_bytes_memory_ptr":{"entryPoint":1345,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack":{"entryPoint":1356,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":1373,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_fromStack":{"entryPoint":1384,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":1401,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory":{"entryPoint":1411,"id":null,"parameterSlots":3,"returnSlots":0},"copy_memory_to_memory":{"entryPoint":1426,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":1477,"id":null,"parameterSlots":1,"returnSlots":1},"finalize_allocation":{"entryPoint":1527,"id":null,"parameterSlots":2,"returnSlots":0},"panic_error_0x22":{"entryPoint":1576,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":1623,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":1670,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae":{"entryPoint":1675,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":1680,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":1685,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":1690,"id":null,"parameterSlots":1,"returnSlots":1},"store_literal_in_memory_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5":{"entryPoint":1707,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":1786,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:7933:67","statements":[{"body":{"nodeType":"YulBlock","src":"90:327:67","statements":[{"nodeType":"YulAssignment","src":"100:74:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"166:6:67"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"125:40:67"},"nodeType":"YulFunctionCall","src":"125:48:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"109:15:67"},"nodeType":"YulFunctionCall","src":"109:65:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"100:5:67"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"190:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"197:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"183:6:67"},"nodeType":"YulFunctionCall","src":"183:21:67"},"nodeType":"YulExpressionStatement","src":"183:21:67"},{"nodeType":"YulVariableDeclaration","src":"213:27:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"228:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"235:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"224:3:67"},"nodeType":"YulFunctionCall","src":"224:16:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"217:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"278:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulIdentifier","src":"280:77:67"},"nodeType":"YulFunctionCall","src":"280:79:67"},"nodeType":"YulExpressionStatement","src":"280:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"259:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"264:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"255:3:67"},"nodeType":"YulFunctionCall","src":"255:16:67"},{"name":"end","nodeType":"YulIdentifier","src":"273:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"252:2:67"},"nodeType":"YulFunctionCall","src":"252:25:67"},"nodeType":"YulIf","src":"249:112:67"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"394:3:67"},{"name":"dst","nodeType":"YulIdentifier","src":"399:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"404:6:67"}],"functionName":{"name":"copy_calldata_to_memory","nodeType":"YulIdentifier","src":"370:23:67"},"nodeType":"YulFunctionCall","src":"370:41:67"},"nodeType":"YulExpressionStatement","src":"370:41:67"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"63:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"68:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"76:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"84:5:67","type":""}],"src":"7:410:67"},{"body":{"nodeType":"YulBlock","src":"486:80:67","statements":[{"nodeType":"YulAssignment","src":"496:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"511:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"505:5:67"},"nodeType":"YulFunctionCall","src":"505:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"496:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"554:5:67"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"527:26:67"},"nodeType":"YulFunctionCall","src":"527:33:67"},"nodeType":"YulExpressionStatement","src":"527:33:67"}]},"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"464:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"472:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"480:5:67","type":""}],"src":"423:143:67"},{"body":{"nodeType":"YulBlock","src":"646:277:67","statements":[{"body":{"nodeType":"YulBlock","src":"695:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"697:77:67"},"nodeType":"YulFunctionCall","src":"697:79:67"},"nodeType":"YulExpressionStatement","src":"697:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"674:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"682:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"670:3:67"},"nodeType":"YulFunctionCall","src":"670:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"689:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"666:3:67"},"nodeType":"YulFunctionCall","src":"666:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"659:6:67"},"nodeType":"YulFunctionCall","src":"659:35:67"},"nodeType":"YulIf","src":"656:122:67"},{"nodeType":"YulVariableDeclaration","src":"787:34:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"814:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"801:12:67"},"nodeType":"YulFunctionCall","src":"801:20:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"791:6:67","type":""}]},{"nodeType":"YulAssignment","src":"830:87:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"890:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"898:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"886:3:67"},"nodeType":"YulFunctionCall","src":"886:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"905:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"913:3:67"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"839:46:67"},"nodeType":"YulFunctionCall","src":"839:78:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"830:5:67"}]}]},"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"624:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"632:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"640:5:67","type":""}],"src":"585:338:67"},{"body":{"nodeType":"YulBlock","src":"1006:274:67","statements":[{"body":{"nodeType":"YulBlock","src":"1052:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1054:77:67"},"nodeType":"YulFunctionCall","src":"1054:79:67"},"nodeType":"YulExpressionStatement","src":"1054:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1027:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"1036:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1023:3:67"},"nodeType":"YulFunctionCall","src":"1023:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"1048:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1019:3:67"},"nodeType":"YulFunctionCall","src":"1019:32:67"},"nodeType":"YulIf","src":"1016:119:67"},{"nodeType":"YulBlock","src":"1145:128:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1160:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1174:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1164:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1189:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1235:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1246:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1231:3:67"},"nodeType":"YulFunctionCall","src":"1231:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1255:7:67"}],"functionName":{"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulIdentifier","src":"1199:31:67"},"nodeType":"YulFunctionCall","src":"1199:64:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1189:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"976:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"987:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"999:6:67","type":""}],"src":"929:351:67"},{"body":{"nodeType":"YulBlock","src":"1361:432:67","statements":[{"body":{"nodeType":"YulBlock","src":"1407:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1409:77:67"},"nodeType":"YulFunctionCall","src":"1409:79:67"},"nodeType":"YulExpressionStatement","src":"1409:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1382:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"1391:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1378:3:67"},"nodeType":"YulFunctionCall","src":"1378:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"1403:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1374:3:67"},"nodeType":"YulFunctionCall","src":"1374:32:67"},"nodeType":"YulIf","src":"1371:119:67"},{"nodeType":"YulBlock","src":"1500:286:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1515:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1546:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"1557:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1542:3:67"},"nodeType":"YulFunctionCall","src":"1542:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1529:12:67"},"nodeType":"YulFunctionCall","src":"1529:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1519:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"1607:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"1609:77:67"},"nodeType":"YulFunctionCall","src":"1609:79:67"},"nodeType":"YulExpressionStatement","src":"1609:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1579:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1587:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1576:2:67"},"nodeType":"YulFunctionCall","src":"1576:30:67"},"nodeType":"YulIf","src":"1573:117:67"},{"nodeType":"YulAssignment","src":"1704:72:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1748:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1759:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1744:3:67"},"nodeType":"YulFunctionCall","src":"1744:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1768:7:67"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"1714:29:67"},"nodeType":"YulFunctionCall","src":"1714:62:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1704:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1331:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1342:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1354:6:67","type":""}],"src":"1286:507:67"},{"body":{"nodeType":"YulBlock","src":"1864:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1881:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1904:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"1886:17:67"},"nodeType":"YulFunctionCall","src":"1886:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1874:6:67"},"nodeType":"YulFunctionCall","src":"1874:37:67"},"nodeType":"YulExpressionStatement","src":"1874:37:67"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1852:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1859:3:67","type":""}],"src":"1799:118:67"},{"body":{"nodeType":"YulBlock","src":"2013:270:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2023:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2069:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"2037:31:67"},"nodeType":"YulFunctionCall","src":"2037:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2027:6:67","type":""}]},{"nodeType":"YulAssignment","src":"2084:77:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2149:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"2154:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"2091:57:67"},"nodeType":"YulFunctionCall","src":"2091:70:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2084:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2196:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"2203:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2192:3:67"},"nodeType":"YulFunctionCall","src":"2192:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"2210:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"2215:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"2170:21:67"},"nodeType":"YulFunctionCall","src":"2170:52:67"},"nodeType":"YulExpressionStatement","src":"2170:52:67"},{"nodeType":"YulAssignment","src":"2231:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2242:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2269:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"2247:21:67"},"nodeType":"YulFunctionCall","src":"2247:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2238:3:67"},"nodeType":"YulFunctionCall","src":"2238:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2231:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1994:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2001:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2009:3:67","type":""}],"src":"1923:360:67"},{"body":{"nodeType":"YulBlock","src":"2397:265:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2407:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2453:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"2421:31:67"},"nodeType":"YulFunctionCall","src":"2421:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2411:6:67","type":""}]},{"nodeType":"YulAssignment","src":"2468:95:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2551:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"2556:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"2475:75:67"},"nodeType":"YulFunctionCall","src":"2475:88:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2468:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2598:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"2605:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2594:3:67"},"nodeType":"YulFunctionCall","src":"2594:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"2612:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"2617:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"2572:21:67"},"nodeType":"YulFunctionCall","src":"2572:52:67"},"nodeType":"YulExpressionStatement","src":"2572:52:67"},{"nodeType":"YulAssignment","src":"2633:23:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2644:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"2649:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2640:3:67"},"nodeType":"YulFunctionCall","src":"2640:16:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2633:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2378:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2385:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2393:3:67","type":""}],"src":"2289:373:67"},{"body":{"nodeType":"YulBlock","src":"2814:220:67","statements":[{"nodeType":"YulAssignment","src":"2824:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2890:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"2895:2:67","type":"","value":"54"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"2831:58:67"},"nodeType":"YulFunctionCall","src":"2831:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2824:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2996:3:67"}],"functionName":{"name":"store_literal_in_memory_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5","nodeType":"YulIdentifier","src":"2907:88:67"},"nodeType":"YulFunctionCall","src":"2907:93:67"},"nodeType":"YulExpressionStatement","src":"2907:93:67"},{"nodeType":"YulAssignment","src":"3009:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3020:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"3025:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3016:3:67"},"nodeType":"YulFunctionCall","src":"3016:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3009:3:67"}]}]},"name":"abi_encode_t_stringliteral_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"2802:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2810:3:67","type":""}],"src":"2668:366:67"},{"body":{"nodeType":"YulBlock","src":"3174:137:67","statements":[{"nodeType":"YulAssignment","src":"3185:100:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3272:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"3281:3:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"3192:79:67"},"nodeType":"YulFunctionCall","src":"3192:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3185:3:67"}]},{"nodeType":"YulAssignment","src":"3295:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"3302:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3295:3:67"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"3153:3:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3159:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"3170:3:67","type":""}],"src":"3040:271:67"},{"body":{"nodeType":"YulBlock","src":"3415:124:67","statements":[{"nodeType":"YulAssignment","src":"3425:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3437:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"3448:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3433:3:67"},"nodeType":"YulFunctionCall","src":"3433:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3425:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3505:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3518:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"3529:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3514:3:67"},"nodeType":"YulFunctionCall","src":"3514:17:67"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"3461:43:67"},"nodeType":"YulFunctionCall","src":"3461:71:67"},"nodeType":"YulExpressionStatement","src":"3461:71:67"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3387:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3399:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3410:4:67","type":""}],"src":"3317:222:67"},{"body":{"nodeType":"YulBlock","src":"3661:193:67","statements":[{"nodeType":"YulAssignment","src":"3671:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3683:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"3694:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3679:3:67"},"nodeType":"YulFunctionCall","src":"3679:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3671:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3718:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"3729:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3714:3:67"},"nodeType":"YulFunctionCall","src":"3714:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"3737:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"3743:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3733:3:67"},"nodeType":"YulFunctionCall","src":"3733:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3707:6:67"},"nodeType":"YulFunctionCall","src":"3707:47:67"},"nodeType":"YulExpressionStatement","src":"3707:47:67"},{"nodeType":"YulAssignment","src":"3763:84:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3833:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"3842:4:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"3771:61:67"},"nodeType":"YulFunctionCall","src":"3771:76:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3763:4:67"}]}]},"name":"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3633:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3645:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3656:4:67","type":""}],"src":"3545:309:67"},{"body":{"nodeType":"YulBlock","src":"4031:248:67","statements":[{"nodeType":"YulAssignment","src":"4041:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4053:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"4064:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4049:3:67"},"nodeType":"YulFunctionCall","src":"4049:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4041:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4088:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"4099:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4084:3:67"},"nodeType":"YulFunctionCall","src":"4084:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"4107:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"4113:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4103:3:67"},"nodeType":"YulFunctionCall","src":"4103:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4077:6:67"},"nodeType":"YulFunctionCall","src":"4077:47:67"},"nodeType":"YulExpressionStatement","src":"4077:47:67"},{"nodeType":"YulAssignment","src":"4133:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"4267:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"4141:124:67"},"nodeType":"YulFunctionCall","src":"4141:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4133:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4011:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4026:4:67","type":""}],"src":"3860:419:67"},{"body":{"nodeType":"YulBlock","src":"4326:88:67","statements":[{"nodeType":"YulAssignment","src":"4336:30:67","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"4346:18:67"},"nodeType":"YulFunctionCall","src":"4346:20:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4336:6:67"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4395:6:67"},{"name":"size","nodeType":"YulIdentifier","src":"4403:4:67"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"4375:19:67"},"nodeType":"YulFunctionCall","src":"4375:33:67"},"nodeType":"YulExpressionStatement","src":"4375:33:67"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"4310:4:67","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"4319:6:67","type":""}],"src":"4285:129:67"},{"body":{"nodeType":"YulBlock","src":"4460:35:67","statements":[{"nodeType":"YulAssignment","src":"4470:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4486:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4480:5:67"},"nodeType":"YulFunctionCall","src":"4480:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4470:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"4453:6:67","type":""}],"src":"4420:75:67"},{"body":{"nodeType":"YulBlock","src":"4567:241:67","statements":[{"body":{"nodeType":"YulBlock","src":"4672:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4674:16:67"},"nodeType":"YulFunctionCall","src":"4674:18:67"},"nodeType":"YulExpressionStatement","src":"4674:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4644:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"4652:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4641:2:67"},"nodeType":"YulFunctionCall","src":"4641:30:67"},"nodeType":"YulIf","src":"4638:56:67"},{"nodeType":"YulAssignment","src":"4704:37:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4734:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"4712:21:67"},"nodeType":"YulFunctionCall","src":"4712:29:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"4704:4:67"}]},{"nodeType":"YulAssignment","src":"4778:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"4790:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"4796:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4786:3:67"},"nodeType":"YulFunctionCall","src":"4786:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"4778:4:67"}]}]},"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"4551:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"4562:4:67","type":""}],"src":"4501:307:67"},{"body":{"nodeType":"YulBlock","src":"4872:40:67","statements":[{"nodeType":"YulAssignment","src":"4883:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4899:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4893:5:67"},"nodeType":"YulFunctionCall","src":"4893:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4883:6:67"}]}]},"name":"array_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4855:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"4865:6:67","type":""}],"src":"4814:98:67"},{"body":{"nodeType":"YulBlock","src":"5013:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5030:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"5035:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5023:6:67"},"nodeType":"YulFunctionCall","src":"5023:19:67"},"nodeType":"YulExpressionStatement","src":"5023:19:67"},{"nodeType":"YulAssignment","src":"5051:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5070:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5075:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5066:3:67"},"nodeType":"YulFunctionCall","src":"5066:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"5051:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"4985:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"4990:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"5001:11:67","type":""}],"src":"4918:168:67"},{"body":{"nodeType":"YulBlock","src":"5205:34:67","statements":[{"nodeType":"YulAssignment","src":"5215:18:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"5230:3:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"5215:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"5177:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"5182:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"5193:11:67","type":""}],"src":"5092:147:67"},{"body":{"nodeType":"YulBlock","src":"5341:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5358:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"5363:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5351:6:67"},"nodeType":"YulFunctionCall","src":"5351:19:67"},"nodeType":"YulExpressionStatement","src":"5351:19:67"},{"nodeType":"YulAssignment","src":"5379:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5398:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5403:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5394:3:67"},"nodeType":"YulFunctionCall","src":"5394:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"5379:11:67"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"5313:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"5318:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"5329:11:67","type":""}],"src":"5245:169:67"},{"body":{"nodeType":"YulBlock","src":"5465:32:67","statements":[{"nodeType":"YulAssignment","src":"5475:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"5486:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"5475:7:67"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5447:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"5457:7:67","type":""}],"src":"5420:77:67"},{"body":{"nodeType":"YulBlock","src":"5554:103:67","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5577:3:67"},{"name":"src","nodeType":"YulIdentifier","src":"5582:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"5587:6:67"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"5564:12:67"},"nodeType":"YulFunctionCall","src":"5564:30:67"},"nodeType":"YulExpressionStatement","src":"5564:30:67"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5635:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"5640:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5631:3:67"},"nodeType":"YulFunctionCall","src":"5631:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"5649:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5624:6:67"},"nodeType":"YulFunctionCall","src":"5624:27:67"},"nodeType":"YulExpressionStatement","src":"5624:27:67"}]},"name":"copy_calldata_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"5536:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"5541:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"5546:6:67","type":""}],"src":"5503:154:67"},{"body":{"nodeType":"YulBlock","src":"5712:258:67","statements":[{"nodeType":"YulVariableDeclaration","src":"5722:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"5731:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"5726:1:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"5791:63:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5816:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"5821:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5812:3:67"},"nodeType":"YulFunctionCall","src":"5812:11:67"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5835:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"5840:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5831:3:67"},"nodeType":"YulFunctionCall","src":"5831:11:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5825:5:67"},"nodeType":"YulFunctionCall","src":"5825:18:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5805:6:67"},"nodeType":"YulFunctionCall","src":"5805:39:67"},"nodeType":"YulExpressionStatement","src":"5805:39:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5752:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"5755:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5749:2:67"},"nodeType":"YulFunctionCall","src":"5749:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"5763:19:67","statements":[{"nodeType":"YulAssignment","src":"5765:15:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5774:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"5777:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5770:3:67"},"nodeType":"YulFunctionCall","src":"5770:10:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"5765:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"5745:3:67","statements":[]},"src":"5741:113:67"},{"body":{"nodeType":"YulBlock","src":"5888:76:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5938:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"5943:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5934:3:67"},"nodeType":"YulFunctionCall","src":"5934:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"5952:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5927:6:67"},"nodeType":"YulFunctionCall","src":"5927:27:67"},"nodeType":"YulExpressionStatement","src":"5927:27:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5869:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"5872:6:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5866:2:67"},"nodeType":"YulFunctionCall","src":"5866:13:67"},"nodeType":"YulIf","src":"5863:101:67"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"5694:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"5699:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"5704:6:67","type":""}],"src":"5663:307:67"},{"body":{"nodeType":"YulBlock","src":"6027:269:67","statements":[{"nodeType":"YulAssignment","src":"6037:22:67","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"6051:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"6057:1:67","type":"","value":"2"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"6047:3:67"},"nodeType":"YulFunctionCall","src":"6047:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"6037:6:67"}]},{"nodeType":"YulVariableDeclaration","src":"6068:38:67","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"6098:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"6104:1:67","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6094:3:67"},"nodeType":"YulFunctionCall","src":"6094:12:67"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"6072:18:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"6145:51:67","statements":[{"nodeType":"YulAssignment","src":"6159:27:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6173:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"6181:4:67","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6169:3:67"},"nodeType":"YulFunctionCall","src":"6169:17:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"6159:6:67"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"6125:18:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6118:6:67"},"nodeType":"YulFunctionCall","src":"6118:26:67"},"nodeType":"YulIf","src":"6115:81:67"},{"body":{"nodeType":"YulBlock","src":"6248:42:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x22","nodeType":"YulIdentifier","src":"6262:16:67"},"nodeType":"YulFunctionCall","src":"6262:18:67"},"nodeType":"YulExpressionStatement","src":"6262:18:67"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"6212:18:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6235:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"6243:2:67","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6232:2:67"},"nodeType":"YulFunctionCall","src":"6232:14:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"6209:2:67"},"nodeType":"YulFunctionCall","src":"6209:38:67"},"nodeType":"YulIf","src":"6206:84:67"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"6011:4:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"6020:6:67","type":""}],"src":"5976:320:67"},{"body":{"nodeType":"YulBlock","src":"6345:238:67","statements":[{"nodeType":"YulVariableDeclaration","src":"6355:58:67","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"6377:6:67"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"6407:4:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"6385:21:67"},"nodeType":"YulFunctionCall","src":"6385:27:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6373:3:67"},"nodeType":"YulFunctionCall","src":"6373:40:67"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"6359:10:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"6524:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"6526:16:67"},"nodeType":"YulFunctionCall","src":"6526:18:67"},"nodeType":"YulExpressionStatement","src":"6526:18:67"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6467:10:67"},{"kind":"number","nodeType":"YulLiteral","src":"6479:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6464:2:67"},"nodeType":"YulFunctionCall","src":"6464:34:67"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6503:10:67"},{"name":"memPtr","nodeType":"YulIdentifier","src":"6515:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6500:2:67"},"nodeType":"YulFunctionCall","src":"6500:22:67"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"6461:2:67"},"nodeType":"YulFunctionCall","src":"6461:62:67"},"nodeType":"YulIf","src":"6458:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6562:2:67","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6566:10:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6555:6:67"},"nodeType":"YulFunctionCall","src":"6555:22:67"},"nodeType":"YulExpressionStatement","src":"6555:22:67"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"6331:6:67","type":""},{"name":"size","nodeType":"YulTypedName","src":"6339:4:67","type":""}],"src":"6302:281:67"},{"body":{"nodeType":"YulBlock","src":"6617:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6634:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6637:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6627:6:67"},"nodeType":"YulFunctionCall","src":"6627:88:67"},"nodeType":"YulExpressionStatement","src":"6627:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6731:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"6734:4:67","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6724:6:67"},"nodeType":"YulFunctionCall","src":"6724:15:67"},"nodeType":"YulExpressionStatement","src":"6724:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6755:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6758:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6748:6:67"},"nodeType":"YulFunctionCall","src":"6748:15:67"},"nodeType":"YulExpressionStatement","src":"6748:15:67"}]},"name":"panic_error_0x22","nodeType":"YulFunctionDefinition","src":"6589:180:67"},{"body":{"nodeType":"YulBlock","src":"6803:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6820:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6823:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6813:6:67"},"nodeType":"YulFunctionCall","src":"6813:88:67"},"nodeType":"YulExpressionStatement","src":"6813:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6917:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"6920:4:67","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6910:6:67"},"nodeType":"YulFunctionCall","src":"6910:15:67"},"nodeType":"YulExpressionStatement","src":"6910:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6941:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6944:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6934:6:67"},"nodeType":"YulFunctionCall","src":"6934:15:67"},"nodeType":"YulExpressionStatement","src":"6934:15:67"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"6775:180:67"},{"body":{"nodeType":"YulBlock","src":"7050:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7067:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7070:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7060:6:67"},"nodeType":"YulFunctionCall","src":"7060:12:67"},"nodeType":"YulExpressionStatement","src":"7060:12:67"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"6961:117:67"},{"body":{"nodeType":"YulBlock","src":"7173:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7190:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7193:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7183:6:67"},"nodeType":"YulFunctionCall","src":"7183:12:67"},"nodeType":"YulExpressionStatement","src":"7183:12:67"}]},"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulFunctionDefinition","src":"7084:117:67"},{"body":{"nodeType":"YulBlock","src":"7296:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7313:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7316:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7306:6:67"},"nodeType":"YulFunctionCall","src":"7306:12:67"},"nodeType":"YulExpressionStatement","src":"7306:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"7207:117:67"},{"body":{"nodeType":"YulBlock","src":"7419:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7436:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7439:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7429:6:67"},"nodeType":"YulFunctionCall","src":"7429:12:67"},"nodeType":"YulExpressionStatement","src":"7429:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"7330:117:67"},{"body":{"nodeType":"YulBlock","src":"7501:54:67","statements":[{"nodeType":"YulAssignment","src":"7511:38:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7529:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"7536:2:67","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7525:3:67"},"nodeType":"YulFunctionCall","src":"7525:14:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7545:2:67","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"7541:3:67"},"nodeType":"YulFunctionCall","src":"7541:7:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7521:3:67"},"nodeType":"YulFunctionCall","src":"7521:28:67"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"7511:6:67"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7484:5:67","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"7494:6:67","type":""}],"src":"7453:102:67"},{"body":{"nodeType":"YulBlock","src":"7667:135:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"7689:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"7697:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7685:3:67"},"nodeType":"YulFunctionCall","src":"7685:14:67"},{"hexValue":"5769746e657452657175657374496e697469616c697a61626c65426173653a20","kind":"string","nodeType":"YulLiteral","src":"7701:34:67","type":"","value":"WitnetRequestInitializableBase: "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7678:6:67"},"nodeType":"YulFunctionCall","src":"7678:58:67"},"nodeType":"YulExpressionStatement","src":"7678:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"7757:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"7765:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7753:3:67"},"nodeType":"YulFunctionCall","src":"7753:15:67"},{"hexValue":"63616e6e6f74206368616e67652062797465636f6465","kind":"string","nodeType":"YulLiteral","src":"7770:24:67","type":"","value":"cannot change bytecode"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7746:6:67"},"nodeType":"YulFunctionCall","src":"7746:49:67"},"nodeType":"YulExpressionStatement","src":"7746:49:67"}]},"name":"store_literal_in_memory_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"7659:6:67","type":""}],"src":"7561:241:67"},{"body":{"nodeType":"YulBlock","src":"7851:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"7908:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7917:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7920:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7910:6:67"},"nodeType":"YulFunctionCall","src":"7910:12:67"},"nodeType":"YulExpressionStatement","src":"7910:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7874:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7899:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"7881:17:67"},"nodeType":"YulFunctionCall","src":"7881:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7871:2:67"},"nodeType":"YulFunctionCall","src":"7871:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7864:6:67"},"nodeType":"YulFunctionCall","src":"7864:43:67"},"nodeType":"YulIf","src":"7861:63:67"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7844:5:67","type":""}],"src":"7808:122:67"}]},"contents":"{\n\n    function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n        mstore(array, length)\n        let dst := add(array, 0x20)\n        if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n        copy_calldata_to_memory(src, dst, length)\n    }\n\n    function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_bytes32(value)\n    }\n\n    // bytes\n    function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := calldataload(offset)\n        array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n    }\n\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_bytes32_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n        mstore(pos, cleanup_t_bytes32(value))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, length)\n    }\n\n    function abi_encode_t_stringliteral_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 54)\n        store_literal_in_memory_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n        pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_bytes32_to_t_bytes32_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function allocate_memory(size) -> memPtr {\n        memPtr := allocate_unbounded()\n        finalize_allocation(memPtr, size)\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := round_up_to_mul_of_32(length)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_length_t_bytes_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n        updated_pos := pos\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function cleanup_t_bytes32(value) -> cleaned {\n        cleaned := value\n    }\n\n    function copy_calldata_to_memory(src, dst, length) {\n        calldatacopy(dst, src, length)\n        // clear end\n        mstore(add(dst, length), 0)\n    }\n\n    function copy_memory_to_memory(src, dst, length) {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        if gt(i, length)\n        {\n            // clear end\n            mstore(add(dst, length), 0)\n        }\n    }\n\n    function extract_byte_array_length(data) -> length {\n        length := div(data, 2)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) {\n            length := and(length, 0x7f)\n        }\n\n        if eq(outOfPlaceEncoding, lt(length, 32)) {\n            panic_error_0x22()\n        }\n    }\n\n    function finalize_allocation(memPtr, size) {\n        let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n        // protect against overflow\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n\n    function panic_error_0x22() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x22)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x41() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n\n    function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n        revert(0, 0)\n    }\n\n    function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n        revert(0, 0)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function round_up_to_mul_of_32(value) -> result {\n        result := and(add(value, 31), not(31))\n    }\n\n    function store_literal_in_memory_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestInitializableBase: \")\n\n        mstore(add(memPtr, 32), \"cannot change bytecode\")\n\n    }\n\n    function validator_revert_t_bytes32(value) {\n        if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b506004361061004c5760003560e01c806309bd5a6014610051578063439fab911461006f5780638129fc1c1461008b578063f094000214610095575b600080fd5b6100596100b3565b604051610066919061048e565b60405180910390f35b61008960048036038101906100849190610392565b6100b9565b005b610093610132565b005b61009d610156565b6040516100aa91906104a9565b60405180910390f35b60015481565b60008080546100c7906105c5565b905014610109576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610100906104cb565b60405180910390fd5b806000908051906020019061011f92919061023d565b50610129816101e4565b60018190555050565b61015460405180610120016040528060f9815260200161071260f991396100b9565b565b60008054610163906105c5565b80601f016020809104026020016040519081016040528092919081815260200182805461018f906105c5565b80156101dc5780601f106101b1576101008083540402835291602001916101dc565b820191906000526020600020905b8154815290600101906020018083116101bf57829003601f168201915b505050505081565b60006002826040516101f69190610477565b602060405180830381855afa158015610213573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906102369190610365565b9050919050565b828054610249906105c5565b90600052602060002090601f01602090048101928261026b57600085556102b2565b82601f1061028457805160ff19168380011785556102b2565b828001600101855582156102b2579182015b828111156102b1578251825591602001919060010190610296565b5b5090506102bf91906102c3565b5090565b5b808211156102dc5760008160009055506001016102c4565b5090565b60006102f36102ee84610510565b6104eb565b90508281526020810184848401111561030f5761030e61068b565b5b61031a848285610583565b509392505050565b600081519050610331816106fa565b92915050565b600082601f83011261034c5761034b610686565b5b813561035c8482602086016102e0565b91505092915050565b60006020828403121561037b5761037a610695565b5b600061038984828501610322565b91505092915050565b6000602082840312156103a8576103a7610695565b5b600082013567ffffffffffffffff8111156103c6576103c5610690565b5b6103d284828501610337565b91505092915050565b6103e481610579565b82525050565b60006103f582610541565b6103ff818561054c565b935061040f818560208601610592565b6104188161069a565b840191505092915050565b600061042e82610541565b610438818561055d565b9350610448818560208601610592565b80840191505092915050565b6000610461603683610568565b915061046c826106ab565b604082019050919050565b60006104838284610423565b915081905092915050565b60006020820190506104a360008301846103db565b92915050565b600060208201905081810360008301526104c381846103ea565b905092915050565b600060208201905081810360008301526104e481610454565b9050919050565b60006104f5610506565b905061050182826105f7565b919050565b6000604051905090565b600067ffffffffffffffff82111561052b5761052a610657565b5b6105348261069a565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000819050919050565b82818337600083830152505050565b60005b838110156105b0578082015181840152602081019050610595565b838111156105bf576000848401525b50505050565b600060028204905060018216806105dd57607f821691505b602082108114156105f1576105f0610628565b5b50919050565b6106008261069a565b810181811067ffffffffffffffff8211171561061f5761061e610657565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f5769746e657452657175657374496e697469616c697a61626c65426173653a2060008201527f63616e6e6f74206368616e67652062797465636f646500000000000000000000602082015250565b61070381610579565b811461070e57600080fd5b5056fe0adf01125a0801124068747470733a2f2f6d696e2d6170692e63727970746f636f6d706172652e636f6d2f646174612f70726963653f6673796d3d4b4c4159267473796d733d5553441a14841877821864635553448218571a000f4240185b12630801123868747470733a2f2f6170692e636f696e626173652e636f6d2f76322f65786368616e67652d72617465733f63757272656e63793d4b4c41591a258618778218666464617461821866657261746573821864635553448218571a000f4240185b1a0d0a0908051205fa3fc000001003220d0a0908051205fa4020000010031080e497d012180a208094ebdc0328333080e8eda1ba01a2646970667358221220f601a4842b7780a1bd7cbd78f1b3314aee34ed123f86fc14da575a1ad2d6cebe64736f6c63430008070033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9BD5A60 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x439FAB91 EQ PUSH2 0x6F JUMPI DUP1 PUSH4 0x8129FC1C EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0xF0940002 EQ PUSH2 0x95 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0xB3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x48E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x89 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x84 SWAP2 SWAP1 PUSH2 0x392 JUMP JUMPDEST PUSH2 0xB9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x93 PUSH2 0x132 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9D PUSH2 0x156 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAA SWAP2 SWAP1 PUSH2 0x4A9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 SLOAD PUSH2 0xC7 SWAP1 PUSH2 0x5C5 JUMP JUMPDEST SWAP1 POP EQ PUSH2 0x109 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x100 SWAP1 PUSH2 0x4CB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x11F SWAP3 SWAP2 SWAP1 PUSH2 0x23D JUMP JUMPDEST POP PUSH2 0x129 DUP2 PUSH2 0x1E4 JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH2 0x154 PUSH1 0x40 MLOAD DUP1 PUSH2 0x120 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF9 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x712 PUSH1 0xF9 SWAP2 CODECOPY PUSH2 0xB9 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x163 SWAP1 PUSH2 0x5C5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x18F SWAP1 PUSH2 0x5C5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1DC JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1B1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1DC JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1BF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 PUSH1 0x40 MLOAD PUSH2 0x1F6 SWAP2 SWAP1 PUSH2 0x477 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x213 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST 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 0x236 SWAP2 SWAP1 PUSH2 0x365 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x249 SWAP1 PUSH2 0x5C5 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x26B JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x2B2 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x284 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x2B2 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x2B2 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x2B1 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x296 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x2BF SWAP2 SWAP1 PUSH2 0x2C3 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x2DC JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x2C4 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F3 PUSH2 0x2EE DUP5 PUSH2 0x510 JUMP JUMPDEST PUSH2 0x4EB JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x30F JUMPI PUSH2 0x30E PUSH2 0x68B JUMP JUMPDEST JUMPDEST PUSH2 0x31A DUP5 DUP3 DUP6 PUSH2 0x583 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x331 DUP2 PUSH2 0x6FA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x34C JUMPI PUSH2 0x34B PUSH2 0x686 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x35C DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2E0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x37B JUMPI PUSH2 0x37A PUSH2 0x695 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x389 DUP5 DUP3 DUP6 ADD PUSH2 0x322 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3A8 JUMPI PUSH2 0x3A7 PUSH2 0x695 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3C6 JUMPI PUSH2 0x3C5 PUSH2 0x690 JUMP JUMPDEST JUMPDEST PUSH2 0x3D2 DUP5 DUP3 DUP6 ADD PUSH2 0x337 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3E4 DUP2 PUSH2 0x579 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3F5 DUP3 PUSH2 0x541 JUMP JUMPDEST PUSH2 0x3FF DUP2 DUP6 PUSH2 0x54C JUMP JUMPDEST SWAP4 POP PUSH2 0x40F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x592 JUMP JUMPDEST PUSH2 0x418 DUP2 PUSH2 0x69A JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x42E DUP3 PUSH2 0x541 JUMP JUMPDEST PUSH2 0x438 DUP2 DUP6 PUSH2 0x55D JUMP JUMPDEST SWAP4 POP PUSH2 0x448 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x592 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x461 PUSH1 0x36 DUP4 PUSH2 0x568 JUMP JUMPDEST SWAP2 POP PUSH2 0x46C DUP3 PUSH2 0x6AB JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x483 DUP3 DUP5 PUSH2 0x423 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x4A3 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3DB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x4C3 DUP2 DUP5 PUSH2 0x3EA JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x4E4 DUP2 PUSH2 0x454 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4F5 PUSH2 0x506 JUMP JUMPDEST SWAP1 POP PUSH2 0x501 DUP3 DUP3 PUSH2 0x5F7 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x52B JUMPI PUSH2 0x52A PUSH2 0x657 JUMP JUMPDEST JUMPDEST PUSH2 0x534 DUP3 PUSH2 0x69A JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5B0 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x595 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x5BF JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x5DD JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x5F1 JUMPI PUSH2 0x5F0 PUSH2 0x628 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x600 DUP3 PUSH2 0x69A JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x61F JUMPI PUSH2 0x61E PUSH2 0x657 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374496E697469616C697A61626C65426173653A20 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x63616E6E6F74206368616E67652062797465636F646500000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x703 DUP2 PUSH2 0x579 JUMP JUMPDEST DUP2 EQ PUSH2 0x70E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID EXP 0xDF ADD SLT GAS ADDMOD ADD SLT BLOCKHASH PUSH9 0x747470733A2F2F6D69 PUSH15 0x2D6170692E63727970746F636F6D70 PUSH2 0x7265 0x2E PUSH4 0x6F6D2F64 PUSH2 0x7461 0x2F PUSH17 0x726963653F6673796D3D4B4C4159267473 PUSH26 0x6D733D5553441A14841877821864635553448218571A000F4240 XOR JUMPDEST SLT PUSH4 0x8011238 PUSH9 0x747470733A2F2F6170 PUSH10 0x2E636F696E626173652E PUSH4 0x6F6D2F76 ORIGIN 0x2F PUSH6 0x786368616E67 PUSH6 0x2D7261746573 EXTCODEHASH PUSH4 0x75727265 PUSH15 0x63793D4B4C41591A25861877821866 PUSH5 0x6461746182 XOR PUSH7 0x65726174657382 XOR PUSH5 0x6355534482 XOR JUMPI BYTE STOP 0xF TIMESTAMP BLOCKHASH XOR JUMPDEST BYTE 0xD EXP MULMOD ADDMOD SDIV SLT SDIV STATICCALL EXTCODEHASH 0xC0 STOP STOP LT SUB 0x22 0xD EXP MULMOD ADDMOD SDIV SLT SDIV STATICCALL BLOCKHASH KECCAK256 STOP STOP LT SUB LT DUP1 0xE4 SWAP8 0xD0 SLT XOR EXP KECCAK256 DUP1 SWAP5 0xEB 0xDC SUB 0x28 CALLER ADDRESS DUP1 0xE8 0xED LOG1 0xBA ADD LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF6 ADD LOG4 DUP5 0x2B PUSH24 0x80A1BD7CBD78F1B3314AEE34ED123F86FC14DA575A1AD2D6 0xCE 0xBE PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ","sourceMap":"561:652:27:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;363:28:63;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;280:289:64;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;625:586:27;;;:::i;:::-;;252:30:63;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;363:28;;;;:::o;280:289:64:-;418:1;399:8;:15;;;;;:::i;:::-;;;:20;378:121;;;;;;;;;;;;:::i;:::-;;;;;;;;;520:9;509:8;:20;;;;;;;;;;;;:::i;:::-;;546:16;:9;:14;:16::i;:::-;539:4;:23;;;;280:289;:::o;625:586:27:-;660:546;;;;;;;;;;;;;;;;;;:41;:546::i;:::-;625:586::o;252:30:63:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;298:111:50:-;359:7;385:17;392:9;385:17;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;378:24;;298:111;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:410:67:-;84:5;109:65;125:48;166:6;125:48;:::i;:::-;109:65;:::i;:::-;100:74;;197:6;190:5;183:21;235:4;228:5;224:16;273:3;264:6;259:3;255:16;252:25;249:112;;;280:79;;:::i;:::-;249:112;370:41;404:6;399:3;394;370:41;:::i;:::-;90:327;7:410;;;;;:::o;423:143::-;480:5;511:6;505:13;496:22;;527:33;554:5;527:33;:::i;:::-;423:143;;;;:::o;585:338::-;640:5;689:3;682:4;674:6;670:17;666:27;656:122;;697:79;;:::i;:::-;656:122;814:6;801:20;839:78;913:3;905:6;898:4;890:6;886:17;839:78;:::i;:::-;830:87;;646:277;585:338;;;;:::o;929:351::-;999:6;1048:2;1036:9;1027:7;1023:23;1019:32;1016:119;;;1054:79;;:::i;:::-;1016:119;1174:1;1199:64;1255:7;1246:6;1235:9;1231:22;1199:64;:::i;:::-;1189:74;;1145:128;929:351;;;;:::o;1286:507::-;1354:6;1403:2;1391:9;1382:7;1378:23;1374:32;1371:119;;;1409:79;;:::i;:::-;1371:119;1557:1;1546:9;1542:17;1529:31;1587:18;1579:6;1576:30;1573:117;;;1609:79;;:::i;:::-;1573:117;1714:62;1768:7;1759:6;1748:9;1744:22;1714:62;:::i;:::-;1704:72;;1500:286;1286:507;;;;:::o;1799:118::-;1886:24;1904:5;1886:24;:::i;:::-;1881:3;1874:37;1799:118;;:::o;1923:360::-;2009:3;2037:38;2069:5;2037:38;:::i;:::-;2091:70;2154:6;2149:3;2091:70;:::i;:::-;2084:77;;2170:52;2215:6;2210:3;2203:4;2196:5;2192:16;2170:52;:::i;:::-;2247:29;2269:6;2247:29;:::i;:::-;2242:3;2238:39;2231:46;;2013:270;1923:360;;;;:::o;2289:373::-;2393:3;2421:38;2453:5;2421:38;:::i;:::-;2475:88;2556:6;2551:3;2475:88;:::i;:::-;2468:95;;2572:52;2617:6;2612:3;2605:4;2598:5;2594:16;2572:52;:::i;:::-;2649:6;2644:3;2640:16;2633:23;;2397:265;2289:373;;;;:::o;2668:366::-;2810:3;2831:67;2895:2;2890:3;2831:67;:::i;:::-;2824:74;;2907:93;2996:3;2907:93;:::i;:::-;3025:2;3020:3;3016:12;3009:19;;2668:366;;;:::o;3040:271::-;3170:3;3192:93;3281:3;3272:6;3192:93;:::i;:::-;3185:100;;3302:3;3295:10;;3040:271;;;;:::o;3317:222::-;3410:4;3448:2;3437:9;3433:18;3425:26;;3461:71;3529:1;3518:9;3514:17;3505:6;3461:71;:::i;:::-;3317:222;;;;:::o;3545:309::-;3656:4;3694:2;3683:9;3679:18;3671:26;;3743:9;3737:4;3733:20;3729:1;3718:9;3714:17;3707:47;3771:76;3842:4;3833:6;3771:76;:::i;:::-;3763:84;;3545:309;;;;:::o;3860:419::-;4026:4;4064:2;4053:9;4049:18;4041:26;;4113:9;4107:4;4103:20;4099:1;4088:9;4084:17;4077:47;4141:131;4267:4;4141:131;:::i;:::-;4133:139;;3860:419;;;:::o;4285:129::-;4319:6;4346:20;;:::i;:::-;4336:30;;4375:33;4403:4;4395:6;4375:33;:::i;:::-;4285:129;;;:::o;4420:75::-;4453:6;4486:2;4480:9;4470:19;;4420:75;:::o;4501:307::-;4562:4;4652:18;4644:6;4641:30;4638:56;;;4674:18;;:::i;:::-;4638:56;4712:29;4734:6;4712:29;:::i;:::-;4704:37;;4796:4;4790;4786:15;4778:23;;4501:307;;;:::o;4814:98::-;4865:6;4899:5;4893:12;4883:22;;4814:98;;;:::o;4918:168::-;5001:11;5035:6;5030:3;5023:19;5075:4;5070:3;5066:14;5051:29;;4918:168;;;;:::o;5092:147::-;5193:11;5230:3;5215:18;;5092:147;;;;:::o;5245:169::-;5329:11;5363:6;5358:3;5351:19;5403:4;5398:3;5394:14;5379:29;;5245:169;;;;:::o;5420:77::-;5457:7;5486:5;5475:16;;5420:77;;;:::o;5503:154::-;5587:6;5582:3;5577;5564:30;5649:1;5640:6;5635:3;5631:16;5624:27;5503:154;;;:::o;5663:307::-;5731:1;5741:113;5755:6;5752:1;5749:13;5741:113;;;5840:1;5835:3;5831:11;5825:18;5821:1;5816:3;5812:11;5805:39;5777:2;5774:1;5770:10;5765:15;;5741:113;;;5872:6;5869:1;5866:13;5863:101;;;5952:1;5943:6;5938:3;5934:16;5927:27;5863:101;5712:258;5663:307;;;:::o;5976:320::-;6020:6;6057:1;6051:4;6047:12;6037:22;;6104:1;6098:4;6094:12;6125:18;6115:81;;6181:4;6173:6;6169:17;6159:27;;6115:81;6243:2;6235:6;6232:14;6212:18;6209:38;6206:84;;;6262:18;;:::i;:::-;6206:84;6027:269;5976:320;;;:::o;6302:281::-;6385:27;6407:4;6385:27;:::i;:::-;6377:6;6373:40;6515:6;6503:10;6500:22;6479:18;6467:10;6464:34;6461:62;6458:88;;;6526:18;;:::i;:::-;6458:88;6566:10;6562:2;6555:22;6345:238;6302:281;;:::o;6589:180::-;6637:77;6634:1;6627:88;6734:4;6731:1;6724:15;6758:4;6755:1;6748:15;6775:180;6823:77;6820:1;6813:88;6920:4;6917:1;6910:15;6944:4;6941:1;6934:15;6961:117;7070:1;7067;7060:12;7084:117;7193:1;7190;7183:12;7207:117;7316:1;7313;7306:12;7330:117;7439:1;7436;7429:12;7453:102;7494:6;7545:2;7541:7;7536:2;7529:5;7525:14;7521:28;7511:38;;7453:102;;;:::o;7561:241::-;7701:34;7697:1;7689:6;7685:14;7678:58;7770:24;7765:2;7757:6;7753:15;7746:49;7561:241;:::o;7808:122::-;7881:24;7899:5;7881:24;:::i;:::-;7874:5;7871:35;7861:63;;7920:1;7917;7910:12;7861:63;7808:122;:::o"},"gasEstimates":{"creation":{"codeDepositCost":"422400","executionCost":"455","totalCost":"422855"},"external":{"bytecode()":"infinite","hash()":"2407","initialize()":"infinite","initialize(bytes)":"infinite"}},"methodIdentifiers":{"bytecode()":"f0940002","hash()":"09bd5a60","initialize()":"8129fc1c","initialize(bytes)":"439fab91"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"bytecode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_bytecode\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"bytecode()\":{\"notice\":\"Contains a well-formed Witnet Data Request, encoded using Protocol Buffers.\"},\"hash()\":{\"notice\":\"Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/witnet-requests/coinPrice.sol\":\"coinPriceRequest\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/witnet-requests/coinPrice.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n// For the Witnet Request Board OVM-compatible (Optimism) \\\"trustable\\\" implementation (e.g. BOBA network),\\n// replace the next import line with:\\n// import \\\"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableBoba.sol\\\";\\nimport \\\"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableDefault.sol\\\";\\nimport \\\"witnet-solidity-bridge/contracts/requests/WitnetRequestInitializableBase.sol\\\";\\n\\n// The bytecode of the klayPrice query that will be sent to Witnet\\ncontract coinPriceRequest is WitnetRequestInitializableBase {\\n  function initialize() public {\\n    WitnetRequestInitializableBase.initialize(hex\\\"0adf01125a0801124068747470733a2f2f6d696e2d6170692e63727970746f636f6d706172652e636f6d2f646174612f70726963653f6673796d3d4b4c4159267473796d733d5553441a14841877821864635553448218571a000f4240185b12630801123868747470733a2f2f6170692e636f696e626173652e636f6d2f76322f65786368616e67652d72617465733f63757272656e63793d4b4c41591a258618778218666464617461821866657261746573821864635553448218571a000f4240185b1a0d0a0908051205fa3fc000001003220d0a0908051205fa4020000010031080e497d012180a208094ebdc0328333080e8eda1ba01\\\");\\n  }\\n}\\n\",\"keccak256\":\"0x733a8b7976fb7fcf4dd97cef81215267268a23fa17d301a747c13771cf825824\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/WitnetRequestBoard.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./interfaces/IWitnetRequestBoardEvents.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardReporter.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardRequestor.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardView.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestParser.sol\\\";\\n\\n/// @title Witnet Request Board functionality base contract.\\n/// @author The Witnet Foundation.\\nabstract contract WitnetRequestBoard is\\n    IWitnetRequestBoardEvents,\\n    IWitnetRequestBoardReporter,\\n    IWitnetRequestBoardRequestor,\\n    IWitnetRequestBoardView,\\n    IWitnetRequestParser\\n{\\n    receive() external payable {\\n        revert(\\\"WitnetRequestBoard: no transfers accepted\\\");\\n    }\\n}\\n\",\"keccak256\":\"0xb04deadd6e24568accfcbb7b76f1c03cb925933aee189115b5b23badc5b6e9ab\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/data/WitnetBoardData.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Request Board base data model. \\n/// @author The Witnet Foundation.\\nabstract contract WitnetBoardData {  \\n\\n    bytes32 internal constant _WITNET_BOARD_DATA_SLOTHASH =\\n        /* keccak256(\\\"io.witnet.boards.data\\\") */\\n        0xf595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183;\\n\\n    struct WitnetBoardState {\\n        address base;\\n        address owner;    \\n        uint256 numQueries;\\n        mapping (uint => Witnet.Query) queries;\\n    }\\n\\n    constructor() {\\n        _state().owner = msg.sender;\\n    }\\n\\n    /// Asserts the given query is currently in the given status.\\n    modifier inStatus(uint256 _queryId, Witnet.QueryStatus _status) {\\n      require(\\n          _getQueryStatus(_queryId) == _status,\\n          _getQueryStatusRevertMessage(_status)\\n        );\\n      _;\\n    }\\n\\n    /// Asserts the given query was previously posted and that it was not yet deleted.\\n    modifier notDeleted(uint256 _queryId) {\\n        require(_queryId > 0 && _queryId <= _state().numQueries, \\\"WitnetBoardData: not yet posted\\\");\\n        require(_getRequester(_queryId) != address(0), \\\"WitnetBoardData: deleted\\\");\\n        _;\\n    }\\n\\n    /// Asserts caller corresponds to the current owner. \\n    modifier onlyOwner {\\n        require(msg.sender == _state().owner, \\\"WitnetBoardData: only owner\\\");\\n        _;    \\n    }\\n\\n    /// Asserts the give query was actually posted before calling this method.\\n    modifier wasPosted(uint256 _queryId) {\\n        require(_queryId > 0 && _queryId <= _state().numQueries, \\\"WitnetBoardData: not yet posted\\\");\\n        _;\\n    }\\n\\n    // ================================================================================================================\\n    // --- Internal functions -----------------------------------------------------------------------------------------\\n\\n    /// Gets current status of given query.\\n    function _getQueryStatus(uint256 _queryId)\\n      internal view\\n      returns (Witnet.QueryStatus)\\n    {\\n      if (_queryId == 0 || _queryId > _state().numQueries) {\\n        // \\\"Unknown\\\" status if queryId is out of range:\\n        return Witnet.QueryStatus.Unknown;\\n      }\\n      else {\\n        Witnet.Query storage _query = _state().queries[_queryId];\\n        if (_query.response.drTxHash != 0) {\\n          // Query is in \\\"Reported\\\" status as soon as the hash of the\\n          // Witnet transaction that solved the query is reported\\n          // back from a Witnet bridge:\\n          return Witnet.QueryStatus.Reported;\\n        }\\n        else if (_query.from != address(0)) {\\n          // Otherwise, while address from which the query was posted\\n          // is kept in storage, the query remains in \\\"Posted\\\" status:\\n          return Witnet.QueryStatus.Posted;\\n        }\\n        else {\\n          // Requester's address is removed from storage only if\\n          // the query gets \\\"Deleted\\\" by its requester.\\n          return Witnet.QueryStatus.Deleted;\\n        }\\n      }\\n    }\\n\\n    function _getQueryStatusRevertMessage(Witnet.QueryStatus _status)\\n      internal pure\\n      returns (string memory)\\n    {\\n      if (_status == Witnet.QueryStatus.Posted) {\\n        return \\\"WitnetBoardData: not in Posted status\\\";\\n      } else if (_status == Witnet.QueryStatus.Reported) {\\n        return \\\"WitnetBoardData: not in Reported status\\\";\\n      } else if (_status == Witnet.QueryStatus.Deleted) {\\n        return \\\"WitnetBoardData: not in Deleted status\\\";\\n      } else {\\n        return \\\"WitnetBoardData: bad mood\\\";\\n      }\\n    }\\n\\n    /// Gets from of a given query.\\n    function _getRequester(uint256 _queryId)\\n      internal view\\n      returns (address)\\n    {\\n      return _state().queries[_queryId].from;\\n    }\\n\\n    /// Gets the Witnet.Request part of a given query.\\n    function _getRequestData(uint256 _queryId)\\n      internal view\\n      returns (Witnet.Request storage)\\n    {\\n        return _state().queries[_queryId].request;\\n    }\\n\\n    /// Gets the Witnet.Result part of a given query.\\n    function _getResponseData(uint256 _queryId)\\n      internal view\\n      returns (Witnet.Response storage)\\n    {\\n        return _state().queries[_queryId].response;\\n    }\\n\\n    /// Returns storage pointer to contents of 'WitnetBoardState' struct.\\n    function _state()\\n      internal pure\\n      returns (WitnetBoardState storage _ptr)\\n    {\\n        assembly {\\n            _ptr.slot := _WITNET_BOARD_DATA_SLOTHASH\\n        }\\n    }\\n\\n}\\n\",\"keccak256\":\"0x0c78c9981103e9ed35ace4e5f886a848f9dfe2aa26928adc0d37dabeff6a19db\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/data/WitnetBoardDataACLs.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"./WitnetBoardData.sol\\\";\\n\\n/// @title Witnet Access Control Lists storage layout, for Witnet-trusted request boards.\\n/// @author The Witnet Foundation.\\nabstract contract WitnetBoardDataACLs\\n    is\\n        WitnetBoardData\\n{\\n    bytes32 internal constant _WITNET_BOARD_ACLS_SLOTHASH =\\n        /* keccak256(\\\"io.witnet.boards.data.acls\\\") */\\n        0xa6db7263983f337bae2c9fb315730227961d1c1153ae1e10a56b5791465dd6fd;\\n\\n    struct WitnetBoardACLs {\\n        mapping (address => bool) isReporter_;\\n    }\\n\\n    constructor() {\\n        _acls().isReporter_[msg.sender] = true;\\n    }\\n\\n    modifier onlyReporters {\\n        require(\\n            _acls().isReporter_[msg.sender],\\n            \\\"WitnetBoardDataACLs: unauthorized reporter\\\"\\n        );\\n        _;\\n    } \\n\\n    // ================================================================================================================\\n    // --- Internal functions -----------------------------------------------------------------------------------------\\n\\n    function _acls() internal pure returns (WitnetBoardACLs storage _struct) {\\n        assembly {\\n            _struct.slot := _WITNET_BOARD_ACLS_SLOTHASH\\n        }\\n    }\\n}\\n\",\"keccak256\":\"0x558f28fc690d2f7180da9393bc49083da4857aa8480f044f68355a61ebf21257\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/impls/WitnetProxy.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../patterns/Upgradable.sol\\\";\\n\\n/// @title WitnetProxy: upgradable delegate-proxy contract that routes Witnet data requests coming from a \\n/// `UsingWitnet`-inheriting contract to a currently active `WitnetRequestBoard` implementation. \\n/// @author The Witnet Foundation.\\ncontract WitnetProxy {\\n\\n    struct WitnetProxySlot {\\n        address implementation;\\n    }\\n\\n    /// Event emitted every time the implementation gets updated.\\n    event Upgraded(address indexed implementation);  \\n\\n    /// Constructor with no params as to ease eventual support of Singleton pattern (i.e. ERC-2470).\\n    constructor () {}\\n\\n    /// WitnetProxies will never accept direct transfer of ETHs.\\n    receive() external payable {\\n        revert(\\\"WitnetProxy: no transfers accepted\\\");\\n    }\\n\\n    /// Payable fallback accepts delegating calls to payable functions.  \\n    fallback() external payable { /* solhint-disable no-complex-fallback */\\n        address _implementation = implementation();\\n\\n        assembly { /* solhint-disable avoid-low-level-calls */\\n            // Gas optimized delegate call to 'implementation' contract.\\n            // Note: `msg.data`, `msg.sender` and `msg.value` will be passed over \\n            //       to actual implementation of `msg.sig` within `implementation` contract.\\n            let ptr := mload(0x40)\\n            calldatacopy(ptr, 0, calldatasize())\\n            let result := delegatecall(gas(), _implementation, ptr, calldatasize(), 0, 0)\\n            let size := returndatasize()\\n            returndatacopy(ptr, 0, size)\\n            switch result\\n                case 0  { \\n                    // pass back revert message:\\n                    revert(ptr, size) \\n                }\\n                default {\\n                  // pass back same data as returned by 'implementation' contract:\\n                  return(ptr, size) \\n                }\\n        }\\n    }\\n\\n    /// Returns proxy's current implementation address.\\n    function implementation() public view returns (address) {\\n        return _proxySlot().implementation;\\n    }\\n\\n    /// Upgrades the `implementation` address.\\n    /// @param _newImplementation New implementation address.\\n    /// @param _initData Raw data with which new implementation will be initialized.\\n    /// @return Returns whether new implementation would be further upgradable, or not.\\n    function upgradeTo(address _newImplementation, bytes memory _initData)\\n        public returns (bool)\\n    {\\n        // New implementation cannot be null:\\n        require(_newImplementation != address(0), \\\"WitnetProxy: null implementation\\\");\\n\\n        address _oldImplementation = implementation();\\n        if (_oldImplementation != address(0)) {\\n            // New implementation address must differ from current one:\\n            require(_newImplementation != _oldImplementation, \\\"WitnetProxy: nothing to upgrade\\\");\\n\\n            // Assert whether current implementation is intrinsically upgradable:\\n            try Upgradable(_oldImplementation).isUpgradable() returns (bool _isUpgradable) {\\n                require(_isUpgradable, \\\"WitnetProxy: not upgradable\\\");\\n            } catch {\\n                revert(\\\"WitnetProxy: unable to check upgradability\\\");\\n            }\\n\\n            // Assert whether current implementation allows `msg.sender` to upgrade the proxy:\\n            (bool _wasCalled, bytes memory _result) = _oldImplementation.delegatecall(\\n                abi.encodeWithSignature(\\n                    \\\"isUpgradableFrom(address)\\\",\\n                    msg.sender\\n                )\\n            );\\n            require(_wasCalled, \\\"WitnetProxy: not compliant\\\");\\n            require(abi.decode(_result, (bool)), \\\"WitnetProxy: not authorized\\\");\\n            require(\\n                Upgradable(_oldImplementation).proxiableUUID() == Upgradable(_newImplementation).proxiableUUID(),\\n                \\\"WitnetProxy: proxiableUUIDs mismatch\\\"\\n            );\\n        }\\n\\n        // Initialize new implementation within proxy-context storage:\\n        (bool _wasInitialized,) = _newImplementation.delegatecall(\\n            abi.encodeWithSignature(\\n                \\\"initialize(bytes)\\\",\\n                _initData\\n            )\\n        );\\n        require(_wasInitialized, \\\"WitnetProxy: unable to initialize\\\");\\n\\n        // If all checks and initialization pass, update implementation address:\\n        _proxySlot().implementation = _newImplementation;\\n        emit Upgraded(_newImplementation);\\n\\n        // Asserts new implementation complies w/ minimal implementation of Upgradable interface:\\n        try Upgradable(_newImplementation).isUpgradable() returns (bool _isUpgradable) {\\n            return _isUpgradable;\\n        }\\n        catch {\\n            revert (\\\"WitnetProxy: not compliant\\\");\\n        }\\n    }\\n\\n    /// @dev Complying with EIP-1967, retrieves storage struct containing proxy's current implementation address.\\n    function _proxySlot() private pure returns (WitnetProxySlot storage _slot) {\\n        assembly {\\n            // bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)\\n            _slot.slot := 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\\n        }\\n    }\\n\\n}\\n\",\"keccak256\":\"0xcfdb698b63b9300631b046ecd8e16dbff90e8b4e84fdf1d629195ad17c8234d0\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/impls/WitnetRequestBoardUpgradableBase.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\n/* solhint-disable var-name-mixedcase */\\n\\n// Inherits from:\\nimport \\\"../WitnetRequestBoard.sol\\\";\\nimport \\\"../patterns/Proxiable.sol\\\";\\nimport \\\"../patterns/Upgradable.sol\\\";\\n\\n// Eventual deployment dependencies:\\nimport \\\"./WitnetProxy.sol\\\";\\n\\n/// @title Witnet Request Board base contract, with an Upgradable (and Destructible) touch.\\n/// @author The Witnet Foundation.\\nabstract contract WitnetRequestBoardUpgradableBase\\n    is\\n        Proxiable,\\n        Upgradable,\\n        WitnetRequestBoard\\n{\\n    bytes32 internal immutable _VERSION;\\n\\n    constructor(\\n            bool _upgradable,\\n            bytes32 _versionTag\\n        )\\n        Upgradable(_upgradable)\\n    {\\n        _VERSION = _versionTag;\\n    }\\n\\n    /// @dev Reverts if proxy delegatecalls to unexistent method.\\n    fallback() external payable {\\n        revert(\\\"WitnetRequestBoardUpgradableBase: not implemented\\\");\\n    }\\n\\n    // ================================================================================================================\\n    // --- Overrides 'Proxiable' --------------------------------------------------------------------------------------\\n\\n    /// @dev Gets immutable \\\"heritage blood line\\\" (ie. genotype) as a Proxiable, and eventually Upgradable, contract.\\n    ///      If implemented as an Upgradable touch, upgrading this contract to another one with a different \\n    ///      `proxiableUUID()` value should fail.\\n    function proxiableUUID() external pure override returns (bytes32) {\\n        return (\\n            /* keccak256(\\\"io.witnet.proxiable.board\\\") */\\n            0x9969c6aff411c5e5f0807500693e8f819ce88529615cfa6cab569b24788a1018\\n        );\\n    }   \\n\\n    // ================================================================================================================\\n    // --- Overrides 'Upgradable' --------------------------------------------------------------------------------------\\n\\n    /// Retrieves human-readable version tag of current implementation.\\n    function version() public view override returns (bytes32) {\\n        return _VERSION;\\n    }\\n\\n}\\n\",\"keccak256\":\"0x0930557dfafb03730e716e0af67ba7637a562f304ead6f2cedfa2c0eee91a65c\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableBase.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../WitnetRequestBoardUpgradableBase.sol\\\";\\nimport \\\"../../data/WitnetBoardDataACLs.sol\\\";\\nimport \\\"../../interfaces/IWitnetRequestBoardAdmin.sol\\\";\\nimport \\\"../../interfaces/IWitnetRequestBoardAdminACLs.sol\\\";\\nimport \\\"../../libs/WitnetParserLib.sol\\\";\\nimport \\\"../../patterns/Payable.sol\\\";\\n\\n/// @title Witnet Request Board \\\"trustable\\\" base implementation contract.\\n/// @notice Contract to bridge requests to Witnet Decentralized Oracle Network.\\n/// @dev This contract enables posting requests that Witnet bridges will insert into the Witnet network.\\n/// The result of the requests will be posted back to this contract by the bridge nodes too.\\n/// @author The Witnet Foundation\\nabstract contract WitnetRequestBoardTrustableBase\\n    is \\n        Payable,\\n        IWitnetRequestBoardAdmin,\\n        IWitnetRequestBoardAdminACLs,        \\n        WitnetBoardDataACLs,\\n        WitnetRequestBoardUpgradableBase        \\n{\\n    using Witnet for bytes;\\n    using WitnetParserLib for Witnet.Result;\\n    \\n    constructor(bool _upgradable, bytes32 _versionTag, address _currency)\\n        Payable(_currency)\\n        WitnetRequestBoardUpgradableBase(_upgradable, _versionTag)\\n    {}\\n\\n\\n    // ================================================================================================================\\n    // --- Overrides 'Upgradable' -------------------------------------------------------------------------------------\\n\\n    /// Initialize storage-context when invoked as delegatecall. \\n    /// @dev Must fail when trying to initialize same instance more than once.\\n    function initialize(bytes memory _initData) virtual external override {\\n        address _owner = _state().owner;\\n        if (_owner == address(0)) {\\n            // set owner if none set yet\\n            _owner = msg.sender;\\n            _state().owner = _owner;\\n        } else {\\n            // only owner can initialize:\\n            require(msg.sender == _owner, \\\"WitnetRequestBoardTrustableBase: only owner\\\");\\n        }        \\n\\n        if (_state().base != address(0)) {\\n            // current implementation cannot be initialized more than once:\\n            require(_state().base != base(), \\\"WitnetRequestBoardTrustableBase: already initialized\\\");\\n        }        \\n        _state().base = base();\\n\\n        emit Upgraded(msg.sender, base(), codehash(), version());\\n\\n        // Do actual base initialization:\\n        setReporters(abi.decode(_initData, (address[])));\\n    }\\n\\n    /// Tells whether provided address could eventually upgrade the contract.\\n    function isUpgradableFrom(address _from) external view override returns (bool) {\\n        address _owner = _state().owner;\\n        return (\\n            // false if the WRB is intrinsically not upgradable, or `_from` is no owner\\n            isUpgradable()\\n                && _owner == _from\\n        );\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestBoardAdmin' ----------------------------------------------------------\\n\\n    /// Gets admin/owner address.\\n    function owner()\\n        public view\\n        override\\n        returns (address)\\n    {\\n        return _state().owner;\\n    }\\n\\n    /// Transfers ownership.\\n    function transferOwnership(address _newOwner)\\n        external\\n        virtual override\\n        onlyOwner\\n    {\\n        address _owner = _state().owner;\\n        if (_newOwner != _owner) {\\n            _state().owner = _newOwner;\\n            emit OwnershipTransferred(_owner, _newOwner);\\n        }\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestBoardAdminACLs' ------------------------------------------------------\\n\\n    /// Tells whether given address is included in the active reporters control list.\\n    /// @param _reporter The address to be checked.\\n    function isReporter(address _reporter) public view override returns (bool) {\\n        return _acls().isReporter_[_reporter];\\n    }\\n\\n    /// Adds given addresses to the active reporters control list.\\n    /// @dev Can only be called from the owner address.\\n    /// @dev Emits the `ReportersSet` event. \\n    /// @param _reporters List of addresses to be added to the active reporters control list.\\n    function setReporters(address[] memory _reporters)\\n        public\\n        override\\n        onlyOwner\\n    {\\n        for (uint ix = 0; ix < _reporters.length; ix ++) {\\n            address _reporter = _reporters[ix];\\n            _acls().isReporter_[_reporter] = true;\\n        }\\n        emit ReportersSet(_reporters);\\n    }\\n\\n    /// Removes given addresses from the active reporters control list.\\n    /// @dev Can only be called from the owner address.\\n    /// @dev Emits the `ReportersUnset` event. \\n    /// @param _exReporters List of addresses to be added to the active reporters control list.\\n    function unsetReporters(address[] memory _exReporters)\\n        public\\n        override\\n        onlyOwner\\n    {\\n        for (uint ix = 0; ix < _exReporters.length; ix ++) {\\n            address _reporter = _exReporters[ix];\\n            _acls().isReporter_[_reporter] = false;\\n        }\\n        emit ReportersUnset(_exReporters);\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestBoardReporter' -------------------------------------------------------\\n\\n    /// Reports the Witnet-provided result to a previously posted request. \\n    /// @dev Will assume `block.timestamp` as the timestamp at which the request was solved.\\n    /// @dev Fails if:\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique identifier of the data request.\\n    /// @param _drTxHash The hash of the solving tally transaction in Witnet.\\n    /// @param _cborBytes The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            bytes32 _drTxHash,\\n            bytes calldata _cborBytes\\n        )\\n        external\\n        override\\n        onlyReporters\\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n    {\\n        require(_drTxHash != 0, \\\"WitnetRequestBoardTrustableDefault: Witnet drTxHash cannot be zero\\\");\\n        // Ensures the result bytes do not have zero length\\n        // This would not be a valid encoding with CBOR and could trigger a reentrancy attack\\n        require(_cborBytes.length != 0, \\\"WitnetRequestBoardTrustableDefault: result cannot be empty\\\");\\n        // solhint-disable not-rely-on-time\\n        _safeTransferTo(\\n            payable(msg.sender),\\n            __reportResult(\\n                _queryId,\\n                block.timestamp,\\n                _drTxHash,\\n                _cborBytes\\n            )\\n        );\\n        emit PostedResult(_queryId, msg.sender);\\n    }\\n\\n    /// Reports the Witnet-provided result to a previously posted request.\\n    /// @dev Fails if:\\n    /// @dev - called from unauthorized address;\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique query identifier\\n    /// @param _timestamp The timestamp of the solving tally transaction in Witnet.\\n    /// @param _drTxHash The hash of the solving tally transaction in Witnet.\\n    /// @param _cborBytes The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            uint256 _timestamp,\\n            bytes32 _drTxHash,\\n            bytes calldata _cborBytes\\n        )\\n        external\\n        override\\n        onlyReporters\\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n    {\\n        require(_timestamp <= block.timestamp, \\\"WitnetRequestBoardTrustableDefault: bad timestamp\\\");\\n        require(_drTxHash != 0, \\\"WitnetRequestBoardTrustableDefault: Witnet drTxHash cannot be zero\\\");\\n        // Ensures the result bytes do not have zero length\\n        // This would not be a valid encoding with CBOR and could trigger a reentrancy attack\\n        require(_cborBytes.length != 0, \\\"WitnetRequestBoardTrustableDefault: result cannot be empty\\\");\\n        _safeTransferTo(\\n            payable(msg.sender),\\n            __reportResult(\\n                _queryId,\\n                _timestamp,\\n                _drTxHash,\\n                _cborBytes\\n            )\\n        );\\n        emit PostedResult(_queryId, msg.sender);\\n    }\\n\\n    /// Reports Witnet-provided results to multiple requests within a single EVM tx.\\n    /// @dev Fails if called from unauthorized address.\\n    /// @dev Emits a PostedResult event for every succesfully reported result, if any.\\n    /// @param _batchResults Array of BatchedResult structs, every one containing:\\n    ///         - unique query identifier;\\n    ///         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;\\n    ///         - hash of the corresponding data request tx at the Witnet side-chain level;\\n    ///         - data request result in raw bytes.\\n    /// @param _verbose If true, emits a BatchReportError event for every failing report, if any. \\n    function reportResultBatch(\\n            BatchResult[] memory _batchResults,\\n            bool _verbose\\n        )\\n        external\\n        override\\n        onlyReporters\\n    {\\n        uint _batchReward;\\n        uint _batchSize = _batchResults.length;\\n        for ( uint _i = 0; _i < _batchSize; _i ++) {\\n            BatchResult memory _result = _batchResults[_i];\\n            if (_getQueryStatus(_result.queryId) != Witnet.QueryStatus.Posted) {\\n                if (_verbose) {\\n                    emit BatchReportError(\\n                        _result.queryId,\\n                        \\\"WitnetRequestBoardTrustableBase: bad queryId\\\"\\n                    );\\n                }\\n            } else if (_result.drTxHash == 0) {\\n                if (_verbose) {\\n                    emit BatchReportError(\\n                        _result.queryId,\\n                        \\\"WitnetRequestBoardTrustableBase: bad drTxHash\\\"\\n                    );\\n                }\\n            } else if (_result.cborBytes.length == 0) {\\n                if (_verbose) {\\n                    emit BatchReportError(\\n                        _result.queryId, \\n                        \\\"WitnetRequestBoardTrustableBase: bad cborBytes\\\"\\n                    );\\n                }\\n            } else if (_result.timestamp > 0 && _result.timestamp > block.timestamp) {\\n                if (_verbose) {\\n                    emit BatchReportError(\\n                        _result.queryId,\\n                        \\\"WitnetRequestBoardTrustableBase: bad timestamp\\\"\\n                    );\\n                }\\n            } else {\\n                _batchReward += __reportResult(\\n                    _result.queryId,\\n                    _result.timestamp == 0 ? block.timestamp : _result.timestamp,\\n                    _result.drTxHash,\\n                    _result.cborBytes\\n                );\\n                emit PostedResult(\\n                    _result.queryId,\\n                    msg.sender\\n                );\\n            }\\n        }   \\n        // Transfer all successful rewards in one single shot to the authorized reporter, if any:\\n        if (_batchReward > 0) {\\n            _safeTransferTo(\\n                payable(msg.sender),\\n                _batchReward\\n            );\\n        }\\n    }\\n    \\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestBoardRequestor' ------------------------------------------------------\\n\\n    /// Retrieves copy of all response data related to a previously posted request, removing the whole query from storage.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status, or called from an address different to\\n    /// @dev the one that actually posted the given request.\\n    /// @param _queryId The unique query identifier.\\n    function deleteQuery(uint256 _queryId)\\n        public\\n        virtual override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (Witnet.Response memory _response)\\n    {\\n        Witnet.Query storage __query = _state().queries[_queryId];\\n        require(\\n            msg.sender == __query.from,\\n            \\\"WitnetRequestBoardTrustableBase: only requester\\\"\\n        );\\n        _response = __query.response;\\n        delete _state().queries[_queryId];\\n        emit DeletedQuery(_queryId, msg.sender);\\n    }\\n\\n    /// Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON.\\n    /// A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided \\n    /// result to this request.\\n    /// @dev Fails if:\\n    /// @dev - provided reward is too low.\\n    /// @dev - provided script is zero address.\\n    /// @dev - provided script bytecode is empty.\\n    /// @param _addr The address of a IWitnetRequest contract, containing the actual Data Request seralized bytecode.\\n    /// @return _queryId An unique query identifier.\\n    function postRequest(IWitnetRequest _addr)\\n        public payable\\n        virtual override\\n        returns (uint256 _queryId)\\n    {\\n        uint256 _value = _getMsgValue();\\n        uint256 _gasPrice = _getGasPrice();\\n\\n        // Checks the tally reward is covering gas cost\\n        uint256 minResultReward = estimateReward(_gasPrice);\\n        require(_value >= minResultReward, \\\"WitnetRequestBoardTrustableBase: reward too low\\\");\\n\\n        // Validates provided script:\\n        require(address(_addr) != address(0), \\\"WitnetRequestBoardTrustableBase: null script\\\");\\n        bytes memory _bytecode = _addr.bytecode();\\n        require(_bytecode.length > 0, \\\"WitnetRequestBoardTrustableBase: empty script\\\");\\n\\n        _queryId = ++ _state().numQueries;\\n        _state().queries[_queryId].from = msg.sender;\\n\\n        Witnet.Request storage _request = _getRequestData(_queryId);\\n        _request.addr = _addr;\\n        _request.hash = _bytecode.hash();\\n        _request.gasprice = _gasPrice;\\n        _request.reward = _value;\\n\\n        // Let observers know that a new request has been posted\\n        emit PostedRequest(_queryId, msg.sender);\\n    }\\n    \\n    /// Increments the reward of a previously posted request by adding the transaction value to it.\\n    /// @dev Updates request `gasPrice` in case this method is called with a higher \\n    /// @dev gas price value than the one used in previous calls to `postRequest` or\\n    /// @dev `upgradeReward`. \\n    /// @dev Fails if the `_queryId` is not in 'Posted' status.\\n    /// @dev Fails also in case the request `gasPrice` is increased, and the new \\n    /// @dev reward value gets below new recalculated threshold. \\n    /// @param _queryId The unique query identifier.\\n    function upgradeReward(uint256 _queryId)\\n        public payable\\n        virtual override      \\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n    {\\n        Witnet.Request storage _request = _getRequestData(_queryId);\\n\\n        uint256 _newReward = _request.reward + _getMsgValue();\\n        uint256 _newGasPrice = _getGasPrice();\\n\\n        // If gas price is increased, then check if new rewards cover gas costs\\n        if (_newGasPrice > _request.gasprice) {\\n            // Checks the reward is covering gas cost\\n            uint256 _minResultReward = estimateReward(_newGasPrice);\\n            require(\\n                _newReward >= _minResultReward,\\n                \\\"WitnetRequestBoardTrustableBase: reward too low\\\"\\n            );\\n            _request.gasprice = _newGasPrice;\\n        }\\n        _request.reward = _newReward;\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestBoardView' -----------------------------------------------------------\\n\\n    /// Estimates the amount of reward we need to insert for a given gas price.\\n    /// @param _gasPrice The gas price for which we need to calculate the rewards.\\n    function estimateReward(uint256 _gasPrice)\\n        public view\\n        virtual override\\n        returns (uint256);\\n\\n    /// Returns next request id to be generated by the Witnet Request Board.\\n    function getNextQueryId()\\n        external view \\n        override\\n        returns (uint256)\\n    {\\n        return _state().numQueries + 1;\\n    }\\n\\n    /// Gets the whole Query data contents, if any, no matter its current status.\\n    function getQueryData(uint256 _queryId)\\n      external view\\n      override\\n      returns (Witnet.Query memory)\\n    {\\n        return _state().queries[_queryId];\\n    }\\n\\n    /// Gets current status of given query.\\n    function getQueryStatus(uint256 _queryId)\\n        external view\\n        override\\n        returns (Witnet.QueryStatus)\\n    {\\n        return _getQueryStatus(_queryId);\\n\\n    }\\n\\n    /// Retrieves the whole Request record posted to the Witnet Request Board.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been reported\\n    /// @dev or deleted.\\n    /// @param _queryId The unique identifier of a previously posted query.\\n    function readRequest(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n        returns (Witnet.Request memory _request)\\n    {\\n        Witnet.Query storage __query = _state().queries[_queryId];\\n        _request = __query.request;\\n        if (__query.from != address(0)) {\\n            _request.requester = __query.from;\\n        }\\n    }\\n    \\n    /// Retrieves the serialized bytecode of a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not valid, or if the related script bytecode \\n    /// @dev got changed after being posted. Returns empty array once it gets reported, \\n    /// @dev or deleted.\\n    /// @param _queryId The unique query identifier.\\n    function readRequestBytecode(uint256 _queryId)\\n        external view\\n        override\\n        returns (bytes memory _bytecode)\\n    {\\n        require(\\n            _getQueryStatus(_queryId) != Witnet.QueryStatus.Unknown,\\n            \\\"WitnetRequestBoardTrustableBase: not yet posted\\\"\\n        );\\n        Witnet.Request storage _request = _getRequestData(_queryId);\\n        if (address(_request.addr) != address(0)) {\\n            // if DR's request contract address is not zero,\\n            // we assume the DR has not been deleted, so\\n            // DR's bytecode can still be fetched:\\n            _bytecode = _request.addr.bytecode();\\n            require(\\n                _bytecode.hash() == _request.hash,\\n                \\\"WitnetRequestBoardTrustableBase: bytecode changed after posting\\\"\\n            );\\n        } \\n    }\\n\\n    /// Retrieves the gas price that any assigned reporter will have to pay when reporting \\n    /// result to a previously posted Witnet data request.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifier\\n    function readRequestGasPrice(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n        returns (uint256)\\n    {\\n        return _state().queries[_queryId].request.gasprice;\\n    }\\n\\n    /// Retrieves the reward currently set for a previously posted request.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifier\\n    function readRequestReward(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n        returns (uint256)\\n    {\\n        return _state().queries[_queryId].request.reward;\\n    }\\n\\n    /// Retrieves the Witnet-provided result, and metadata, to a previously posted request.    \\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier\\n    function readResponse(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (Witnet.Response memory _response)\\n    {\\n        return _getResponseData(_queryId);\\n    }\\n\\n    /// Retrieves the hash of the Witnet transaction that actually solved the referred query.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseDrTxHash(uint256 _queryId)\\n        external view        \\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (bytes32)\\n    {\\n        return _getResponseData(_queryId).drTxHash;\\n    }\\n\\n    /// Retrieves the address that reported the result to a previously-posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier\\n    function readResponseReporter(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (address)\\n    {\\n        return _getResponseData(_queryId).reporter;\\n    }\\n\\n    /// Retrieves the Witnet-provided CBOR-bytes result of a previously posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier\\n    function readResponseResult(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (Witnet.Result memory)\\n    {\\n        Witnet.Response storage _response = _getResponseData(_queryId);\\n        return WitnetParserLib.resultFromCborBytes(_response.cborBytes);\\n    }\\n\\n    /// Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseTimestamp(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (uint256)\\n    {\\n        return _getResponseData(_queryId).timestamp;\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestParser' interface ----------------------------------------------------\\n\\n    /// Decode raw CBOR bytes into a Witnet.Result instance.\\n    /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborBytes(bytes memory _cborBytes)\\n        external pure\\n        override\\n        returns (Witnet.Result memory)\\n    {\\n        return WitnetParserLib.resultFromCborBytes(_cborBytes);\\n    }\\n\\n    /// Decode a CBOR value into a Witnet.Result instance.\\n    /// @param _cborValue An instance of `Witnet.CBOR`.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborValue(Witnet.CBOR memory _cborValue)\\n        external pure\\n        override\\n        returns (Witnet.Result memory)\\n    {\\n        return WitnetParserLib.resultFromCborValue(_cborValue);\\n    }\\n\\n    /// Tell if a Witnet.Result is successful.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if successful, `false` if errored.\\n    function isOk(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (bool)\\n    {\\n        return _result.isOk();\\n    }\\n\\n    /// Tell if a Witnet.Result is errored.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if errored, `false` if successful.\\n    function isError(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (bool)\\n    {\\n        return _result.isError();\\n    }\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes` decoded from the Witnet.Result.\\n    function asBytes(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (bytes memory)\\n    {\\n        return _result.asBytes();\\n    }\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes32` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes32` decoded from the Witnet.Result.\\n    function asBytes32(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (bytes32)\\n    {\\n        return _result.asBytes32();\\n    }\\n\\n    /// Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `CBORValue.Error memory` decoded from the Witnet.Result.\\n    function asErrorCode(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (Witnet.ErrorCodes)\\n    {\\n        return _result.asErrorCode();\\n    }\\n\\n    /// Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\\n    /// @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\\n    function asErrorMessage(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (Witnet.ErrorCodes, string memory)\\n    {\\n        try _result.asErrorMessage() returns (Witnet.ErrorCodes _code, string memory _message) {\\n            return (_code, _message);\\n        } \\n        catch Error(string memory _reason) {\\n            return (Witnet.ErrorCodes.Unknown, _reason);\\n        }\\n        catch (bytes memory) {\\n            return (Witnet.ErrorCodes.UnhandledIntercept, \\\"WitnetRequestBoardTrustableBase: failing assert\\\");\\n        }\\n    }\\n\\n    /// Decode a raw error from a `Witnet.Result` as a `uint64[]`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `uint64[]` raw error as decoded from the `Witnet.Result`.\\n    function asRawError(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns(uint64[] memory)\\n    {\\n        return _result.asRawError();\\n    }\\n\\n    /// Decode a boolean value from a Witnet.Result as an `bool` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bool` decoded from the Witnet.Result.\\n    function asBool(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (bool)\\n    {\\n        return _result.asBool();\\n    }\\n\\n    /// Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\\n    /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\\n    /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\\n    /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asFixed16(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (int32)\\n    {\\n        return _result.asFixed16();\\n    }\\n\\n    /// Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asFixed16Array(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (int32[] memory)\\n    {\\n        return _result.asFixed16Array();\\n    }\\n\\n    /// Decode a integer numeric value from a Witnet.Result as an `int128` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asInt128(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (int128)\\n    {\\n        return _result.asInt128();\\n    }\\n\\n    /// Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asInt128Array(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (int128[] memory)\\n    {\\n        return _result.asInt128Array();\\n    }\\n\\n    /// Decode a string value from a Witnet.Result as a `string` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string` decoded from the Witnet.Result.\\n    function asString(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (string memory)\\n    {\\n        return _result.asString();\\n    }\\n\\n    /// Decode an array of string values from a Witnet.Result as a `string[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string[]` decoded from the Witnet.Result.\\n    function asStringArray(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (string[] memory)\\n    {\\n        return _result.asStringArray();\\n    }\\n\\n    /// Decode a natural numeric value from a Witnet.Result as a `uint64` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64` decoded from the Witnet.Result.\\n    function asUint64(Witnet.Result memory _result)\\n        external pure \\n        override\\n        returns(uint64)\\n    {\\n        return _result.asUint64();\\n    }\\n\\n    /// Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64[]` decoded from the Witnet.Result.\\n    function asUint64Array(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (uint64[] memory)\\n    {\\n        return _result.asUint64Array();\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Internal functions -----------------------------------------------------------------------------------------\\n\\n    function __reportResult(\\n            uint256 _queryId,\\n            uint256 _timestamp,\\n            bytes32 _drTxHash,\\n            bytes memory _cborBytes\\n        )\\n        internal\\n        returns (uint256 _reward)\\n    {\\n        Witnet.Query storage __query = _state().queries[_queryId];\\n        Witnet.Request storage __request = __query.request;\\n        Witnet.Response storage __response = __query.response;\\n\\n        // solhint-disable not-rely-on-time\\n        __response.timestamp = _timestamp;\\n        __response.drTxHash = _drTxHash;\\n        __response.reporter = msg.sender;\\n        __response.cborBytes = _cborBytes;\\n\\n        // return request latest reward\\n        _reward = __request.reward;\\n\\n        // Request data won't be needed anymore, so it can just get deleted right now:  \\n        delete __query.request;\\n    }\\n}\\n\",\"keccak256\":\"0x6b6ccba7e686a69bf0847b9c541e3997f14f3f91246c63fbadd412ba78c4a8d4\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableDefault.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\n/* solhint-disable var-name-mixedcase */\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./WitnetRequestBoardTrustableBase.sol\\\";\\nimport \\\"../../patterns/Destructible.sol\\\";\\n\\n/// @title Witnet Request Board \\\"trustable\\\" implementation contract.\\n/// @notice Contract to bridge requests to Witnet Decentralized Oracle Network.\\n/// @dev This contract enables posting requests that Witnet bridges will insert into the Witnet network.\\n/// The result of the requests will be posted back to this contract by the bridge nodes too.\\n/// @author The Witnet Foundation\\ncontract WitnetRequestBoardTrustableDefault\\n    is \\n        Destructible,\\n        WitnetRequestBoardTrustableBase\\n{  \\n    uint256 internal immutable _ESTIMATED_REPORT_RESULT_GAS;\\n\\n    constructor(\\n        bool _upgradable,\\n        bytes32 _versionTag,\\n        uint256 _reportResultGasLimit\\n    )\\n        WitnetRequestBoardTrustableBase(_upgradable, _versionTag, address(0))\\n    {\\n        _ESTIMATED_REPORT_RESULT_GAS = _reportResultGasLimit;\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Overrides implementation of 'IWitnetRequestBoardView' ------------------------------------------------------\\n\\n    /// Estimates the amount of reward we need to insert for a given gas price.\\n    /// @param _gasPrice The gas price for which we need to calculate the rewards.\\n    function estimateReward(uint256 _gasPrice)\\n        public view\\n        virtual override\\n        returns (uint256)\\n    {\\n        return _gasPrice * _ESTIMATED_REPORT_RESULT_GAS;\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Overrides 'Destructible' -----------------------------------------------------------------------------------\\n\\n    /// Destroys current instance. Only callable by the owner.\\n    function destruct() external override onlyOwner {\\n        selfdestruct(payable(msg.sender));\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Overrides 'Payable' ----------------------------------------------------------------------------------------\\n\\n    /// Gets current transaction price.\\n    function _getGasPrice()\\n        internal view\\n        override\\n        returns (uint256)\\n    {\\n        return tx.gasprice;\\n    }\\n\\n    /// Gets current payment value.\\n    function _getMsgValue()\\n        internal view\\n        override\\n        returns (uint256)\\n    {\\n        return msg.value;\\n    }\\n\\n    /// Transfers ETHs to given address.\\n    /// @param _to Recipient address.\\n    /// @param _amount Amount of ETHs to transfer.\\n    function _safeTransferTo(address payable _to, uint256 _amount)\\n        internal\\n        override\\n    {\\n        payable(_to).transfer(_amount);\\n    }   \\n}\\n\",\"keccak256\":\"0xc89e1a65e9045323dda045c8552adc0a329697e2f144911b4059c68673999f9c\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IERC20.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/**\\n * @dev Interface of the ERC20 standard as defined in the EIP.\\n */\\ninterface IERC20 {\\n    /// Returns the amount of tokens in existence.\\n    function totalSupply() external view returns (uint256);\\n\\n    /// Returns the amount of tokens owned by `_account`.\\n    function balanceOf(address _account) external view returns (uint256);\\n\\n    /// Moves `_amount` tokens from the caller's account to `_recipient`.\\n    /// Returns a boolean value indicating whether the operation succeeded.\\n    /// Emits a {Transfer} event.\\n    function transfer(address _recipient, uint256 _amount) external returns (bool);\\n\\n    /// Returns the remaining number of tokens that `_spender` will be\\n    /// allowed to spend on behalf of `_owner` through {transferFrom}. This is\\n    /// zero by default.\\n    /// This value changes when {approve} or {transferFrom} are called.\\n    function allowance(address _owner, address _spender) external view returns (uint256);\\n\\n    /// Sets `_amount` as the allowance of `_spender` over the caller's tokens.\\n    /// Returns a boolean value indicating whether the operation succeeded.\\n    /// \\n    /// IMPORTANT: Beware that changing an allowance with this method brings the risk\\n    /// that someone may use both the old and the new allowance by unfortunate\\n    /// transaction ordering. One possible solution to mitigate this race\\n    /// condition is to first reduce the spender's allowance to 0 and set the\\n    /// desired value afterwards:\\n    /// https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\\n    ///\\n    /// Emits an {Approval} event.     \\n    function approve(address _spender, uint256 _amount) external returns (bool);\\n\\n    /// Moves `amount` tokens from `_sender` to `_recipient` using the\\n    /// allowance mechanism. `amount` is then deducted from the caller's\\n    /// allowance.\\n    /// Returns a boolean value indicating whether the operation succeeded.\\n    /// Emits a {Transfer} event. \\n    function transferFrom(\\n        address _sender,\\n        address _recipient,\\n        uint256 _amount\\n    ) external returns (bool);\\n\\n    /// Emitted when `value` tokens are moved from one account (`from`) to\\n    /// another (`to`).\\n    /// Note that `:value` may be zero.\\n    event Transfer(address indexed from, address indexed to, uint256 value);\\n\\n    /// Emitted when the allowance of a `spender` for an `owner` is set by\\n    /// a call to {approve}. `value` is the new allowance.\\n    event Approval(address indexed owner, address indexed spender, uint256 value);\\n}\\n\",\"keccak256\":\"0xd6b25613fab1f6172ca58e377371a0b708f1af8982961364fecf9da196213f48\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardAdmin.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title Witnet Request Board basic administration interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardAdmin {\\n    event OwnershipTransferred(address indexed from, address indexed to);\\n\\n    /// Gets admin/owner address.\\n    function owner() external view returns (address);\\n\\n    /// Transfers ownership.\\n    function transferOwnership(address) external;\\n}\\n\",\"keccak256\":\"0xa88e828c55cb4e2c1ef02c9204e367d3034fc2e35cc881581d898942b9715d50\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardAdminACLs.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title Witnet Request Board ACLs administration interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardAdminACLs {\\n    event ReportersSet(address[] reporters);\\n    event ReportersUnset(address[] reporters);\\n\\n    /// Tells whether given address is included in the active reporters control list.\\n    function isReporter(address) external view returns (bool);\\n\\n    /// Adds given addresses to the active reporters control list.\\n    /// @dev Can only be called from the owner address.\\n    /// @dev Emits the `ReportersSet` event. \\n    function setReporters(address[] calldata reporters) external;\\n\\n    /// Removes given addresses from the active reporters control list.\\n    /// @dev Can only be called from the owner address.\\n    /// @dev Emits the `ReportersUnset` event. \\n    function unsetReporters(address[] calldata reporters) external;\\n}\\n\",\"keccak256\":\"0xafcd6f01a977d597032b341fec291ea7e26b1dac3eb13eced8b37d89eb76e4ff\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardEvents.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title Witnet Request Board emitting events interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardEvents {\\n    /// Emitted when a Witnet Data Request is posted to the WRB.\\n    event PostedRequest(uint256 queryId, address from);\\n\\n    /// Emitted when a Witnet-solved result is reported to the WRB.\\n    event PostedResult(uint256 queryId, address from);\\n\\n    /// Emitted when all data related to given query is deleted from the WRB.\\n    event DeletedQuery(uint256 queryId, address from);\\n}\\n\",\"keccak256\":\"0xe2cb1369ba158db394c0380231f99174a88d62a66b0e7f8be14179b8c2fbd12f\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardReporter.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Request Board Reporter interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardReporter {\\n    /// Reports the Witnet-provided result to a previously posted request. \\n    /// @dev Will assume `block.timestamp` as the timestamp at which the request was solved.\\n    /// @dev Fails if:\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique identifier of the data request.\\n    /// @param _drTxHash The hash of the corresponding data request transaction in Witnet.\\n    /// @param _result The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            bytes32 _drTxHash,\\n            bytes calldata _result\\n        ) external;\\n\\n    /// Reports the Witnet-provided result to a previously posted request.\\n    /// @dev Fails if:\\n    /// @dev - called from unauthorized address;\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique query identifier\\n    /// @param _timestamp The timestamp of the solving tally transaction in Witnet.\\n    /// @param _drTxHash The hash of the corresponding data request transaction in Witnet.\\n    /// @param _result The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            uint256 _timestamp,\\n            bytes32 _drTxHash,\\n            bytes calldata _result\\n        ) external;\\n\\n    /// Reports Witnet-provided results to multiple requests within a single EVM tx.\\n    /// @dev Must emit a PostedResult event for every succesfully reported result.\\n    /// @param _batchResults Array of BatchResult structs, every one containing:\\n    ///         - unique query identifier;\\n    ///         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;\\n    ///         - hash of the corresponding data request tx at the Witnet side-chain level;\\n    ///         - data request result in raw bytes.\\n    /// @param _verbose If true, must emit a BatchReportError event for every failing report, if any. \\n    function reportResultBatch(BatchResult[] calldata _batchResults, bool _verbose) external;\\n        \\n        struct BatchResult {\\n            uint256 queryId;\\n            uint256 timestamp;\\n            bytes32 drTxHash;\\n            bytes   cborBytes;\\n        }\\n\\n        event BatchReportError(uint256 queryId, string reason);\\n}\\n\",\"keccak256\":\"0x70655a9a394143ac1f03477a2cca5e2d1773523832bf127b9e9971596c105812\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardRequestor.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Requestor Interface\\n/// @notice It defines how to interact with the Witnet Request Board in order to:\\n///   - request the execution of Witnet Radon scripts (data request);\\n///   - upgrade the resolution reward of any previously posted request, in case gas price raises in mainnet;\\n///   - read the result of any previously posted request, eventually reported by the Witnet DON.\\n///   - remove from storage all data related to past and solved data requests, and results.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardRequestor {\\n    /// Retrieves a copy of all Witnet-provided data related to a previously posted request, removing the whole query from the WRB storage.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status, or called from an address different to\\n    /// @dev the one that actually posted the given request.\\n    /// @param _queryId The unique query identifier.\\n    function deleteQuery(uint256 _queryId) external returns (Witnet.Response memory);\\n\\n    /// Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON.\\n    /// A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided \\n    /// result to this request.\\n    /// @dev Fails if:\\n    /// @dev - provided reward is too low.\\n    /// @dev - provided script is zero address.\\n    /// @dev - provided script bytecode is empty.\\n    /// @param _addr The address of the IWitnetRequest contract that can provide the actual Data Request bytecode.\\n    /// @return _queryId An unique query identifier.\\n    function postRequest(IWitnetRequest _addr) external payable returns (uint256 _queryId);\\n\\n    /// Increments the reward of a previously posted request by adding the transaction value to it.\\n    /// @dev Updates request `gasPrice` in case this method is called with a higher \\n    /// @dev gas price value than the one used in previous calls to `postRequest` or\\n    /// @dev `upgradeReward`. \\n    /// @dev Fails if the `_queryId` is not in 'Posted' status.\\n    /// @dev Fails also in case the request `gasPrice` is increased, and the new \\n    /// @dev reward value gets below new recalculated threshold. \\n    /// @param _queryId The unique query identifier.\\n    function upgradeReward(uint256 _queryId) external payable;\\n}\\n\",\"keccak256\":\"0x7c7a991de5f087102b1931d5d8b2e3716d7a90354b3cbafef95d2509a0643453\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardView.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Request Board info interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardView {\\n    /// Estimates the amount of reward we need to insert for a given gas price.\\n    /// @param _gasPrice The gas price for which we need to calculate the rewards.\\n    function estimateReward(uint256 _gasPrice) external view returns (uint256);\\n\\n    /// Returns next query id to be generated by the Witnet Request Board.\\n    function getNextQueryId() external view returns (uint256);\\n\\n    /// Gets the whole Query data contents, if any, no matter its current status.\\n    function getQueryData(uint256 _queryId) external view returns (Witnet.Query memory);\\n\\n    /// Gets current status of given query.\\n    function getQueryStatus(uint256 _queryId) external view returns (Witnet.QueryStatus);\\n\\n    /// Retrieves the whole Request record posted to the Witnet Request Board.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been reported\\n    /// @dev or deleted.\\n    /// @param _queryId The unique identifier of a previously posted query.\\n    function readRequest(uint256 _queryId) external view returns (Witnet.Request memory);\\n\\n    /// Retrieves the serialized bytecode of a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not valid, or if the related script bytecode \\n    /// @dev got changed after being posted. Returns empty array once it gets reported, \\n    /// @dev or deleted.\\n    /// @param _queryId The unique query identifier.\\n    function readRequestBytecode(uint256 _queryId) external view returns (bytes memory);\\n\\n    /// Retrieves the gas price that any assigned reporter will have to pay when reporting \\n    /// result to a previously posted Witnet data request.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifie\\n    function readRequestGasPrice(uint256 _queryId) external view returns (uint256);\\n\\n    /// Retrieves the reward currently set for the referred query.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifier.\\n    function readRequestReward(uint256 _queryId) external view returns (uint256);\\n\\n    /// Retrieves the whole `Witnet.Response` record referred to a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponse(uint256 _queryId) external view returns (Witnet.Response memory);\\n\\n    /// Retrieves the hash of the Witnet transaction hash that actually solved the referred query.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseDrTxHash(uint256 _queryId) external view returns (bytes32);    \\n\\n    /// Retrieves the address that reported the result to a previously-posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseReporter(uint256 _queryId) external view returns (address);\\n\\n    /// Retrieves the Witnet-provided CBOR-bytes result of a previously posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseResult(uint256 _queryId) external view returns (Witnet.Result memory);\\n\\n    /// Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseTimestamp(uint256 _queryId) external view returns (uint256);\\n}\\n\",\"keccak256\":\"0x782ec2ff166948f5d097765c0190b352793d8b8887af5f8384d875d63cff4e9b\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestParser.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title The Witnet interface for decoding Witnet-provided request to Data Requests.\\n/// This interface exposes functions to check for the success/failure of\\n/// a Witnet-provided result, as well as to parse and convert result into\\n/// Solidity types suitable to the application level. \\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestParser {\\n\\n    /// Decode raw CBOR bytes into a Witnet.Result instance.\\n    /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborBytes(bytes memory _cborBytes) external pure returns (Witnet.Result memory);\\n\\n    /// Decode a CBOR value into a Witnet.Result instance.\\n    /// @param _cborValue An instance of `Witnet.CBOR`.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborValue(Witnet.CBOR memory _cborValue) external pure returns (Witnet.Result memory);\\n\\n    /// Tell if a Witnet.Result is successful.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if successful, `false` if errored.\\n    function isOk(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Tell if a Witnet.Result is errored.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if errored, `false` if successful.\\n    function isError(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes` decoded from the Witnet.Result.\\n    function asBytes(Witnet.Result memory _result) external pure returns (bytes memory);\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes32` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes32` decoded from the Witnet.Result.\\n    function asBytes32(Witnet.Result memory _result) external pure returns (bytes32);\\n\\n    /// Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `CBORValue.Error memory` decoded from the Witnet.Result.\\n    function asErrorCode(Witnet.Result memory _result) external pure returns (Witnet.ErrorCodes);\\n\\n\\n    /// Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\\n    /// @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\\n    function asErrorMessage(Witnet.Result memory _result) external pure returns (Witnet.ErrorCodes, string memory);\\n\\n    /// Decode a raw error from a `Witnet.Result` as a `uint64[]`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `uint64[]` raw error as decoded from the `Witnet.Result`.\\n    function asRawError(Witnet.Result memory _result) external pure returns(uint64[] memory);\\n\\n    /// Decode a boolean value from a Witnet.Result as an `bool` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bool` decoded from the Witnet.Result.\\n    function asBool(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\\n    /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\\n    /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\\n    /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asFixed16(Witnet.Result memory _result) external pure returns (int32);\\n\\n    /// Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asFixed16Array(Witnet.Result memory _result) external pure returns (int32[] memory);\\n\\n    /// Decode a integer numeric value from a Witnet.Result as an `int128` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asInt128(Witnet.Result memory _result) external pure returns (int128);\\n\\n    /// Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asInt128Array(Witnet.Result memory _result) external pure returns (int128[] memory);\\n\\n    /// Decode a string value from a Witnet.Result as a `string` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string` decoded from the Witnet.Result.\\n    function asString(Witnet.Result memory _result) external pure returns (string memory);\\n\\n    /// Decode an array of string values from a Witnet.Result as a `string[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string[]` decoded from the Witnet.Result.\\n    function asStringArray(Witnet.Result memory _result) external pure returns (string[] memory);\\n\\n    /// Decode a natural numeric value from a Witnet.Result as a `uint64` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64` decoded from the Witnet.Result.\\n    function asUint64(Witnet.Result memory _result) external pure returns(uint64);\\n\\n    /// Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64[]` decoded from the Witnet.Result.\\n    function asUint64Array(Witnet.Result memory _result) external pure returns (uint64[] memory);\\n\\n}\\n\",\"keccak256\":\"0xe7c24475babac7d21172d37d976a97b81053739e81b4697be39decfe2aa90945\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/WitnetBuffer.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"./Witnet.sol\\\";\\n\\n/// @title A convenient wrapper around the `bytes memory` type that exposes a buffer-like interface\\n/// @notice The buffer has an inner cursor that tracks the final offset of every read, i.e. any subsequent read will\\n/// start with the byte that goes right after the last one in the previous read.\\n/// @dev `uint32` is used here for `cursor` because `uint16` would only enable seeking up to 8KB, which could in some\\n/// theoretical use cases be exceeded. Conversely, `uint32` supports up to 512MB, which cannot credibly be exceeded.\\n/// @author The Witnet Foundation.\\nlibrary WitnetBuffer {\\n\\n  // Ensures we access an existing index in an array\\n  modifier notOutOfBounds(uint32 index, uint256 length) {\\n    require(index < length, \\\"WitnetBuffer: Tried to read from a consumed Buffer (must rewind it first)\\\");\\n    _;\\n  }\\n\\n  /// @notice Read and consume a certain amount of bytes from the buffer.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @param _length How many bytes to read and consume from the buffer.\\n  /// @return A `bytes memory` containing the first `_length` bytes from the buffer, counting from the cursor position.\\n  function read(Witnet.Buffer memory _buffer, uint32 _length) internal pure returns (bytes memory) {\\n    // Make sure not to read out of the bounds of the original bytes\\n    require(_buffer.cursor + _length <= _buffer.data.length, \\\"WitnetBuffer: Not enough bytes in buffer when reading\\\");\\n\\n    // Create a new `bytes memory destination` value\\n    bytes memory destination = new bytes(_length);\\n\\n    // Early return in case that bytes length is 0\\n    if (_length != 0) {\\n      bytes memory source = _buffer.data;\\n      uint32 offset = _buffer.cursor;\\n\\n      // Get raw pointers for source and destination\\n      uint sourcePointer;\\n      uint destinationPointer;\\n      assembly {\\n        sourcePointer := add(add(source, 32), offset)\\n        destinationPointer := add(destination, 32)\\n      }\\n      // Copy `_length` bytes from source to destination\\n      memcpy(destinationPointer, sourcePointer, uint(_length));\\n\\n      // Move the cursor forward by `_length` bytes\\n      seek(_buffer, _length, true);\\n    }\\n    return destination;\\n  }\\n\\n  /// @notice Read and consume the next byte from the buffer.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The next byte in the buffer counting from the cursor position.\\n  function next(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor, _buffer.data.length) returns (bytes1) {\\n    // Return the byte at the position marked by the cursor and advance the cursor all at once\\n    return _buffer.data[_buffer.cursor++];\\n  }\\n\\n  /// @notice Move the inner cursor of the buffer to a relative or absolute position.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @param _offset How many bytes to move the cursor forward.\\n  /// @param _relative Whether to count `_offset` from the last position of the cursor (`true`) or the beginning of the\\n  /// buffer (`true`).\\n  /// @return The final position of the cursor (will equal `_offset` if `_relative` is `false`).\\n  // solium-disable-next-line security/no-assign-params\\n  function seek(Witnet.Buffer memory _buffer, uint32 _offset, bool _relative) internal pure returns (uint32) {\\n    // Deal with relative offsets\\n    if (_relative) {\\n      require(_offset + _buffer.cursor > _offset, \\\"WitnetBuffer: Integer overflow when seeking\\\");\\n      _offset += _buffer.cursor;\\n    }\\n    // Make sure not to read out of the bounds of the original bytes\\n    require(_offset <= _buffer.data.length, \\\"WitnetBuffer: Not enough bytes in buffer when seeking\\\");\\n    _buffer.cursor = _offset;\\n    return _buffer.cursor;\\n  }\\n\\n  /// @notice Move the inner cursor a number of bytes forward.\\n  /// @dev This is a simple wrapper around the relative offset case of `seek()`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @param _relativeOffset How many bytes to move the cursor forward.\\n  /// @return The final position of the cursor.\\n  function seek(Witnet.Buffer memory _buffer, uint32 _relativeOffset) internal pure returns (uint32) {\\n    return seek(_buffer, _relativeOffset, true);\\n  }\\n\\n  /// @notice Move the inner cursor back to the first byte in the buffer.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  function rewind(Witnet.Buffer memory _buffer) internal pure {\\n    _buffer.cursor = 0;\\n  }\\n\\n  /// @notice Read and consume the next byte from the buffer as an `uint8`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint8` value of the next byte in the buffer counting from the cursor position.\\n  function readUint8(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor, _buffer.data.length) returns (uint8) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint8 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 1), offset))\\n    }\\n    _buffer.cursor++;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 2 bytes from the buffer as an `uint16`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint16` value of the next 2 bytes in the buffer counting from the cursor position.\\n  function readUint16(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 1, _buffer.data.length) returns (uint16) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint16 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 2), offset))\\n    }\\n    _buffer.cursor += 2;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 4 bytes from the buffer as an `uint32`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint32` value of the next 4 bytes in the buffer counting from the cursor position.\\n  function readUint32(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 3, _buffer.data.length) returns (uint32) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint32 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 4), offset))\\n    }\\n    _buffer.cursor += 4;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 8 bytes from the buffer as an `uint64`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint64` value of the next 8 bytes in the buffer counting from the cursor position.\\n  function readUint64(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 7, _buffer.data.length) returns (uint64) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint64 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 8), offset))\\n    }\\n    _buffer.cursor += 8;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 16 bytes from the buffer as an `uint128`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint128` value of the next 16 bytes in the buffer counting from the cursor position.\\n  function readUint128(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 15, _buffer.data.length) returns (uint128) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint128 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 16), offset))\\n    }\\n    _buffer.cursor += 16;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 32 bytes from the buffer as an `uint256`.\\n  /// @return The `uint256` value of the next 32 bytes in the buffer counting from the cursor position.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  function readUint256(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 31, _buffer.data.length) returns (uint256) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint256 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 32), offset))\\n    }\\n    _buffer.cursor += 32;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 2 bytes from the buffer as an IEEE 754-2008 floating point number enclosed in an\\n  /// `int32`.\\n  /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values\\n  /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `float16`\\n  /// use cases. In other words, the integer output of this method is 10,000 times the actual value. The input bytes are\\n  /// expected to follow the 16-bit base-2 format (a.k.a. `binary16`) in the IEEE 754-2008 standard.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint32` value of the next 4 bytes in the buffer counting from the cursor position.\\n  function readFloat16(Witnet.Buffer memory _buffer) internal pure returns (int32) {\\n    uint32 bytesValue = readUint16(_buffer);\\n    // Get bit at position 0\\n    uint32 sign = bytesValue & 0x8000;\\n    // Get bits 1 to 5, then normalize to the [-14, 15] range so as to counterweight the IEEE 754 exponent bias\\n    int32 exponent = (int32(bytesValue & 0x7c00) >> 10) - 15;\\n    // Get bits 6 to 15\\n    int32 significand = int32(bytesValue & 0x03ff);\\n\\n    // Add 1024 to the fraction if the exponent is 0\\n    if (exponent == 15) {\\n      significand |= 0x400;\\n    }\\n\\n    // Compute `2 ^ exponent \\u00b7 (1 + fraction / 1024)`\\n    int32 result = 0;\\n    if (exponent >= 0) {\\n      result = int32((int256(1 << uint256(int256(exponent))) * 10000 * int256(uint256(int256(significand)) | 0x400)) >> 10);\\n    } else {\\n      result = int32(((int256(uint256(int256(significand)) | 0x400) * 10000) / int256(1 << uint256(int256(- exponent)))) >> 10);\\n    }\\n\\n    // Make the result negative if the sign bit is not 0\\n    if (sign != 0) {\\n      result *= - 1;\\n    }\\n    return result;\\n  }\\n\\n  /// @notice Copy bytes from one memory address into another.\\n  /// @dev This function was borrowed from Nick Johnson's `solidity-stringutils` lib, and reproduced here under the terms\\n  /// of [Apache License 2.0](https://github.com/Arachnid/solidity-stringutils/blob/master/LICENSE).\\n  /// @param _dest Address of the destination memory.\\n  /// @param _src Address to the source memory.\\n  /// @param _len How many bytes to copy.\\n  // solium-disable-next-line security/no-assign-params\\n  function memcpy(uint _dest, uint _src, uint _len) private pure {\\n    require(_len > 0, \\\"WitnetBuffer: Cannot copy 0 bytes\\\");\\n\\n    // Copy word-length chunks while possible\\n    for (; _len >= 32; _len -= 32) {\\n      assembly {\\n        mstore(_dest, mload(_src))\\n      }\\n      _dest += 32;\\n      _src += 32;\\n    }\\n    if (_len > 0) {\\n      // Copy remaining bytes\\n      uint mask = 256 ** (32 - _len) - 1;\\n      assembly {\\n        let srcpart := and(mload(_src), not(mask))\\n        let destpart := and(mload(_dest), mask)\\n        mstore(_dest, or(destpart, srcpart))\\n      }\\n    }\\n  }\\n\\n}\\n\",\"keccak256\":\"0x7ef46325fb4d37649e8ef4c2250240ea63c32720d44d7e4da5a7b412fb348524\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/WitnetDecoderLib.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./WitnetBuffer.sol\\\";\\n\\n/// @title A minimalistic implementation of \\u201cRFC 7049 Concise Binary Object Representation\\u201d\\n/// @notice This library leverages a buffer-like structure for step-by-step decoding of bytes so as to minimize\\n/// the gas cost of decoding them into a useful native type.\\n/// @dev Most of the logic has been borrowed from Patrick Gansterer\\u2019s cbor.js library: https://github.com/paroga/cbor-js\\n/// @author The Witnet Foundation.\\n/// \\n/// TODO: add support for Array (majorType = 4)\\n/// TODO: add support for Map (majorType = 5)\\n/// TODO: add support for Float32 (majorType = 7, additionalInformation = 26)\\n/// TODO: add support for Float64 (majorType = 7, additionalInformation = 27) \\n\\nlibrary WitnetDecoderLib {\\n\\n  using WitnetBuffer for Witnet.Buffer;\\n\\n  uint32 constant internal _UINT32_MAX = type(uint32).max;\\n  uint64 constant internal _UINT64_MAX = type(uint64).max;\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `bool` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as a `bool` value.\\n  function decodeBool(Witnet.CBOR memory _cborValue) public pure returns(bool) {\\n    _cborValue.len = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(_cborValue.majorType == 7, \\\"WitnetDecoderLib: Tried to read a `bool` value from a `Witnet.CBOR` with majorType != 7\\\");\\n    if (_cborValue.len == 20) {\\n      return false;\\n    } else if (_cborValue.len == 21) {\\n      return true;\\n    } else {\\n      revert(\\\"WitnetDecoderLib: Tried to read `bool` from a `Witnet.CBOR` with len different than 20 or 21\\\");\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `bytes` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as a `bytes` value.   \\n  function decodeBytes(Witnet.CBOR memory _cborValue) public pure returns(bytes memory) {\\n    _cborValue.len = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    if (_cborValue.len == _UINT32_MAX) {\\n      bytes memory bytesData;\\n\\n      // These checks look repetitive but the equivalent loop would be more expensive.\\n      uint32 itemLength = uint32(readIndefiniteStringLength(_cborValue.buffer, _cborValue.majorType));\\n      if (itemLength < _UINT32_MAX) {\\n        bytesData = abi.encodePacked(bytesData, _cborValue.buffer.read(itemLength));\\n        itemLength = uint32(readIndefiniteStringLength(_cborValue.buffer, _cborValue.majorType));\\n        if (itemLength < _UINT32_MAX) {\\n          bytesData = abi.encodePacked(bytesData, _cborValue.buffer.read(itemLength));\\n        }\\n      }\\n      return bytesData;\\n    } else {\\n      return _cborValue.buffer.read(uint32(_cborValue.len));\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `bytes32` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return _bytes32 The value represented by the input, as a `bytes32` value.\\n  function decodeBytes32(Witnet.CBOR memory _cborValue) public pure returns(bytes32 _bytes32) {\\n    bytes memory _bb = decodeBytes(_cborValue);\\n    uint _len = _bb.length > 32 ? 32 : _bb.length;\\n    for (uint _i = 0; _i < _len; _i ++) {\\n        _bytes32 |= bytes32(_bb[_i] & 0xff) >> (_i * 8);\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a `fixed16` value.\\n  /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values\\n  /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`\\n  /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128` value.\\n  function decodeFixed16(Witnet.CBOR memory _cborValue) public pure returns(int32) {\\n    require(_cborValue.majorType == 7, \\\"WitnetDecoderLib: Tried to read a `fixed` value from a `WT.CBOR` with majorType != 7\\\");\\n    require(_cborValue.additionalInformation == 25, \\\"WitnetDecoderLib: Tried to read `fixed16` from a `WT.CBOR` with additionalInformation != 25\\\");\\n    return _cborValue.buffer.readFloat16();\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `int128[]` value whose inner values follow the same convention.\\n  /// as explained in `decodeFixed16`.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128[]` value.\\n  function decodeFixed16Array(Witnet.CBOR memory _cborValue) external pure returns(int32[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `int128[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    int32[] memory array = new int32[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeFixed16(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `int128` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128` value.\\n  function decodeInt128(Witnet.CBOR memory _cborValue) public pure returns(int128) {\\n    if (_cborValue.majorType == 1) {\\n      uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n      return int128(-1) - int128(uint128(length));\\n    } else if (_cborValue.majorType == 0) {\\n      // Any `uint64` can be safely casted to `int128`, so this method supports majorType 1 as well so as to have offer\\n      // a uniform API for positive and negative numbers\\n      return int128(uint128(decodeUint64(_cborValue)));\\n    }\\n    revert(\\\"WitnetDecoderLib: Tried to read `int128` from a `Witnet.CBOR` with majorType not 0 or 1\\\");\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `int128[]` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128[]` value.\\n  function decodeInt128Array(Witnet.CBOR memory _cborValue) external pure returns(int128[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `int128[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    int128[] memory array = new int128[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeInt128(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `string` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as a `string` value.\\n  function decodeString(Witnet.CBOR memory _cborValue) public pure returns(string memory) {\\n    _cborValue.len = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    if (_cborValue.len == _UINT64_MAX) {\\n      bytes memory textData;\\n      bool done;\\n      while (!done) {\\n        uint64 itemLength = readIndefiniteStringLength(_cborValue.buffer, _cborValue.majorType);\\n        if (itemLength < _UINT64_MAX) {\\n          textData = abi.encodePacked(textData, readText(_cborValue.buffer, itemLength / 4));\\n        } else {\\n          done = true;\\n        }\\n      }\\n      return string(textData);\\n    } else {\\n      return string(readText(_cborValue.buffer, _cborValue.len));\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `string[]` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `string[]` value.\\n  function decodeStringArray(Witnet.CBOR memory _cborValue) external pure returns(string[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `string[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    string[] memory array = new string[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeString(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `uint64` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `uint64` value.\\n  function decodeUint64(Witnet.CBOR memory _cborValue) public pure returns(uint64) {\\n    require(_cborValue.majorType == 0, \\\"WitnetDecoderLib: Tried to read `uint64` from a `Witnet.CBOR` with majorType != 0\\\");\\n    return readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `uint64[]` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `uint64[]` value.\\n  function decodeUint64Array(Witnet.CBOR memory _cborValue) external pure returns(uint64[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `uint64[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    uint64[] memory array = new uint64[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeUint64(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a Witnet.CBOR structure from raw bytes.\\n  /// @dev This is the main factory for Witnet.CBOR instances, which can be later decoded into native EVM types.\\n  /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n  /// @return A `Witnet.CBOR` instance containing a partially decoded value.\\n  function valueFromBytes(bytes memory _cborBytes) external pure returns(Witnet.CBOR memory) {\\n    Witnet.Buffer memory buffer = Witnet.Buffer(_cborBytes, 0);\\n\\n    return valueFromBuffer(buffer);\\n  }\\n\\n  /// @notice Decode a Witnet.CBOR structure from raw bytes.\\n  /// @dev This is an alternate factory for Witnet.CBOR instances, which can be later decoded into native EVM types.\\n  /// @param _buffer A Buffer structure representing a CBOR-encoded value.\\n  /// @return A `Witnet.CBOR` instance containing a partially decoded value.\\n  function valueFromBuffer(Witnet.Buffer memory _buffer) public pure returns(Witnet.CBOR memory) {\\n    require(_buffer.data.length > 0, \\\"WitnetDecoderLib: Found empty buffer when parsing CBOR value\\\");\\n\\n    uint8 initialByte;\\n    uint8 majorType = 255;\\n    uint8 additionalInformation;\\n    uint64 tag = _UINT64_MAX;\\n\\n    bool isTagged = true;\\n    while (isTagged) {\\n      // Extract basic CBOR properties from input bytes\\n      initialByte = _buffer.readUint8();\\n      majorType = initialByte >> 5;\\n      additionalInformation = initialByte & 0x1f;\\n\\n      // Early CBOR tag parsing.\\n      if (majorType == 6) {\\n        tag = readLength(_buffer, additionalInformation);\\n      } else {\\n        isTagged = false;\\n      }\\n    }\\n\\n    require(majorType <= 7, \\\"WitnetDecoderLib: Invalid CBOR major type\\\");\\n\\n    return Witnet.CBOR(\\n      _buffer,\\n      initialByte,\\n      majorType,\\n      additionalInformation,\\n      0,\\n      tag);\\n  }\\n\\n  /// Reads the length of the next CBOR item from a buffer, consuming a different number of bytes depending on the\\n  /// value of the `additionalInformation` argument.\\n  function readLength(Witnet.Buffer memory _buffer, uint8 additionalInformation) private pure returns(uint64) {\\n    if (additionalInformation < 24) {\\n      return additionalInformation;\\n    }\\n    if (additionalInformation == 24) {\\n      return _buffer.readUint8();\\n    }\\n    if (additionalInformation == 25) {\\n      return _buffer.readUint16();\\n    }\\n    if (additionalInformation == 26) {\\n      return _buffer.readUint32();\\n    }\\n    if (additionalInformation == 27) {\\n      return _buffer.readUint64();\\n    }\\n    if (additionalInformation == 31) {\\n      return _UINT64_MAX;\\n    }\\n    revert(\\\"WitnetDecoderLib: Invalid length encoding (non-existent additionalInformation value)\\\");\\n  }\\n\\n  /// Read the length of a CBOR indifinite-length item (arrays, maps, byte strings and text) from a buffer, consuming\\n  /// as many bytes as specified by the first byte.\\n  function readIndefiniteStringLength(Witnet.Buffer memory _buffer, uint8 majorType) private pure returns(uint64) {\\n    uint8 initialByte = _buffer.readUint8();\\n    if (initialByte == 0xff) {\\n      return _UINT64_MAX;\\n    }\\n    uint64 length = readLength(_buffer, initialByte & 0x1f);\\n    require(length < _UINT64_MAX && (initialByte >> 5) == majorType, \\\"WitnetDecoderLib: Invalid indefinite length\\\");\\n    return length;\\n  }\\n\\n  /// Read a text string of a given length from a buffer. Returns a `bytes memory` value for the sake of genericness,\\n  /// but it can be easily casted into a string with `string(result)`.\\n  // solium-disable-next-line security/no-assign-params\\n  function readText(Witnet.Buffer memory _buffer, uint64 _length) private pure returns(bytes memory) {\\n    bytes memory result;\\n    for (uint64 index = 0; index < _length; index++) {\\n      uint8 value = _buffer.readUint8();\\n      if (value & 0x80 != 0) {\\n        if (value < 0xe0) {\\n          value = (value & 0x1f) << 6 |\\n            (_buffer.readUint8() & 0x3f);\\n          _length -= 1;\\n        } else if (value < 0xf0) {\\n          value = (value & 0x0f) << 12 |\\n            (_buffer.readUint8() & 0x3f) << 6 |\\n            (_buffer.readUint8() & 0x3f);\\n          _length -= 2;\\n        } else {\\n          value = (value & 0x0f) << 18 |\\n            (_buffer.readUint8() & 0x3f) << 12 |\\n            (_buffer.readUint8() & 0x3f) << 6  |\\n            (_buffer.readUint8() & 0x3f);\\n          _length -= 3;\\n        }\\n      }\\n      result = abi.encodePacked(result, value);\\n    }\\n    return result;\\n  }\\n}\\n\",\"keccak256\":\"0xb8f5b618ebae15a7f5d21870ac8ba7034afe5dce876b53a1a81572378a817c32\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/WitnetParserLib.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./WitnetDecoderLib.sol\\\";\\n\\n/// @title A library for decoding Witnet request results\\n/// @notice The library exposes functions to check the Witnet request success.\\n/// and retrieve Witnet results from CBOR values into solidity types.\\n/// @author The Witnet Foundation.\\nlibrary WitnetParserLib {\\n\\n    using WitnetDecoderLib for bytes;\\n    using WitnetDecoderLib for Witnet.CBOR;\\n\\n    /// @notice Decode raw CBOR bytes into a Witnet.Result instance.\\n    /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborBytes(bytes calldata _cborBytes)\\n        external pure\\n        returns (Witnet.Result memory)\\n    {\\n        Witnet.CBOR memory cborValue = _cborBytes.valueFromBytes();\\n        return resultFromCborValue(cborValue);\\n    }\\n\\n    /// @notice Decode a CBOR value into a Witnet.Result instance.\\n    /// @param _cborValue An instance of `Witnet.Value`.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborValue(Witnet.CBOR memory _cborValue)\\n        public pure\\n        returns (Witnet.Result memory)    \\n    {\\n        // Witnet uses CBOR tag 39 to represent RADON error code identifiers.\\n        // [CBOR tag 39] Identifiers for CBOR: https://github.com/lucas-clemente/cbor-specs/blob/master/id.md\\n        bool success = _cborValue.tag != 39;\\n        return Witnet.Result(success, _cborValue);\\n    }\\n\\n    /// @notice Tell if a Witnet.Result is successful.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if successful, `false` if errored.\\n    function isOk(Witnet.Result memory _result)\\n        external pure\\n        returns (bool)\\n    {\\n        return _result.success;\\n    }\\n\\n    /// @notice Tell if a Witnet.Result is errored.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if errored, `false` if successful.\\n    function isError(Witnet.Result memory _result)\\n      external pure\\n      returns (bool)\\n    {\\n        return !_result.success;\\n    }\\n\\n    /// @notice Decode a bytes value from a Witnet.Result as a `bytes` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes` decoded from the Witnet.Result.\\n    function asBytes(Witnet.Result memory _result)\\n        external pure\\n        returns(bytes memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read bytes value from errored Witnet.Result\\\");\\n        return _result.value.decodeBytes();\\n    }\\n\\n    /// @notice Decode a bytes value from a Witnet.Result as a `bytes32` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes32` decoded from the Witnet.Result.\\n    function asBytes32(Witnet.Result memory _result)\\n        external pure\\n        returns(bytes32)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: tried to read bytes32 value from errored Witnet.Result\\\");\\n        return _result.value.decodeBytes32();\\n    }\\n\\n    /// @notice Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `CBORValue.Error memory` decoded from the Witnet.Result.\\n    function asErrorCode(Witnet.Result memory _result)\\n        external pure\\n        returns (Witnet.ErrorCodes)\\n    {\\n        uint64[] memory error = asRawError(_result);\\n        if (error.length == 0) {\\n            return Witnet.ErrorCodes.Unknown;\\n        }\\n        return _supportedErrorOrElseUnknown(error[0]);\\n    }\\n\\n    /// @notice Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\\n    /// @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\\n    function asErrorMessage(Witnet.Result memory _result)\\n      public pure\\n      returns (Witnet.ErrorCodes, string memory)\\n    {\\n        uint64[] memory error = asRawError(_result);\\n        if (error.length == 0) {\\n            return (Witnet.ErrorCodes.Unknown, \\\"Unknown error (no error code)\\\");\\n        }\\n        Witnet.ErrorCodes errorCode = _supportedErrorOrElseUnknown(error[0]);\\n        bytes memory errorMessage;\\n\\n        if (errorCode == Witnet.ErrorCodes.SourceScriptNotCBOR && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Source script #\\\",\\n                _utoa(error[1]),\\n                \\\" was not a valid CBOR value\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.SourceScriptNotArray && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"The CBOR value in script #\\\",\\n                _utoa(error[1]),\\n                \\\" was not an Array of calls\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.SourceScriptNotRADON && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"The CBOR value in script #\\\",\\n                _utoa(error[1]),\\n                \\\" was not a valid Data Request\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.RequestTooManySources && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"The request contained too many sources (\\\", \\n                _utoa(error[1]), \\n                \\\")\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.ScriptTooManyCalls && error.length >= 4) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Script #\\\",\\n                _utoa(error[2]),\\n                \\\" from the \\\",\\n                stageName(error[1]),\\n                \\\" stage contained too many calls (\\\",\\n                _utoa(error[3]),\\n                \\\")\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.UnsupportedOperator && error.length >= 5) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Operator code 0x\\\",\\n                _utohex(error[4]),\\n                \\\" found at call #\\\",\\n                _utoa(error[3]),\\n                \\\" in script #\\\",\\n                _utoa(error[2]),\\n                \\\" from \\\",\\n                stageName(error[1]),\\n                \\\" stage is not supported\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.HTTP && error.length >= 3) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Source #\\\",\\n                _utoa(error[1]),\\n                \\\" could not be retrieved. Failed with HTTP error code: \\\",\\n                _utoa(error[2] / 100),\\n                _utoa(error[2] % 100 / 10),\\n                _utoa(error[2] % 10)\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.RetrievalTimeout && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Source #\\\",\\n                _utoa(error[1]),\\n                \\\" could not be retrieved because of a timeout\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.Underflow && error.length >= 5) {\\n              errorMessage = abi.encodePacked(\\n                \\\"Underflow at operator code 0x\\\",\\n                _utohex(error[4]),\\n                \\\" found at call #\\\",\\n                _utoa(error[3]),\\n                \\\" in script #\\\",\\n                _utoa(error[2]),\\n                \\\" from \\\",\\n                stageName(error[1]),\\n                \\\" stage\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.Overflow && error.length >= 5) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Overflow at operator code 0x\\\",\\n                _utohex(error[4]),\\n                \\\" found at call #\\\",\\n                _utoa(error[3]),\\n                \\\" in script #\\\",\\n                _utoa(error[2]),\\n                \\\" from \\\",\\n                stageName(error[1]),\\n                \\\" stage\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.DivisionByZero && error.length >= 5) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Division by zero at operator code 0x\\\",\\n                _utohex(error[4]),\\n                \\\" found at call #\\\",\\n                _utoa(error[3]),\\n                \\\" in script #\\\",\\n                _utoa(error[2]),\\n                \\\" from \\\",\\n                stageName(error[1]),\\n                \\\" stage\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.BridgeMalformedRequest) {\\n            errorMessage = \\\"The structure of the request is invalid and it cannot be parsed\\\";\\n        } else if (errorCode == Witnet.ErrorCodes.BridgePoorIncentives) {\\n            errorMessage = \\\"The request has been rejected by the bridge node due to poor incentives\\\";\\n        } else if (errorCode == Witnet.ErrorCodes.BridgeOversizedResult) {\\n            errorMessage = \\\"The request result length exceeds a bridge contract defined limit\\\";\\n        } else {\\n            errorMessage = abi.encodePacked(\\\"Unknown error (0x\\\", _utohex(error[0]), \\\")\\\");\\n        }\\n        return (errorCode, string(errorMessage));\\n    }\\n\\n    /// @notice Decode a raw error from a `Witnet.Result` as a `uint64[]`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `uint64[]` raw error as decoded from the `Witnet.Result`.\\n    function asRawError(Witnet.Result memory _result)\\n        public pure\\n        returns(uint64[] memory)\\n    {\\n        require(\\n            !_result.success,\\n            \\\"WitnetParserLib: Tried to read error code from successful Witnet.Result\\\"\\n        );\\n        return _result.value.decodeUint64Array();\\n    }\\n\\n    /// @notice Decode a boolean value from a Witnet.Result as an `bool` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bool` decoded from the Witnet.Result.\\n    function asBool(Witnet.Result memory _result)\\n        external pure\\n        returns (bool)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `bool` value from errored Witnet.Result\\\");\\n        return _result.value.decodeBool();\\n    }\\n\\n    /// @notice Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\\n    /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\\n    /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\\n    /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asFixed16(Witnet.Result memory _result)\\n        external pure\\n        returns (int32)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `fixed16` value from errored Witnet.Result\\\");\\n        return _result.value.decodeFixed16();\\n    }\\n\\n    /// @notice Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asFixed16Array(Witnet.Result memory _result)\\n        external pure\\n        returns (int32[] memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `fixed16[]` value from errored Witnet.Result\\\");\\n        return _result.value.decodeFixed16Array();\\n    }\\n\\n    /// @notice Decode a integer numeric value from a Witnet.Result as an `int128` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asInt128(Witnet.Result memory _result)\\n      external pure\\n      returns (int128)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `int128` value from errored Witnet.Result\\\");\\n        return _result.value.decodeInt128();\\n    }\\n\\n    /// @notice Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asInt128Array(Witnet.Result memory _result)\\n        external pure\\n        returns (int128[] memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `int128[]` value from errored Witnet.Result\\\");\\n        return _result.value.decodeInt128Array();\\n    }\\n\\n    /// @notice Decode a string value from a Witnet.Result as a `string` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string` decoded from the Witnet.Result.\\n    function asString(Witnet.Result memory _result)\\n        external pure\\n        returns(string memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `string` value from errored Witnet.Result\\\");\\n        return _result.value.decodeString();\\n    }\\n\\n    /// @notice Decode an array of string values from a Witnet.Result as a `string[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string[]` decoded from the Witnet.Result.\\n    function asStringArray(Witnet.Result memory _result)\\n        external pure\\n        returns (string[] memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `string[]` value from errored Witnet.Result\\\");\\n        return _result.value.decodeStringArray();\\n    }\\n\\n    /// @notice Decode a natural numeric value from a Witnet.Result as a `uint64` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64` decoded from the Witnet.Result.\\n    function asUint64(Witnet.Result memory _result)\\n        external pure\\n        returns(uint64)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `uint64` value from errored Witnet.Result\\\");\\n        return _result.value.decodeUint64();\\n    }\\n\\n    /// @notice Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64[]` decoded from the Witnet.Result.\\n    function asUint64Array(Witnet.Result memory _result)\\n        external pure\\n        returns (uint64[] memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `uint64[]` value from errored Witnet.Result\\\");\\n        return _result.value.decodeUint64Array();\\n    }\\n\\n    /// @notice Convert a stage index number into the name of the matching Witnet request stage.\\n    /// @param _stageIndex A `uint64` identifying the index of one of the Witnet request stages.\\n    /// @return The name of the matching stage.\\n    function stageName(uint64 _stageIndex)\\n        public pure\\n        returns (string memory)\\n    {\\n        if (_stageIndex == 0) {\\n            return \\\"retrieval\\\";\\n        } else if (_stageIndex == 1) {\\n            return \\\"aggregation\\\";\\n        } else if (_stageIndex == 2) {\\n            return \\\"tally\\\";\\n        } else {\\n            return \\\"unknown\\\";\\n        }\\n    }\\n\\n    /// @notice Get an `Witnet.ErrorCodes` item from its `uint64` discriminant.\\n    /// @param _discriminant The numeric identifier of an error.\\n    /// @return A member of `Witnet.ErrorCodes`.\\n    function _supportedErrorOrElseUnknown(uint64 _discriminant)\\n        private pure\\n        returns (Witnet.ErrorCodes)\\n    {\\n        return Witnet.ErrorCodes(_discriminant);\\n    }\\n\\n    /// @notice Convert a `uint64` into a 1, 2 or 3 characters long `string` representing its.\\n    /// three less significant decimal values.\\n    /// @param _u A `uint64` value.\\n    /// @return The `string` representing its decimal value.\\n    function _utoa(uint64 _u)\\n        private pure\\n        returns (string memory)\\n    {\\n        if (_u < 10) {\\n            bytes memory b1 = new bytes(1);\\n            b1[0] = bytes1(uint8(_u) + 48);\\n            return string(b1);\\n        } else if (_u < 100) {\\n            bytes memory b2 = new bytes(2);\\n            b2[0] = bytes1(uint8(_u / 10) + 48);\\n            b2[1] = bytes1(uint8(_u % 10) + 48);\\n            return string(b2);\\n        } else {\\n            bytes memory b3 = new bytes(3);\\n            b3[0] = bytes1(uint8(_u / 100) + 48);\\n            b3[1] = bytes1(uint8(_u % 100 / 10) + 48);\\n            b3[2] = bytes1(uint8(_u % 10) + 48);\\n            return string(b3);\\n        }\\n    }\\n\\n    /// @notice Convert a `uint64` into a 2 characters long `string` representing its two less significant hexadecimal values.\\n    /// @param _u A `uint64` value.\\n    /// @return The `string` representing its hexadecimal value.\\n    function _utohex(uint64 _u)\\n        private pure\\n        returns (string memory)\\n    {\\n        bytes memory b2 = new bytes(2);\\n        uint8 d0 = uint8(_u / 16) + 48;\\n        uint8 d1 = uint8(_u % 16) + 48;\\n        if (d0 > 57)\\n            d0 += 7;\\n        if (d1 > 57)\\n            d1 += 7;\\n        b2[0] = bytes1(d0);\\n        b2[1] = bytes1(d1);\\n        return string(b2);\\n    }\\n}\\n\",\"keccak256\":\"0x250634a50e7ad8aaa9f3dde002ca3718de06a65b93be86896011331b996403f0\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Destructible.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Destructible {\\n    /// @dev Self-destruct the whole contract.\\n    function destruct() external;\\n}\\n\",\"keccak256\":\"0x58c9296ad2920fd26779933226ac807a70d6d70963965b781780e53f69625c87\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Initializable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Initializable {\\n    /// @dev Initialize contract's storage context.\\n    function initialize(bytes calldata) external;\\n}\\n\",\"keccak256\":\"0x17c2e66648596deb4f71dbaaa4b95293c99536431e7697f3b69d205a09796f0e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Payable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\nimport \\\"../interfaces/IERC20.sol\\\";\\n\\nabstract contract Payable {\\n    IERC20 public immutable currency;\\n\\n    event Received(address from, uint256 amount);\\n    event Transfer(address to, uint256 amount);\\n\\n    constructor(address _currency) {\\n        currency = IERC20(_currency);\\n    }\\n\\n    /// Gets current transaction price.\\n    function _getGasPrice() internal view virtual returns (uint256);\\n\\n    /// Gets current payment value.\\n    function _getMsgValue() internal view virtual returns (uint256);\\n\\n    /// Perform safe transfer or whatever token is used for paying rewards.\\n    function _safeTransferTo(address payable, uint256) internal virtual;\\n}\\n\",\"keccak256\":\"0xc7f50e489030643b7f061512ad0d8430abc87351941a77589f6b06376c5831b9\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Proxiable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Proxiable {\\n    /// @dev Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1822.\\n    function proxiableUUID() external pure returns (bytes32);\\n}\\n\",\"keccak256\":\"0x3ed71dc147c30cd8aa1ca248a045217b6ea513bae96c4c76d66496af4b8d6ff1\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Upgradable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\n/* solhint-disable var-name-mixedcase */\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\nimport \\\"./Initializable.sol\\\";\\nimport \\\"./Proxiable.sol\\\";\\n\\nabstract contract Upgradable is Initializable, Proxiable {\\n\\n    address internal immutable _BASE;\\n    bytes32 internal immutable _CODEHASH;\\n    bool internal immutable _UPGRADABLE;\\n\\n    /// Emitted every time the contract gets upgraded.\\n    /// @param from The address who ordered the upgrading. Namely, the WRB operator in \\\"trustable\\\" implementations.\\n    /// @param baseAddr The address of the new implementation contract.\\n    /// @param baseCodehash The EVM-codehash of the new implementation contract.\\n    /// @param versionTag Ascii-encoded version literal with which the implementation deployer decided to tag it.\\n    event Upgraded(\\n        address indexed from,\\n        address indexed baseAddr,\\n        bytes32 indexed baseCodehash,\\n        bytes32 versionTag\\n    );\\n\\n    constructor (bool _isUpgradable) {\\n        address _base = address(this);\\n        bytes32 _codehash;        \\n        assembly {\\n            _codehash := extcodehash(_base)\\n        }\\n        _BASE = _base;\\n        _CODEHASH = _codehash;        \\n        _UPGRADABLE = _isUpgradable;\\n    }\\n\\n    /// @dev Tells whether provided address could eventually upgrade the contract.\\n    function isUpgradableFrom(address from) virtual external view returns (bool);\\n\\n\\n    /// TODO: the following methods should be all declared as pure \\n    ///       whenever this Solidity's PR gets merged and released: \\n    ///       https://github.com/ethereum/solidity/pull/10240\\n\\n    /// @dev Retrieves base contract. Differs from address(this) when via delegate-proxy pattern.\\n    function base() public view returns (address) {\\n        return _BASE;\\n    }\\n\\n    /// @dev Retrieves the immutable codehash of this contract, even if invoked as delegatecall.\\n    /// @return _codehash This contracts immutable codehash.\\n    function codehash() public view returns (bytes32 _codehash) {\\n        return _CODEHASH;\\n    }\\n    \\n    /// @dev Determines whether current instance allows being upgraded.\\n    /// @dev Returned value should be invariant from whoever is calling.\\n    function isUpgradable() public view returns (bool) {        \\n        return _UPGRADABLE;\\n    }\\n\\n    /// @dev Retrieves human-redable named version of current implementation.\\n    function version() virtual public view returns (bytes32); \\n}\",\"keccak256\":\"0x91a8c88f85a691bafab375a8a38361f1dae551530755989636531468870ead98\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/requests/WitnetRequestBase.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\nabstract contract WitnetRequestBase\\n    is\\n        IWitnetRequest\\n{\\n    /// Contains a well-formed Witnet Data Request, encoded using Protocol Buffers.\\n    bytes public override bytecode;\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    bytes32 public override hash;\\n}\\n\",\"keccak256\":\"0x1a3220346005ca91601a89896523f67bdd0fd3dc79b6e684d3e5dbf20f11c5ab\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/requests/WitnetRequestInitializableBase.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"./WitnetRequestBase.sol\\\";\\nimport \\\"../patterns/Initializable.sol\\\";\\n\\nabstract contract WitnetRequestInitializableBase\\n    is\\n        Initializable,\\n        WitnetRequestBase\\n{\\n    using Witnet for bytes;\\n    function initialize(bytes memory _bytecode)\\n        public\\n        virtual override\\n    {\\n        require(\\n            bytecode.length == 0,\\n            \\\"WitnetRequestInitializableBase: cannot change bytecode\\\"\\n        );\\n        bytecode = _bytecode;\\n        hash = _bytecode.hash();\\n    }\\n}\\n\",\"keccak256\":\"0x9d2956ca1e83989996c70e5419130dc95168cf6cfeee39f4896b13d0505f78b0\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[{"astId":11946,"contract":"contracts/witnet-requests/coinPrice.sol:coinPriceRequest","label":"bytecode","offset":0,"slot":"0","type":"t_bytes_storage"},{"astId":11950,"contract":"contracts/witnet-requests/coinPrice.sol:coinPriceRequest","label":"hash","offset":0,"slot":"1","type":"t_bytes32"}],"types":{"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"}}},"userdoc":{"kind":"user","methods":{"bytecode()":{"notice":"Contains a well-formed Witnet Data Request, encoded using Protocol Buffers."},"hash()":{"notice":"Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes."}},"version":1}}},"contracts/witnet-requests/postAPI.sol":{"postAPIRequest":{"abi":[{"inputs":[],"name":"bytecode","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"_bytecode","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b506107ea806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806309bd5a6014610051578063439fab911461006f5780638129fc1c1461008b578063f094000214610095575b600080fd5b6100596100b3565b604051610066919061048d565b60405180910390f35b61008960048036038101906100849190610391565b6100b9565b005b610093610132565b005b61009d610155565b6040516100aa91906104a8565b60405180910390f35b60015481565b60008080546100c7906105c4565b905014610109576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610100906104ca565b60405180910390fd5b806000908051906020019061011f92919061023c565b50610129816101e3565b60018190555050565b6101536040518060e0016040528060a4815260200161071160a491396100b9565b565b60008054610162906105c4565b80601f016020809104026020016040519081016040528092919081815260200182805461018e906105c4565b80156101db5780601f106101b0576101008083540402835291602001916101db565b820191906000526020600020905b8154815290600101906020018083116101be57829003601f168201915b505050505081565b60006002826040516101f59190610476565b602060405180830381855afa158015610212573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906102359190610364565b9050919050565b828054610248906105c4565b90600052602060002090601f01602090048101928261026a57600085556102b1565b82601f1061028357805160ff19168380011785556102b1565b828001600101855582156102b1579182015b828111156102b0578251825591602001919060010190610295565b5b5090506102be91906102c2565b5090565b5b808211156102db5760008160009055506001016102c3565b5090565b60006102f26102ed8461050f565b6104ea565b90508281526020810184848401111561030e5761030d61068a565b5b610319848285610582565b509392505050565b600081519050610330816106f9565b92915050565b600082601f83011261034b5761034a610685565b5b813561035b8482602086016102df565b91505092915050565b60006020828403121561037a57610379610694565b5b600061038884828501610321565b91505092915050565b6000602082840312156103a7576103a6610694565b5b600082013567ffffffffffffffff8111156103c5576103c461068f565b5b6103d184828501610336565b91505092915050565b6103e381610578565b82525050565b60006103f482610540565b6103fe818561054b565b935061040e818560208601610591565b61041781610699565b840191505092915050565b600061042d82610540565b610437818561055c565b9350610447818560208601610591565b80840191505092915050565b6000610460603683610567565b915061046b826106aa565b604082019050919050565b60006104828284610422565b915081905092915050565b60006020820190506104a260008301846103da565b92915050565b600060208201905081810360008301526104c281846103e9565b905092915050565b600060208201905081810360008301526104e381610453565b9050919050565b60006104f4610505565b905061050082826105f6565b919050565b6000604051905090565b600067ffffffffffffffff82111561052a57610529610656565b5b61053382610699565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000819050919050565b82818337600083830152505050565b60005b838110156105af578082015181840152602081019050610594565b838111156105be576000848401525b50505050565b600060028204905060018216806105dc57607f821691505b602082108114156105f0576105ef610627565b5b50919050565b6105ff82610699565b810181811067ffffffffffffffff8211171561061e5761061d610656565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f5769746e657452657175657374496e697469616c697a61626c65426173653a2060008201527f63616e6e6f74206368616e67652062797465636f646500000000000000000000602082015250565b61070281610578565b811461070d57600080fd5b5056fe0a8a0112720803121868747470733a2f2f6874747062696e2e6f72672f706f73741a1d83187782186667686561646572738218676b4865616465722d4e616d6522185468697320697320746865207265717565737420626f64792a1b0a0b4865616465722d4e616d65120c4865616465722d56616c75651a090a050808120180100222090a05080812018010021080e497d012180a208094ebdc0328333080e8eda1ba01a26469706673582212209196489b848acb482ff004f2548277b6814cf6e132615f00045b6fb6b79decef64736f6c63430008070033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7EA DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9BD5A60 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x439FAB91 EQ PUSH2 0x6F JUMPI DUP1 PUSH4 0x8129FC1C EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0xF0940002 EQ PUSH2 0x95 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0xB3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x48D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x89 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x84 SWAP2 SWAP1 PUSH2 0x391 JUMP JUMPDEST PUSH2 0xB9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x93 PUSH2 0x132 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9D PUSH2 0x155 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAA SWAP2 SWAP1 PUSH2 0x4A8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 SLOAD PUSH2 0xC7 SWAP1 PUSH2 0x5C4 JUMP JUMPDEST SWAP1 POP EQ PUSH2 0x109 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x100 SWAP1 PUSH2 0x4CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x11F SWAP3 SWAP2 SWAP1 PUSH2 0x23C JUMP JUMPDEST POP PUSH2 0x129 DUP2 PUSH2 0x1E3 JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH2 0x153 PUSH1 0x40 MLOAD DUP1 PUSH1 0xE0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xA4 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x711 PUSH1 0xA4 SWAP2 CODECOPY PUSH2 0xB9 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x162 SWAP1 PUSH2 0x5C4 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x18E SWAP1 PUSH2 0x5C4 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1DB JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1B0 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1DB JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1BE JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 PUSH1 0x40 MLOAD PUSH2 0x1F5 SWAP2 SWAP1 PUSH2 0x476 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x212 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST 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 0x235 SWAP2 SWAP1 PUSH2 0x364 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x248 SWAP1 PUSH2 0x5C4 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x26A JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x2B1 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x283 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x2B1 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x2B1 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x2B0 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x295 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x2BE SWAP2 SWAP1 PUSH2 0x2C2 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x2DB JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x2C3 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F2 PUSH2 0x2ED DUP5 PUSH2 0x50F JUMP JUMPDEST PUSH2 0x4EA JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x30E JUMPI PUSH2 0x30D PUSH2 0x68A JUMP JUMPDEST JUMPDEST PUSH2 0x319 DUP5 DUP3 DUP6 PUSH2 0x582 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x330 DUP2 PUSH2 0x6F9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x34B JUMPI PUSH2 0x34A PUSH2 0x685 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x35B DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2DF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x37A JUMPI PUSH2 0x379 PUSH2 0x694 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x388 DUP5 DUP3 DUP6 ADD PUSH2 0x321 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3A7 JUMPI PUSH2 0x3A6 PUSH2 0x694 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3C5 JUMPI PUSH2 0x3C4 PUSH2 0x68F JUMP JUMPDEST JUMPDEST PUSH2 0x3D1 DUP5 DUP3 DUP6 ADD PUSH2 0x336 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3E3 DUP2 PUSH2 0x578 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3F4 DUP3 PUSH2 0x540 JUMP JUMPDEST PUSH2 0x3FE DUP2 DUP6 PUSH2 0x54B JUMP JUMPDEST SWAP4 POP PUSH2 0x40E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x591 JUMP JUMPDEST PUSH2 0x417 DUP2 PUSH2 0x699 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x42D DUP3 PUSH2 0x540 JUMP JUMPDEST PUSH2 0x437 DUP2 DUP6 PUSH2 0x55C JUMP JUMPDEST SWAP4 POP PUSH2 0x447 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x591 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x460 PUSH1 0x36 DUP4 PUSH2 0x567 JUMP JUMPDEST SWAP2 POP PUSH2 0x46B DUP3 PUSH2 0x6AA JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x482 DUP3 DUP5 PUSH2 0x422 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x4A2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3DA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x4C2 DUP2 DUP5 PUSH2 0x3E9 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x4E3 DUP2 PUSH2 0x453 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4F4 PUSH2 0x505 JUMP JUMPDEST SWAP1 POP PUSH2 0x500 DUP3 DUP3 PUSH2 0x5F6 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x52A JUMPI PUSH2 0x529 PUSH2 0x656 JUMP JUMPDEST JUMPDEST PUSH2 0x533 DUP3 PUSH2 0x699 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5AF JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x594 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x5BE JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x5DC JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x5F0 JUMPI PUSH2 0x5EF PUSH2 0x627 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x5FF DUP3 PUSH2 0x699 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x61E JUMPI PUSH2 0x61D PUSH2 0x656 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374496E697469616C697A61626C65426173653A20 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x63616E6E6F74206368616E67652062797465636F646500000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x702 DUP2 PUSH2 0x578 JUMP JUMPDEST DUP2 EQ PUSH2 0x70D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID EXP DUP11 ADD SLT PUSH19 0x803121868747470733A2F2F6874747062696E 0x2E PUSH16 0x72672F706F73741A1D83187782186667 PUSH9 0x656164657273821867 PUSH12 0x4865616465722D4E616D6522 XOR SLOAD PUSH9 0x697320697320746865 KECCAK256 PUSH19 0x65717565737420626F64792A1B0A0B48656164 PUSH6 0x722D4E616D65 SLT 0xC BASEFEE PUSH6 0x616465722D56 PUSH2 0x6C75 PUSH6 0x1A090A050808 SLT ADD DUP1 LT MUL 0x22 MULMOD EXP SDIV ADDMOD ADDMOD SLT ADD DUP1 LT MUL LT DUP1 0xE4 SWAP8 0xD0 SLT XOR EXP KECCAK256 DUP1 SWAP5 0xEB 0xDC SUB 0x28 CALLER ADDRESS DUP1 0xE8 0xED LOG1 0xBA ADD LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP2 SWAP7 BASEFEE SWAP12 DUP5 DUP11 0xCB BASEFEE 0x2F CREATE DIV CALLCODE SLOAD DUP3 PUSH24 0xB6814CF6E132615F00045B6FB6B79DECEF64736F6C634300 ADDMOD SMOD STOP CALLER ","sourceMap":"566:480:28:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@bytecode_11946":{"entryPoint":341,"id":11946,"parameterSlots":0,"returnSlots":0},"@hash_11950":{"entryPoint":179,"id":11950,"parameterSlots":0,"returnSlots":0},"@hash_7982":{"entryPoint":483,"id":7982,"parameterSlots":1,"returnSlots":1},"@initialize_11987":{"entryPoint":185,"id":11987,"parameterSlots":1,"returnSlots":0},"@initialize_3929":{"entryPoint":306,"id":3929,"parameterSlots":0,"returnSlots":0},"abi_decode_available_length_t_bytes_memory_ptr":{"entryPoint":735,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_bytes32_fromMemory":{"entryPoint":801,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes_memory_ptr":{"entryPoint":822,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":868,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes_memory_ptr":{"entryPoint":913,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes32_to_t_bytes32_fromStack":{"entryPoint":986,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack":{"entryPoint":1001,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":1058,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_stringliteral_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5_to_t_string_memory_ptr_fromStack":{"entryPoint":1107,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":1142,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":1165,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":1192,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":1226,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_memory":{"entryPoint":1258,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":1285,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_bytes_memory_ptr":{"entryPoint":1295,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_bytes_memory_ptr":{"entryPoint":1344,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack":{"entryPoint":1355,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":1372,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_fromStack":{"entryPoint":1383,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":1400,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory":{"entryPoint":1410,"id":null,"parameterSlots":3,"returnSlots":0},"copy_memory_to_memory":{"entryPoint":1425,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":1476,"id":null,"parameterSlots":1,"returnSlots":1},"finalize_allocation":{"entryPoint":1526,"id":null,"parameterSlots":2,"returnSlots":0},"panic_error_0x22":{"entryPoint":1575,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":1622,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":1669,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae":{"entryPoint":1674,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":1679,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":1684,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":1689,"id":null,"parameterSlots":1,"returnSlots":1},"store_literal_in_memory_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5":{"entryPoint":1706,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":1785,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:7933:67","statements":[{"body":{"nodeType":"YulBlock","src":"90:327:67","statements":[{"nodeType":"YulAssignment","src":"100:74:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"166:6:67"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"125:40:67"},"nodeType":"YulFunctionCall","src":"125:48:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"109:15:67"},"nodeType":"YulFunctionCall","src":"109:65:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"100:5:67"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"190:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"197:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"183:6:67"},"nodeType":"YulFunctionCall","src":"183:21:67"},"nodeType":"YulExpressionStatement","src":"183:21:67"},{"nodeType":"YulVariableDeclaration","src":"213:27:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"228:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"235:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"224:3:67"},"nodeType":"YulFunctionCall","src":"224:16:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"217:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"278:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulIdentifier","src":"280:77:67"},"nodeType":"YulFunctionCall","src":"280:79:67"},"nodeType":"YulExpressionStatement","src":"280:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"259:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"264:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"255:3:67"},"nodeType":"YulFunctionCall","src":"255:16:67"},{"name":"end","nodeType":"YulIdentifier","src":"273:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"252:2:67"},"nodeType":"YulFunctionCall","src":"252:25:67"},"nodeType":"YulIf","src":"249:112:67"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"394:3:67"},{"name":"dst","nodeType":"YulIdentifier","src":"399:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"404:6:67"}],"functionName":{"name":"copy_calldata_to_memory","nodeType":"YulIdentifier","src":"370:23:67"},"nodeType":"YulFunctionCall","src":"370:41:67"},"nodeType":"YulExpressionStatement","src":"370:41:67"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"63:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"68:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"76:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"84:5:67","type":""}],"src":"7:410:67"},{"body":{"nodeType":"YulBlock","src":"486:80:67","statements":[{"nodeType":"YulAssignment","src":"496:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"511:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"505:5:67"},"nodeType":"YulFunctionCall","src":"505:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"496:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"554:5:67"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"527:26:67"},"nodeType":"YulFunctionCall","src":"527:33:67"},"nodeType":"YulExpressionStatement","src":"527:33:67"}]},"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"464:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"472:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"480:5:67","type":""}],"src":"423:143:67"},{"body":{"nodeType":"YulBlock","src":"646:277:67","statements":[{"body":{"nodeType":"YulBlock","src":"695:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"697:77:67"},"nodeType":"YulFunctionCall","src":"697:79:67"},"nodeType":"YulExpressionStatement","src":"697:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"674:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"682:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"670:3:67"},"nodeType":"YulFunctionCall","src":"670:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"689:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"666:3:67"},"nodeType":"YulFunctionCall","src":"666:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"659:6:67"},"nodeType":"YulFunctionCall","src":"659:35:67"},"nodeType":"YulIf","src":"656:122:67"},{"nodeType":"YulVariableDeclaration","src":"787:34:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"814:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"801:12:67"},"nodeType":"YulFunctionCall","src":"801:20:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"791:6:67","type":""}]},{"nodeType":"YulAssignment","src":"830:87:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"890:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"898:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"886:3:67"},"nodeType":"YulFunctionCall","src":"886:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"905:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"913:3:67"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"839:46:67"},"nodeType":"YulFunctionCall","src":"839:78:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"830:5:67"}]}]},"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"624:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"632:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"640:5:67","type":""}],"src":"585:338:67"},{"body":{"nodeType":"YulBlock","src":"1006:274:67","statements":[{"body":{"nodeType":"YulBlock","src":"1052:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1054:77:67"},"nodeType":"YulFunctionCall","src":"1054:79:67"},"nodeType":"YulExpressionStatement","src":"1054:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1027:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"1036:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1023:3:67"},"nodeType":"YulFunctionCall","src":"1023:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"1048:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1019:3:67"},"nodeType":"YulFunctionCall","src":"1019:32:67"},"nodeType":"YulIf","src":"1016:119:67"},{"nodeType":"YulBlock","src":"1145:128:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1160:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1174:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1164:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1189:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1235:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1246:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1231:3:67"},"nodeType":"YulFunctionCall","src":"1231:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1255:7:67"}],"functionName":{"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulIdentifier","src":"1199:31:67"},"nodeType":"YulFunctionCall","src":"1199:64:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1189:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"976:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"987:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"999:6:67","type":""}],"src":"929:351:67"},{"body":{"nodeType":"YulBlock","src":"1361:432:67","statements":[{"body":{"nodeType":"YulBlock","src":"1407:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1409:77:67"},"nodeType":"YulFunctionCall","src":"1409:79:67"},"nodeType":"YulExpressionStatement","src":"1409:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1382:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"1391:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1378:3:67"},"nodeType":"YulFunctionCall","src":"1378:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"1403:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1374:3:67"},"nodeType":"YulFunctionCall","src":"1374:32:67"},"nodeType":"YulIf","src":"1371:119:67"},{"nodeType":"YulBlock","src":"1500:286:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1515:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1546:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"1557:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1542:3:67"},"nodeType":"YulFunctionCall","src":"1542:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1529:12:67"},"nodeType":"YulFunctionCall","src":"1529:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1519:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"1607:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"1609:77:67"},"nodeType":"YulFunctionCall","src":"1609:79:67"},"nodeType":"YulExpressionStatement","src":"1609:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1579:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1587:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1576:2:67"},"nodeType":"YulFunctionCall","src":"1576:30:67"},"nodeType":"YulIf","src":"1573:117:67"},{"nodeType":"YulAssignment","src":"1704:72:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1748:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1759:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1744:3:67"},"nodeType":"YulFunctionCall","src":"1744:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1768:7:67"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"1714:29:67"},"nodeType":"YulFunctionCall","src":"1714:62:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1704:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1331:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1342:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1354:6:67","type":""}],"src":"1286:507:67"},{"body":{"nodeType":"YulBlock","src":"1864:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1881:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1904:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"1886:17:67"},"nodeType":"YulFunctionCall","src":"1886:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1874:6:67"},"nodeType":"YulFunctionCall","src":"1874:37:67"},"nodeType":"YulExpressionStatement","src":"1874:37:67"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1852:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1859:3:67","type":""}],"src":"1799:118:67"},{"body":{"nodeType":"YulBlock","src":"2013:270:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2023:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2069:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"2037:31:67"},"nodeType":"YulFunctionCall","src":"2037:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2027:6:67","type":""}]},{"nodeType":"YulAssignment","src":"2084:77:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2149:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"2154:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"2091:57:67"},"nodeType":"YulFunctionCall","src":"2091:70:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2084:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2196:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"2203:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2192:3:67"},"nodeType":"YulFunctionCall","src":"2192:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"2210:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"2215:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"2170:21:67"},"nodeType":"YulFunctionCall","src":"2170:52:67"},"nodeType":"YulExpressionStatement","src":"2170:52:67"},{"nodeType":"YulAssignment","src":"2231:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2242:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2269:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"2247:21:67"},"nodeType":"YulFunctionCall","src":"2247:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2238:3:67"},"nodeType":"YulFunctionCall","src":"2238:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2231:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1994:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2001:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2009:3:67","type":""}],"src":"1923:360:67"},{"body":{"nodeType":"YulBlock","src":"2397:265:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2407:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2453:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"2421:31:67"},"nodeType":"YulFunctionCall","src":"2421:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2411:6:67","type":""}]},{"nodeType":"YulAssignment","src":"2468:95:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2551:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"2556:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"2475:75:67"},"nodeType":"YulFunctionCall","src":"2475:88:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2468:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2598:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"2605:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2594:3:67"},"nodeType":"YulFunctionCall","src":"2594:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"2612:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"2617:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"2572:21:67"},"nodeType":"YulFunctionCall","src":"2572:52:67"},"nodeType":"YulExpressionStatement","src":"2572:52:67"},{"nodeType":"YulAssignment","src":"2633:23:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2644:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"2649:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2640:3:67"},"nodeType":"YulFunctionCall","src":"2640:16:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2633:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2378:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2385:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2393:3:67","type":""}],"src":"2289:373:67"},{"body":{"nodeType":"YulBlock","src":"2814:220:67","statements":[{"nodeType":"YulAssignment","src":"2824:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2890:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"2895:2:67","type":"","value":"54"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"2831:58:67"},"nodeType":"YulFunctionCall","src":"2831:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2824:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2996:3:67"}],"functionName":{"name":"store_literal_in_memory_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5","nodeType":"YulIdentifier","src":"2907:88:67"},"nodeType":"YulFunctionCall","src":"2907:93:67"},"nodeType":"YulExpressionStatement","src":"2907:93:67"},{"nodeType":"YulAssignment","src":"3009:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3020:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"3025:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3016:3:67"},"nodeType":"YulFunctionCall","src":"3016:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3009:3:67"}]}]},"name":"abi_encode_t_stringliteral_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"2802:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2810:3:67","type":""}],"src":"2668:366:67"},{"body":{"nodeType":"YulBlock","src":"3174:137:67","statements":[{"nodeType":"YulAssignment","src":"3185:100:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3272:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"3281:3:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"3192:79:67"},"nodeType":"YulFunctionCall","src":"3192:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3185:3:67"}]},{"nodeType":"YulAssignment","src":"3295:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"3302:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3295:3:67"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"3153:3:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3159:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"3170:3:67","type":""}],"src":"3040:271:67"},{"body":{"nodeType":"YulBlock","src":"3415:124:67","statements":[{"nodeType":"YulAssignment","src":"3425:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3437:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"3448:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3433:3:67"},"nodeType":"YulFunctionCall","src":"3433:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3425:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3505:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3518:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"3529:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3514:3:67"},"nodeType":"YulFunctionCall","src":"3514:17:67"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"3461:43:67"},"nodeType":"YulFunctionCall","src":"3461:71:67"},"nodeType":"YulExpressionStatement","src":"3461:71:67"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3387:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3399:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3410:4:67","type":""}],"src":"3317:222:67"},{"body":{"nodeType":"YulBlock","src":"3661:193:67","statements":[{"nodeType":"YulAssignment","src":"3671:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3683:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"3694:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3679:3:67"},"nodeType":"YulFunctionCall","src":"3679:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3671:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3718:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"3729:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3714:3:67"},"nodeType":"YulFunctionCall","src":"3714:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"3737:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"3743:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3733:3:67"},"nodeType":"YulFunctionCall","src":"3733:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3707:6:67"},"nodeType":"YulFunctionCall","src":"3707:47:67"},"nodeType":"YulExpressionStatement","src":"3707:47:67"},{"nodeType":"YulAssignment","src":"3763:84:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3833:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"3842:4:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"3771:61:67"},"nodeType":"YulFunctionCall","src":"3771:76:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3763:4:67"}]}]},"name":"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3633:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3645:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3656:4:67","type":""}],"src":"3545:309:67"},{"body":{"nodeType":"YulBlock","src":"4031:248:67","statements":[{"nodeType":"YulAssignment","src":"4041:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4053:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"4064:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4049:3:67"},"nodeType":"YulFunctionCall","src":"4049:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4041:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4088:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"4099:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4084:3:67"},"nodeType":"YulFunctionCall","src":"4084:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"4107:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"4113:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4103:3:67"},"nodeType":"YulFunctionCall","src":"4103:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4077:6:67"},"nodeType":"YulFunctionCall","src":"4077:47:67"},"nodeType":"YulExpressionStatement","src":"4077:47:67"},{"nodeType":"YulAssignment","src":"4133:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"4267:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"4141:124:67"},"nodeType":"YulFunctionCall","src":"4141:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4133:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4011:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4026:4:67","type":""}],"src":"3860:419:67"},{"body":{"nodeType":"YulBlock","src":"4326:88:67","statements":[{"nodeType":"YulAssignment","src":"4336:30:67","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"4346:18:67"},"nodeType":"YulFunctionCall","src":"4346:20:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4336:6:67"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4395:6:67"},{"name":"size","nodeType":"YulIdentifier","src":"4403:4:67"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"4375:19:67"},"nodeType":"YulFunctionCall","src":"4375:33:67"},"nodeType":"YulExpressionStatement","src":"4375:33:67"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"4310:4:67","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"4319:6:67","type":""}],"src":"4285:129:67"},{"body":{"nodeType":"YulBlock","src":"4460:35:67","statements":[{"nodeType":"YulAssignment","src":"4470:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4486:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4480:5:67"},"nodeType":"YulFunctionCall","src":"4480:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4470:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"4453:6:67","type":""}],"src":"4420:75:67"},{"body":{"nodeType":"YulBlock","src":"4567:241:67","statements":[{"body":{"nodeType":"YulBlock","src":"4672:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4674:16:67"},"nodeType":"YulFunctionCall","src":"4674:18:67"},"nodeType":"YulExpressionStatement","src":"4674:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4644:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"4652:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4641:2:67"},"nodeType":"YulFunctionCall","src":"4641:30:67"},"nodeType":"YulIf","src":"4638:56:67"},{"nodeType":"YulAssignment","src":"4704:37:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4734:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"4712:21:67"},"nodeType":"YulFunctionCall","src":"4712:29:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"4704:4:67"}]},{"nodeType":"YulAssignment","src":"4778:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"4790:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"4796:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4786:3:67"},"nodeType":"YulFunctionCall","src":"4786:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"4778:4:67"}]}]},"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"4551:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"4562:4:67","type":""}],"src":"4501:307:67"},{"body":{"nodeType":"YulBlock","src":"4872:40:67","statements":[{"nodeType":"YulAssignment","src":"4883:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4899:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4893:5:67"},"nodeType":"YulFunctionCall","src":"4893:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4883:6:67"}]}]},"name":"array_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4855:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"4865:6:67","type":""}],"src":"4814:98:67"},{"body":{"nodeType":"YulBlock","src":"5013:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5030:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"5035:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5023:6:67"},"nodeType":"YulFunctionCall","src":"5023:19:67"},"nodeType":"YulExpressionStatement","src":"5023:19:67"},{"nodeType":"YulAssignment","src":"5051:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5070:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5075:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5066:3:67"},"nodeType":"YulFunctionCall","src":"5066:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"5051:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"4985:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"4990:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"5001:11:67","type":""}],"src":"4918:168:67"},{"body":{"nodeType":"YulBlock","src":"5205:34:67","statements":[{"nodeType":"YulAssignment","src":"5215:18:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"5230:3:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"5215:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"5177:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"5182:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"5193:11:67","type":""}],"src":"5092:147:67"},{"body":{"nodeType":"YulBlock","src":"5341:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5358:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"5363:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5351:6:67"},"nodeType":"YulFunctionCall","src":"5351:19:67"},"nodeType":"YulExpressionStatement","src":"5351:19:67"},{"nodeType":"YulAssignment","src":"5379:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5398:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5403:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5394:3:67"},"nodeType":"YulFunctionCall","src":"5394:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"5379:11:67"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"5313:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"5318:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"5329:11:67","type":""}],"src":"5245:169:67"},{"body":{"nodeType":"YulBlock","src":"5465:32:67","statements":[{"nodeType":"YulAssignment","src":"5475:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"5486:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"5475:7:67"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5447:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"5457:7:67","type":""}],"src":"5420:77:67"},{"body":{"nodeType":"YulBlock","src":"5554:103:67","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5577:3:67"},{"name":"src","nodeType":"YulIdentifier","src":"5582:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"5587:6:67"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"5564:12:67"},"nodeType":"YulFunctionCall","src":"5564:30:67"},"nodeType":"YulExpressionStatement","src":"5564:30:67"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5635:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"5640:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5631:3:67"},"nodeType":"YulFunctionCall","src":"5631:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"5649:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5624:6:67"},"nodeType":"YulFunctionCall","src":"5624:27:67"},"nodeType":"YulExpressionStatement","src":"5624:27:67"}]},"name":"copy_calldata_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"5536:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"5541:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"5546:6:67","type":""}],"src":"5503:154:67"},{"body":{"nodeType":"YulBlock","src":"5712:258:67","statements":[{"nodeType":"YulVariableDeclaration","src":"5722:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"5731:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"5726:1:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"5791:63:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5816:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"5821:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5812:3:67"},"nodeType":"YulFunctionCall","src":"5812:11:67"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5835:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"5840:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5831:3:67"},"nodeType":"YulFunctionCall","src":"5831:11:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5825:5:67"},"nodeType":"YulFunctionCall","src":"5825:18:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5805:6:67"},"nodeType":"YulFunctionCall","src":"5805:39:67"},"nodeType":"YulExpressionStatement","src":"5805:39:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5752:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"5755:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5749:2:67"},"nodeType":"YulFunctionCall","src":"5749:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"5763:19:67","statements":[{"nodeType":"YulAssignment","src":"5765:15:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5774:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"5777:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5770:3:67"},"nodeType":"YulFunctionCall","src":"5770:10:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"5765:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"5745:3:67","statements":[]},"src":"5741:113:67"},{"body":{"nodeType":"YulBlock","src":"5888:76:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5938:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"5943:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5934:3:67"},"nodeType":"YulFunctionCall","src":"5934:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"5952:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5927:6:67"},"nodeType":"YulFunctionCall","src":"5927:27:67"},"nodeType":"YulExpressionStatement","src":"5927:27:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5869:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"5872:6:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5866:2:67"},"nodeType":"YulFunctionCall","src":"5866:13:67"},"nodeType":"YulIf","src":"5863:101:67"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"5694:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"5699:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"5704:6:67","type":""}],"src":"5663:307:67"},{"body":{"nodeType":"YulBlock","src":"6027:269:67","statements":[{"nodeType":"YulAssignment","src":"6037:22:67","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"6051:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"6057:1:67","type":"","value":"2"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"6047:3:67"},"nodeType":"YulFunctionCall","src":"6047:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"6037:6:67"}]},{"nodeType":"YulVariableDeclaration","src":"6068:38:67","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"6098:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"6104:1:67","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6094:3:67"},"nodeType":"YulFunctionCall","src":"6094:12:67"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"6072:18:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"6145:51:67","statements":[{"nodeType":"YulAssignment","src":"6159:27:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6173:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"6181:4:67","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6169:3:67"},"nodeType":"YulFunctionCall","src":"6169:17:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"6159:6:67"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"6125:18:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6118:6:67"},"nodeType":"YulFunctionCall","src":"6118:26:67"},"nodeType":"YulIf","src":"6115:81:67"},{"body":{"nodeType":"YulBlock","src":"6248:42:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x22","nodeType":"YulIdentifier","src":"6262:16:67"},"nodeType":"YulFunctionCall","src":"6262:18:67"},"nodeType":"YulExpressionStatement","src":"6262:18:67"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"6212:18:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6235:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"6243:2:67","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6232:2:67"},"nodeType":"YulFunctionCall","src":"6232:14:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"6209:2:67"},"nodeType":"YulFunctionCall","src":"6209:38:67"},"nodeType":"YulIf","src":"6206:84:67"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"6011:4:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"6020:6:67","type":""}],"src":"5976:320:67"},{"body":{"nodeType":"YulBlock","src":"6345:238:67","statements":[{"nodeType":"YulVariableDeclaration","src":"6355:58:67","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"6377:6:67"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"6407:4:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"6385:21:67"},"nodeType":"YulFunctionCall","src":"6385:27:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6373:3:67"},"nodeType":"YulFunctionCall","src":"6373:40:67"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"6359:10:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"6524:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"6526:16:67"},"nodeType":"YulFunctionCall","src":"6526:18:67"},"nodeType":"YulExpressionStatement","src":"6526:18:67"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6467:10:67"},{"kind":"number","nodeType":"YulLiteral","src":"6479:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6464:2:67"},"nodeType":"YulFunctionCall","src":"6464:34:67"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6503:10:67"},{"name":"memPtr","nodeType":"YulIdentifier","src":"6515:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6500:2:67"},"nodeType":"YulFunctionCall","src":"6500:22:67"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"6461:2:67"},"nodeType":"YulFunctionCall","src":"6461:62:67"},"nodeType":"YulIf","src":"6458:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6562:2:67","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6566:10:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6555:6:67"},"nodeType":"YulFunctionCall","src":"6555:22:67"},"nodeType":"YulExpressionStatement","src":"6555:22:67"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"6331:6:67","type":""},{"name":"size","nodeType":"YulTypedName","src":"6339:4:67","type":""}],"src":"6302:281:67"},{"body":{"nodeType":"YulBlock","src":"6617:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6634:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6637:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6627:6:67"},"nodeType":"YulFunctionCall","src":"6627:88:67"},"nodeType":"YulExpressionStatement","src":"6627:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6731:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"6734:4:67","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6724:6:67"},"nodeType":"YulFunctionCall","src":"6724:15:67"},"nodeType":"YulExpressionStatement","src":"6724:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6755:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6758:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6748:6:67"},"nodeType":"YulFunctionCall","src":"6748:15:67"},"nodeType":"YulExpressionStatement","src":"6748:15:67"}]},"name":"panic_error_0x22","nodeType":"YulFunctionDefinition","src":"6589:180:67"},{"body":{"nodeType":"YulBlock","src":"6803:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6820:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6823:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6813:6:67"},"nodeType":"YulFunctionCall","src":"6813:88:67"},"nodeType":"YulExpressionStatement","src":"6813:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6917:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"6920:4:67","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6910:6:67"},"nodeType":"YulFunctionCall","src":"6910:15:67"},"nodeType":"YulExpressionStatement","src":"6910:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6941:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6944:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6934:6:67"},"nodeType":"YulFunctionCall","src":"6934:15:67"},"nodeType":"YulExpressionStatement","src":"6934:15:67"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"6775:180:67"},{"body":{"nodeType":"YulBlock","src":"7050:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7067:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7070:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7060:6:67"},"nodeType":"YulFunctionCall","src":"7060:12:67"},"nodeType":"YulExpressionStatement","src":"7060:12:67"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"6961:117:67"},{"body":{"nodeType":"YulBlock","src":"7173:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7190:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7193:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7183:6:67"},"nodeType":"YulFunctionCall","src":"7183:12:67"},"nodeType":"YulExpressionStatement","src":"7183:12:67"}]},"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulFunctionDefinition","src":"7084:117:67"},{"body":{"nodeType":"YulBlock","src":"7296:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7313:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7316:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7306:6:67"},"nodeType":"YulFunctionCall","src":"7306:12:67"},"nodeType":"YulExpressionStatement","src":"7306:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"7207:117:67"},{"body":{"nodeType":"YulBlock","src":"7419:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7436:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7439:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7429:6:67"},"nodeType":"YulFunctionCall","src":"7429:12:67"},"nodeType":"YulExpressionStatement","src":"7429:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"7330:117:67"},{"body":{"nodeType":"YulBlock","src":"7501:54:67","statements":[{"nodeType":"YulAssignment","src":"7511:38:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7529:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"7536:2:67","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7525:3:67"},"nodeType":"YulFunctionCall","src":"7525:14:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7545:2:67","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"7541:3:67"},"nodeType":"YulFunctionCall","src":"7541:7:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7521:3:67"},"nodeType":"YulFunctionCall","src":"7521:28:67"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"7511:6:67"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7484:5:67","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"7494:6:67","type":""}],"src":"7453:102:67"},{"body":{"nodeType":"YulBlock","src":"7667:135:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"7689:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"7697:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7685:3:67"},"nodeType":"YulFunctionCall","src":"7685:14:67"},{"hexValue":"5769746e657452657175657374496e697469616c697a61626c65426173653a20","kind":"string","nodeType":"YulLiteral","src":"7701:34:67","type":"","value":"WitnetRequestInitializableBase: "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7678:6:67"},"nodeType":"YulFunctionCall","src":"7678:58:67"},"nodeType":"YulExpressionStatement","src":"7678:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"7757:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"7765:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7753:3:67"},"nodeType":"YulFunctionCall","src":"7753:15:67"},{"hexValue":"63616e6e6f74206368616e67652062797465636f6465","kind":"string","nodeType":"YulLiteral","src":"7770:24:67","type":"","value":"cannot change bytecode"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7746:6:67"},"nodeType":"YulFunctionCall","src":"7746:49:67"},"nodeType":"YulExpressionStatement","src":"7746:49:67"}]},"name":"store_literal_in_memory_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"7659:6:67","type":""}],"src":"7561:241:67"},{"body":{"nodeType":"YulBlock","src":"7851:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"7908:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7917:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7920:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7910:6:67"},"nodeType":"YulFunctionCall","src":"7910:12:67"},"nodeType":"YulExpressionStatement","src":"7910:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7874:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7899:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"7881:17:67"},"nodeType":"YulFunctionCall","src":"7881:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7871:2:67"},"nodeType":"YulFunctionCall","src":"7871:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7864:6:67"},"nodeType":"YulFunctionCall","src":"7864:43:67"},"nodeType":"YulIf","src":"7861:63:67"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7844:5:67","type":""}],"src":"7808:122:67"}]},"contents":"{\n\n    function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n        mstore(array, length)\n        let dst := add(array, 0x20)\n        if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n        copy_calldata_to_memory(src, dst, length)\n    }\n\n    function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_bytes32(value)\n    }\n\n    // bytes\n    function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := calldataload(offset)\n        array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n    }\n\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_bytes32_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n        mstore(pos, cleanup_t_bytes32(value))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, length)\n    }\n\n    function abi_encode_t_stringliteral_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 54)\n        store_literal_in_memory_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n        pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_bytes32_to_t_bytes32_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function allocate_memory(size) -> memPtr {\n        memPtr := allocate_unbounded()\n        finalize_allocation(memPtr, size)\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := round_up_to_mul_of_32(length)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_length_t_bytes_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n        updated_pos := pos\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function cleanup_t_bytes32(value) -> cleaned {\n        cleaned := value\n    }\n\n    function copy_calldata_to_memory(src, dst, length) {\n        calldatacopy(dst, src, length)\n        // clear end\n        mstore(add(dst, length), 0)\n    }\n\n    function copy_memory_to_memory(src, dst, length) {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        if gt(i, length)\n        {\n            // clear end\n            mstore(add(dst, length), 0)\n        }\n    }\n\n    function extract_byte_array_length(data) -> length {\n        length := div(data, 2)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) {\n            length := and(length, 0x7f)\n        }\n\n        if eq(outOfPlaceEncoding, lt(length, 32)) {\n            panic_error_0x22()\n        }\n    }\n\n    function finalize_allocation(memPtr, size) {\n        let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n        // protect against overflow\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n\n    function panic_error_0x22() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x22)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x41() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n\n    function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n        revert(0, 0)\n    }\n\n    function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n        revert(0, 0)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function round_up_to_mul_of_32(value) -> result {\n        result := and(add(value, 31), not(31))\n    }\n\n    function store_literal_in_memory_0d39d36c7c71d44913933a4ad4dea37491fe7c6615a490264518dcc96a8cedc5(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestInitializableBase: \")\n\n        mstore(add(memPtr, 32), \"cannot change bytecode\")\n\n    }\n\n    function validator_revert_t_bytes32(value) {\n        if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b506004361061004c5760003560e01c806309bd5a6014610051578063439fab911461006f5780638129fc1c1461008b578063f094000214610095575b600080fd5b6100596100b3565b604051610066919061048d565b60405180910390f35b61008960048036038101906100849190610391565b6100b9565b005b610093610132565b005b61009d610155565b6040516100aa91906104a8565b60405180910390f35b60015481565b60008080546100c7906105c4565b905014610109576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610100906104ca565b60405180910390fd5b806000908051906020019061011f92919061023c565b50610129816101e3565b60018190555050565b6101536040518060e0016040528060a4815260200161071160a491396100b9565b565b60008054610162906105c4565b80601f016020809104026020016040519081016040528092919081815260200182805461018e906105c4565b80156101db5780601f106101b0576101008083540402835291602001916101db565b820191906000526020600020905b8154815290600101906020018083116101be57829003601f168201915b505050505081565b60006002826040516101f59190610476565b602060405180830381855afa158015610212573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906102359190610364565b9050919050565b828054610248906105c4565b90600052602060002090601f01602090048101928261026a57600085556102b1565b82601f1061028357805160ff19168380011785556102b1565b828001600101855582156102b1579182015b828111156102b0578251825591602001919060010190610295565b5b5090506102be91906102c2565b5090565b5b808211156102db5760008160009055506001016102c3565b5090565b60006102f26102ed8461050f565b6104ea565b90508281526020810184848401111561030e5761030d61068a565b5b610319848285610582565b509392505050565b600081519050610330816106f9565b92915050565b600082601f83011261034b5761034a610685565b5b813561035b8482602086016102df565b91505092915050565b60006020828403121561037a57610379610694565b5b600061038884828501610321565b91505092915050565b6000602082840312156103a7576103a6610694565b5b600082013567ffffffffffffffff8111156103c5576103c461068f565b5b6103d184828501610336565b91505092915050565b6103e381610578565b82525050565b60006103f482610540565b6103fe818561054b565b935061040e818560208601610591565b61041781610699565b840191505092915050565b600061042d82610540565b610437818561055c565b9350610447818560208601610591565b80840191505092915050565b6000610460603683610567565b915061046b826106aa565b604082019050919050565b60006104828284610422565b915081905092915050565b60006020820190506104a260008301846103da565b92915050565b600060208201905081810360008301526104c281846103e9565b905092915050565b600060208201905081810360008301526104e381610453565b9050919050565b60006104f4610505565b905061050082826105f6565b919050565b6000604051905090565b600067ffffffffffffffff82111561052a57610529610656565b5b61053382610699565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000819050919050565b82818337600083830152505050565b60005b838110156105af578082015181840152602081019050610594565b838111156105be576000848401525b50505050565b600060028204905060018216806105dc57607f821691505b602082108114156105f0576105ef610627565b5b50919050565b6105ff82610699565b810181811067ffffffffffffffff8211171561061e5761061d610656565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f5769746e657452657175657374496e697469616c697a61626c65426173653a2060008201527f63616e6e6f74206368616e67652062797465636f646500000000000000000000602082015250565b61070281610578565b811461070d57600080fd5b5056fe0a8a0112720803121868747470733a2f2f6874747062696e2e6f72672f706f73741a1d83187782186667686561646572738218676b4865616465722d4e616d6522185468697320697320746865207265717565737420626f64792a1b0a0b4865616465722d4e616d65120c4865616465722d56616c75651a090a050808120180100222090a05080812018010021080e497d012180a208094ebdc0328333080e8eda1ba01a26469706673582212209196489b848acb482ff004f2548277b6814cf6e132615f00045b6fb6b79decef64736f6c63430008070033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9BD5A60 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x439FAB91 EQ PUSH2 0x6F JUMPI DUP1 PUSH4 0x8129FC1C EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0xF0940002 EQ PUSH2 0x95 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0xB3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x48D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x89 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x84 SWAP2 SWAP1 PUSH2 0x391 JUMP JUMPDEST PUSH2 0xB9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x93 PUSH2 0x132 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9D PUSH2 0x155 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAA SWAP2 SWAP1 PUSH2 0x4A8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 SLOAD PUSH2 0xC7 SWAP1 PUSH2 0x5C4 JUMP JUMPDEST SWAP1 POP EQ PUSH2 0x109 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x100 SWAP1 PUSH2 0x4CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x11F SWAP3 SWAP2 SWAP1 PUSH2 0x23C JUMP JUMPDEST POP PUSH2 0x129 DUP2 PUSH2 0x1E3 JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH2 0x153 PUSH1 0x40 MLOAD DUP1 PUSH1 0xE0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xA4 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x711 PUSH1 0xA4 SWAP2 CODECOPY PUSH2 0xB9 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x162 SWAP1 PUSH2 0x5C4 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x18E SWAP1 PUSH2 0x5C4 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1DB JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1B0 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1DB JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1BE JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 PUSH1 0x40 MLOAD PUSH2 0x1F5 SWAP2 SWAP1 PUSH2 0x476 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x212 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST 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 0x235 SWAP2 SWAP1 PUSH2 0x364 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x248 SWAP1 PUSH2 0x5C4 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x26A JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x2B1 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x283 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x2B1 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x2B1 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x2B0 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x295 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x2BE SWAP2 SWAP1 PUSH2 0x2C2 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x2DB JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x2C3 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F2 PUSH2 0x2ED DUP5 PUSH2 0x50F JUMP JUMPDEST PUSH2 0x4EA JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x30E JUMPI PUSH2 0x30D PUSH2 0x68A JUMP JUMPDEST JUMPDEST PUSH2 0x319 DUP5 DUP3 DUP6 PUSH2 0x582 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x330 DUP2 PUSH2 0x6F9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x34B JUMPI PUSH2 0x34A PUSH2 0x685 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x35B DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2DF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x37A JUMPI PUSH2 0x379 PUSH2 0x694 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x388 DUP5 DUP3 DUP6 ADD PUSH2 0x321 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3A7 JUMPI PUSH2 0x3A6 PUSH2 0x694 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3C5 JUMPI PUSH2 0x3C4 PUSH2 0x68F JUMP JUMPDEST JUMPDEST PUSH2 0x3D1 DUP5 DUP3 DUP6 ADD PUSH2 0x336 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3E3 DUP2 PUSH2 0x578 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3F4 DUP3 PUSH2 0x540 JUMP JUMPDEST PUSH2 0x3FE DUP2 DUP6 PUSH2 0x54B JUMP JUMPDEST SWAP4 POP PUSH2 0x40E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x591 JUMP JUMPDEST PUSH2 0x417 DUP2 PUSH2 0x699 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x42D DUP3 PUSH2 0x540 JUMP JUMPDEST PUSH2 0x437 DUP2 DUP6 PUSH2 0x55C JUMP JUMPDEST SWAP4 POP PUSH2 0x447 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x591 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x460 PUSH1 0x36 DUP4 PUSH2 0x567 JUMP JUMPDEST SWAP2 POP PUSH2 0x46B DUP3 PUSH2 0x6AA JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x482 DUP3 DUP5 PUSH2 0x422 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x4A2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3DA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x4C2 DUP2 DUP5 PUSH2 0x3E9 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x4E3 DUP2 PUSH2 0x453 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4F4 PUSH2 0x505 JUMP JUMPDEST SWAP1 POP PUSH2 0x500 DUP3 DUP3 PUSH2 0x5F6 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x52A JUMPI PUSH2 0x529 PUSH2 0x656 JUMP JUMPDEST JUMPDEST PUSH2 0x533 DUP3 PUSH2 0x699 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5AF JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x594 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x5BE JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x5DC JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x5F0 JUMPI PUSH2 0x5EF PUSH2 0x627 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x5FF DUP3 PUSH2 0x699 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x61E JUMPI PUSH2 0x61D PUSH2 0x656 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374496E697469616C697A61626C65426173653A20 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x63616E6E6F74206368616E67652062797465636F646500000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x702 DUP2 PUSH2 0x578 JUMP JUMPDEST DUP2 EQ PUSH2 0x70D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID EXP DUP11 ADD SLT PUSH19 0x803121868747470733A2F2F6874747062696E 0x2E PUSH16 0x72672F706F73741A1D83187782186667 PUSH9 0x656164657273821867 PUSH12 0x4865616465722D4E616D6522 XOR SLOAD PUSH9 0x697320697320746865 KECCAK256 PUSH19 0x65717565737420626F64792A1B0A0B48656164 PUSH6 0x722D4E616D65 SLT 0xC BASEFEE PUSH6 0x616465722D56 PUSH2 0x6C75 PUSH6 0x1A090A050808 SLT ADD DUP1 LT MUL 0x22 MULMOD EXP SDIV ADDMOD ADDMOD SLT ADD DUP1 LT MUL LT DUP1 0xE4 SWAP8 0xD0 SLT XOR EXP KECCAK256 DUP1 SWAP5 0xEB 0xDC SUB 0x28 CALLER ADDRESS DUP1 0xE8 0xED LOG1 0xBA ADD LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP2 SWAP7 BASEFEE SWAP12 DUP5 DUP11 0xCB BASEFEE 0x2F CREATE DIV CALLCODE SLOAD DUP3 PUSH24 0xB6814CF6E132615F00045B6FB6B79DECEF64736F6C634300 ADDMOD SMOD STOP CALLER ","sourceMap":"566:480:28:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;363:28:63;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;280:289:64;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;628:416:28;;;:::i;:::-;;252:30:63;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;363:28;;;;:::o;280:289:64:-;418:1;399:8;:15;;;;;:::i;:::-;;;:20;378:121;;;;;;;;;;;;:::i;:::-;;;;;;;;;520:9;509:8;:20;;;;;;;;;;;;:::i;:::-;;546:16;:9;:14;:16::i;:::-;539:4;:23;;;;280:289;:::o;628:416:28:-;663:376;;;;;;;;;;;;;;;;;;:41;:376::i;:::-;628:416::o;252:30:63:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;298:111:50:-;359:7;385:17;392:9;385:17;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;378:24;;298:111;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:410:67:-;84:5;109:65;125:48;166:6;125:48;:::i;:::-;109:65;:::i;:::-;100:74;;197:6;190:5;183:21;235:4;228:5;224:16;273:3;264:6;259:3;255:16;252:25;249:112;;;280:79;;:::i;:::-;249:112;370:41;404:6;399:3;394;370:41;:::i;:::-;90:327;7:410;;;;;:::o;423:143::-;480:5;511:6;505:13;496:22;;527:33;554:5;527:33;:::i;:::-;423:143;;;;:::o;585:338::-;640:5;689:3;682:4;674:6;670:17;666:27;656:122;;697:79;;:::i;:::-;656:122;814:6;801:20;839:78;913:3;905:6;898:4;890:6;886:17;839:78;:::i;:::-;830:87;;646:277;585:338;;;;:::o;929:351::-;999:6;1048:2;1036:9;1027:7;1023:23;1019:32;1016:119;;;1054:79;;:::i;:::-;1016:119;1174:1;1199:64;1255:7;1246:6;1235:9;1231:22;1199:64;:::i;:::-;1189:74;;1145:128;929:351;;;;:::o;1286:507::-;1354:6;1403:2;1391:9;1382:7;1378:23;1374:32;1371:119;;;1409:79;;:::i;:::-;1371:119;1557:1;1546:9;1542:17;1529:31;1587:18;1579:6;1576:30;1573:117;;;1609:79;;:::i;:::-;1573:117;1714:62;1768:7;1759:6;1748:9;1744:22;1714:62;:::i;:::-;1704:72;;1500:286;1286:507;;;;:::o;1799:118::-;1886:24;1904:5;1886:24;:::i;:::-;1881:3;1874:37;1799:118;;:::o;1923:360::-;2009:3;2037:38;2069:5;2037:38;:::i;:::-;2091:70;2154:6;2149:3;2091:70;:::i;:::-;2084:77;;2170:52;2215:6;2210:3;2203:4;2196:5;2192:16;2170:52;:::i;:::-;2247:29;2269:6;2247:29;:::i;:::-;2242:3;2238:39;2231:46;;2013:270;1923:360;;;;:::o;2289:373::-;2393:3;2421:38;2453:5;2421:38;:::i;:::-;2475:88;2556:6;2551:3;2475:88;:::i;:::-;2468:95;;2572:52;2617:6;2612:3;2605:4;2598:5;2594:16;2572:52;:::i;:::-;2649:6;2644:3;2640:16;2633:23;;2397:265;2289:373;;;;:::o;2668:366::-;2810:3;2831:67;2895:2;2890:3;2831:67;:::i;:::-;2824:74;;2907:93;2996:3;2907:93;:::i;:::-;3025:2;3020:3;3016:12;3009:19;;2668:366;;;:::o;3040:271::-;3170:3;3192:93;3281:3;3272:6;3192:93;:::i;:::-;3185:100;;3302:3;3295:10;;3040:271;;;;:::o;3317:222::-;3410:4;3448:2;3437:9;3433:18;3425:26;;3461:71;3529:1;3518:9;3514:17;3505:6;3461:71;:::i;:::-;3317:222;;;;:::o;3545:309::-;3656:4;3694:2;3683:9;3679:18;3671:26;;3743:9;3737:4;3733:20;3729:1;3718:9;3714:17;3707:47;3771:76;3842:4;3833:6;3771:76;:::i;:::-;3763:84;;3545:309;;;;:::o;3860:419::-;4026:4;4064:2;4053:9;4049:18;4041:26;;4113:9;4107:4;4103:20;4099:1;4088:9;4084:17;4077:47;4141:131;4267:4;4141:131;:::i;:::-;4133:139;;3860:419;;;:::o;4285:129::-;4319:6;4346:20;;:::i;:::-;4336:30;;4375:33;4403:4;4395:6;4375:33;:::i;:::-;4285:129;;;:::o;4420:75::-;4453:6;4486:2;4480:9;4470:19;;4420:75;:::o;4501:307::-;4562:4;4652:18;4644:6;4641:30;4638:56;;;4674:18;;:::i;:::-;4638:56;4712:29;4734:6;4712:29;:::i;:::-;4704:37;;4796:4;4790;4786:15;4778:23;;4501:307;;;:::o;4814:98::-;4865:6;4899:5;4893:12;4883:22;;4814:98;;;:::o;4918:168::-;5001:11;5035:6;5030:3;5023:19;5075:4;5070:3;5066:14;5051:29;;4918:168;;;;:::o;5092:147::-;5193:11;5230:3;5215:18;;5092:147;;;;:::o;5245:169::-;5329:11;5363:6;5358:3;5351:19;5403:4;5398:3;5394:14;5379:29;;5245:169;;;;:::o;5420:77::-;5457:7;5486:5;5475:16;;5420:77;;;:::o;5503:154::-;5587:6;5582:3;5577;5564:30;5649:1;5640:6;5635:3;5631:16;5624:27;5503:154;;;:::o;5663:307::-;5731:1;5741:113;5755:6;5752:1;5749:13;5741:113;;;5840:1;5835:3;5831:11;5825:18;5821:1;5816:3;5812:11;5805:39;5777:2;5774:1;5770:10;5765:15;;5741:113;;;5872:6;5869:1;5866:13;5863:101;;;5952:1;5943:6;5938:3;5934:16;5927:27;5863:101;5712:258;5663:307;;;:::o;5976:320::-;6020:6;6057:1;6051:4;6047:12;6037:22;;6104:1;6098:4;6094:12;6125:18;6115:81;;6181:4;6173:6;6169:17;6159:27;;6115:81;6243:2;6235:6;6232:14;6212:18;6209:38;6206:84;;;6262:18;;:::i;:::-;6206:84;6027:269;5976:320;;;:::o;6302:281::-;6385:27;6407:4;6385:27;:::i;:::-;6377:6;6373:40;6515:6;6503:10;6500:22;6479:18;6467:10;6464:34;6461:62;6458:88;;;6526:18;;:::i;:::-;6458:88;6566:10;6562:2;6555:22;6345:238;6302:281;;:::o;6589:180::-;6637:77;6634:1;6627:88;6734:4;6731:1;6724:15;6758:4;6755:1;6748:15;6775:180;6823:77;6820:1;6813:88;6920:4;6917:1;6910:15;6944:4;6941:1;6934:15;6961:117;7070:1;7067;7060:12;7084:117;7193:1;7190;7183:12;7207:117;7316:1;7313;7306:12;7330:117;7439:1;7436;7429:12;7453:102;7494:6;7545:2;7541:7;7536:2;7529:5;7525:14;7521:28;7511:38;;7453:102;;;:::o;7561:241::-;7701:34;7697:1;7689:6;7685:14;7678:58;7770:24;7765:2;7757:6;7753:15;7746:49;7561:241;:::o;7808:122::-;7881:24;7899:5;7881:24;:::i;:::-;7874:5;7871:35;7861:63;;7920:1;7917;7910:12;7861:63;7808:122;:::o"},"gasEstimates":{"creation":{"codeDepositCost":"405200","executionCost":"443","totalCost":"405643"},"external":{"bytecode()":"infinite","hash()":"2407","initialize()":"infinite","initialize(bytes)":"infinite"}},"methodIdentifiers":{"bytecode()":"f0940002","hash()":"09bd5a60","initialize()":"8129fc1c","initialize(bytes)":"439fab91"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"bytecode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_bytecode\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"bytecode()\":{\"notice\":\"Contains a well-formed Witnet Data Request, encoded using Protocol Buffers.\"},\"hash()\":{\"notice\":\"Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/witnet-requests/postAPI.sol\":\"postAPIRequest\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/witnet-requests/postAPI.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n// For the Witnet Request Board OVM-compatible (Optimism) \\\"trustable\\\" implementation (e.g. BOBA network),\\n// replace the next import line with:\\n// import \\\"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableBoba.sol\\\";\\nimport \\\"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableDefault.sol\\\";\\nimport \\\"witnet-solidity-bridge/contracts/requests/WitnetRequestInitializableBase.sol\\\";\\n\\n// The bytecode of the postAPIExample query that will be sent to Witnet\\ncontract postAPIRequest is WitnetRequestInitializableBase {\\n  function initialize() public {\\n    WitnetRequestInitializableBase.initialize(hex\\\"0a8a0112720803121868747470733a2f2f6874747062696e2e6f72672f706f73741a1d83187782186667686561646572738218676b4865616465722d4e616d6522185468697320697320746865207265717565737420626f64792a1b0a0b4865616465722d4e616d65120c4865616465722d56616c75651a090a050808120180100222090a05080812018010021080e497d012180a208094ebdc0328333080e8eda1ba01\\\");\\n  }\\n}\\n\",\"keccak256\":\"0xd4a1d9078d027e200d3aac537ed01f42ecea665840e96c6756d5ed6954bcab50\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/WitnetRequestBoard.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./interfaces/IWitnetRequestBoardEvents.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardReporter.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardRequestor.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardView.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestParser.sol\\\";\\n\\n/// @title Witnet Request Board functionality base contract.\\n/// @author The Witnet Foundation.\\nabstract contract WitnetRequestBoard is\\n    IWitnetRequestBoardEvents,\\n    IWitnetRequestBoardReporter,\\n    IWitnetRequestBoardRequestor,\\n    IWitnetRequestBoardView,\\n    IWitnetRequestParser\\n{\\n    receive() external payable {\\n        revert(\\\"WitnetRequestBoard: no transfers accepted\\\");\\n    }\\n}\\n\",\"keccak256\":\"0xb04deadd6e24568accfcbb7b76f1c03cb925933aee189115b5b23badc5b6e9ab\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/data/WitnetBoardData.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Request Board base data model. \\n/// @author The Witnet Foundation.\\nabstract contract WitnetBoardData {  \\n\\n    bytes32 internal constant _WITNET_BOARD_DATA_SLOTHASH =\\n        /* keccak256(\\\"io.witnet.boards.data\\\") */\\n        0xf595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183;\\n\\n    struct WitnetBoardState {\\n        address base;\\n        address owner;    \\n        uint256 numQueries;\\n        mapping (uint => Witnet.Query) queries;\\n    }\\n\\n    constructor() {\\n        _state().owner = msg.sender;\\n    }\\n\\n    /// Asserts the given query is currently in the given status.\\n    modifier inStatus(uint256 _queryId, Witnet.QueryStatus _status) {\\n      require(\\n          _getQueryStatus(_queryId) == _status,\\n          _getQueryStatusRevertMessage(_status)\\n        );\\n      _;\\n    }\\n\\n    /// Asserts the given query was previously posted and that it was not yet deleted.\\n    modifier notDeleted(uint256 _queryId) {\\n        require(_queryId > 0 && _queryId <= _state().numQueries, \\\"WitnetBoardData: not yet posted\\\");\\n        require(_getRequester(_queryId) != address(0), \\\"WitnetBoardData: deleted\\\");\\n        _;\\n    }\\n\\n    /// Asserts caller corresponds to the current owner. \\n    modifier onlyOwner {\\n        require(msg.sender == _state().owner, \\\"WitnetBoardData: only owner\\\");\\n        _;    \\n    }\\n\\n    /// Asserts the give query was actually posted before calling this method.\\n    modifier wasPosted(uint256 _queryId) {\\n        require(_queryId > 0 && _queryId <= _state().numQueries, \\\"WitnetBoardData: not yet posted\\\");\\n        _;\\n    }\\n\\n    // ================================================================================================================\\n    // --- Internal functions -----------------------------------------------------------------------------------------\\n\\n    /// Gets current status of given query.\\n    function _getQueryStatus(uint256 _queryId)\\n      internal view\\n      returns (Witnet.QueryStatus)\\n    {\\n      if (_queryId == 0 || _queryId > _state().numQueries) {\\n        // \\\"Unknown\\\" status if queryId is out of range:\\n        return Witnet.QueryStatus.Unknown;\\n      }\\n      else {\\n        Witnet.Query storage _query = _state().queries[_queryId];\\n        if (_query.response.drTxHash != 0) {\\n          // Query is in \\\"Reported\\\" status as soon as the hash of the\\n          // Witnet transaction that solved the query is reported\\n          // back from a Witnet bridge:\\n          return Witnet.QueryStatus.Reported;\\n        }\\n        else if (_query.from != address(0)) {\\n          // Otherwise, while address from which the query was posted\\n          // is kept in storage, the query remains in \\\"Posted\\\" status:\\n          return Witnet.QueryStatus.Posted;\\n        }\\n        else {\\n          // Requester's address is removed from storage only if\\n          // the query gets \\\"Deleted\\\" by its requester.\\n          return Witnet.QueryStatus.Deleted;\\n        }\\n      }\\n    }\\n\\n    function _getQueryStatusRevertMessage(Witnet.QueryStatus _status)\\n      internal pure\\n      returns (string memory)\\n    {\\n      if (_status == Witnet.QueryStatus.Posted) {\\n        return \\\"WitnetBoardData: not in Posted status\\\";\\n      } else if (_status == Witnet.QueryStatus.Reported) {\\n        return \\\"WitnetBoardData: not in Reported status\\\";\\n      } else if (_status == Witnet.QueryStatus.Deleted) {\\n        return \\\"WitnetBoardData: not in Deleted status\\\";\\n      } else {\\n        return \\\"WitnetBoardData: bad mood\\\";\\n      }\\n    }\\n\\n    /// Gets from of a given query.\\n    function _getRequester(uint256 _queryId)\\n      internal view\\n      returns (address)\\n    {\\n      return _state().queries[_queryId].from;\\n    }\\n\\n    /// Gets the Witnet.Request part of a given query.\\n    function _getRequestData(uint256 _queryId)\\n      internal view\\n      returns (Witnet.Request storage)\\n    {\\n        return _state().queries[_queryId].request;\\n    }\\n\\n    /// Gets the Witnet.Result part of a given query.\\n    function _getResponseData(uint256 _queryId)\\n      internal view\\n      returns (Witnet.Response storage)\\n    {\\n        return _state().queries[_queryId].response;\\n    }\\n\\n    /// Returns storage pointer to contents of 'WitnetBoardState' struct.\\n    function _state()\\n      internal pure\\n      returns (WitnetBoardState storage _ptr)\\n    {\\n        assembly {\\n            _ptr.slot := _WITNET_BOARD_DATA_SLOTHASH\\n        }\\n    }\\n\\n}\\n\",\"keccak256\":\"0x0c78c9981103e9ed35ace4e5f886a848f9dfe2aa26928adc0d37dabeff6a19db\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/data/WitnetBoardDataACLs.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"./WitnetBoardData.sol\\\";\\n\\n/// @title Witnet Access Control Lists storage layout, for Witnet-trusted request boards.\\n/// @author The Witnet Foundation.\\nabstract contract WitnetBoardDataACLs\\n    is\\n        WitnetBoardData\\n{\\n    bytes32 internal constant _WITNET_BOARD_ACLS_SLOTHASH =\\n        /* keccak256(\\\"io.witnet.boards.data.acls\\\") */\\n        0xa6db7263983f337bae2c9fb315730227961d1c1153ae1e10a56b5791465dd6fd;\\n\\n    struct WitnetBoardACLs {\\n        mapping (address => bool) isReporter_;\\n    }\\n\\n    constructor() {\\n        _acls().isReporter_[msg.sender] = true;\\n    }\\n\\n    modifier onlyReporters {\\n        require(\\n            _acls().isReporter_[msg.sender],\\n            \\\"WitnetBoardDataACLs: unauthorized reporter\\\"\\n        );\\n        _;\\n    } \\n\\n    // ================================================================================================================\\n    // --- Internal functions -----------------------------------------------------------------------------------------\\n\\n    function _acls() internal pure returns (WitnetBoardACLs storage _struct) {\\n        assembly {\\n            _struct.slot := _WITNET_BOARD_ACLS_SLOTHASH\\n        }\\n    }\\n}\\n\",\"keccak256\":\"0x558f28fc690d2f7180da9393bc49083da4857aa8480f044f68355a61ebf21257\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/impls/WitnetProxy.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../patterns/Upgradable.sol\\\";\\n\\n/// @title WitnetProxy: upgradable delegate-proxy contract that routes Witnet data requests coming from a \\n/// `UsingWitnet`-inheriting contract to a currently active `WitnetRequestBoard` implementation. \\n/// @author The Witnet Foundation.\\ncontract WitnetProxy {\\n\\n    struct WitnetProxySlot {\\n        address implementation;\\n    }\\n\\n    /// Event emitted every time the implementation gets updated.\\n    event Upgraded(address indexed implementation);  \\n\\n    /// Constructor with no params as to ease eventual support of Singleton pattern (i.e. ERC-2470).\\n    constructor () {}\\n\\n    /// WitnetProxies will never accept direct transfer of ETHs.\\n    receive() external payable {\\n        revert(\\\"WitnetProxy: no transfers accepted\\\");\\n    }\\n\\n    /// Payable fallback accepts delegating calls to payable functions.  \\n    fallback() external payable { /* solhint-disable no-complex-fallback */\\n        address _implementation = implementation();\\n\\n        assembly { /* solhint-disable avoid-low-level-calls */\\n            // Gas optimized delegate call to 'implementation' contract.\\n            // Note: `msg.data`, `msg.sender` and `msg.value` will be passed over \\n            //       to actual implementation of `msg.sig` within `implementation` contract.\\n            let ptr := mload(0x40)\\n            calldatacopy(ptr, 0, calldatasize())\\n            let result := delegatecall(gas(), _implementation, ptr, calldatasize(), 0, 0)\\n            let size := returndatasize()\\n            returndatacopy(ptr, 0, size)\\n            switch result\\n                case 0  { \\n                    // pass back revert message:\\n                    revert(ptr, size) \\n                }\\n                default {\\n                  // pass back same data as returned by 'implementation' contract:\\n                  return(ptr, size) \\n                }\\n        }\\n    }\\n\\n    /// Returns proxy's current implementation address.\\n    function implementation() public view returns (address) {\\n        return _proxySlot().implementation;\\n    }\\n\\n    /// Upgrades the `implementation` address.\\n    /// @param _newImplementation New implementation address.\\n    /// @param _initData Raw data with which new implementation will be initialized.\\n    /// @return Returns whether new implementation would be further upgradable, or not.\\n    function upgradeTo(address _newImplementation, bytes memory _initData)\\n        public returns (bool)\\n    {\\n        // New implementation cannot be null:\\n        require(_newImplementation != address(0), \\\"WitnetProxy: null implementation\\\");\\n\\n        address _oldImplementation = implementation();\\n        if (_oldImplementation != address(0)) {\\n            // New implementation address must differ from current one:\\n            require(_newImplementation != _oldImplementation, \\\"WitnetProxy: nothing to upgrade\\\");\\n\\n            // Assert whether current implementation is intrinsically upgradable:\\n            try Upgradable(_oldImplementation).isUpgradable() returns (bool _isUpgradable) {\\n                require(_isUpgradable, \\\"WitnetProxy: not upgradable\\\");\\n            } catch {\\n                revert(\\\"WitnetProxy: unable to check upgradability\\\");\\n            }\\n\\n            // Assert whether current implementation allows `msg.sender` to upgrade the proxy:\\n            (bool _wasCalled, bytes memory _result) = _oldImplementation.delegatecall(\\n                abi.encodeWithSignature(\\n                    \\\"isUpgradableFrom(address)\\\",\\n                    msg.sender\\n                )\\n            );\\n            require(_wasCalled, \\\"WitnetProxy: not compliant\\\");\\n            require(abi.decode(_result, (bool)), \\\"WitnetProxy: not authorized\\\");\\n            require(\\n                Upgradable(_oldImplementation).proxiableUUID() == Upgradable(_newImplementation).proxiableUUID(),\\n                \\\"WitnetProxy: proxiableUUIDs mismatch\\\"\\n            );\\n        }\\n\\n        // Initialize new implementation within proxy-context storage:\\n        (bool _wasInitialized,) = _newImplementation.delegatecall(\\n            abi.encodeWithSignature(\\n                \\\"initialize(bytes)\\\",\\n                _initData\\n            )\\n        );\\n        require(_wasInitialized, \\\"WitnetProxy: unable to initialize\\\");\\n\\n        // If all checks and initialization pass, update implementation address:\\n        _proxySlot().implementation = _newImplementation;\\n        emit Upgraded(_newImplementation);\\n\\n        // Asserts new implementation complies w/ minimal implementation of Upgradable interface:\\n        try Upgradable(_newImplementation).isUpgradable() returns (bool _isUpgradable) {\\n            return _isUpgradable;\\n        }\\n        catch {\\n            revert (\\\"WitnetProxy: not compliant\\\");\\n        }\\n    }\\n\\n    /// @dev Complying with EIP-1967, retrieves storage struct containing proxy's current implementation address.\\n    function _proxySlot() private pure returns (WitnetProxySlot storage _slot) {\\n        assembly {\\n            // bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)\\n            _slot.slot := 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\\n        }\\n    }\\n\\n}\\n\",\"keccak256\":\"0xcfdb698b63b9300631b046ecd8e16dbff90e8b4e84fdf1d629195ad17c8234d0\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/impls/WitnetRequestBoardUpgradableBase.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\n/* solhint-disable var-name-mixedcase */\\n\\n// Inherits from:\\nimport \\\"../WitnetRequestBoard.sol\\\";\\nimport \\\"../patterns/Proxiable.sol\\\";\\nimport \\\"../patterns/Upgradable.sol\\\";\\n\\n// Eventual deployment dependencies:\\nimport \\\"./WitnetProxy.sol\\\";\\n\\n/// @title Witnet Request Board base contract, with an Upgradable (and Destructible) touch.\\n/// @author The Witnet Foundation.\\nabstract contract WitnetRequestBoardUpgradableBase\\n    is\\n        Proxiable,\\n        Upgradable,\\n        WitnetRequestBoard\\n{\\n    bytes32 internal immutable _VERSION;\\n\\n    constructor(\\n            bool _upgradable,\\n            bytes32 _versionTag\\n        )\\n        Upgradable(_upgradable)\\n    {\\n        _VERSION = _versionTag;\\n    }\\n\\n    /// @dev Reverts if proxy delegatecalls to unexistent method.\\n    fallback() external payable {\\n        revert(\\\"WitnetRequestBoardUpgradableBase: not implemented\\\");\\n    }\\n\\n    // ================================================================================================================\\n    // --- Overrides 'Proxiable' --------------------------------------------------------------------------------------\\n\\n    /// @dev Gets immutable \\\"heritage blood line\\\" (ie. genotype) as a Proxiable, and eventually Upgradable, contract.\\n    ///      If implemented as an Upgradable touch, upgrading this contract to another one with a different \\n    ///      `proxiableUUID()` value should fail.\\n    function proxiableUUID() external pure override returns (bytes32) {\\n        return (\\n            /* keccak256(\\\"io.witnet.proxiable.board\\\") */\\n            0x9969c6aff411c5e5f0807500693e8f819ce88529615cfa6cab569b24788a1018\\n        );\\n    }   \\n\\n    // ================================================================================================================\\n    // --- Overrides 'Upgradable' --------------------------------------------------------------------------------------\\n\\n    /// Retrieves human-readable version tag of current implementation.\\n    function version() public view override returns (bytes32) {\\n        return _VERSION;\\n    }\\n\\n}\\n\",\"keccak256\":\"0x0930557dfafb03730e716e0af67ba7637a562f304ead6f2cedfa2c0eee91a65c\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableBase.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../WitnetRequestBoardUpgradableBase.sol\\\";\\nimport \\\"../../data/WitnetBoardDataACLs.sol\\\";\\nimport \\\"../../interfaces/IWitnetRequestBoardAdmin.sol\\\";\\nimport \\\"../../interfaces/IWitnetRequestBoardAdminACLs.sol\\\";\\nimport \\\"../../libs/WitnetParserLib.sol\\\";\\nimport \\\"../../patterns/Payable.sol\\\";\\n\\n/// @title Witnet Request Board \\\"trustable\\\" base implementation contract.\\n/// @notice Contract to bridge requests to Witnet Decentralized Oracle Network.\\n/// @dev This contract enables posting requests that Witnet bridges will insert into the Witnet network.\\n/// The result of the requests will be posted back to this contract by the bridge nodes too.\\n/// @author The Witnet Foundation\\nabstract contract WitnetRequestBoardTrustableBase\\n    is \\n        Payable,\\n        IWitnetRequestBoardAdmin,\\n        IWitnetRequestBoardAdminACLs,        \\n        WitnetBoardDataACLs,\\n        WitnetRequestBoardUpgradableBase        \\n{\\n    using Witnet for bytes;\\n    using WitnetParserLib for Witnet.Result;\\n    \\n    constructor(bool _upgradable, bytes32 _versionTag, address _currency)\\n        Payable(_currency)\\n        WitnetRequestBoardUpgradableBase(_upgradable, _versionTag)\\n    {}\\n\\n\\n    // ================================================================================================================\\n    // --- Overrides 'Upgradable' -------------------------------------------------------------------------------------\\n\\n    /// Initialize storage-context when invoked as delegatecall. \\n    /// @dev Must fail when trying to initialize same instance more than once.\\n    function initialize(bytes memory _initData) virtual external override {\\n        address _owner = _state().owner;\\n        if (_owner == address(0)) {\\n            // set owner if none set yet\\n            _owner = msg.sender;\\n            _state().owner = _owner;\\n        } else {\\n            // only owner can initialize:\\n            require(msg.sender == _owner, \\\"WitnetRequestBoardTrustableBase: only owner\\\");\\n        }        \\n\\n        if (_state().base != address(0)) {\\n            // current implementation cannot be initialized more than once:\\n            require(_state().base != base(), \\\"WitnetRequestBoardTrustableBase: already initialized\\\");\\n        }        \\n        _state().base = base();\\n\\n        emit Upgraded(msg.sender, base(), codehash(), version());\\n\\n        // Do actual base initialization:\\n        setReporters(abi.decode(_initData, (address[])));\\n    }\\n\\n    /// Tells whether provided address could eventually upgrade the contract.\\n    function isUpgradableFrom(address _from) external view override returns (bool) {\\n        address _owner = _state().owner;\\n        return (\\n            // false if the WRB is intrinsically not upgradable, or `_from` is no owner\\n            isUpgradable()\\n                && _owner == _from\\n        );\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestBoardAdmin' ----------------------------------------------------------\\n\\n    /// Gets admin/owner address.\\n    function owner()\\n        public view\\n        override\\n        returns (address)\\n    {\\n        return _state().owner;\\n    }\\n\\n    /// Transfers ownership.\\n    function transferOwnership(address _newOwner)\\n        external\\n        virtual override\\n        onlyOwner\\n    {\\n        address _owner = _state().owner;\\n        if (_newOwner != _owner) {\\n            _state().owner = _newOwner;\\n            emit OwnershipTransferred(_owner, _newOwner);\\n        }\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestBoardAdminACLs' ------------------------------------------------------\\n\\n    /// Tells whether given address is included in the active reporters control list.\\n    /// @param _reporter The address to be checked.\\n    function isReporter(address _reporter) public view override returns (bool) {\\n        return _acls().isReporter_[_reporter];\\n    }\\n\\n    /// Adds given addresses to the active reporters control list.\\n    /// @dev Can only be called from the owner address.\\n    /// @dev Emits the `ReportersSet` event. \\n    /// @param _reporters List of addresses to be added to the active reporters control list.\\n    function setReporters(address[] memory _reporters)\\n        public\\n        override\\n        onlyOwner\\n    {\\n        for (uint ix = 0; ix < _reporters.length; ix ++) {\\n            address _reporter = _reporters[ix];\\n            _acls().isReporter_[_reporter] = true;\\n        }\\n        emit ReportersSet(_reporters);\\n    }\\n\\n    /// Removes given addresses from the active reporters control list.\\n    /// @dev Can only be called from the owner address.\\n    /// @dev Emits the `ReportersUnset` event. \\n    /// @param _exReporters List of addresses to be added to the active reporters control list.\\n    function unsetReporters(address[] memory _exReporters)\\n        public\\n        override\\n        onlyOwner\\n    {\\n        for (uint ix = 0; ix < _exReporters.length; ix ++) {\\n            address _reporter = _exReporters[ix];\\n            _acls().isReporter_[_reporter] = false;\\n        }\\n        emit ReportersUnset(_exReporters);\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestBoardReporter' -------------------------------------------------------\\n\\n    /// Reports the Witnet-provided result to a previously posted request. \\n    /// @dev Will assume `block.timestamp` as the timestamp at which the request was solved.\\n    /// @dev Fails if:\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique identifier of the data request.\\n    /// @param _drTxHash The hash of the solving tally transaction in Witnet.\\n    /// @param _cborBytes The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            bytes32 _drTxHash,\\n            bytes calldata _cborBytes\\n        )\\n        external\\n        override\\n        onlyReporters\\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n    {\\n        require(_drTxHash != 0, \\\"WitnetRequestBoardTrustableDefault: Witnet drTxHash cannot be zero\\\");\\n        // Ensures the result bytes do not have zero length\\n        // This would not be a valid encoding with CBOR and could trigger a reentrancy attack\\n        require(_cborBytes.length != 0, \\\"WitnetRequestBoardTrustableDefault: result cannot be empty\\\");\\n        // solhint-disable not-rely-on-time\\n        _safeTransferTo(\\n            payable(msg.sender),\\n            __reportResult(\\n                _queryId,\\n                block.timestamp,\\n                _drTxHash,\\n                _cborBytes\\n            )\\n        );\\n        emit PostedResult(_queryId, msg.sender);\\n    }\\n\\n    /// Reports the Witnet-provided result to a previously posted request.\\n    /// @dev Fails if:\\n    /// @dev - called from unauthorized address;\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique query identifier\\n    /// @param _timestamp The timestamp of the solving tally transaction in Witnet.\\n    /// @param _drTxHash The hash of the solving tally transaction in Witnet.\\n    /// @param _cborBytes The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            uint256 _timestamp,\\n            bytes32 _drTxHash,\\n            bytes calldata _cborBytes\\n        )\\n        external\\n        override\\n        onlyReporters\\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n    {\\n        require(_timestamp <= block.timestamp, \\\"WitnetRequestBoardTrustableDefault: bad timestamp\\\");\\n        require(_drTxHash != 0, \\\"WitnetRequestBoardTrustableDefault: Witnet drTxHash cannot be zero\\\");\\n        // Ensures the result bytes do not have zero length\\n        // This would not be a valid encoding with CBOR and could trigger a reentrancy attack\\n        require(_cborBytes.length != 0, \\\"WitnetRequestBoardTrustableDefault: result cannot be empty\\\");\\n        _safeTransferTo(\\n            payable(msg.sender),\\n            __reportResult(\\n                _queryId,\\n                _timestamp,\\n                _drTxHash,\\n                _cborBytes\\n            )\\n        );\\n        emit PostedResult(_queryId, msg.sender);\\n    }\\n\\n    /// Reports Witnet-provided results to multiple requests within a single EVM tx.\\n    /// @dev Fails if called from unauthorized address.\\n    /// @dev Emits a PostedResult event for every succesfully reported result, if any.\\n    /// @param _batchResults Array of BatchedResult structs, every one containing:\\n    ///         - unique query identifier;\\n    ///         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;\\n    ///         - hash of the corresponding data request tx at the Witnet side-chain level;\\n    ///         - data request result in raw bytes.\\n    /// @param _verbose If true, emits a BatchReportError event for every failing report, if any. \\n    function reportResultBatch(\\n            BatchResult[] memory _batchResults,\\n            bool _verbose\\n        )\\n        external\\n        override\\n        onlyReporters\\n    {\\n        uint _batchReward;\\n        uint _batchSize = _batchResults.length;\\n        for ( uint _i = 0; _i < _batchSize; _i ++) {\\n            BatchResult memory _result = _batchResults[_i];\\n            if (_getQueryStatus(_result.queryId) != Witnet.QueryStatus.Posted) {\\n                if (_verbose) {\\n                    emit BatchReportError(\\n                        _result.queryId,\\n                        \\\"WitnetRequestBoardTrustableBase: bad queryId\\\"\\n                    );\\n                }\\n            } else if (_result.drTxHash == 0) {\\n                if (_verbose) {\\n                    emit BatchReportError(\\n                        _result.queryId,\\n                        \\\"WitnetRequestBoardTrustableBase: bad drTxHash\\\"\\n                    );\\n                }\\n            } else if (_result.cborBytes.length == 0) {\\n                if (_verbose) {\\n                    emit BatchReportError(\\n                        _result.queryId, \\n                        \\\"WitnetRequestBoardTrustableBase: bad cborBytes\\\"\\n                    );\\n                }\\n            } else if (_result.timestamp > 0 && _result.timestamp > block.timestamp) {\\n                if (_verbose) {\\n                    emit BatchReportError(\\n                        _result.queryId,\\n                        \\\"WitnetRequestBoardTrustableBase: bad timestamp\\\"\\n                    );\\n                }\\n            } else {\\n                _batchReward += __reportResult(\\n                    _result.queryId,\\n                    _result.timestamp == 0 ? block.timestamp : _result.timestamp,\\n                    _result.drTxHash,\\n                    _result.cborBytes\\n                );\\n                emit PostedResult(\\n                    _result.queryId,\\n                    msg.sender\\n                );\\n            }\\n        }   \\n        // Transfer all successful rewards in one single shot to the authorized reporter, if any:\\n        if (_batchReward > 0) {\\n            _safeTransferTo(\\n                payable(msg.sender),\\n                _batchReward\\n            );\\n        }\\n    }\\n    \\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestBoardRequestor' ------------------------------------------------------\\n\\n    /// Retrieves copy of all response data related to a previously posted request, removing the whole query from storage.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status, or called from an address different to\\n    /// @dev the one that actually posted the given request.\\n    /// @param _queryId The unique query identifier.\\n    function deleteQuery(uint256 _queryId)\\n        public\\n        virtual override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (Witnet.Response memory _response)\\n    {\\n        Witnet.Query storage __query = _state().queries[_queryId];\\n        require(\\n            msg.sender == __query.from,\\n            \\\"WitnetRequestBoardTrustableBase: only requester\\\"\\n        );\\n        _response = __query.response;\\n        delete _state().queries[_queryId];\\n        emit DeletedQuery(_queryId, msg.sender);\\n    }\\n\\n    /// Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON.\\n    /// A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided \\n    /// result to this request.\\n    /// @dev Fails if:\\n    /// @dev - provided reward is too low.\\n    /// @dev - provided script is zero address.\\n    /// @dev - provided script bytecode is empty.\\n    /// @param _addr The address of a IWitnetRequest contract, containing the actual Data Request seralized bytecode.\\n    /// @return _queryId An unique query identifier.\\n    function postRequest(IWitnetRequest _addr)\\n        public payable\\n        virtual override\\n        returns (uint256 _queryId)\\n    {\\n        uint256 _value = _getMsgValue();\\n        uint256 _gasPrice = _getGasPrice();\\n\\n        // Checks the tally reward is covering gas cost\\n        uint256 minResultReward = estimateReward(_gasPrice);\\n        require(_value >= minResultReward, \\\"WitnetRequestBoardTrustableBase: reward too low\\\");\\n\\n        // Validates provided script:\\n        require(address(_addr) != address(0), \\\"WitnetRequestBoardTrustableBase: null script\\\");\\n        bytes memory _bytecode = _addr.bytecode();\\n        require(_bytecode.length > 0, \\\"WitnetRequestBoardTrustableBase: empty script\\\");\\n\\n        _queryId = ++ _state().numQueries;\\n        _state().queries[_queryId].from = msg.sender;\\n\\n        Witnet.Request storage _request = _getRequestData(_queryId);\\n        _request.addr = _addr;\\n        _request.hash = _bytecode.hash();\\n        _request.gasprice = _gasPrice;\\n        _request.reward = _value;\\n\\n        // Let observers know that a new request has been posted\\n        emit PostedRequest(_queryId, msg.sender);\\n    }\\n    \\n    /// Increments the reward of a previously posted request by adding the transaction value to it.\\n    /// @dev Updates request `gasPrice` in case this method is called with a higher \\n    /// @dev gas price value than the one used in previous calls to `postRequest` or\\n    /// @dev `upgradeReward`. \\n    /// @dev Fails if the `_queryId` is not in 'Posted' status.\\n    /// @dev Fails also in case the request `gasPrice` is increased, and the new \\n    /// @dev reward value gets below new recalculated threshold. \\n    /// @param _queryId The unique query identifier.\\n    function upgradeReward(uint256 _queryId)\\n        public payable\\n        virtual override      \\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n    {\\n        Witnet.Request storage _request = _getRequestData(_queryId);\\n\\n        uint256 _newReward = _request.reward + _getMsgValue();\\n        uint256 _newGasPrice = _getGasPrice();\\n\\n        // If gas price is increased, then check if new rewards cover gas costs\\n        if (_newGasPrice > _request.gasprice) {\\n            // Checks the reward is covering gas cost\\n            uint256 _minResultReward = estimateReward(_newGasPrice);\\n            require(\\n                _newReward >= _minResultReward,\\n                \\\"WitnetRequestBoardTrustableBase: reward too low\\\"\\n            );\\n            _request.gasprice = _newGasPrice;\\n        }\\n        _request.reward = _newReward;\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestBoardView' -----------------------------------------------------------\\n\\n    /// Estimates the amount of reward we need to insert for a given gas price.\\n    /// @param _gasPrice The gas price for which we need to calculate the rewards.\\n    function estimateReward(uint256 _gasPrice)\\n        public view\\n        virtual override\\n        returns (uint256);\\n\\n    /// Returns next request id to be generated by the Witnet Request Board.\\n    function getNextQueryId()\\n        external view \\n        override\\n        returns (uint256)\\n    {\\n        return _state().numQueries + 1;\\n    }\\n\\n    /// Gets the whole Query data contents, if any, no matter its current status.\\n    function getQueryData(uint256 _queryId)\\n      external view\\n      override\\n      returns (Witnet.Query memory)\\n    {\\n        return _state().queries[_queryId];\\n    }\\n\\n    /// Gets current status of given query.\\n    function getQueryStatus(uint256 _queryId)\\n        external view\\n        override\\n        returns (Witnet.QueryStatus)\\n    {\\n        return _getQueryStatus(_queryId);\\n\\n    }\\n\\n    /// Retrieves the whole Request record posted to the Witnet Request Board.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been reported\\n    /// @dev or deleted.\\n    /// @param _queryId The unique identifier of a previously posted query.\\n    function readRequest(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n        returns (Witnet.Request memory _request)\\n    {\\n        Witnet.Query storage __query = _state().queries[_queryId];\\n        _request = __query.request;\\n        if (__query.from != address(0)) {\\n            _request.requester = __query.from;\\n        }\\n    }\\n    \\n    /// Retrieves the serialized bytecode of a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not valid, or if the related script bytecode \\n    /// @dev got changed after being posted. Returns empty array once it gets reported, \\n    /// @dev or deleted.\\n    /// @param _queryId The unique query identifier.\\n    function readRequestBytecode(uint256 _queryId)\\n        external view\\n        override\\n        returns (bytes memory _bytecode)\\n    {\\n        require(\\n            _getQueryStatus(_queryId) != Witnet.QueryStatus.Unknown,\\n            \\\"WitnetRequestBoardTrustableBase: not yet posted\\\"\\n        );\\n        Witnet.Request storage _request = _getRequestData(_queryId);\\n        if (address(_request.addr) != address(0)) {\\n            // if DR's request contract address is not zero,\\n            // we assume the DR has not been deleted, so\\n            // DR's bytecode can still be fetched:\\n            _bytecode = _request.addr.bytecode();\\n            require(\\n                _bytecode.hash() == _request.hash,\\n                \\\"WitnetRequestBoardTrustableBase: bytecode changed after posting\\\"\\n            );\\n        } \\n    }\\n\\n    /// Retrieves the gas price that any assigned reporter will have to pay when reporting \\n    /// result to a previously posted Witnet data request.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifier\\n    function readRequestGasPrice(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n        returns (uint256)\\n    {\\n        return _state().queries[_queryId].request.gasprice;\\n    }\\n\\n    /// Retrieves the reward currently set for a previously posted request.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifier\\n    function readRequestReward(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n        returns (uint256)\\n    {\\n        return _state().queries[_queryId].request.reward;\\n    }\\n\\n    /// Retrieves the Witnet-provided result, and metadata, to a previously posted request.    \\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier\\n    function readResponse(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (Witnet.Response memory _response)\\n    {\\n        return _getResponseData(_queryId);\\n    }\\n\\n    /// Retrieves the hash of the Witnet transaction that actually solved the referred query.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseDrTxHash(uint256 _queryId)\\n        external view        \\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (bytes32)\\n    {\\n        return _getResponseData(_queryId).drTxHash;\\n    }\\n\\n    /// Retrieves the address that reported the result to a previously-posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier\\n    function readResponseReporter(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (address)\\n    {\\n        return _getResponseData(_queryId).reporter;\\n    }\\n\\n    /// Retrieves the Witnet-provided CBOR-bytes result of a previously posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier\\n    function readResponseResult(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (Witnet.Result memory)\\n    {\\n        Witnet.Response storage _response = _getResponseData(_queryId);\\n        return WitnetParserLib.resultFromCborBytes(_response.cborBytes);\\n    }\\n\\n    /// Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseTimestamp(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (uint256)\\n    {\\n        return _getResponseData(_queryId).timestamp;\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestParser' interface ----------------------------------------------------\\n\\n    /// Decode raw CBOR bytes into a Witnet.Result instance.\\n    /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborBytes(bytes memory _cborBytes)\\n        external pure\\n        override\\n        returns (Witnet.Result memory)\\n    {\\n        return WitnetParserLib.resultFromCborBytes(_cborBytes);\\n    }\\n\\n    /// Decode a CBOR value into a Witnet.Result instance.\\n    /// @param _cborValue An instance of `Witnet.CBOR`.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborValue(Witnet.CBOR memory _cborValue)\\n        external pure\\n        override\\n        returns (Witnet.Result memory)\\n    {\\n        return WitnetParserLib.resultFromCborValue(_cborValue);\\n    }\\n\\n    /// Tell if a Witnet.Result is successful.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if successful, `false` if errored.\\n    function isOk(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (bool)\\n    {\\n        return _result.isOk();\\n    }\\n\\n    /// Tell if a Witnet.Result is errored.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if errored, `false` if successful.\\n    function isError(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (bool)\\n    {\\n        return _result.isError();\\n    }\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes` decoded from the Witnet.Result.\\n    function asBytes(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (bytes memory)\\n    {\\n        return _result.asBytes();\\n    }\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes32` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes32` decoded from the Witnet.Result.\\n    function asBytes32(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (bytes32)\\n    {\\n        return _result.asBytes32();\\n    }\\n\\n    /// Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `CBORValue.Error memory` decoded from the Witnet.Result.\\n    function asErrorCode(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (Witnet.ErrorCodes)\\n    {\\n        return _result.asErrorCode();\\n    }\\n\\n    /// Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\\n    /// @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\\n    function asErrorMessage(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (Witnet.ErrorCodes, string memory)\\n    {\\n        try _result.asErrorMessage() returns (Witnet.ErrorCodes _code, string memory _message) {\\n            return (_code, _message);\\n        } \\n        catch Error(string memory _reason) {\\n            return (Witnet.ErrorCodes.Unknown, _reason);\\n        }\\n        catch (bytes memory) {\\n            return (Witnet.ErrorCodes.UnhandledIntercept, \\\"WitnetRequestBoardTrustableBase: failing assert\\\");\\n        }\\n    }\\n\\n    /// Decode a raw error from a `Witnet.Result` as a `uint64[]`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `uint64[]` raw error as decoded from the `Witnet.Result`.\\n    function asRawError(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns(uint64[] memory)\\n    {\\n        return _result.asRawError();\\n    }\\n\\n    /// Decode a boolean value from a Witnet.Result as an `bool` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bool` decoded from the Witnet.Result.\\n    function asBool(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (bool)\\n    {\\n        return _result.asBool();\\n    }\\n\\n    /// Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\\n    /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\\n    /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\\n    /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asFixed16(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (int32)\\n    {\\n        return _result.asFixed16();\\n    }\\n\\n    /// Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asFixed16Array(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (int32[] memory)\\n    {\\n        return _result.asFixed16Array();\\n    }\\n\\n    /// Decode a integer numeric value from a Witnet.Result as an `int128` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asInt128(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (int128)\\n    {\\n        return _result.asInt128();\\n    }\\n\\n    /// Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asInt128Array(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (int128[] memory)\\n    {\\n        return _result.asInt128Array();\\n    }\\n\\n    /// Decode a string value from a Witnet.Result as a `string` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string` decoded from the Witnet.Result.\\n    function asString(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (string memory)\\n    {\\n        return _result.asString();\\n    }\\n\\n    /// Decode an array of string values from a Witnet.Result as a `string[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string[]` decoded from the Witnet.Result.\\n    function asStringArray(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (string[] memory)\\n    {\\n        return _result.asStringArray();\\n    }\\n\\n    /// Decode a natural numeric value from a Witnet.Result as a `uint64` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64` decoded from the Witnet.Result.\\n    function asUint64(Witnet.Result memory _result)\\n        external pure \\n        override\\n        returns(uint64)\\n    {\\n        return _result.asUint64();\\n    }\\n\\n    /// Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64[]` decoded from the Witnet.Result.\\n    function asUint64Array(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (uint64[] memory)\\n    {\\n        return _result.asUint64Array();\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Internal functions -----------------------------------------------------------------------------------------\\n\\n    function __reportResult(\\n            uint256 _queryId,\\n            uint256 _timestamp,\\n            bytes32 _drTxHash,\\n            bytes memory _cborBytes\\n        )\\n        internal\\n        returns (uint256 _reward)\\n    {\\n        Witnet.Query storage __query = _state().queries[_queryId];\\n        Witnet.Request storage __request = __query.request;\\n        Witnet.Response storage __response = __query.response;\\n\\n        // solhint-disable not-rely-on-time\\n        __response.timestamp = _timestamp;\\n        __response.drTxHash = _drTxHash;\\n        __response.reporter = msg.sender;\\n        __response.cborBytes = _cborBytes;\\n\\n        // return request latest reward\\n        _reward = __request.reward;\\n\\n        // Request data won't be needed anymore, so it can just get deleted right now:  \\n        delete __query.request;\\n    }\\n}\\n\",\"keccak256\":\"0x6b6ccba7e686a69bf0847b9c541e3997f14f3f91246c63fbadd412ba78c4a8d4\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableDefault.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\n/* solhint-disable var-name-mixedcase */\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./WitnetRequestBoardTrustableBase.sol\\\";\\nimport \\\"../../patterns/Destructible.sol\\\";\\n\\n/// @title Witnet Request Board \\\"trustable\\\" implementation contract.\\n/// @notice Contract to bridge requests to Witnet Decentralized Oracle Network.\\n/// @dev This contract enables posting requests that Witnet bridges will insert into the Witnet network.\\n/// The result of the requests will be posted back to this contract by the bridge nodes too.\\n/// @author The Witnet Foundation\\ncontract WitnetRequestBoardTrustableDefault\\n    is \\n        Destructible,\\n        WitnetRequestBoardTrustableBase\\n{  \\n    uint256 internal immutable _ESTIMATED_REPORT_RESULT_GAS;\\n\\n    constructor(\\n        bool _upgradable,\\n        bytes32 _versionTag,\\n        uint256 _reportResultGasLimit\\n    )\\n        WitnetRequestBoardTrustableBase(_upgradable, _versionTag, address(0))\\n    {\\n        _ESTIMATED_REPORT_RESULT_GAS = _reportResultGasLimit;\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Overrides implementation of 'IWitnetRequestBoardView' ------------------------------------------------------\\n\\n    /// Estimates the amount of reward we need to insert for a given gas price.\\n    /// @param _gasPrice The gas price for which we need to calculate the rewards.\\n    function estimateReward(uint256 _gasPrice)\\n        public view\\n        virtual override\\n        returns (uint256)\\n    {\\n        return _gasPrice * _ESTIMATED_REPORT_RESULT_GAS;\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Overrides 'Destructible' -----------------------------------------------------------------------------------\\n\\n    /// Destroys current instance. Only callable by the owner.\\n    function destruct() external override onlyOwner {\\n        selfdestruct(payable(msg.sender));\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Overrides 'Payable' ----------------------------------------------------------------------------------------\\n\\n    /// Gets current transaction price.\\n    function _getGasPrice()\\n        internal view\\n        override\\n        returns (uint256)\\n    {\\n        return tx.gasprice;\\n    }\\n\\n    /// Gets current payment value.\\n    function _getMsgValue()\\n        internal view\\n        override\\n        returns (uint256)\\n    {\\n        return msg.value;\\n    }\\n\\n    /// Transfers ETHs to given address.\\n    /// @param _to Recipient address.\\n    /// @param _amount Amount of ETHs to transfer.\\n    function _safeTransferTo(address payable _to, uint256 _amount)\\n        internal\\n        override\\n    {\\n        payable(_to).transfer(_amount);\\n    }   \\n}\\n\",\"keccak256\":\"0xc89e1a65e9045323dda045c8552adc0a329697e2f144911b4059c68673999f9c\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IERC20.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/**\\n * @dev Interface of the ERC20 standard as defined in the EIP.\\n */\\ninterface IERC20 {\\n    /// Returns the amount of tokens in existence.\\n    function totalSupply() external view returns (uint256);\\n\\n    /// Returns the amount of tokens owned by `_account`.\\n    function balanceOf(address _account) external view returns (uint256);\\n\\n    /// Moves `_amount` tokens from the caller's account to `_recipient`.\\n    /// Returns a boolean value indicating whether the operation succeeded.\\n    /// Emits a {Transfer} event.\\n    function transfer(address _recipient, uint256 _amount) external returns (bool);\\n\\n    /// Returns the remaining number of tokens that `_spender` will be\\n    /// allowed to spend on behalf of `_owner` through {transferFrom}. This is\\n    /// zero by default.\\n    /// This value changes when {approve} or {transferFrom} are called.\\n    function allowance(address _owner, address _spender) external view returns (uint256);\\n\\n    /// Sets `_amount` as the allowance of `_spender` over the caller's tokens.\\n    /// Returns a boolean value indicating whether the operation succeeded.\\n    /// \\n    /// IMPORTANT: Beware that changing an allowance with this method brings the risk\\n    /// that someone may use both the old and the new allowance by unfortunate\\n    /// transaction ordering. One possible solution to mitigate this race\\n    /// condition is to first reduce the spender's allowance to 0 and set the\\n    /// desired value afterwards:\\n    /// https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\\n    ///\\n    /// Emits an {Approval} event.     \\n    function approve(address _spender, uint256 _amount) external returns (bool);\\n\\n    /// Moves `amount` tokens from `_sender` to `_recipient` using the\\n    /// allowance mechanism. `amount` is then deducted from the caller's\\n    /// allowance.\\n    /// Returns a boolean value indicating whether the operation succeeded.\\n    /// Emits a {Transfer} event. \\n    function transferFrom(\\n        address _sender,\\n        address _recipient,\\n        uint256 _amount\\n    ) external returns (bool);\\n\\n    /// Emitted when `value` tokens are moved from one account (`from`) to\\n    /// another (`to`).\\n    /// Note that `:value` may be zero.\\n    event Transfer(address indexed from, address indexed to, uint256 value);\\n\\n    /// Emitted when the allowance of a `spender` for an `owner` is set by\\n    /// a call to {approve}. `value` is the new allowance.\\n    event Approval(address indexed owner, address indexed spender, uint256 value);\\n}\\n\",\"keccak256\":\"0xd6b25613fab1f6172ca58e377371a0b708f1af8982961364fecf9da196213f48\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardAdmin.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title Witnet Request Board basic administration interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardAdmin {\\n    event OwnershipTransferred(address indexed from, address indexed to);\\n\\n    /// Gets admin/owner address.\\n    function owner() external view returns (address);\\n\\n    /// Transfers ownership.\\n    function transferOwnership(address) external;\\n}\\n\",\"keccak256\":\"0xa88e828c55cb4e2c1ef02c9204e367d3034fc2e35cc881581d898942b9715d50\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardAdminACLs.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title Witnet Request Board ACLs administration interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardAdminACLs {\\n    event ReportersSet(address[] reporters);\\n    event ReportersUnset(address[] reporters);\\n\\n    /// Tells whether given address is included in the active reporters control list.\\n    function isReporter(address) external view returns (bool);\\n\\n    /// Adds given addresses to the active reporters control list.\\n    /// @dev Can only be called from the owner address.\\n    /// @dev Emits the `ReportersSet` event. \\n    function setReporters(address[] calldata reporters) external;\\n\\n    /// Removes given addresses from the active reporters control list.\\n    /// @dev Can only be called from the owner address.\\n    /// @dev Emits the `ReportersUnset` event. \\n    function unsetReporters(address[] calldata reporters) external;\\n}\\n\",\"keccak256\":\"0xafcd6f01a977d597032b341fec291ea7e26b1dac3eb13eced8b37d89eb76e4ff\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardEvents.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title Witnet Request Board emitting events interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardEvents {\\n    /// Emitted when a Witnet Data Request is posted to the WRB.\\n    event PostedRequest(uint256 queryId, address from);\\n\\n    /// Emitted when a Witnet-solved result is reported to the WRB.\\n    event PostedResult(uint256 queryId, address from);\\n\\n    /// Emitted when all data related to given query is deleted from the WRB.\\n    event DeletedQuery(uint256 queryId, address from);\\n}\\n\",\"keccak256\":\"0xe2cb1369ba158db394c0380231f99174a88d62a66b0e7f8be14179b8c2fbd12f\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardReporter.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Request Board Reporter interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardReporter {\\n    /// Reports the Witnet-provided result to a previously posted request. \\n    /// @dev Will assume `block.timestamp` as the timestamp at which the request was solved.\\n    /// @dev Fails if:\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique identifier of the data request.\\n    /// @param _drTxHash The hash of the corresponding data request transaction in Witnet.\\n    /// @param _result The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            bytes32 _drTxHash,\\n            bytes calldata _result\\n        ) external;\\n\\n    /// Reports the Witnet-provided result to a previously posted request.\\n    /// @dev Fails if:\\n    /// @dev - called from unauthorized address;\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique query identifier\\n    /// @param _timestamp The timestamp of the solving tally transaction in Witnet.\\n    /// @param _drTxHash The hash of the corresponding data request transaction in Witnet.\\n    /// @param _result The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            uint256 _timestamp,\\n            bytes32 _drTxHash,\\n            bytes calldata _result\\n        ) external;\\n\\n    /// Reports Witnet-provided results to multiple requests within a single EVM tx.\\n    /// @dev Must emit a PostedResult event for every succesfully reported result.\\n    /// @param _batchResults Array of BatchResult structs, every one containing:\\n    ///         - unique query identifier;\\n    ///         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;\\n    ///         - hash of the corresponding data request tx at the Witnet side-chain level;\\n    ///         - data request result in raw bytes.\\n    /// @param _verbose If true, must emit a BatchReportError event for every failing report, if any. \\n    function reportResultBatch(BatchResult[] calldata _batchResults, bool _verbose) external;\\n        \\n        struct BatchResult {\\n            uint256 queryId;\\n            uint256 timestamp;\\n            bytes32 drTxHash;\\n            bytes   cborBytes;\\n        }\\n\\n        event BatchReportError(uint256 queryId, string reason);\\n}\\n\",\"keccak256\":\"0x70655a9a394143ac1f03477a2cca5e2d1773523832bf127b9e9971596c105812\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardRequestor.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Requestor Interface\\n/// @notice It defines how to interact with the Witnet Request Board in order to:\\n///   - request the execution of Witnet Radon scripts (data request);\\n///   - upgrade the resolution reward of any previously posted request, in case gas price raises in mainnet;\\n///   - read the result of any previously posted request, eventually reported by the Witnet DON.\\n///   - remove from storage all data related to past and solved data requests, and results.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardRequestor {\\n    /// Retrieves a copy of all Witnet-provided data related to a previously posted request, removing the whole query from the WRB storage.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status, or called from an address different to\\n    /// @dev the one that actually posted the given request.\\n    /// @param _queryId The unique query identifier.\\n    function deleteQuery(uint256 _queryId) external returns (Witnet.Response memory);\\n\\n    /// Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON.\\n    /// A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided \\n    /// result to this request.\\n    /// @dev Fails if:\\n    /// @dev - provided reward is too low.\\n    /// @dev - provided script is zero address.\\n    /// @dev - provided script bytecode is empty.\\n    /// @param _addr The address of the IWitnetRequest contract that can provide the actual Data Request bytecode.\\n    /// @return _queryId An unique query identifier.\\n    function postRequest(IWitnetRequest _addr) external payable returns (uint256 _queryId);\\n\\n    /// Increments the reward of a previously posted request by adding the transaction value to it.\\n    /// @dev Updates request `gasPrice` in case this method is called with a higher \\n    /// @dev gas price value than the one used in previous calls to `postRequest` or\\n    /// @dev `upgradeReward`. \\n    /// @dev Fails if the `_queryId` is not in 'Posted' status.\\n    /// @dev Fails also in case the request `gasPrice` is increased, and the new \\n    /// @dev reward value gets below new recalculated threshold. \\n    /// @param _queryId The unique query identifier.\\n    function upgradeReward(uint256 _queryId) external payable;\\n}\\n\",\"keccak256\":\"0x7c7a991de5f087102b1931d5d8b2e3716d7a90354b3cbafef95d2509a0643453\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardView.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Request Board info interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardView {\\n    /// Estimates the amount of reward we need to insert for a given gas price.\\n    /// @param _gasPrice The gas price for which we need to calculate the rewards.\\n    function estimateReward(uint256 _gasPrice) external view returns (uint256);\\n\\n    /// Returns next query id to be generated by the Witnet Request Board.\\n    function getNextQueryId() external view returns (uint256);\\n\\n    /// Gets the whole Query data contents, if any, no matter its current status.\\n    function getQueryData(uint256 _queryId) external view returns (Witnet.Query memory);\\n\\n    /// Gets current status of given query.\\n    function getQueryStatus(uint256 _queryId) external view returns (Witnet.QueryStatus);\\n\\n    /// Retrieves the whole Request record posted to the Witnet Request Board.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been reported\\n    /// @dev or deleted.\\n    /// @param _queryId The unique identifier of a previously posted query.\\n    function readRequest(uint256 _queryId) external view returns (Witnet.Request memory);\\n\\n    /// Retrieves the serialized bytecode of a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not valid, or if the related script bytecode \\n    /// @dev got changed after being posted. Returns empty array once it gets reported, \\n    /// @dev or deleted.\\n    /// @param _queryId The unique query identifier.\\n    function readRequestBytecode(uint256 _queryId) external view returns (bytes memory);\\n\\n    /// Retrieves the gas price that any assigned reporter will have to pay when reporting \\n    /// result to a previously posted Witnet data request.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifie\\n    function readRequestGasPrice(uint256 _queryId) external view returns (uint256);\\n\\n    /// Retrieves the reward currently set for the referred query.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifier.\\n    function readRequestReward(uint256 _queryId) external view returns (uint256);\\n\\n    /// Retrieves the whole `Witnet.Response` record referred to a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponse(uint256 _queryId) external view returns (Witnet.Response memory);\\n\\n    /// Retrieves the hash of the Witnet transaction hash that actually solved the referred query.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseDrTxHash(uint256 _queryId) external view returns (bytes32);    \\n\\n    /// Retrieves the address that reported the result to a previously-posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseReporter(uint256 _queryId) external view returns (address);\\n\\n    /// Retrieves the Witnet-provided CBOR-bytes result of a previously posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseResult(uint256 _queryId) external view returns (Witnet.Result memory);\\n\\n    /// Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseTimestamp(uint256 _queryId) external view returns (uint256);\\n}\\n\",\"keccak256\":\"0x782ec2ff166948f5d097765c0190b352793d8b8887af5f8384d875d63cff4e9b\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestParser.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title The Witnet interface for decoding Witnet-provided request to Data Requests.\\n/// This interface exposes functions to check for the success/failure of\\n/// a Witnet-provided result, as well as to parse and convert result into\\n/// Solidity types suitable to the application level. \\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestParser {\\n\\n    /// Decode raw CBOR bytes into a Witnet.Result instance.\\n    /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborBytes(bytes memory _cborBytes) external pure returns (Witnet.Result memory);\\n\\n    /// Decode a CBOR value into a Witnet.Result instance.\\n    /// @param _cborValue An instance of `Witnet.CBOR`.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborValue(Witnet.CBOR memory _cborValue) external pure returns (Witnet.Result memory);\\n\\n    /// Tell if a Witnet.Result is successful.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if successful, `false` if errored.\\n    function isOk(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Tell if a Witnet.Result is errored.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if errored, `false` if successful.\\n    function isError(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes` decoded from the Witnet.Result.\\n    function asBytes(Witnet.Result memory _result) external pure returns (bytes memory);\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes32` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes32` decoded from the Witnet.Result.\\n    function asBytes32(Witnet.Result memory _result) external pure returns (bytes32);\\n\\n    /// Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `CBORValue.Error memory` decoded from the Witnet.Result.\\n    function asErrorCode(Witnet.Result memory _result) external pure returns (Witnet.ErrorCodes);\\n\\n\\n    /// Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\\n    /// @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\\n    function asErrorMessage(Witnet.Result memory _result) external pure returns (Witnet.ErrorCodes, string memory);\\n\\n    /// Decode a raw error from a `Witnet.Result` as a `uint64[]`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `uint64[]` raw error as decoded from the `Witnet.Result`.\\n    function asRawError(Witnet.Result memory _result) external pure returns(uint64[] memory);\\n\\n    /// Decode a boolean value from a Witnet.Result as an `bool` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bool` decoded from the Witnet.Result.\\n    function asBool(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\\n    /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\\n    /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\\n    /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asFixed16(Witnet.Result memory _result) external pure returns (int32);\\n\\n    /// Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asFixed16Array(Witnet.Result memory _result) external pure returns (int32[] memory);\\n\\n    /// Decode a integer numeric value from a Witnet.Result as an `int128` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asInt128(Witnet.Result memory _result) external pure returns (int128);\\n\\n    /// Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asInt128Array(Witnet.Result memory _result) external pure returns (int128[] memory);\\n\\n    /// Decode a string value from a Witnet.Result as a `string` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string` decoded from the Witnet.Result.\\n    function asString(Witnet.Result memory _result) external pure returns (string memory);\\n\\n    /// Decode an array of string values from a Witnet.Result as a `string[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string[]` decoded from the Witnet.Result.\\n    function asStringArray(Witnet.Result memory _result) external pure returns (string[] memory);\\n\\n    /// Decode a natural numeric value from a Witnet.Result as a `uint64` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64` decoded from the Witnet.Result.\\n    function asUint64(Witnet.Result memory _result) external pure returns(uint64);\\n\\n    /// Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64[]` decoded from the Witnet.Result.\\n    function asUint64Array(Witnet.Result memory _result) external pure returns (uint64[] memory);\\n\\n}\\n\",\"keccak256\":\"0xe7c24475babac7d21172d37d976a97b81053739e81b4697be39decfe2aa90945\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/WitnetBuffer.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"./Witnet.sol\\\";\\n\\n/// @title A convenient wrapper around the `bytes memory` type that exposes a buffer-like interface\\n/// @notice The buffer has an inner cursor that tracks the final offset of every read, i.e. any subsequent read will\\n/// start with the byte that goes right after the last one in the previous read.\\n/// @dev `uint32` is used here for `cursor` because `uint16` would only enable seeking up to 8KB, which could in some\\n/// theoretical use cases be exceeded. Conversely, `uint32` supports up to 512MB, which cannot credibly be exceeded.\\n/// @author The Witnet Foundation.\\nlibrary WitnetBuffer {\\n\\n  // Ensures we access an existing index in an array\\n  modifier notOutOfBounds(uint32 index, uint256 length) {\\n    require(index < length, \\\"WitnetBuffer: Tried to read from a consumed Buffer (must rewind it first)\\\");\\n    _;\\n  }\\n\\n  /// @notice Read and consume a certain amount of bytes from the buffer.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @param _length How many bytes to read and consume from the buffer.\\n  /// @return A `bytes memory` containing the first `_length` bytes from the buffer, counting from the cursor position.\\n  function read(Witnet.Buffer memory _buffer, uint32 _length) internal pure returns (bytes memory) {\\n    // Make sure not to read out of the bounds of the original bytes\\n    require(_buffer.cursor + _length <= _buffer.data.length, \\\"WitnetBuffer: Not enough bytes in buffer when reading\\\");\\n\\n    // Create a new `bytes memory destination` value\\n    bytes memory destination = new bytes(_length);\\n\\n    // Early return in case that bytes length is 0\\n    if (_length != 0) {\\n      bytes memory source = _buffer.data;\\n      uint32 offset = _buffer.cursor;\\n\\n      // Get raw pointers for source and destination\\n      uint sourcePointer;\\n      uint destinationPointer;\\n      assembly {\\n        sourcePointer := add(add(source, 32), offset)\\n        destinationPointer := add(destination, 32)\\n      }\\n      // Copy `_length` bytes from source to destination\\n      memcpy(destinationPointer, sourcePointer, uint(_length));\\n\\n      // Move the cursor forward by `_length` bytes\\n      seek(_buffer, _length, true);\\n    }\\n    return destination;\\n  }\\n\\n  /// @notice Read and consume the next byte from the buffer.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The next byte in the buffer counting from the cursor position.\\n  function next(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor, _buffer.data.length) returns (bytes1) {\\n    // Return the byte at the position marked by the cursor and advance the cursor all at once\\n    return _buffer.data[_buffer.cursor++];\\n  }\\n\\n  /// @notice Move the inner cursor of the buffer to a relative or absolute position.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @param _offset How many bytes to move the cursor forward.\\n  /// @param _relative Whether to count `_offset` from the last position of the cursor (`true`) or the beginning of the\\n  /// buffer (`true`).\\n  /// @return The final position of the cursor (will equal `_offset` if `_relative` is `false`).\\n  // solium-disable-next-line security/no-assign-params\\n  function seek(Witnet.Buffer memory _buffer, uint32 _offset, bool _relative) internal pure returns (uint32) {\\n    // Deal with relative offsets\\n    if (_relative) {\\n      require(_offset + _buffer.cursor > _offset, \\\"WitnetBuffer: Integer overflow when seeking\\\");\\n      _offset += _buffer.cursor;\\n    }\\n    // Make sure not to read out of the bounds of the original bytes\\n    require(_offset <= _buffer.data.length, \\\"WitnetBuffer: Not enough bytes in buffer when seeking\\\");\\n    _buffer.cursor = _offset;\\n    return _buffer.cursor;\\n  }\\n\\n  /// @notice Move the inner cursor a number of bytes forward.\\n  /// @dev This is a simple wrapper around the relative offset case of `seek()`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @param _relativeOffset How many bytes to move the cursor forward.\\n  /// @return The final position of the cursor.\\n  function seek(Witnet.Buffer memory _buffer, uint32 _relativeOffset) internal pure returns (uint32) {\\n    return seek(_buffer, _relativeOffset, true);\\n  }\\n\\n  /// @notice Move the inner cursor back to the first byte in the buffer.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  function rewind(Witnet.Buffer memory _buffer) internal pure {\\n    _buffer.cursor = 0;\\n  }\\n\\n  /// @notice Read and consume the next byte from the buffer as an `uint8`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint8` value of the next byte in the buffer counting from the cursor position.\\n  function readUint8(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor, _buffer.data.length) returns (uint8) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint8 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 1), offset))\\n    }\\n    _buffer.cursor++;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 2 bytes from the buffer as an `uint16`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint16` value of the next 2 bytes in the buffer counting from the cursor position.\\n  function readUint16(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 1, _buffer.data.length) returns (uint16) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint16 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 2), offset))\\n    }\\n    _buffer.cursor += 2;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 4 bytes from the buffer as an `uint32`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint32` value of the next 4 bytes in the buffer counting from the cursor position.\\n  function readUint32(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 3, _buffer.data.length) returns (uint32) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint32 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 4), offset))\\n    }\\n    _buffer.cursor += 4;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 8 bytes from the buffer as an `uint64`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint64` value of the next 8 bytes in the buffer counting from the cursor position.\\n  function readUint64(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 7, _buffer.data.length) returns (uint64) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint64 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 8), offset))\\n    }\\n    _buffer.cursor += 8;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 16 bytes from the buffer as an `uint128`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint128` value of the next 16 bytes in the buffer counting from the cursor position.\\n  function readUint128(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 15, _buffer.data.length) returns (uint128) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint128 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 16), offset))\\n    }\\n    _buffer.cursor += 16;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 32 bytes from the buffer as an `uint256`.\\n  /// @return The `uint256` value of the next 32 bytes in the buffer counting from the cursor position.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  function readUint256(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 31, _buffer.data.length) returns (uint256) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint256 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 32), offset))\\n    }\\n    _buffer.cursor += 32;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 2 bytes from the buffer as an IEEE 754-2008 floating point number enclosed in an\\n  /// `int32`.\\n  /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values\\n  /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `float16`\\n  /// use cases. In other words, the integer output of this method is 10,000 times the actual value. The input bytes are\\n  /// expected to follow the 16-bit base-2 format (a.k.a. `binary16`) in the IEEE 754-2008 standard.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint32` value of the next 4 bytes in the buffer counting from the cursor position.\\n  function readFloat16(Witnet.Buffer memory _buffer) internal pure returns (int32) {\\n    uint32 bytesValue = readUint16(_buffer);\\n    // Get bit at position 0\\n    uint32 sign = bytesValue & 0x8000;\\n    // Get bits 1 to 5, then normalize to the [-14, 15] range so as to counterweight the IEEE 754 exponent bias\\n    int32 exponent = (int32(bytesValue & 0x7c00) >> 10) - 15;\\n    // Get bits 6 to 15\\n    int32 significand = int32(bytesValue & 0x03ff);\\n\\n    // Add 1024 to the fraction if the exponent is 0\\n    if (exponent == 15) {\\n      significand |= 0x400;\\n    }\\n\\n    // Compute `2 ^ exponent \\u00b7 (1 + fraction / 1024)`\\n    int32 result = 0;\\n    if (exponent >= 0) {\\n      result = int32((int256(1 << uint256(int256(exponent))) * 10000 * int256(uint256(int256(significand)) | 0x400)) >> 10);\\n    } else {\\n      result = int32(((int256(uint256(int256(significand)) | 0x400) * 10000) / int256(1 << uint256(int256(- exponent)))) >> 10);\\n    }\\n\\n    // Make the result negative if the sign bit is not 0\\n    if (sign != 0) {\\n      result *= - 1;\\n    }\\n    return result;\\n  }\\n\\n  /// @notice Copy bytes from one memory address into another.\\n  /// @dev This function was borrowed from Nick Johnson's `solidity-stringutils` lib, and reproduced here under the terms\\n  /// of [Apache License 2.0](https://github.com/Arachnid/solidity-stringutils/blob/master/LICENSE).\\n  /// @param _dest Address of the destination memory.\\n  /// @param _src Address to the source memory.\\n  /// @param _len How many bytes to copy.\\n  // solium-disable-next-line security/no-assign-params\\n  function memcpy(uint _dest, uint _src, uint _len) private pure {\\n    require(_len > 0, \\\"WitnetBuffer: Cannot copy 0 bytes\\\");\\n\\n    // Copy word-length chunks while possible\\n    for (; _len >= 32; _len -= 32) {\\n      assembly {\\n        mstore(_dest, mload(_src))\\n      }\\n      _dest += 32;\\n      _src += 32;\\n    }\\n    if (_len > 0) {\\n      // Copy remaining bytes\\n      uint mask = 256 ** (32 - _len) - 1;\\n      assembly {\\n        let srcpart := and(mload(_src), not(mask))\\n        let destpart := and(mload(_dest), mask)\\n        mstore(_dest, or(destpart, srcpart))\\n      }\\n    }\\n  }\\n\\n}\\n\",\"keccak256\":\"0x7ef46325fb4d37649e8ef4c2250240ea63c32720d44d7e4da5a7b412fb348524\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/WitnetDecoderLib.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./WitnetBuffer.sol\\\";\\n\\n/// @title A minimalistic implementation of \\u201cRFC 7049 Concise Binary Object Representation\\u201d\\n/// @notice This library leverages a buffer-like structure for step-by-step decoding of bytes so as to minimize\\n/// the gas cost of decoding them into a useful native type.\\n/// @dev Most of the logic has been borrowed from Patrick Gansterer\\u2019s cbor.js library: https://github.com/paroga/cbor-js\\n/// @author The Witnet Foundation.\\n/// \\n/// TODO: add support for Array (majorType = 4)\\n/// TODO: add support for Map (majorType = 5)\\n/// TODO: add support for Float32 (majorType = 7, additionalInformation = 26)\\n/// TODO: add support for Float64 (majorType = 7, additionalInformation = 27) \\n\\nlibrary WitnetDecoderLib {\\n\\n  using WitnetBuffer for Witnet.Buffer;\\n\\n  uint32 constant internal _UINT32_MAX = type(uint32).max;\\n  uint64 constant internal _UINT64_MAX = type(uint64).max;\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `bool` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as a `bool` value.\\n  function decodeBool(Witnet.CBOR memory _cborValue) public pure returns(bool) {\\n    _cborValue.len = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(_cborValue.majorType == 7, \\\"WitnetDecoderLib: Tried to read a `bool` value from a `Witnet.CBOR` with majorType != 7\\\");\\n    if (_cborValue.len == 20) {\\n      return false;\\n    } else if (_cborValue.len == 21) {\\n      return true;\\n    } else {\\n      revert(\\\"WitnetDecoderLib: Tried to read `bool` from a `Witnet.CBOR` with len different than 20 or 21\\\");\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `bytes` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as a `bytes` value.   \\n  function decodeBytes(Witnet.CBOR memory _cborValue) public pure returns(bytes memory) {\\n    _cborValue.len = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    if (_cborValue.len == _UINT32_MAX) {\\n      bytes memory bytesData;\\n\\n      // These checks look repetitive but the equivalent loop would be more expensive.\\n      uint32 itemLength = uint32(readIndefiniteStringLength(_cborValue.buffer, _cborValue.majorType));\\n      if (itemLength < _UINT32_MAX) {\\n        bytesData = abi.encodePacked(bytesData, _cborValue.buffer.read(itemLength));\\n        itemLength = uint32(readIndefiniteStringLength(_cborValue.buffer, _cborValue.majorType));\\n        if (itemLength < _UINT32_MAX) {\\n          bytesData = abi.encodePacked(bytesData, _cborValue.buffer.read(itemLength));\\n        }\\n      }\\n      return bytesData;\\n    } else {\\n      return _cborValue.buffer.read(uint32(_cborValue.len));\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `bytes32` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return _bytes32 The value represented by the input, as a `bytes32` value.\\n  function decodeBytes32(Witnet.CBOR memory _cborValue) public pure returns(bytes32 _bytes32) {\\n    bytes memory _bb = decodeBytes(_cborValue);\\n    uint _len = _bb.length > 32 ? 32 : _bb.length;\\n    for (uint _i = 0; _i < _len; _i ++) {\\n        _bytes32 |= bytes32(_bb[_i] & 0xff) >> (_i * 8);\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a `fixed16` value.\\n  /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values\\n  /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`\\n  /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128` value.\\n  function decodeFixed16(Witnet.CBOR memory _cborValue) public pure returns(int32) {\\n    require(_cborValue.majorType == 7, \\\"WitnetDecoderLib: Tried to read a `fixed` value from a `WT.CBOR` with majorType != 7\\\");\\n    require(_cborValue.additionalInformation == 25, \\\"WitnetDecoderLib: Tried to read `fixed16` from a `WT.CBOR` with additionalInformation != 25\\\");\\n    return _cborValue.buffer.readFloat16();\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `int128[]` value whose inner values follow the same convention.\\n  /// as explained in `decodeFixed16`.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128[]` value.\\n  function decodeFixed16Array(Witnet.CBOR memory _cborValue) external pure returns(int32[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `int128[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    int32[] memory array = new int32[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeFixed16(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `int128` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128` value.\\n  function decodeInt128(Witnet.CBOR memory _cborValue) public pure returns(int128) {\\n    if (_cborValue.majorType == 1) {\\n      uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n      return int128(-1) - int128(uint128(length));\\n    } else if (_cborValue.majorType == 0) {\\n      // Any `uint64` can be safely casted to `int128`, so this method supports majorType 1 as well so as to have offer\\n      // a uniform API for positive and negative numbers\\n      return int128(uint128(decodeUint64(_cborValue)));\\n    }\\n    revert(\\\"WitnetDecoderLib: Tried to read `int128` from a `Witnet.CBOR` with majorType not 0 or 1\\\");\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `int128[]` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128[]` value.\\n  function decodeInt128Array(Witnet.CBOR memory _cborValue) external pure returns(int128[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `int128[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    int128[] memory array = new int128[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeInt128(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `string` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as a `string` value.\\n  function decodeString(Witnet.CBOR memory _cborValue) public pure returns(string memory) {\\n    _cborValue.len = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    if (_cborValue.len == _UINT64_MAX) {\\n      bytes memory textData;\\n      bool done;\\n      while (!done) {\\n        uint64 itemLength = readIndefiniteStringLength(_cborValue.buffer, _cborValue.majorType);\\n        if (itemLength < _UINT64_MAX) {\\n          textData = abi.encodePacked(textData, readText(_cborValue.buffer, itemLength / 4));\\n        } else {\\n          done = true;\\n        }\\n      }\\n      return string(textData);\\n    } else {\\n      return string(readText(_cborValue.buffer, _cborValue.len));\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `string[]` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `string[]` value.\\n  function decodeStringArray(Witnet.CBOR memory _cborValue) external pure returns(string[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `string[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    string[] memory array = new string[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeString(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `uint64` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `uint64` value.\\n  function decodeUint64(Witnet.CBOR memory _cborValue) public pure returns(uint64) {\\n    require(_cborValue.majorType == 0, \\\"WitnetDecoderLib: Tried to read `uint64` from a `Witnet.CBOR` with majorType != 0\\\");\\n    return readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `uint64[]` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `uint64[]` value.\\n  function decodeUint64Array(Witnet.CBOR memory _cborValue) external pure returns(uint64[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `uint64[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    uint64[] memory array = new uint64[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeUint64(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a Witnet.CBOR structure from raw bytes.\\n  /// @dev This is the main factory for Witnet.CBOR instances, which can be later decoded into native EVM types.\\n  /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n  /// @return A `Witnet.CBOR` instance containing a partially decoded value.\\n  function valueFromBytes(bytes memory _cborBytes) external pure returns(Witnet.CBOR memory) {\\n    Witnet.Buffer memory buffer = Witnet.Buffer(_cborBytes, 0);\\n\\n    return valueFromBuffer(buffer);\\n  }\\n\\n  /// @notice Decode a Witnet.CBOR structure from raw bytes.\\n  /// @dev This is an alternate factory for Witnet.CBOR instances, which can be later decoded into native EVM types.\\n  /// @param _buffer A Buffer structure representing a CBOR-encoded value.\\n  /// @return A `Witnet.CBOR` instance containing a partially decoded value.\\n  function valueFromBuffer(Witnet.Buffer memory _buffer) public pure returns(Witnet.CBOR memory) {\\n    require(_buffer.data.length > 0, \\\"WitnetDecoderLib: Found empty buffer when parsing CBOR value\\\");\\n\\n    uint8 initialByte;\\n    uint8 majorType = 255;\\n    uint8 additionalInformation;\\n    uint64 tag = _UINT64_MAX;\\n\\n    bool isTagged = true;\\n    while (isTagged) {\\n      // Extract basic CBOR properties from input bytes\\n      initialByte = _buffer.readUint8();\\n      majorType = initialByte >> 5;\\n      additionalInformation = initialByte & 0x1f;\\n\\n      // Early CBOR tag parsing.\\n      if (majorType == 6) {\\n        tag = readLength(_buffer, additionalInformation);\\n      } else {\\n        isTagged = false;\\n      }\\n    }\\n\\n    require(majorType <= 7, \\\"WitnetDecoderLib: Invalid CBOR major type\\\");\\n\\n    return Witnet.CBOR(\\n      _buffer,\\n      initialByte,\\n      majorType,\\n      additionalInformation,\\n      0,\\n      tag);\\n  }\\n\\n  /// Reads the length of the next CBOR item from a buffer, consuming a different number of bytes depending on the\\n  /// value of the `additionalInformation` argument.\\n  function readLength(Witnet.Buffer memory _buffer, uint8 additionalInformation) private pure returns(uint64) {\\n    if (additionalInformation < 24) {\\n      return additionalInformation;\\n    }\\n    if (additionalInformation == 24) {\\n      return _buffer.readUint8();\\n    }\\n    if (additionalInformation == 25) {\\n      return _buffer.readUint16();\\n    }\\n    if (additionalInformation == 26) {\\n      return _buffer.readUint32();\\n    }\\n    if (additionalInformation == 27) {\\n      return _buffer.readUint64();\\n    }\\n    if (additionalInformation == 31) {\\n      return _UINT64_MAX;\\n    }\\n    revert(\\\"WitnetDecoderLib: Invalid length encoding (non-existent additionalInformation value)\\\");\\n  }\\n\\n  /// Read the length of a CBOR indifinite-length item (arrays, maps, byte strings and text) from a buffer, consuming\\n  /// as many bytes as specified by the first byte.\\n  function readIndefiniteStringLength(Witnet.Buffer memory _buffer, uint8 majorType) private pure returns(uint64) {\\n    uint8 initialByte = _buffer.readUint8();\\n    if (initialByte == 0xff) {\\n      return _UINT64_MAX;\\n    }\\n    uint64 length = readLength(_buffer, initialByte & 0x1f);\\n    require(length < _UINT64_MAX && (initialByte >> 5) == majorType, \\\"WitnetDecoderLib: Invalid indefinite length\\\");\\n    return length;\\n  }\\n\\n  /// Read a text string of a given length from a buffer. Returns a `bytes memory` value for the sake of genericness,\\n  /// but it can be easily casted into a string with `string(result)`.\\n  // solium-disable-next-line security/no-assign-params\\n  function readText(Witnet.Buffer memory _buffer, uint64 _length) private pure returns(bytes memory) {\\n    bytes memory result;\\n    for (uint64 index = 0; index < _length; index++) {\\n      uint8 value = _buffer.readUint8();\\n      if (value & 0x80 != 0) {\\n        if (value < 0xe0) {\\n          value = (value & 0x1f) << 6 |\\n            (_buffer.readUint8() & 0x3f);\\n          _length -= 1;\\n        } else if (value < 0xf0) {\\n          value = (value & 0x0f) << 12 |\\n            (_buffer.readUint8() & 0x3f) << 6 |\\n            (_buffer.readUint8() & 0x3f);\\n          _length -= 2;\\n        } else {\\n          value = (value & 0x0f) << 18 |\\n            (_buffer.readUint8() & 0x3f) << 12 |\\n            (_buffer.readUint8() & 0x3f) << 6  |\\n            (_buffer.readUint8() & 0x3f);\\n          _length -= 3;\\n        }\\n      }\\n      result = abi.encodePacked(result, value);\\n    }\\n    return result;\\n  }\\n}\\n\",\"keccak256\":\"0xb8f5b618ebae15a7f5d21870ac8ba7034afe5dce876b53a1a81572378a817c32\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/WitnetParserLib.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./WitnetDecoderLib.sol\\\";\\n\\n/// @title A library for decoding Witnet request results\\n/// @notice The library exposes functions to check the Witnet request success.\\n/// and retrieve Witnet results from CBOR values into solidity types.\\n/// @author The Witnet Foundation.\\nlibrary WitnetParserLib {\\n\\n    using WitnetDecoderLib for bytes;\\n    using WitnetDecoderLib for Witnet.CBOR;\\n\\n    /// @notice Decode raw CBOR bytes into a Witnet.Result instance.\\n    /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborBytes(bytes calldata _cborBytes)\\n        external pure\\n        returns (Witnet.Result memory)\\n    {\\n        Witnet.CBOR memory cborValue = _cborBytes.valueFromBytes();\\n        return resultFromCborValue(cborValue);\\n    }\\n\\n    /// @notice Decode a CBOR value into a Witnet.Result instance.\\n    /// @param _cborValue An instance of `Witnet.Value`.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborValue(Witnet.CBOR memory _cborValue)\\n        public pure\\n        returns (Witnet.Result memory)    \\n    {\\n        // Witnet uses CBOR tag 39 to represent RADON error code identifiers.\\n        // [CBOR tag 39] Identifiers for CBOR: https://github.com/lucas-clemente/cbor-specs/blob/master/id.md\\n        bool success = _cborValue.tag != 39;\\n        return Witnet.Result(success, _cborValue);\\n    }\\n\\n    /// @notice Tell if a Witnet.Result is successful.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if successful, `false` if errored.\\n    function isOk(Witnet.Result memory _result)\\n        external pure\\n        returns (bool)\\n    {\\n        return _result.success;\\n    }\\n\\n    /// @notice Tell if a Witnet.Result is errored.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if errored, `false` if successful.\\n    function isError(Witnet.Result memory _result)\\n      external pure\\n      returns (bool)\\n    {\\n        return !_result.success;\\n    }\\n\\n    /// @notice Decode a bytes value from a Witnet.Result as a `bytes` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes` decoded from the Witnet.Result.\\n    function asBytes(Witnet.Result memory _result)\\n        external pure\\n        returns(bytes memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read bytes value from errored Witnet.Result\\\");\\n        return _result.value.decodeBytes();\\n    }\\n\\n    /// @notice Decode a bytes value from a Witnet.Result as a `bytes32` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes32` decoded from the Witnet.Result.\\n    function asBytes32(Witnet.Result memory _result)\\n        external pure\\n        returns(bytes32)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: tried to read bytes32 value from errored Witnet.Result\\\");\\n        return _result.value.decodeBytes32();\\n    }\\n\\n    /// @notice Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `CBORValue.Error memory` decoded from the Witnet.Result.\\n    function asErrorCode(Witnet.Result memory _result)\\n        external pure\\n        returns (Witnet.ErrorCodes)\\n    {\\n        uint64[] memory error = asRawError(_result);\\n        if (error.length == 0) {\\n            return Witnet.ErrorCodes.Unknown;\\n        }\\n        return _supportedErrorOrElseUnknown(error[0]);\\n    }\\n\\n    /// @notice Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\\n    /// @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\\n    function asErrorMessage(Witnet.Result memory _result)\\n      public pure\\n      returns (Witnet.ErrorCodes, string memory)\\n    {\\n        uint64[] memory error = asRawError(_result);\\n        if (error.length == 0) {\\n            return (Witnet.ErrorCodes.Unknown, \\\"Unknown error (no error code)\\\");\\n        }\\n        Witnet.ErrorCodes errorCode = _supportedErrorOrElseUnknown(error[0]);\\n        bytes memory errorMessage;\\n\\n        if (errorCode == Witnet.ErrorCodes.SourceScriptNotCBOR && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Source script #\\\",\\n                _utoa(error[1]),\\n                \\\" was not a valid CBOR value\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.SourceScriptNotArray && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"The CBOR value in script #\\\",\\n                _utoa(error[1]),\\n                \\\" was not an Array of calls\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.SourceScriptNotRADON && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"The CBOR value in script #\\\",\\n                _utoa(error[1]),\\n                \\\" was not a valid Data Request\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.RequestTooManySources && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"The request contained too many sources (\\\", \\n                _utoa(error[1]), \\n                \\\")\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.ScriptTooManyCalls && error.length >= 4) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Script #\\\",\\n                _utoa(error[2]),\\n                \\\" from the \\\",\\n                stageName(error[1]),\\n                \\\" stage contained too many calls (\\\",\\n                _utoa(error[3]),\\n                \\\")\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.UnsupportedOperator && error.length >= 5) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Operator code 0x\\\",\\n                _utohex(error[4]),\\n                \\\" found at call #\\\",\\n                _utoa(error[3]),\\n                \\\" in script #\\\",\\n                _utoa(error[2]),\\n                \\\" from \\\",\\n                stageName(error[1]),\\n                \\\" stage is not supported\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.HTTP && error.length >= 3) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Source #\\\",\\n                _utoa(error[1]),\\n                \\\" could not be retrieved. Failed with HTTP error code: \\\",\\n                _utoa(error[2] / 100),\\n                _utoa(error[2] % 100 / 10),\\n                _utoa(error[2] % 10)\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.RetrievalTimeout && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Source #\\\",\\n                _utoa(error[1]),\\n                \\\" could not be retrieved because of a timeout\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.Underflow && error.length >= 5) {\\n              errorMessage = abi.encodePacked(\\n                \\\"Underflow at operator code 0x\\\",\\n                _utohex(error[4]),\\n                \\\" found at call #\\\",\\n                _utoa(error[3]),\\n                \\\" in script #\\\",\\n                _utoa(error[2]),\\n                \\\" from \\\",\\n                stageName(error[1]),\\n                \\\" stage\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.Overflow && error.length >= 5) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Overflow at operator code 0x\\\",\\n                _utohex(error[4]),\\n                \\\" found at call #\\\",\\n                _utoa(error[3]),\\n                \\\" in script #\\\",\\n                _utoa(error[2]),\\n                \\\" from \\\",\\n                stageName(error[1]),\\n                \\\" stage\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.DivisionByZero && error.length >= 5) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Division by zero at operator code 0x\\\",\\n                _utohex(error[4]),\\n                \\\" found at call #\\\",\\n                _utoa(error[3]),\\n                \\\" in script #\\\",\\n                _utoa(error[2]),\\n                \\\" from \\\",\\n                stageName(error[1]),\\n                \\\" stage\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.BridgeMalformedRequest) {\\n            errorMessage = \\\"The structure of the request is invalid and it cannot be parsed\\\";\\n        } else if (errorCode == Witnet.ErrorCodes.BridgePoorIncentives) {\\n            errorMessage = \\\"The request has been rejected by the bridge node due to poor incentives\\\";\\n        } else if (errorCode == Witnet.ErrorCodes.BridgeOversizedResult) {\\n            errorMessage = \\\"The request result length exceeds a bridge contract defined limit\\\";\\n        } else {\\n            errorMessage = abi.encodePacked(\\\"Unknown error (0x\\\", _utohex(error[0]), \\\")\\\");\\n        }\\n        return (errorCode, string(errorMessage));\\n    }\\n\\n    /// @notice Decode a raw error from a `Witnet.Result` as a `uint64[]`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `uint64[]` raw error as decoded from the `Witnet.Result`.\\n    function asRawError(Witnet.Result memory _result)\\n        public pure\\n        returns(uint64[] memory)\\n    {\\n        require(\\n            !_result.success,\\n            \\\"WitnetParserLib: Tried to read error code from successful Witnet.Result\\\"\\n        );\\n        return _result.value.decodeUint64Array();\\n    }\\n\\n    /// @notice Decode a boolean value from a Witnet.Result as an `bool` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bool` decoded from the Witnet.Result.\\n    function asBool(Witnet.Result memory _result)\\n        external pure\\n        returns (bool)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `bool` value from errored Witnet.Result\\\");\\n        return _result.value.decodeBool();\\n    }\\n\\n    /// @notice Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\\n    /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\\n    /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\\n    /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asFixed16(Witnet.Result memory _result)\\n        external pure\\n        returns (int32)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `fixed16` value from errored Witnet.Result\\\");\\n        return _result.value.decodeFixed16();\\n    }\\n\\n    /// @notice Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asFixed16Array(Witnet.Result memory _result)\\n        external pure\\n        returns (int32[] memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `fixed16[]` value from errored Witnet.Result\\\");\\n        return _result.value.decodeFixed16Array();\\n    }\\n\\n    /// @notice Decode a integer numeric value from a Witnet.Result as an `int128` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asInt128(Witnet.Result memory _result)\\n      external pure\\n      returns (int128)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `int128` value from errored Witnet.Result\\\");\\n        return _result.value.decodeInt128();\\n    }\\n\\n    /// @notice Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asInt128Array(Witnet.Result memory _result)\\n        external pure\\n        returns (int128[] memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `int128[]` value from errored Witnet.Result\\\");\\n        return _result.value.decodeInt128Array();\\n    }\\n\\n    /// @notice Decode a string value from a Witnet.Result as a `string` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string` decoded from the Witnet.Result.\\n    function asString(Witnet.Result memory _result)\\n        external pure\\n        returns(string memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `string` value from errored Witnet.Result\\\");\\n        return _result.value.decodeString();\\n    }\\n\\n    /// @notice Decode an array of string values from a Witnet.Result as a `string[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string[]` decoded from the Witnet.Result.\\n    function asStringArray(Witnet.Result memory _result)\\n        external pure\\n        returns (string[] memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `string[]` value from errored Witnet.Result\\\");\\n        return _result.value.decodeStringArray();\\n    }\\n\\n    /// @notice Decode a natural numeric value from a Witnet.Result as a `uint64` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64` decoded from the Witnet.Result.\\n    function asUint64(Witnet.Result memory _result)\\n        external pure\\n        returns(uint64)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `uint64` value from errored Witnet.Result\\\");\\n        return _result.value.decodeUint64();\\n    }\\n\\n    /// @notice Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64[]` decoded from the Witnet.Result.\\n    function asUint64Array(Witnet.Result memory _result)\\n        external pure\\n        returns (uint64[] memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `uint64[]` value from errored Witnet.Result\\\");\\n        return _result.value.decodeUint64Array();\\n    }\\n\\n    /// @notice Convert a stage index number into the name of the matching Witnet request stage.\\n    /// @param _stageIndex A `uint64` identifying the index of one of the Witnet request stages.\\n    /// @return The name of the matching stage.\\n    function stageName(uint64 _stageIndex)\\n        public pure\\n        returns (string memory)\\n    {\\n        if (_stageIndex == 0) {\\n            return \\\"retrieval\\\";\\n        } else if (_stageIndex == 1) {\\n            return \\\"aggregation\\\";\\n        } else if (_stageIndex == 2) {\\n            return \\\"tally\\\";\\n        } else {\\n            return \\\"unknown\\\";\\n        }\\n    }\\n\\n    /// @notice Get an `Witnet.ErrorCodes` item from its `uint64` discriminant.\\n    /// @param _discriminant The numeric identifier of an error.\\n    /// @return A member of `Witnet.ErrorCodes`.\\n    function _supportedErrorOrElseUnknown(uint64 _discriminant)\\n        private pure\\n        returns (Witnet.ErrorCodes)\\n    {\\n        return Witnet.ErrorCodes(_discriminant);\\n    }\\n\\n    /// @notice Convert a `uint64` into a 1, 2 or 3 characters long `string` representing its.\\n    /// three less significant decimal values.\\n    /// @param _u A `uint64` value.\\n    /// @return The `string` representing its decimal value.\\n    function _utoa(uint64 _u)\\n        private pure\\n        returns (string memory)\\n    {\\n        if (_u < 10) {\\n            bytes memory b1 = new bytes(1);\\n            b1[0] = bytes1(uint8(_u) + 48);\\n            return string(b1);\\n        } else if (_u < 100) {\\n            bytes memory b2 = new bytes(2);\\n            b2[0] = bytes1(uint8(_u / 10) + 48);\\n            b2[1] = bytes1(uint8(_u % 10) + 48);\\n            return string(b2);\\n        } else {\\n            bytes memory b3 = new bytes(3);\\n            b3[0] = bytes1(uint8(_u / 100) + 48);\\n            b3[1] = bytes1(uint8(_u % 100 / 10) + 48);\\n            b3[2] = bytes1(uint8(_u % 10) + 48);\\n            return string(b3);\\n        }\\n    }\\n\\n    /// @notice Convert a `uint64` into a 2 characters long `string` representing its two less significant hexadecimal values.\\n    /// @param _u A `uint64` value.\\n    /// @return The `string` representing its hexadecimal value.\\n    function _utohex(uint64 _u)\\n        private pure\\n        returns (string memory)\\n    {\\n        bytes memory b2 = new bytes(2);\\n        uint8 d0 = uint8(_u / 16) + 48;\\n        uint8 d1 = uint8(_u % 16) + 48;\\n        if (d0 > 57)\\n            d0 += 7;\\n        if (d1 > 57)\\n            d1 += 7;\\n        b2[0] = bytes1(d0);\\n        b2[1] = bytes1(d1);\\n        return string(b2);\\n    }\\n}\\n\",\"keccak256\":\"0x250634a50e7ad8aaa9f3dde002ca3718de06a65b93be86896011331b996403f0\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Destructible.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Destructible {\\n    /// @dev Self-destruct the whole contract.\\n    function destruct() external;\\n}\\n\",\"keccak256\":\"0x58c9296ad2920fd26779933226ac807a70d6d70963965b781780e53f69625c87\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Initializable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Initializable {\\n    /// @dev Initialize contract's storage context.\\n    function initialize(bytes calldata) external;\\n}\\n\",\"keccak256\":\"0x17c2e66648596deb4f71dbaaa4b95293c99536431e7697f3b69d205a09796f0e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Payable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\nimport \\\"../interfaces/IERC20.sol\\\";\\n\\nabstract contract Payable {\\n    IERC20 public immutable currency;\\n\\n    event Received(address from, uint256 amount);\\n    event Transfer(address to, uint256 amount);\\n\\n    constructor(address _currency) {\\n        currency = IERC20(_currency);\\n    }\\n\\n    /// Gets current transaction price.\\n    function _getGasPrice() internal view virtual returns (uint256);\\n\\n    /// Gets current payment value.\\n    function _getMsgValue() internal view virtual returns (uint256);\\n\\n    /// Perform safe transfer or whatever token is used for paying rewards.\\n    function _safeTransferTo(address payable, uint256) internal virtual;\\n}\\n\",\"keccak256\":\"0xc7f50e489030643b7f061512ad0d8430abc87351941a77589f6b06376c5831b9\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Proxiable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Proxiable {\\n    /// @dev Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1822.\\n    function proxiableUUID() external pure returns (bytes32);\\n}\\n\",\"keccak256\":\"0x3ed71dc147c30cd8aa1ca248a045217b6ea513bae96c4c76d66496af4b8d6ff1\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Upgradable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\n/* solhint-disable var-name-mixedcase */\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\nimport \\\"./Initializable.sol\\\";\\nimport \\\"./Proxiable.sol\\\";\\n\\nabstract contract Upgradable is Initializable, Proxiable {\\n\\n    address internal immutable _BASE;\\n    bytes32 internal immutable _CODEHASH;\\n    bool internal immutable _UPGRADABLE;\\n\\n    /// Emitted every time the contract gets upgraded.\\n    /// @param from The address who ordered the upgrading. Namely, the WRB operator in \\\"trustable\\\" implementations.\\n    /// @param baseAddr The address of the new implementation contract.\\n    /// @param baseCodehash The EVM-codehash of the new implementation contract.\\n    /// @param versionTag Ascii-encoded version literal with which the implementation deployer decided to tag it.\\n    event Upgraded(\\n        address indexed from,\\n        address indexed baseAddr,\\n        bytes32 indexed baseCodehash,\\n        bytes32 versionTag\\n    );\\n\\n    constructor (bool _isUpgradable) {\\n        address _base = address(this);\\n        bytes32 _codehash;        \\n        assembly {\\n            _codehash := extcodehash(_base)\\n        }\\n        _BASE = _base;\\n        _CODEHASH = _codehash;        \\n        _UPGRADABLE = _isUpgradable;\\n    }\\n\\n    /// @dev Tells whether provided address could eventually upgrade the contract.\\n    function isUpgradableFrom(address from) virtual external view returns (bool);\\n\\n\\n    /// TODO: the following methods should be all declared as pure \\n    ///       whenever this Solidity's PR gets merged and released: \\n    ///       https://github.com/ethereum/solidity/pull/10240\\n\\n    /// @dev Retrieves base contract. Differs from address(this) when via delegate-proxy pattern.\\n    function base() public view returns (address) {\\n        return _BASE;\\n    }\\n\\n    /// @dev Retrieves the immutable codehash of this contract, even if invoked as delegatecall.\\n    /// @return _codehash This contracts immutable codehash.\\n    function codehash() public view returns (bytes32 _codehash) {\\n        return _CODEHASH;\\n    }\\n    \\n    /// @dev Determines whether current instance allows being upgraded.\\n    /// @dev Returned value should be invariant from whoever is calling.\\n    function isUpgradable() public view returns (bool) {        \\n        return _UPGRADABLE;\\n    }\\n\\n    /// @dev Retrieves human-redable named version of current implementation.\\n    function version() virtual public view returns (bytes32); \\n}\",\"keccak256\":\"0x91a8c88f85a691bafab375a8a38361f1dae551530755989636531468870ead98\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/requests/WitnetRequestBase.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\nabstract contract WitnetRequestBase\\n    is\\n        IWitnetRequest\\n{\\n    /// Contains a well-formed Witnet Data Request, encoded using Protocol Buffers.\\n    bytes public override bytecode;\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    bytes32 public override hash;\\n}\\n\",\"keccak256\":\"0x1a3220346005ca91601a89896523f67bdd0fd3dc79b6e684d3e5dbf20f11c5ab\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/requests/WitnetRequestInitializableBase.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"./WitnetRequestBase.sol\\\";\\nimport \\\"../patterns/Initializable.sol\\\";\\n\\nabstract contract WitnetRequestInitializableBase\\n    is\\n        Initializable,\\n        WitnetRequestBase\\n{\\n    using Witnet for bytes;\\n    function initialize(bytes memory _bytecode)\\n        public\\n        virtual override\\n    {\\n        require(\\n            bytecode.length == 0,\\n            \\\"WitnetRequestInitializableBase: cannot change bytecode\\\"\\n        );\\n        bytecode = _bytecode;\\n        hash = _bytecode.hash();\\n    }\\n}\\n\",\"keccak256\":\"0x9d2956ca1e83989996c70e5419130dc95168cf6cfeee39f4896b13d0505f78b0\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[{"astId":11946,"contract":"contracts/witnet-requests/postAPI.sol:postAPIRequest","label":"bytecode","offset":0,"slot":"0","type":"t_bytes_storage"},{"astId":11950,"contract":"contracts/witnet-requests/postAPI.sol:postAPIRequest","label":"hash","offset":0,"slot":"1","type":"t_bytes32"}],"types":{"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"}}},"userdoc":{"kind":"user","methods":{"bytecode()":{"notice":"Contains a well-formed Witnet Data Request, encoded using Protocol Buffers."},"hash()":{"notice":"Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes."}},"version":1}}},"witnet-solidity-bridge/contracts/UsingWitnet.sol":{"UsingWitnet":{"abi":[{"inputs":[],"name":"witnet","outputs":[{"internalType":"contract WitnetRequestBoard","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"devdoc":{"author":"The Witnet Foundation.","details":"Witnet-aware contracts can inherit from this contract in order to interact with Witnet.","kind":"dev","methods":{"constructor":{"params":{"_wrb":"The WitnetRequestBoard entry point address."}}},"title":"The UsingWitnet contract","version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"witnet()":"46d1d21a"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"witnet\",\"outputs\":[{\"internalType\":\"contract WitnetRequestBoard\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"details\":\"Witnet-aware contracts can inherit from this contract in order to interact with Witnet.\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_wrb\":\"The WitnetRequestBoard entry point address.\"}}},\"title\":\"The UsingWitnet contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"constructor\":{\"notice\":\"Include an address to specify the WitnetRequestBoard entry point address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/UsingWitnet.sol\":\"UsingWitnet\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/UsingWitnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./WitnetRequestBoard.sol\\\";\\n\\n/// @title The UsingWitnet contract\\n/// @dev Witnet-aware contracts can inherit from this contract in order to interact with Witnet.\\n/// @author The Witnet Foundation.\\nabstract contract UsingWitnet {\\n\\n    WitnetRequestBoard public immutable witnet;\\n\\n    /// Include an address to specify the WitnetRequestBoard entry point address.\\n    /// @param _wrb The WitnetRequestBoard entry point address.\\n    constructor(WitnetRequestBoard _wrb)\\n    {\\n        require(address(_wrb) != address(0), \\\"UsingWitnet: zero address\\\");\\n        witnet = _wrb;\\n    }\\n\\n    /// Provides a convenient way for client contracts extending this to block the execution of the main logic of the\\n    /// contract until a particular request has been successfully solved and reported by Witnet.\\n    modifier witnetRequestSolved(uint256 _id) {\\n        require(\\n                _witnetCheckResultAvailability(_id),\\n                \\\"UsingWitnet: request not solved\\\"\\n            );\\n        _;\\n    }\\n\\n    /// Check if a data request has been solved and reported by Witnet.\\n    /// @dev Contracts depending on Witnet should not start their main business logic (e.g. receiving value from third.\\n    /// parties) before this method returns `true`.\\n    /// @param _id The unique identifier of a previously posted data request.\\n    /// @return A boolean telling if the request has been already resolved or not. Returns `false` also, if the result was deleted.\\n    function _witnetCheckResultAvailability(uint256 _id)\\n        internal view\\n        virtual\\n        returns (bool)\\n    {\\n        return witnet.getQueryStatus(_id) == Witnet.QueryStatus.Reported;\\n    }\\n\\n    /// Estimate the reward amount.\\n    /// @param _gasPrice The gas price for which we want to retrieve the estimation.\\n    /// @return The reward to be included when either posting a new request, or upgrading the reward of a previously posted one.\\n    function _witnetEstimateReward(uint256 _gasPrice)\\n        internal view\\n        virtual\\n        returns (uint256)\\n    {\\n        return witnet.estimateReward(_gasPrice);\\n    }\\n\\n    /// Estimates the reward amount, considering current transaction gas price.\\n    /// @return The reward to be included when either posting a new request, or upgrading the reward of a previously posted one.\\n    function _witnetEstimateReward()\\n        internal view\\n        virtual\\n        returns (uint256)\\n    {\\n        return witnet.estimateReward(tx.gasprice);\\n    }\\n\\n    /// Send a new request to the Witnet network with transaction value as a reward.\\n    /// @param _request An instance of `IWitnetRequest` contract.\\n    /// @return _id Sequential identifier for the request included in the WitnetRequestBoard.\\n    /// @return _reward Current reward amount escrowed by the WRB until a result gets reported.\\n    function _witnetPostRequest(IWitnetRequest _request)\\n        internal\\n        virtual\\n        returns (uint256 _id, uint256 _reward)\\n    {\\n        _reward = _witnetEstimateReward();\\n        require(\\n            _reward <= msg.value,\\n            \\\"UsingWitnet: reward too low\\\"\\n        );\\n        _id = witnet.postRequest{value: _reward}(_request);\\n    }\\n\\n    /// Upgrade the reward for a previously posted request.\\n    /// @dev Call to `upgradeReward` function in the WitnetRequestBoard contract.\\n    /// @param _id The unique identifier of a request that has been previously sent to the WitnetRequestBoard.\\n    /// @return Amount in which the reward has been increased.\\n    function _witnetUpgradeReward(uint256 _id)\\n        internal\\n        virtual\\n        returns (uint256)\\n    {\\n        uint256 _currentReward = witnet.readRequestReward(_id);        \\n        uint256 _newReward = _witnetEstimateReward();\\n        uint256 _fundsToAdd = 0;\\n        if (_newReward > _currentReward) {\\n            _fundsToAdd = (_newReward - _currentReward);\\n        }\\n        witnet.upgradeReward{value: _fundsToAdd}(_id); // Let Request.gasPrice be updated\\n        return _fundsToAdd;\\n    }\\n\\n    /// Read the Witnet-provided result to a previously posted request.\\n    /// @param _id The unique identifier of a request that was posted to Witnet.\\n    /// @return The result of the request as an instance of `Witnet.Result`.\\n    function _witnetReadResult(uint256 _id)\\n        internal view\\n        virtual\\n        returns (Witnet.Result memory)\\n    {\\n        return witnet.readResponseResult(_id);\\n    }\\n\\n    /// Retrieves copy of all response data related to a previously posted request, removing the whole query from storage.\\n    /// @param _id The unique identifier of a previously posted request.\\n    /// @return The Witnet-provided result to the request.\\n    function _witnetDeleteQuery(uint256 _id)\\n        internal\\n        virtual\\n        returns (Witnet.Response memory)\\n    {\\n        return witnet.deleteQuery(_id);\\n    }\\n\\n}\\n\",\"keccak256\":\"0x197b4fcecea2958249928d85183e3c9e094bff8c2f4dab29ef13361683c576bd\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/WitnetRequestBoard.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./interfaces/IWitnetRequestBoardEvents.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardReporter.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardRequestor.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardView.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestParser.sol\\\";\\n\\n/// @title Witnet Request Board functionality base contract.\\n/// @author The Witnet Foundation.\\nabstract contract WitnetRequestBoard is\\n    IWitnetRequestBoardEvents,\\n    IWitnetRequestBoardReporter,\\n    IWitnetRequestBoardRequestor,\\n    IWitnetRequestBoardView,\\n    IWitnetRequestParser\\n{\\n    receive() external payable {\\n        revert(\\\"WitnetRequestBoard: no transfers accepted\\\");\\n    }\\n}\\n\",\"keccak256\":\"0xb04deadd6e24568accfcbb7b76f1c03cb925933aee189115b5b23badc5b6e9ab\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardEvents.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title Witnet Request Board emitting events interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardEvents {\\n    /// Emitted when a Witnet Data Request is posted to the WRB.\\n    event PostedRequest(uint256 queryId, address from);\\n\\n    /// Emitted when a Witnet-solved result is reported to the WRB.\\n    event PostedResult(uint256 queryId, address from);\\n\\n    /// Emitted when all data related to given query is deleted from the WRB.\\n    event DeletedQuery(uint256 queryId, address from);\\n}\\n\",\"keccak256\":\"0xe2cb1369ba158db394c0380231f99174a88d62a66b0e7f8be14179b8c2fbd12f\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardReporter.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Request Board Reporter interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardReporter {\\n    /// Reports the Witnet-provided result to a previously posted request. \\n    /// @dev Will assume `block.timestamp` as the timestamp at which the request was solved.\\n    /// @dev Fails if:\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique identifier of the data request.\\n    /// @param _drTxHash The hash of the corresponding data request transaction in Witnet.\\n    /// @param _result The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            bytes32 _drTxHash,\\n            bytes calldata _result\\n        ) external;\\n\\n    /// Reports the Witnet-provided result to a previously posted request.\\n    /// @dev Fails if:\\n    /// @dev - called from unauthorized address;\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique query identifier\\n    /// @param _timestamp The timestamp of the solving tally transaction in Witnet.\\n    /// @param _drTxHash The hash of the corresponding data request transaction in Witnet.\\n    /// @param _result The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            uint256 _timestamp,\\n            bytes32 _drTxHash,\\n            bytes calldata _result\\n        ) external;\\n\\n    /// Reports Witnet-provided results to multiple requests within a single EVM tx.\\n    /// @dev Must emit a PostedResult event for every succesfully reported result.\\n    /// @param _batchResults Array of BatchResult structs, every one containing:\\n    ///         - unique query identifier;\\n    ///         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;\\n    ///         - hash of the corresponding data request tx at the Witnet side-chain level;\\n    ///         - data request result in raw bytes.\\n    /// @param _verbose If true, must emit a BatchReportError event for every failing report, if any. \\n    function reportResultBatch(BatchResult[] calldata _batchResults, bool _verbose) external;\\n        \\n        struct BatchResult {\\n            uint256 queryId;\\n            uint256 timestamp;\\n            bytes32 drTxHash;\\n            bytes   cborBytes;\\n        }\\n\\n        event BatchReportError(uint256 queryId, string reason);\\n}\\n\",\"keccak256\":\"0x70655a9a394143ac1f03477a2cca5e2d1773523832bf127b9e9971596c105812\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardRequestor.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Requestor Interface\\n/// @notice It defines how to interact with the Witnet Request Board in order to:\\n///   - request the execution of Witnet Radon scripts (data request);\\n///   - upgrade the resolution reward of any previously posted request, in case gas price raises in mainnet;\\n///   - read the result of any previously posted request, eventually reported by the Witnet DON.\\n///   - remove from storage all data related to past and solved data requests, and results.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardRequestor {\\n    /// Retrieves a copy of all Witnet-provided data related to a previously posted request, removing the whole query from the WRB storage.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status, or called from an address different to\\n    /// @dev the one that actually posted the given request.\\n    /// @param _queryId The unique query identifier.\\n    function deleteQuery(uint256 _queryId) external returns (Witnet.Response memory);\\n\\n    /// Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON.\\n    /// A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided \\n    /// result to this request.\\n    /// @dev Fails if:\\n    /// @dev - provided reward is too low.\\n    /// @dev - provided script is zero address.\\n    /// @dev - provided script bytecode is empty.\\n    /// @param _addr The address of the IWitnetRequest contract that can provide the actual Data Request bytecode.\\n    /// @return _queryId An unique query identifier.\\n    function postRequest(IWitnetRequest _addr) external payable returns (uint256 _queryId);\\n\\n    /// Increments the reward of a previously posted request by adding the transaction value to it.\\n    /// @dev Updates request `gasPrice` in case this method is called with a higher \\n    /// @dev gas price value than the one used in previous calls to `postRequest` or\\n    /// @dev `upgradeReward`. \\n    /// @dev Fails if the `_queryId` is not in 'Posted' status.\\n    /// @dev Fails also in case the request `gasPrice` is increased, and the new \\n    /// @dev reward value gets below new recalculated threshold. \\n    /// @param _queryId The unique query identifier.\\n    function upgradeReward(uint256 _queryId) external payable;\\n}\\n\",\"keccak256\":\"0x7c7a991de5f087102b1931d5d8b2e3716d7a90354b3cbafef95d2509a0643453\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardView.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Request Board info interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardView {\\n    /// Estimates the amount of reward we need to insert for a given gas price.\\n    /// @param _gasPrice The gas price for which we need to calculate the rewards.\\n    function estimateReward(uint256 _gasPrice) external view returns (uint256);\\n\\n    /// Returns next query id to be generated by the Witnet Request Board.\\n    function getNextQueryId() external view returns (uint256);\\n\\n    /// Gets the whole Query data contents, if any, no matter its current status.\\n    function getQueryData(uint256 _queryId) external view returns (Witnet.Query memory);\\n\\n    /// Gets current status of given query.\\n    function getQueryStatus(uint256 _queryId) external view returns (Witnet.QueryStatus);\\n\\n    /// Retrieves the whole Request record posted to the Witnet Request Board.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been reported\\n    /// @dev or deleted.\\n    /// @param _queryId The unique identifier of a previously posted query.\\n    function readRequest(uint256 _queryId) external view returns (Witnet.Request memory);\\n\\n    /// Retrieves the serialized bytecode of a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not valid, or if the related script bytecode \\n    /// @dev got changed after being posted. Returns empty array once it gets reported, \\n    /// @dev or deleted.\\n    /// @param _queryId The unique query identifier.\\n    function readRequestBytecode(uint256 _queryId) external view returns (bytes memory);\\n\\n    /// Retrieves the gas price that any assigned reporter will have to pay when reporting \\n    /// result to a previously posted Witnet data request.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifie\\n    function readRequestGasPrice(uint256 _queryId) external view returns (uint256);\\n\\n    /// Retrieves the reward currently set for the referred query.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifier.\\n    function readRequestReward(uint256 _queryId) external view returns (uint256);\\n\\n    /// Retrieves the whole `Witnet.Response` record referred to a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponse(uint256 _queryId) external view returns (Witnet.Response memory);\\n\\n    /// Retrieves the hash of the Witnet transaction hash that actually solved the referred query.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseDrTxHash(uint256 _queryId) external view returns (bytes32);    \\n\\n    /// Retrieves the address that reported the result to a previously-posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseReporter(uint256 _queryId) external view returns (address);\\n\\n    /// Retrieves the Witnet-provided CBOR-bytes result of a previously posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseResult(uint256 _queryId) external view returns (Witnet.Result memory);\\n\\n    /// Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseTimestamp(uint256 _queryId) external view returns (uint256);\\n}\\n\",\"keccak256\":\"0x782ec2ff166948f5d097765c0190b352793d8b8887af5f8384d875d63cff4e9b\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestParser.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title The Witnet interface for decoding Witnet-provided request to Data Requests.\\n/// This interface exposes functions to check for the success/failure of\\n/// a Witnet-provided result, as well as to parse and convert result into\\n/// Solidity types suitable to the application level. \\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestParser {\\n\\n    /// Decode raw CBOR bytes into a Witnet.Result instance.\\n    /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborBytes(bytes memory _cborBytes) external pure returns (Witnet.Result memory);\\n\\n    /// Decode a CBOR value into a Witnet.Result instance.\\n    /// @param _cborValue An instance of `Witnet.CBOR`.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborValue(Witnet.CBOR memory _cborValue) external pure returns (Witnet.Result memory);\\n\\n    /// Tell if a Witnet.Result is successful.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if successful, `false` if errored.\\n    function isOk(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Tell if a Witnet.Result is errored.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if errored, `false` if successful.\\n    function isError(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes` decoded from the Witnet.Result.\\n    function asBytes(Witnet.Result memory _result) external pure returns (bytes memory);\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes32` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes32` decoded from the Witnet.Result.\\n    function asBytes32(Witnet.Result memory _result) external pure returns (bytes32);\\n\\n    /// Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `CBORValue.Error memory` decoded from the Witnet.Result.\\n    function asErrorCode(Witnet.Result memory _result) external pure returns (Witnet.ErrorCodes);\\n\\n\\n    /// Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\\n    /// @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\\n    function asErrorMessage(Witnet.Result memory _result) external pure returns (Witnet.ErrorCodes, string memory);\\n\\n    /// Decode a raw error from a `Witnet.Result` as a `uint64[]`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `uint64[]` raw error as decoded from the `Witnet.Result`.\\n    function asRawError(Witnet.Result memory _result) external pure returns(uint64[] memory);\\n\\n    /// Decode a boolean value from a Witnet.Result as an `bool` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bool` decoded from the Witnet.Result.\\n    function asBool(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\\n    /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\\n    /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\\n    /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asFixed16(Witnet.Result memory _result) external pure returns (int32);\\n\\n    /// Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asFixed16Array(Witnet.Result memory _result) external pure returns (int32[] memory);\\n\\n    /// Decode a integer numeric value from a Witnet.Result as an `int128` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asInt128(Witnet.Result memory _result) external pure returns (int128);\\n\\n    /// Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asInt128Array(Witnet.Result memory _result) external pure returns (int128[] memory);\\n\\n    /// Decode a string value from a Witnet.Result as a `string` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string` decoded from the Witnet.Result.\\n    function asString(Witnet.Result memory _result) external pure returns (string memory);\\n\\n    /// Decode an array of string values from a Witnet.Result as a `string[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string[]` decoded from the Witnet.Result.\\n    function asStringArray(Witnet.Result memory _result) external pure returns (string[] memory);\\n\\n    /// Decode a natural numeric value from a Witnet.Result as a `uint64` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64` decoded from the Witnet.Result.\\n    function asUint64(Witnet.Result memory _result) external pure returns(uint64);\\n\\n    /// Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64[]` decoded from the Witnet.Result.\\n    function asUint64Array(Witnet.Result memory _result) external pure returns (uint64[] memory);\\n\\n}\\n\",\"keccak256\":\"0xe7c24475babac7d21172d37d976a97b81053739e81b4697be39decfe2aa90945\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{"constructor":{"notice":"Include an address to specify the WitnetRequestBoard entry point address."}},"version":1}}},"witnet-solidity-bridge/contracts/WitnetRequestBoard.sol":{"WitnetRequestBoard":{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"queryId","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"BatchReportError","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"queryId","type":"uint256"},{"indexed":false,"internalType":"address","name":"from","type":"address"}],"name":"DeletedQuery","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"queryId","type":"uint256"},{"indexed":false,"internalType":"address","name":"from","type":"address"}],"name":"PostedRequest","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"queryId","type":"uint256"},{"indexed":false,"internalType":"address","name":"from","type":"address"}],"name":"PostedResult","type":"event"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asBool","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asBytes32","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asErrorCode","outputs":[{"internalType":"enum Witnet.ErrorCodes","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asErrorMessage","outputs":[{"internalType":"enum Witnet.ErrorCodes","name":"","type":"uint8"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asFixed16","outputs":[{"internalType":"int32","name":"","type":"int32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asFixed16Array","outputs":[{"internalType":"int32[]","name":"","type":"int32[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asInt128","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asInt128Array","outputs":[{"internalType":"int128[]","name":"","type":"int128[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asRawError","outputs":[{"internalType":"uint64[]","name":"","type":"uint64[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asString","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asStringArray","outputs":[{"internalType":"string[]","name":"","type":"string[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asUint64","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asUint64Array","outputs":[{"internalType":"uint64[]","name":"","type":"uint64[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"deleteQuery","outputs":[{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct Witnet.Response","name":"","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_gasPrice","type":"uint256"}],"name":"estimateReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNextQueryId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryData","outputs":[{"components":[{"components":[{"internalType":"contract IWitnetRequest","name":"addr","type":"address"},{"internalType":"address","name":"requester","type":"address"},{"internalType":"bytes32","name":"hash","type":"bytes32"},{"internalType":"uint256","name":"gasprice","type":"uint256"},{"internalType":"uint256","name":"reward","type":"uint256"}],"internalType":"struct Witnet.Request","name":"request","type":"tuple"},{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct Witnet.Response","name":"response","type":"tuple"},{"internalType":"address","name":"from","type":"address"}],"internalType":"struct Witnet.Query","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryStatus","outputs":[{"internalType":"enum Witnet.QueryStatus","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"isError","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"isOk","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"contract IWitnetRequest","name":"_addr","type":"address"}],"name":"postRequest","outputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readRequest","outputs":[{"components":[{"internalType":"contract IWitnetRequest","name":"addr","type":"address"},{"internalType":"address","name":"requester","type":"address"},{"internalType":"bytes32","name":"hash","type":"bytes32"},{"internalType":"uint256","name":"gasprice","type":"uint256"},{"internalType":"uint256","name":"reward","type":"uint256"}],"internalType":"struct Witnet.Request","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readRequestBytecode","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readRequestGasPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readRequestReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponse","outputs":[{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct Witnet.Response","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponseDrTxHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponseReporter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponseResult","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponseTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"},{"internalType":"bytes32","name":"_drTxHash","type":"bytes32"},{"internalType":"bytes","name":"_result","type":"bytes"}],"name":"reportResult","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"},{"internalType":"uint256","name":"_timestamp","type":"uint256"},{"internalType":"bytes32","name":"_drTxHash","type":"bytes32"},{"internalType":"bytes","name":"_result","type":"bytes"}],"name":"reportResult","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"queryId","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct IWitnetRequestBoardReporter.BatchResult[]","name":"_batchResults","type":"tuple[]"},{"internalType":"bool","name":"_verbose","type":"bool"}],"name":"reportResultBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_cborBytes","type":"bytes"}],"name":"resultFromCborBytes","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"","type":"tuple"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"_cborValue","type":"tuple"}],"name":"resultFromCborValue","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"","type":"tuple"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"upgradeReward","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}],"devdoc":{"author":"The Witnet Foundation.","kind":"dev","methods":{"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `bool` decoded from the Witnet.Result."}},"asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `bytes` decoded from the Witnet.Result."}},"asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `bytes32` decoded from the Witnet.Result."}},"asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of `Witnet.Result`."},"returns":{"_0":"The `CBORValue.Error memory` decoded from the Witnet.Result."}},"asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"details":"WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function","params":{"_result":"An instance of `Witnet.Result`."},"returns":{"_0":"A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message."}},"asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"details":"Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values. by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`. use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.","params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128` decoded from the Witnet.Result."}},"asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128[]` decoded from the Witnet.Result."}},"asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128` decoded from the Witnet.Result."}},"asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128[]` decoded from the Witnet.Result."}},"asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of `Witnet.Result`."},"returns":{"_0":"The `uint64[]` raw error as decoded from the `Witnet.Result`."}},"asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `string` decoded from the Witnet.Result."}},"asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `string[]` decoded from the Witnet.Result."}},"asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `uint64` decoded from the Witnet.Result."}},"asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `uint64[]` decoded from the Witnet.Result."}},"deleteQuery(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status, or called from an address different tothe one that actually posted the given request.","params":{"_queryId":"The unique query identifier."}},"estimateReward(uint256)":{"params":{"_gasPrice":"The gas price for which we need to calculate the rewards."}},"isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"`true` if errored, `false` if successful."}},"isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"`true` if successful, `false` if errored."}},"postRequest(address)":{"details":"Fails if:- provided reward is too low.- provided script is zero address.- provided script bytecode is empty.","params":{"_addr":"The address of the IWitnetRequest contract that can provide the actual Data Request bytecode."},"returns":{"_queryId":"An unique query identifier."}},"readRequest(uint256)":{"details":"Fails if the `_queryId` is not valid or, if it has already been reportedor deleted.","params":{"_queryId":"The unique identifier of a previously posted query."}},"readRequestBytecode(uint256)":{"details":"Fails if the `_queryId` is not valid, or if the related script bytecode got changed after being posted. Returns empty array once it gets reported, or deleted.","params":{"_queryId":"The unique query identifier."}},"readRequestGasPrice(uint256)":{"details":"Fails if the `_queryId` is not valid or, if it has already been reported, or deleted. ","params":{"_queryId":"The unique query identifie"}},"readRequestReward(uint256)":{"details":"Fails if the `_queryId` is not valid or, if it has already been reported, or deleted. ","params":{"_queryId":"The unique query identifier."}},"readResponse(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier."}},"readResponseDrTxHash(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier."}},"readResponseReporter(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier."}},"readResponseResult(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier."}},"readResponseTimestamp(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier."}},"reportResult(uint256,bytes32,bytes)":{"details":"Will assume `block.timestamp` as the timestamp at which the request was solved.Fails if:- the `_queryId` is not in 'Posted' status.- provided `_drTxHash` is zero;- length of provided `_result` is zero.","params":{"_drTxHash":"The hash of the corresponding data request transaction in Witnet.","_queryId":"The unique identifier of the data request.","_result":"The result itself as bytes."}},"reportResult(uint256,uint256,bytes32,bytes)":{"details":"Fails if:- called from unauthorized address;- the `_queryId` is not in 'Posted' status.- provided `_drTxHash` is zero;- length of provided `_result` is zero.","params":{"_drTxHash":"The hash of the corresponding data request transaction in Witnet.","_queryId":"The unique query identifier","_result":"The result itself as bytes.","_timestamp":"The timestamp of the solving tally transaction in Witnet."}},"reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)":{"details":"Must emit a PostedResult event for every succesfully reported result.","params":{"_batchResults":"Array of BatchResult structs, every one containing:         - unique query identifier;         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;         - hash of the corresponding data request tx at the Witnet side-chain level;         - data request result in raw bytes.","_verbose":"If true, must emit a BatchReportError event for every failing report, if any. "}},"resultFromCborBytes(bytes)":{"params":{"_cborBytes":"Raw bytes representing a CBOR-encoded value."},"returns":{"_0":"A `Witnet.Result` instance."}},"resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))":{"params":{"_cborValue":"An instance of `Witnet.CBOR`."},"returns":{"_0":"A `Witnet.Result` instance."}},"upgradeReward(uint256)":{"details":"Updates request `gasPrice` in case this method is called with a higher gas price value than the one used in previous calls to `postRequest` or`upgradeReward`. Fails if the `_queryId` is not in 'Posted' status.Fails also in case the request `gasPrice` is increased, and the new reward value gets below new recalculated threshold. ","params":{"_queryId":"The unique query identifier."}}},"title":"Witnet Request Board functionality base contract.","version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"d4ced132","asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"c683b465","asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"cf62d115","asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"db04f16d","asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"d74803be","asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"2241f2db","asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"0f572d2c","asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"2b905fbb","asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"07e66852","asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"b0768328","asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"109a0e3c","asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"c87d969e","asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"bc7e25ff","asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"4dcffaf3","deleteQuery(uint256)":"7c1fbda3","estimateReward(uint256)":"d2e87561","getNextQueryId()":"c805dd0f","getQueryData(uint256)":"c2485ebd","getQueryStatus(uint256)":"6f07abcc","isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"7780cde1","isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"a8604c1a","postRequest(address)":"b281a7bd","readRequest(uint256)":"99f65804","readRequestBytecode(uint256)":"3b885f2a","readRequestGasPrice(uint256)":"3ae97295","readRequestReward(uint256)":"1dd27daf","readResponse(uint256)":"754e5bea","readResponseDrTxHash(uint256)":"dc3c71cd","readResponseReporter(uint256)":"9d96fced","readResponseResult(uint256)":"d4da69ac","readResponseTimestamp(uint256)":"20f9241e","reportResult(uint256,bytes32,bytes)":"6280bce8","reportResult(uint256,uint256,bytes32,bytes)":"c8f5cdd5","reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)":"81a398b5","resultFromCborBytes(bytes)":"e99e47f3","resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))":"2565082b","upgradeReward(uint256)":"66bfdc75"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"BatchReportError\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"DeletedQuery\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"PostedRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"PostedResult\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asErrorCode\",\"outputs\":[{\"internalType\":\"enum Witnet.ErrorCodes\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asErrorMessage\",\"outputs\":[{\"internalType\":\"enum Witnet.ErrorCodes\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asFixed16\",\"outputs\":[{\"internalType\":\"int32\",\"name\":\"\",\"type\":\"int32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asFixed16Array\",\"outputs\":[{\"internalType\":\"int32[]\",\"name\":\"\",\"type\":\"int32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asInt128\",\"outputs\":[{\"internalType\":\"int128\",\"name\":\"\",\"type\":\"int128\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asInt128Array\",\"outputs\":[{\"internalType\":\"int128[]\",\"name\":\"\",\"type\":\"int128[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asRawError\",\"outputs\":[{\"internalType\":\"uint64[]\",\"name\":\"\",\"type\":\"uint64[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asUint64\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asUint64Array\",\"outputs\":[{\"internalType\":\"uint64[]\",\"name\":\"\",\"type\":\"uint64[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"deleteQuery\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.Response\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_gasPrice\",\"type\":\"uint256\"}],\"name\":\"estimateReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNextQueryId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryData\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"contract IWitnetRequest\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"gasprice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"}],\"internalType\":\"struct Witnet.Request\",\"name\":\"request\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.Response\",\"name\":\"response\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"internalType\":\"struct Witnet.Query\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryStatus\",\"outputs\":[{\"internalType\":\"enum Witnet.QueryStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"isError\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"isOk\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IWitnetRequest\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"postRequest\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readRequest\",\"outputs\":[{\"components\":[{\"internalType\":\"contract IWitnetRequest\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"gasprice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"}],\"internalType\":\"struct Witnet.Request\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readRequestBytecode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readRequestGasPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readRequestReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponse\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.Response\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponseDrTxHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponseReporter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponseResult\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponseTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_result\",\"type\":\"bytes\"}],\"name\":\"reportResult\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_result\",\"type\":\"bytes\"}],\"name\":\"reportResult\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct IWitnetRequestBoardReporter.BatchResult[]\",\"name\":\"_batchResults\",\"type\":\"tuple[]\"},{\"internalType\":\"bool\",\"name\":\"_verbose\",\"type\":\"bool\"}],\"name\":\"reportResultBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_cborBytes\",\"type\":\"bytes\"}],\"name\":\"resultFromCborBytes\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"_cborValue\",\"type\":\"tuple\"}],\"name\":\"resultFromCborValue\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"upgradeReward\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"kind\":\"dev\",\"methods\":{\"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `bool` decoded from the Witnet.Result.\"}},\"asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `bytes` decoded from the Witnet.Result.\"}},\"asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `bytes32` decoded from the Witnet.Result.\"}},\"asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of `Witnet.Result`.\"},\"returns\":{\"_0\":\"The `CBORValue.Error memory` decoded from the Witnet.Result.\"}},\"asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"details\":\"WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\",\"params\":{\"_result\":\"An instance of `Witnet.Result`.\"},\"returns\":{\"_0\":\"A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\"}},\"asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"details\":\"Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values. by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`. use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\",\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128` decoded from the Witnet.Result.\"}},\"asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128[]` decoded from the Witnet.Result.\"}},\"asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128` decoded from the Witnet.Result.\"}},\"asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128[]` decoded from the Witnet.Result.\"}},\"asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of `Witnet.Result`.\"},\"returns\":{\"_0\":\"The `uint64[]` raw error as decoded from the `Witnet.Result`.\"}},\"asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `string` decoded from the Witnet.Result.\"}},\"asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `string[]` decoded from the Witnet.Result.\"}},\"asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `uint64` decoded from the Witnet.Result.\"}},\"asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `uint64[]` decoded from the Witnet.Result.\"}},\"deleteQuery(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status, or called from an address different tothe one that actually posted the given request.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"estimateReward(uint256)\":{\"params\":{\"_gasPrice\":\"The gas price for which we need to calculate the rewards.\"}},\"isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"`true` if errored, `false` if successful.\"}},\"isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"`true` if successful, `false` if errored.\"}},\"postRequest(address)\":{\"details\":\"Fails if:- provided reward is too low.- provided script is zero address.- provided script bytecode is empty.\",\"params\":{\"_addr\":\"The address of the IWitnetRequest contract that can provide the actual Data Request bytecode.\"},\"returns\":{\"_queryId\":\"An unique query identifier.\"}},\"readRequest(uint256)\":{\"details\":\"Fails if the `_queryId` is not valid or, if it has already been reportedor deleted.\",\"params\":{\"_queryId\":\"The unique identifier of a previously posted query.\"}},\"readRequestBytecode(uint256)\":{\"details\":\"Fails if the `_queryId` is not valid, or if the related script bytecode got changed after being posted. Returns empty array once it gets reported, or deleted.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"readRequestGasPrice(uint256)\":{\"details\":\"Fails if the `_queryId` is not valid or, if it has already been reported, or deleted. \",\"params\":{\"_queryId\":\"The unique query identifie\"}},\"readRequestReward(uint256)\":{\"details\":\"Fails if the `_queryId` is not valid or, if it has already been reported, or deleted. \",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"readResponse(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"readResponseDrTxHash(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"readResponseReporter(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"readResponseResult(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"readResponseTimestamp(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"reportResult(uint256,bytes32,bytes)\":{\"details\":\"Will assume `block.timestamp` as the timestamp at which the request was solved.Fails if:- the `_queryId` is not in 'Posted' status.- provided `_drTxHash` is zero;- length of provided `_result` is zero.\",\"params\":{\"_drTxHash\":\"The hash of the corresponding data request transaction in Witnet.\",\"_queryId\":\"The unique identifier of the data request.\",\"_result\":\"The result itself as bytes.\"}},\"reportResult(uint256,uint256,bytes32,bytes)\":{\"details\":\"Fails if:- called from unauthorized address;- the `_queryId` is not in 'Posted' status.- provided `_drTxHash` is zero;- length of provided `_result` is zero.\",\"params\":{\"_drTxHash\":\"The hash of the corresponding data request transaction in Witnet.\",\"_queryId\":\"The unique query identifier\",\"_result\":\"The result itself as bytes.\",\"_timestamp\":\"The timestamp of the solving tally transaction in Witnet.\"}},\"reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)\":{\"details\":\"Must emit a PostedResult event for every succesfully reported result.\",\"params\":{\"_batchResults\":\"Array of BatchResult structs, every one containing:         - unique query identifier;         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;         - hash of the corresponding data request tx at the Witnet side-chain level;         - data request result in raw bytes.\",\"_verbose\":\"If true, must emit a BatchReportError event for every failing report, if any. \"}},\"resultFromCborBytes(bytes)\":{\"params\":{\"_cborBytes\":\"Raw bytes representing a CBOR-encoded value.\"},\"returns\":{\"_0\":\"A `Witnet.Result` instance.\"}},\"resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))\":{\"params\":{\"_cborValue\":\"An instance of `Witnet.CBOR`.\"},\"returns\":{\"_0\":\"A `Witnet.Result` instance.\"}},\"upgradeReward(uint256)\":{\"details\":\"Updates request `gasPrice` in case this method is called with a higher gas price value than the one used in previous calls to `postRequest` or`upgradeReward`. Fails if the `_queryId` is not in 'Posted' status.Fails also in case the request `gasPrice` is increased, and the new reward value gets below new recalculated threshold. \",\"params\":{\"_queryId\":\"The unique query identifier.\"}}},\"title\":\"Witnet Request Board functionality base contract.\",\"version\":1},\"userdoc\":{\"events\":{\"DeletedQuery(uint256,address)\":{\"notice\":\"Emitted when all data related to given query is deleted from the WRB.\"},\"PostedRequest(uint256,address)\":{\"notice\":\"Emitted when a Witnet Data Request is posted to the WRB.\"},\"PostedResult(uint256,address)\":{\"notice\":\"Emitted when a Witnet-solved result is reported to the WRB.\"}},\"kind\":\"user\",\"methods\":{\"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a boolean value from a Witnet.Result as an `bool` value.\"},\"asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a bytes value from a Witnet.Result as a `bytes` value.\"},\"asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a bytes value from a Witnet.Result as a `bytes32` value.\"},\"asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\"},\"asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\"},\"asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\"},\"asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\"},\"asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a integer numeric value from a Witnet.Result as an `int128` value.\"},\"asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\"},\"asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a raw error from a `Witnet.Result` as a `uint64[]`.\"},\"asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a string value from a Witnet.Result as a `string` value.\"},\"asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an array of string values from a Witnet.Result as a `string[]` value.\"},\"asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a natural numeric value from a Witnet.Result as a `uint64` value.\"},\"asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\"},\"deleteQuery(uint256)\":{\"notice\":\"Retrieves a copy of all Witnet-provided data related to a previously posted request, removing the whole query from the WRB storage.\"},\"estimateReward(uint256)\":{\"notice\":\"Estimates the amount of reward we need to insert for a given gas price.\"},\"getNextQueryId()\":{\"notice\":\"Returns next query id to be generated by the Witnet Request Board.\"},\"getQueryData(uint256)\":{\"notice\":\"Gets the whole Query data contents, if any, no matter its current status.\"},\"getQueryStatus(uint256)\":{\"notice\":\"Gets current status of given query.\"},\"isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Tell if a Witnet.Result is errored.\"},\"isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Tell if a Witnet.Result is successful.\"},\"postRequest(address)\":{\"notice\":\"Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided  result to this request.\"},\"readRequest(uint256)\":{\"notice\":\"Retrieves the whole Request record posted to the Witnet Request Board.\"},\"readRequestBytecode(uint256)\":{\"notice\":\"Retrieves the serialized bytecode of a previously posted Witnet Data Request.\"},\"readRequestGasPrice(uint256)\":{\"notice\":\"Retrieves the gas price that any assigned reporter will have to pay when reporting  result to a previously posted Witnet data request.\"},\"readRequestReward(uint256)\":{\"notice\":\"Retrieves the reward currently set for the referred query.\"},\"readResponse(uint256)\":{\"notice\":\"Retrieves the whole `Witnet.Response` record referred to a previously posted Witnet Data Request.\"},\"readResponseDrTxHash(uint256)\":{\"notice\":\"Retrieves the hash of the Witnet transaction hash that actually solved the referred query.\"},\"readResponseReporter(uint256)\":{\"notice\":\"Retrieves the address that reported the result to a previously-posted request.\"},\"readResponseResult(uint256)\":{\"notice\":\"Retrieves the Witnet-provided CBOR-bytes result of a previously posted request.\"},\"readResponseTimestamp(uint256)\":{\"notice\":\"Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON.\"},\"reportResult(uint256,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provided result to a previously posted request. \"},\"reportResult(uint256,uint256,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provided result to a previously posted request.\"},\"reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)\":{\"notice\":\"Reports Witnet-provided results to multiple requests within a single EVM tx.\"},\"resultFromCborBytes(bytes)\":{\"notice\":\"Decode raw CBOR bytes into a Witnet.Result instance.\"},\"resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))\":{\"notice\":\"Decode a CBOR value into a Witnet.Result instance.\"},\"upgradeReward(uint256)\":{\"notice\":\"Increments the reward of a previously posted request by adding the transaction value to it.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/WitnetRequestBoard.sol\":\"WitnetRequestBoard\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/WitnetRequestBoard.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./interfaces/IWitnetRequestBoardEvents.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardReporter.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardRequestor.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardView.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestParser.sol\\\";\\n\\n/// @title Witnet Request Board functionality base contract.\\n/// @author The Witnet Foundation.\\nabstract contract WitnetRequestBoard is\\n    IWitnetRequestBoardEvents,\\n    IWitnetRequestBoardReporter,\\n    IWitnetRequestBoardRequestor,\\n    IWitnetRequestBoardView,\\n    IWitnetRequestParser\\n{\\n    receive() external payable {\\n        revert(\\\"WitnetRequestBoard: no transfers accepted\\\");\\n    }\\n}\\n\",\"keccak256\":\"0xb04deadd6e24568accfcbb7b76f1c03cb925933aee189115b5b23badc5b6e9ab\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardEvents.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title Witnet Request Board emitting events interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardEvents {\\n    /// Emitted when a Witnet Data Request is posted to the WRB.\\n    event PostedRequest(uint256 queryId, address from);\\n\\n    /// Emitted when a Witnet-solved result is reported to the WRB.\\n    event PostedResult(uint256 queryId, address from);\\n\\n    /// Emitted when all data related to given query is deleted from the WRB.\\n    event DeletedQuery(uint256 queryId, address from);\\n}\\n\",\"keccak256\":\"0xe2cb1369ba158db394c0380231f99174a88d62a66b0e7f8be14179b8c2fbd12f\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardReporter.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Request Board Reporter interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardReporter {\\n    /// Reports the Witnet-provided result to a previously posted request. \\n    /// @dev Will assume `block.timestamp` as the timestamp at which the request was solved.\\n    /// @dev Fails if:\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique identifier of the data request.\\n    /// @param _drTxHash The hash of the corresponding data request transaction in Witnet.\\n    /// @param _result The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            bytes32 _drTxHash,\\n            bytes calldata _result\\n        ) external;\\n\\n    /// Reports the Witnet-provided result to a previously posted request.\\n    /// @dev Fails if:\\n    /// @dev - called from unauthorized address;\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique query identifier\\n    /// @param _timestamp The timestamp of the solving tally transaction in Witnet.\\n    /// @param _drTxHash The hash of the corresponding data request transaction in Witnet.\\n    /// @param _result The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            uint256 _timestamp,\\n            bytes32 _drTxHash,\\n            bytes calldata _result\\n        ) external;\\n\\n    /// Reports Witnet-provided results to multiple requests within a single EVM tx.\\n    /// @dev Must emit a PostedResult event for every succesfully reported result.\\n    /// @param _batchResults Array of BatchResult structs, every one containing:\\n    ///         - unique query identifier;\\n    ///         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;\\n    ///         - hash of the corresponding data request tx at the Witnet side-chain level;\\n    ///         - data request result in raw bytes.\\n    /// @param _verbose If true, must emit a BatchReportError event for every failing report, if any. \\n    function reportResultBatch(BatchResult[] calldata _batchResults, bool _verbose) external;\\n        \\n        struct BatchResult {\\n            uint256 queryId;\\n            uint256 timestamp;\\n            bytes32 drTxHash;\\n            bytes   cborBytes;\\n        }\\n\\n        event BatchReportError(uint256 queryId, string reason);\\n}\\n\",\"keccak256\":\"0x70655a9a394143ac1f03477a2cca5e2d1773523832bf127b9e9971596c105812\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardRequestor.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Requestor Interface\\n/// @notice It defines how to interact with the Witnet Request Board in order to:\\n///   - request the execution of Witnet Radon scripts (data request);\\n///   - upgrade the resolution reward of any previously posted request, in case gas price raises in mainnet;\\n///   - read the result of any previously posted request, eventually reported by the Witnet DON.\\n///   - remove from storage all data related to past and solved data requests, and results.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardRequestor {\\n    /// Retrieves a copy of all Witnet-provided data related to a previously posted request, removing the whole query from the WRB storage.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status, or called from an address different to\\n    /// @dev the one that actually posted the given request.\\n    /// @param _queryId The unique query identifier.\\n    function deleteQuery(uint256 _queryId) external returns (Witnet.Response memory);\\n\\n    /// Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON.\\n    /// A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided \\n    /// result to this request.\\n    /// @dev Fails if:\\n    /// @dev - provided reward is too low.\\n    /// @dev - provided script is zero address.\\n    /// @dev - provided script bytecode is empty.\\n    /// @param _addr The address of the IWitnetRequest contract that can provide the actual Data Request bytecode.\\n    /// @return _queryId An unique query identifier.\\n    function postRequest(IWitnetRequest _addr) external payable returns (uint256 _queryId);\\n\\n    /// Increments the reward of a previously posted request by adding the transaction value to it.\\n    /// @dev Updates request `gasPrice` in case this method is called with a higher \\n    /// @dev gas price value than the one used in previous calls to `postRequest` or\\n    /// @dev `upgradeReward`. \\n    /// @dev Fails if the `_queryId` is not in 'Posted' status.\\n    /// @dev Fails also in case the request `gasPrice` is increased, and the new \\n    /// @dev reward value gets below new recalculated threshold. \\n    /// @param _queryId The unique query identifier.\\n    function upgradeReward(uint256 _queryId) external payable;\\n}\\n\",\"keccak256\":\"0x7c7a991de5f087102b1931d5d8b2e3716d7a90354b3cbafef95d2509a0643453\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardView.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Request Board info interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardView {\\n    /// Estimates the amount of reward we need to insert for a given gas price.\\n    /// @param _gasPrice The gas price for which we need to calculate the rewards.\\n    function estimateReward(uint256 _gasPrice) external view returns (uint256);\\n\\n    /// Returns next query id to be generated by the Witnet Request Board.\\n    function getNextQueryId() external view returns (uint256);\\n\\n    /// Gets the whole Query data contents, if any, no matter its current status.\\n    function getQueryData(uint256 _queryId) external view returns (Witnet.Query memory);\\n\\n    /// Gets current status of given query.\\n    function getQueryStatus(uint256 _queryId) external view returns (Witnet.QueryStatus);\\n\\n    /// Retrieves the whole Request record posted to the Witnet Request Board.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been reported\\n    /// @dev or deleted.\\n    /// @param _queryId The unique identifier of a previously posted query.\\n    function readRequest(uint256 _queryId) external view returns (Witnet.Request memory);\\n\\n    /// Retrieves the serialized bytecode of a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not valid, or if the related script bytecode \\n    /// @dev got changed after being posted. Returns empty array once it gets reported, \\n    /// @dev or deleted.\\n    /// @param _queryId The unique query identifier.\\n    function readRequestBytecode(uint256 _queryId) external view returns (bytes memory);\\n\\n    /// Retrieves the gas price that any assigned reporter will have to pay when reporting \\n    /// result to a previously posted Witnet data request.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifie\\n    function readRequestGasPrice(uint256 _queryId) external view returns (uint256);\\n\\n    /// Retrieves the reward currently set for the referred query.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifier.\\n    function readRequestReward(uint256 _queryId) external view returns (uint256);\\n\\n    /// Retrieves the whole `Witnet.Response` record referred to a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponse(uint256 _queryId) external view returns (Witnet.Response memory);\\n\\n    /// Retrieves the hash of the Witnet transaction hash that actually solved the referred query.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseDrTxHash(uint256 _queryId) external view returns (bytes32);    \\n\\n    /// Retrieves the address that reported the result to a previously-posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseReporter(uint256 _queryId) external view returns (address);\\n\\n    /// Retrieves the Witnet-provided CBOR-bytes result of a previously posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseResult(uint256 _queryId) external view returns (Witnet.Result memory);\\n\\n    /// Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseTimestamp(uint256 _queryId) external view returns (uint256);\\n}\\n\",\"keccak256\":\"0x782ec2ff166948f5d097765c0190b352793d8b8887af5f8384d875d63cff4e9b\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestParser.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title The Witnet interface for decoding Witnet-provided request to Data Requests.\\n/// This interface exposes functions to check for the success/failure of\\n/// a Witnet-provided result, as well as to parse and convert result into\\n/// Solidity types suitable to the application level. \\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestParser {\\n\\n    /// Decode raw CBOR bytes into a Witnet.Result instance.\\n    /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborBytes(bytes memory _cborBytes) external pure returns (Witnet.Result memory);\\n\\n    /// Decode a CBOR value into a Witnet.Result instance.\\n    /// @param _cborValue An instance of `Witnet.CBOR`.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborValue(Witnet.CBOR memory _cborValue) external pure returns (Witnet.Result memory);\\n\\n    /// Tell if a Witnet.Result is successful.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if successful, `false` if errored.\\n    function isOk(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Tell if a Witnet.Result is errored.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if errored, `false` if successful.\\n    function isError(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes` decoded from the Witnet.Result.\\n    function asBytes(Witnet.Result memory _result) external pure returns (bytes memory);\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes32` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes32` decoded from the Witnet.Result.\\n    function asBytes32(Witnet.Result memory _result) external pure returns (bytes32);\\n\\n    /// Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `CBORValue.Error memory` decoded from the Witnet.Result.\\n    function asErrorCode(Witnet.Result memory _result) external pure returns (Witnet.ErrorCodes);\\n\\n\\n    /// Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\\n    /// @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\\n    function asErrorMessage(Witnet.Result memory _result) external pure returns (Witnet.ErrorCodes, string memory);\\n\\n    /// Decode a raw error from a `Witnet.Result` as a `uint64[]`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `uint64[]` raw error as decoded from the `Witnet.Result`.\\n    function asRawError(Witnet.Result memory _result) external pure returns(uint64[] memory);\\n\\n    /// Decode a boolean value from a Witnet.Result as an `bool` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bool` decoded from the Witnet.Result.\\n    function asBool(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\\n    /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\\n    /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\\n    /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asFixed16(Witnet.Result memory _result) external pure returns (int32);\\n\\n    /// Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asFixed16Array(Witnet.Result memory _result) external pure returns (int32[] memory);\\n\\n    /// Decode a integer numeric value from a Witnet.Result as an `int128` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asInt128(Witnet.Result memory _result) external pure returns (int128);\\n\\n    /// Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asInt128Array(Witnet.Result memory _result) external pure returns (int128[] memory);\\n\\n    /// Decode a string value from a Witnet.Result as a `string` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string` decoded from the Witnet.Result.\\n    function asString(Witnet.Result memory _result) external pure returns (string memory);\\n\\n    /// Decode an array of string values from a Witnet.Result as a `string[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string[]` decoded from the Witnet.Result.\\n    function asStringArray(Witnet.Result memory _result) external pure returns (string[] memory);\\n\\n    /// Decode a natural numeric value from a Witnet.Result as a `uint64` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64` decoded from the Witnet.Result.\\n    function asUint64(Witnet.Result memory _result) external pure returns(uint64);\\n\\n    /// Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64[]` decoded from the Witnet.Result.\\n    function asUint64Array(Witnet.Result memory _result) external pure returns (uint64[] memory);\\n\\n}\\n\",\"keccak256\":\"0xe7c24475babac7d21172d37d976a97b81053739e81b4697be39decfe2aa90945\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"events":{"DeletedQuery(uint256,address)":{"notice":"Emitted when all data related to given query is deleted from the WRB."},"PostedRequest(uint256,address)":{"notice":"Emitted when a Witnet Data Request is posted to the WRB."},"PostedResult(uint256,address)":{"notice":"Emitted when a Witnet-solved result is reported to the WRB."}},"kind":"user","methods":{"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a boolean value from a Witnet.Result as an `bool` value."},"asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a bytes value from a Witnet.Result as a `bytes` value."},"asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a bytes value from a Witnet.Result as a `bytes32` value."},"asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`."},"asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments."},"asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value."},"asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value."},"asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a integer numeric value from a Witnet.Result as an `int128` value."},"asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value."},"asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a raw error from a `Witnet.Result` as a `uint64[]`."},"asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a string value from a Witnet.Result as a `string` value."},"asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an array of string values from a Witnet.Result as a `string[]` value."},"asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a natural numeric value from a Witnet.Result as a `uint64` value."},"asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value."},"deleteQuery(uint256)":{"notice":"Retrieves a copy of all Witnet-provided data related to a previously posted request, removing the whole query from the WRB storage."},"estimateReward(uint256)":{"notice":"Estimates the amount of reward we need to insert for a given gas price."},"getNextQueryId()":{"notice":"Returns next query id to be generated by the Witnet Request Board."},"getQueryData(uint256)":{"notice":"Gets the whole Query data contents, if any, no matter its current status."},"getQueryStatus(uint256)":{"notice":"Gets current status of given query."},"isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Tell if a Witnet.Result is errored."},"isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Tell if a Witnet.Result is successful."},"postRequest(address)":{"notice":"Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided  result to this request."},"readRequest(uint256)":{"notice":"Retrieves the whole Request record posted to the Witnet Request Board."},"readRequestBytecode(uint256)":{"notice":"Retrieves the serialized bytecode of a previously posted Witnet Data Request."},"readRequestGasPrice(uint256)":{"notice":"Retrieves the gas price that any assigned reporter will have to pay when reporting  result to a previously posted Witnet data request."},"readRequestReward(uint256)":{"notice":"Retrieves the reward currently set for the referred query."},"readResponse(uint256)":{"notice":"Retrieves the whole `Witnet.Response` record referred to a previously posted Witnet Data Request."},"readResponseDrTxHash(uint256)":{"notice":"Retrieves the hash of the Witnet transaction hash that actually solved the referred query."},"readResponseReporter(uint256)":{"notice":"Retrieves the address that reported the result to a previously-posted request."},"readResponseResult(uint256)":{"notice":"Retrieves the Witnet-provided CBOR-bytes result of a previously posted request."},"readResponseTimestamp(uint256)":{"notice":"Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON."},"reportResult(uint256,bytes32,bytes)":{"notice":"Reports the Witnet-provided result to a previously posted request. "},"reportResult(uint256,uint256,bytes32,bytes)":{"notice":"Reports the Witnet-provided result to a previously posted request."},"reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)":{"notice":"Reports Witnet-provided results to multiple requests within a single EVM tx."},"resultFromCborBytes(bytes)":{"notice":"Decode raw CBOR bytes into a Witnet.Result instance."},"resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))":{"notice":"Decode a CBOR value into a Witnet.Result instance."},"upgradeReward(uint256)":{"notice":"Increments the reward of a previously posted request by adding the transaction value to it."}},"version":1}}},"witnet-solidity-bridge/contracts/apps/WitnetRandomness.sol":{"WitnetRandomness":{"abi":[{"inputs":[{"internalType":"contract WitnetRequestBoard","name":"_wrb","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"by","type":"address"},{"indexed":true,"internalType":"contract Clonable","name":"self","type":"address"},{"indexed":true,"internalType":"contract Clonable","name":"clone","type":"address"}],"name":"Cloned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"uint256","name":"prevBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"witnetQueryId","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"witnetRequestHash","type":"bytes32"}],"name":"Randomized","type":"event"},{"inputs":[],"name":"clone","outputs":[{"internalType":"contract Clonable","name":"_newInstance","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_salt","type":"bytes32"}],"name":"cloneDeterministic","outputs":[{"internalType":"contract Clonable","name":"_newInstance","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cloned","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_gasPrice","type":"uint256"}],"name":"estimateRandomizeFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_block","type":"uint256"}],"name":"getRandomizeData","outputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"uint256","name":"_prevBlock","type":"uint256"},{"internalType":"uint256","name":"_nextBlock","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_block","type":"uint256"}],"name":"getRandomnessAfter","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_block","type":"uint256"}],"name":"getRandomnessNextBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_block","type":"uint256"}],"name":"getRandomnessPrevBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"_initData","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_block","type":"uint256"}],"name":"isRandomized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestRandomizeBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_range","type":"uint32"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"uint256","name":"_block","type":"uint256"}],"name":"random","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_range","type":"uint32"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"bytes32","name":"_seed","type":"bytes32"}],"name":"random","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"randomize","outputs":[{"internalType":"uint256","name":"_usedFunds","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"self","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_block","type":"uint256"}],"name":"upgradeRandomizeFee","outputs":[{"internalType":"uint256","name":"_usedFunds","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"witnet","outputs":[{"internalType":"contract WitnetRequestBoard","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"witnetRandomnessRequest","outputs":[{"internalType":"contract WitnetRequestRandomness","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"devdoc":{"author":"Witnet Foundation.","kind":"dev","methods":{"clone()":{"details":"This function should always provide a new address, no matter how many times is actually called from the same `msg.sender`."},"cloneDeterministic(bytes32)":{"details":"This function uses the CREATE2 opcode and a `_salt` to deterministically deploythe clone. Using the same `_salt` multiple time will revert, sinceno contract can be deployed more than once at the same address."},"constructor":{"params":{"_wrb":"The WitnetRequestBoard immutable entrypoint address."}},"getRandomizeData(uint256)":{"details":"Returns zero values if no randomness request was actually posted within a given block.","params":{"_block":"Block number whose randomness request is being queried for."},"returns":{"_from":"Address from which the latest randomness request was posted.","_id":"Unique request identifier as provided by the WRB.","_nextBlock":"Block number in which a randomness request got posted just after this one, 0 if none.","_prevBlock":"Block number in which a randomness request got posted just before this one. 0 if none."}},"getRandomnessAfter(uint256)":{"details":"Fails if:i.   no `randomize()` was not called in either the given block, or afterwards.ii.  a request posted in/after given block does exist, but no result has been provided yet.iii. all requests in/after the given block were solved with errors.","params":{"_block":"Block number from which the search will start."}},"getRandomnessNextBlock(uint256)":{"params":{"_block":"Block number from which the search will start."},"returns":{"_0":"Number of the first block found after the given one, or `0` otherwise."}},"getRandomnessPrevBlock(uint256)":{"params":{"_block":"Block number from which the search will start. Cannot be zero."},"returns":{"_0":"First block found before the given one, or `0` otherwise."}},"initialize(bytes)":{"details":"Initializes contract's storage context."},"random(uint32,uint256,bytes32)":{"params":{"_nonce":"Nonce value enabling multiple random numbers from the same randomness value.","_range":"Range within which the uniformly-distributed random number will be generated.","_seed":"Seed value used as entropy source."}},"random(uint32,uint256,uint256)":{"details":"Fails under same conditions as `getRandomnessAfter(uint256)` may do.","params":{"_block":"Block number from which the search will start.","_nonce":"Nonce value enabling multiple random numbers from the same randomness value.","_range":"Range within which the uniformly-distributed random number will be generated."}},"randomize()":{"returns":{"_usedFunds":"Amount of funds actually used from those provided by the tx sender."}},"upgradeRandomizeFee(uint256)":{"returns":{"_usedFunds":"Amount of dunds actually used from those provided by the tx sender."}}},"title":"WitnetRandomness: A trustless randomness generator and registry, based on the Witnet oracle. ","version":1},"evm":{"bytecode":{"functionDebugData":{"@_3963":{"entryPoint":null,"id":3963,"parameterSlots":1,"returnSlots":0},"@_4220":{"entryPoint":null,"id":4220,"parameterSlots":1,"returnSlots":0},"abi_decode_t_contract$_WitnetRequestBoard_$4162_fromMemory":{"entryPoint":552,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_WitnetRequestBoard_$4162_fromMemory":{"entryPoint":575,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_address_to_t_address_fromStack":{"entryPoint":625,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_stringliteral_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f_to_t_string_memory_ptr_fromStack":{"entryPoint":642,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":681,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":710,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_fromStack":{"entryPoint":744,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_address":{"entryPoint":761,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_address_payable":{"entryPoint":781,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_contract$_WitnetRequestBoard_$4162":{"entryPoint":801,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":821,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":853,"id":null,"parameterSlots":0,"returnSlots":0},"store_literal_in_memory_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f":{"entryPoint":858,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_contract$_WitnetRequestBoard_$4162":{"entryPoint":899,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:3113:67","statements":[{"body":{"nodeType":"YulBlock","src":"97:107:67","statements":[{"nodeType":"YulAssignment","src":"107:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"122:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"116:5:67"},"nodeType":"YulFunctionCall","src":"116:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"107:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"192:5:67"}],"functionName":{"name":"validator_revert_t_contract$_WitnetRequestBoard_$4162","nodeType":"YulIdentifier","src":"138:53:67"},"nodeType":"YulFunctionCall","src":"138:60:67"},"nodeType":"YulExpressionStatement","src":"138:60:67"}]},"name":"abi_decode_t_contract$_WitnetRequestBoard_$4162_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"75:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"83:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"91:5:67","type":""}],"src":"7:197:67"},{"body":{"nodeType":"YulBlock","src":"314:301:67","statements":[{"body":{"nodeType":"YulBlock","src":"360:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"362:77:67"},"nodeType":"YulFunctionCall","src":"362:79:67"},"nodeType":"YulExpressionStatement","src":"362:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"335:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"344:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"331:3:67"},"nodeType":"YulFunctionCall","src":"331:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"356:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"327:3:67"},"nodeType":"YulFunctionCall","src":"327:32:67"},"nodeType":"YulIf","src":"324:119:67"},{"nodeType":"YulBlock","src":"453:155:67","statements":[{"nodeType":"YulVariableDeclaration","src":"468:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"482:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"472:6:67","type":""}]},{"nodeType":"YulAssignment","src":"497:101:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"570:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"581:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"566:3:67"},"nodeType":"YulFunctionCall","src":"566:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"590:7:67"}],"functionName":{"name":"abi_decode_t_contract$_WitnetRequestBoard_$4162_fromMemory","nodeType":"YulIdentifier","src":"507:58:67"},"nodeType":"YulFunctionCall","src":"507:91:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"497:6:67"}]}]}]},"name":"abi_decode_tuple_t_contract$_WitnetRequestBoard_$4162_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"284:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"295:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"307:6:67","type":""}],"src":"210:405:67"},{"body":{"nodeType":"YulBlock","src":"686:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"703:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"726:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"708:17:67"},"nodeType":"YulFunctionCall","src":"708:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"696:6:67"},"nodeType":"YulFunctionCall","src":"696:37:67"},"nodeType":"YulExpressionStatement","src":"696:37:67"}]},"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"674:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"681:3:67","type":""}],"src":"621:118:67"},{"body":{"nodeType":"YulBlock","src":"891:220:67","statements":[{"nodeType":"YulAssignment","src":"901:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"967:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"972:2:67","type":"","value":"25"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"908:58:67"},"nodeType":"YulFunctionCall","src":"908:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"901:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1073:3:67"}],"functionName":{"name":"store_literal_in_memory_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f","nodeType":"YulIdentifier","src":"984:88:67"},"nodeType":"YulFunctionCall","src":"984:93:67"},"nodeType":"YulExpressionStatement","src":"984:93:67"},{"nodeType":"YulAssignment","src":"1086:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1097:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"1102:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1093:3:67"},"nodeType":"YulFunctionCall","src":"1093:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1086:3:67"}]}]},"name":"abi_encode_t_stringliteral_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"879:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"887:3:67","type":""}],"src":"745:366:67"},{"body":{"nodeType":"YulBlock","src":"1215:124:67","statements":[{"nodeType":"YulAssignment","src":"1225:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1237:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"1248:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1233:3:67"},"nodeType":"YulFunctionCall","src":"1233:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1225:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1305:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1318:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"1329:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1314:3:67"},"nodeType":"YulFunctionCall","src":"1314:17:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"1261:43:67"},"nodeType":"YulFunctionCall","src":"1261:71:67"},"nodeType":"YulExpressionStatement","src":"1261:71:67"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1187:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1199:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1210:4:67","type":""}],"src":"1117:222:67"},{"body":{"nodeType":"YulBlock","src":"1516:248:67","statements":[{"nodeType":"YulAssignment","src":"1526:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1538:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"1549:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1534:3:67"},"nodeType":"YulFunctionCall","src":"1534:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1526:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1573:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"1584:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1569:3:67"},"nodeType":"YulFunctionCall","src":"1569:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"1592:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"1598:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1588:3:67"},"nodeType":"YulFunctionCall","src":"1588:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1562:6:67"},"nodeType":"YulFunctionCall","src":"1562:47:67"},"nodeType":"YulExpressionStatement","src":"1562:47:67"},{"nodeType":"YulAssignment","src":"1618:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"1752:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"1626:124:67"},"nodeType":"YulFunctionCall","src":"1626:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1618:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1496:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1511:4:67","type":""}],"src":"1345:419:67"},{"body":{"nodeType":"YulBlock","src":"1810:35:67","statements":[{"nodeType":"YulAssignment","src":"1820:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1836:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1830:5:67"},"nodeType":"YulFunctionCall","src":"1830:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1820:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1803:6:67","type":""}],"src":"1770:75:67"},{"body":{"nodeType":"YulBlock","src":"1947:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1964:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"1969:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1957:6:67"},"nodeType":"YulFunctionCall","src":"1957:19:67"},"nodeType":"YulExpressionStatement","src":"1957:19:67"},{"nodeType":"YulAssignment","src":"1985:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2004:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"2009:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2000:3:67"},"nodeType":"YulFunctionCall","src":"2000:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"1985:11:67"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"1919:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"1924:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"1935:11:67","type":""}],"src":"1851:169:67"},{"body":{"nodeType":"YulBlock","src":"2071:51:67","statements":[{"nodeType":"YulAssignment","src":"2081:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2110:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"2092:17:67"},"nodeType":"YulFunctionCall","src":"2092:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"2081:7:67"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2053:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"2063:7:67","type":""}],"src":"2026:96:67"},{"body":{"nodeType":"YulBlock","src":"2181:51:67","statements":[{"nodeType":"YulAssignment","src":"2191:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2220:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"2202:17:67"},"nodeType":"YulFunctionCall","src":"2202:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"2191:7:67"}]}]},"name":"cleanup_t_address_payable","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2163:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"2173:7:67","type":""}],"src":"2128:104:67"},{"body":{"nodeType":"YulBlock","src":"2310:59:67","statements":[{"nodeType":"YulAssignment","src":"2320:43:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2357:5:67"}],"functionName":{"name":"cleanup_t_address_payable","nodeType":"YulIdentifier","src":"2331:25:67"},"nodeType":"YulFunctionCall","src":"2331:32:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"2320:7:67"}]}]},"name":"cleanup_t_contract$_WitnetRequestBoard_$4162","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2292:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"2302:7:67","type":""}],"src":"2238:131:67"},{"body":{"nodeType":"YulBlock","src":"2420:81:67","statements":[{"nodeType":"YulAssignment","src":"2430:65:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2445:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"2452:42:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2441:3:67"},"nodeType":"YulFunctionCall","src":"2441:54:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"2430:7:67"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2402:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"2412:7:67","type":""}],"src":"2375:126:67"},{"body":{"nodeType":"YulBlock","src":"2596:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2613:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2616:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2606:6:67"},"nodeType":"YulFunctionCall","src":"2606:12:67"},"nodeType":"YulExpressionStatement","src":"2606:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"2507:117:67"},{"body":{"nodeType":"YulBlock","src":"2719:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2736:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2739:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2729:6:67"},"nodeType":"YulFunctionCall","src":"2729:12:67"},"nodeType":"YulExpressionStatement","src":"2729:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"2630:117:67"},{"body":{"nodeType":"YulBlock","src":"2859:69:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2881:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"2889:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2877:3:67"},"nodeType":"YulFunctionCall","src":"2877:14:67"},{"hexValue":"5573696e675769746e65743a207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"2893:27:67","type":"","value":"UsingWitnet: zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2870:6:67"},"nodeType":"YulFunctionCall","src":"2870:51:67"},"nodeType":"YulExpressionStatement","src":"2870:51:67"}]},"name":"store_literal_in_memory_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"2851:6:67","type":""}],"src":"2753:175:67"},{"body":{"nodeType":"YulBlock","src":"3004:106:67","statements":[{"body":{"nodeType":"YulBlock","src":"3088:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3097:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3100:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3090:6:67"},"nodeType":"YulFunctionCall","src":"3090:12:67"},"nodeType":"YulExpressionStatement","src":"3090:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3027:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3079:5:67"}],"functionName":{"name":"cleanup_t_contract$_WitnetRequestBoard_$4162","nodeType":"YulIdentifier","src":"3034:44:67"},"nodeType":"YulFunctionCall","src":"3034:51:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3024:2:67"},"nodeType":"YulFunctionCall","src":"3024:62:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3017:6:67"},"nodeType":"YulFunctionCall","src":"3017:70:67"},"nodeType":"YulIf","src":"3014:90:67"}]},"name":"validator_revert_t_contract$_WitnetRequestBoard_$4162","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2997:5:67","type":""}],"src":"2934:176:67"}]},"contents":"{\n\n    function abi_decode_t_contract$_WitnetRequestBoard_$4162_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_contract$_WitnetRequestBoard_$4162(value)\n    }\n\n    function abi_decode_tuple_t_contract$_WitnetRequestBoard_$4162_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_contract$_WitnetRequestBoard_$4162_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n        mstore(pos, cleanup_t_address(value))\n    }\n\n    function abi_encode_t_stringliteral_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n        store_literal_in_memory_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_address_to_t_address_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function cleanup_t_address(value) -> cleaned {\n        cleaned := cleanup_t_uint160(value)\n    }\n\n    function cleanup_t_address_payable(value) -> cleaned {\n        cleaned := cleanup_t_uint160(value)\n    }\n\n    function cleanup_t_contract$_WitnetRequestBoard_$4162(value) -> cleaned {\n        cleaned := cleanup_t_address_payable(value)\n    }\n\n    function cleanup_t_uint160(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function store_literal_in_memory_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f(memPtr) {\n\n        mstore(add(memPtr, 0), \"UsingWitnet: zero address\")\n\n    }\n\n    function validator_revert_t_contract$_WitnetRequestBoard_$4162(value) {\n        if iszero(eq(value, cleanup_t_contract$_WitnetRequestBoard_$4162(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60c06040523073ffffffffffffffffffffffffffffffffffffffff1660a09073ffffffffffffffffffffffffffffffffffffffff1660601b8152503480156200004757600080fd5b50604051620070e3380380620070e383398181016040528101906200006d91906200023f565b80600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620000e1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000d890620002c6565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250505060405162000127906200021a565b604051809103906000f08015801562000144573d6000803e3d6000fd5b506000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2fde38b336040518263ffffffff1660e01b8152600401620001df9190620002a9565b600060405180830381600087803b158015620001fa57600080fd5b505af11580156200020f573d6000803e3d6000fd5b50505050506200039d565b613cb0806200343383390190565b600081519050620002398162000383565b92915050565b60006020828403121562000258576200025762000355565b5b6000620002688482850162000228565b91505092915050565b6200027c81620002f9565b82525050565b600062000291601983620002e8565b91506200029e826200035a565b602082019050919050565b6000602082019050620002c0600083018462000271565b92915050565b60006020820190508181036000830152620002e18162000282565b9050919050565b600082825260208201905092915050565b6000620003068262000335565b9050919050565b60006200031a8262000335565b9050919050565b60006200032e826200030d565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b7f5573696e675769746e65743a207a65726f206164647265737300000000000000600082015250565b6200038e8162000321565b81146200039a57600080fd5b50565b60805160601c60a05160601c6130086200042b60003960008181610960015281816109ca01528181610ecb01528181610fd301528181611507015261161001526000818161070301528181610cf501528181610da3015281816112c60152818161138f015281816114540152818161169301528181611763015281816119e10152611a9801526130086000f3fe6080604052600436106101095760003560e01c80639938fd0c11610095578063a60ee26811610064578063a60ee2681461038b578063daaa360c146103c8578063e35329f814610405578063e7d4a01614610435578063fb476cad1461047257610109565b80639938fd0c146102b85780639bc86fec146102e3578063a04daef014610320578063a3252f681461034b57610109565b806340b41daa116100dc57806340b41daa146101de578063439fab911461021b57806346d1d21a14610244578063699b328a1461026f5780637104ddb21461028d57610109565b806309ed46071461010e57806324cbbfc11461013957806336b651bb146101765780633b13e76e146101b3575b600080fd5b34801561011a57600080fd5b506101236104af565b6040516101309190612626565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b919061219c565b6104c7565b60405161016d91906127d8565b60405180910390f35b34801561018257600080fd5b5061019d600480360381019061019891906120ef565b61050d565b6040516101aa9190612794565b60405180910390f35b3480156101bf57600080fd5b506101c861055c565b6040516101d59190612677565b60405180910390f35b3480156101ea57600080fd5b50610205600480360381019061020091906120ef565b610580565b6040516102129190612794565b60405180910390f35b34801561022757600080fd5b50610242600480360381019061023d9190612003565b61061c565b005b34801561025057600080fd5b50610259610701565b604051610266919061265c565b60405180910390f35b610277610725565b6040516102849190612794565b60405180910390f35b34801561029957600080fd5b506102a261095e565b6040516102af919061251c565b60405180910390f35b3480156102c457600080fd5b506102cd610982565b6040516102da9190612794565b60405180910390f35b3480156102ef57600080fd5b5061030a600480360381019061030591906120ef565b610988565b60405161031791906125a5565b60405180910390f35b34801561032c57600080fd5b506103356109c6565b60405161034291906125a5565b60405180910390f35b34801561035757600080fd5b50610372600480360381019061036d91906120ef565b610a1d565b6040516103829493929190612560565b60405180910390f35b34801561039757600080fd5b506103b260048036038101906103ad91906120ef565b610a7e565b6040516103bf9190612794565b60405180910390f35b3480156103d457600080fd5b506103ef60048036038101906103ea9190611fa9565b610a90565b6040516103fc9190612626565b60405180910390f35b61041f600480360381019061041a91906120ef565b610aab565b60405161042c9190612794565b60405180910390f35b34801561044157600080fd5b5061045c60048036038101906104579190612149565b610b40565b60405161046991906127d8565b60405180910390f35b34801561047e57600080fd5b50610499600480360381019061049491906120ef565b610bc7565b6040516104a691906125c0565b60405180910390f35b60006104b9610ec6565b90506104c48161104f565b90565b60006105048484336104d886610bc7565b6040516020016104e9929190612537565b60405160208183030381529060405280519060200120610b40565b90509392505050565b600080821161051f5761051e612c52565b5b600060015490508083116105525761054d8360026000848152602001908152602001600020600101546111ed565b610554565b805b915050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156105fd576105f882600154611225565b610615565b60026000838152602001908152602001600020600201545b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a2906126b2565b60405180910390fd5b808060200190518101906106bf9190611f4f565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600043600154101561094a57600061075c60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611274565b80935081925050506000600260004381526020019081526020016000209050818160030181905550338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600154905080826001018190555043600260008381526020019081526020016000206002018190555043600181905550803373ffffffffffffffffffffffffffffffffffffffff167faf291bb4e1767569c77502edb6ad1009e856f57c09f214886c6becc9836c20c08560008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309bd5a606040518163ffffffff1660e01b815260040160206040518083038186803b15801561089957600080fd5b505afa1580156108ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d19190611fd6565b6040516108df9291906127af565b60405180910390a334841015610942573373ffffffffffffffffffffffffffffffffffffffff166108fc85346109159190612a52565b9081150290604051600060405180830381858888f19350505050158015610940573d6000803e3d6000fd5b505b50505061095a565b61095343610aab565b905061095b565b5b90565b7f000000000000000000000000000000000000000000000000000000000000000081565b60015481565b60008060026000848152602001908152602001600020905060008160030154141580156109be57506109bd8160030154611377565b5b915050919050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415905090565b6000806000806000600260008781526020019081526020016000209050806003015493508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1694508060010154925080600201549150509193509193565b6000610a8982611450565b9050919050565b6000610a9b82611502565b9050610aa68161104f565b919050565b6000806002600084815260200190815260200160002090506000816003015414610adf57610adc816003015461168e565b91505b34821015610b3a573373ffffffffffffffffffffffffffffffffffffffff166108fc8334610b0d9190612a52565b9081150290604051600060405180830381858888f19350505050158015610b38573d6000803e3d6000fd5b505b50919050565b600080610b4c856117f8565b60ff610b589190612a86565b905060006001826002610b6b91906128da565b610b759190612a52565b8486604051602001610b889291906125db565b6040516020818303038152906040528051906020012060001c1690508160ff168663ffffffff1682610bba91906129f8565b901c925050509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610c3f57610c3c82610580565b91505b6000600260008481526020019081526020016000206003015490506000811415610c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9590612732565b60405180910390fd5b610ca781611377565b610ce6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdd906126d2565b60405180910390fd5b6000610cf1826119d7565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a8604c1a826040518263ffffffff1660e01b8152600401610d4c9190612772565b60206040518083038186803b158015610d6457600080fd5b505afa158015610d78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9c9190611f7c565b15610e53577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663cf62d115826040518263ffffffff1660e01b8152600401610dfa9190612772565b60206040518083038186803b158015610e1257600080fd5b505afa158015610e26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4a9190611fd6565b92505050610ec1565b6000600260008681526020019081526020016000206002015490506000811415610eb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea990612692565b60405180910390fd5b610ebb81610bc7565b93505050505b919050565b6000807f000000000000000000000000000000000000000000000000000000000000000090506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160601b60148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f0925050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb190612752565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff376596be5039d6b2fb36fead4c8a370eae426e790a869be8db074ab608cc24860405160405180910390a45090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309ed46076040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156110ba57600080fd5b505af11580156110ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f2919061204c565b90508073ffffffffffffffffffffffffffffffffffffffff1663f2fde38b336040518263ffffffff1660e01b815260040161112d919061251c565b600060405180830381600087803b15801561114757600080fd5b505af115801561115b573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663439fab918260405160200161118c919061251c565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016111b79190612604565b600060405180830381600087803b1580156111d157600080fd5b505af11580156111e5573d6000803e3d6000fd5b505050505050565b600081831161121b576112168360026000858152602001908152602001600020600101546111ed565b61121d565b815b905092915050565b6000818310156112545761124f836002600085815260200190815260200160002060010154611225565b61126c565b60026000838152602001908152602001600020600201545b905092915050565b60008061127f611a94565b9050348111156112c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bb906126f2565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b281a7bd82856040518363ffffffff1660e01b815260040161131e9190612641565b6020604051808303818588803b15801561133757600080fd5b505af115801561134b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611370919061211c565b9150915091565b60006002600381111561138d5761138c612cb0565b5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636f07abcc846040518263ffffffff1660e01b81526004016113e69190612794565b60206040518083038186803b1580156113fe57600080fd5b505afa158015611412573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114369190612079565b600381111561144857611447612cb0565b5b149050919050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d2e87561836040518263ffffffff1660e01b81526004016114ab9190612794565b60206040518083038186803b1580156114c357600080fd5b505afa1580156114d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114fb919061211c565b9050919050565b6000807f000000000000000000000000000000000000000000000000000000000000000090506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160601b60148201527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006028820152836037826000f5925050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ee90612712565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff376596be5039d6b2fb36fead4c8a370eae426e790a869be8db074ab608cc24860405160405180910390a450919050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16631dd27daf846040518263ffffffff1660e01b81526004016116ea9190612794565b60206040518083038186803b15801561170257600080fd5b505afa158015611716573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173a919061211c565b90506000611746611a94565b905060008282111561176157828261175e9190612a52565b90505b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166366bfdc7582876040518363ffffffff1660e01b81526004016117bb9190612794565b6000604051808303818588803b1580156117d457600080fd5b505af11580156117e8573d6000803e3d6000fd5b5050505050809350505050919050565b600080604051806104000160405280600060ff168152602001600960ff168152602001600160ff168152602001600a60ff168152602001600d60ff168152602001601560ff168152602001600260ff168152602001601d60ff168152602001600b60ff168152602001600e60ff168152602001601060ff168152602001601260ff168152602001601660ff168152602001601960ff168152602001600360ff168152602001601e60ff168152602001600860ff168152602001600c60ff168152602001601460ff168152602001601c60ff168152602001600f60ff168152602001601160ff168152602001601860ff168152602001600760ff168152602001601360ff168152602001601b60ff168152602001601760ff168152602001600660ff168152602001601a60ff168152602001600560ff168152602001600460ff168152602001601f60ff16815250905060018363ffffffff16901c8317925060028363ffffffff16901c8317925060048363ffffffff16901c8317925060088363ffffffff16901c8317925060108363ffffffff16901c8317925080601b6307c4acdd8563ffffffff166119ab91906129f8565b63ffffffff16901c63ffffffff16602081106119ca576119c9612cdf565b5b6020020151915050919050565b6119df611b44565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d4da69ac836040518263ffffffff1660e01b8152600401611a389190612794565b60006040518083038186803b158015611a5057600080fd5b505afa158015611a64573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611a8d91906120a6565b9050919050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d2e875613a6040518263ffffffff1660e01b8152600401611aef9190612794565b60206040518083038186803b158015611b0757600080fd5b505afa158015611b1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b3f919061211c565b905090565b6040518060400160405280600015158152602001611b60611b66565b81525090565b6040518060c00160405280611b79611bbf565b8152602001600060ff168152602001600060ff168152602001600060ff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff1681525090565b604051806040016040528060608152602001600063ffffffff1681525090565b6000611bf2611bed84612818565b6127f3565b905082815260208101848484011115611c0e57611c0d612d4c565b5b611c19848285612bdf565b509392505050565b6000611c34611c2f84612818565b6127f3565b905082815260208101848484011115611c5057611c4f612d4c565b5b611c5b848285612bee565b509392505050565b600081519050611c7281612f0a565b92915050565b600081519050611c8781612f21565b92915050565b600081359050611c9c81612f38565b92915050565b600081519050611cb181612f38565b92915050565b600082601f830112611ccc57611ccb612d3d565b5b8135611cdc848260208601611bdf565b91505092915050565b600082601f830112611cfa57611cf9612d3d565b5b8151611d0a848260208601611c21565b91505092915050565b600081519050611d2281612f4f565b92915050565b600081519050611d3781612f66565b92915050565b600060408284031215611d5357611d52612d42565b5b611d5d60406127f3565b9050600082015167ffffffffffffffff811115611d7d57611d7c612d47565b5b611d8984828501611ce5565b6000830152506020611d9d84828501611f10565b60208301525092915050565b600060c08284031215611dbf57611dbe612d42565b5b611dc960c06127f3565b9050600082015167ffffffffffffffff811115611de957611de8612d47565b5b611df584828501611d3d565b6000830152506020611e0984828501611f3a565b6020830152506040611e1d84828501611f3a565b6040830152506060611e3184828501611f3a565b6060830152506080611e4584828501611f25565b60808301525060a0611e5984828501611f25565b60a08301525092915050565b600060408284031215611e7b57611e7a612d42565b5b611e8560406127f3565b90506000611e9584828501611c78565b600083015250602082015167ffffffffffffffff811115611eb957611eb8612d47565b5b611ec584828501611da9565b60208301525092915050565b600081359050611ee081612f76565b92915050565b600081519050611ef581612f76565b92915050565b600081359050611f0a81612f8d565b92915050565b600081519050611f1f81612f8d565b92915050565b600081519050611f3481612fa4565b92915050565b600081519050611f4981612fbb565b92915050565b600060208284031215611f6557611f64612d56565b5b6000611f7384828501611c63565b91505092915050565b600060208284031215611f9257611f91612d56565b5b6000611fa084828501611c78565b91505092915050565b600060208284031215611fbf57611fbe612d56565b5b6000611fcd84828501611c8d565b91505092915050565b600060208284031215611fec57611feb612d56565b5b6000611ffa84828501611ca2565b91505092915050565b60006020828403121561201957612018612d56565b5b600082013567ffffffffffffffff81111561203757612036612d51565b5b61204384828501611cb7565b91505092915050565b60006020828403121561206257612061612d56565b5b600061207084828501611d13565b91505092915050565b60006020828403121561208f5761208e612d56565b5b600061209d84828501611d28565b91505092915050565b6000602082840312156120bc576120bb612d56565b5b600082015167ffffffffffffffff8111156120da576120d9612d51565b5b6120e684828501611e65565b91505092915050565b60006020828403121561210557612104612d56565b5b600061211384828501611ed1565b91505092915050565b60006020828403121561213257612131612d56565b5b600061214084828501611ee6565b91505092915050565b60008060006060848603121561216257612161612d56565b5b600061217086828701611efb565b935050602061218186828701611ed1565b925050604061219286828701611c8d565b9150509250925092565b6000806000606084860312156121b5576121b4612d56565b5b60006121c386828701611efb565b93505060206121d486828701611ed1565b92505060406121e586828701611ed1565b9150509250925092565b6121f881612aba565b82525050565b61220781612ade565b82525050565b61221681612ade565b82525050565b61222581612aea565b82525050565b600061223682612849565b6122408185612854565b9350612250818560208601612bee565b61225981612d5b565b840191505092915050565b600061226f82612849565b6122798185612865565b9350612289818560208601612bee565b61229281612d5b565b840191505092915050565b6122a681612b61565b82525050565b6122b581612b73565b82525050565b6122c481612b85565b82525050565b6122d381612b97565b82525050565b60006122e6602283612876565b91506122f182612d79565b604082019050919050565b6000612309602583612876565b915061231482612dc8565b604082019050919050565b600061232c602383612876565b915061233782612e17565b604082019050919050565b600061234f601b83612876565b915061235a82612e66565b602082019050919050565b6000612372601883612876565b915061237d82612e8f565b602082019050919050565b6000612395602083612876565b91506123a082612eb8565b602082019050919050565b60006123b8601783612876565b91506123c382612ee1565b602082019050919050565b600060408301600083015184820360008601526123eb828261222b565b915050602083015161240060208601826124e0565b508091505092915050565b600060c083016000830151848203600086015261242882826123ce565b915050602083015161243d602086018261250d565b506040830151612450604086018261250d565b506060830151612463606086018261250d565b50608083015161247660808601826124fe565b5060a083015161248960a08601826124fe565b508091505092915050565b60006040830160008301516124ac60008601826121fe565b50602083015184820360208601526124c4828261240b565b9150508091505092915050565b6124da81612b26565b82525050565b6124e981612b30565b82525050565b6124f881612b30565b82525050565b61250781612b40565b82525050565b61251681612b54565b82525050565b600060208201905061253160008301846121ef565b92915050565b600060408201905061254c60008301856121ef565b612559602083018461221c565b9392505050565b600060808201905061257560008301876121ef565b61258260208301866124d1565b61258f60408301856124d1565b61259c60608301846124d1565b95945050505050565b60006020820190506125ba600083018461220d565b92915050565b60006020820190506125d5600083018461221c565b92915050565b60006040820190506125f0600083018561221c565b6125fd60208301846124d1565b9392505050565b6000602082019050818103600083015261261e8184612264565b905092915050565b600060208201905061263b600083018461229d565b92915050565b600060208201905061265660008301846122ac565b92915050565b600060208201905061267160008301846122bb565b92915050565b600060208201905061268c60008301846122ca565b92915050565b600060208201905081810360008301526126ab816122d9565b9050919050565b600060208201905081810360008301526126cb816122fc565b9050919050565b600060208201905081810360008301526126eb8161231f565b9050919050565b6000602082019050818103600083015261270b81612342565b9050919050565b6000602082019050818103600083015261272b81612365565b9050919050565b6000602082019050818103600083015261274b81612388565b9050919050565b6000602082019050818103600083015261276b816123ab565b9050919050565b6000602082019050818103600083015261278c8184612494565b905092915050565b60006020820190506127a960008301846124d1565b92915050565b60006040820190506127c460008301856124d1565b6127d1602083018461221c565b9392505050565b60006020820190506127ed60008301846124ef565b92915050565b60006127fd61280e565b90506128098282612c21565b919050565b6000604051905090565b600067ffffffffffffffff82111561283357612832612d0e565b5b61283c82612d5b565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000808291508390505b60018511156128d1578086048111156128ad576128ac612c81565b5b60018516156128bc5780820291505b80810290506128ca85612d6c565b9450612891565b94509492505050565b60006128e582612b26565b91506128f083612b54565b925061291d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612925565b905092915050565b60008261293557600190506129f1565b8161294357600090506129f1565b8160018114612959576002811461296357612992565b60019150506129f1565b60ff84111561297557612974612c81565b5b8360020a91508482111561298c5761298b612c81565b5b506129f1565b5060208310610133831016604e8410600b84101617156129c75782820a9050838111156129c2576129c1612c81565b5b6129f1565b6129d48484846001612887565b925090508184048111156129eb576129ea612c81565b5b81810290505b9392505050565b6000612a0382612b26565b9150612a0e83612b26565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612a4757612a46612c81565b5b828202905092915050565b6000612a5d82612b26565b9150612a6883612b26565b925082821015612a7b57612a7a612c81565b5b828203905092915050565b6000612a9182612b54565b9150612a9c83612b54565b925082821015612aaf57612aae612c81565b5b828203905092915050565b6000612ac582612b06565b9050919050565b6000612ad782612b06565b9050919050565b60008115159050919050565b6000819050919050565b6000612aff82612aba565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b6000612b6c82612ba9565b9050919050565b6000612b7e82612ba9565b9050919050565b6000612b9082612bbb565b9050919050565b6000612ba282612ba9565b9050919050565b6000612bb482612bcd565b9050919050565b6000612bc682612bcd565b9050919050565b6000612bd882612b06565b9050919050565b82818337600083830152505050565b60005b83811015612c0c578082015181840152602081019050612bf1565b83811115612c1b576000848401525b50505050565b612c2a82612d5b565b810181811067ffffffffffffffff82111715612c4957612c48612d0e565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f5769746e657452616e646f6d6e6573733a206661756c74792072616e646f6d6960008201527f7a65000000000000000000000000000000000000000000000000000000000000602082015250565b7f5769746e657452616e646f6d6e6573733a20616c726561647920696e6974696160008201527f6c697a6564000000000000000000000000000000000000000000000000000000602082015250565b7f5769746e657452616e646f6d6e6573733a2070656e64696e672072616e646f6d60008201527f697a650000000000000000000000000000000000000000000000000000000000602082015250565b7f5573696e675769746e65743a2072657761726420746f6f206c6f770000000000600082015250565b7f436c6f6e61626c653a2043524541544532206661696c65640000000000000000600082015250565b7f5769746e657452616e646f6d6e6573733a206e6f742072616e646f6d697a6564600082015250565b7f436c6f6e61626c653a20435245415445206661696c6564000000000000000000600082015250565b612f1381612acc565b8114612f1e57600080fd5b50565b612f2a81612ade565b8114612f3557600080fd5b50565b612f4181612aea565b8114612f4c57600080fd5b50565b612f5881612af4565b8114612f6357600080fd5b50565b60048110612f7357600080fd5b50565b612f7f81612b26565b8114612f8a57600080fd5b50565b612f9681612b30565b8114612fa157600080fd5b50565b612fad81612b40565b8114612fb857600080fd5b50565b612fc481612b54565b8114612fcf57600080fd5b5056fea2646970667358221220f4691b938720c3e8f10b1b6d4c19bdf6f673f6bcd601a4aee2842c50207e6baa64736f6c6343000807003360a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152503480156200004757600080fd5b50620000686200005c6200008e60201b60201c565b6200009660201b60201c565b62000088604051806020016040528060008152506200017e60201b60201c565b62001259565b600033905090565b6000620000a8620001cc60201b60201c565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081620000df620001cc60201b60201c565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620001c96040518060400160405280601181526020017f0a0f120508021a01801a0210022202100b000000000000000000000000000000815250620001f460201b62000e261760201c565b50565b60007f375930152e1d0d102998be6e496b0cee86c9ecd0efef01014ecff169b17dfba7905090565b600062000206620001cc60201b60201c565b6001018054620002169062000f58565b9050146200025b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002529062000d78565b60405180910390fd5b6200026c816200028f60201b60201c565b6200028c620002806200008e60201b60201c565b6200009660201b60201c565b50565b6000815111620002a457620002a362000fc4565b5b80620002b5620001cc60201b60201c565b6001019080519060200190620002cd92919062000a17565b506000620002e0620001cc60201b60201c565b600401905060028160000160006101000a81548160ff021916908360ff16021790555060338160000160016101000a81548160ff021916908360ff160217905550633b9aca008160000160026101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506207a12081600001600a6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506203d0908160000160126101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506200042b8160000160009054906101000a900460ff168260000160019054906101000a900460ff168360000160029054906101000a900467ffffffffffffffff1684600001600a9054906101000a900467ffffffffffffffff168560000160129054906101000a900467ffffffffffffffff166200042f60201b60201c565b5050565b60008267ffffffffffffffff16116200047f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004769062000d56565b60405180910390fd5b60018560ff1610158015620004985750607f8560ff1611155b620004da576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004d19062000d9a565b60405180910390fd5b60338460ff1610158015620004f3575060638460ff1611155b62000535576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200052c9062000d34565b60405180910390fd5b633b9aca008367ffffffffffffffff16101562000589576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005809062000dbc565b60405180910390fd5b62000599620001cc60201b60201c565b600101620005b2601060f81b846200078860201b60201c565b620005c8601860f81b886200099a60201b60201c565b620005de602060f81b856200078860201b60201c565b620005f4602860f81b896200099a60201b60201c565b6200060a603060f81b896200078860201b60201c565b604051602001620006219695949392919062000cd0565b60405160208183030381529060405262000640620001cc60201b60201c565b60020190805190602001906200065892919062000a17565b50620007126200066d620001cc60201b60201c565b60020180546200067d9062000f58565b80601f0160208091040260200160405190810160405280929190818152602001828054620006ab9062000f58565b8015620006fc5780601f10620006d057610100808354040283529160200191620006fc565b820191906000526020600020905b815481529060010190602001808311620006de57829003601f168201915b5050505050620009b960201b62000e9c1760201c565b62000722620001cc60201b60201c565b600301819055503373ffffffffffffffffffffffffffffffffffffffff167f897a395aeb2699d9730b6377870654a5c371d6bb6dc4486cfc5c80eeafd095b086868686866040516200077995949392919062000dde565b60405180910390a25050505050565b606060008290506000600290505b607f8267ffffffffffffffff161115620007d25760078267ffffffffffffffff16901c9150600181620007ca919062000e77565b905062000796565b60008167ffffffffffffffff1667ffffffffffffffff811115620007fb57620007fa62001080565b5b6040519080825280601f01601f1916602001820160405280156200082e5781602001600182028036833780820191505090505b50905084925085816000815181106200084c576200084b62001051565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600190505b8267ffffffffffffffff168167ffffffffffffffff1610156200091f57607f841660801760f81b828267ffffffffffffffff1681518110620008c957620008c862001051565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060078467ffffffffffffffff16901c93508080620009169062000f8e565b91505062000882565b50607f60f81b8160018462000935919062000ebc565b67ffffffffffffffff168151811062000953576200095262001051565b5b6020010181815160f81c60f81b169150907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080935050505092915050565b6060620009b1838360ff166200078860201b60201c565b905092915050565b6000600282604051620009cd919062000cb7565b602060405180830381855afa158015620009eb573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019062000a10919062000ade565b9050919050565b82805462000a259062000f58565b90600052602060002090601f01602090048101928262000a49576000855562000a95565b82601f1062000a6457805160ff191683800117855562000a95565b8280016001018555821562000a95579182015b8281111562000a9457825182559160200191906001019062000a77565b5b50905062000aa4919062000aa8565b5090565b5b8082111562000ac357600081600090555060010162000aa9565b5090565b60008151905062000ad8816200123f565b92915050565b60006020828403121562000af75762000af6620010af565b5b600062000b078482850162000ac7565b91505092915050565b600062000b1d8262000e50565b62000b29818562000e5b565b935062000b3b81856020860162000f22565b80840191505092915050565b6000815462000b568162000f58565b62000b62818662000e5b565b9450600182166000811462000b80576001811462000b925762000bc9565b60ff1983168652818601935062000bc9565b62000b9d8562000e3b565b60005b8381101562000bc15781548189015260018201915060208101905062000ba0565b838801955050505b50505092915050565b600062000be1603d8362000e66565b915062000bee82620010b4565b604082019050919050565b600062000c0860258362000e66565b915062000c158262001103565b604082019050919050565b600062000c2f602f8362000e66565b915062000c3c8262001152565b604082019050919050565b600062000c56603c8362000e66565b915062000c6382620011a1565b604082019050919050565b600062000c7d603d8362000e66565b915062000c8a82620011f0565b604082019050919050565b62000ca08162000f01565b82525050565b62000cb18162000f15565b82525050565b600062000cc5828462000b10565b915081905092915050565b600062000cde828962000b47565b915062000cec828862000b10565b915062000cfa828762000b10565b915062000d08828662000b10565b915062000d16828562000b10565b915062000d24828462000b10565b9150819050979650505050505050565b6000602082019050818103600083015262000d4f8162000bd2565b9050919050565b6000602082019050818103600083015262000d718162000bf9565b9050919050565b6000602082019050818103600083015262000d938162000c20565b9050919050565b6000602082019050818103600083015262000db58162000c47565b9050919050565b6000602082019050818103600083015262000dd78162000c6e565b9050919050565b600060a08201905062000df5600083018862000ca6565b62000e04602083018762000ca6565b62000e13604083018662000c95565b62000e22606083018562000c95565b62000e31608083018462000c95565b9695505050505050565b60008190508160005260206000209050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600062000e848262000f01565b915062000e918362000f01565b92508267ffffffffffffffff0382111562000eb15762000eb062000ff3565b5b828201905092915050565b600062000ec98262000f01565b915062000ed68362000f01565b92508282101562000eec5762000eeb62000ff3565b5b828203905092915050565b6000819050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b60005b8381101562000f4257808201518184015260208101905062000f25565b8381111562000f52576000848401525b50505050565b6000600282049050600182168062000f7157607f821691505b6020821081141562000f885762000f8762001022565b5b50919050565b600062000f9b8262000f01565b915067ffffffffffffffff82141562000fb95762000fb862000ff3565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b7f5769746e6574526571756573744d616c6c6561626c65426173653a207769746e60008201527f657373696e6720636f6e73656e737573206f7574206f662072616e6765000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a206e6f207260008201527f6577617264000000000000000000000000000000000000000000000000000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a20616c726560008201527f61647920696e697469616c697a65640000000000000000000000000000000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a206e756d6260008201527f6572206f66207769746e6573736573206f7574206f662072616e676500000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a207769746e60008201527f657373696e6720636f6c6c61746572616c2062656c6f77203120574954000000602082015250565b6200124a8162000ef7565b81146200125657600080fd5b50565b60805160601c612a156200129b600039600081816106290152818161079101528181610f220152818161102a01528181611473015261157c0152612a156000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80638da5cb5b116100a2578063daaa360c11610071578063daaa360c14610287578063ef53d97a146102b7578063f0940002146102d5578063f2fde38b146102f3578063ff21c3ba1461030f57610116565b80638da5cb5b14610213578063a04daef014610231578063d196c2e31461024f578063d9b9a9611461026b57610116565b806352d1902d116100e957806352d1902d146101915780636f2ddd93146101af5780637104ddb2146101cd578063715018a6146101eb5780638a481dad146101f557610116565b806309bd5a601461011b57806309ed460714610139578063439fab911461015757806348f9b83114610173575b600080fd5b61012361032b565b6040516101309190612113565b60405180910390f35b61014161033e565b60405161014e9190612172565b60405180910390f35b610171600480360381019061016c9190611be5565b61042d565b005b61017b61046e565b60405161018891906122ad565b60405180910390f35b610199610561565b6040516101a69190612113565b60405180910390f35b6101b761058c565b6040516101c4919061212e565b60405180910390f35b6101d5610627565b6040516101e291906120dd565b60405180910390f35b6101f361064b565b005b6101fd6106d3565b60405161020a91906122c8565b60405180910390f35b61021b61075a565b60405161022891906120dd565b60405180910390f35b61023961078d565b60405161024691906120f8565b60405180910390f35b61026960048036038101906102649190611c9b565b6107e4565b005b61028560048036038101906102809190611c2e565b610903565b005b6102a1600480360381019061029c9190611b8b565b610a1c565b6040516102ae9190612172565b60405180910390f35b6102bf610b0e565b6040516102cc91906122c8565b60405180910390f35b6102dd610b66565b6040516102ea919061212e565b60405180910390f35b61030d60048036038101906103089190611b5e565b610c01565b005b61032960048036038101906103249190611c5b565b610cf9565b005b6000610335610ef5565b60030154905090565b6000610348610f1d565b90508073ffffffffffffffffffffffffffffffffffffffff1663439fab9161036e610ef5565b6001016040518263ffffffff1660e01b815260040161038d9190612150565b600060405180830381600087803b1580156103a757600080fd5b505af11580156103bb573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663f2fde38b336040518263ffffffff1660e01b81526004016103f891906120dd565b600060405180830381600087803b15801561041257600080fd5b505af1158015610426573d6000803e3d6000fd5b5050505090565b61046b6040518060400160405280601181526020017f0a0f120508021a01801a0210022202100b000000000000000000000000000000815250610e26565b50565b61047661198f565b61047e610ef5565b6004016040518060a00160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201600a9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016000820160129054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681525050905090565b60007f851d0a92a3ad30295bef33afc69d6874779826b7789386b336e22621365ed2c260001b905090565b6060610596610ef5565b60010180546105a49061258a565b80601f01602080910402602001604051908101604052809291908181526020018280546105d09061258a565b801561061d5780601f106105f25761010080835404028352916020019161061d565b820191906000526020600020905b81548152906001019060200180831161060057829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6106536110a6565b73ffffffffffffffffffffffffffffffffffffffff1661067161075a565b73ffffffffffffffffffffffffffffffffffffffff16146106c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106be9061224d565b60405180910390fd5b6106d160006110ae565b565b6000806106de610ef5565b600401905080600001600a9054906101000a900467ffffffffffffffff168160000160129054906101000a900467ffffffffffffffff1660026107219190612417565b61072b91906123d9565b8160000160009054906101000a900460ff1660ff1661074a9190612417565b67ffffffffffffffff1691505090565b6000610764610ef5565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415905090565b6107ec6110a6565b73ffffffffffffffffffffffffffffffffffffffff1661080a61075a565b73ffffffffffffffffffffffffffffffffffffffff1614610860576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108579061224d565b60405180910390fd5b600061086a610ef5565b6004019050828160000160006101000a81548160ff021916908360ff160217905550818160000160016101000a81548160ff021916908360ff1602179055506108fe83838360000160029054906101000a900467ffffffffffffffff1684600001600a9054906101000a900467ffffffffffffffff168560000160129054906101000a900467ffffffffffffffff16611186565b505050565b61090b6110a6565b73ffffffffffffffffffffffffffffffffffffffff1661092961075a565b73ffffffffffffffffffffffffffffffffffffffff161461097f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109769061224d565b60405180910390fd5b6000610989610ef5565b6004019050818160000160026101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550610a188160000160009054906101000a900460ff168260000160019054906101000a900460ff168484600001600a9054906101000a900467ffffffffffffffff168560000160129054906101000a900467ffffffffffffffff16611186565b5050565b6000610a278261146e565b90508073ffffffffffffffffffffffffffffffffffffffff1663439fab91610a4d610ef5565b6001016040518263ffffffff1660e01b8152600401610a6c9190612150565b600060405180830381600087803b158015610a8657600080fd5b505af1158015610a9a573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663f2fde38b336040518263ffffffff1660e01b8152600401610ad791906120dd565b600060405180830381600087803b158015610af157600080fd5b505af1158015610b05573d6000803e3d6000fd5b50505050919050565b600080610b19610ef5565b60040190508060000160029054906101000a900467ffffffffffffffff168160000160009054906101000a900460ff1660ff16610b569190612417565b67ffffffffffffffff1691505090565b6060610b70610ef5565b6002018054610b7e9061258a565b80601f0160208091040260200160405190810160405280929190818152602001828054610baa9061258a565b8015610bf75780601f10610bcc57610100808354040283529160200191610bf7565b820191906000526020600020905b815481529060010190602001808311610bda57829003601f168201915b5050505050905090565b610c096110a6565b73ffffffffffffffffffffffffffffffffffffffff16610c2761075a565b73ffffffffffffffffffffffffffffffffffffffff1614610c7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c749061224d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ced576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce49061218d565b60405180910390fd5b610cf6816110ae565b50565b610d016110a6565b73ffffffffffffffffffffffffffffffffffffffff16610d1f61075a565b73ffffffffffffffffffffffffffffffffffffffff1614610d75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6c9061224d565b60405180910390fd5b6000610d7f610ef5565b60040190508281600001600a6101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550818160000160126101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550610e218160000160009054906101000a900460ff168260000160019054906101000a900460ff168360000160029054906101000a900467ffffffffffffffff168686611186565b505050565b6000610e30610ef5565b6001018054610e3e9061258a565b905014610e80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e779061220d565b60405180910390fd5b610e89816115fa565b610e99610e946110a6565b6110ae565b50565b6000600282604051610eae919061206e565b602060405180830381855afa158015610ecb573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610eee9190611bb8565b9050919050565b60007f375930152e1d0d102998be6e496b0cee86c9ecd0efef01014ecff169b17dfba7905090565b6000807f000000000000000000000000000000000000000000000000000000000000000090506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160601b60148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f0925050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611011576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110089061228d565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff376596be5039d6b2fb36fead4c8a370eae426e790a869be8db074ab608cc24860405160405180910390a45090565b600033905090565b60006110b8610ef5565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816110e7610ef5565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008267ffffffffffffffff16116111d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ca906121cd565b60405180910390fd5b60018560ff16101580156111eb5750607f8560ff1611155b61122a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112219061222d565b60405180910390fd5b60338460ff1610158015611242575060638460ff1611155b611281576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611278906121ad565b60405180910390fd5b633b9aca008367ffffffffffffffff1610156112d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c99061226d565b60405180910390fd5b6112da610ef5565b6001016112eb601060f81b8461177d565b6112f9601860f81b88611978565b611307602060f81b8561177d565b611315602860f81b89611978565b611323603060f81b8961177d565b60405160200161133896959493929190612085565b60405160208183030381529060405261134f610ef5565b60020190805190602001906113659291906119e2565b50611402611371610ef5565b600201805461137f9061258a565b80601f01602080910402602001604051908101604052809291908181526020018280546113ab9061258a565b80156113f85780601f106113cd576101008083540402835291602001916113f8565b820191906000526020600020905b8154815290600101906020018083116113db57829003601f168201915b5050505050610e9c565b61140a610ef5565b600301819055503373ffffffffffffffffffffffffffffffffffffffff167f897a395aeb2699d9730b6377870654a5c371d6bb6dc4486cfc5c80eeafd095b0868686868660405161145f9594939291906122e3565b60405180910390a25050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000090506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160601b60148201527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006028820152836037826000f5925050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611563576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155a906121ed565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff376596be5039d6b2fb36fead4c8a370eae426e790a869be8db074ab608cc24860405160405180910390a450919050565b600081511161160c5761160b61261e565b5b80611615610ef5565b600101908051906020019061162b9291906119e2565b506000611636610ef5565b600401905060028160000160006101000a81548160ff021916908360ff16021790555060338160000160016101000a81548160ff021916908360ff160217905550633b9aca008160000160026101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506207a12081600001600a6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506203d0908160000160126101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506117798160000160009054906101000a900460ff168260000160019054906101000a900460ff168360000160029054906101000a900467ffffffffffffffff1684600001600a9054906101000a900467ffffffffffffffff168560000160129054906101000a900467ffffffffffffffff16611186565b5050565b606060008290506000600290505b607f8267ffffffffffffffff1611156117c35760078267ffffffffffffffff16901c91506001816117bc91906123d9565b905061178b565b60008167ffffffffffffffff1667ffffffffffffffff8111156117e9576117e86126da565b5b6040519080825280601f01601f19166020018201604052801561181b5781602001600182028036833780820191505090505b5090508492508581600081518110611836576118356126ab565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600190505b8267ffffffffffffffff168167ffffffffffffffff16101561190257607f841660801760f81b828267ffffffffffffffff16815181106118af576118ae6126ab565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060078467ffffffffffffffff16901c935080806118fa906125ed565b91505061186c565b50607f60f81b816001846119169190612459565b67ffffffffffffffff1681518110611931576119306126ab565b5b6020010181815160f81c60f81b169150907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080935050505092915050565b6060611987838360ff1661177d565b905092915050565b6040518060a00160405280600060ff168152602001600060ff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff1681525090565b8280546119ee9061258a565b90600052602060002090601f016020900481019282611a105760008555611a57565b82601f10611a2957805160ff1916838001178555611a57565b82800160010185558215611a57579182015b82811115611a56578251825591602001919060010190611a3b565b5b509050611a649190611a68565b5090565b5b80821115611a81576000816000905550600101611a69565b5090565b6000611a98611a938461235b565b612336565b905082815260208101848484011115611ab457611ab361270e565b5b611abf848285612548565b509392505050565b600081359050611ad681612983565b92915050565b600081359050611aeb8161299a565b92915050565b600081519050611b008161299a565b92915050565b600082601f830112611b1b57611b1a612709565b5b8135611b2b848260208601611a85565b91505092915050565b600081359050611b43816129b1565b92915050565b600081359050611b58816129c8565b92915050565b600060208284031215611b7457611b73612718565b5b6000611b8284828501611ac7565b91505092915050565b600060208284031215611ba157611ba0612718565b5b6000611baf84828501611adc565b91505092915050565b600060208284031215611bce57611bcd612718565b5b6000611bdc84828501611af1565b91505092915050565b600060208284031215611bfb57611bfa612718565b5b600082013567ffffffffffffffff811115611c1957611c18612713565b5b611c2584828501611b06565b91505092915050565b600060208284031215611c4457611c43612718565b5b6000611c5284828501611b34565b91505092915050565b60008060408385031215611c7257611c71612718565b5b6000611c8085828601611b34565b9250506020611c9185828601611b34565b9150509250929050565b60008060408385031215611cb257611cb1612718565b5b6000611cc085828601611b49565b9250506020611cd185828601611b49565b9150509250929050565b611ce48161248d565b82525050565b611cf38161249f565b82525050565b611d02816124ab565b82525050565b6000611d13826123a1565b611d1d81856123ac565b9350611d2d818560208601612557565b611d368161271d565b840191505092915050565b6000611d4c826123a1565b611d5681856123bd565b9350611d66818560208601612557565b80840191505092915050565b60008154611d7f8161258a565b611d8981866123ac565b94506001821660008114611da45760018114611db657611de9565b60ff1983168652602086019350611de9565b611dbf8561238c565b60005b83811015611de157815481890152600182019150602081019050611dc2565b808801955050505b50505092915050565b60008154611dff8161258a565b611e0981866123bd565b94506001821660008114611e245760018114611e3557611e68565b60ff19831686528186019350611e68565b611e3e8561238c565b60005b83811015611e6057815481890152600182019150602081019050611e41565b838801955050505b50505092915050565b611e7a81612512565b82525050565b6000611e8d6026836123c8565b9150611e988261272e565b604082019050919050565b6000611eb0603d836123c8565b9150611ebb8261277d565b604082019050919050565b6000611ed36025836123c8565b9150611ede826127cc565b604082019050919050565b6000611ef66018836123c8565b9150611f018261281b565b602082019050919050565b6000611f19602f836123c8565b9150611f2482612844565b604082019050919050565b6000611f3c603c836123c8565b9150611f4782612893565b604082019050919050565b6000611f5f6020836123c8565b9150611f6a826128e2565b602082019050919050565b6000611f82603d836123c8565b9150611f8d8261290b565b604082019050919050565b6000611fa56017836123c8565b9150611fb08261295a565b602082019050919050565b60a082016000820151611fd16000850182612050565b506020820151611fe46020850182612050565b506040820151611ff76040850182612032565b50606082015161200a6060850182612032565b50608082015161201d6080850182612032565b50505050565b61202c816124b5565b82525050565b61203b816124f1565b82525050565b61204a816124f1565b82525050565b61205981612505565b82525050565b61206881612505565b82525050565b600061207a8284611d41565b915081905092915050565b60006120918289611df2565b915061209d8288611d41565b91506120a98287611d41565b91506120b58286611d41565b91506120c18285611d41565b91506120cd8284611d41565b9150819050979650505050505050565b60006020820190506120f26000830184611cdb565b92915050565b600060208201905061210d6000830184611cea565b92915050565b60006020820190506121286000830184611cf9565b92915050565b600060208201905081810360008301526121488184611d08565b905092915050565b6000602082019050818103600083015261216a8184611d72565b905092915050565b60006020820190506121876000830184611e71565b92915050565b600060208201905081810360008301526121a681611e80565b9050919050565b600060208201905081810360008301526121c681611ea3565b9050919050565b600060208201905081810360008301526121e681611ec6565b9050919050565b6000602082019050818103600083015261220681611ee9565b9050919050565b6000602082019050818103600083015261222681611f0c565b9050919050565b6000602082019050818103600083015261224681611f2f565b9050919050565b6000602082019050818103600083015261226681611f52565b9050919050565b6000602082019050818103600083015261228681611f75565b9050919050565b600060208201905081810360008301526122a681611f98565b9050919050565b600060a0820190506122c26000830184611fbb565b92915050565b60006020820190506122dd6000830184612023565b92915050565b600060a0820190506122f8600083018861205f565b612305602083018761205f565b6123126040830186612041565b61231f6060830185612041565b61232c6080830184612041565b9695505050505050565b6000612340612351565b905061234c82826125bc565b919050565b6000604051905090565b600067ffffffffffffffff821115612376576123756126da565b5b61237f8261271d565b9050602081019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006123e4826124f1565b91506123ef836124f1565b92508267ffffffffffffffff0382111561240c5761240b61264d565b5b828201905092915050565b6000612422826124f1565b915061242d836124f1565b92508167ffffffffffffffff048311821515161561244e5761244d61264d565b5b828202905092915050565b6000612464826124f1565b915061246f836124f1565b9250828210156124825761248161264d565b5b828203905092915050565b6000612498826124d1565b9050919050565b60008115159050919050565b6000819050919050565b60006fffffffffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b600061251d82612524565b9050919050565b600061252f82612536565b9050919050565b6000612541826124d1565b9050919050565b82818337600083830152505050565b60005b8381101561257557808201518184015260208101905061255a565b83811115612584576000848401525b50505050565b600060028204905060018216806125a257607f821691505b602082108114156125b6576125b561267c565b5b50919050565b6125c58261271d565b810181811067ffffffffffffffff821117156125e4576125e36126da565b5b80604052505050565b60006125f8826124f1565b915067ffffffffffffffff8214156126135761261261264d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a207769746e60008201527f657373696e6720636f6e73656e737573206f7574206f662072616e6765000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a206e6f207260008201527f6577617264000000000000000000000000000000000000000000000000000000602082015250565b7f436c6f6e61626c653a2043524541544532206661696c65640000000000000000600082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a20616c726560008201527f61647920696e697469616c697a65640000000000000000000000000000000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a206e756d6260008201527f6572206f66207769746e6573736573206f7574206f662072616e676500000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a207769746e60008201527f657373696e6720636f6c6c61746572616c2062656c6f77203120574954000000602082015250565b7f436c6f6e61626c653a20435245415445206661696c6564000000000000000000600082015250565b61298c8161248d565b811461299757600080fd5b50565b6129a3816124ab565b81146129ae57600080fd5b50565b6129ba816124f1565b81146129c557600080fd5b50565b6129d181612505565b81146129dc57600080fd5b5056fea264697066735822122018d3be95fdcbd8bc6f0654dc2eb3dcdc04b923b60a7642bd2f454937f279d0f064736f6c63430008070033","opcodes":"PUSH1 0xC0 PUSH1 0x40 MSTORE ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xA0 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 SHL DUP2 MSTORE POP CALLVALUE DUP1 ISZERO PUSH3 0x47 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x70E3 CODESIZE SUB DUP1 PUSH3 0x70E3 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x6D SWAP2 SWAP1 PUSH3 0x23F JUMP JUMPDEST DUP1 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH3 0xE1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0xD8 SWAP1 PUSH3 0x2C6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 SHL DUP2 MSTORE POP POP POP PUSH1 0x40 MLOAD PUSH3 0x127 SWAP1 PUSH3 0x21A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0x144 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF2FDE38B CALLER PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1DF SWAP2 SWAP1 PUSH3 0x2A9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH3 0x1FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH3 0x20F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP PUSH3 0x39D JUMP JUMPDEST PUSH2 0x3CB0 DUP1 PUSH3 0x3433 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x239 DUP2 PUSH3 0x383 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0x258 JUMPI PUSH3 0x257 PUSH3 0x355 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH3 0x268 DUP5 DUP3 DUP6 ADD PUSH3 0x228 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x27C DUP2 PUSH3 0x2F9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x291 PUSH1 0x19 DUP4 PUSH3 0x2E8 JUMP JUMPDEST SWAP2 POP PUSH3 0x29E DUP3 PUSH3 0x35A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x2C0 PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x271 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x2E1 DUP2 PUSH3 0x282 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x306 DUP3 PUSH3 0x335 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x31A DUP3 PUSH3 0x335 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x32E DUP3 PUSH3 0x30D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x5573696E675769746E65743A207A65726F206164647265737300000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH3 0x38E DUP2 PUSH3 0x321 JUMP JUMPDEST DUP2 EQ PUSH3 0x39A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0x60 SHR PUSH1 0xA0 MLOAD PUSH1 0x60 SHR PUSH2 0x3008 PUSH3 0x42B PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x960 ADD MSTORE DUP2 DUP2 PUSH2 0x9CA ADD MSTORE DUP2 DUP2 PUSH2 0xECB ADD MSTORE DUP2 DUP2 PUSH2 0xFD3 ADD MSTORE DUP2 DUP2 PUSH2 0x1507 ADD MSTORE PUSH2 0x1610 ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH2 0x703 ADD MSTORE DUP2 DUP2 PUSH2 0xCF5 ADD MSTORE DUP2 DUP2 PUSH2 0xDA3 ADD MSTORE DUP2 DUP2 PUSH2 0x12C6 ADD MSTORE DUP2 DUP2 PUSH2 0x138F ADD MSTORE DUP2 DUP2 PUSH2 0x1454 ADD MSTORE DUP2 DUP2 PUSH2 0x1693 ADD MSTORE DUP2 DUP2 PUSH2 0x1763 ADD MSTORE DUP2 DUP2 PUSH2 0x19E1 ADD MSTORE PUSH2 0x1A98 ADD MSTORE PUSH2 0x3008 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x109 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9938FD0C GT PUSH2 0x95 JUMPI DUP1 PUSH4 0xA60EE268 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xA60EE268 EQ PUSH2 0x38B JUMPI DUP1 PUSH4 0xDAAA360C EQ PUSH2 0x3C8 JUMPI DUP1 PUSH4 0xE35329F8 EQ PUSH2 0x405 JUMPI DUP1 PUSH4 0xE7D4A016 EQ PUSH2 0x435 JUMPI DUP1 PUSH4 0xFB476CAD EQ PUSH2 0x472 JUMPI PUSH2 0x109 JUMP JUMPDEST DUP1 PUSH4 0x9938FD0C EQ PUSH2 0x2B8 JUMPI DUP1 PUSH4 0x9BC86FEC EQ PUSH2 0x2E3 JUMPI DUP1 PUSH4 0xA04DAEF0 EQ PUSH2 0x320 JUMPI DUP1 PUSH4 0xA3252F68 EQ PUSH2 0x34B JUMPI PUSH2 0x109 JUMP JUMPDEST DUP1 PUSH4 0x40B41DAA GT PUSH2 0xDC JUMPI DUP1 PUSH4 0x40B41DAA EQ PUSH2 0x1DE JUMPI DUP1 PUSH4 0x439FAB91 EQ PUSH2 0x21B JUMPI DUP1 PUSH4 0x46D1D21A EQ PUSH2 0x244 JUMPI DUP1 PUSH4 0x699B328A EQ PUSH2 0x26F JUMPI DUP1 PUSH4 0x7104DDB2 EQ PUSH2 0x28D JUMPI PUSH2 0x109 JUMP JUMPDEST DUP1 PUSH4 0x9ED4607 EQ PUSH2 0x10E JUMPI DUP1 PUSH4 0x24CBBFC1 EQ PUSH2 0x139 JUMPI DUP1 PUSH4 0x36B651BB EQ PUSH2 0x176 JUMPI DUP1 PUSH4 0x3B13E76E EQ PUSH2 0x1B3 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x123 PUSH2 0x4AF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x130 SWAP2 SWAP1 PUSH2 0x2626 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x145 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x160 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15B SWAP2 SWAP1 PUSH2 0x219C JUMP JUMPDEST PUSH2 0x4C7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x16D SWAP2 SWAP1 PUSH2 0x27D8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x182 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x19D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x198 SWAP2 SWAP1 PUSH2 0x20EF JUMP JUMPDEST PUSH2 0x50D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AA SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C8 PUSH2 0x55C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D5 SWAP2 SWAP1 PUSH2 0x2677 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x205 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x200 SWAP2 SWAP1 PUSH2 0x20EF JUMP JUMPDEST PUSH2 0x580 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x212 SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x227 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x242 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x23D SWAP2 SWAP1 PUSH2 0x2003 JUMP JUMPDEST PUSH2 0x61C JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x250 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x259 PUSH2 0x701 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x266 SWAP2 SWAP1 PUSH2 0x265C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x277 PUSH2 0x725 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x284 SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x299 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2A2 PUSH2 0x95E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2AF SWAP2 SWAP1 PUSH2 0x251C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2CD PUSH2 0x982 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2DA SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x30A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x305 SWAP2 SWAP1 PUSH2 0x20EF JUMP JUMPDEST PUSH2 0x988 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x317 SWAP2 SWAP1 PUSH2 0x25A5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x335 PUSH2 0x9C6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x342 SWAP2 SWAP1 PUSH2 0x25A5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x357 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x372 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x36D SWAP2 SWAP1 PUSH2 0x20EF JUMP JUMPDEST PUSH2 0xA1D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x382 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2560 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x397 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3AD SWAP2 SWAP1 PUSH2 0x20EF JUMP JUMPDEST PUSH2 0xA7E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3BF SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3EA SWAP2 SWAP1 PUSH2 0x1FA9 JUMP JUMPDEST PUSH2 0xA90 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3FC SWAP2 SWAP1 PUSH2 0x2626 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x41F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x41A SWAP2 SWAP1 PUSH2 0x20EF JUMP JUMPDEST PUSH2 0xAAB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x42C SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x441 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x457 SWAP2 SWAP1 PUSH2 0x2149 JUMP JUMPDEST PUSH2 0xB40 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x469 SWAP2 SWAP1 PUSH2 0x27D8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x47E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x499 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x494 SWAP2 SWAP1 PUSH2 0x20EF JUMP JUMPDEST PUSH2 0xBC7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4A6 SWAP2 SWAP1 PUSH2 0x25C0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x4B9 PUSH2 0xEC6 JUMP JUMPDEST SWAP1 POP PUSH2 0x4C4 DUP2 PUSH2 0x104F JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x504 DUP5 DUP5 CALLER PUSH2 0x4D8 DUP7 PUSH2 0xBC7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x4E9 SWAP3 SWAP2 SWAP1 PUSH2 0x2537 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0xB40 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 GT PUSH2 0x51F JUMPI PUSH2 0x51E PUSH2 0x2C52 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH1 0x1 SLOAD SWAP1 POP DUP1 DUP4 GT PUSH2 0x552 JUMPI PUSH2 0x54D DUP4 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x11ED JUMP JUMPDEST PUSH2 0x554 JUMP JUMPDEST DUP1 JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x5FD JUMPI PUSH2 0x5F8 DUP3 PUSH1 0x1 SLOAD PUSH2 0x1225 JUMP JUMPDEST PUSH2 0x615 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD SLOAD JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x6AB JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6A2 SWAP1 PUSH2 0x26B2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x6BF SWAP2 SWAP1 PUSH2 0x1F4F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 NUMBER PUSH1 0x1 SLOAD LT ISZERO PUSH2 0x94A JUMPI PUSH1 0x0 PUSH2 0x75C PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1274 JUMP JUMPDEST DUP1 SWAP4 POP DUP2 SWAP3 POP POP POP PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 NUMBER DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP2 DUP2 PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP CALLER DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x1 SLOAD SWAP1 POP DUP1 DUP3 PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP NUMBER PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP NUMBER PUSH1 0x1 DUP2 SWAP1 SSTORE POP DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xAF291BB4E1767569C77502EDB6AD1009E856F57C09F214886C6BECC9836C20C0 DUP6 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x9BD5A60 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 0x899 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x8AD 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 0x8D1 SWAP2 SWAP1 PUSH2 0x1FD6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8DF SWAP3 SWAP2 SWAP1 PUSH2 0x27AF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 CALLVALUE DUP5 LT ISZERO PUSH2 0x942 JUMPI CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP6 CALLVALUE PUSH2 0x915 SWAP2 SWAP1 PUSH2 0x2A52 JUMP JUMPDEST SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x940 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMPDEST POP POP POP PUSH2 0x95A JUMP JUMPDEST PUSH2 0x953 NUMBER PUSH2 0xAAB JUMP JUMPDEST SWAP1 POP PUSH2 0x95B JUMP JUMPDEST JUMPDEST SWAP1 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x3 ADD SLOAD EQ ISZERO DUP1 ISZERO PUSH2 0x9BE JUMPI POP PUSH2 0x9BD DUP2 PUSH1 0x3 ADD SLOAD PUSH2 0x1377 JUMP JUMPDEST JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x3 ADD SLOAD SWAP4 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP5 POP DUP1 PUSH1 0x1 ADD SLOAD SWAP3 POP DUP1 PUSH1 0x2 ADD SLOAD SWAP2 POP POP SWAP2 SWAP4 POP SWAP2 SWAP4 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA89 DUP3 PUSH2 0x1450 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA9B DUP3 PUSH2 0x1502 JUMP JUMPDEST SWAP1 POP PUSH2 0xAA6 DUP2 PUSH2 0x104F JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x3 ADD SLOAD EQ PUSH2 0xADF JUMPI PUSH2 0xADC DUP2 PUSH1 0x3 ADD SLOAD PUSH2 0x168E JUMP JUMPDEST SWAP2 POP JUMPDEST CALLVALUE DUP3 LT ISZERO PUSH2 0xB3A JUMPI CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP4 CALLVALUE PUSH2 0xB0D SWAP2 SWAP1 PUSH2 0x2A52 JUMP JUMPDEST SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0xB38 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB4C DUP6 PUSH2 0x17F8 JUMP JUMPDEST PUSH1 0xFF PUSH2 0xB58 SWAP2 SWAP1 PUSH2 0x2A86 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x1 DUP3 PUSH1 0x2 PUSH2 0xB6B SWAP2 SWAP1 PUSH2 0x28DA JUMP JUMPDEST PUSH2 0xB75 SWAP2 SWAP1 PUSH2 0x2A52 JUMP JUMPDEST DUP5 DUP7 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB88 SWAP3 SWAP2 SWAP1 PUSH2 0x25DB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x0 SHR AND SWAP1 POP DUP2 PUSH1 0xFF AND DUP7 PUSH4 0xFFFFFFFF AND DUP3 PUSH2 0xBBA SWAP2 SWAP1 PUSH2 0x29F8 JUMP JUMPDEST SWAP1 SHR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xC3F JUMPI PUSH2 0xC3C DUP3 PUSH2 0x580 JUMP JUMPDEST SWAP2 POP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD SLOAD SWAP1 POP PUSH1 0x0 DUP2 EQ ISZERO PUSH2 0xC9E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC95 SWAP1 PUSH2 0x2732 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xCA7 DUP2 PUSH2 0x1377 JUMP JUMPDEST PUSH2 0xCE6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCDD SWAP1 PUSH2 0x26D2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xCF1 DUP3 PUSH2 0x19D7 JUMP JUMPDEST SWAP1 POP PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA8604C1A DUP3 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD4C SWAP2 SWAP1 PUSH2 0x2772 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD78 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 0xD9C SWAP2 SWAP1 PUSH2 0x1F7C JUMP JUMPDEST ISZERO PUSH2 0xE53 JUMPI PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xCF62D115 DUP3 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDFA SWAP2 SWAP1 PUSH2 0x2772 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xE12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE26 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 0xE4A SWAP2 SWAP1 PUSH2 0x1FD6 JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0xEC1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 POP PUSH1 0x0 DUP2 EQ ISZERO PUSH2 0xEB2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xEA9 SWAP1 PUSH2 0x2692 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xEBB DUP2 PUSH2 0xBC7 JUMP JUMPDEST SWAP4 POP POP POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 SWAP1 POP PUSH1 0x40 MLOAD PUSH32 0x3D602D80600A3D3981F3363D3D373D3D3D363D73000000000000000000000000 DUP2 MSTORE DUP2 PUSH1 0x60 SHL PUSH1 0x14 DUP3 ADD MSTORE PUSH32 0x5AF43D82803E903D91602B57FD5BF30000000000000000000000000000000000 PUSH1 0x28 DUP3 ADD MSTORE PUSH1 0x37 DUP2 PUSH1 0x0 CREATE SWAP3 POP POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xFBA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFB1 SWAP1 PUSH2 0x2752 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF376596BE5039D6B2FB36FEAD4C8A370EAE426E790A869BE8DB074AB608CC248 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x9ED4607 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x10BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x10CE 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 0x10F2 SWAP2 SWAP1 PUSH2 0x204C JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF2FDE38B CALLER PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x112D SWAP2 SWAP1 PUSH2 0x251C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1147 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x115B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x439FAB91 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x118C SWAP2 SWAP1 PUSH2 0x251C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11B7 SWAP2 SWAP1 PUSH2 0x2604 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x11D1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x11E5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 GT PUSH2 0x121B JUMPI PUSH2 0x1216 DUP4 PUSH1 0x2 PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x11ED JUMP JUMPDEST PUSH2 0x121D JUMP JUMPDEST DUP2 JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT ISZERO PUSH2 0x1254 JUMPI PUSH2 0x124F DUP4 PUSH1 0x2 PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x1225 JUMP JUMPDEST PUSH2 0x126C JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD SLOAD JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x127F PUSH2 0x1A94 JUMP JUMPDEST SWAP1 POP CALLVALUE DUP2 GT ISZERO PUSH2 0x12C4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12BB SWAP1 PUSH2 0x26F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xB281A7BD DUP3 DUP6 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x131E SWAP2 SWAP1 PUSH2 0x2641 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1337 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x134B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP 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 0x1370 SWAP2 SWAP1 PUSH2 0x211C JUMP JUMPDEST SWAP2 POP SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x138D JUMPI PUSH2 0x138C PUSH2 0x2CB0 JUMP JUMPDEST JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6F07ABCC DUP5 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x13E6 SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x13FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1412 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 0x1436 SWAP2 SWAP1 PUSH2 0x2079 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1448 JUMPI PUSH2 0x1447 PUSH2 0x2CB0 JUMP JUMPDEST JUMPDEST EQ SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xD2E87561 DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14AB SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x14C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x14D7 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 0x14FB SWAP2 SWAP1 PUSH2 0x211C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 SWAP1 POP PUSH1 0x40 MLOAD PUSH32 0x3D602D80600A3D3981F3363D3D373D3D3D363D73000000000000000000000000 DUP2 MSTORE DUP2 PUSH1 0x60 SHL PUSH1 0x14 DUP3 ADD MSTORE PUSH32 0x5AF43D82803E903D91602B57FD5BF30000000000000000000000000000000000 PUSH1 0x28 DUP3 ADD MSTORE DUP4 PUSH1 0x37 DUP3 PUSH1 0x0 CREATE2 SWAP3 POP POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x15F7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15EE SWAP1 PUSH2 0x2712 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF376596BE5039D6B2FB36FEAD4C8A370EAE426E790A869BE8DB074AB608CC248 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x1DD27DAF DUP5 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16EA SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1702 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1716 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 0x173A SWAP2 SWAP1 PUSH2 0x211C JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1746 PUSH2 0x1A94 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 DUP3 GT ISZERO PUSH2 0x1761 JUMPI DUP3 DUP3 PUSH2 0x175E SWAP2 SWAP1 PUSH2 0x2A52 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x66BFDC75 DUP3 DUP8 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x17BB SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x17D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x17E8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP DUP1 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 MLOAD DUP1 PUSH2 0x400 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x9 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xA PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xD PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x15 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1D PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xB PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xE PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x10 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x12 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x16 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x19 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1E PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x8 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xC PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x14 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1C PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xF PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x11 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x18 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x7 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x13 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1B PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x17 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1A PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1F PUSH1 0xFF AND DUP2 MSTORE POP SWAP1 POP PUSH1 0x1 DUP4 PUSH4 0xFFFFFFFF AND SWAP1 SHR DUP4 OR SWAP3 POP PUSH1 0x2 DUP4 PUSH4 0xFFFFFFFF AND SWAP1 SHR DUP4 OR SWAP3 POP PUSH1 0x4 DUP4 PUSH4 0xFFFFFFFF AND SWAP1 SHR DUP4 OR SWAP3 POP PUSH1 0x8 DUP4 PUSH4 0xFFFFFFFF AND SWAP1 SHR DUP4 OR SWAP3 POP PUSH1 0x10 DUP4 PUSH4 0xFFFFFFFF AND SWAP1 SHR DUP4 OR SWAP3 POP DUP1 PUSH1 0x1B PUSH4 0x7C4ACDD DUP6 PUSH4 0xFFFFFFFF AND PUSH2 0x19AB SWAP2 SWAP1 PUSH2 0x29F8 JUMP JUMPDEST PUSH4 0xFFFFFFFF AND SWAP1 SHR PUSH4 0xFFFFFFFF AND PUSH1 0x20 DUP2 LT PUSH2 0x19CA JUMPI PUSH2 0x19C9 PUSH2 0x2CDF JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD MLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x19DF PUSH2 0x1B44 JUMP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xD4DA69AC DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A38 SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1A50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1A64 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A8D SWAP2 SWAP1 PUSH2 0x20A6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xD2E87561 GASPRICE PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1AEF SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1B07 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B1B 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 0x1B3F SWAP2 SWAP1 PUSH2 0x211C JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B60 PUSH2 0x1B66 JUMP JUMPDEST DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH2 0x1B79 PUSH2 0x1BBF JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BF2 PUSH2 0x1BED DUP5 PUSH2 0x2818 JUMP JUMPDEST PUSH2 0x27F3 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1C0E JUMPI PUSH2 0x1C0D PUSH2 0x2D4C JUMP JUMPDEST JUMPDEST PUSH2 0x1C19 DUP5 DUP3 DUP6 PUSH2 0x2BDF JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C34 PUSH2 0x1C2F DUP5 PUSH2 0x2818 JUMP JUMPDEST PUSH2 0x27F3 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1C50 JUMPI PUSH2 0x1C4F PUSH2 0x2D4C JUMP JUMPDEST JUMPDEST PUSH2 0x1C5B DUP5 DUP3 DUP6 PUSH2 0x2BEE JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1C72 DUP2 PUSH2 0x2F0A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1C87 DUP2 PUSH2 0x2F21 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1C9C DUP2 PUSH2 0x2F38 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1CB1 DUP2 PUSH2 0x2F38 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1CCC JUMPI PUSH2 0x1CCB PUSH2 0x2D3D JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1CDC DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1BDF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1CFA JUMPI PUSH2 0x1CF9 PUSH2 0x2D3D JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x1D0A DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1C21 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1D22 DUP2 PUSH2 0x2F4F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1D37 DUP2 PUSH2 0x2F66 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D53 JUMPI PUSH2 0x1D52 PUSH2 0x2D42 JUMP JUMPDEST JUMPDEST PUSH2 0x1D5D PUSH1 0x40 PUSH2 0x27F3 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D7D JUMPI PUSH2 0x1D7C PUSH2 0x2D47 JUMP JUMPDEST JUMPDEST PUSH2 0x1D89 DUP5 DUP3 DUP6 ADD PUSH2 0x1CE5 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x1D9D DUP5 DUP3 DUP6 ADD PUSH2 0x1F10 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1DBF JUMPI PUSH2 0x1DBE PUSH2 0x2D42 JUMP JUMPDEST JUMPDEST PUSH2 0x1DC9 PUSH1 0xC0 PUSH2 0x27F3 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1DE9 JUMPI PUSH2 0x1DE8 PUSH2 0x2D47 JUMP JUMPDEST JUMPDEST PUSH2 0x1DF5 DUP5 DUP3 DUP6 ADD PUSH2 0x1D3D JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x1E09 DUP5 DUP3 DUP6 ADD PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 PUSH2 0x1E1D DUP5 DUP3 DUP6 ADD PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 PUSH2 0x1E31 DUP5 DUP3 DUP6 ADD PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 PUSH2 0x1E45 DUP5 DUP3 DUP6 ADD PUSH2 0x1F25 JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 PUSH2 0x1E59 DUP5 DUP3 DUP6 ADD PUSH2 0x1F25 JUMP JUMPDEST PUSH1 0xA0 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1E7B JUMPI PUSH2 0x1E7A PUSH2 0x2D42 JUMP JUMPDEST JUMPDEST PUSH2 0x1E85 PUSH1 0x40 PUSH2 0x27F3 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1E95 DUP5 DUP3 DUP6 ADD PUSH2 0x1C78 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1EB9 JUMPI PUSH2 0x1EB8 PUSH2 0x2D47 JUMP JUMPDEST JUMPDEST PUSH2 0x1EC5 DUP5 DUP3 DUP6 ADD PUSH2 0x1DA9 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1EE0 DUP2 PUSH2 0x2F76 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1EF5 DUP2 PUSH2 0x2F76 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1F0A DUP2 PUSH2 0x2F8D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1F1F DUP2 PUSH2 0x2F8D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1F34 DUP2 PUSH2 0x2FA4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1F49 DUP2 PUSH2 0x2FBB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1F65 JUMPI PUSH2 0x1F64 PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1F73 DUP5 DUP3 DUP6 ADD PUSH2 0x1C63 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1F92 JUMPI PUSH2 0x1F91 PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1FA0 DUP5 DUP3 DUP6 ADD PUSH2 0x1C78 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1FBF JUMPI PUSH2 0x1FBE PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1FCD DUP5 DUP3 DUP6 ADD PUSH2 0x1C8D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1FEC JUMPI PUSH2 0x1FEB PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1FFA DUP5 DUP3 DUP6 ADD PUSH2 0x1CA2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2019 JUMPI PUSH2 0x2018 PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2037 JUMPI PUSH2 0x2036 PUSH2 0x2D51 JUMP JUMPDEST JUMPDEST PUSH2 0x2043 DUP5 DUP3 DUP6 ADD PUSH2 0x1CB7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2062 JUMPI PUSH2 0x2061 PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2070 DUP5 DUP3 DUP6 ADD PUSH2 0x1D13 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x208F JUMPI PUSH2 0x208E PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x209D DUP5 DUP3 DUP6 ADD PUSH2 0x1D28 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x20BC JUMPI PUSH2 0x20BB PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x20DA JUMPI PUSH2 0x20D9 PUSH2 0x2D51 JUMP JUMPDEST JUMPDEST PUSH2 0x20E6 DUP5 DUP3 DUP6 ADD PUSH2 0x1E65 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2105 JUMPI PUSH2 0x2104 PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2113 DUP5 DUP3 DUP6 ADD PUSH2 0x1ED1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2132 JUMPI PUSH2 0x2131 PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2140 DUP5 DUP3 DUP6 ADD PUSH2 0x1EE6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2162 JUMPI PUSH2 0x2161 PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2170 DUP7 DUP3 DUP8 ADD PUSH2 0x1EFB JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x2181 DUP7 DUP3 DUP8 ADD PUSH2 0x1ED1 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x2192 DUP7 DUP3 DUP8 ADD PUSH2 0x1C8D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x21B5 JUMPI PUSH2 0x21B4 PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x21C3 DUP7 DUP3 DUP8 ADD PUSH2 0x1EFB JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x21D4 DUP7 DUP3 DUP8 ADD PUSH2 0x1ED1 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x21E5 DUP7 DUP3 DUP8 ADD PUSH2 0x1ED1 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x21F8 DUP2 PUSH2 0x2ABA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2207 DUP2 PUSH2 0x2ADE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2216 DUP2 PUSH2 0x2ADE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2225 DUP2 PUSH2 0x2AEA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2236 DUP3 PUSH2 0x2849 JUMP JUMPDEST PUSH2 0x2240 DUP2 DUP6 PUSH2 0x2854 JUMP JUMPDEST SWAP4 POP PUSH2 0x2250 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2BEE JUMP JUMPDEST PUSH2 0x2259 DUP2 PUSH2 0x2D5B JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x226F DUP3 PUSH2 0x2849 JUMP JUMPDEST PUSH2 0x2279 DUP2 DUP6 PUSH2 0x2865 JUMP JUMPDEST SWAP4 POP PUSH2 0x2289 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2BEE JUMP JUMPDEST PUSH2 0x2292 DUP2 PUSH2 0x2D5B JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x22A6 DUP2 PUSH2 0x2B61 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x22B5 DUP2 PUSH2 0x2B73 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x22C4 DUP2 PUSH2 0x2B85 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x22D3 DUP2 PUSH2 0x2B97 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22E6 PUSH1 0x22 DUP4 PUSH2 0x2876 JUMP JUMPDEST SWAP2 POP PUSH2 0x22F1 DUP3 PUSH2 0x2D79 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2309 PUSH1 0x25 DUP4 PUSH2 0x2876 JUMP JUMPDEST SWAP2 POP PUSH2 0x2314 DUP3 PUSH2 0x2DC8 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x232C PUSH1 0x23 DUP4 PUSH2 0x2876 JUMP JUMPDEST SWAP2 POP PUSH2 0x2337 DUP3 PUSH2 0x2E17 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x234F PUSH1 0x1B DUP4 PUSH2 0x2876 JUMP JUMPDEST SWAP2 POP PUSH2 0x235A DUP3 PUSH2 0x2E66 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2372 PUSH1 0x18 DUP4 PUSH2 0x2876 JUMP JUMPDEST SWAP2 POP PUSH2 0x237D DUP3 PUSH2 0x2E8F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2395 PUSH1 0x20 DUP4 PUSH2 0x2876 JUMP JUMPDEST SWAP2 POP PUSH2 0x23A0 DUP3 PUSH2 0x2EB8 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23B8 PUSH1 0x17 DUP4 PUSH2 0x2876 JUMP JUMPDEST SWAP2 POP PUSH2 0x23C3 DUP3 PUSH2 0x2EE1 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x23EB DUP3 DUP3 PUSH2 0x222B JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x2400 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x24E0 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x2428 DUP3 DUP3 PUSH2 0x23CE JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x243D PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x250D JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x2450 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x250D JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x2463 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x250D JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x2476 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x24FE JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x2489 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x24FE JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x24AC PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x21FE JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x24C4 DUP3 DUP3 PUSH2 0x240B JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x24DA DUP2 PUSH2 0x2B26 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x24E9 DUP2 PUSH2 0x2B30 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x24F8 DUP2 PUSH2 0x2B30 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2507 DUP2 PUSH2 0x2B40 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2516 DUP2 PUSH2 0x2B54 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2531 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x21EF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x254C PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x21EF JUMP JUMPDEST PUSH2 0x2559 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x221C JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x2575 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x21EF JUMP JUMPDEST PUSH2 0x2582 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x24D1 JUMP JUMPDEST PUSH2 0x258F PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x24D1 JUMP JUMPDEST PUSH2 0x259C PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x24D1 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x25BA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x220D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x25D5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x221C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x25F0 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x221C JUMP JUMPDEST PUSH2 0x25FD PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x24D1 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x261E DUP2 DUP5 PUSH2 0x2264 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x263B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x229D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2656 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x22AC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2671 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x22BB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x268C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x22CA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x26AB DUP2 PUSH2 0x22D9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x26CB DUP2 PUSH2 0x22FC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x26EB DUP2 PUSH2 0x231F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x270B DUP2 PUSH2 0x2342 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x272B DUP2 PUSH2 0x2365 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x274B DUP2 PUSH2 0x2388 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x276B DUP2 PUSH2 0x23AB JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x278C DUP2 DUP5 PUSH2 0x2494 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x27A9 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x24D1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x27C4 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x24D1 JUMP JUMPDEST PUSH2 0x27D1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x221C JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x27ED PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x24EF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27FD PUSH2 0x280E JUMP JUMPDEST SWAP1 POP PUSH2 0x2809 DUP3 DUP3 PUSH2 0x2C21 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x2833 JUMPI PUSH2 0x2832 PUSH2 0x2D0E JUMP JUMPDEST JUMPDEST PUSH2 0x283C DUP3 PUSH2 0x2D5B JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP2 POP DUP4 SWAP1 POP JUMPDEST PUSH1 0x1 DUP6 GT ISZERO PUSH2 0x28D1 JUMPI DUP1 DUP7 DIV DUP2 GT ISZERO PUSH2 0x28AD JUMPI PUSH2 0x28AC PUSH2 0x2C81 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP6 AND ISZERO PUSH2 0x28BC JUMPI DUP1 DUP3 MUL SWAP2 POP JUMPDEST DUP1 DUP2 MUL SWAP1 POP PUSH2 0x28CA DUP6 PUSH2 0x2D6C JUMP JUMPDEST SWAP5 POP PUSH2 0x2891 JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28E5 DUP3 PUSH2 0x2B26 JUMP JUMPDEST SWAP2 POP PUSH2 0x28F0 DUP4 PUSH2 0x2B54 JUMP JUMPDEST SWAP3 POP PUSH2 0x291D PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 DUP5 PUSH2 0x2925 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2935 JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x29F1 JUMP JUMPDEST DUP2 PUSH2 0x2943 JUMPI PUSH1 0x0 SWAP1 POP PUSH2 0x29F1 JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x2959 JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x2963 JUMPI PUSH2 0x2992 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x29F1 JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x2975 JUMPI PUSH2 0x2974 PUSH2 0x2C81 JUMP JUMPDEST JUMPDEST DUP4 PUSH1 0x2 EXP SWAP2 POP DUP5 DUP3 GT ISZERO PUSH2 0x298C JUMPI PUSH2 0x298B PUSH2 0x2C81 JUMP JUMPDEST JUMPDEST POP PUSH2 0x29F1 JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x29C7 JUMPI DUP3 DUP3 EXP SWAP1 POP DUP4 DUP2 GT ISZERO PUSH2 0x29C2 JUMPI PUSH2 0x29C1 PUSH2 0x2C81 JUMP JUMPDEST JUMPDEST PUSH2 0x29F1 JUMP JUMPDEST PUSH2 0x29D4 DUP5 DUP5 DUP5 PUSH1 0x1 PUSH2 0x2887 JUMP JUMPDEST SWAP3 POP SWAP1 POP DUP2 DUP5 DIV DUP2 GT ISZERO PUSH2 0x29EB JUMPI PUSH2 0x29EA PUSH2 0x2C81 JUMP JUMPDEST JUMPDEST DUP2 DUP2 MUL SWAP1 POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A03 DUP3 PUSH2 0x2B26 JUMP JUMPDEST SWAP2 POP PUSH2 0x2A0E DUP4 PUSH2 0x2B26 JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x2A47 JUMPI PUSH2 0x2A46 PUSH2 0x2C81 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A5D DUP3 PUSH2 0x2B26 JUMP JUMPDEST SWAP2 POP PUSH2 0x2A68 DUP4 PUSH2 0x2B26 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x2A7B JUMPI PUSH2 0x2A7A PUSH2 0x2C81 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A91 DUP3 PUSH2 0x2B54 JUMP JUMPDEST SWAP2 POP PUSH2 0x2A9C DUP4 PUSH2 0x2B54 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x2AAF JUMPI PUSH2 0x2AAE PUSH2 0x2C81 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AC5 DUP3 PUSH2 0x2B06 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AD7 DUP3 PUSH2 0x2B06 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AFF DUP3 PUSH2 0x2ABA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B6C DUP3 PUSH2 0x2BA9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B7E DUP3 PUSH2 0x2BA9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B90 DUP3 PUSH2 0x2BBB JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BA2 DUP3 PUSH2 0x2BA9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BB4 DUP3 PUSH2 0x2BCD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BC6 DUP3 PUSH2 0x2BCD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BD8 DUP3 PUSH2 0x2B06 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2C0C JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2BF1 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x2C1B JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x2C2A DUP3 PUSH2 0x2D5B JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x2C49 JUMPI PUSH2 0x2C48 PUSH2 0x2D0E JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 SHR SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x5769746E657452616E646F6D6E6573733A206661756C74792072616E646F6D69 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7A65000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452616E646F6D6E6573733A20616C726561647920696E69746961 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6C697A6564000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452616E646F6D6E6573733A2070656E64696E672072616E646F6D PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x697A650000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5573696E675769746E65743A2072657761726420746F6F206C6F770000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436C6F6E61626C653A2043524541544532206661696C65640000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452616E646F6D6E6573733A206E6F742072616E646F6D697A6564 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436C6F6E61626C653A20435245415445206661696C6564000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x2F13 DUP2 PUSH2 0x2ACC JUMP JUMPDEST DUP2 EQ PUSH2 0x2F1E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2F2A DUP2 PUSH2 0x2ADE JUMP JUMPDEST DUP2 EQ PUSH2 0x2F35 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2F41 DUP2 PUSH2 0x2AEA JUMP JUMPDEST DUP2 EQ PUSH2 0x2F4C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2F58 DUP2 PUSH2 0x2AF4 JUMP JUMPDEST DUP2 EQ PUSH2 0x2F63 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0x2F73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2F7F DUP2 PUSH2 0x2B26 JUMP JUMPDEST DUP2 EQ PUSH2 0x2F8A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2F96 DUP2 PUSH2 0x2B30 JUMP JUMPDEST DUP2 EQ PUSH2 0x2FA1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2FAD DUP2 PUSH2 0x2B40 JUMP JUMPDEST DUP2 EQ PUSH2 0x2FB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2FC4 DUP2 PUSH2 0x2B54 JUMP JUMPDEST DUP2 EQ PUSH2 0x2FCF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DELEGATECALL PUSH10 0x1B938720C3E8F10B1B6D 0x4C NOT 0xBD 0xF6 0xF6 PUSH20 0xF6BCD601A4AEE2842C50207E6BAA64736F6C6343 STOP ADDMOD SMOD STOP CALLER PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 SHL DUP2 MSTORE POP CALLVALUE DUP1 ISZERO PUSH3 0x47 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x68 PUSH3 0x5C PUSH3 0x8E PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x96 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x88 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH3 0x17E PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x1259 JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH3 0xA8 PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH3 0xDF PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH3 0x1C9 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x11 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0xA0F120508021A01801A0210022202100B000000000000000000000000000000 DUP2 MSTORE POP PUSH3 0x1F4 PUSH1 0x20 SHL PUSH3 0xE26 OR PUSH1 0x20 SHR JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x375930152E1D0D102998BE6E496B0CEE86C9ECD0EFEF01014ECFF169B17DFBA7 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH3 0x206 PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x1 ADD DUP1 SLOAD PUSH3 0x216 SWAP1 PUSH3 0xF58 JUMP JUMPDEST SWAP1 POP EQ PUSH3 0x25B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x252 SWAP1 PUSH3 0xD78 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0x26C DUP2 PUSH3 0x28F PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x28C PUSH3 0x280 PUSH3 0x8E PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x96 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD GT PUSH3 0x2A4 JUMPI PUSH3 0x2A3 PUSH3 0xFC4 JUMP JUMPDEST JUMPDEST DUP1 PUSH3 0x2B5 PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x2CD SWAP3 SWAP2 SWAP1 PUSH3 0xA17 JUMP JUMPDEST POP PUSH1 0x0 PUSH3 0x2E0 PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP PUSH1 0x2 DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x33 DUP2 PUSH1 0x0 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH4 0x3B9ACA00 DUP2 PUSH1 0x0 ADD PUSH1 0x2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x7A120 DUP2 PUSH1 0x0 ADD PUSH1 0xA PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x3D090 DUP2 PUSH1 0x0 ADD PUSH1 0x12 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x42B DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP3 PUSH1 0x0 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP4 PUSH1 0x0 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0x0 ADD PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP6 PUSH1 0x0 ADD PUSH1 0x12 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH3 0x42F PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND GT PUSH3 0x47F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x476 SWAP1 PUSH3 0xD56 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP6 PUSH1 0xFF AND LT ISZERO DUP1 ISZERO PUSH3 0x498 JUMPI POP PUSH1 0x7F DUP6 PUSH1 0xFF AND GT ISZERO JUMPDEST PUSH3 0x4DA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x4D1 SWAP1 PUSH3 0xD9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x33 DUP5 PUSH1 0xFF AND LT ISZERO DUP1 ISZERO PUSH3 0x4F3 JUMPI POP PUSH1 0x63 DUP5 PUSH1 0xFF AND GT ISZERO JUMPDEST PUSH3 0x535 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x52C SWAP1 PUSH3 0xD34 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH4 0x3B9ACA00 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH3 0x589 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x580 SWAP1 PUSH3 0xDBC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0x599 PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x1 ADD PUSH3 0x5B2 PUSH1 0x10 PUSH1 0xF8 SHL DUP5 PUSH3 0x788 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x5C8 PUSH1 0x18 PUSH1 0xF8 SHL DUP9 PUSH3 0x99A PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x5DE PUSH1 0x20 PUSH1 0xF8 SHL DUP6 PUSH3 0x788 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x5F4 PUSH1 0x28 PUSH1 0xF8 SHL DUP10 PUSH3 0x99A PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x60A PUSH1 0x30 PUSH1 0xF8 SHL DUP10 PUSH3 0x788 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH3 0x621 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0xCD0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH3 0x640 PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x658 SWAP3 SWAP2 SWAP1 PUSH3 0xA17 JUMP JUMPDEST POP PUSH3 0x712 PUSH3 0x66D PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x2 ADD DUP1 SLOAD PUSH3 0x67D SWAP1 PUSH3 0xF58 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH3 0x6AB SWAP1 PUSH3 0xF58 JUMP JUMPDEST DUP1 ISZERO PUSH3 0x6FC JUMPI DUP1 PUSH1 0x1F LT PUSH3 0x6D0 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH3 0x6FC JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH3 0x6DE JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP PUSH3 0x9B9 PUSH1 0x20 SHL PUSH3 0xE9C OR PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x722 PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x897A395AEB2699D9730B6377870654A5C371D6BB6DC4486CFC5C80EEAFD095B0 DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH3 0x779 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0xDDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP3 SWAP1 POP PUSH1 0x0 PUSH1 0x2 SWAP1 POP JUMPDEST PUSH1 0x7F DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND GT ISZERO PUSH3 0x7D2 JUMPI PUSH1 0x7 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 SHR SWAP2 POP PUSH1 0x1 DUP2 PUSH3 0x7CA SWAP2 SWAP1 PUSH3 0xE77 JUMP JUMPDEST SWAP1 POP PUSH3 0x796 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x7FB JUMPI PUSH3 0x7FA PUSH3 0x1080 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH3 0x82E JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP DUP5 SWAP3 POP DUP6 DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH3 0x84C JUMPI PUSH3 0x84B PUSH3 0x1051 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x0 PUSH1 0x1 SWAP1 POP JUMPDEST DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH3 0x91F JUMPI PUSH1 0x7F DUP5 AND PUSH1 0x80 OR PUSH1 0xF8 SHL DUP3 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MLOAD DUP2 LT PUSH3 0x8C9 JUMPI PUSH3 0x8C8 PUSH3 0x1051 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x7 DUP5 PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 SHR SWAP4 POP DUP1 DUP1 PUSH3 0x916 SWAP1 PUSH3 0xF8E JUMP JUMPDEST SWAP2 POP POP PUSH3 0x882 JUMP JUMPDEST POP PUSH1 0x7F PUSH1 0xF8 SHL DUP2 PUSH1 0x1 DUP5 PUSH3 0x935 SWAP2 SWAP1 PUSH3 0xEBC JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MLOAD DUP2 LT PUSH3 0x953 JUMPI PUSH3 0x952 PUSH3 0x1051 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD DUP2 DUP2 MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL AND SWAP2 POP SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP1 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH3 0x9B1 DUP4 DUP4 PUSH1 0xFF AND PUSH3 0x788 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 PUSH1 0x40 MLOAD PUSH3 0x9CD SWAP2 SWAP1 PUSH3 0xCB7 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x9EB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST 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 PUSH3 0xA10 SWAP2 SWAP1 PUSH3 0xADE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0xA25 SWAP1 PUSH3 0xF58 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0xA49 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0xA95 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0xA64 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0xA95 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0xA95 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0xA94 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0xA77 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0xAA4 SWAP2 SWAP1 PUSH3 0xAA8 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0xAC3 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH3 0xAA9 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0xAD8 DUP2 PUSH3 0x123F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0xAF7 JUMPI PUSH3 0xAF6 PUSH3 0x10AF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH3 0xB07 DUP5 DUP3 DUP6 ADD PUSH3 0xAC7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xB1D DUP3 PUSH3 0xE50 JUMP JUMPDEST PUSH3 0xB29 DUP2 DUP6 PUSH3 0xE5B JUMP JUMPDEST SWAP4 POP PUSH3 0xB3B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH3 0xF22 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SLOAD PUSH3 0xB56 DUP2 PUSH3 0xF58 JUMP JUMPDEST PUSH3 0xB62 DUP2 DUP7 PUSH3 0xE5B JUMP JUMPDEST SWAP5 POP PUSH1 0x1 DUP3 AND PUSH1 0x0 DUP2 EQ PUSH3 0xB80 JUMPI PUSH1 0x1 DUP2 EQ PUSH3 0xB92 JUMPI PUSH3 0xBC9 JUMP JUMPDEST PUSH1 0xFF NOT DUP4 AND DUP7 MSTORE DUP2 DUP7 ADD SWAP4 POP PUSH3 0xBC9 JUMP JUMPDEST PUSH3 0xB9D DUP6 PUSH3 0xE3B JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0xBC1 JUMPI DUP2 SLOAD DUP2 DUP10 ADD MSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0xBA0 JUMP JUMPDEST DUP4 DUP9 ADD SWAP6 POP POP POP JUMPDEST POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xBE1 PUSH1 0x3D DUP4 PUSH3 0xE66 JUMP JUMPDEST SWAP2 POP PUSH3 0xBEE DUP3 PUSH3 0x10B4 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xC08 PUSH1 0x25 DUP4 PUSH3 0xE66 JUMP JUMPDEST SWAP2 POP PUSH3 0xC15 DUP3 PUSH3 0x1103 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xC2F PUSH1 0x2F DUP4 PUSH3 0xE66 JUMP JUMPDEST SWAP2 POP PUSH3 0xC3C DUP3 PUSH3 0x1152 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xC56 PUSH1 0x3C DUP4 PUSH3 0xE66 JUMP JUMPDEST SWAP2 POP PUSH3 0xC63 DUP3 PUSH3 0x11A1 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xC7D PUSH1 0x3D DUP4 PUSH3 0xE66 JUMP JUMPDEST SWAP2 POP PUSH3 0xC8A DUP3 PUSH3 0x11F0 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0xCA0 DUP2 PUSH3 0xF01 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH3 0xCB1 DUP2 PUSH3 0xF15 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xCC5 DUP3 DUP5 PUSH3 0xB10 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xCDE DUP3 DUP10 PUSH3 0xB47 JUMP JUMPDEST SWAP2 POP PUSH3 0xCEC DUP3 DUP9 PUSH3 0xB10 JUMP JUMPDEST SWAP2 POP PUSH3 0xCFA DUP3 DUP8 PUSH3 0xB10 JUMP JUMPDEST SWAP2 POP PUSH3 0xD08 DUP3 DUP7 PUSH3 0xB10 JUMP JUMPDEST SWAP2 POP PUSH3 0xD16 DUP3 DUP6 PUSH3 0xB10 JUMP JUMPDEST SWAP2 POP PUSH3 0xD24 DUP3 DUP5 PUSH3 0xB10 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xD4F DUP2 PUSH3 0xBD2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xD71 DUP2 PUSH3 0xBF9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xD93 DUP2 PUSH3 0xC20 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xDB5 DUP2 PUSH3 0xC47 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xDD7 DUP2 PUSH3 0xC6E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH3 0xDF5 PUSH1 0x0 DUP4 ADD DUP9 PUSH3 0xCA6 JUMP JUMPDEST PUSH3 0xE04 PUSH1 0x20 DUP4 ADD DUP8 PUSH3 0xCA6 JUMP JUMPDEST PUSH3 0xE13 PUSH1 0x40 DUP4 ADD DUP7 PUSH3 0xC95 JUMP JUMPDEST PUSH3 0xE22 PUSH1 0x60 DUP4 ADD DUP6 PUSH3 0xC95 JUMP JUMPDEST PUSH3 0xE31 PUSH1 0x80 DUP4 ADD DUP5 PUSH3 0xC95 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xE84 DUP3 PUSH3 0xF01 JUMP JUMPDEST SWAP2 POP PUSH3 0xE91 DUP4 PUSH3 0xF01 JUMP JUMPDEST SWAP3 POP DUP3 PUSH8 0xFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH3 0xEB1 JUMPI PUSH3 0xEB0 PUSH3 0xFF3 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xEC9 DUP3 PUSH3 0xF01 JUMP JUMPDEST SWAP2 POP PUSH3 0xED6 DUP4 PUSH3 0xF01 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH3 0xEEC JUMPI PUSH3 0xEEB PUSH3 0xFF3 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0xF42 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0xF25 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH3 0xF52 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0xF71 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0xF88 JUMPI PUSH3 0xF87 PUSH3 0x1022 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xF9B DUP3 PUSH3 0xF01 JUMP JUMPDEST SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH3 0xFB9 JUMPI PUSH3 0xFB8 PUSH3 0xFF3 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A207769746E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x657373696E6720636F6E73656E737573206F7574206F662072616E6765000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A206E6F2072 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6577617264000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A20616C7265 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x61647920696E697469616C697A65640000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A206E756D62 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6572206F66207769746E6573736573206F7574206F662072616E676500000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A207769746E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x657373696E6720636F6C6C61746572616C2062656C6F77203120574954000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH3 0x124A DUP2 PUSH3 0xEF7 JUMP JUMPDEST DUP2 EQ PUSH3 0x1256 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0x60 SHR PUSH2 0x2A15 PUSH3 0x129B PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x629 ADD MSTORE DUP2 DUP2 PUSH2 0x791 ADD MSTORE DUP2 DUP2 PUSH2 0xF22 ADD MSTORE DUP2 DUP2 PUSH2 0x102A ADD MSTORE DUP2 DUP2 PUSH2 0x1473 ADD MSTORE PUSH2 0x157C ADD MSTORE PUSH2 0x2A15 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x116 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0xA2 JUMPI DUP1 PUSH4 0xDAAA360C GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xDAAA360C EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0xEF53D97A EQ PUSH2 0x2B7 JUMPI DUP1 PUSH4 0xF0940002 EQ PUSH2 0x2D5 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x2F3 JUMPI DUP1 PUSH4 0xFF21C3BA EQ PUSH2 0x30F JUMPI PUSH2 0x116 JUMP JUMPDEST DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x213 JUMPI DUP1 PUSH4 0xA04DAEF0 EQ PUSH2 0x231 JUMPI DUP1 PUSH4 0xD196C2E3 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0xD9B9A961 EQ PUSH2 0x26B JUMPI PUSH2 0x116 JUMP JUMPDEST DUP1 PUSH4 0x52D1902D GT PUSH2 0xE9 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x191 JUMPI DUP1 PUSH4 0x6F2DDD93 EQ PUSH2 0x1AF JUMPI DUP1 PUSH4 0x7104DDB2 EQ PUSH2 0x1CD JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1EB JUMPI DUP1 PUSH4 0x8A481DAD EQ PUSH2 0x1F5 JUMPI PUSH2 0x116 JUMP JUMPDEST DUP1 PUSH4 0x9BD5A60 EQ PUSH2 0x11B JUMPI DUP1 PUSH4 0x9ED4607 EQ PUSH2 0x139 JUMPI DUP1 PUSH4 0x439FAB91 EQ PUSH2 0x157 JUMPI DUP1 PUSH4 0x48F9B831 EQ PUSH2 0x173 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x123 PUSH2 0x32B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x130 SWAP2 SWAP1 PUSH2 0x2113 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x141 PUSH2 0x33E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14E SWAP2 SWAP1 PUSH2 0x2172 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x171 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16C SWAP2 SWAP1 PUSH2 0x1BE5 JUMP JUMPDEST PUSH2 0x42D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x17B PUSH2 0x46E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x188 SWAP2 SWAP1 PUSH2 0x22AD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x199 PUSH2 0x561 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A6 SWAP2 SWAP1 PUSH2 0x2113 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B7 PUSH2 0x58C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C4 SWAP2 SWAP1 PUSH2 0x212E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1D5 PUSH2 0x627 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E2 SWAP2 SWAP1 PUSH2 0x20DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F3 PUSH2 0x64B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1FD PUSH2 0x6D3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x20A SWAP2 SWAP1 PUSH2 0x22C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x21B PUSH2 0x75A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x228 SWAP2 SWAP1 PUSH2 0x20DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x239 PUSH2 0x78D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x246 SWAP2 SWAP1 PUSH2 0x20F8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x269 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x264 SWAP2 SWAP1 PUSH2 0x1C9B JUMP JUMPDEST PUSH2 0x7E4 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x285 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x280 SWAP2 SWAP1 PUSH2 0x1C2E JUMP JUMPDEST PUSH2 0x903 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2A1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x29C SWAP2 SWAP1 PUSH2 0x1B8B JUMP JUMPDEST PUSH2 0xA1C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2AE SWAP2 SWAP1 PUSH2 0x2172 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2BF PUSH2 0xB0E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2CC SWAP2 SWAP1 PUSH2 0x22C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2DD PUSH2 0xB66 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2EA SWAP2 SWAP1 PUSH2 0x212E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x30D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x308 SWAP2 SWAP1 PUSH2 0x1B5E JUMP JUMPDEST PUSH2 0xC01 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x329 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x324 SWAP2 SWAP1 PUSH2 0x1C5B JUMP JUMPDEST PUSH2 0xCF9 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH2 0x335 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x348 PUSH2 0xF1D JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x439FAB91 PUSH2 0x36E PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x38D SWAP2 SWAP1 PUSH2 0x2150 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3BB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF2FDE38B CALLER PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3F8 SWAP2 SWAP1 PUSH2 0x20DD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x412 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x426 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP SWAP1 JUMP JUMPDEST PUSH2 0x46B PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x11 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0xA0F120508021A01801A0210022202100B000000000000000000000000000000 DUP2 MSTORE POP PUSH2 0xE26 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x476 PUSH2 0x198F JUMP JUMPDEST PUSH2 0x47E PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x12 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x851D0A92A3AD30295BEF33AFC69D6874779826B7789386B336E22621365ED2C2 PUSH1 0x0 SHL SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x596 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x5A4 SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x5D0 SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 ISZERO PUSH2 0x61D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5F2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x61D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x600 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH2 0x653 PUSH2 0x10A6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x671 PUSH2 0x75A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x6C7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6BE SWAP1 PUSH2 0x224D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x6D1 PUSH1 0x0 PUSH2 0x10AE JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6DE PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH1 0x0 ADD PUSH1 0x12 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x2 PUSH2 0x721 SWAP2 SWAP1 PUSH2 0x2417 JUMP JUMPDEST PUSH2 0x72B SWAP2 SWAP1 PUSH2 0x23D9 JUMP JUMPDEST DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH2 0x74A SWAP2 SWAP1 PUSH2 0x2417 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x764 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x7EC PUSH2 0x10A6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x80A PUSH2 0x75A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x860 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x857 SWAP1 PUSH2 0x224D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x86A PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP DUP3 DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x0 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x8FE DUP4 DUP4 DUP4 PUSH1 0x0 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0x0 ADD PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP6 PUSH1 0x0 ADD PUSH1 0x12 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x1186 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x90B PUSH2 0x10A6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x929 PUSH2 0x75A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x97F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x976 SWAP1 PUSH2 0x224D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x989 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP DUP2 DUP2 PUSH1 0x0 ADD PUSH1 0x2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0xA18 DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP3 PUSH1 0x0 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP5 DUP5 PUSH1 0x0 ADD PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP6 PUSH1 0x0 ADD PUSH1 0x12 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x1186 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA27 DUP3 PUSH2 0x146E JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x439FAB91 PUSH2 0xA4D PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA6C SWAP2 SWAP1 PUSH2 0x2150 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xA9A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF2FDE38B CALLER PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAD7 SWAP2 SWAP1 PUSH2 0x20DD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xAF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xB05 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB19 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH2 0xB56 SWAP2 SWAP1 PUSH2 0x2417 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0xB70 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0xB7E SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xBAA SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 ISZERO PUSH2 0xBF7 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xBCC JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xBF7 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xBDA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xC09 PUSH2 0x10A6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xC27 PUSH2 0x75A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xC7D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC74 SWAP1 PUSH2 0x224D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xCED JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCE4 SWAP1 PUSH2 0x218D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xCF6 DUP2 PUSH2 0x10AE JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0xD01 PUSH2 0x10A6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xD1F PUSH2 0x75A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xD75 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD6C SWAP1 PUSH2 0x224D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xD7F PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP DUP3 DUP2 PUSH1 0x0 ADD PUSH1 0xA PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x0 ADD PUSH1 0x12 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0xE21 DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP3 PUSH1 0x0 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP4 PUSH1 0x0 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP7 DUP7 PUSH2 0x1186 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE30 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0xE3E SWAP1 PUSH2 0x258A JUMP JUMPDEST SWAP1 POP EQ PUSH2 0xE80 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE77 SWAP1 PUSH2 0x220D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xE89 DUP2 PUSH2 0x15FA JUMP JUMPDEST PUSH2 0xE99 PUSH2 0xE94 PUSH2 0x10A6 JUMP JUMPDEST PUSH2 0x10AE JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 PUSH1 0x40 MLOAD PUSH2 0xEAE SWAP2 SWAP1 PUSH2 0x206E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xECB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST 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 0xEEE SWAP2 SWAP1 PUSH2 0x1BB8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x375930152E1D0D102998BE6E496B0CEE86C9ECD0EFEF01014ECFF169B17DFBA7 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 SWAP1 POP PUSH1 0x40 MLOAD PUSH32 0x3D602D80600A3D3981F3363D3D373D3D3D363D73000000000000000000000000 DUP2 MSTORE DUP2 PUSH1 0x60 SHL PUSH1 0x14 DUP3 ADD MSTORE PUSH32 0x5AF43D82803E903D91602B57FD5BF30000000000000000000000000000000000 PUSH1 0x28 DUP3 ADD MSTORE PUSH1 0x37 DUP2 PUSH1 0x0 CREATE SWAP3 POP POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1011 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1008 SWAP1 PUSH2 0x228D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF376596BE5039D6B2FB36FEAD4C8A370EAE426E790A869BE8DB074AB608CC248 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10B8 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH2 0x10E7 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND GT PUSH2 0x11D3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11CA SWAP1 PUSH2 0x21CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP6 PUSH1 0xFF AND LT ISZERO DUP1 ISZERO PUSH2 0x11EB JUMPI POP PUSH1 0x7F DUP6 PUSH1 0xFF AND GT ISZERO JUMPDEST PUSH2 0x122A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1221 SWAP1 PUSH2 0x222D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x33 DUP5 PUSH1 0xFF AND LT ISZERO DUP1 ISZERO PUSH2 0x1242 JUMPI POP PUSH1 0x63 DUP5 PUSH1 0xFF AND GT ISZERO JUMPDEST PUSH2 0x1281 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1278 SWAP1 PUSH2 0x21AD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH4 0x3B9ACA00 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x12D2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12C9 SWAP1 PUSH2 0x226D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x12DA PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD PUSH2 0x12EB PUSH1 0x10 PUSH1 0xF8 SHL DUP5 PUSH2 0x177D JUMP JUMPDEST PUSH2 0x12F9 PUSH1 0x18 PUSH1 0xF8 SHL DUP9 PUSH2 0x1978 JUMP JUMPDEST PUSH2 0x1307 PUSH1 0x20 PUSH1 0xF8 SHL DUP6 PUSH2 0x177D JUMP JUMPDEST PUSH2 0x1315 PUSH1 0x28 PUSH1 0xF8 SHL DUP10 PUSH2 0x1978 JUMP JUMPDEST PUSH2 0x1323 PUSH1 0x30 PUSH1 0xF8 SHL DUP10 PUSH2 0x177D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1338 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2085 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH2 0x134F PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x1365 SWAP3 SWAP2 SWAP1 PUSH2 0x19E2 JUMP JUMPDEST POP PUSH2 0x1402 PUSH2 0x1371 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x137F SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x13AB SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 ISZERO PUSH2 0x13F8 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x13CD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x13F8 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x13DB JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP PUSH2 0xE9C JUMP JUMPDEST PUSH2 0x140A PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x897A395AEB2699D9730B6377870654A5C371D6BB6DC4486CFC5C80EEAFD095B0 DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x145F SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x22E3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 SWAP1 POP PUSH1 0x40 MLOAD PUSH32 0x3D602D80600A3D3981F3363D3D373D3D3D363D73000000000000000000000000 DUP2 MSTORE DUP2 PUSH1 0x60 SHL PUSH1 0x14 DUP3 ADD MSTORE PUSH32 0x5AF43D82803E903D91602B57FD5BF30000000000000000000000000000000000 PUSH1 0x28 DUP3 ADD MSTORE DUP4 PUSH1 0x37 DUP3 PUSH1 0x0 CREATE2 SWAP3 POP POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1563 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x155A SWAP1 PUSH2 0x21ED JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF376596BE5039D6B2FB36FEAD4C8A370EAE426E790A869BE8DB074AB608CC248 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x160C JUMPI PUSH2 0x160B PUSH2 0x261E JUMP JUMPDEST JUMPDEST DUP1 PUSH2 0x1615 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x162B SWAP3 SWAP2 SWAP1 PUSH2 0x19E2 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x1636 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP PUSH1 0x2 DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x33 DUP2 PUSH1 0x0 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH4 0x3B9ACA00 DUP2 PUSH1 0x0 ADD PUSH1 0x2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x7A120 DUP2 PUSH1 0x0 ADD PUSH1 0xA PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x3D090 DUP2 PUSH1 0x0 ADD PUSH1 0x12 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x1779 DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP3 PUSH1 0x0 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP4 PUSH1 0x0 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0x0 ADD PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP6 PUSH1 0x0 ADD PUSH1 0x12 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x1186 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP3 SWAP1 POP PUSH1 0x0 PUSH1 0x2 SWAP1 POP JUMPDEST PUSH1 0x7F DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND GT ISZERO PUSH2 0x17C3 JUMPI PUSH1 0x7 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 SHR SWAP2 POP PUSH1 0x1 DUP2 PUSH2 0x17BC SWAP2 SWAP1 PUSH2 0x23D9 JUMP JUMPDEST SWAP1 POP PUSH2 0x178B JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x17E9 JUMPI PUSH2 0x17E8 PUSH2 0x26DA JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x181B JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP DUP5 SWAP3 POP DUP6 DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1836 JUMPI PUSH2 0x1835 PUSH2 0x26AB JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x0 PUSH1 0x1 SWAP1 POP JUMPDEST DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x1902 JUMPI PUSH1 0x7F DUP5 AND PUSH1 0x80 OR PUSH1 0xF8 SHL DUP3 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MLOAD DUP2 LT PUSH2 0x18AF JUMPI PUSH2 0x18AE PUSH2 0x26AB JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x7 DUP5 PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 SHR SWAP4 POP DUP1 DUP1 PUSH2 0x18FA SWAP1 PUSH2 0x25ED JUMP JUMPDEST SWAP2 POP POP PUSH2 0x186C JUMP JUMPDEST POP PUSH1 0x7F PUSH1 0xF8 SHL DUP2 PUSH1 0x1 DUP5 PUSH2 0x1916 SWAP2 SWAP1 PUSH2 0x2459 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MLOAD DUP2 LT PUSH2 0x1931 JUMPI PUSH2 0x1930 PUSH2 0x26AB JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD DUP2 DUP2 MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL AND SWAP2 POP SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP1 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1987 DUP4 DUP4 PUSH1 0xFF AND PUSH2 0x177D JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x19EE SWAP1 PUSH2 0x258A JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x1A10 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x1A57 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x1A29 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x1A57 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x1A57 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x1A56 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1A3B JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x1A64 SWAP2 SWAP1 PUSH2 0x1A68 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x1A81 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x1A69 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A98 PUSH2 0x1A93 DUP5 PUSH2 0x235B JUMP JUMPDEST PUSH2 0x2336 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1AB4 JUMPI PUSH2 0x1AB3 PUSH2 0x270E JUMP JUMPDEST JUMPDEST PUSH2 0x1ABF DUP5 DUP3 DUP6 PUSH2 0x2548 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1AD6 DUP2 PUSH2 0x2983 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1AEB DUP2 PUSH2 0x299A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1B00 DUP2 PUSH2 0x299A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1B1B JUMPI PUSH2 0x1B1A PUSH2 0x2709 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1B2B DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1A85 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1B43 DUP2 PUSH2 0x29B1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1B58 DUP2 PUSH2 0x29C8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1B74 JUMPI PUSH2 0x1B73 PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1B82 DUP5 DUP3 DUP6 ADD PUSH2 0x1AC7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1BA1 JUMPI PUSH2 0x1BA0 PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1BAF DUP5 DUP3 DUP6 ADD PUSH2 0x1ADC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1BCE JUMPI PUSH2 0x1BCD PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1BDC DUP5 DUP3 DUP6 ADD PUSH2 0x1AF1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1BFB JUMPI PUSH2 0x1BFA PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1C19 JUMPI PUSH2 0x1C18 PUSH2 0x2713 JUMP JUMPDEST JUMPDEST PUSH2 0x1C25 DUP5 DUP3 DUP6 ADD PUSH2 0x1B06 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1C44 JUMPI PUSH2 0x1C43 PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1C52 DUP5 DUP3 DUP6 ADD PUSH2 0x1B34 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1C72 JUMPI PUSH2 0x1C71 PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1C80 DUP6 DUP3 DUP7 ADD PUSH2 0x1B34 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1C91 DUP6 DUP3 DUP7 ADD PUSH2 0x1B34 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CB2 JUMPI PUSH2 0x1CB1 PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1CC0 DUP6 DUP3 DUP7 ADD PUSH2 0x1B49 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1CD1 DUP6 DUP3 DUP7 ADD PUSH2 0x1B49 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x1CE4 DUP2 PUSH2 0x248D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1CF3 DUP2 PUSH2 0x249F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1D02 DUP2 PUSH2 0x24AB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D13 DUP3 PUSH2 0x23A1 JUMP JUMPDEST PUSH2 0x1D1D DUP2 DUP6 PUSH2 0x23AC JUMP JUMPDEST SWAP4 POP PUSH2 0x1D2D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2557 JUMP JUMPDEST PUSH2 0x1D36 DUP2 PUSH2 0x271D JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D4C DUP3 PUSH2 0x23A1 JUMP JUMPDEST PUSH2 0x1D56 DUP2 DUP6 PUSH2 0x23BD JUMP JUMPDEST SWAP4 POP PUSH2 0x1D66 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2557 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SLOAD PUSH2 0x1D7F DUP2 PUSH2 0x258A JUMP JUMPDEST PUSH2 0x1D89 DUP2 DUP7 PUSH2 0x23AC JUMP JUMPDEST SWAP5 POP PUSH1 0x1 DUP3 AND PUSH1 0x0 DUP2 EQ PUSH2 0x1DA4 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x1DB6 JUMPI PUSH2 0x1DE9 JUMP JUMPDEST PUSH1 0xFF NOT DUP4 AND DUP7 MSTORE PUSH1 0x20 DUP7 ADD SWAP4 POP PUSH2 0x1DE9 JUMP JUMPDEST PUSH2 0x1DBF DUP6 PUSH2 0x238C JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1DE1 JUMPI DUP2 SLOAD DUP2 DUP10 ADD MSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1DC2 JUMP JUMPDEST DUP1 DUP9 ADD SWAP6 POP POP POP JUMPDEST POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SLOAD PUSH2 0x1DFF DUP2 PUSH2 0x258A JUMP JUMPDEST PUSH2 0x1E09 DUP2 DUP7 PUSH2 0x23BD JUMP JUMPDEST SWAP5 POP PUSH1 0x1 DUP3 AND PUSH1 0x0 DUP2 EQ PUSH2 0x1E24 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x1E35 JUMPI PUSH2 0x1E68 JUMP JUMPDEST PUSH1 0xFF NOT DUP4 AND DUP7 MSTORE DUP2 DUP7 ADD SWAP4 POP PUSH2 0x1E68 JUMP JUMPDEST PUSH2 0x1E3E DUP6 PUSH2 0x238C JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1E60 JUMPI DUP2 SLOAD DUP2 DUP10 ADD MSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1E41 JUMP JUMPDEST DUP4 DUP9 ADD SWAP6 POP POP POP JUMPDEST POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1E7A DUP2 PUSH2 0x2512 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E8D PUSH1 0x26 DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1E98 DUP3 PUSH2 0x272E JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EB0 PUSH1 0x3D DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1EBB DUP3 PUSH2 0x277D JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1ED3 PUSH1 0x25 DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1EDE DUP3 PUSH2 0x27CC JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EF6 PUSH1 0x18 DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F01 DUP3 PUSH2 0x281B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F19 PUSH1 0x2F DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F24 DUP3 PUSH2 0x2844 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F3C PUSH1 0x3C DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F47 DUP3 PUSH2 0x2893 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F5F PUSH1 0x20 DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F6A DUP3 PUSH2 0x28E2 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F82 PUSH1 0x3D DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F8D DUP3 PUSH2 0x290B JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FA5 PUSH1 0x17 DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1FB0 DUP3 PUSH2 0x295A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0x1FD1 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x2050 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0x1FE4 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x2050 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0x1FF7 PUSH1 0x40 DUP6 ADD DUP3 PUSH2 0x2032 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD PUSH2 0x200A PUSH1 0x60 DUP6 ADD DUP3 PUSH2 0x2032 JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD PUSH2 0x201D PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x2032 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x202C DUP2 PUSH2 0x24B5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x203B DUP2 PUSH2 0x24F1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x204A DUP2 PUSH2 0x24F1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2059 DUP2 PUSH2 0x2505 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2068 DUP2 PUSH2 0x2505 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x207A DUP3 DUP5 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2091 DUP3 DUP10 PUSH2 0x1DF2 JUMP JUMPDEST SWAP2 POP PUSH2 0x209D DUP3 DUP9 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP PUSH2 0x20A9 DUP3 DUP8 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP PUSH2 0x20B5 DUP3 DUP7 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP PUSH2 0x20C1 DUP3 DUP6 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP PUSH2 0x20CD DUP3 DUP5 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x20F2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1CDB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x210D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1CEA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2128 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1CF9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2148 DUP2 DUP5 PUSH2 0x1D08 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x216A DUP2 DUP5 PUSH2 0x1D72 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2187 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1E71 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x21A6 DUP2 PUSH2 0x1E80 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x21C6 DUP2 PUSH2 0x1EA3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x21E6 DUP2 PUSH2 0x1EC6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2206 DUP2 PUSH2 0x1EE9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2226 DUP2 PUSH2 0x1F0C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2246 DUP2 PUSH2 0x1F2F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2266 DUP2 PUSH2 0x1F52 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2286 DUP2 PUSH2 0x1F75 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x22A6 DUP2 PUSH2 0x1F98 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x22C2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1FBB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x22DD PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2023 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x22F8 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x205F JUMP JUMPDEST PUSH2 0x2305 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x205F JUMP JUMPDEST PUSH2 0x2312 PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x2041 JUMP JUMPDEST PUSH2 0x231F PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x2041 JUMP JUMPDEST PUSH2 0x232C PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x2041 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2340 PUSH2 0x2351 JUMP JUMPDEST SWAP1 POP PUSH2 0x234C DUP3 DUP3 PUSH2 0x25BC JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x2376 JUMPI PUSH2 0x2375 PUSH2 0x26DA JUMP JUMPDEST JUMPDEST PUSH2 0x237F DUP3 PUSH2 0x271D JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23E4 DUP3 PUSH2 0x24F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x23EF DUP4 PUSH2 0x24F1 JUMP JUMPDEST SWAP3 POP DUP3 PUSH8 0xFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x240C JUMPI PUSH2 0x240B PUSH2 0x264D JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2422 DUP3 PUSH2 0x24F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x242D DUP4 PUSH2 0x24F1 JUMP JUMPDEST SWAP3 POP DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x244E JUMPI PUSH2 0x244D PUSH2 0x264D JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2464 DUP3 PUSH2 0x24F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x246F DUP4 PUSH2 0x24F1 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x2482 JUMPI PUSH2 0x2481 PUSH2 0x264D JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2498 DUP3 PUSH2 0x24D1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH16 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x251D DUP3 PUSH2 0x2524 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x252F DUP3 PUSH2 0x2536 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2541 DUP3 PUSH2 0x24D1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2575 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x255A JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x2584 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x25A2 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x25B6 JUMPI PUSH2 0x25B5 PUSH2 0x267C JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x25C5 DUP3 PUSH2 0x271D JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x25E4 JUMPI PUSH2 0x25E3 PUSH2 0x26DA JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x25F8 DUP3 PUSH2 0x24F1 JUMP JUMPDEST SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x2613 JUMPI PUSH2 0x2612 PUSH2 0x264D JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A207769746E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x657373696E6720636F6E73656E737573206F7574206F662072616E6765000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A206E6F2072 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6577617264000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436C6F6E61626C653A2043524541544532206661696C65640000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A20616C7265 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x61647920696E697469616C697A65640000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A206E756D62 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6572206F66207769746E6573736573206F7574206F662072616E676500000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A207769746E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x657373696E6720636F6C6C61746572616C2062656C6F77203120574954000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436C6F6E61626C653A20435245415445206661696C6564000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x298C DUP2 PUSH2 0x248D JUMP JUMPDEST DUP2 EQ PUSH2 0x2997 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x29A3 DUP2 PUSH2 0x24AB JUMP JUMPDEST DUP2 EQ PUSH2 0x29AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x29BA DUP2 PUSH2 0x24F1 JUMP JUMPDEST DUP2 EQ PUSH2 0x29C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x29D1 DUP2 PUSH2 0x2505 JUMP JUMPDEST DUP2 EQ PUSH2 0x29DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 XOR 0xD3 0xBE SWAP6 REVERT 0xCB 0xD8 0xBC PUSH16 0x654DC2EB3DCDC04B923B60A7642BD2F GASLIMIT 0x49 CALLDATACOPY CALLCODE PUSH26 0xD0F064736F6C6343000807003300000000000000000000000000 ","sourceMap":"362:14356:31:-:0;;;350:4:55;310:45;;;;;;;;;;;944:202:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1001:4;620:1:29;595:27;;603:4;595:27;;;;587:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;671:4;662:13;;;;;;;;;;;;536:146;1047:29:31::1;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;1021:23;::::0;:55:::1;;;;;;;;;;;;;;;;;;1086:23;::::0;::::1;;;;;;;;:41;;;1128:10;1086:53;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;944:202:::0;362:14356;;;;;;;;;;:::o;7:197:67:-;91:5;122:6;116:13;107:22;;138:60;192:5;138:60;:::i;:::-;7:197;;;;:::o;210:405::-;307:6;356:2;344:9;335:7;331:23;327:32;324:119;;;362:79;;:::i;:::-;324:119;482:1;507:91;590:7;581:6;570:9;566:22;507:91;:::i;:::-;497:101;;453:155;210:405;;;;:::o;621:118::-;708:24;726:5;708:24;:::i;:::-;703:3;696:37;621:118;;:::o;745:366::-;887:3;908:67;972:2;967:3;908:67;:::i;:::-;901:74;;984:93;1073:3;984:93;:::i;:::-;1102:2;1097:3;1093:12;1086:19;;745:366;;;:::o;1117:222::-;1210:4;1248:2;1237:9;1233:18;1225:26;;1261:71;1329:1;1318:9;1314:17;1305:6;1261:71;:::i;:::-;1117:222;;;;:::o;1345:419::-;1511:4;1549:2;1538:9;1534:18;1526:26;;1598:9;1592:4;1588:20;1584:1;1573:9;1569:17;1562:47;1626:131;1752:4;1626:131;:::i;:::-;1618:139;;1345:419;;;:::o;1851:169::-;1935:11;1969:6;1964:3;1957:19;2009:4;2004:3;2000:14;1985:29;;1851:169;;;;:::o;2026:96::-;2063:7;2092:24;2110:5;2092:24;:::i;:::-;2081:35;;2026:96;;;:::o;2128:104::-;2173:7;2202:24;2220:5;2202:24;:::i;:::-;2191:35;;2128:104;;;:::o;2238:131::-;2302:7;2331:32;2357:5;2331:32;:::i;:::-;2320:43;;2238:131;;;:::o;2375:126::-;2412:7;2452:42;2445:5;2441:54;2430:65;;2375:126;;;:::o;2630:117::-;2739:1;2736;2729:12;2753:175;2893:27;2889:1;2881:6;2877:14;2870:51;2753:175;:::o;2934:176::-;3034:51;3079:5;3034:51;:::i;:::-;3027:5;3024:62;3014:90;;3100:1;3097;3090:12;3014:90;2934:176;:::o;362:14356:31:-;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_clone_4803":{"entryPoint":4175,"id":4803,"parameterSlots":1,"returnSlots":0},"@_msbDeBruijn32_4896":{"entryPoint":6136,"id":4896,"parameterSlots":1,"returnSlots":1},"@_searchNextBlock_4925":{"entryPoint":4645,"id":4925,"parameterSlots":2,"returnSlots":1},"@_searchPrevBlock_4951":{"entryPoint":4589,"id":4951,"parameterSlots":2,"returnSlots":1},"@_witnetCheckResultAvailability_3995":{"entryPoint":4983,"id":3995,"parameterSlots":1,"returnSlots":1},"@_witnetEstimateReward_4009":{"entryPoint":5200,"id":4009,"parameterSlots":1,"returnSlots":1},"@_witnetEstimateReward_4022":{"entryPoint":6804,"id":4022,"parameterSlots":0,"returnSlots":1},"@_witnetPostRequest_4056":{"entryPoint":4724,"id":4056,"parameterSlots":1,"returnSlots":2},"@_witnetReadResult_4118":{"entryPoint":6615,"id":4118,"parameterSlots":1,"returnSlots":1},"@_witnetUpgradeReward_4103":{"entryPoint":5774,"id":4103,"parameterSlots":1,"returnSlots":1},"@cloneDeterministic_11628":{"entryPoint":5378,"id":11628,"parameterSlots":1,"returnSlots":1},"@cloneDeterministic_4736":{"entryPoint":2704,"id":4736,"parameterSlots":1,"returnSlots":1},"@clone_11591":{"entryPoint":3782,"id":11591,"parameterSlots":0,"returnSlots":1},"@clone_4714":{"entryPoint":1199,"id":4714,"parameterSlots":0,"returnSlots":1},"@cloned_11556":{"entryPoint":2502,"id":11556,"parameterSlots":0,"returnSlots":1},"@estimateRandomizeFee_4234":{"entryPoint":2686,"id":4234,"parameterSlots":1,"returnSlots":1},"@getRandomizeData_4277":{"entryPoint":2589,"id":4277,"parameterSlots":1,"returnSlots":4},"@getRandomnessAfter_4364":{"entryPoint":3015,"id":4364,"parameterSlots":1,"returnSlots":1},"@getRandomnessNextBlock_4395":{"entryPoint":1408,"id":4395,"parameterSlots":1,"returnSlots":1},"@getRandomnessPrevBlock_4430":{"entryPoint":1293,"id":4430,"parameterSlots":1,"returnSlots":1},"@initialize_4769":{"entryPoint":1564,"id":4769,"parameterSlots":1,"returnSlots":0},"@isRandomized_4458":{"entryPoint":2440,"id":4458,"parameterSlots":1,"returnSlots":1},"@latestRandomizeBlock_4181":{"entryPoint":2434,"id":4181,"parameterSlots":0,"returnSlots":0},"@random_4487":{"entryPoint":1223,"id":4487,"parameterSlots":3,"returnSlots":1},"@random_4544":{"entryPoint":2880,"id":4544,"parameterSlots":3,"returnSlots":1},"@randomize_4647":{"entryPoint":1829,"id":4647,"parameterSlots":0,"returnSlots":1},"@self_11531":{"entryPoint":2398,"id":11531,"parameterSlots":0,"returnSlots":0},"@upgradeRandomizeFee_4695":{"entryPoint":2731,"id":4695,"parameterSlots":1,"returnSlots":1},"@witnetRandomnessRequest_4178":{"entryPoint":1372,"id":4178,"parameterSlots":0,"returnSlots":0},"@witnet_3938":{"entryPoint":1793,"id":3938,"parameterSlots":0,"returnSlots":0},"abi_decode_available_length_t_bytes_memory_ptr":{"entryPoint":7135,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_bytes_memory_ptr_fromMemory":{"entryPoint":7201,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_address_payable_fromMemory":{"entryPoint":7267,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bool_fromMemory":{"entryPoint":7288,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32":{"entryPoint":7309,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32_fromMemory":{"entryPoint":7330,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes_memory_ptr":{"entryPoint":7351,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes_memory_ptr_fromMemory":{"entryPoint":7397,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_contract$_Clonable_$11629_fromMemory":{"entryPoint":7443,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_enum$_QueryStatus_$7996_fromMemory":{"entryPoint":7464,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_Buffer_$8042_memory_ptr_fromMemory":{"entryPoint":7485,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_CBOR_$8037_memory_ptr_fromMemory":{"entryPoint":7593,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_Result_$8023_memory_ptr_fromMemory":{"entryPoint":7781,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":7889,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256_fromMemory":{"entryPoint":7910,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint32":{"entryPoint":7931,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint32_fromMemory":{"entryPoint":7952,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint64_fromMemory":{"entryPoint":7973,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint8_fromMemory":{"entryPoint":7994,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_payable_fromMemory":{"entryPoint":8015,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":8060,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32":{"entryPoint":8105,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":8150,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes_memory_ptr":{"entryPoint":8195,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_Clonable_$11629_fromMemory":{"entryPoint":8268,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_enum$_QueryStatus_$7996_fromMemory":{"entryPoint":8313,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_Result_$8023_memory_ptr_fromMemory":{"entryPoint":8358,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":8431,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":8476,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint32t_uint256t_bytes32":{"entryPoint":8521,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_uint32t_uint256t_uint256":{"entryPoint":8604,"id":null,"parameterSlots":2,"returnSlots":3},"abi_encode_t_address_to_t_address_fromStack":{"entryPoint":8687,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bool_to_t_bool":{"entryPoint":8702,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bool_to_t_bool_fromStack":{"entryPoint":8717,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes32_to_t_bytes32_fromStack":{"entryPoint":8732,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr":{"entryPoint":8747,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack":{"entryPoint":8804,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_contract$_Clonable_$11629_to_t_address_fromStack":{"entryPoint":8861,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_contract$_IWitnetRequest_$7510_to_t_address_fromStack":{"entryPoint":8876,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_contract$_WitnetRequestBoard_$4162_to_t_address_payable_fromStack":{"entryPoint":8891,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_contract$_WitnetRequestRandomness_$12753_to_t_address_fromStack":{"entryPoint":8906,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_stringliteral_2063d17e40f52e2680483996eebc5eb14841a31f35c049e2b83eef96cc3ab1c2_to_t_string_memory_ptr_fromStack":{"entryPoint":8921,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c_to_t_string_memory_ptr_fromStack":{"entryPoint":8956,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_2ccb45f5bf081c7ce3a014d3becfd9889cc2ed630aa4db79533f91e96077c0ae_to_t_string_memory_ptr_fromStack":{"entryPoint":8991,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_55f80fc360f2082a848e28d63f54a94763dc2b59c75e9fef1bf56b42af6f071b_to_t_string_memory_ptr_fromStack":{"entryPoint":9026,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf_to_t_string_memory_ptr_fromStack":{"entryPoint":9061,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_8c09ea17e2de3ad790d29399fa76d05d6700bd912e14021f467bb3897d40c692_to_t_string_memory_ptr_fromStack":{"entryPoint":9096,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e_to_t_string_memory_ptr_fromStack":{"entryPoint":9131,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr":{"entryPoint":9166,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr":{"entryPoint":9227,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_Result_$8023_memory_ptr_to_t_struct$_Result_$8023_memory_ptr_fromStack":{"entryPoint":9364,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":9425,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint32_to_t_uint32":{"entryPoint":9440,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint32_to_t_uint32_fromStack":{"entryPoint":9455,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint64_to_t_uint64":{"entryPoint":9470,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint8_to_t_uint8":{"entryPoint":9485,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":9500,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed":{"entryPoint":9527,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":9568,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":9637,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":9664,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed":{"entryPoint":9691,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":9732,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_Clonable_$11629__to_t_address__fromStack_reversed":{"entryPoint":9766,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IWitnetRequest_$7510__to_t_address__fromStack_reversed":{"entryPoint":9793,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_WitnetRequestBoard_$4162__to_t_address_payable__fromStack_reversed":{"entryPoint":9820,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_WitnetRequestRandomness_$12753__to_t_address__fromStack_reversed":{"entryPoint":9847,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_2063d17e40f52e2680483996eebc5eb14841a31f35c049e2b83eef96cc3ab1c2__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":9874,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":9906,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_2ccb45f5bf081c7ce3a014d3becfd9889cc2ed630aa4db79533f91e96077c0ae__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":9938,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_55f80fc360f2082a848e28d63f54a94763dc2b59c75e9fef1bf56b42af6f071b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":9970,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10002,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8c09ea17e2de3ad790d29399fa76d05d6700bd912e14021f467bb3897d40c692__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10034,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10066,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_Result_$8023_memory_ptr__to_t_struct$_Result_$8023_memory_ptr__fromStack_reversed":{"entryPoint":10098,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":10132,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_bytes32__to_t_uint256_t_bytes32__fromStack_reversed":{"entryPoint":10159,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint32__to_t_uint32__fromStack_reversed":{"entryPoint":10200,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":10227,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":10254,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_bytes_memory_ptr":{"entryPoint":10264,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_bytes_memory_ptr":{"entryPoint":10313,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr":{"entryPoint":10324,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack":{"entryPoint":10341,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_fromStack":{"entryPoint":10358,"id":null,"parameterSlots":2,"returnSlots":1},"checked_exp_helper":{"entryPoint":10375,"id":null,"parameterSlots":4,"returnSlots":2},"checked_exp_t_uint256_t_uint8":{"entryPoint":10458,"id":null,"parameterSlots":2,"returnSlots":1},"checked_exp_unsigned":{"entryPoint":10533,"id":null,"parameterSlots":3,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":10744,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":10834,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint8":{"entryPoint":10886,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_address":{"entryPoint":10938,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_address_payable":{"entryPoint":10956,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bool":{"entryPoint":10974,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":10986,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_contract$_Clonable_$11629":{"entryPoint":10996,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":11014,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":11046,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint32":{"entryPoint":11056,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint64":{"entryPoint":11072,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint8":{"entryPoint":11092,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_contract$_Clonable_$11629_to_t_address":{"entryPoint":11105,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_contract$_IWitnetRequest_$7510_to_t_address":{"entryPoint":11123,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_contract$_WitnetRequestBoard_$4162_to_t_address_payable":{"entryPoint":11141,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_contract$_WitnetRequestRandomness_$12753_to_t_address":{"entryPoint":11159,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_address":{"entryPoint":11177,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_address_payable":{"entryPoint":11195,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_uint160":{"entryPoint":11213,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory":{"entryPoint":11231,"id":null,"parameterSlots":3,"returnSlots":0},"copy_memory_to_memory":{"entryPoint":11246,"id":null,"parameterSlots":3,"returnSlots":0},"finalize_allocation":{"entryPoint":11297,"id":null,"parameterSlots":2,"returnSlots":0},"panic_error_0x01":{"entryPoint":11346,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x11":{"entryPoint":11393,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":11440,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":11487,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":11534,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":11581,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f":{"entryPoint":11586,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421":{"entryPoint":11591,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae":{"entryPoint":11596,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":11601,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":11606,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":11611,"id":null,"parameterSlots":1,"returnSlots":1},"shift_right_1_unsigned":{"entryPoint":11628,"id":null,"parameterSlots":1,"returnSlots":1},"store_literal_in_memory_2063d17e40f52e2680483996eebc5eb14841a31f35c049e2b83eef96cc3ab1c2":{"entryPoint":11641,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c":{"entryPoint":11720,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_2ccb45f5bf081c7ce3a014d3becfd9889cc2ed630aa4db79533f91e96077c0ae":{"entryPoint":11799,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_55f80fc360f2082a848e28d63f54a94763dc2b59c75e9fef1bf56b42af6f071b":{"entryPoint":11878,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf":{"entryPoint":11919,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_8c09ea17e2de3ad790d29399fa76d05d6700bd912e14021f467bb3897d40c692":{"entryPoint":11960,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e":{"entryPoint":12001,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_address_payable":{"entryPoint":12042,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bool":{"entryPoint":12065,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":12088,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_contract$_Clonable_$11629":{"entryPoint":12111,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_enum$_QueryStatus_$7996":{"entryPoint":12134,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":12150,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint32":{"entryPoint":12173,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint64":{"entryPoint":12196,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint8":{"entryPoint":12219,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:38510:67","statements":[{"body":{"nodeType":"YulBlock","src":"90:327:67","statements":[{"nodeType":"YulAssignment","src":"100:74:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"166:6:67"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"125:40:67"},"nodeType":"YulFunctionCall","src":"125:48:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"109:15:67"},"nodeType":"YulFunctionCall","src":"109:65:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"100:5:67"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"190:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"197:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"183:6:67"},"nodeType":"YulFunctionCall","src":"183:21:67"},"nodeType":"YulExpressionStatement","src":"183:21:67"},{"nodeType":"YulVariableDeclaration","src":"213:27:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"228:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"235:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"224:3:67"},"nodeType":"YulFunctionCall","src":"224:16:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"217:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"278:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulIdentifier","src":"280:77:67"},"nodeType":"YulFunctionCall","src":"280:79:67"},"nodeType":"YulExpressionStatement","src":"280:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"259:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"264:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"255:3:67"},"nodeType":"YulFunctionCall","src":"255:16:67"},{"name":"end","nodeType":"YulIdentifier","src":"273:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"252:2:67"},"nodeType":"YulFunctionCall","src":"252:25:67"},"nodeType":"YulIf","src":"249:112:67"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"394:3:67"},{"name":"dst","nodeType":"YulIdentifier","src":"399:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"404:6:67"}],"functionName":{"name":"copy_calldata_to_memory","nodeType":"YulIdentifier","src":"370:23:67"},"nodeType":"YulFunctionCall","src":"370:41:67"},"nodeType":"YulExpressionStatement","src":"370:41:67"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"63:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"68:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"76:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"84:5:67","type":""}],"src":"7:410:67"},{"body":{"nodeType":"YulBlock","src":"517:325:67","statements":[{"nodeType":"YulAssignment","src":"527:74:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"593:6:67"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"552:40:67"},"nodeType":"YulFunctionCall","src":"552:48:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"536:15:67"},"nodeType":"YulFunctionCall","src":"536:65:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"527:5:67"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"617:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"624:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"610:6:67"},"nodeType":"YulFunctionCall","src":"610:21:67"},"nodeType":"YulExpressionStatement","src":"610:21:67"},{"nodeType":"YulVariableDeclaration","src":"640:27:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"655:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"662:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"651:3:67"},"nodeType":"YulFunctionCall","src":"651:16:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"644:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"705:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulIdentifier","src":"707:77:67"},"nodeType":"YulFunctionCall","src":"707:79:67"},"nodeType":"YulExpressionStatement","src":"707:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"686:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"691:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"682:3:67"},"nodeType":"YulFunctionCall","src":"682:16:67"},{"name":"end","nodeType":"YulIdentifier","src":"700:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"679:2:67"},"nodeType":"YulFunctionCall","src":"679:25:67"},"nodeType":"YulIf","src":"676:112:67"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"819:3:67"},{"name":"dst","nodeType":"YulIdentifier","src":"824:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"829:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"797:21:67"},"nodeType":"YulFunctionCall","src":"797:39:67"},"nodeType":"YulExpressionStatement","src":"797:39:67"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"490:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"495:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"503:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"511:5:67","type":""}],"src":"423:419:67"},{"body":{"nodeType":"YulBlock","src":"919:88:67","statements":[{"nodeType":"YulAssignment","src":"929:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"944:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"938:5:67"},"nodeType":"YulFunctionCall","src":"938:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"929:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"995:5:67"}],"functionName":{"name":"validator_revert_t_address_payable","nodeType":"YulIdentifier","src":"960:34:67"},"nodeType":"YulFunctionCall","src":"960:41:67"},"nodeType":"YulExpressionStatement","src":"960:41:67"}]},"name":"abi_decode_t_address_payable_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"897:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"905:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"913:5:67","type":""}],"src":"848:159:67"},{"body":{"nodeType":"YulBlock","src":"1073:77:67","statements":[{"nodeType":"YulAssignment","src":"1083:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1098:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1092:5:67"},"nodeType":"YulFunctionCall","src":"1092:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1083:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1138:5:67"}],"functionName":{"name":"validator_revert_t_bool","nodeType":"YulIdentifier","src":"1114:23:67"},"nodeType":"YulFunctionCall","src":"1114:30:67"},"nodeType":"YulExpressionStatement","src":"1114:30:67"}]},"name":"abi_decode_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1051:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1059:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1067:5:67","type":""}],"src":"1013:137:67"},{"body":{"nodeType":"YulBlock","src":"1208:87:67","statements":[{"nodeType":"YulAssignment","src":"1218:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1240:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1227:12:67"},"nodeType":"YulFunctionCall","src":"1227:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1218:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1283:5:67"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"1256:26:67"},"nodeType":"YulFunctionCall","src":"1256:33:67"},"nodeType":"YulExpressionStatement","src":"1256:33:67"}]},"name":"abi_decode_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1186:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1194:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1202:5:67","type":""}],"src":"1156:139:67"},{"body":{"nodeType":"YulBlock","src":"1364:80:67","statements":[{"nodeType":"YulAssignment","src":"1374:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1389:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1383:5:67"},"nodeType":"YulFunctionCall","src":"1383:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1374:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1432:5:67"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"1405:26:67"},"nodeType":"YulFunctionCall","src":"1405:33:67"},"nodeType":"YulExpressionStatement","src":"1405:33:67"}]},"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1342:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1350:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1358:5:67","type":""}],"src":"1301:143:67"},{"body":{"nodeType":"YulBlock","src":"1524:277:67","statements":[{"body":{"nodeType":"YulBlock","src":"1573:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"1575:77:67"},"nodeType":"YulFunctionCall","src":"1575:79:67"},"nodeType":"YulExpressionStatement","src":"1575:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1552:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1560:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1548:3:67"},"nodeType":"YulFunctionCall","src":"1548:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"1567:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1544:3:67"},"nodeType":"YulFunctionCall","src":"1544:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1537:6:67"},"nodeType":"YulFunctionCall","src":"1537:35:67"},"nodeType":"YulIf","src":"1534:122:67"},{"nodeType":"YulVariableDeclaration","src":"1665:34:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1692:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1679:12:67"},"nodeType":"YulFunctionCall","src":"1679:20:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1669:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1708:87:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1768:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1776:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1764:3:67"},"nodeType":"YulFunctionCall","src":"1764:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"1783:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"1791:3:67"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"1717:46:67"},"nodeType":"YulFunctionCall","src":"1717:78:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1708:5:67"}]}]},"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1502:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1510:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"1518:5:67","type":""}],"src":"1463:338:67"},{"body":{"nodeType":"YulBlock","src":"1892:281:67","statements":[{"body":{"nodeType":"YulBlock","src":"1941:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"1943:77:67"},"nodeType":"YulFunctionCall","src":"1943:79:67"},"nodeType":"YulExpressionStatement","src":"1943:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1920:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1928:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1916:3:67"},"nodeType":"YulFunctionCall","src":"1916:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"1935:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1912:3:67"},"nodeType":"YulFunctionCall","src":"1912:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1905:6:67"},"nodeType":"YulFunctionCall","src":"1905:35:67"},"nodeType":"YulIf","src":"1902:122:67"},{"nodeType":"YulVariableDeclaration","src":"2033:27:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2053:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2047:5:67"},"nodeType":"YulFunctionCall","src":"2047:13:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2037:6:67","type":""}]},{"nodeType":"YulAssignment","src":"2069:98:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2140:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"2148:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2136:3:67"},"nodeType":"YulFunctionCall","src":"2136:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"2155:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"2163:3:67"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"2078:57:67"},"nodeType":"YulFunctionCall","src":"2078:89:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"2069:5:67"}]}]},"name":"abi_decode_t_bytes_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1870:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1878:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"1886:5:67","type":""}],"src":"1820:353:67"},{"body":{"nodeType":"YulBlock","src":"2260:98:67","statements":[{"nodeType":"YulAssignment","src":"2270:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2285:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2279:5:67"},"nodeType":"YulFunctionCall","src":"2279:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"2270:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2346:5:67"}],"functionName":{"name":"validator_revert_t_contract$_Clonable_$11629","nodeType":"YulIdentifier","src":"2301:44:67"},"nodeType":"YulFunctionCall","src":"2301:51:67"},"nodeType":"YulExpressionStatement","src":"2301:51:67"}]},"name":"abi_decode_t_contract$_Clonable_$11629_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2238:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"2246:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"2254:5:67","type":""}],"src":"2179:179:67"},{"body":{"nodeType":"YulBlock","src":"2443:96:67","statements":[{"nodeType":"YulAssignment","src":"2453:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2468:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2462:5:67"},"nodeType":"YulFunctionCall","src":"2462:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"2453:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2527:5:67"}],"functionName":{"name":"validator_revert_t_enum$_QueryStatus_$7996","nodeType":"YulIdentifier","src":"2484:42:67"},"nodeType":"YulFunctionCall","src":"2484:49:67"},"nodeType":"YulExpressionStatement","src":"2484:49:67"}]},"name":"abi_decode_t_enum$_QueryStatus_$7996_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2421:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"2429:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"2437:5:67","type":""}],"src":"2364:175:67"},{"body":{"nodeType":"YulBlock","src":"2663:679:67","statements":[{"body":{"nodeType":"YulBlock","src":"2707:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f","nodeType":"YulIdentifier","src":"2709:77:67"},"nodeType":"YulFunctionCall","src":"2709:79:67"},"nodeType":"YulExpressionStatement","src":"2709:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"2684:3:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"2689:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2680:3:67"},"nodeType":"YulFunctionCall","src":"2680:19:67"},{"kind":"number","nodeType":"YulLiteral","src":"2701:4:67","type":"","value":"0x40"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2676:3:67"},"nodeType":"YulFunctionCall","src":"2676:30:67"},"nodeType":"YulIf","src":"2673:117:67"},{"nodeType":"YulAssignment","src":"2799:30:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2824:4:67","type":"","value":"0x40"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"2808:15:67"},"nodeType":"YulFunctionCall","src":"2808:21:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"2799:5:67"}]},{"nodeType":"YulBlock","src":"2839:323:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2874:38:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2898:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2909:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2894:3:67"},"nodeType":"YulFunctionCall","src":"2894:17:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2888:5:67"},"nodeType":"YulFunctionCall","src":"2888:24:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2878:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"2959:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421","nodeType":"YulIdentifier","src":"2961:77:67"},"nodeType":"YulFunctionCall","src":"2961:79:67"},"nodeType":"YulExpressionStatement","src":"2961:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2931:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"2939:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2928:2:67"},"nodeType":"YulFunctionCall","src":"2928:30:67"},"nodeType":"YulIf","src":"2925:117:67"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3067:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"3074:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3063:3:67"},"nodeType":"YulFunctionCall","src":"3063:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3126:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"3137:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3122:3:67"},"nodeType":"YulFunctionCall","src":"3122:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"3146:3:67"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"3081:40:67"},"nodeType":"YulFunctionCall","src":"3081:69:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3056:6:67"},"nodeType":"YulFunctionCall","src":"3056:95:67"},"nodeType":"YulExpressionStatement","src":"3056:95:67"}]},{"nodeType":"YulBlock","src":"3172:163:67","statements":[{"nodeType":"YulVariableDeclaration","src":"3209:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"3223:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3213:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3250:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"3257:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3246:3:67"},"nodeType":"YulFunctionCall","src":"3246:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3299:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"3310:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3295:3:67"},"nodeType":"YulFunctionCall","src":"3295:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"3319:3:67"}],"functionName":{"name":"abi_decode_t_uint32_fromMemory","nodeType":"YulIdentifier","src":"3264:30:67"},"nodeType":"YulFunctionCall","src":"3264:59:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3239:6:67"},"nodeType":"YulFunctionCall","src":"3239:85:67"},"nodeType":"YulExpressionStatement","src":"3239:85:67"}]}]},"name":"abi_decode_t_struct$_Buffer_$8042_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2638:9:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"2649:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"2657:5:67","type":""}],"src":"2573:769:67"},{"body":{"nodeType":"YulBlock","src":"3462:1404:67","statements":[{"body":{"nodeType":"YulBlock","src":"3506:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f","nodeType":"YulIdentifier","src":"3508:77:67"},"nodeType":"YulFunctionCall","src":"3508:79:67"},"nodeType":"YulExpressionStatement","src":"3508:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"3483:3:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"3488:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3479:3:67"},"nodeType":"YulFunctionCall","src":"3479:19:67"},{"kind":"number","nodeType":"YulLiteral","src":"3500:4:67","type":"","value":"0xc0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3475:3:67"},"nodeType":"YulFunctionCall","src":"3475:30:67"},"nodeType":"YulIf","src":"3472:117:67"},{"nodeType":"YulAssignment","src":"3598:30:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3623:4:67","type":"","value":"0xc0"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"3607:15:67"},"nodeType":"YulFunctionCall","src":"3607:21:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"3598:5:67"}]},{"nodeType":"YulBlock","src":"3638:340:67","statements":[{"nodeType":"YulVariableDeclaration","src":"3675:38:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3699:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"3710:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3695:3:67"},"nodeType":"YulFunctionCall","src":"3695:17:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3689:5:67"},"nodeType":"YulFunctionCall","src":"3689:24:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3679:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"3760:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421","nodeType":"YulIdentifier","src":"3762:77:67"},"nodeType":"YulFunctionCall","src":"3762:79:67"},"nodeType":"YulExpressionStatement","src":"3762:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3732:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"3740:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3729:2:67"},"nodeType":"YulFunctionCall","src":"3729:30:67"},"nodeType":"YulIf","src":"3726:117:67"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3868:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"3875:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3864:3:67"},"nodeType":"YulFunctionCall","src":"3864:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3942:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"3953:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3938:3:67"},"nodeType":"YulFunctionCall","src":"3938:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"3962:3:67"}],"functionName":{"name":"abi_decode_t_struct$_Buffer_$8042_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"3882:55:67"},"nodeType":"YulFunctionCall","src":"3882:84:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3857:6:67"},"nodeType":"YulFunctionCall","src":"3857:110:67"},"nodeType":"YulExpressionStatement","src":"3857:110:67"}]},{"nodeType":"YulBlock","src":"3988:167:67","statements":[{"nodeType":"YulVariableDeclaration","src":"4030:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"4044:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4034:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4071:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"4078:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4067:3:67"},"nodeType":"YulFunctionCall","src":"4067:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4119:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"4130:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4115:3:67"},"nodeType":"YulFunctionCall","src":"4115:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"4139:3:67"}],"functionName":{"name":"abi_decode_t_uint8_fromMemory","nodeType":"YulIdentifier","src":"4085:29:67"},"nodeType":"YulFunctionCall","src":"4085:58:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4060:6:67"},"nodeType":"YulFunctionCall","src":"4060:84:67"},"nodeType":"YulExpressionStatement","src":"4060:84:67"}]},{"nodeType":"YulBlock","src":"4165:165:67","statements":[{"nodeType":"YulVariableDeclaration","src":"4205:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"4219:2:67","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4209:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4246:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"4253:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4242:3:67"},"nodeType":"YulFunctionCall","src":"4242:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4294:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"4305:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4290:3:67"},"nodeType":"YulFunctionCall","src":"4290:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"4314:3:67"}],"functionName":{"name":"abi_decode_t_uint8_fromMemory","nodeType":"YulIdentifier","src":"4260:29:67"},"nodeType":"YulFunctionCall","src":"4260:58:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4235:6:67"},"nodeType":"YulFunctionCall","src":"4235:84:67"},"nodeType":"YulExpressionStatement","src":"4235:84:67"}]},{"nodeType":"YulBlock","src":"4340:177:67","statements":[{"nodeType":"YulVariableDeclaration","src":"4392:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"4406:2:67","type":"","value":"96"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4396:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4433:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"4440:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4429:3:67"},"nodeType":"YulFunctionCall","src":"4429:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4481:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"4492:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4477:3:67"},"nodeType":"YulFunctionCall","src":"4477:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"4501:3:67"}],"functionName":{"name":"abi_decode_t_uint8_fromMemory","nodeType":"YulIdentifier","src":"4447:29:67"},"nodeType":"YulFunctionCall","src":"4447:58:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4422:6:67"},"nodeType":"YulFunctionCall","src":"4422:84:67"},"nodeType":"YulExpressionStatement","src":"4422:84:67"}]},{"nodeType":"YulBlock","src":"4527:161:67","statements":[{"nodeType":"YulVariableDeclaration","src":"4561:17:67","value":{"kind":"number","nodeType":"YulLiteral","src":"4575:3:67","type":"","value":"128"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4565:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4603:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"4610:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4599:3:67"},"nodeType":"YulFunctionCall","src":"4599:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4652:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"4663:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4648:3:67"},"nodeType":"YulFunctionCall","src":"4648:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"4672:3:67"}],"functionName":{"name":"abi_decode_t_uint64_fromMemory","nodeType":"YulIdentifier","src":"4617:30:67"},"nodeType":"YulFunctionCall","src":"4617:59:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4592:6:67"},"nodeType":"YulFunctionCall","src":"4592:85:67"},"nodeType":"YulExpressionStatement","src":"4592:85:67"}]},{"nodeType":"YulBlock","src":"4698:161:67","statements":[{"nodeType":"YulVariableDeclaration","src":"4732:17:67","value":{"kind":"number","nodeType":"YulLiteral","src":"4746:3:67","type":"","value":"160"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4736:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4774:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"4781:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4770:3:67"},"nodeType":"YulFunctionCall","src":"4770:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4823:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"4834:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4819:3:67"},"nodeType":"YulFunctionCall","src":"4819:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"4843:3:67"}],"functionName":{"name":"abi_decode_t_uint64_fromMemory","nodeType":"YulIdentifier","src":"4788:30:67"},"nodeType":"YulFunctionCall","src":"4788:59:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4763:6:67"},"nodeType":"YulFunctionCall","src":"4763:85:67"},"nodeType":"YulExpressionStatement","src":"4763:85:67"}]}]},"name":"abi_decode_t_struct$_CBOR_$8037_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3437:9:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"3448:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"3456:5:67","type":""}],"src":"3374:1492:67"},{"body":{"nodeType":"YulBlock","src":"4990:692:67","statements":[{"body":{"nodeType":"YulBlock","src":"5034:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f","nodeType":"YulIdentifier","src":"5036:77:67"},"nodeType":"YulFunctionCall","src":"5036:79:67"},"nodeType":"YulExpressionStatement","src":"5036:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"5011:3:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"5016:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5007:3:67"},"nodeType":"YulFunctionCall","src":"5007:19:67"},{"kind":"number","nodeType":"YulLiteral","src":"5028:4:67","type":"","value":"0x40"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5003:3:67"},"nodeType":"YulFunctionCall","src":"5003:30:67"},"nodeType":"YulIf","src":"5000:117:67"},{"nodeType":"YulAssignment","src":"5126:30:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5151:4:67","type":"","value":"0x40"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"5135:15:67"},"nodeType":"YulFunctionCall","src":"5135:21:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"5126:5:67"}]},{"nodeType":"YulBlock","src":"5166:161:67","statements":[{"nodeType":"YulVariableDeclaration","src":"5204:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"5218:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5208:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5244:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"5251:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5240:3:67"},"nodeType":"YulFunctionCall","src":"5240:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5291:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"5302:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5287:3:67"},"nodeType":"YulFunctionCall","src":"5287:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"5311:3:67"}],"functionName":{"name":"abi_decode_t_bool_fromMemory","nodeType":"YulIdentifier","src":"5258:28:67"},"nodeType":"YulFunctionCall","src":"5258:57:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5233:6:67"},"nodeType":"YulFunctionCall","src":"5233:83:67"},"nodeType":"YulExpressionStatement","src":"5233:83:67"}]},{"nodeType":"YulBlock","src":"5337:338:67","statements":[{"nodeType":"YulVariableDeclaration","src":"5373:39:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5397:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"5408:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5393:3:67"},"nodeType":"YulFunctionCall","src":"5393:18:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5387:5:67"},"nodeType":"YulFunctionCall","src":"5387:25:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5377:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"5459:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421","nodeType":"YulIdentifier","src":"5461:77:67"},"nodeType":"YulFunctionCall","src":"5461:79:67"},"nodeType":"YulExpressionStatement","src":"5461:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5431:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"5439:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5428:2:67"},"nodeType":"YulFunctionCall","src":"5428:30:67"},"nodeType":"YulIf","src":"5425:117:67"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5567:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"5574:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5563:3:67"},"nodeType":"YulFunctionCall","src":"5563:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5639:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"5650:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5635:3:67"},"nodeType":"YulFunctionCall","src":"5635:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"5659:3:67"}],"functionName":{"name":"abi_decode_t_struct$_CBOR_$8037_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"5581:53:67"},"nodeType":"YulFunctionCall","src":"5581:82:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5556:6:67"},"nodeType":"YulFunctionCall","src":"5556:108:67"},"nodeType":"YulExpressionStatement","src":"5556:108:67"}]}]},"name":"abi_decode_t_struct$_Result_$8023_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4965:9:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"4976:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"4984:5:67","type":""}],"src":"4900:782:67"},{"body":{"nodeType":"YulBlock","src":"5740:87:67","statements":[{"nodeType":"YulAssignment","src":"5750:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5772:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5759:12:67"},"nodeType":"YulFunctionCall","src":"5759:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"5750:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5815:5:67"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"5788:26:67"},"nodeType":"YulFunctionCall","src":"5788:33:67"},"nodeType":"YulExpressionStatement","src":"5788:33:67"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5718:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"5726:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"5734:5:67","type":""}],"src":"5688:139:67"},{"body":{"nodeType":"YulBlock","src":"5896:80:67","statements":[{"nodeType":"YulAssignment","src":"5906:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5921:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5915:5:67"},"nodeType":"YulFunctionCall","src":"5915:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"5906:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5964:5:67"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"5937:26:67"},"nodeType":"YulFunctionCall","src":"5937:33:67"},"nodeType":"YulExpressionStatement","src":"5937:33:67"}]},"name":"abi_decode_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5874:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"5882:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"5890:5:67","type":""}],"src":"5833:143:67"},{"body":{"nodeType":"YulBlock","src":"6033:86:67","statements":[{"nodeType":"YulAssignment","src":"6043:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6065:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6052:12:67"},"nodeType":"YulFunctionCall","src":"6052:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"6043:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6107:5:67"}],"functionName":{"name":"validator_revert_t_uint32","nodeType":"YulIdentifier","src":"6081:25:67"},"nodeType":"YulFunctionCall","src":"6081:32:67"},"nodeType":"YulExpressionStatement","src":"6081:32:67"}]},"name":"abi_decode_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"6011:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"6019:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"6027:5:67","type":""}],"src":"5982:137:67"},{"body":{"nodeType":"YulBlock","src":"6187:79:67","statements":[{"nodeType":"YulAssignment","src":"6197:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6212:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6206:5:67"},"nodeType":"YulFunctionCall","src":"6206:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"6197:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6254:5:67"}],"functionName":{"name":"validator_revert_t_uint32","nodeType":"YulIdentifier","src":"6228:25:67"},"nodeType":"YulFunctionCall","src":"6228:32:67"},"nodeType":"YulExpressionStatement","src":"6228:32:67"}]},"name":"abi_decode_t_uint32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"6165:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"6173:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"6181:5:67","type":""}],"src":"6125:141:67"},{"body":{"nodeType":"YulBlock","src":"6334:79:67","statements":[{"nodeType":"YulAssignment","src":"6344:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6359:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6353:5:67"},"nodeType":"YulFunctionCall","src":"6353:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"6344:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6401:5:67"}],"functionName":{"name":"validator_revert_t_uint64","nodeType":"YulIdentifier","src":"6375:25:67"},"nodeType":"YulFunctionCall","src":"6375:32:67"},"nodeType":"YulExpressionStatement","src":"6375:32:67"}]},"name":"abi_decode_t_uint64_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"6312:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"6320:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"6328:5:67","type":""}],"src":"6272:141:67"},{"body":{"nodeType":"YulBlock","src":"6480:78:67","statements":[{"nodeType":"YulAssignment","src":"6490:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6505:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6499:5:67"},"nodeType":"YulFunctionCall","src":"6499:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"6490:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6546:5:67"}],"functionName":{"name":"validator_revert_t_uint8","nodeType":"YulIdentifier","src":"6521:24:67"},"nodeType":"YulFunctionCall","src":"6521:31:67"},"nodeType":"YulExpressionStatement","src":"6521:31:67"}]},"name":"abi_decode_t_uint8_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"6458:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"6466:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"6474:5:67","type":""}],"src":"6419:139:67"},{"body":{"nodeType":"YulBlock","src":"6649:282:67","statements":[{"body":{"nodeType":"YulBlock","src":"6695:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"6697:77:67"},"nodeType":"YulFunctionCall","src":"6697:79:67"},"nodeType":"YulExpressionStatement","src":"6697:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6670:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"6679:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6666:3:67"},"nodeType":"YulFunctionCall","src":"6666:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"6691:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6662:3:67"},"nodeType":"YulFunctionCall","src":"6662:32:67"},"nodeType":"YulIf","src":"6659:119:67"},{"nodeType":"YulBlock","src":"6788:136:67","statements":[{"nodeType":"YulVariableDeclaration","src":"6803:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"6817:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6807:6:67","type":""}]},{"nodeType":"YulAssignment","src":"6832:82:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6886:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"6897:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6882:3:67"},"nodeType":"YulFunctionCall","src":"6882:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6906:7:67"}],"functionName":{"name":"abi_decode_t_address_payable_fromMemory","nodeType":"YulIdentifier","src":"6842:39:67"},"nodeType":"YulFunctionCall","src":"6842:72:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6832:6:67"}]}]}]},"name":"abi_decode_tuple_t_address_payable_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6619:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6630:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6642:6:67","type":""}],"src":"6564:367:67"},{"body":{"nodeType":"YulBlock","src":"7011:271:67","statements":[{"body":{"nodeType":"YulBlock","src":"7057:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"7059:77:67"},"nodeType":"YulFunctionCall","src":"7059:79:67"},"nodeType":"YulExpressionStatement","src":"7059:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7032:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"7041:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7028:3:67"},"nodeType":"YulFunctionCall","src":"7028:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"7053:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7024:3:67"},"nodeType":"YulFunctionCall","src":"7024:32:67"},"nodeType":"YulIf","src":"7021:119:67"},{"nodeType":"YulBlock","src":"7150:125:67","statements":[{"nodeType":"YulVariableDeclaration","src":"7165:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"7179:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"7169:6:67","type":""}]},{"nodeType":"YulAssignment","src":"7194:71:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7237:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"7248:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7233:3:67"},"nodeType":"YulFunctionCall","src":"7233:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7257:7:67"}],"functionName":{"name":"abi_decode_t_bool_fromMemory","nodeType":"YulIdentifier","src":"7204:28:67"},"nodeType":"YulFunctionCall","src":"7204:61:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7194:6:67"}]}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6981:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6992:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7004:6:67","type":""}],"src":"6937:345:67"},{"body":{"nodeType":"YulBlock","src":"7354:263:67","statements":[{"body":{"nodeType":"YulBlock","src":"7400:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"7402:77:67"},"nodeType":"YulFunctionCall","src":"7402:79:67"},"nodeType":"YulExpressionStatement","src":"7402:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7375:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"7384:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7371:3:67"},"nodeType":"YulFunctionCall","src":"7371:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"7396:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7367:3:67"},"nodeType":"YulFunctionCall","src":"7367:32:67"},"nodeType":"YulIf","src":"7364:119:67"},{"nodeType":"YulBlock","src":"7493:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"7508:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"7522:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"7512:6:67","type":""}]},{"nodeType":"YulAssignment","src":"7537:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7572:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"7583:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7568:3:67"},"nodeType":"YulFunctionCall","src":"7568:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7592:7:67"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"7547:20:67"},"nodeType":"YulFunctionCall","src":"7547:53:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7537:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7324:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7335:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7347:6:67","type":""}],"src":"7288:329:67"},{"body":{"nodeType":"YulBlock","src":"7700:274:67","statements":[{"body":{"nodeType":"YulBlock","src":"7746:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"7748:77:67"},"nodeType":"YulFunctionCall","src":"7748:79:67"},"nodeType":"YulExpressionStatement","src":"7748:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7721:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"7730:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7717:3:67"},"nodeType":"YulFunctionCall","src":"7717:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"7742:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7713:3:67"},"nodeType":"YulFunctionCall","src":"7713:32:67"},"nodeType":"YulIf","src":"7710:119:67"},{"nodeType":"YulBlock","src":"7839:128:67","statements":[{"nodeType":"YulVariableDeclaration","src":"7854:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"7868:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"7858:6:67","type":""}]},{"nodeType":"YulAssignment","src":"7883:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7929:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"7940:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7925:3:67"},"nodeType":"YulFunctionCall","src":"7925:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7949:7:67"}],"functionName":{"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulIdentifier","src":"7893:31:67"},"nodeType":"YulFunctionCall","src":"7893:64:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7883:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7670:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7681:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7693:6:67","type":""}],"src":"7623:351:67"},{"body":{"nodeType":"YulBlock","src":"8055:432:67","statements":[{"body":{"nodeType":"YulBlock","src":"8101:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"8103:77:67"},"nodeType":"YulFunctionCall","src":"8103:79:67"},"nodeType":"YulExpressionStatement","src":"8103:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8076:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"8085:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8072:3:67"},"nodeType":"YulFunctionCall","src":"8072:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"8097:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8068:3:67"},"nodeType":"YulFunctionCall","src":"8068:32:67"},"nodeType":"YulIf","src":"8065:119:67"},{"nodeType":"YulBlock","src":"8194:286:67","statements":[{"nodeType":"YulVariableDeclaration","src":"8209:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8240:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"8251:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8236:3:67"},"nodeType":"YulFunctionCall","src":"8236:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8223:12:67"},"nodeType":"YulFunctionCall","src":"8223:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8213:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"8301:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"8303:77:67"},"nodeType":"YulFunctionCall","src":"8303:79:67"},"nodeType":"YulExpressionStatement","src":"8303:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8273:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"8281:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8270:2:67"},"nodeType":"YulFunctionCall","src":"8270:30:67"},"nodeType":"YulIf","src":"8267:117:67"},{"nodeType":"YulAssignment","src":"8398:72:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8442:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"8453:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8438:3:67"},"nodeType":"YulFunctionCall","src":"8438:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8462:7:67"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"8408:29:67"},"nodeType":"YulFunctionCall","src":"8408:62:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8398:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8025:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8036:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8048:6:67","type":""}],"src":"7980:507:67"},{"body":{"nodeType":"YulBlock","src":"8588:292:67","statements":[{"body":{"nodeType":"YulBlock","src":"8634:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"8636:77:67"},"nodeType":"YulFunctionCall","src":"8636:79:67"},"nodeType":"YulExpressionStatement","src":"8636:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8609:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"8618:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8605:3:67"},"nodeType":"YulFunctionCall","src":"8605:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"8630:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8601:3:67"},"nodeType":"YulFunctionCall","src":"8601:32:67"},"nodeType":"YulIf","src":"8598:119:67"},{"nodeType":"YulBlock","src":"8727:146:67","statements":[{"nodeType":"YulVariableDeclaration","src":"8742:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"8756:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8746:6:67","type":""}]},{"nodeType":"YulAssignment","src":"8771:92:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8835:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"8846:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8831:3:67"},"nodeType":"YulFunctionCall","src":"8831:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8855:7:67"}],"functionName":{"name":"abi_decode_t_contract$_Clonable_$11629_fromMemory","nodeType":"YulIdentifier","src":"8781:49:67"},"nodeType":"YulFunctionCall","src":"8781:82:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8771:6:67"}]}]}]},"name":"abi_decode_tuple_t_contract$_Clonable_$11629_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8558:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8569:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8581:6:67","type":""}],"src":"8493:387:67"},{"body":{"nodeType":"YulBlock","src":"8979:290:67","statements":[{"body":{"nodeType":"YulBlock","src":"9025:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"9027:77:67"},"nodeType":"YulFunctionCall","src":"9027:79:67"},"nodeType":"YulExpressionStatement","src":"9027:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9000:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"9009:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8996:3:67"},"nodeType":"YulFunctionCall","src":"8996:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"9021:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8992:3:67"},"nodeType":"YulFunctionCall","src":"8992:32:67"},"nodeType":"YulIf","src":"8989:119:67"},{"nodeType":"YulBlock","src":"9118:144:67","statements":[{"nodeType":"YulVariableDeclaration","src":"9133:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"9147:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"9137:6:67","type":""}]},{"nodeType":"YulAssignment","src":"9162:90:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9224:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"9235:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9220:3:67"},"nodeType":"YulFunctionCall","src":"9220:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9244:7:67"}],"functionName":{"name":"abi_decode_t_enum$_QueryStatus_$7996_fromMemory","nodeType":"YulIdentifier","src":"9172:47:67"},"nodeType":"YulFunctionCall","src":"9172:80:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9162:6:67"}]}]}]},"name":"abi_decode_tuple_t_enum$_QueryStatus_$7996_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8949:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8960:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8972:6:67","type":""}],"src":"8886:383:67"},{"body":{"nodeType":"YulBlock","src":"9376:451:67","statements":[{"body":{"nodeType":"YulBlock","src":"9422:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"9424:77:67"},"nodeType":"YulFunctionCall","src":"9424:79:67"},"nodeType":"YulExpressionStatement","src":"9424:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9397:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"9406:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9393:3:67"},"nodeType":"YulFunctionCall","src":"9393:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"9418:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9389:3:67"},"nodeType":"YulFunctionCall","src":"9389:32:67"},"nodeType":"YulIf","src":"9386:119:67"},{"nodeType":"YulBlock","src":"9515:305:67","statements":[{"nodeType":"YulVariableDeclaration","src":"9530:38:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9554:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"9565:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9550:3:67"},"nodeType":"YulFunctionCall","src":"9550:17:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9544:5:67"},"nodeType":"YulFunctionCall","src":"9544:24:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"9534:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"9615:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"9617:77:67"},"nodeType":"YulFunctionCall","src":"9617:79:67"},"nodeType":"YulExpressionStatement","src":"9617:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9587:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"9595:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9584:2:67"},"nodeType":"YulFunctionCall","src":"9584:30:67"},"nodeType":"YulIf","src":"9581:117:67"},{"nodeType":"YulAssignment","src":"9712:98:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9782:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"9793:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9778:3:67"},"nodeType":"YulFunctionCall","src":"9778:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9802:7:67"}],"functionName":{"name":"abi_decode_t_struct$_Result_$8023_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"9722:55:67"},"nodeType":"YulFunctionCall","src":"9722:88:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9712:6:67"}]}]}]},"name":"abi_decode_tuple_t_struct$_Result_$8023_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9346:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9357:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9369:6:67","type":""}],"src":"9275:552:67"},{"body":{"nodeType":"YulBlock","src":"9899:263:67","statements":[{"body":{"nodeType":"YulBlock","src":"9945:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"9947:77:67"},"nodeType":"YulFunctionCall","src":"9947:79:67"},"nodeType":"YulExpressionStatement","src":"9947:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9920:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"9929:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9916:3:67"},"nodeType":"YulFunctionCall","src":"9916:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"9941:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9912:3:67"},"nodeType":"YulFunctionCall","src":"9912:32:67"},"nodeType":"YulIf","src":"9909:119:67"},{"nodeType":"YulBlock","src":"10038:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"10053:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"10067:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"10057:6:67","type":""}]},{"nodeType":"YulAssignment","src":"10082:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10117:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"10128:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10113:3:67"},"nodeType":"YulFunctionCall","src":"10113:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10137:7:67"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"10092:20:67"},"nodeType":"YulFunctionCall","src":"10092:53:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10082:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9869:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9880:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9892:6:67","type":""}],"src":"9833:329:67"},{"body":{"nodeType":"YulBlock","src":"10245:274:67","statements":[{"body":{"nodeType":"YulBlock","src":"10291:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"10293:77:67"},"nodeType":"YulFunctionCall","src":"10293:79:67"},"nodeType":"YulExpressionStatement","src":"10293:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10266:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"10275:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10262:3:67"},"nodeType":"YulFunctionCall","src":"10262:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"10287:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10258:3:67"},"nodeType":"YulFunctionCall","src":"10258:32:67"},"nodeType":"YulIf","src":"10255:119:67"},{"nodeType":"YulBlock","src":"10384:128:67","statements":[{"nodeType":"YulVariableDeclaration","src":"10399:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"10413:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"10403:6:67","type":""}]},{"nodeType":"YulAssignment","src":"10428:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10474:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"10485:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10470:3:67"},"nodeType":"YulFunctionCall","src":"10470:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10494:7:67"}],"functionName":{"name":"abi_decode_t_uint256_fromMemory","nodeType":"YulIdentifier","src":"10438:31:67"},"nodeType":"YulFunctionCall","src":"10438:64:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10428:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10215:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10226:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10238:6:67","type":""}],"src":"10168:351:67"},{"body":{"nodeType":"YulBlock","src":"10624:518:67","statements":[{"body":{"nodeType":"YulBlock","src":"10670:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"10672:77:67"},"nodeType":"YulFunctionCall","src":"10672:79:67"},"nodeType":"YulExpressionStatement","src":"10672:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10645:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"10654:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10641:3:67"},"nodeType":"YulFunctionCall","src":"10641:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"10666:2:67","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10637:3:67"},"nodeType":"YulFunctionCall","src":"10637:32:67"},"nodeType":"YulIf","src":"10634:119:67"},{"nodeType":"YulBlock","src":"10763:116:67","statements":[{"nodeType":"YulVariableDeclaration","src":"10778:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"10792:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"10782:6:67","type":""}]},{"nodeType":"YulAssignment","src":"10807:62:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10841:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"10852:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10837:3:67"},"nodeType":"YulFunctionCall","src":"10837:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10861:7:67"}],"functionName":{"name":"abi_decode_t_uint32","nodeType":"YulIdentifier","src":"10817:19:67"},"nodeType":"YulFunctionCall","src":"10817:52:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10807:6:67"}]}]},{"nodeType":"YulBlock","src":"10889:118:67","statements":[{"nodeType":"YulVariableDeclaration","src":"10904:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"10918:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"10908:6:67","type":""}]},{"nodeType":"YulAssignment","src":"10934:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10969:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"10980:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10965:3:67"},"nodeType":"YulFunctionCall","src":"10965:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10989:7:67"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"10944:20:67"},"nodeType":"YulFunctionCall","src":"10944:53:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10934:6:67"}]}]},{"nodeType":"YulBlock","src":"11017:118:67","statements":[{"nodeType":"YulVariableDeclaration","src":"11032:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"11046:2:67","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"11036:6:67","type":""}]},{"nodeType":"YulAssignment","src":"11062:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11097:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"11108:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11093:3:67"},"nodeType":"YulFunctionCall","src":"11093:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"11117:7:67"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"11072:20:67"},"nodeType":"YulFunctionCall","src":"11072:53:67"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"11062:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint32t_uint256t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10578:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10589:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10601:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10609:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"10617:6:67","type":""}],"src":"10525:617:67"},{"body":{"nodeType":"YulBlock","src":"11247:518:67","statements":[{"body":{"nodeType":"YulBlock","src":"11293:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"11295:77:67"},"nodeType":"YulFunctionCall","src":"11295:79:67"},"nodeType":"YulExpressionStatement","src":"11295:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11268:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"11277:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11264:3:67"},"nodeType":"YulFunctionCall","src":"11264:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"11289:2:67","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11260:3:67"},"nodeType":"YulFunctionCall","src":"11260:32:67"},"nodeType":"YulIf","src":"11257:119:67"},{"nodeType":"YulBlock","src":"11386:116:67","statements":[{"nodeType":"YulVariableDeclaration","src":"11401:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"11415:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"11405:6:67","type":""}]},{"nodeType":"YulAssignment","src":"11430:62:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11464:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"11475:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11460:3:67"},"nodeType":"YulFunctionCall","src":"11460:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"11484:7:67"}],"functionName":{"name":"abi_decode_t_uint32","nodeType":"YulIdentifier","src":"11440:19:67"},"nodeType":"YulFunctionCall","src":"11440:52:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11430:6:67"}]}]},{"nodeType":"YulBlock","src":"11512:118:67","statements":[{"nodeType":"YulVariableDeclaration","src":"11527:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"11541:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"11531:6:67","type":""}]},{"nodeType":"YulAssignment","src":"11557:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11592:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"11603:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11588:3:67"},"nodeType":"YulFunctionCall","src":"11588:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"11612:7:67"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"11567:20:67"},"nodeType":"YulFunctionCall","src":"11567:53:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"11557:6:67"}]}]},{"nodeType":"YulBlock","src":"11640:118:67","statements":[{"nodeType":"YulVariableDeclaration","src":"11655:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"11669:2:67","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"11659:6:67","type":""}]},{"nodeType":"YulAssignment","src":"11685:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11720:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"11731:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11716:3:67"},"nodeType":"YulFunctionCall","src":"11716:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"11740:7:67"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"11695:20:67"},"nodeType":"YulFunctionCall","src":"11695:53:67"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"11685:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint32t_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11201:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11212:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11224:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11232:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11240:6:67","type":""}],"src":"11148:617:67"},{"body":{"nodeType":"YulBlock","src":"11836:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11853:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11876:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"11858:17:67"},"nodeType":"YulFunctionCall","src":"11858:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11846:6:67"},"nodeType":"YulFunctionCall","src":"11846:37:67"},"nodeType":"YulExpressionStatement","src":"11846:37:67"}]},"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11824:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11831:3:67","type":""}],"src":"11771:118:67"},{"body":{"nodeType":"YulBlock","src":"11944:50:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11961:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11981:5:67"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"11966:14:67"},"nodeType":"YulFunctionCall","src":"11966:21:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11954:6:67"},"nodeType":"YulFunctionCall","src":"11954:34:67"},"nodeType":"YulExpressionStatement","src":"11954:34:67"}]},"name":"abi_encode_t_bool_to_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11932:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11939:3:67","type":""}],"src":"11895:99:67"},{"body":{"nodeType":"YulBlock","src":"12059:50:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12076:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12096:5:67"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"12081:14:67"},"nodeType":"YulFunctionCall","src":"12081:21:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12069:6:67"},"nodeType":"YulFunctionCall","src":"12069:34:67"},"nodeType":"YulExpressionStatement","src":"12069:34:67"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12047:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"12054:3:67","type":""}],"src":"12000:109:67"},{"body":{"nodeType":"YulBlock","src":"12180:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12197:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12220:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"12202:17:67"},"nodeType":"YulFunctionCall","src":"12202:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12190:6:67"},"nodeType":"YulFunctionCall","src":"12190:37:67"},"nodeType":"YulExpressionStatement","src":"12190:37:67"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12168:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"12175:3:67","type":""}],"src":"12115:118:67"},{"body":{"nodeType":"YulBlock","src":"12319:260:67","statements":[{"nodeType":"YulVariableDeclaration","src":"12329:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12375:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"12343:31:67"},"nodeType":"YulFunctionCall","src":"12343:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"12333:6:67","type":""}]},{"nodeType":"YulAssignment","src":"12390:67:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12445:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"12450:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"12397:47:67"},"nodeType":"YulFunctionCall","src":"12397:60:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"12390:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12492:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"12499:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12488:3:67"},"nodeType":"YulFunctionCall","src":"12488:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"12506:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"12511:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"12466:21:67"},"nodeType":"YulFunctionCall","src":"12466:52:67"},"nodeType":"YulExpressionStatement","src":"12466:52:67"},{"nodeType":"YulAssignment","src":"12527:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12538:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"12565:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"12543:21:67"},"nodeType":"YulFunctionCall","src":"12543:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12534:3:67"},"nodeType":"YulFunctionCall","src":"12534:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"12527:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12300:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"12307:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"12315:3:67","type":""}],"src":"12239:340:67"},{"body":{"nodeType":"YulBlock","src":"12675:270:67","statements":[{"nodeType":"YulVariableDeclaration","src":"12685:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12731:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"12699:31:67"},"nodeType":"YulFunctionCall","src":"12699:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"12689:6:67","type":""}]},{"nodeType":"YulAssignment","src":"12746:77:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12811:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"12816:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"12753:57:67"},"nodeType":"YulFunctionCall","src":"12753:70:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"12746:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12858:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"12865:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12854:3:67"},"nodeType":"YulFunctionCall","src":"12854:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"12872:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"12877:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"12832:21:67"},"nodeType":"YulFunctionCall","src":"12832:52:67"},"nodeType":"YulExpressionStatement","src":"12832:52:67"},{"nodeType":"YulAssignment","src":"12893:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12904:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"12931:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"12909:21:67"},"nodeType":"YulFunctionCall","src":"12909:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12900:3:67"},"nodeType":"YulFunctionCall","src":"12900:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"12893:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12656:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"12663:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"12671:3:67","type":""}],"src":"12585:360:67"},{"body":{"nodeType":"YulBlock","src":"13034:84:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13051:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13105:5:67"}],"functionName":{"name":"convert_t_contract$_Clonable_$11629_to_t_address","nodeType":"YulIdentifier","src":"13056:48:67"},"nodeType":"YulFunctionCall","src":"13056:55:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13044:6:67"},"nodeType":"YulFunctionCall","src":"13044:68:67"},"nodeType":"YulExpressionStatement","src":"13044:68:67"}]},"name":"abi_encode_t_contract$_Clonable_$11629_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13022:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"13029:3:67","type":""}],"src":"12951:167:67"},{"body":{"nodeType":"YulBlock","src":"13212:89:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13229:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13288:5:67"}],"functionName":{"name":"convert_t_contract$_IWitnetRequest_$7510_to_t_address","nodeType":"YulIdentifier","src":"13234:53:67"},"nodeType":"YulFunctionCall","src":"13234:60:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13222:6:67"},"nodeType":"YulFunctionCall","src":"13222:73:67"},"nodeType":"YulExpressionStatement","src":"13222:73:67"}]},"name":"abi_encode_t_contract$_IWitnetRequest_$7510_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13200:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"13207:3:67","type":""}],"src":"13124:177:67"},{"body":{"nodeType":"YulBlock","src":"13407:101:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13424:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13495:5:67"}],"functionName":{"name":"convert_t_contract$_WitnetRequestBoard_$4162_to_t_address_payable","nodeType":"YulIdentifier","src":"13429:65:67"},"nodeType":"YulFunctionCall","src":"13429:72:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13417:6:67"},"nodeType":"YulFunctionCall","src":"13417:85:67"},"nodeType":"YulExpressionStatement","src":"13417:85:67"}]},"name":"abi_encode_t_contract$_WitnetRequestBoard_$4162_to_t_address_payable_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13395:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"13402:3:67","type":""}],"src":"13307:201:67"},{"body":{"nodeType":"YulBlock","src":"13612:99:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13629:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13698:5:67"}],"functionName":{"name":"convert_t_contract$_WitnetRequestRandomness_$12753_to_t_address","nodeType":"YulIdentifier","src":"13634:63:67"},"nodeType":"YulFunctionCall","src":"13634:70:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13622:6:67"},"nodeType":"YulFunctionCall","src":"13622:83:67"},"nodeType":"YulExpressionStatement","src":"13622:83:67"}]},"name":"abi_encode_t_contract$_WitnetRequestRandomness_$12753_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13600:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"13607:3:67","type":""}],"src":"13514:197:67"},{"body":{"nodeType":"YulBlock","src":"13863:220:67","statements":[{"nodeType":"YulAssignment","src":"13873:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13939:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"13944:2:67","type":"","value":"34"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"13880:58:67"},"nodeType":"YulFunctionCall","src":"13880:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13873:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14045:3:67"}],"functionName":{"name":"store_literal_in_memory_2063d17e40f52e2680483996eebc5eb14841a31f35c049e2b83eef96cc3ab1c2","nodeType":"YulIdentifier","src":"13956:88:67"},"nodeType":"YulFunctionCall","src":"13956:93:67"},"nodeType":"YulExpressionStatement","src":"13956:93:67"},{"nodeType":"YulAssignment","src":"14058:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14069:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"14074:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14065:3:67"},"nodeType":"YulFunctionCall","src":"14065:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"14058:3:67"}]}]},"name":"abi_encode_t_stringliteral_2063d17e40f52e2680483996eebc5eb14841a31f35c049e2b83eef96cc3ab1c2_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"13851:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"13859:3:67","type":""}],"src":"13717:366:67"},{"body":{"nodeType":"YulBlock","src":"14235:220:67","statements":[{"nodeType":"YulAssignment","src":"14245:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14311:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"14316:2:67","type":"","value":"37"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"14252:58:67"},"nodeType":"YulFunctionCall","src":"14252:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"14245:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14417:3:67"}],"functionName":{"name":"store_literal_in_memory_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c","nodeType":"YulIdentifier","src":"14328:88:67"},"nodeType":"YulFunctionCall","src":"14328:93:67"},"nodeType":"YulExpressionStatement","src":"14328:93:67"},{"nodeType":"YulAssignment","src":"14430:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14441:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"14446:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14437:3:67"},"nodeType":"YulFunctionCall","src":"14437:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"14430:3:67"}]}]},"name":"abi_encode_t_stringliteral_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"14223:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"14231:3:67","type":""}],"src":"14089:366:67"},{"body":{"nodeType":"YulBlock","src":"14607:220:67","statements":[{"nodeType":"YulAssignment","src":"14617:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14683:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"14688:2:67","type":"","value":"35"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"14624:58:67"},"nodeType":"YulFunctionCall","src":"14624:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"14617:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14789:3:67"}],"functionName":{"name":"store_literal_in_memory_2ccb45f5bf081c7ce3a014d3becfd9889cc2ed630aa4db79533f91e96077c0ae","nodeType":"YulIdentifier","src":"14700:88:67"},"nodeType":"YulFunctionCall","src":"14700:93:67"},"nodeType":"YulExpressionStatement","src":"14700:93:67"},{"nodeType":"YulAssignment","src":"14802:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14813:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"14818:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14809:3:67"},"nodeType":"YulFunctionCall","src":"14809:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"14802:3:67"}]}]},"name":"abi_encode_t_stringliteral_2ccb45f5bf081c7ce3a014d3becfd9889cc2ed630aa4db79533f91e96077c0ae_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"14595:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"14603:3:67","type":""}],"src":"14461:366:67"},{"body":{"nodeType":"YulBlock","src":"14979:220:67","statements":[{"nodeType":"YulAssignment","src":"14989:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15055:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"15060:2:67","type":"","value":"27"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"14996:58:67"},"nodeType":"YulFunctionCall","src":"14996:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"14989:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15161:3:67"}],"functionName":{"name":"store_literal_in_memory_55f80fc360f2082a848e28d63f54a94763dc2b59c75e9fef1bf56b42af6f071b","nodeType":"YulIdentifier","src":"15072:88:67"},"nodeType":"YulFunctionCall","src":"15072:93:67"},"nodeType":"YulExpressionStatement","src":"15072:93:67"},{"nodeType":"YulAssignment","src":"15174:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15185:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"15190:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15181:3:67"},"nodeType":"YulFunctionCall","src":"15181:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"15174:3:67"}]}]},"name":"abi_encode_t_stringliteral_55f80fc360f2082a848e28d63f54a94763dc2b59c75e9fef1bf56b42af6f071b_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"14967:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"14975:3:67","type":""}],"src":"14833:366:67"},{"body":{"nodeType":"YulBlock","src":"15351:220:67","statements":[{"nodeType":"YulAssignment","src":"15361:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15427:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"15432:2:67","type":"","value":"24"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"15368:58:67"},"nodeType":"YulFunctionCall","src":"15368:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"15361:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15533:3:67"}],"functionName":{"name":"store_literal_in_memory_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf","nodeType":"YulIdentifier","src":"15444:88:67"},"nodeType":"YulFunctionCall","src":"15444:93:67"},"nodeType":"YulExpressionStatement","src":"15444:93:67"},{"nodeType":"YulAssignment","src":"15546:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15557:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"15562:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15553:3:67"},"nodeType":"YulFunctionCall","src":"15553:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"15546:3:67"}]}]},"name":"abi_encode_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"15339:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"15347:3:67","type":""}],"src":"15205:366:67"},{"body":{"nodeType":"YulBlock","src":"15723:220:67","statements":[{"nodeType":"YulAssignment","src":"15733:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15799:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"15804:2:67","type":"","value":"32"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"15740:58:67"},"nodeType":"YulFunctionCall","src":"15740:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"15733:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15905:3:67"}],"functionName":{"name":"store_literal_in_memory_8c09ea17e2de3ad790d29399fa76d05d6700bd912e14021f467bb3897d40c692","nodeType":"YulIdentifier","src":"15816:88:67"},"nodeType":"YulFunctionCall","src":"15816:93:67"},"nodeType":"YulExpressionStatement","src":"15816:93:67"},{"nodeType":"YulAssignment","src":"15918:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15929:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"15934:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15925:3:67"},"nodeType":"YulFunctionCall","src":"15925:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"15918:3:67"}]}]},"name":"abi_encode_t_stringliteral_8c09ea17e2de3ad790d29399fa76d05d6700bd912e14021f467bb3897d40c692_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"15711:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"15719:3:67","type":""}],"src":"15577:366:67"},{"body":{"nodeType":"YulBlock","src":"16095:220:67","statements":[{"nodeType":"YulAssignment","src":"16105:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16171:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"16176:2:67","type":"","value":"23"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"16112:58:67"},"nodeType":"YulFunctionCall","src":"16112:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"16105:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16277:3:67"}],"functionName":{"name":"store_literal_in_memory_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e","nodeType":"YulIdentifier","src":"16188:88:67"},"nodeType":"YulFunctionCall","src":"16188:93:67"},"nodeType":"YulExpressionStatement","src":"16188:93:67"},{"nodeType":"YulAssignment","src":"16290:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16301:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"16306:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16297:3:67"},"nodeType":"YulFunctionCall","src":"16297:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"16290:3:67"}]}]},"name":"abi_encode_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"16083:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"16091:3:67","type":""}],"src":"15949:366:67"},{"body":{"nodeType":"YulBlock","src":"16485:480:67","statements":[{"nodeType":"YulVariableDeclaration","src":"16495:26:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16511:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"16516:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16507:3:67"},"nodeType":"YulFunctionCall","src":"16507:14:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"16499:4:67","type":""}]},{"nodeType":"YulBlock","src":"16531:233:67","statements":[{"nodeType":"YulVariableDeclaration","src":"16566:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16596:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"16603:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16592:3:67"},"nodeType":"YulFunctionCall","src":"16592:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16586:5:67"},"nodeType":"YulFunctionCall","src":"16586:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"16570:12:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16634:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"16639:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16630:3:67"},"nodeType":"YulFunctionCall","src":"16630:14:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"16650:4:67"},{"name":"pos","nodeType":"YulIdentifier","src":"16656:3:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16646:3:67"},"nodeType":"YulFunctionCall","src":"16646:14:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16623:6:67"},"nodeType":"YulFunctionCall","src":"16623:38:67"},"nodeType":"YulExpressionStatement","src":"16623:38:67"},{"nodeType":"YulAssignment","src":"16674:79:67","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"16734:12:67"},{"name":"tail","nodeType":"YulIdentifier","src":"16748:4:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"16682:51:67"},"nodeType":"YulFunctionCall","src":"16682:71:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16674:4:67"}]}]},{"nodeType":"YulBlock","src":"16774:164:67","statements":[{"nodeType":"YulVariableDeclaration","src":"16811:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16841:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"16848:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16837:3:67"},"nodeType":"YulFunctionCall","src":"16837:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16831:5:67"},"nodeType":"YulFunctionCall","src":"16831:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"16815:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"16899:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16917:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"16922:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16913:3:67"},"nodeType":"YulFunctionCall","src":"16913:14:67"}],"functionName":{"name":"abi_encode_t_uint32_to_t_uint32","nodeType":"YulIdentifier","src":"16867:31:67"},"nodeType":"YulFunctionCall","src":"16867:61:67"},"nodeType":"YulExpressionStatement","src":"16867:61:67"}]},{"nodeType":"YulAssignment","src":"16948:11:67","value":{"name":"tail","nodeType":"YulIdentifier","src":"16955:4:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"16948:3:67"}]}]},"name":"abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16464:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"16471:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"16480:3:67","type":""}],"src":"16373:592:67"},{"body":{"nodeType":"YulBlock","src":"17127:1219:67","statements":[{"nodeType":"YulVariableDeclaration","src":"17137:26:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17153:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"17158:4:67","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17149:3:67"},"nodeType":"YulFunctionCall","src":"17149:14:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"17141:4:67","type":""}]},{"nodeType":"YulBlock","src":"17173:265:67","statements":[{"nodeType":"YulVariableDeclaration","src":"17210:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17240:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"17247:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17236:3:67"},"nodeType":"YulFunctionCall","src":"17236:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17230:5:67"},"nodeType":"YulFunctionCall","src":"17230:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"17214:12:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17278:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"17283:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17274:3:67"},"nodeType":"YulFunctionCall","src":"17274:14:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"17294:4:67"},{"name":"pos","nodeType":"YulIdentifier","src":"17300:3:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17290:3:67"},"nodeType":"YulFunctionCall","src":"17290:14:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17267:6:67"},"nodeType":"YulFunctionCall","src":"17267:38:67"},"nodeType":"YulExpressionStatement","src":"17267:38:67"},{"nodeType":"YulAssignment","src":"17318:109:67","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"17408:12:67"},{"name":"tail","nodeType":"YulIdentifier","src":"17422:4:67"}],"functionName":{"name":"abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr","nodeType":"YulIdentifier","src":"17326:81:67"},"nodeType":"YulFunctionCall","src":"17326:101:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17318:4:67"}]}]},{"nodeType":"YulBlock","src":"17448:167:67","statements":[{"nodeType":"YulVariableDeclaration","src":"17490:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17520:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"17527:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17516:3:67"},"nodeType":"YulFunctionCall","src":"17516:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17510:5:67"},"nodeType":"YulFunctionCall","src":"17510:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"17494:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"17576:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17594:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"17599:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17590:3:67"},"nodeType":"YulFunctionCall","src":"17590:14:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8","nodeType":"YulIdentifier","src":"17546:29:67"},"nodeType":"YulFunctionCall","src":"17546:59:67"},"nodeType":"YulExpressionStatement","src":"17546:59:67"}]},{"nodeType":"YulBlock","src":"17625:165:67","statements":[{"nodeType":"YulVariableDeclaration","src":"17665:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17695:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"17702:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17691:3:67"},"nodeType":"YulFunctionCall","src":"17691:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17685:5:67"},"nodeType":"YulFunctionCall","src":"17685:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"17669:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"17751:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17769:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"17774:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17765:3:67"},"nodeType":"YulFunctionCall","src":"17765:14:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8","nodeType":"YulIdentifier","src":"17721:29:67"},"nodeType":"YulFunctionCall","src":"17721:59:67"},"nodeType":"YulExpressionStatement","src":"17721:59:67"}]},{"nodeType":"YulBlock","src":"17800:177:67","statements":[{"nodeType":"YulVariableDeclaration","src":"17852:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17882:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"17889:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17878:3:67"},"nodeType":"YulFunctionCall","src":"17878:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17872:5:67"},"nodeType":"YulFunctionCall","src":"17872:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"17856:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"17938:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17956:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"17961:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17952:3:67"},"nodeType":"YulFunctionCall","src":"17952:14:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8","nodeType":"YulIdentifier","src":"17908:29:67"},"nodeType":"YulFunctionCall","src":"17908:59:67"},"nodeType":"YulExpressionStatement","src":"17908:59:67"}]},{"nodeType":"YulBlock","src":"17987:161:67","statements":[{"nodeType":"YulVariableDeclaration","src":"18021:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18051:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"18058:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18047:3:67"},"nodeType":"YulFunctionCall","src":"18047:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18041:5:67"},"nodeType":"YulFunctionCall","src":"18041:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"18025:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"18109:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18127:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"18132:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18123:3:67"},"nodeType":"YulFunctionCall","src":"18123:14:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64","nodeType":"YulIdentifier","src":"18077:31:67"},"nodeType":"YulFunctionCall","src":"18077:61:67"},"nodeType":"YulExpressionStatement","src":"18077:61:67"}]},{"nodeType":"YulBlock","src":"18158:161:67","statements":[{"nodeType":"YulVariableDeclaration","src":"18192:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18222:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"18229:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18218:3:67"},"nodeType":"YulFunctionCall","src":"18218:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18212:5:67"},"nodeType":"YulFunctionCall","src":"18212:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"18196:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"18280:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18298:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"18303:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18294:3:67"},"nodeType":"YulFunctionCall","src":"18294:14:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64","nodeType":"YulIdentifier","src":"18248:31:67"},"nodeType":"YulFunctionCall","src":"18248:61:67"},"nodeType":"YulExpressionStatement","src":"18248:61:67"}]},{"nodeType":"YulAssignment","src":"18329:11:67","value":{"name":"tail","nodeType":"YulIdentifier","src":"18336:4:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"18329:3:67"}]}]},"name":"abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"17106:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"17113:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"17122:3:67","type":""}],"src":"17019:1327:67"},{"body":{"nodeType":"YulBlock","src":"18526:504:67","statements":[{"nodeType":"YulVariableDeclaration","src":"18536:26:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18552:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"18557:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18548:3:67"},"nodeType":"YulFunctionCall","src":"18548:14:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"18540:4:67","type":""}]},{"nodeType":"YulBlock","src":"18572:161:67","statements":[{"nodeType":"YulVariableDeclaration","src":"18610:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18640:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"18647:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18636:3:67"},"nodeType":"YulFunctionCall","src":"18636:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18630:5:67"},"nodeType":"YulFunctionCall","src":"18630:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"18614:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"18694:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18712:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"18717:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18708:3:67"},"nodeType":"YulFunctionCall","src":"18708:14:67"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool","nodeType":"YulIdentifier","src":"18666:27:67"},"nodeType":"YulFunctionCall","src":"18666:57:67"},"nodeType":"YulExpressionStatement","src":"18666:57:67"}]},{"nodeType":"YulBlock","src":"18743:260:67","statements":[{"nodeType":"YulVariableDeclaration","src":"18779:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18809:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"18816:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18805:3:67"},"nodeType":"YulFunctionCall","src":"18805:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18799:5:67"},"nodeType":"YulFunctionCall","src":"18799:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"18783:12:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18847:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"18852:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18843:3:67"},"nodeType":"YulFunctionCall","src":"18843:14:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"18863:4:67"},{"name":"pos","nodeType":"YulIdentifier","src":"18869:3:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18859:3:67"},"nodeType":"YulFunctionCall","src":"18859:14:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18836:6:67"},"nodeType":"YulFunctionCall","src":"18836:38:67"},"nodeType":"YulExpressionStatement","src":"18836:38:67"},{"nodeType":"YulAssignment","src":"18887:105:67","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"18973:12:67"},{"name":"tail","nodeType":"YulIdentifier","src":"18987:4:67"}],"functionName":{"name":"abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr","nodeType":"YulIdentifier","src":"18895:77:67"},"nodeType":"YulFunctionCall","src":"18895:97:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18887:4:67"}]}]},{"nodeType":"YulAssignment","src":"19013:11:67","value":{"name":"tail","nodeType":"YulIdentifier","src":"19020:4:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"19013:3:67"}]}]},"name":"abi_encode_t_struct$_Result_$8023_memory_ptr_to_t_struct$_Result_$8023_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18505:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"18512:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"18521:3:67","type":""}],"src":"18404:626:67"},{"body":{"nodeType":"YulBlock","src":"19101:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19118:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19141:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"19123:17:67"},"nodeType":"YulFunctionCall","src":"19123:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19111:6:67"},"nodeType":"YulFunctionCall","src":"19111:37:67"},"nodeType":"YulExpressionStatement","src":"19111:37:67"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19089:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"19096:3:67","type":""}],"src":"19036:118:67"},{"body":{"nodeType":"YulBlock","src":"19213:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19230:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19252:5:67"}],"functionName":{"name":"cleanup_t_uint32","nodeType":"YulIdentifier","src":"19235:16:67"},"nodeType":"YulFunctionCall","src":"19235:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19223:6:67"},"nodeType":"YulFunctionCall","src":"19223:36:67"},"nodeType":"YulExpressionStatement","src":"19223:36:67"}]},"name":"abi_encode_t_uint32_to_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19201:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"19208:3:67","type":""}],"src":"19160:105:67"},{"body":{"nodeType":"YulBlock","src":"19334:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19351:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19373:5:67"}],"functionName":{"name":"cleanup_t_uint32","nodeType":"YulIdentifier","src":"19356:16:67"},"nodeType":"YulFunctionCall","src":"19356:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19344:6:67"},"nodeType":"YulFunctionCall","src":"19344:36:67"},"nodeType":"YulExpressionStatement","src":"19344:36:67"}]},"name":"abi_encode_t_uint32_to_t_uint32_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19322:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"19329:3:67","type":""}],"src":"19271:115:67"},{"body":{"nodeType":"YulBlock","src":"19445:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19462:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19484:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"19467:16:67"},"nodeType":"YulFunctionCall","src":"19467:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19455:6:67"},"nodeType":"YulFunctionCall","src":"19455:36:67"},"nodeType":"YulExpressionStatement","src":"19455:36:67"}]},"name":"abi_encode_t_uint64_to_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19433:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"19440:3:67","type":""}],"src":"19392:105:67"},{"body":{"nodeType":"YulBlock","src":"19554:51:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19571:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19592:5:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"19576:15:67"},"nodeType":"YulFunctionCall","src":"19576:22:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19564:6:67"},"nodeType":"YulFunctionCall","src":"19564:35:67"},"nodeType":"YulExpressionStatement","src":"19564:35:67"}]},"name":"abi_encode_t_uint8_to_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19542:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"19549:3:67","type":""}],"src":"19503:102:67"},{"body":{"nodeType":"YulBlock","src":"19709:124:67","statements":[{"nodeType":"YulAssignment","src":"19719:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19731:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"19742:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19727:3:67"},"nodeType":"YulFunctionCall","src":"19727:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19719:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19799:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19812:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"19823:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19808:3:67"},"nodeType":"YulFunctionCall","src":"19808:17:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"19755:43:67"},"nodeType":"YulFunctionCall","src":"19755:71:67"},"nodeType":"YulExpressionStatement","src":"19755:71:67"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19681:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19693:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19704:4:67","type":""}],"src":"19611:222:67"},{"body":{"nodeType":"YulBlock","src":"19965:206:67","statements":[{"nodeType":"YulAssignment","src":"19975:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19987:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"19998:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19983:3:67"},"nodeType":"YulFunctionCall","src":"19983:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19975:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"20055:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20068:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"20079:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20064:3:67"},"nodeType":"YulFunctionCall","src":"20064:17:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"20011:43:67"},"nodeType":"YulFunctionCall","src":"20011:71:67"},"nodeType":"YulExpressionStatement","src":"20011:71:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"20136:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20149:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"20160:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20145:3:67"},"nodeType":"YulFunctionCall","src":"20145:18:67"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"20092:43:67"},"nodeType":"YulFunctionCall","src":"20092:72:67"},"nodeType":"YulExpressionStatement","src":"20092:72:67"}]},"name":"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19929:9:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19941:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19949:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19960:4:67","type":""}],"src":"19839:332:67"},{"body":{"nodeType":"YulBlock","src":"20359:371:67","statements":[{"nodeType":"YulAssignment","src":"20369:27:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20381:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"20392:3:67","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20377:3:67"},"nodeType":"YulFunctionCall","src":"20377:19:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20369:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"20450:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20463:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"20474:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20459:3:67"},"nodeType":"YulFunctionCall","src":"20459:17:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"20406:43:67"},"nodeType":"YulFunctionCall","src":"20406:71:67"},"nodeType":"YulExpressionStatement","src":"20406:71:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"20531:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20544:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"20555:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20540:3:67"},"nodeType":"YulFunctionCall","src":"20540:18:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"20487:43:67"},"nodeType":"YulFunctionCall","src":"20487:72:67"},"nodeType":"YulExpressionStatement","src":"20487:72:67"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"20613:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20626:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"20637:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20622:3:67"},"nodeType":"YulFunctionCall","src":"20622:18:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"20569:43:67"},"nodeType":"YulFunctionCall","src":"20569:72:67"},"nodeType":"YulExpressionStatement","src":"20569:72:67"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"20695:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20708:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"20719:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20704:3:67"},"nodeType":"YulFunctionCall","src":"20704:18:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"20651:43:67"},"nodeType":"YulFunctionCall","src":"20651:72:67"},"nodeType":"YulExpressionStatement","src":"20651:72:67"}]},"name":"abi_encode_tuple_t_address_t_uint256_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20307:9:67","type":""},{"name":"value3","nodeType":"YulTypedName","src":"20319:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"20327:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20335:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20343:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20354:4:67","type":""}],"src":"20177:553:67"},{"body":{"nodeType":"YulBlock","src":"20828:118:67","statements":[{"nodeType":"YulAssignment","src":"20838:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20850:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"20861:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20846:3:67"},"nodeType":"YulFunctionCall","src":"20846:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20838:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"20912:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20925:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"20936:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20921:3:67"},"nodeType":"YulFunctionCall","src":"20921:17:67"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulIdentifier","src":"20874:37:67"},"nodeType":"YulFunctionCall","src":"20874:65:67"},"nodeType":"YulExpressionStatement","src":"20874:65:67"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20800:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20812:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20823:4:67","type":""}],"src":"20736:210:67"},{"body":{"nodeType":"YulBlock","src":"21050:124:67","statements":[{"nodeType":"YulAssignment","src":"21060:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21072:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"21083:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21068:3:67"},"nodeType":"YulFunctionCall","src":"21068:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21060:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"21140:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21153:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"21164:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21149:3:67"},"nodeType":"YulFunctionCall","src":"21149:17:67"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"21096:43:67"},"nodeType":"YulFunctionCall","src":"21096:71:67"},"nodeType":"YulExpressionStatement","src":"21096:71:67"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21022:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"21034:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21045:4:67","type":""}],"src":"20952:222:67"},{"body":{"nodeType":"YulBlock","src":"21306:206:67","statements":[{"nodeType":"YulAssignment","src":"21316:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21328:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"21339:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21324:3:67"},"nodeType":"YulFunctionCall","src":"21324:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21316:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"21396:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21409:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"21420:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21405:3:67"},"nodeType":"YulFunctionCall","src":"21405:17:67"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"21352:43:67"},"nodeType":"YulFunctionCall","src":"21352:71:67"},"nodeType":"YulExpressionStatement","src":"21352:71:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"21477:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21490:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"21501:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21486:3:67"},"nodeType":"YulFunctionCall","src":"21486:18:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"21433:43:67"},"nodeType":"YulFunctionCall","src":"21433:72:67"},"nodeType":"YulExpressionStatement","src":"21433:72:67"}]},"name":"abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21270:9:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"21282:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"21290:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21301:4:67","type":""}],"src":"21180:332:67"},{"body":{"nodeType":"YulBlock","src":"21634:193:67","statements":[{"nodeType":"YulAssignment","src":"21644:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21656:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"21667:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21652:3:67"},"nodeType":"YulFunctionCall","src":"21652:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21644:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21691:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"21702:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21687:3:67"},"nodeType":"YulFunctionCall","src":"21687:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"21710:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"21716:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21706:3:67"},"nodeType":"YulFunctionCall","src":"21706:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21680:6:67"},"nodeType":"YulFunctionCall","src":"21680:47:67"},"nodeType":"YulExpressionStatement","src":"21680:47:67"},{"nodeType":"YulAssignment","src":"21736:84:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"21806:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"21815:4:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"21744:61:67"},"nodeType":"YulFunctionCall","src":"21744:76:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21736:4:67"}]}]},"name":"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21606:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"21618:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21629:4:67","type":""}],"src":"21518:309:67"},{"body":{"nodeType":"YulBlock","src":"21949:142:67","statements":[{"nodeType":"YulAssignment","src":"21959:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21971:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"21982:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21967:3:67"},"nodeType":"YulFunctionCall","src":"21967:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21959:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22057:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22070:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"22081:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22066:3:67"},"nodeType":"YulFunctionCall","src":"22066:17:67"}],"functionName":{"name":"abi_encode_t_contract$_Clonable_$11629_to_t_address_fromStack","nodeType":"YulIdentifier","src":"21995:61:67"},"nodeType":"YulFunctionCall","src":"21995:89:67"},"nodeType":"YulExpressionStatement","src":"21995:89:67"}]},"name":"abi_encode_tuple_t_contract$_Clonable_$11629__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21921:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"21933:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21944:4:67","type":""}],"src":"21833:258:67"},{"body":{"nodeType":"YulBlock","src":"22218:147:67","statements":[{"nodeType":"YulAssignment","src":"22228:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22240:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"22251:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22236:3:67"},"nodeType":"YulFunctionCall","src":"22236:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22228:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22331:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22344:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"22355:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22340:3:67"},"nodeType":"YulFunctionCall","src":"22340:17:67"}],"functionName":{"name":"abi_encode_t_contract$_IWitnetRequest_$7510_to_t_address_fromStack","nodeType":"YulIdentifier","src":"22264:66:67"},"nodeType":"YulFunctionCall","src":"22264:94:67"},"nodeType":"YulExpressionStatement","src":"22264:94:67"}]},"name":"abi_encode_tuple_t_contract$_IWitnetRequest_$7510__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22190:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22202:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22213:4:67","type":""}],"src":"22097:268:67"},{"body":{"nodeType":"YulBlock","src":"22504:159:67","statements":[{"nodeType":"YulAssignment","src":"22514:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22526:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"22537:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22522:3:67"},"nodeType":"YulFunctionCall","src":"22522:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22514:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22629:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22642:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"22653:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22638:3:67"},"nodeType":"YulFunctionCall","src":"22638:17:67"}],"functionName":{"name":"abi_encode_t_contract$_WitnetRequestBoard_$4162_to_t_address_payable_fromStack","nodeType":"YulIdentifier","src":"22550:78:67"},"nodeType":"YulFunctionCall","src":"22550:106:67"},"nodeType":"YulExpressionStatement","src":"22550:106:67"}]},"name":"abi_encode_tuple_t_contract$_WitnetRequestBoard_$4162__to_t_address_payable__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22476:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22488:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22499:4:67","type":""}],"src":"22371:292:67"},{"body":{"nodeType":"YulBlock","src":"22800:157:67","statements":[{"nodeType":"YulAssignment","src":"22810:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22822:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"22833:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22818:3:67"},"nodeType":"YulFunctionCall","src":"22818:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22810:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22923:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22936:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"22947:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22932:3:67"},"nodeType":"YulFunctionCall","src":"22932:17:67"}],"functionName":{"name":"abi_encode_t_contract$_WitnetRequestRandomness_$12753_to_t_address_fromStack","nodeType":"YulIdentifier","src":"22846:76:67"},"nodeType":"YulFunctionCall","src":"22846:104:67"},"nodeType":"YulExpressionStatement","src":"22846:104:67"}]},"name":"abi_encode_tuple_t_contract$_WitnetRequestRandomness_$12753__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22772:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22784:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22795:4:67","type":""}],"src":"22669:288:67"},{"body":{"nodeType":"YulBlock","src":"23134:248:67","statements":[{"nodeType":"YulAssignment","src":"23144:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23156:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"23167:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23152:3:67"},"nodeType":"YulFunctionCall","src":"23152:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23144:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23191:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"23202:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23187:3:67"},"nodeType":"YulFunctionCall","src":"23187:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"23210:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"23216:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23206:3:67"},"nodeType":"YulFunctionCall","src":"23206:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23180:6:67"},"nodeType":"YulFunctionCall","src":"23180:47:67"},"nodeType":"YulExpressionStatement","src":"23180:47:67"},{"nodeType":"YulAssignment","src":"23236:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"23370:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_2063d17e40f52e2680483996eebc5eb14841a31f35c049e2b83eef96cc3ab1c2_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"23244:124:67"},"nodeType":"YulFunctionCall","src":"23244:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23236:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_2063d17e40f52e2680483996eebc5eb14841a31f35c049e2b83eef96cc3ab1c2__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23114:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23129:4:67","type":""}],"src":"22963:419:67"},{"body":{"nodeType":"YulBlock","src":"23559:248:67","statements":[{"nodeType":"YulAssignment","src":"23569:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23581:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"23592:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23577:3:67"},"nodeType":"YulFunctionCall","src":"23577:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23569:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23616:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"23627:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23612:3:67"},"nodeType":"YulFunctionCall","src":"23612:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"23635:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"23641:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23631:3:67"},"nodeType":"YulFunctionCall","src":"23631:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23605:6:67"},"nodeType":"YulFunctionCall","src":"23605:47:67"},"nodeType":"YulExpressionStatement","src":"23605:47:67"},{"nodeType":"YulAssignment","src":"23661:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"23795:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"23669:124:67"},"nodeType":"YulFunctionCall","src":"23669:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23661:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23539:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23554:4:67","type":""}],"src":"23388:419:67"},{"body":{"nodeType":"YulBlock","src":"23984:248:67","statements":[{"nodeType":"YulAssignment","src":"23994:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24006:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"24017:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24002:3:67"},"nodeType":"YulFunctionCall","src":"24002:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23994:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24041:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"24052:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24037:3:67"},"nodeType":"YulFunctionCall","src":"24037:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"24060:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"24066:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24056:3:67"},"nodeType":"YulFunctionCall","src":"24056:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24030:6:67"},"nodeType":"YulFunctionCall","src":"24030:47:67"},"nodeType":"YulExpressionStatement","src":"24030:47:67"},{"nodeType":"YulAssignment","src":"24086:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"24220:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_2ccb45f5bf081c7ce3a014d3becfd9889cc2ed630aa4db79533f91e96077c0ae_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"24094:124:67"},"nodeType":"YulFunctionCall","src":"24094:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24086:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_2ccb45f5bf081c7ce3a014d3becfd9889cc2ed630aa4db79533f91e96077c0ae__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23964:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23979:4:67","type":""}],"src":"23813:419:67"},{"body":{"nodeType":"YulBlock","src":"24409:248:67","statements":[{"nodeType":"YulAssignment","src":"24419:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24431:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"24442:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24427:3:67"},"nodeType":"YulFunctionCall","src":"24427:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24419:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24466:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"24477:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24462:3:67"},"nodeType":"YulFunctionCall","src":"24462:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"24485:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"24491:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24481:3:67"},"nodeType":"YulFunctionCall","src":"24481:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24455:6:67"},"nodeType":"YulFunctionCall","src":"24455:47:67"},"nodeType":"YulExpressionStatement","src":"24455:47:67"},{"nodeType":"YulAssignment","src":"24511:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"24645:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_55f80fc360f2082a848e28d63f54a94763dc2b59c75e9fef1bf56b42af6f071b_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"24519:124:67"},"nodeType":"YulFunctionCall","src":"24519:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24511:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_55f80fc360f2082a848e28d63f54a94763dc2b59c75e9fef1bf56b42af6f071b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24389:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24404:4:67","type":""}],"src":"24238:419:67"},{"body":{"nodeType":"YulBlock","src":"24834:248:67","statements":[{"nodeType":"YulAssignment","src":"24844:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24856:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"24867:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24852:3:67"},"nodeType":"YulFunctionCall","src":"24852:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24844:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24891:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"24902:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24887:3:67"},"nodeType":"YulFunctionCall","src":"24887:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"24910:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"24916:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24906:3:67"},"nodeType":"YulFunctionCall","src":"24906:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24880:6:67"},"nodeType":"YulFunctionCall","src":"24880:47:67"},"nodeType":"YulExpressionStatement","src":"24880:47:67"},{"nodeType":"YulAssignment","src":"24936:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"25070:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"24944:124:67"},"nodeType":"YulFunctionCall","src":"24944:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24936:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24814:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24829:4:67","type":""}],"src":"24663:419:67"},{"body":{"nodeType":"YulBlock","src":"25259:248:67","statements":[{"nodeType":"YulAssignment","src":"25269:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25281:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"25292:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25277:3:67"},"nodeType":"YulFunctionCall","src":"25277:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25269:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25316:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"25327:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25312:3:67"},"nodeType":"YulFunctionCall","src":"25312:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"25335:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"25341:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25331:3:67"},"nodeType":"YulFunctionCall","src":"25331:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25305:6:67"},"nodeType":"YulFunctionCall","src":"25305:47:67"},"nodeType":"YulExpressionStatement","src":"25305:47:67"},{"nodeType":"YulAssignment","src":"25361:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"25495:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_8c09ea17e2de3ad790d29399fa76d05d6700bd912e14021f467bb3897d40c692_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"25369:124:67"},"nodeType":"YulFunctionCall","src":"25369:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25361:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_8c09ea17e2de3ad790d29399fa76d05d6700bd912e14021f467bb3897d40c692__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25239:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25254:4:67","type":""}],"src":"25088:419:67"},{"body":{"nodeType":"YulBlock","src":"25684:248:67","statements":[{"nodeType":"YulAssignment","src":"25694:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25706:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"25717:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25702:3:67"},"nodeType":"YulFunctionCall","src":"25702:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25694:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25741:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"25752:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25737:3:67"},"nodeType":"YulFunctionCall","src":"25737:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"25760:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"25766:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25756:3:67"},"nodeType":"YulFunctionCall","src":"25756:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25730:6:67"},"nodeType":"YulFunctionCall","src":"25730:47:67"},"nodeType":"YulExpressionStatement","src":"25730:47:67"},{"nodeType":"YulAssignment","src":"25786:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"25920:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"25794:124:67"},"nodeType":"YulFunctionCall","src":"25794:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25786:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25664:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25679:4:67","type":""}],"src":"25513:419:67"},{"body":{"nodeType":"YulBlock","src":"26084:223:67","statements":[{"nodeType":"YulAssignment","src":"26094:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26106:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"26117:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26102:3:67"},"nodeType":"YulFunctionCall","src":"26102:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26094:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26141:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"26152:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26137:3:67"},"nodeType":"YulFunctionCall","src":"26137:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"26160:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"26166:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"26156:3:67"},"nodeType":"YulFunctionCall","src":"26156:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26130:6:67"},"nodeType":"YulFunctionCall","src":"26130:47:67"},"nodeType":"YulExpressionStatement","src":"26130:47:67"},{"nodeType":"YulAssignment","src":"26186:114:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"26286:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"26295:4:67"}],"functionName":{"name":"abi_encode_t_struct$_Result_$8023_memory_ptr_to_t_struct$_Result_$8023_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"26194:91:67"},"nodeType":"YulFunctionCall","src":"26194:106:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26186:4:67"}]}]},"name":"abi_encode_tuple_t_struct$_Result_$8023_memory_ptr__to_t_struct$_Result_$8023_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26056:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26068:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26079:4:67","type":""}],"src":"25938:369:67"},{"body":{"nodeType":"YulBlock","src":"26411:124:67","statements":[{"nodeType":"YulAssignment","src":"26421:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26433:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"26444:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26429:3:67"},"nodeType":"YulFunctionCall","src":"26429:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26421:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"26501:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26514:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"26525:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26510:3:67"},"nodeType":"YulFunctionCall","src":"26510:17:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"26457:43:67"},"nodeType":"YulFunctionCall","src":"26457:71:67"},"nodeType":"YulExpressionStatement","src":"26457:71:67"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26383:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26395:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26406:4:67","type":""}],"src":"26313:222:67"},{"body":{"nodeType":"YulBlock","src":"26667:206:67","statements":[{"nodeType":"YulAssignment","src":"26677:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26689:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"26700:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26685:3:67"},"nodeType":"YulFunctionCall","src":"26685:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26677:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"26757:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26770:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"26781:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26766:3:67"},"nodeType":"YulFunctionCall","src":"26766:17:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"26713:43:67"},"nodeType":"YulFunctionCall","src":"26713:71:67"},"nodeType":"YulExpressionStatement","src":"26713:71:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"26838:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26851:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"26862:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26847:3:67"},"nodeType":"YulFunctionCall","src":"26847:18:67"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"26794:43:67"},"nodeType":"YulFunctionCall","src":"26794:72:67"},"nodeType":"YulExpressionStatement","src":"26794:72:67"}]},"name":"abi_encode_tuple_t_uint256_t_bytes32__to_t_uint256_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26631:9:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"26643:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26651:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26662:4:67","type":""}],"src":"26541:332:67"},{"body":{"nodeType":"YulBlock","src":"26975:122:67","statements":[{"nodeType":"YulAssignment","src":"26985:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26997:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"27008:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26993:3:67"},"nodeType":"YulFunctionCall","src":"26993:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26985:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"27063:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27076:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"27087:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27072:3:67"},"nodeType":"YulFunctionCall","src":"27072:17:67"}],"functionName":{"name":"abi_encode_t_uint32_to_t_uint32_fromStack","nodeType":"YulIdentifier","src":"27021:41:67"},"nodeType":"YulFunctionCall","src":"27021:69:67"},"nodeType":"YulExpressionStatement","src":"27021:69:67"}]},"name":"abi_encode_tuple_t_uint32__to_t_uint32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26947:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26959:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26970:4:67","type":""}],"src":"26879:218:67"},{"body":{"nodeType":"YulBlock","src":"27144:88:67","statements":[{"nodeType":"YulAssignment","src":"27154:30:67","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"27164:18:67"},"nodeType":"YulFunctionCall","src":"27164:20:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"27154:6:67"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"27213:6:67"},{"name":"size","nodeType":"YulIdentifier","src":"27221:4:67"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"27193:19:67"},"nodeType":"YulFunctionCall","src":"27193:33:67"},"nodeType":"YulExpressionStatement","src":"27193:33:67"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"27128:4:67","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"27137:6:67","type":""}],"src":"27103:129:67"},{"body":{"nodeType":"YulBlock","src":"27278:35:67","statements":[{"nodeType":"YulAssignment","src":"27288:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27304:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"27298:5:67"},"nodeType":"YulFunctionCall","src":"27298:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"27288:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"27271:6:67","type":""}],"src":"27238:75:67"},{"body":{"nodeType":"YulBlock","src":"27385:241:67","statements":[{"body":{"nodeType":"YulBlock","src":"27490:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"27492:16:67"},"nodeType":"YulFunctionCall","src":"27492:18:67"},"nodeType":"YulExpressionStatement","src":"27492:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"27462:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"27470:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"27459:2:67"},"nodeType":"YulFunctionCall","src":"27459:30:67"},"nodeType":"YulIf","src":"27456:56:67"},{"nodeType":"YulAssignment","src":"27522:37:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"27552:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"27530:21:67"},"nodeType":"YulFunctionCall","src":"27530:29:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"27522:4:67"}]},{"nodeType":"YulAssignment","src":"27596:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"27608:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"27614:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27604:3:67"},"nodeType":"YulFunctionCall","src":"27604:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"27596:4:67"}]}]},"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"27369:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"27380:4:67","type":""}],"src":"27319:307:67"},{"body":{"nodeType":"YulBlock","src":"27690:40:67","statements":[{"nodeType":"YulAssignment","src":"27701:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27717:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"27711:5:67"},"nodeType":"YulFunctionCall","src":"27711:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"27701:6:67"}]}]},"name":"array_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"27673:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"27683:6:67","type":""}],"src":"27632:98:67"},{"body":{"nodeType":"YulBlock","src":"27821:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27838:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"27843:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27831:6:67"},"nodeType":"YulFunctionCall","src":"27831:19:67"},"nodeType":"YulExpressionStatement","src":"27831:19:67"},{"nodeType":"YulAssignment","src":"27859:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27878:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"27883:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27874:3:67"},"nodeType":"YulFunctionCall","src":"27874:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"27859:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"27793:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"27798:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"27809:11:67","type":""}],"src":"27736:158:67"},{"body":{"nodeType":"YulBlock","src":"27995:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"28012:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"28017:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28005:6:67"},"nodeType":"YulFunctionCall","src":"28005:19:67"},"nodeType":"YulExpressionStatement","src":"28005:19:67"},{"nodeType":"YulAssignment","src":"28033:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"28052:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"28057:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28048:3:67"},"nodeType":"YulFunctionCall","src":"28048:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"28033:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"27967:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"27972:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"27983:11:67","type":""}],"src":"27900:168:67"},{"body":{"nodeType":"YulBlock","src":"28170:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"28187:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"28192:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28180:6:67"},"nodeType":"YulFunctionCall","src":"28180:19:67"},"nodeType":"YulExpressionStatement","src":"28180:19:67"},{"nodeType":"YulAssignment","src":"28208:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"28227:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"28232:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28223:3:67"},"nodeType":"YulFunctionCall","src":"28223:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"28208:11:67"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"28142:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"28147:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"28158:11:67","type":""}],"src":"28074:169:67"},{"body":{"nodeType":"YulBlock","src":"28322:775:67","statements":[{"nodeType":"YulAssignment","src":"28332:15:67","value":{"name":"_power","nodeType":"YulIdentifier","src":"28341:6:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"28332:5:67"}]},{"nodeType":"YulAssignment","src":"28356:14:67","value":{"name":"_base","nodeType":"YulIdentifier","src":"28365:5:67"},"variableNames":[{"name":"base","nodeType":"YulIdentifier","src":"28356:4:67"}]},{"body":{"nodeType":"YulBlock","src":"28414:677:67","statements":[{"body":{"nodeType":"YulBlock","src":"28502:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"28504:16:67"},"nodeType":"YulFunctionCall","src":"28504:18:67"},"nodeType":"YulExpressionStatement","src":"28504:18:67"}]},"condition":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"28480:4:67"},{"arguments":[{"name":"max","nodeType":"YulIdentifier","src":"28490:3:67"},{"name":"base","nodeType":"YulIdentifier","src":"28495:4:67"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"28486:3:67"},"nodeType":"YulFunctionCall","src":"28486:14:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"28477:2:67"},"nodeType":"YulFunctionCall","src":"28477:24:67"},"nodeType":"YulIf","src":"28474:50:67"},{"body":{"nodeType":"YulBlock","src":"28569:419:67","statements":[{"nodeType":"YulAssignment","src":"28949:25:67","value":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"28962:5:67"},{"name":"base","nodeType":"YulIdentifier","src":"28969:4:67"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"28958:3:67"},"nodeType":"YulFunctionCall","src":"28958:16:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"28949:5:67"}]}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"28544:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"28554:1:67","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"28540:3:67"},"nodeType":"YulFunctionCall","src":"28540:16:67"},"nodeType":"YulIf","src":"28537:451:67"},{"nodeType":"YulAssignment","src":"29001:23:67","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"29013:4:67"},{"name":"base","nodeType":"YulIdentifier","src":"29019:4:67"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"29009:3:67"},"nodeType":"YulFunctionCall","src":"29009:15:67"},"variableNames":[{"name":"base","nodeType":"YulIdentifier","src":"29001:4:67"}]},{"nodeType":"YulAssignment","src":"29037:44:67","value":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"29072:8:67"}],"functionName":{"name":"shift_right_1_unsigned","nodeType":"YulIdentifier","src":"29049:22:67"},"nodeType":"YulFunctionCall","src":"29049:32:67"},"variableNames":[{"name":"exponent","nodeType":"YulIdentifier","src":"29037:8:67"}]}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"28390:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"28400:1:67","type":"","value":"1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"28387:2:67"},"nodeType":"YulFunctionCall","src":"28387:15:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"28403:2:67","statements":[]},"pre":{"nodeType":"YulBlock","src":"28383:3:67","statements":[]},"src":"28379:712:67"}]},"name":"checked_exp_helper","nodeType":"YulFunctionDefinition","parameters":[{"name":"_power","nodeType":"YulTypedName","src":"28277:6:67","type":""},{"name":"_base","nodeType":"YulTypedName","src":"28285:5:67","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"28292:8:67","type":""},{"name":"max","nodeType":"YulTypedName","src":"28302:3:67","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"28310:5:67","type":""},{"name":"base","nodeType":"YulTypedName","src":"28317:4:67","type":""}],"src":"28249:848:67"},{"body":{"nodeType":"YulBlock","src":"29167:217:67","statements":[{"nodeType":"YulAssignment","src":"29177:31:67","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"29203:4:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"29185:17:67"},"nodeType":"YulFunctionCall","src":"29185:23:67"},"variableNames":[{"name":"base","nodeType":"YulIdentifier","src":"29177:4:67"}]},{"nodeType":"YulAssignment","src":"29217:37:67","value":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"29245:8:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"29229:15:67"},"nodeType":"YulFunctionCall","src":"29229:25:67"},"variableNames":[{"name":"exponent","nodeType":"YulIdentifier","src":"29217:8:67"}]},{"nodeType":"YulAssignment","src":"29264:113:67","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"29294:4:67"},{"name":"exponent","nodeType":"YulIdentifier","src":"29300:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"29310:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"checked_exp_unsigned","nodeType":"YulIdentifier","src":"29273:20:67"},"nodeType":"YulFunctionCall","src":"29273:104:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"29264:5:67"}]}]},"name":"checked_exp_t_uint256_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"base","nodeType":"YulTypedName","src":"29142:4:67","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"29148:8:67","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"29161:5:67","type":""}],"src":"29103:281:67"},{"body":{"nodeType":"YulBlock","src":"29450:1013:67","statements":[{"body":{"nodeType":"YulBlock","src":"29645:20:67","statements":[{"nodeType":"YulAssignment","src":"29647:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"29656:1:67","type":"","value":"1"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"29647:5:67"}]},{"nodeType":"YulLeave","src":"29658:5:67"}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"29635:8:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"29628:6:67"},"nodeType":"YulFunctionCall","src":"29628:16:67"},"nodeType":"YulIf","src":"29625:40:67"},{"body":{"nodeType":"YulBlock","src":"29690:20:67","statements":[{"nodeType":"YulAssignment","src":"29692:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"29701:1:67","type":"","value":"0"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"29692:5:67"}]},{"nodeType":"YulLeave","src":"29703:5:67"}]},"condition":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"29684:4:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"29677:6:67"},"nodeType":"YulFunctionCall","src":"29677:12:67"},"nodeType":"YulIf","src":"29674:36:67"},{"cases":[{"body":{"nodeType":"YulBlock","src":"29820:20:67","statements":[{"nodeType":"YulAssignment","src":"29822:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"29831:1:67","type":"","value":"1"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"29822:5:67"}]},{"nodeType":"YulLeave","src":"29833:5:67"}]},"nodeType":"YulCase","src":"29813:27:67","value":{"kind":"number","nodeType":"YulLiteral","src":"29818:1:67","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"29864:176:67","statements":[{"body":{"nodeType":"YulBlock","src":"29899:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"29901:16:67"},"nodeType":"YulFunctionCall","src":"29901:18:67"},"nodeType":"YulExpressionStatement","src":"29901:18:67"}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"29884:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"29894:3:67","type":"","value":"255"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"29881:2:67"},"nodeType":"YulFunctionCall","src":"29881:17:67"},"nodeType":"YulIf","src":"29878:43:67"},{"nodeType":"YulAssignment","src":"29934:25:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29947:1:67","type":"","value":"2"},{"name":"exponent","nodeType":"YulIdentifier","src":"29950:8:67"}],"functionName":{"name":"exp","nodeType":"YulIdentifier","src":"29943:3:67"},"nodeType":"YulFunctionCall","src":"29943:16:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"29934:5:67"}]},{"body":{"nodeType":"YulBlock","src":"29990:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"29992:16:67"},"nodeType":"YulFunctionCall","src":"29992:18:67"},"nodeType":"YulExpressionStatement","src":"29992:18:67"}]},"condition":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"29978:5:67"},{"name":"max","nodeType":"YulIdentifier","src":"29985:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"29975:2:67"},"nodeType":"YulFunctionCall","src":"29975:14:67"},"nodeType":"YulIf","src":"29972:40:67"},{"nodeType":"YulLeave","src":"30025:5:67"}]},"nodeType":"YulCase","src":"29849:191:67","value":{"kind":"number","nodeType":"YulLiteral","src":"29854:1:67","type":"","value":"2"}}],"expression":{"name":"base","nodeType":"YulIdentifier","src":"29770:4:67"},"nodeType":"YulSwitch","src":"29763:277:67"},{"body":{"nodeType":"YulBlock","src":"30172:123:67","statements":[{"nodeType":"YulAssignment","src":"30186:28:67","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"30199:4:67"},{"name":"exponent","nodeType":"YulIdentifier","src":"30205:8:67"}],"functionName":{"name":"exp","nodeType":"YulIdentifier","src":"30195:3:67"},"nodeType":"YulFunctionCall","src":"30195:19:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"30186:5:67"}]},{"body":{"nodeType":"YulBlock","src":"30245:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"30247:16:67"},"nodeType":"YulFunctionCall","src":"30247:18:67"},"nodeType":"YulExpressionStatement","src":"30247:18:67"}]},"condition":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"30233:5:67"},{"name":"max","nodeType":"YulIdentifier","src":"30240:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"30230:2:67"},"nodeType":"YulFunctionCall","src":"30230:14:67"},"nodeType":"YulIf","src":"30227:40:67"},{"nodeType":"YulLeave","src":"30280:5:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"30075:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"30081:2:67","type":"","value":"11"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"30072:2:67"},"nodeType":"YulFunctionCall","src":"30072:12:67"},{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"30089:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"30099:2:67","type":"","value":"78"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"30086:2:67"},"nodeType":"YulFunctionCall","src":"30086:16:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"30068:3:67"},"nodeType":"YulFunctionCall","src":"30068:35:67"},{"arguments":[{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"30124:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"30130:3:67","type":"","value":"307"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"30121:2:67"},"nodeType":"YulFunctionCall","src":"30121:13:67"},{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"30139:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"30149:2:67","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"30136:2:67"},"nodeType":"YulFunctionCall","src":"30136:16:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"30117:3:67"},"nodeType":"YulFunctionCall","src":"30117:36:67"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"30052:2:67"},"nodeType":"YulFunctionCall","src":"30052:111:67"},"nodeType":"YulIf","src":"30049:246:67"},{"nodeType":"YulAssignment","src":"30305:57:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"30339:1:67","type":"","value":"1"},{"name":"base","nodeType":"YulIdentifier","src":"30342:4:67"},{"name":"exponent","nodeType":"YulIdentifier","src":"30348:8:67"},{"name":"max","nodeType":"YulIdentifier","src":"30358:3:67"}],"functionName":{"name":"checked_exp_helper","nodeType":"YulIdentifier","src":"30320:18:67"},"nodeType":"YulFunctionCall","src":"30320:42:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"30305:5:67"},{"name":"base","nodeType":"YulIdentifier","src":"30312:4:67"}]},{"body":{"nodeType":"YulBlock","src":"30401:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"30403:16:67"},"nodeType":"YulFunctionCall","src":"30403:18:67"},"nodeType":"YulExpressionStatement","src":"30403:18:67"}]},"condition":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"30378:5:67"},{"arguments":[{"name":"max","nodeType":"YulIdentifier","src":"30389:3:67"},{"name":"base","nodeType":"YulIdentifier","src":"30394:4:67"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"30385:3:67"},"nodeType":"YulFunctionCall","src":"30385:14:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"30375:2:67"},"nodeType":"YulFunctionCall","src":"30375:25:67"},"nodeType":"YulIf","src":"30372:51:67"},{"nodeType":"YulAssignment","src":"30432:25:67","value":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"30445:5:67"},{"name":"base","nodeType":"YulIdentifier","src":"30452:4:67"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"30441:3:67"},"nodeType":"YulFunctionCall","src":"30441:16:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"30432:5:67"}]}]},"name":"checked_exp_unsigned","nodeType":"YulFunctionDefinition","parameters":[{"name":"base","nodeType":"YulTypedName","src":"29420:4:67","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"29426:8:67","type":""},{"name":"max","nodeType":"YulTypedName","src":"29436:3:67","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"29444:5:67","type":""}],"src":"29390:1073:67"},{"body":{"nodeType":"YulBlock","src":"30517:300:67","statements":[{"nodeType":"YulAssignment","src":"30527:25:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"30550:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"30532:17:67"},"nodeType":"YulFunctionCall","src":"30532:20:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"30527:1:67"}]},{"nodeType":"YulAssignment","src":"30561:25:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"30584:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"30566:17:67"},"nodeType":"YulFunctionCall","src":"30566:20:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"30561:1:67"}]},{"body":{"nodeType":"YulBlock","src":"30759:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"30761:16:67"},"nodeType":"YulFunctionCall","src":"30761:18:67"},"nodeType":"YulExpressionStatement","src":"30761:18:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"30671:1:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"30664:6:67"},"nodeType":"YulFunctionCall","src":"30664:9:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"30657:6:67"},"nodeType":"YulFunctionCall","src":"30657:17:67"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"30679:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"30686:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"x","nodeType":"YulIdentifier","src":"30754:1:67"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"30682:3:67"},"nodeType":"YulFunctionCall","src":"30682:74:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"30676:2:67"},"nodeType":"YulFunctionCall","src":"30676:81:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"30653:3:67"},"nodeType":"YulFunctionCall","src":"30653:105:67"},"nodeType":"YulIf","src":"30650:131:67"},{"nodeType":"YulAssignment","src":"30791:20:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"30806:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"30809:1:67"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"30802:3:67"},"nodeType":"YulFunctionCall","src":"30802:9:67"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"30791:7:67"}]}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"30500:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"30503:1:67","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"30509:7:67","type":""}],"src":"30469:348:67"},{"body":{"nodeType":"YulBlock","src":"30868:146:67","statements":[{"nodeType":"YulAssignment","src":"30878:25:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"30901:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"30883:17:67"},"nodeType":"YulFunctionCall","src":"30883:20:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"30878:1:67"}]},{"nodeType":"YulAssignment","src":"30912:25:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"30935:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"30917:17:67"},"nodeType":"YulFunctionCall","src":"30917:20:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"30912:1:67"}]},{"body":{"nodeType":"YulBlock","src":"30959:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"30961:16:67"},"nodeType":"YulFunctionCall","src":"30961:18:67"},"nodeType":"YulExpressionStatement","src":"30961:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"30953:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"30956:1:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"30950:2:67"},"nodeType":"YulFunctionCall","src":"30950:8:67"},"nodeType":"YulIf","src":"30947:34:67"},{"nodeType":"YulAssignment","src":"30991:17:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"31003:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"31006:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"30999:3:67"},"nodeType":"YulFunctionCall","src":"30999:9:67"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"30991:4:67"}]}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"30854:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"30857:1:67","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"30863:4:67","type":""}],"src":"30823:191:67"},{"body":{"nodeType":"YulBlock","src":"31063:142:67","statements":[{"nodeType":"YulAssignment","src":"31073:23:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"31094:1:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"31078:15:67"},"nodeType":"YulFunctionCall","src":"31078:18:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"31073:1:67"}]},{"nodeType":"YulAssignment","src":"31105:23:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"31126:1:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"31110:15:67"},"nodeType":"YulFunctionCall","src":"31110:18:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"31105:1:67"}]},{"body":{"nodeType":"YulBlock","src":"31150:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"31152:16:67"},"nodeType":"YulFunctionCall","src":"31152:18:67"},"nodeType":"YulExpressionStatement","src":"31152:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"31144:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"31147:1:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"31141:2:67"},"nodeType":"YulFunctionCall","src":"31141:8:67"},"nodeType":"YulIf","src":"31138:34:67"},{"nodeType":"YulAssignment","src":"31182:17:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"31194:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"31197:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31190:3:67"},"nodeType":"YulFunctionCall","src":"31190:9:67"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"31182:4:67"}]}]},"name":"checked_sub_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"31049:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"31052:1:67","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"31058:4:67","type":""}],"src":"31020:185:67"},{"body":{"nodeType":"YulBlock","src":"31256:51:67","statements":[{"nodeType":"YulAssignment","src":"31266:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"31295:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"31277:17:67"},"nodeType":"YulFunctionCall","src":"31277:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"31266:7:67"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"31238:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"31248:7:67","type":""}],"src":"31211:96:67"},{"body":{"nodeType":"YulBlock","src":"31366:51:67","statements":[{"nodeType":"YulAssignment","src":"31376:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"31405:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"31387:17:67"},"nodeType":"YulFunctionCall","src":"31387:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"31376:7:67"}]}]},"name":"cleanup_t_address_payable","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"31348:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"31358:7:67","type":""}],"src":"31313:104:67"},{"body":{"nodeType":"YulBlock","src":"31465:48:67","statements":[{"nodeType":"YulAssignment","src":"31475:32:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"31500:5:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"31493:6:67"},"nodeType":"YulFunctionCall","src":"31493:13:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"31486:6:67"},"nodeType":"YulFunctionCall","src":"31486:21:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"31475:7:67"}]}]},"name":"cleanup_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"31447:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"31457:7:67","type":""}],"src":"31423:90:67"},{"body":{"nodeType":"YulBlock","src":"31564:32:67","statements":[{"nodeType":"YulAssignment","src":"31574:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"31585:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"31574:7:67"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"31546:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"31556:7:67","type":""}],"src":"31519:77:67"},{"body":{"nodeType":"YulBlock","src":"31665:51:67","statements":[{"nodeType":"YulAssignment","src":"31675:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"31704:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"31686:17:67"},"nodeType":"YulFunctionCall","src":"31686:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"31675:7:67"}]}]},"name":"cleanup_t_contract$_Clonable_$11629","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"31647:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"31657:7:67","type":""}],"src":"31602:114:67"},{"body":{"nodeType":"YulBlock","src":"31767:81:67","statements":[{"nodeType":"YulAssignment","src":"31777:65:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"31792:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"31799:42:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"31788:3:67"},"nodeType":"YulFunctionCall","src":"31788:54:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"31777:7:67"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"31749:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"31759:7:67","type":""}],"src":"31722:126:67"},{"body":{"nodeType":"YulBlock","src":"31899:32:67","statements":[{"nodeType":"YulAssignment","src":"31909:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"31920:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"31909:7:67"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"31881:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"31891:7:67","type":""}],"src":"31854:77:67"},{"body":{"nodeType":"YulBlock","src":"31981:49:67","statements":[{"nodeType":"YulAssignment","src":"31991:33:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"32006:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"32013:10:67","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"32002:3:67"},"nodeType":"YulFunctionCall","src":"32002:22:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"31991:7:67"}]}]},"name":"cleanup_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"31963:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"31973:7:67","type":""}],"src":"31937:93:67"},{"body":{"nodeType":"YulBlock","src":"32080:57:67","statements":[{"nodeType":"YulAssignment","src":"32090:41:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"32105:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"32112:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"32101:3:67"},"nodeType":"YulFunctionCall","src":"32101:30:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"32090:7:67"}]}]},"name":"cleanup_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"32062:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"32072:7:67","type":""}],"src":"32036:101:67"},{"body":{"nodeType":"YulBlock","src":"32186:43:67","statements":[{"nodeType":"YulAssignment","src":"32196:27:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"32211:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"32218:4:67","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"32207:3:67"},"nodeType":"YulFunctionCall","src":"32207:16:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"32196:7:67"}]}]},"name":"cleanup_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"32168:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"32178:7:67","type":""}],"src":"32143:86:67"},{"body":{"nodeType":"YulBlock","src":"32313:66:67","statements":[{"nodeType":"YulAssignment","src":"32323:50:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"32367:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_address","nodeType":"YulIdentifier","src":"32336:30:67"},"nodeType":"YulFunctionCall","src":"32336:37:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"32323:9:67"}]}]},"name":"convert_t_contract$_Clonable_$11629_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"32293:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"32303:9:67","type":""}],"src":"32235:144:67"},{"body":{"nodeType":"YulBlock","src":"32468:66:67","statements":[{"nodeType":"YulAssignment","src":"32478:50:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"32522:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_address","nodeType":"YulIdentifier","src":"32491:30:67"},"nodeType":"YulFunctionCall","src":"32491:37:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"32478:9:67"}]}]},"name":"convert_t_contract$_IWitnetRequest_$7510_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"32448:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"32458:9:67","type":""}],"src":"32385:149:67"},{"body":{"nodeType":"YulBlock","src":"32635:74:67","statements":[{"nodeType":"YulAssignment","src":"32645:58:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"32697:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_address_payable","nodeType":"YulIdentifier","src":"32658:38:67"},"nodeType":"YulFunctionCall","src":"32658:45:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"32645:9:67"}]}]},"name":"convert_t_contract$_WitnetRequestBoard_$4162_to_t_address_payable","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"32615:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"32625:9:67","type":""}],"src":"32540:169:67"},{"body":{"nodeType":"YulBlock","src":"32808:66:67","statements":[{"nodeType":"YulAssignment","src":"32818:50:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"32862:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_address","nodeType":"YulIdentifier","src":"32831:30:67"},"nodeType":"YulFunctionCall","src":"32831:37:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"32818:9:67"}]}]},"name":"convert_t_contract$_WitnetRequestRandomness_$12753_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"32788:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"32798:9:67","type":""}],"src":"32715:159:67"},{"body":{"nodeType":"YulBlock","src":"32940:66:67","statements":[{"nodeType":"YulAssignment","src":"32950:50:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"32994:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_uint160","nodeType":"YulIdentifier","src":"32963:30:67"},"nodeType":"YulFunctionCall","src":"32963:37:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"32950:9:67"}]}]},"name":"convert_t_uint160_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"32920:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"32930:9:67","type":""}],"src":"32880:126:67"},{"body":{"nodeType":"YulBlock","src":"33080:66:67","statements":[{"nodeType":"YulAssignment","src":"33090:50:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"33134:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_uint160","nodeType":"YulIdentifier","src":"33103:30:67"},"nodeType":"YulFunctionCall","src":"33103:37:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"33090:9:67"}]}]},"name":"convert_t_uint160_to_t_address_payable","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"33060:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"33070:9:67","type":""}],"src":"33012:134:67"},{"body":{"nodeType":"YulBlock","src":"33212:53:67","statements":[{"nodeType":"YulAssignment","src":"33222:37:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"33253:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"33235:17:67"},"nodeType":"YulFunctionCall","src":"33235:24:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"33222:9:67"}]}]},"name":"convert_t_uint160_to_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"33192:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"33202:9:67","type":""}],"src":"33152:113:67"},{"body":{"nodeType":"YulBlock","src":"33322:103:67","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"33345:3:67"},{"name":"src","nodeType":"YulIdentifier","src":"33350:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"33355:6:67"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"33332:12:67"},"nodeType":"YulFunctionCall","src":"33332:30:67"},"nodeType":"YulExpressionStatement","src":"33332:30:67"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"33403:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"33408:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33399:3:67"},"nodeType":"YulFunctionCall","src":"33399:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"33417:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33392:6:67"},"nodeType":"YulFunctionCall","src":"33392:27:67"},"nodeType":"YulExpressionStatement","src":"33392:27:67"}]},"name":"copy_calldata_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"33304:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"33309:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"33314:6:67","type":""}],"src":"33271:154:67"},{"body":{"nodeType":"YulBlock","src":"33480:258:67","statements":[{"nodeType":"YulVariableDeclaration","src":"33490:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"33499:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"33494:1:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"33559:63:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"33584:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"33589:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33580:3:67"},"nodeType":"YulFunctionCall","src":"33580:11:67"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"33603:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"33608:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33599:3:67"},"nodeType":"YulFunctionCall","src":"33599:11:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"33593:5:67"},"nodeType":"YulFunctionCall","src":"33593:18:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33573:6:67"},"nodeType":"YulFunctionCall","src":"33573:39:67"},"nodeType":"YulExpressionStatement","src":"33573:39:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"33520:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"33523:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"33517:2:67"},"nodeType":"YulFunctionCall","src":"33517:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"33531:19:67","statements":[{"nodeType":"YulAssignment","src":"33533:15:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"33542:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"33545:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33538:3:67"},"nodeType":"YulFunctionCall","src":"33538:10:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"33533:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"33513:3:67","statements":[]},"src":"33509:113:67"},{"body":{"nodeType":"YulBlock","src":"33656:76:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"33706:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"33711:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33702:3:67"},"nodeType":"YulFunctionCall","src":"33702:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"33720:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33695:6:67"},"nodeType":"YulFunctionCall","src":"33695:27:67"},"nodeType":"YulExpressionStatement","src":"33695:27:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"33637:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"33640:6:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"33634:2:67"},"nodeType":"YulFunctionCall","src":"33634:13:67"},"nodeType":"YulIf","src":"33631:101:67"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"33462:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"33467:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"33472:6:67","type":""}],"src":"33431:307:67"},{"body":{"nodeType":"YulBlock","src":"33787:238:67","statements":[{"nodeType":"YulVariableDeclaration","src":"33797:58:67","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"33819:6:67"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"33849:4:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"33827:21:67"},"nodeType":"YulFunctionCall","src":"33827:27:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33815:3:67"},"nodeType":"YulFunctionCall","src":"33815:40:67"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"33801:10:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"33966:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"33968:16:67"},"nodeType":"YulFunctionCall","src":"33968:18:67"},"nodeType":"YulExpressionStatement","src":"33968:18:67"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"33909:10:67"},{"kind":"number","nodeType":"YulLiteral","src":"33921:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"33906:2:67"},"nodeType":"YulFunctionCall","src":"33906:34:67"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"33945:10:67"},{"name":"memPtr","nodeType":"YulIdentifier","src":"33957:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"33942:2:67"},"nodeType":"YulFunctionCall","src":"33942:22:67"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"33903:2:67"},"nodeType":"YulFunctionCall","src":"33903:62:67"},"nodeType":"YulIf","src":"33900:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34004:2:67","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"34008:10:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33997:6:67"},"nodeType":"YulFunctionCall","src":"33997:22:67"},"nodeType":"YulExpressionStatement","src":"33997:22:67"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"33773:6:67","type":""},{"name":"size","nodeType":"YulTypedName","src":"33781:4:67","type":""}],"src":"33744:281:67"},{"body":{"nodeType":"YulBlock","src":"34059:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34076:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34079:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34069:6:67"},"nodeType":"YulFunctionCall","src":"34069:88:67"},"nodeType":"YulExpressionStatement","src":"34069:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34173:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"34176:4:67","type":"","value":"0x01"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34166:6:67"},"nodeType":"YulFunctionCall","src":"34166:15:67"},"nodeType":"YulExpressionStatement","src":"34166:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34197:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34200:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"34190:6:67"},"nodeType":"YulFunctionCall","src":"34190:15:67"},"nodeType":"YulExpressionStatement","src":"34190:15:67"}]},"name":"panic_error_0x01","nodeType":"YulFunctionDefinition","src":"34031:180:67"},{"body":{"nodeType":"YulBlock","src":"34245:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34262:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34265:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34255:6:67"},"nodeType":"YulFunctionCall","src":"34255:88:67"},"nodeType":"YulExpressionStatement","src":"34255:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34359:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"34362:4:67","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34352:6:67"},"nodeType":"YulFunctionCall","src":"34352:15:67"},"nodeType":"YulExpressionStatement","src":"34352:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34383:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34386:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"34376:6:67"},"nodeType":"YulFunctionCall","src":"34376:15:67"},"nodeType":"YulExpressionStatement","src":"34376:15:67"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"34217:180:67"},{"body":{"nodeType":"YulBlock","src":"34431:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34448:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34451:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34441:6:67"},"nodeType":"YulFunctionCall","src":"34441:88:67"},"nodeType":"YulExpressionStatement","src":"34441:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34545:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"34548:4:67","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34538:6:67"},"nodeType":"YulFunctionCall","src":"34538:15:67"},"nodeType":"YulExpressionStatement","src":"34538:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34569:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34572:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"34562:6:67"},"nodeType":"YulFunctionCall","src":"34562:15:67"},"nodeType":"YulExpressionStatement","src":"34562:15:67"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"34403:180:67"},{"body":{"nodeType":"YulBlock","src":"34617:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34634:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34637:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34627:6:67"},"nodeType":"YulFunctionCall","src":"34627:88:67"},"nodeType":"YulExpressionStatement","src":"34627:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34731:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"34734:4:67","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34724:6:67"},"nodeType":"YulFunctionCall","src":"34724:15:67"},"nodeType":"YulExpressionStatement","src":"34724:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34755:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34758:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"34748:6:67"},"nodeType":"YulFunctionCall","src":"34748:15:67"},"nodeType":"YulExpressionStatement","src":"34748:15:67"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"34589:180:67"},{"body":{"nodeType":"YulBlock","src":"34803:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34820:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34823:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34813:6:67"},"nodeType":"YulFunctionCall","src":"34813:88:67"},"nodeType":"YulExpressionStatement","src":"34813:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34917:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"34920:4:67","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34910:6:67"},"nodeType":"YulFunctionCall","src":"34910:15:67"},"nodeType":"YulExpressionStatement","src":"34910:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34941:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34944:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"34934:6:67"},"nodeType":"YulFunctionCall","src":"34934:15:67"},"nodeType":"YulExpressionStatement","src":"34934:15:67"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"34775:180:67"},{"body":{"nodeType":"YulBlock","src":"35050:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35067:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"35070:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"35060:6:67"},"nodeType":"YulFunctionCall","src":"35060:12:67"},"nodeType":"YulExpressionStatement","src":"35060:12:67"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"34961:117:67"},{"body":{"nodeType":"YulBlock","src":"35173:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35190:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"35193:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"35183:6:67"},"nodeType":"YulFunctionCall","src":"35183:12:67"},"nodeType":"YulExpressionStatement","src":"35183:12:67"}]},"name":"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f","nodeType":"YulFunctionDefinition","src":"35084:117:67"},{"body":{"nodeType":"YulBlock","src":"35296:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35313:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"35316:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"35306:6:67"},"nodeType":"YulFunctionCall","src":"35306:12:67"},"nodeType":"YulExpressionStatement","src":"35306:12:67"}]},"name":"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421","nodeType":"YulFunctionDefinition","src":"35207:117:67"},{"body":{"nodeType":"YulBlock","src":"35419:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35436:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"35439:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"35429:6:67"},"nodeType":"YulFunctionCall","src":"35429:12:67"},"nodeType":"YulExpressionStatement","src":"35429:12:67"}]},"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulFunctionDefinition","src":"35330:117:67"},{"body":{"nodeType":"YulBlock","src":"35542:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35559:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"35562:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"35552:6:67"},"nodeType":"YulFunctionCall","src":"35552:12:67"},"nodeType":"YulExpressionStatement","src":"35552:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"35453:117:67"},{"body":{"nodeType":"YulBlock","src":"35665:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35682:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"35685:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"35675:6:67"},"nodeType":"YulFunctionCall","src":"35675:12:67"},"nodeType":"YulExpressionStatement","src":"35675:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"35576:117:67"},{"body":{"nodeType":"YulBlock","src":"35747:54:67","statements":[{"nodeType":"YulAssignment","src":"35757:38:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"35775:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"35782:2:67","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35771:3:67"},"nodeType":"YulFunctionCall","src":"35771:14:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35791:2:67","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"35787:3:67"},"nodeType":"YulFunctionCall","src":"35787:7:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"35767:3:67"},"nodeType":"YulFunctionCall","src":"35767:28:67"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"35757:6:67"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"35730:5:67","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"35740:6:67","type":""}],"src":"35699:102:67"},{"body":{"nodeType":"YulBlock","src":"35858:51:67","statements":[{"nodeType":"YulAssignment","src":"35868:34:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35893:1:67","type":"","value":"1"},{"name":"value","nodeType":"YulIdentifier","src":"35896:5:67"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"35889:3:67"},"nodeType":"YulFunctionCall","src":"35889:13:67"},"variableNames":[{"name":"newValue","nodeType":"YulIdentifier","src":"35868:8:67"}]}]},"name":"shift_right_1_unsigned","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"35839:5:67","type":""}],"returnVariables":[{"name":"newValue","nodeType":"YulTypedName","src":"35849:8:67","type":""}],"src":"35807:102:67"},{"body":{"nodeType":"YulBlock","src":"36021:115:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"36043:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"36051:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36039:3:67"},"nodeType":"YulFunctionCall","src":"36039:14:67"},{"hexValue":"5769746e657452616e646f6d6e6573733a206661756c74792072616e646f6d69","kind":"string","nodeType":"YulLiteral","src":"36055:34:67","type":"","value":"WitnetRandomness: faulty randomi"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36032:6:67"},"nodeType":"YulFunctionCall","src":"36032:58:67"},"nodeType":"YulExpressionStatement","src":"36032:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"36111:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"36119:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36107:3:67"},"nodeType":"YulFunctionCall","src":"36107:15:67"},{"hexValue":"7a65","kind":"string","nodeType":"YulLiteral","src":"36124:4:67","type":"","value":"ze"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36100:6:67"},"nodeType":"YulFunctionCall","src":"36100:29:67"},"nodeType":"YulExpressionStatement","src":"36100:29:67"}]},"name":"store_literal_in_memory_2063d17e40f52e2680483996eebc5eb14841a31f35c049e2b83eef96cc3ab1c2","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"36013:6:67","type":""}],"src":"35915:221:67"},{"body":{"nodeType":"YulBlock","src":"36248:118:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"36270:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"36278:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36266:3:67"},"nodeType":"YulFunctionCall","src":"36266:14:67"},{"hexValue":"5769746e657452616e646f6d6e6573733a20616c726561647920696e69746961","kind":"string","nodeType":"YulLiteral","src":"36282:34:67","type":"","value":"WitnetRandomness: already initia"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36259:6:67"},"nodeType":"YulFunctionCall","src":"36259:58:67"},"nodeType":"YulExpressionStatement","src":"36259:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"36338:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"36346:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36334:3:67"},"nodeType":"YulFunctionCall","src":"36334:15:67"},{"hexValue":"6c697a6564","kind":"string","nodeType":"YulLiteral","src":"36351:7:67","type":"","value":"lized"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36327:6:67"},"nodeType":"YulFunctionCall","src":"36327:32:67"},"nodeType":"YulExpressionStatement","src":"36327:32:67"}]},"name":"store_literal_in_memory_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"36240:6:67","type":""}],"src":"36142:224:67"},{"body":{"nodeType":"YulBlock","src":"36478:116:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"36500:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"36508:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36496:3:67"},"nodeType":"YulFunctionCall","src":"36496:14:67"},{"hexValue":"5769746e657452616e646f6d6e6573733a2070656e64696e672072616e646f6d","kind":"string","nodeType":"YulLiteral","src":"36512:34:67","type":"","value":"WitnetRandomness: pending random"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36489:6:67"},"nodeType":"YulFunctionCall","src":"36489:58:67"},"nodeType":"YulExpressionStatement","src":"36489:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"36568:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"36576:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36564:3:67"},"nodeType":"YulFunctionCall","src":"36564:15:67"},{"hexValue":"697a65","kind":"string","nodeType":"YulLiteral","src":"36581:5:67","type":"","value":"ize"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36557:6:67"},"nodeType":"YulFunctionCall","src":"36557:30:67"},"nodeType":"YulExpressionStatement","src":"36557:30:67"}]},"name":"store_literal_in_memory_2ccb45f5bf081c7ce3a014d3becfd9889cc2ed630aa4db79533f91e96077c0ae","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"36470:6:67","type":""}],"src":"36372:222:67"},{"body":{"nodeType":"YulBlock","src":"36706:71:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"36728:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"36736:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36724:3:67"},"nodeType":"YulFunctionCall","src":"36724:14:67"},{"hexValue":"5573696e675769746e65743a2072657761726420746f6f206c6f77","kind":"string","nodeType":"YulLiteral","src":"36740:29:67","type":"","value":"UsingWitnet: reward too low"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36717:6:67"},"nodeType":"YulFunctionCall","src":"36717:53:67"},"nodeType":"YulExpressionStatement","src":"36717:53:67"}]},"name":"store_literal_in_memory_55f80fc360f2082a848e28d63f54a94763dc2b59c75e9fef1bf56b42af6f071b","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"36698:6:67","type":""}],"src":"36600:177:67"},{"body":{"nodeType":"YulBlock","src":"36889:68:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"36911:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"36919:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36907:3:67"},"nodeType":"YulFunctionCall","src":"36907:14:67"},{"hexValue":"436c6f6e61626c653a2043524541544532206661696c6564","kind":"string","nodeType":"YulLiteral","src":"36923:26:67","type":"","value":"Clonable: CREATE2 failed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36900:6:67"},"nodeType":"YulFunctionCall","src":"36900:50:67"},"nodeType":"YulExpressionStatement","src":"36900:50:67"}]},"name":"store_literal_in_memory_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"36881:6:67","type":""}],"src":"36783:174:67"},{"body":{"nodeType":"YulBlock","src":"37069:76:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"37091:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"37099:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37087:3:67"},"nodeType":"YulFunctionCall","src":"37087:14:67"},{"hexValue":"5769746e657452616e646f6d6e6573733a206e6f742072616e646f6d697a6564","kind":"string","nodeType":"YulLiteral","src":"37103:34:67","type":"","value":"WitnetRandomness: not randomized"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37080:6:67"},"nodeType":"YulFunctionCall","src":"37080:58:67"},"nodeType":"YulExpressionStatement","src":"37080:58:67"}]},"name":"store_literal_in_memory_8c09ea17e2de3ad790d29399fa76d05d6700bd912e14021f467bb3897d40c692","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"37061:6:67","type":""}],"src":"36963:182:67"},{"body":{"nodeType":"YulBlock","src":"37257:67:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"37279:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"37287:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37275:3:67"},"nodeType":"YulFunctionCall","src":"37275:14:67"},{"hexValue":"436c6f6e61626c653a20435245415445206661696c6564","kind":"string","nodeType":"YulLiteral","src":"37291:25:67","type":"","value":"Clonable: CREATE failed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37268:6:67"},"nodeType":"YulFunctionCall","src":"37268:49:67"},"nodeType":"YulExpressionStatement","src":"37268:49:67"}]},"name":"store_literal_in_memory_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"37249:6:67","type":""}],"src":"37151:173:67"},{"body":{"nodeType":"YulBlock","src":"37381:87:67","statements":[{"body":{"nodeType":"YulBlock","src":"37446:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37455:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"37458:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"37448:6:67"},"nodeType":"YulFunctionCall","src":"37448:12:67"},"nodeType":"YulExpressionStatement","src":"37448:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"37404:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"37437:5:67"}],"functionName":{"name":"cleanup_t_address_payable","nodeType":"YulIdentifier","src":"37411:25:67"},"nodeType":"YulFunctionCall","src":"37411:32:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"37401:2:67"},"nodeType":"YulFunctionCall","src":"37401:43:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"37394:6:67"},"nodeType":"YulFunctionCall","src":"37394:51:67"},"nodeType":"YulIf","src":"37391:71:67"}]},"name":"validator_revert_t_address_payable","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"37374:5:67","type":""}],"src":"37330:138:67"},{"body":{"nodeType":"YulBlock","src":"37514:76:67","statements":[{"body":{"nodeType":"YulBlock","src":"37568:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37577:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"37580:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"37570:6:67"},"nodeType":"YulFunctionCall","src":"37570:12:67"},"nodeType":"YulExpressionStatement","src":"37570:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"37537:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"37559:5:67"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"37544:14:67"},"nodeType":"YulFunctionCall","src":"37544:21:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"37534:2:67"},"nodeType":"YulFunctionCall","src":"37534:32:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"37527:6:67"},"nodeType":"YulFunctionCall","src":"37527:40:67"},"nodeType":"YulIf","src":"37524:60:67"}]},"name":"validator_revert_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"37507:5:67","type":""}],"src":"37474:116:67"},{"body":{"nodeType":"YulBlock","src":"37639:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"37696:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37705:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"37708:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"37698:6:67"},"nodeType":"YulFunctionCall","src":"37698:12:67"},"nodeType":"YulExpressionStatement","src":"37698:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"37662:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"37687:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"37669:17:67"},"nodeType":"YulFunctionCall","src":"37669:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"37659:2:67"},"nodeType":"YulFunctionCall","src":"37659:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"37652:6:67"},"nodeType":"YulFunctionCall","src":"37652:43:67"},"nodeType":"YulIf","src":"37649:63:67"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"37632:5:67","type":""}],"src":"37596:122:67"},{"body":{"nodeType":"YulBlock","src":"37785:97:67","statements":[{"body":{"nodeType":"YulBlock","src":"37860:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37869:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"37872:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"37862:6:67"},"nodeType":"YulFunctionCall","src":"37862:12:67"},"nodeType":"YulExpressionStatement","src":"37862:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"37808:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"37851:5:67"}],"functionName":{"name":"cleanup_t_contract$_Clonable_$11629","nodeType":"YulIdentifier","src":"37815:35:67"},"nodeType":"YulFunctionCall","src":"37815:42:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"37805:2:67"},"nodeType":"YulFunctionCall","src":"37805:53:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"37798:6:67"},"nodeType":"YulFunctionCall","src":"37798:61:67"},"nodeType":"YulIf","src":"37795:81:67"}]},"name":"validator_revert_t_contract$_Clonable_$11629","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"37778:5:67","type":""}],"src":"37724:158:67"},{"body":{"nodeType":"YulBlock","src":"37947:56:67","statements":[{"body":{"nodeType":"YulBlock","src":"37981:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37990:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"37993:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"37983:6:67"},"nodeType":"YulFunctionCall","src":"37983:12:67"},"nodeType":"YulExpressionStatement","src":"37983:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"37970:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"37977:1:67","type":"","value":"4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"37967:2:67"},"nodeType":"YulFunctionCall","src":"37967:12:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"37960:6:67"},"nodeType":"YulFunctionCall","src":"37960:20:67"},"nodeType":"YulIf","src":"37957:40:67"}]},"name":"validator_revert_t_enum$_QueryStatus_$7996","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"37940:5:67","type":""}],"src":"37888:115:67"},{"body":{"nodeType":"YulBlock","src":"38052:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"38109:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"38118:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"38121:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"38111:6:67"},"nodeType":"YulFunctionCall","src":"38111:12:67"},"nodeType":"YulExpressionStatement","src":"38111:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"38075:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"38100:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"38082:17:67"},"nodeType":"YulFunctionCall","src":"38082:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"38072:2:67"},"nodeType":"YulFunctionCall","src":"38072:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"38065:6:67"},"nodeType":"YulFunctionCall","src":"38065:43:67"},"nodeType":"YulIf","src":"38062:63:67"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"38045:5:67","type":""}],"src":"38009:122:67"},{"body":{"nodeType":"YulBlock","src":"38179:78:67","statements":[{"body":{"nodeType":"YulBlock","src":"38235:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"38244:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"38247:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"38237:6:67"},"nodeType":"YulFunctionCall","src":"38237:12:67"},"nodeType":"YulExpressionStatement","src":"38237:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"38202:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"38226:5:67"}],"functionName":{"name":"cleanup_t_uint32","nodeType":"YulIdentifier","src":"38209:16:67"},"nodeType":"YulFunctionCall","src":"38209:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"38199:2:67"},"nodeType":"YulFunctionCall","src":"38199:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"38192:6:67"},"nodeType":"YulFunctionCall","src":"38192:42:67"},"nodeType":"YulIf","src":"38189:62:67"}]},"name":"validator_revert_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"38172:5:67","type":""}],"src":"38137:120:67"},{"body":{"nodeType":"YulBlock","src":"38305:78:67","statements":[{"body":{"nodeType":"YulBlock","src":"38361:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"38370:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"38373:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"38363:6:67"},"nodeType":"YulFunctionCall","src":"38363:12:67"},"nodeType":"YulExpressionStatement","src":"38363:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"38328:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"38352:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"38335:16:67"},"nodeType":"YulFunctionCall","src":"38335:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"38325:2:67"},"nodeType":"YulFunctionCall","src":"38325:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"38318:6:67"},"nodeType":"YulFunctionCall","src":"38318:42:67"},"nodeType":"YulIf","src":"38315:62:67"}]},"name":"validator_revert_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"38298:5:67","type":""}],"src":"38263:120:67"},{"body":{"nodeType":"YulBlock","src":"38430:77:67","statements":[{"body":{"nodeType":"YulBlock","src":"38485:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"38494:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"38497:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"38487:6:67"},"nodeType":"YulFunctionCall","src":"38487:12:67"},"nodeType":"YulExpressionStatement","src":"38487:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"38453:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"38476:5:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"38460:15:67"},"nodeType":"YulFunctionCall","src":"38460:22:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"38450:2:67"},"nodeType":"YulFunctionCall","src":"38450:33:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"38443:6:67"},"nodeType":"YulFunctionCall","src":"38443:41:67"},"nodeType":"YulIf","src":"38440:61:67"}]},"name":"validator_revert_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"38423:5:67","type":""}],"src":"38389:118:67"}]},"contents":"{\n\n    function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n        mstore(array, length)\n        let dst := add(array, 0x20)\n        if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n        copy_calldata_to_memory(src, dst, length)\n    }\n\n    function abi_decode_available_length_t_bytes_memory_ptr_fromMemory(src, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n        mstore(array, length)\n        let dst := add(array, 0x20)\n        if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n        copy_memory_to_memory(src, dst, length)\n    }\n\n    function abi_decode_t_address_payable_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_address_payable(value)\n    }\n\n    function abi_decode_t_bool_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_bool(value)\n    }\n\n    function abi_decode_t_bytes32(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_bytes32(value)\n    }\n\n    function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_bytes32(value)\n    }\n\n    // bytes\n    function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := calldataload(offset)\n        array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n    }\n\n    // bytes\n    function abi_decode_t_bytes_memory_ptr_fromMemory(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := mload(offset)\n        array := abi_decode_available_length_t_bytes_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n    }\n\n    function abi_decode_t_contract$_Clonable_$11629_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_contract$_Clonable_$11629(value)\n    }\n\n    function abi_decode_t_enum$_QueryStatus_$7996_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_enum$_QueryStatus_$7996(value)\n    }\n\n    // struct Witnet.Buffer\n    function abi_decode_t_struct$_Buffer_$8042_memory_ptr_fromMemory(headStart, end) -> value {\n        if slt(sub(end, headStart), 0x40) { revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() }\n        value := allocate_memory(0x40)\n\n        {\n            // data\n\n            let offset := mload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() }\n\n            mstore(add(value, 0x00), abi_decode_t_bytes_memory_ptr_fromMemory(add(headStart, offset), end))\n\n        }\n\n        {\n            // cursor\n\n            let offset := 32\n\n            mstore(add(value, 0x20), abi_decode_t_uint32_fromMemory(add(headStart, offset), end))\n\n        }\n\n    }\n\n    // struct Witnet.CBOR\n    function abi_decode_t_struct$_CBOR_$8037_memory_ptr_fromMemory(headStart, end) -> value {\n        if slt(sub(end, headStart), 0xc0) { revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() }\n        value := allocate_memory(0xc0)\n\n        {\n            // buffer\n\n            let offset := mload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() }\n\n            mstore(add(value, 0x00), abi_decode_t_struct$_Buffer_$8042_memory_ptr_fromMemory(add(headStart, offset), end))\n\n        }\n\n        {\n            // initialByte\n\n            let offset := 32\n\n            mstore(add(value, 0x20), abi_decode_t_uint8_fromMemory(add(headStart, offset), end))\n\n        }\n\n        {\n            // majorType\n\n            let offset := 64\n\n            mstore(add(value, 0x40), abi_decode_t_uint8_fromMemory(add(headStart, offset), end))\n\n        }\n\n        {\n            // additionalInformation\n\n            let offset := 96\n\n            mstore(add(value, 0x60), abi_decode_t_uint8_fromMemory(add(headStart, offset), end))\n\n        }\n\n        {\n            // len\n\n            let offset := 128\n\n            mstore(add(value, 0x80), abi_decode_t_uint64_fromMemory(add(headStart, offset), end))\n\n        }\n\n        {\n            // tag\n\n            let offset := 160\n\n            mstore(add(value, 0xa0), abi_decode_t_uint64_fromMemory(add(headStart, offset), end))\n\n        }\n\n    }\n\n    // struct Witnet.Result\n    function abi_decode_t_struct$_Result_$8023_memory_ptr_fromMemory(headStart, end) -> value {\n        if slt(sub(end, headStart), 0x40) { revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() }\n        value := allocate_memory(0x40)\n\n        {\n            // success\n\n            let offset := 0\n\n            mstore(add(value, 0x00), abi_decode_t_bool_fromMemory(add(headStart, offset), end))\n\n        }\n\n        {\n            // value\n\n            let offset := mload(add(headStart, 32))\n            if gt(offset, 0xffffffffffffffff) { revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() }\n\n            mstore(add(value, 0x20), abi_decode_t_struct$_CBOR_$8037_memory_ptr_fromMemory(add(headStart, offset), end))\n\n        }\n\n    }\n\n    function abi_decode_t_uint256(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint256(value)\n    }\n\n    function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_uint256(value)\n    }\n\n    function abi_decode_t_uint32(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint32(value)\n    }\n\n    function abi_decode_t_uint32_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_uint32(value)\n    }\n\n    function abi_decode_t_uint64_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_uint64(value)\n    }\n\n    function abi_decode_t_uint8_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_uint8(value)\n    }\n\n    function abi_decode_tuple_t_address_payable_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_address_payable_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_bytes32_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_contract$_Clonable_$11629_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_contract$_Clonable_$11629_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_enum$_QueryStatus_$7996_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_enum$_QueryStatus_$7996_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_struct$_Result_$8023_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := mload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_struct$_Result_$8023_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint32t_uint256t_bytes32(headStart, dataEnd) -> value0, value1, value2 {\n        if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint32(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 64\n\n            value2 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint32t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2 {\n        if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint32(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 64\n\n            value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n        mstore(pos, cleanup_t_address(value))\n    }\n\n    function abi_encode_t_bool_to_t_bool(value, pos) {\n        mstore(pos, cleanup_t_bool(value))\n    }\n\n    function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n        mstore(pos, cleanup_t_bool(value))\n    }\n\n    function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n        mstore(pos, cleanup_t_bytes32(value))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_contract$_Clonable_$11629_to_t_address_fromStack(value, pos) {\n        mstore(pos, convert_t_contract$_Clonable_$11629_to_t_address(value))\n    }\n\n    function abi_encode_t_contract$_IWitnetRequest_$7510_to_t_address_fromStack(value, pos) {\n        mstore(pos, convert_t_contract$_IWitnetRequest_$7510_to_t_address(value))\n    }\n\n    function abi_encode_t_contract$_WitnetRequestBoard_$4162_to_t_address_payable_fromStack(value, pos) {\n        mstore(pos, convert_t_contract$_WitnetRequestBoard_$4162_to_t_address_payable(value))\n    }\n\n    function abi_encode_t_contract$_WitnetRequestRandomness_$12753_to_t_address_fromStack(value, pos) {\n        mstore(pos, convert_t_contract$_WitnetRequestRandomness_$12753_to_t_address(value))\n    }\n\n    function abi_encode_t_stringliteral_2063d17e40f52e2680483996eebc5eb14841a31f35c049e2b83eef96cc3ab1c2_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n        store_literal_in_memory_2063d17e40f52e2680483996eebc5eb14841a31f35c049e2b83eef96cc3ab1c2(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n        store_literal_in_memory_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_2ccb45f5bf081c7ce3a014d3becfd9889cc2ed630aa4db79533f91e96077c0ae_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 35)\n        store_literal_in_memory_2ccb45f5bf081c7ce3a014d3becfd9889cc2ed630aa4db79533f91e96077c0ae(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_55f80fc360f2082a848e28d63f54a94763dc2b59c75e9fef1bf56b42af6f071b_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 27)\n        store_literal_in_memory_55f80fc360f2082a848e28d63f54a94763dc2b59c75e9fef1bf56b42af6f071b(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n        store_literal_in_memory_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_t_stringliteral_8c09ea17e2de3ad790d29399fa76d05d6700bd912e14021f467bb3897d40c692_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n        store_literal_in_memory_8c09ea17e2de3ad790d29399fa76d05d6700bd912e14021f467bb3897d40c692(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 23)\n        store_literal_in_memory_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e(pos)\n        end := add(pos, 32)\n    }\n\n    // struct Witnet.Buffer -> struct Witnet.Buffer\n    function abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr(value, pos)  -> end  {\n        let tail := add(pos, 0x40)\n\n        {\n            // data\n\n            let memberValue0 := mload(add(value, 0x00))\n\n            mstore(add(pos, 0x00), sub(tail, pos))\n            tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(memberValue0, tail)\n\n        }\n\n        {\n            // cursor\n\n            let memberValue0 := mload(add(value, 0x20))\n            abi_encode_t_uint32_to_t_uint32(memberValue0, add(pos, 0x20))\n        }\n\n        end := tail\n    }\n\n    // struct Witnet.CBOR -> struct Witnet.CBOR\n    function abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr(value, pos)  -> end  {\n        let tail := add(pos, 0xc0)\n\n        {\n            // buffer\n\n            let memberValue0 := mload(add(value, 0x00))\n\n            mstore(add(pos, 0x00), sub(tail, pos))\n            tail := abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr(memberValue0, tail)\n\n        }\n\n        {\n            // initialByte\n\n            let memberValue0 := mload(add(value, 0x20))\n            abi_encode_t_uint8_to_t_uint8(memberValue0, add(pos, 0x20))\n        }\n\n        {\n            // majorType\n\n            let memberValue0 := mload(add(value, 0x40))\n            abi_encode_t_uint8_to_t_uint8(memberValue0, add(pos, 0x40))\n        }\n\n        {\n            // additionalInformation\n\n            let memberValue0 := mload(add(value, 0x60))\n            abi_encode_t_uint8_to_t_uint8(memberValue0, add(pos, 0x60))\n        }\n\n        {\n            // len\n\n            let memberValue0 := mload(add(value, 0x80))\n            abi_encode_t_uint64_to_t_uint64(memberValue0, add(pos, 0x80))\n        }\n\n        {\n            // tag\n\n            let memberValue0 := mload(add(value, 0xa0))\n            abi_encode_t_uint64_to_t_uint64(memberValue0, add(pos, 0xa0))\n        }\n\n        end := tail\n    }\n\n    // struct Witnet.Result -> struct Witnet.Result\n    function abi_encode_t_struct$_Result_$8023_memory_ptr_to_t_struct$_Result_$8023_memory_ptr_fromStack(value, pos)  -> end  {\n        let tail := add(pos, 0x40)\n\n        {\n            // success\n\n            let memberValue0 := mload(add(value, 0x00))\n            abi_encode_t_bool_to_t_bool(memberValue0, add(pos, 0x00))\n        }\n\n        {\n            // value\n\n            let memberValue0 := mload(add(value, 0x20))\n\n            mstore(add(pos, 0x20), sub(tail, pos))\n            tail := abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr(memberValue0, tail)\n\n        }\n\n        end := tail\n    }\n\n    function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint256(value))\n    }\n\n    function abi_encode_t_uint32_to_t_uint32(value, pos) {\n        mstore(pos, cleanup_t_uint32(value))\n    }\n\n    function abi_encode_t_uint32_to_t_uint32_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint32(value))\n    }\n\n    function abi_encode_t_uint64_to_t_uint64(value, pos) {\n        mstore(pos, cleanup_t_uint64(value))\n    }\n\n    function abi_encode_t_uint8_to_t_uint8(value, pos) {\n        mstore(pos, cleanup_t_uint8(value))\n    }\n\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_address_to_t_address_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart , value1, value0) -> tail {\n        tail := add(headStart, 64)\n\n        abi_encode_t_address_to_t_address_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_bytes32_to_t_bytes32_fromStack(value1,  add(headStart, 32))\n\n    }\n\n    function abi_encode_tuple_t_address_t_uint256_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n        tail := add(headStart, 128)\n\n        abi_encode_t_address_to_t_address_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value1,  add(headStart, 32))\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value2,  add(headStart, 64))\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value3,  add(headStart, 96))\n\n    }\n\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_bool_to_t_bool_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_bytes32_to_t_bytes32_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n        tail := add(headStart, 64)\n\n        abi_encode_t_bytes32_to_t_bytes32_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value1,  add(headStart, 32))\n\n    }\n\n    function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_contract$_Clonable_$11629__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_contract$_Clonable_$11629_to_t_address_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_contract$_IWitnetRequest_$7510__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_contract$_IWitnetRequest_$7510_to_t_address_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_contract$_WitnetRequestBoard_$4162__to_t_address_payable__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_contract$_WitnetRequestBoard_$4162_to_t_address_payable_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_contract$_WitnetRequestRandomness_$12753__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_contract$_WitnetRequestRandomness_$12753_to_t_address_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_2063d17e40f52e2680483996eebc5eb14841a31f35c049e2b83eef96cc3ab1c2__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_2063d17e40f52e2680483996eebc5eb14841a31f35c049e2b83eef96cc3ab1c2_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_2ccb45f5bf081c7ce3a014d3becfd9889cc2ed630aa4db79533f91e96077c0ae__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_2ccb45f5bf081c7ce3a014d3becfd9889cc2ed630aa4db79533f91e96077c0ae_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_55f80fc360f2082a848e28d63f54a94763dc2b59c75e9fef1bf56b42af6f071b__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_55f80fc360f2082a848e28d63f54a94763dc2b59c75e9fef1bf56b42af6f071b_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_8c09ea17e2de3ad790d29399fa76d05d6700bd912e14021f467bb3897d40c692__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_8c09ea17e2de3ad790d29399fa76d05d6700bd912e14021f467bb3897d40c692_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_struct$_Result_$8023_memory_ptr__to_t_struct$_Result_$8023_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_struct$_Result_$8023_memory_ptr_to_t_struct$_Result_$8023_memory_ptr_fromStack(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_uint256_t_bytes32__to_t_uint256_t_bytes32__fromStack_reversed(headStart , value1, value0) -> tail {\n        tail := add(headStart, 64)\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_bytes32_to_t_bytes32_fromStack(value1,  add(headStart, 32))\n\n    }\n\n    function abi_encode_tuple_t_uint32__to_t_uint32__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_uint32_to_t_uint32_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function allocate_memory(size) -> memPtr {\n        memPtr := allocate_unbounded()\n        finalize_allocation(memPtr, size)\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := round_up_to_mul_of_32(length)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_length_t_bytes_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function checked_exp_helper(_power, _base, exponent, max) -> power, base {\n        power := _power\n        base  := _base\n        for { } gt(exponent, 1) {}\n        {\n            // overflow check for base * base\n            if gt(base, div(max, base)) { panic_error_0x11() }\n            if and(exponent, 1)\n            {\n                // No checks for power := mul(power, base) needed, because the check\n                // for base * base above is sufficient, since:\n                // |power| <= base (proof by induction) and thus:\n                // |power * base| <= base * base <= max <= |min| (for signed)\n                // (this is equally true for signed and unsigned exp)\n                power := mul(power, base)\n            }\n            base := mul(base, base)\n            exponent := shift_right_1_unsigned(exponent)\n        }\n    }\n\n    function checked_exp_t_uint256_t_uint8(base, exponent) -> power {\n        base := cleanup_t_uint256(base)\n        exponent := cleanup_t_uint8(exponent)\n\n        power := checked_exp_unsigned(base, exponent, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n\n    }\n\n    function checked_exp_unsigned(base, exponent, max) -> power {\n        // This function currently cannot be inlined because of the\n        // \"leave\" statements. We have to improve the optimizer.\n\n        // Note that 0**0 == 1\n        if iszero(exponent) { power := 1 leave }\n        if iszero(base) { power := 0 leave }\n\n        // Specializations for small bases\n        switch base\n        // 0 is handled above\n        case 1 { power := 1 leave }\n        case 2\n        {\n            if gt(exponent, 255) { panic_error_0x11() }\n            power := exp(2, exponent)\n            if gt(power, max) { panic_error_0x11() }\n            leave\n        }\n        if or(\n            and(lt(base, 11), lt(exponent, 78)),\n            and(lt(base, 307), lt(exponent, 32))\n        )\n        {\n            power := exp(base, exponent)\n            if gt(power, max) { panic_error_0x11() }\n            leave\n        }\n\n        power, base := checked_exp_helper(1, base, exponent, max)\n\n        if gt(power, div(max, base)) { panic_error_0x11() }\n        power := mul(power, base)\n    }\n\n    function checked_mul_t_uint256(x, y) -> product {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        // overflow, if x != 0 and y > (maxValue / x)\n        if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n        product := mul(x, y)\n    }\n\n    function checked_sub_t_uint256(x, y) -> diff {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        if lt(x, y) { panic_error_0x11() }\n\n        diff := sub(x, y)\n    }\n\n    function checked_sub_t_uint8(x, y) -> diff {\n        x := cleanup_t_uint8(x)\n        y := cleanup_t_uint8(y)\n\n        if lt(x, y) { panic_error_0x11() }\n\n        diff := sub(x, y)\n    }\n\n    function cleanup_t_address(value) -> cleaned {\n        cleaned := cleanup_t_uint160(value)\n    }\n\n    function cleanup_t_address_payable(value) -> cleaned {\n        cleaned := cleanup_t_uint160(value)\n    }\n\n    function cleanup_t_bool(value) -> cleaned {\n        cleaned := iszero(iszero(value))\n    }\n\n    function cleanup_t_bytes32(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_contract$_Clonable_$11629(value) -> cleaned {\n        cleaned := cleanup_t_address(value)\n    }\n\n    function cleanup_t_uint160(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n    }\n\n    function cleanup_t_uint256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_uint32(value) -> cleaned {\n        cleaned := and(value, 0xffffffff)\n    }\n\n    function cleanup_t_uint64(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffff)\n    }\n\n    function cleanup_t_uint8(value) -> cleaned {\n        cleaned := and(value, 0xff)\n    }\n\n    function convert_t_contract$_Clonable_$11629_to_t_address(value) -> converted {\n        converted := convert_t_uint160_to_t_address(value)\n    }\n\n    function convert_t_contract$_IWitnetRequest_$7510_to_t_address(value) -> converted {\n        converted := convert_t_uint160_to_t_address(value)\n    }\n\n    function convert_t_contract$_WitnetRequestBoard_$4162_to_t_address_payable(value) -> converted {\n        converted := convert_t_uint160_to_t_address_payable(value)\n    }\n\n    function convert_t_contract$_WitnetRequestRandomness_$12753_to_t_address(value) -> converted {\n        converted := convert_t_uint160_to_t_address(value)\n    }\n\n    function convert_t_uint160_to_t_address(value) -> converted {\n        converted := convert_t_uint160_to_t_uint160(value)\n    }\n\n    function convert_t_uint160_to_t_address_payable(value) -> converted {\n        converted := convert_t_uint160_to_t_uint160(value)\n    }\n\n    function convert_t_uint160_to_t_uint160(value) -> converted {\n        converted := cleanup_t_uint160(value)\n    }\n\n    function copy_calldata_to_memory(src, dst, length) {\n        calldatacopy(dst, src, length)\n        // clear end\n        mstore(add(dst, length), 0)\n    }\n\n    function copy_memory_to_memory(src, dst, length) {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        if gt(i, length)\n        {\n            // clear end\n            mstore(add(dst, length), 0)\n        }\n    }\n\n    function finalize_allocation(memPtr, size) {\n        let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n        // protect against overflow\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n\n    function panic_error_0x01() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x01)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x11() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x21() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x32() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x41() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n\n    function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n        revert(0, 0)\n    }\n\n    function revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() {\n        revert(0, 0)\n    }\n\n    function revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() {\n        revert(0, 0)\n    }\n\n    function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n        revert(0, 0)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function round_up_to_mul_of_32(value) -> result {\n        result := and(add(value, 31), not(31))\n    }\n\n    function shift_right_1_unsigned(value) -> newValue {\n        newValue :=\n\n        shr(1, value)\n\n    }\n\n    function store_literal_in_memory_2063d17e40f52e2680483996eebc5eb14841a31f35c049e2b83eef96cc3ab1c2(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRandomness: faulty randomi\")\n\n        mstore(add(memPtr, 32), \"ze\")\n\n    }\n\n    function store_literal_in_memory_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRandomness: already initia\")\n\n        mstore(add(memPtr, 32), \"lized\")\n\n    }\n\n    function store_literal_in_memory_2ccb45f5bf081c7ce3a014d3becfd9889cc2ed630aa4db79533f91e96077c0ae(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRandomness: pending random\")\n\n        mstore(add(memPtr, 32), \"ize\")\n\n    }\n\n    function store_literal_in_memory_55f80fc360f2082a848e28d63f54a94763dc2b59c75e9fef1bf56b42af6f071b(memPtr) {\n\n        mstore(add(memPtr, 0), \"UsingWitnet: reward too low\")\n\n    }\n\n    function store_literal_in_memory_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf(memPtr) {\n\n        mstore(add(memPtr, 0), \"Clonable: CREATE2 failed\")\n\n    }\n\n    function store_literal_in_memory_8c09ea17e2de3ad790d29399fa76d05d6700bd912e14021f467bb3897d40c692(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRandomness: not randomized\")\n\n    }\n\n    function store_literal_in_memory_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e(memPtr) {\n\n        mstore(add(memPtr, 0), \"Clonable: CREATE failed\")\n\n    }\n\n    function validator_revert_t_address_payable(value) {\n        if iszero(eq(value, cleanup_t_address_payable(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_bool(value) {\n        if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_bytes32(value) {\n        if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_contract$_Clonable_$11629(value) {\n        if iszero(eq(value, cleanup_t_contract$_Clonable_$11629(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_enum$_QueryStatus_$7996(value) {\n        if iszero(lt(value, 4)) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint256(value) {\n        if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint32(value) {\n        if iszero(eq(value, cleanup_t_uint32(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint64(value) {\n        if iszero(eq(value, cleanup_t_uint64(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint8(value) {\n        if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"3938":[{"length":32,"start":1795},{"length":32,"start":3317},{"length":32,"start":3491},{"length":32,"start":4806},{"length":32,"start":5007},{"length":32,"start":5204},{"length":32,"start":5779},{"length":32,"start":5987},{"length":32,"start":6625},{"length":32,"start":6808}],"11531":[{"length":32,"start":2400},{"length":32,"start":2506},{"length":32,"start":3787},{"length":32,"start":4051},{"length":32,"start":5383},{"length":32,"start":5648}]},"linkReferences":{},"object":"6080604052600436106101095760003560e01c80639938fd0c11610095578063a60ee26811610064578063a60ee2681461038b578063daaa360c146103c8578063e35329f814610405578063e7d4a01614610435578063fb476cad1461047257610109565b80639938fd0c146102b85780639bc86fec146102e3578063a04daef014610320578063a3252f681461034b57610109565b806340b41daa116100dc57806340b41daa146101de578063439fab911461021b57806346d1d21a14610244578063699b328a1461026f5780637104ddb21461028d57610109565b806309ed46071461010e57806324cbbfc11461013957806336b651bb146101765780633b13e76e146101b3575b600080fd5b34801561011a57600080fd5b506101236104af565b6040516101309190612626565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b919061219c565b6104c7565b60405161016d91906127d8565b60405180910390f35b34801561018257600080fd5b5061019d600480360381019061019891906120ef565b61050d565b6040516101aa9190612794565b60405180910390f35b3480156101bf57600080fd5b506101c861055c565b6040516101d59190612677565b60405180910390f35b3480156101ea57600080fd5b50610205600480360381019061020091906120ef565b610580565b6040516102129190612794565b60405180910390f35b34801561022757600080fd5b50610242600480360381019061023d9190612003565b61061c565b005b34801561025057600080fd5b50610259610701565b604051610266919061265c565b60405180910390f35b610277610725565b6040516102849190612794565b60405180910390f35b34801561029957600080fd5b506102a261095e565b6040516102af919061251c565b60405180910390f35b3480156102c457600080fd5b506102cd610982565b6040516102da9190612794565b60405180910390f35b3480156102ef57600080fd5b5061030a600480360381019061030591906120ef565b610988565b60405161031791906125a5565b60405180910390f35b34801561032c57600080fd5b506103356109c6565b60405161034291906125a5565b60405180910390f35b34801561035757600080fd5b50610372600480360381019061036d91906120ef565b610a1d565b6040516103829493929190612560565b60405180910390f35b34801561039757600080fd5b506103b260048036038101906103ad91906120ef565b610a7e565b6040516103bf9190612794565b60405180910390f35b3480156103d457600080fd5b506103ef60048036038101906103ea9190611fa9565b610a90565b6040516103fc9190612626565b60405180910390f35b61041f600480360381019061041a91906120ef565b610aab565b60405161042c9190612794565b60405180910390f35b34801561044157600080fd5b5061045c60048036038101906104579190612149565b610b40565b60405161046991906127d8565b60405180910390f35b34801561047e57600080fd5b50610499600480360381019061049491906120ef565b610bc7565b6040516104a691906125c0565b60405180910390f35b60006104b9610ec6565b90506104c48161104f565b90565b60006105048484336104d886610bc7565b6040516020016104e9929190612537565b60405160208183030381529060405280519060200120610b40565b90509392505050565b600080821161051f5761051e612c52565b5b600060015490508083116105525761054d8360026000848152602001908152602001600020600101546111ed565b610554565b805b915050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156105fd576105f882600154611225565b610615565b60026000838152602001908152602001600020600201545b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a2906126b2565b60405180910390fd5b808060200190518101906106bf9190611f4f565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600043600154101561094a57600061075c60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611274565b80935081925050506000600260004381526020019081526020016000209050818160030181905550338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600154905080826001018190555043600260008381526020019081526020016000206002018190555043600181905550803373ffffffffffffffffffffffffffffffffffffffff167faf291bb4e1767569c77502edb6ad1009e856f57c09f214886c6becc9836c20c08560008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309bd5a606040518163ffffffff1660e01b815260040160206040518083038186803b15801561089957600080fd5b505afa1580156108ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d19190611fd6565b6040516108df9291906127af565b60405180910390a334841015610942573373ffffffffffffffffffffffffffffffffffffffff166108fc85346109159190612a52565b9081150290604051600060405180830381858888f19350505050158015610940573d6000803e3d6000fd5b505b50505061095a565b61095343610aab565b905061095b565b5b90565b7f000000000000000000000000000000000000000000000000000000000000000081565b60015481565b60008060026000848152602001908152602001600020905060008160030154141580156109be57506109bd8160030154611377565b5b915050919050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415905090565b6000806000806000600260008781526020019081526020016000209050806003015493508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1694508060010154925080600201549150509193509193565b6000610a8982611450565b9050919050565b6000610a9b82611502565b9050610aa68161104f565b919050565b6000806002600084815260200190815260200160002090506000816003015414610adf57610adc816003015461168e565b91505b34821015610b3a573373ffffffffffffffffffffffffffffffffffffffff166108fc8334610b0d9190612a52565b9081150290604051600060405180830381858888f19350505050158015610b38573d6000803e3d6000fd5b505b50919050565b600080610b4c856117f8565b60ff610b589190612a86565b905060006001826002610b6b91906128da565b610b759190612a52565b8486604051602001610b889291906125db565b6040516020818303038152906040528051906020012060001c1690508160ff168663ffffffff1682610bba91906129f8565b901c925050509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610c3f57610c3c82610580565b91505b6000600260008481526020019081526020016000206003015490506000811415610c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9590612732565b60405180910390fd5b610ca781611377565b610ce6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdd906126d2565b60405180910390fd5b6000610cf1826119d7565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a8604c1a826040518263ffffffff1660e01b8152600401610d4c9190612772565b60206040518083038186803b158015610d6457600080fd5b505afa158015610d78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9c9190611f7c565b15610e53577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663cf62d115826040518263ffffffff1660e01b8152600401610dfa9190612772565b60206040518083038186803b158015610e1257600080fd5b505afa158015610e26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4a9190611fd6565b92505050610ec1565b6000600260008681526020019081526020016000206002015490506000811415610eb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea990612692565b60405180910390fd5b610ebb81610bc7565b93505050505b919050565b6000807f000000000000000000000000000000000000000000000000000000000000000090506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160601b60148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f0925050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb190612752565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff376596be5039d6b2fb36fead4c8a370eae426e790a869be8db074ab608cc24860405160405180910390a45090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309ed46076040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156110ba57600080fd5b505af11580156110ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f2919061204c565b90508073ffffffffffffffffffffffffffffffffffffffff1663f2fde38b336040518263ffffffff1660e01b815260040161112d919061251c565b600060405180830381600087803b15801561114757600080fd5b505af115801561115b573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663439fab918260405160200161118c919061251c565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016111b79190612604565b600060405180830381600087803b1580156111d157600080fd5b505af11580156111e5573d6000803e3d6000fd5b505050505050565b600081831161121b576112168360026000858152602001908152602001600020600101546111ed565b61121d565b815b905092915050565b6000818310156112545761124f836002600085815260200190815260200160002060010154611225565b61126c565b60026000838152602001908152602001600020600201545b905092915050565b60008061127f611a94565b9050348111156112c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bb906126f2565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b281a7bd82856040518363ffffffff1660e01b815260040161131e9190612641565b6020604051808303818588803b15801561133757600080fd5b505af115801561134b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611370919061211c565b9150915091565b60006002600381111561138d5761138c612cb0565b5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636f07abcc846040518263ffffffff1660e01b81526004016113e69190612794565b60206040518083038186803b1580156113fe57600080fd5b505afa158015611412573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114369190612079565b600381111561144857611447612cb0565b5b149050919050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d2e87561836040518263ffffffff1660e01b81526004016114ab9190612794565b60206040518083038186803b1580156114c357600080fd5b505afa1580156114d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114fb919061211c565b9050919050565b6000807f000000000000000000000000000000000000000000000000000000000000000090506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160601b60148201527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006028820152836037826000f5925050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ee90612712565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff376596be5039d6b2fb36fead4c8a370eae426e790a869be8db074ab608cc24860405160405180910390a450919050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16631dd27daf846040518263ffffffff1660e01b81526004016116ea9190612794565b60206040518083038186803b15801561170257600080fd5b505afa158015611716573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173a919061211c565b90506000611746611a94565b905060008282111561176157828261175e9190612a52565b90505b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166366bfdc7582876040518363ffffffff1660e01b81526004016117bb9190612794565b6000604051808303818588803b1580156117d457600080fd5b505af11580156117e8573d6000803e3d6000fd5b5050505050809350505050919050565b600080604051806104000160405280600060ff168152602001600960ff168152602001600160ff168152602001600a60ff168152602001600d60ff168152602001601560ff168152602001600260ff168152602001601d60ff168152602001600b60ff168152602001600e60ff168152602001601060ff168152602001601260ff168152602001601660ff168152602001601960ff168152602001600360ff168152602001601e60ff168152602001600860ff168152602001600c60ff168152602001601460ff168152602001601c60ff168152602001600f60ff168152602001601160ff168152602001601860ff168152602001600760ff168152602001601360ff168152602001601b60ff168152602001601760ff168152602001600660ff168152602001601a60ff168152602001600560ff168152602001600460ff168152602001601f60ff16815250905060018363ffffffff16901c8317925060028363ffffffff16901c8317925060048363ffffffff16901c8317925060088363ffffffff16901c8317925060108363ffffffff16901c8317925080601b6307c4acdd8563ffffffff166119ab91906129f8565b63ffffffff16901c63ffffffff16602081106119ca576119c9612cdf565b5b6020020151915050919050565b6119df611b44565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d4da69ac836040518263ffffffff1660e01b8152600401611a389190612794565b60006040518083038186803b158015611a5057600080fd5b505afa158015611a64573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611a8d91906120a6565b9050919050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d2e875613a6040518263ffffffff1660e01b8152600401611aef9190612794565b60206040518083038186803b158015611b0757600080fd5b505afa158015611b1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b3f919061211c565b905090565b6040518060400160405280600015158152602001611b60611b66565b81525090565b6040518060c00160405280611b79611bbf565b8152602001600060ff168152602001600060ff168152602001600060ff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff1681525090565b604051806040016040528060608152602001600063ffffffff1681525090565b6000611bf2611bed84612818565b6127f3565b905082815260208101848484011115611c0e57611c0d612d4c565b5b611c19848285612bdf565b509392505050565b6000611c34611c2f84612818565b6127f3565b905082815260208101848484011115611c5057611c4f612d4c565b5b611c5b848285612bee565b509392505050565b600081519050611c7281612f0a565b92915050565b600081519050611c8781612f21565b92915050565b600081359050611c9c81612f38565b92915050565b600081519050611cb181612f38565b92915050565b600082601f830112611ccc57611ccb612d3d565b5b8135611cdc848260208601611bdf565b91505092915050565b600082601f830112611cfa57611cf9612d3d565b5b8151611d0a848260208601611c21565b91505092915050565b600081519050611d2281612f4f565b92915050565b600081519050611d3781612f66565b92915050565b600060408284031215611d5357611d52612d42565b5b611d5d60406127f3565b9050600082015167ffffffffffffffff811115611d7d57611d7c612d47565b5b611d8984828501611ce5565b6000830152506020611d9d84828501611f10565b60208301525092915050565b600060c08284031215611dbf57611dbe612d42565b5b611dc960c06127f3565b9050600082015167ffffffffffffffff811115611de957611de8612d47565b5b611df584828501611d3d565b6000830152506020611e0984828501611f3a565b6020830152506040611e1d84828501611f3a565b6040830152506060611e3184828501611f3a565b6060830152506080611e4584828501611f25565b60808301525060a0611e5984828501611f25565b60a08301525092915050565b600060408284031215611e7b57611e7a612d42565b5b611e8560406127f3565b90506000611e9584828501611c78565b600083015250602082015167ffffffffffffffff811115611eb957611eb8612d47565b5b611ec584828501611da9565b60208301525092915050565b600081359050611ee081612f76565b92915050565b600081519050611ef581612f76565b92915050565b600081359050611f0a81612f8d565b92915050565b600081519050611f1f81612f8d565b92915050565b600081519050611f3481612fa4565b92915050565b600081519050611f4981612fbb565b92915050565b600060208284031215611f6557611f64612d56565b5b6000611f7384828501611c63565b91505092915050565b600060208284031215611f9257611f91612d56565b5b6000611fa084828501611c78565b91505092915050565b600060208284031215611fbf57611fbe612d56565b5b6000611fcd84828501611c8d565b91505092915050565b600060208284031215611fec57611feb612d56565b5b6000611ffa84828501611ca2565b91505092915050565b60006020828403121561201957612018612d56565b5b600082013567ffffffffffffffff81111561203757612036612d51565b5b61204384828501611cb7565b91505092915050565b60006020828403121561206257612061612d56565b5b600061207084828501611d13565b91505092915050565b60006020828403121561208f5761208e612d56565b5b600061209d84828501611d28565b91505092915050565b6000602082840312156120bc576120bb612d56565b5b600082015167ffffffffffffffff8111156120da576120d9612d51565b5b6120e684828501611e65565b91505092915050565b60006020828403121561210557612104612d56565b5b600061211384828501611ed1565b91505092915050565b60006020828403121561213257612131612d56565b5b600061214084828501611ee6565b91505092915050565b60008060006060848603121561216257612161612d56565b5b600061217086828701611efb565b935050602061218186828701611ed1565b925050604061219286828701611c8d565b9150509250925092565b6000806000606084860312156121b5576121b4612d56565b5b60006121c386828701611efb565b93505060206121d486828701611ed1565b92505060406121e586828701611ed1565b9150509250925092565b6121f881612aba565b82525050565b61220781612ade565b82525050565b61221681612ade565b82525050565b61222581612aea565b82525050565b600061223682612849565b6122408185612854565b9350612250818560208601612bee565b61225981612d5b565b840191505092915050565b600061226f82612849565b6122798185612865565b9350612289818560208601612bee565b61229281612d5b565b840191505092915050565b6122a681612b61565b82525050565b6122b581612b73565b82525050565b6122c481612b85565b82525050565b6122d381612b97565b82525050565b60006122e6602283612876565b91506122f182612d79565b604082019050919050565b6000612309602583612876565b915061231482612dc8565b604082019050919050565b600061232c602383612876565b915061233782612e17565b604082019050919050565b600061234f601b83612876565b915061235a82612e66565b602082019050919050565b6000612372601883612876565b915061237d82612e8f565b602082019050919050565b6000612395602083612876565b91506123a082612eb8565b602082019050919050565b60006123b8601783612876565b91506123c382612ee1565b602082019050919050565b600060408301600083015184820360008601526123eb828261222b565b915050602083015161240060208601826124e0565b508091505092915050565b600060c083016000830151848203600086015261242882826123ce565b915050602083015161243d602086018261250d565b506040830151612450604086018261250d565b506060830151612463606086018261250d565b50608083015161247660808601826124fe565b5060a083015161248960a08601826124fe565b508091505092915050565b60006040830160008301516124ac60008601826121fe565b50602083015184820360208601526124c4828261240b565b9150508091505092915050565b6124da81612b26565b82525050565b6124e981612b30565b82525050565b6124f881612b30565b82525050565b61250781612b40565b82525050565b61251681612b54565b82525050565b600060208201905061253160008301846121ef565b92915050565b600060408201905061254c60008301856121ef565b612559602083018461221c565b9392505050565b600060808201905061257560008301876121ef565b61258260208301866124d1565b61258f60408301856124d1565b61259c60608301846124d1565b95945050505050565b60006020820190506125ba600083018461220d565b92915050565b60006020820190506125d5600083018461221c565b92915050565b60006040820190506125f0600083018561221c565b6125fd60208301846124d1565b9392505050565b6000602082019050818103600083015261261e8184612264565b905092915050565b600060208201905061263b600083018461229d565b92915050565b600060208201905061265660008301846122ac565b92915050565b600060208201905061267160008301846122bb565b92915050565b600060208201905061268c60008301846122ca565b92915050565b600060208201905081810360008301526126ab816122d9565b9050919050565b600060208201905081810360008301526126cb816122fc565b9050919050565b600060208201905081810360008301526126eb8161231f565b9050919050565b6000602082019050818103600083015261270b81612342565b9050919050565b6000602082019050818103600083015261272b81612365565b9050919050565b6000602082019050818103600083015261274b81612388565b9050919050565b6000602082019050818103600083015261276b816123ab565b9050919050565b6000602082019050818103600083015261278c8184612494565b905092915050565b60006020820190506127a960008301846124d1565b92915050565b60006040820190506127c460008301856124d1565b6127d1602083018461221c565b9392505050565b60006020820190506127ed60008301846124ef565b92915050565b60006127fd61280e565b90506128098282612c21565b919050565b6000604051905090565b600067ffffffffffffffff82111561283357612832612d0e565b5b61283c82612d5b565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000808291508390505b60018511156128d1578086048111156128ad576128ac612c81565b5b60018516156128bc5780820291505b80810290506128ca85612d6c565b9450612891565b94509492505050565b60006128e582612b26565b91506128f083612b54565b925061291d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612925565b905092915050565b60008261293557600190506129f1565b8161294357600090506129f1565b8160018114612959576002811461296357612992565b60019150506129f1565b60ff84111561297557612974612c81565b5b8360020a91508482111561298c5761298b612c81565b5b506129f1565b5060208310610133831016604e8410600b84101617156129c75782820a9050838111156129c2576129c1612c81565b5b6129f1565b6129d48484846001612887565b925090508184048111156129eb576129ea612c81565b5b81810290505b9392505050565b6000612a0382612b26565b9150612a0e83612b26565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612a4757612a46612c81565b5b828202905092915050565b6000612a5d82612b26565b9150612a6883612b26565b925082821015612a7b57612a7a612c81565b5b828203905092915050565b6000612a9182612b54565b9150612a9c83612b54565b925082821015612aaf57612aae612c81565b5b828203905092915050565b6000612ac582612b06565b9050919050565b6000612ad782612b06565b9050919050565b60008115159050919050565b6000819050919050565b6000612aff82612aba565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b6000612b6c82612ba9565b9050919050565b6000612b7e82612ba9565b9050919050565b6000612b9082612bbb565b9050919050565b6000612ba282612ba9565b9050919050565b6000612bb482612bcd565b9050919050565b6000612bc682612bcd565b9050919050565b6000612bd882612b06565b9050919050565b82818337600083830152505050565b60005b83811015612c0c578082015181840152602081019050612bf1565b83811115612c1b576000848401525b50505050565b612c2a82612d5b565b810181811067ffffffffffffffff82111715612c4957612c48612d0e565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f5769746e657452616e646f6d6e6573733a206661756c74792072616e646f6d6960008201527f7a65000000000000000000000000000000000000000000000000000000000000602082015250565b7f5769746e657452616e646f6d6e6573733a20616c726561647920696e6974696160008201527f6c697a6564000000000000000000000000000000000000000000000000000000602082015250565b7f5769746e657452616e646f6d6e6573733a2070656e64696e672072616e646f6d60008201527f697a650000000000000000000000000000000000000000000000000000000000602082015250565b7f5573696e675769746e65743a2072657761726420746f6f206c6f770000000000600082015250565b7f436c6f6e61626c653a2043524541544532206661696c65640000000000000000600082015250565b7f5769746e657452616e646f6d6e6573733a206e6f742072616e646f6d697a6564600082015250565b7f436c6f6e61626c653a20435245415445206661696c6564000000000000000000600082015250565b612f1381612acc565b8114612f1e57600080fd5b50565b612f2a81612ade565b8114612f3557600080fd5b50565b612f4181612aea565b8114612f4c57600080fd5b50565b612f5881612af4565b8114612f6357600080fd5b50565b60048110612f7357600080fd5b50565b612f7f81612b26565b8114612f8a57600080fd5b50565b612f9681612b30565b8114612fa157600080fd5b50565b612fad81612b40565b8114612fb857600080fd5b50565b612fc481612b54565b8114612fcf57600080fd5b5056fea2646970667358221220f4691b938720c3e8f10b1b6d4c19bdf6f673f6bcd601a4aee2842c50207e6baa64736f6c63430008070033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x109 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9938FD0C GT PUSH2 0x95 JUMPI DUP1 PUSH4 0xA60EE268 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xA60EE268 EQ PUSH2 0x38B JUMPI DUP1 PUSH4 0xDAAA360C EQ PUSH2 0x3C8 JUMPI DUP1 PUSH4 0xE35329F8 EQ PUSH2 0x405 JUMPI DUP1 PUSH4 0xE7D4A016 EQ PUSH2 0x435 JUMPI DUP1 PUSH4 0xFB476CAD EQ PUSH2 0x472 JUMPI PUSH2 0x109 JUMP JUMPDEST DUP1 PUSH4 0x9938FD0C EQ PUSH2 0x2B8 JUMPI DUP1 PUSH4 0x9BC86FEC EQ PUSH2 0x2E3 JUMPI DUP1 PUSH4 0xA04DAEF0 EQ PUSH2 0x320 JUMPI DUP1 PUSH4 0xA3252F68 EQ PUSH2 0x34B JUMPI PUSH2 0x109 JUMP JUMPDEST DUP1 PUSH4 0x40B41DAA GT PUSH2 0xDC JUMPI DUP1 PUSH4 0x40B41DAA EQ PUSH2 0x1DE JUMPI DUP1 PUSH4 0x439FAB91 EQ PUSH2 0x21B JUMPI DUP1 PUSH4 0x46D1D21A EQ PUSH2 0x244 JUMPI DUP1 PUSH4 0x699B328A EQ PUSH2 0x26F JUMPI DUP1 PUSH4 0x7104DDB2 EQ PUSH2 0x28D JUMPI PUSH2 0x109 JUMP JUMPDEST DUP1 PUSH4 0x9ED4607 EQ PUSH2 0x10E JUMPI DUP1 PUSH4 0x24CBBFC1 EQ PUSH2 0x139 JUMPI DUP1 PUSH4 0x36B651BB EQ PUSH2 0x176 JUMPI DUP1 PUSH4 0x3B13E76E EQ PUSH2 0x1B3 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x123 PUSH2 0x4AF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x130 SWAP2 SWAP1 PUSH2 0x2626 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x145 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x160 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15B SWAP2 SWAP1 PUSH2 0x219C JUMP JUMPDEST PUSH2 0x4C7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x16D SWAP2 SWAP1 PUSH2 0x27D8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x182 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x19D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x198 SWAP2 SWAP1 PUSH2 0x20EF JUMP JUMPDEST PUSH2 0x50D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AA SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C8 PUSH2 0x55C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D5 SWAP2 SWAP1 PUSH2 0x2677 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x205 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x200 SWAP2 SWAP1 PUSH2 0x20EF JUMP JUMPDEST PUSH2 0x580 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x212 SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x227 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x242 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x23D SWAP2 SWAP1 PUSH2 0x2003 JUMP JUMPDEST PUSH2 0x61C JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x250 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x259 PUSH2 0x701 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x266 SWAP2 SWAP1 PUSH2 0x265C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x277 PUSH2 0x725 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x284 SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x299 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2A2 PUSH2 0x95E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2AF SWAP2 SWAP1 PUSH2 0x251C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2CD PUSH2 0x982 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2DA SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x30A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x305 SWAP2 SWAP1 PUSH2 0x20EF JUMP JUMPDEST PUSH2 0x988 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x317 SWAP2 SWAP1 PUSH2 0x25A5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x335 PUSH2 0x9C6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x342 SWAP2 SWAP1 PUSH2 0x25A5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x357 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x372 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x36D SWAP2 SWAP1 PUSH2 0x20EF JUMP JUMPDEST PUSH2 0xA1D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x382 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2560 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x397 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3AD SWAP2 SWAP1 PUSH2 0x20EF JUMP JUMPDEST PUSH2 0xA7E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3BF SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3EA SWAP2 SWAP1 PUSH2 0x1FA9 JUMP JUMPDEST PUSH2 0xA90 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3FC SWAP2 SWAP1 PUSH2 0x2626 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x41F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x41A SWAP2 SWAP1 PUSH2 0x20EF JUMP JUMPDEST PUSH2 0xAAB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x42C SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x441 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x457 SWAP2 SWAP1 PUSH2 0x2149 JUMP JUMPDEST PUSH2 0xB40 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x469 SWAP2 SWAP1 PUSH2 0x27D8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x47E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x499 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x494 SWAP2 SWAP1 PUSH2 0x20EF JUMP JUMPDEST PUSH2 0xBC7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4A6 SWAP2 SWAP1 PUSH2 0x25C0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x4B9 PUSH2 0xEC6 JUMP JUMPDEST SWAP1 POP PUSH2 0x4C4 DUP2 PUSH2 0x104F JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x504 DUP5 DUP5 CALLER PUSH2 0x4D8 DUP7 PUSH2 0xBC7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x4E9 SWAP3 SWAP2 SWAP1 PUSH2 0x2537 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0xB40 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 GT PUSH2 0x51F JUMPI PUSH2 0x51E PUSH2 0x2C52 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH1 0x1 SLOAD SWAP1 POP DUP1 DUP4 GT PUSH2 0x552 JUMPI PUSH2 0x54D DUP4 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x11ED JUMP JUMPDEST PUSH2 0x554 JUMP JUMPDEST DUP1 JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x5FD JUMPI PUSH2 0x5F8 DUP3 PUSH1 0x1 SLOAD PUSH2 0x1225 JUMP JUMPDEST PUSH2 0x615 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD SLOAD JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x6AB JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6A2 SWAP1 PUSH2 0x26B2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x6BF SWAP2 SWAP1 PUSH2 0x1F4F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 NUMBER PUSH1 0x1 SLOAD LT ISZERO PUSH2 0x94A JUMPI PUSH1 0x0 PUSH2 0x75C PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1274 JUMP JUMPDEST DUP1 SWAP4 POP DUP2 SWAP3 POP POP POP PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 NUMBER DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP2 DUP2 PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP CALLER DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x1 SLOAD SWAP1 POP DUP1 DUP3 PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP NUMBER PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP NUMBER PUSH1 0x1 DUP2 SWAP1 SSTORE POP DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xAF291BB4E1767569C77502EDB6AD1009E856F57C09F214886C6BECC9836C20C0 DUP6 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x9BD5A60 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 0x899 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x8AD 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 0x8D1 SWAP2 SWAP1 PUSH2 0x1FD6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8DF SWAP3 SWAP2 SWAP1 PUSH2 0x27AF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 CALLVALUE DUP5 LT ISZERO PUSH2 0x942 JUMPI CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP6 CALLVALUE PUSH2 0x915 SWAP2 SWAP1 PUSH2 0x2A52 JUMP JUMPDEST SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x940 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMPDEST POP POP POP PUSH2 0x95A JUMP JUMPDEST PUSH2 0x953 NUMBER PUSH2 0xAAB JUMP JUMPDEST SWAP1 POP PUSH2 0x95B JUMP JUMPDEST JUMPDEST SWAP1 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x3 ADD SLOAD EQ ISZERO DUP1 ISZERO PUSH2 0x9BE JUMPI POP PUSH2 0x9BD DUP2 PUSH1 0x3 ADD SLOAD PUSH2 0x1377 JUMP JUMPDEST JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x3 ADD SLOAD SWAP4 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP5 POP DUP1 PUSH1 0x1 ADD SLOAD SWAP3 POP DUP1 PUSH1 0x2 ADD SLOAD SWAP2 POP POP SWAP2 SWAP4 POP SWAP2 SWAP4 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA89 DUP3 PUSH2 0x1450 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA9B DUP3 PUSH2 0x1502 JUMP JUMPDEST SWAP1 POP PUSH2 0xAA6 DUP2 PUSH2 0x104F JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x3 ADD SLOAD EQ PUSH2 0xADF JUMPI PUSH2 0xADC DUP2 PUSH1 0x3 ADD SLOAD PUSH2 0x168E JUMP JUMPDEST SWAP2 POP JUMPDEST CALLVALUE DUP3 LT ISZERO PUSH2 0xB3A JUMPI CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP4 CALLVALUE PUSH2 0xB0D SWAP2 SWAP1 PUSH2 0x2A52 JUMP JUMPDEST SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0xB38 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB4C DUP6 PUSH2 0x17F8 JUMP JUMPDEST PUSH1 0xFF PUSH2 0xB58 SWAP2 SWAP1 PUSH2 0x2A86 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x1 DUP3 PUSH1 0x2 PUSH2 0xB6B SWAP2 SWAP1 PUSH2 0x28DA JUMP JUMPDEST PUSH2 0xB75 SWAP2 SWAP1 PUSH2 0x2A52 JUMP JUMPDEST DUP5 DUP7 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB88 SWAP3 SWAP2 SWAP1 PUSH2 0x25DB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x0 SHR AND SWAP1 POP DUP2 PUSH1 0xFF AND DUP7 PUSH4 0xFFFFFFFF AND DUP3 PUSH2 0xBBA SWAP2 SWAP1 PUSH2 0x29F8 JUMP JUMPDEST SWAP1 SHR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xC3F JUMPI PUSH2 0xC3C DUP3 PUSH2 0x580 JUMP JUMPDEST SWAP2 POP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD SLOAD SWAP1 POP PUSH1 0x0 DUP2 EQ ISZERO PUSH2 0xC9E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC95 SWAP1 PUSH2 0x2732 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xCA7 DUP2 PUSH2 0x1377 JUMP JUMPDEST PUSH2 0xCE6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCDD SWAP1 PUSH2 0x26D2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xCF1 DUP3 PUSH2 0x19D7 JUMP JUMPDEST SWAP1 POP PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA8604C1A DUP3 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD4C SWAP2 SWAP1 PUSH2 0x2772 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD78 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 0xD9C SWAP2 SWAP1 PUSH2 0x1F7C JUMP JUMPDEST ISZERO PUSH2 0xE53 JUMPI PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xCF62D115 DUP3 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDFA SWAP2 SWAP1 PUSH2 0x2772 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xE12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE26 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 0xE4A SWAP2 SWAP1 PUSH2 0x1FD6 JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0xEC1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 POP PUSH1 0x0 DUP2 EQ ISZERO PUSH2 0xEB2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xEA9 SWAP1 PUSH2 0x2692 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xEBB DUP2 PUSH2 0xBC7 JUMP JUMPDEST SWAP4 POP POP POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 SWAP1 POP PUSH1 0x40 MLOAD PUSH32 0x3D602D80600A3D3981F3363D3D373D3D3D363D73000000000000000000000000 DUP2 MSTORE DUP2 PUSH1 0x60 SHL PUSH1 0x14 DUP3 ADD MSTORE PUSH32 0x5AF43D82803E903D91602B57FD5BF30000000000000000000000000000000000 PUSH1 0x28 DUP3 ADD MSTORE PUSH1 0x37 DUP2 PUSH1 0x0 CREATE SWAP3 POP POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xFBA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFB1 SWAP1 PUSH2 0x2752 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF376596BE5039D6B2FB36FEAD4C8A370EAE426E790A869BE8DB074AB608CC248 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x9ED4607 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x10BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x10CE 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 0x10F2 SWAP2 SWAP1 PUSH2 0x204C JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF2FDE38B CALLER PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x112D SWAP2 SWAP1 PUSH2 0x251C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1147 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x115B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x439FAB91 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x118C SWAP2 SWAP1 PUSH2 0x251C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11B7 SWAP2 SWAP1 PUSH2 0x2604 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x11D1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x11E5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 GT PUSH2 0x121B JUMPI PUSH2 0x1216 DUP4 PUSH1 0x2 PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x11ED JUMP JUMPDEST PUSH2 0x121D JUMP JUMPDEST DUP2 JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT ISZERO PUSH2 0x1254 JUMPI PUSH2 0x124F DUP4 PUSH1 0x2 PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x1225 JUMP JUMPDEST PUSH2 0x126C JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD SLOAD JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x127F PUSH2 0x1A94 JUMP JUMPDEST SWAP1 POP CALLVALUE DUP2 GT ISZERO PUSH2 0x12C4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12BB SWAP1 PUSH2 0x26F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xB281A7BD DUP3 DUP6 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x131E SWAP2 SWAP1 PUSH2 0x2641 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1337 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x134B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP 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 0x1370 SWAP2 SWAP1 PUSH2 0x211C JUMP JUMPDEST SWAP2 POP SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x138D JUMPI PUSH2 0x138C PUSH2 0x2CB0 JUMP JUMPDEST JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6F07ABCC DUP5 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x13E6 SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x13FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1412 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 0x1436 SWAP2 SWAP1 PUSH2 0x2079 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1448 JUMPI PUSH2 0x1447 PUSH2 0x2CB0 JUMP JUMPDEST JUMPDEST EQ SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xD2E87561 DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14AB SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x14C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x14D7 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 0x14FB SWAP2 SWAP1 PUSH2 0x211C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 SWAP1 POP PUSH1 0x40 MLOAD PUSH32 0x3D602D80600A3D3981F3363D3D373D3D3D363D73000000000000000000000000 DUP2 MSTORE DUP2 PUSH1 0x60 SHL PUSH1 0x14 DUP3 ADD MSTORE PUSH32 0x5AF43D82803E903D91602B57FD5BF30000000000000000000000000000000000 PUSH1 0x28 DUP3 ADD MSTORE DUP4 PUSH1 0x37 DUP3 PUSH1 0x0 CREATE2 SWAP3 POP POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x15F7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15EE SWAP1 PUSH2 0x2712 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF376596BE5039D6B2FB36FEAD4C8A370EAE426E790A869BE8DB074AB608CC248 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x1DD27DAF DUP5 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16EA SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1702 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1716 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 0x173A SWAP2 SWAP1 PUSH2 0x211C JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1746 PUSH2 0x1A94 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 DUP3 GT ISZERO PUSH2 0x1761 JUMPI DUP3 DUP3 PUSH2 0x175E SWAP2 SWAP1 PUSH2 0x2A52 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x66BFDC75 DUP3 DUP8 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x17BB SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x17D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x17E8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP DUP1 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 MLOAD DUP1 PUSH2 0x400 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x9 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xA PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xD PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x15 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1D PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xB PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xE PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x10 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x12 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x16 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x19 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1E PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x8 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xC PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x14 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1C PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xF PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x11 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x18 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x7 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x13 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1B PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x17 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1A PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1F PUSH1 0xFF AND DUP2 MSTORE POP SWAP1 POP PUSH1 0x1 DUP4 PUSH4 0xFFFFFFFF AND SWAP1 SHR DUP4 OR SWAP3 POP PUSH1 0x2 DUP4 PUSH4 0xFFFFFFFF AND SWAP1 SHR DUP4 OR SWAP3 POP PUSH1 0x4 DUP4 PUSH4 0xFFFFFFFF AND SWAP1 SHR DUP4 OR SWAP3 POP PUSH1 0x8 DUP4 PUSH4 0xFFFFFFFF AND SWAP1 SHR DUP4 OR SWAP3 POP PUSH1 0x10 DUP4 PUSH4 0xFFFFFFFF AND SWAP1 SHR DUP4 OR SWAP3 POP DUP1 PUSH1 0x1B PUSH4 0x7C4ACDD DUP6 PUSH4 0xFFFFFFFF AND PUSH2 0x19AB SWAP2 SWAP1 PUSH2 0x29F8 JUMP JUMPDEST PUSH4 0xFFFFFFFF AND SWAP1 SHR PUSH4 0xFFFFFFFF AND PUSH1 0x20 DUP2 LT PUSH2 0x19CA JUMPI PUSH2 0x19C9 PUSH2 0x2CDF JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD MLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x19DF PUSH2 0x1B44 JUMP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xD4DA69AC DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A38 SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1A50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1A64 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A8D SWAP2 SWAP1 PUSH2 0x20A6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xD2E87561 GASPRICE PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1AEF SWAP2 SWAP1 PUSH2 0x2794 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1B07 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B1B 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 0x1B3F SWAP2 SWAP1 PUSH2 0x211C JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B60 PUSH2 0x1B66 JUMP JUMPDEST DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH2 0x1B79 PUSH2 0x1BBF JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BF2 PUSH2 0x1BED DUP5 PUSH2 0x2818 JUMP JUMPDEST PUSH2 0x27F3 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1C0E JUMPI PUSH2 0x1C0D PUSH2 0x2D4C JUMP JUMPDEST JUMPDEST PUSH2 0x1C19 DUP5 DUP3 DUP6 PUSH2 0x2BDF JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C34 PUSH2 0x1C2F DUP5 PUSH2 0x2818 JUMP JUMPDEST PUSH2 0x27F3 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1C50 JUMPI PUSH2 0x1C4F PUSH2 0x2D4C JUMP JUMPDEST JUMPDEST PUSH2 0x1C5B DUP5 DUP3 DUP6 PUSH2 0x2BEE JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1C72 DUP2 PUSH2 0x2F0A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1C87 DUP2 PUSH2 0x2F21 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1C9C DUP2 PUSH2 0x2F38 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1CB1 DUP2 PUSH2 0x2F38 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1CCC JUMPI PUSH2 0x1CCB PUSH2 0x2D3D JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1CDC DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1BDF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1CFA JUMPI PUSH2 0x1CF9 PUSH2 0x2D3D JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x1D0A DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1C21 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1D22 DUP2 PUSH2 0x2F4F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1D37 DUP2 PUSH2 0x2F66 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D53 JUMPI PUSH2 0x1D52 PUSH2 0x2D42 JUMP JUMPDEST JUMPDEST PUSH2 0x1D5D PUSH1 0x40 PUSH2 0x27F3 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D7D JUMPI PUSH2 0x1D7C PUSH2 0x2D47 JUMP JUMPDEST JUMPDEST PUSH2 0x1D89 DUP5 DUP3 DUP6 ADD PUSH2 0x1CE5 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x1D9D DUP5 DUP3 DUP6 ADD PUSH2 0x1F10 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1DBF JUMPI PUSH2 0x1DBE PUSH2 0x2D42 JUMP JUMPDEST JUMPDEST PUSH2 0x1DC9 PUSH1 0xC0 PUSH2 0x27F3 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1DE9 JUMPI PUSH2 0x1DE8 PUSH2 0x2D47 JUMP JUMPDEST JUMPDEST PUSH2 0x1DF5 DUP5 DUP3 DUP6 ADD PUSH2 0x1D3D JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x1E09 DUP5 DUP3 DUP6 ADD PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 PUSH2 0x1E1D DUP5 DUP3 DUP6 ADD PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 PUSH2 0x1E31 DUP5 DUP3 DUP6 ADD PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 PUSH2 0x1E45 DUP5 DUP3 DUP6 ADD PUSH2 0x1F25 JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 PUSH2 0x1E59 DUP5 DUP3 DUP6 ADD PUSH2 0x1F25 JUMP JUMPDEST PUSH1 0xA0 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1E7B JUMPI PUSH2 0x1E7A PUSH2 0x2D42 JUMP JUMPDEST JUMPDEST PUSH2 0x1E85 PUSH1 0x40 PUSH2 0x27F3 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1E95 DUP5 DUP3 DUP6 ADD PUSH2 0x1C78 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1EB9 JUMPI PUSH2 0x1EB8 PUSH2 0x2D47 JUMP JUMPDEST JUMPDEST PUSH2 0x1EC5 DUP5 DUP3 DUP6 ADD PUSH2 0x1DA9 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1EE0 DUP2 PUSH2 0x2F76 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1EF5 DUP2 PUSH2 0x2F76 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1F0A DUP2 PUSH2 0x2F8D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1F1F DUP2 PUSH2 0x2F8D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1F34 DUP2 PUSH2 0x2FA4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1F49 DUP2 PUSH2 0x2FBB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1F65 JUMPI PUSH2 0x1F64 PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1F73 DUP5 DUP3 DUP6 ADD PUSH2 0x1C63 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1F92 JUMPI PUSH2 0x1F91 PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1FA0 DUP5 DUP3 DUP6 ADD PUSH2 0x1C78 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1FBF JUMPI PUSH2 0x1FBE PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1FCD DUP5 DUP3 DUP6 ADD PUSH2 0x1C8D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1FEC JUMPI PUSH2 0x1FEB PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1FFA DUP5 DUP3 DUP6 ADD PUSH2 0x1CA2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2019 JUMPI PUSH2 0x2018 PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2037 JUMPI PUSH2 0x2036 PUSH2 0x2D51 JUMP JUMPDEST JUMPDEST PUSH2 0x2043 DUP5 DUP3 DUP6 ADD PUSH2 0x1CB7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2062 JUMPI PUSH2 0x2061 PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2070 DUP5 DUP3 DUP6 ADD PUSH2 0x1D13 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x208F JUMPI PUSH2 0x208E PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x209D DUP5 DUP3 DUP6 ADD PUSH2 0x1D28 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x20BC JUMPI PUSH2 0x20BB PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x20DA JUMPI PUSH2 0x20D9 PUSH2 0x2D51 JUMP JUMPDEST JUMPDEST PUSH2 0x20E6 DUP5 DUP3 DUP6 ADD PUSH2 0x1E65 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2105 JUMPI PUSH2 0x2104 PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2113 DUP5 DUP3 DUP6 ADD PUSH2 0x1ED1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2132 JUMPI PUSH2 0x2131 PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2140 DUP5 DUP3 DUP6 ADD PUSH2 0x1EE6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2162 JUMPI PUSH2 0x2161 PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2170 DUP7 DUP3 DUP8 ADD PUSH2 0x1EFB JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x2181 DUP7 DUP3 DUP8 ADD PUSH2 0x1ED1 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x2192 DUP7 DUP3 DUP8 ADD PUSH2 0x1C8D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x21B5 JUMPI PUSH2 0x21B4 PUSH2 0x2D56 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x21C3 DUP7 DUP3 DUP8 ADD PUSH2 0x1EFB JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x21D4 DUP7 DUP3 DUP8 ADD PUSH2 0x1ED1 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x21E5 DUP7 DUP3 DUP8 ADD PUSH2 0x1ED1 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x21F8 DUP2 PUSH2 0x2ABA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2207 DUP2 PUSH2 0x2ADE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2216 DUP2 PUSH2 0x2ADE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2225 DUP2 PUSH2 0x2AEA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2236 DUP3 PUSH2 0x2849 JUMP JUMPDEST PUSH2 0x2240 DUP2 DUP6 PUSH2 0x2854 JUMP JUMPDEST SWAP4 POP PUSH2 0x2250 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2BEE JUMP JUMPDEST PUSH2 0x2259 DUP2 PUSH2 0x2D5B JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x226F DUP3 PUSH2 0x2849 JUMP JUMPDEST PUSH2 0x2279 DUP2 DUP6 PUSH2 0x2865 JUMP JUMPDEST SWAP4 POP PUSH2 0x2289 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2BEE JUMP JUMPDEST PUSH2 0x2292 DUP2 PUSH2 0x2D5B JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x22A6 DUP2 PUSH2 0x2B61 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x22B5 DUP2 PUSH2 0x2B73 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x22C4 DUP2 PUSH2 0x2B85 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x22D3 DUP2 PUSH2 0x2B97 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22E6 PUSH1 0x22 DUP4 PUSH2 0x2876 JUMP JUMPDEST SWAP2 POP PUSH2 0x22F1 DUP3 PUSH2 0x2D79 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2309 PUSH1 0x25 DUP4 PUSH2 0x2876 JUMP JUMPDEST SWAP2 POP PUSH2 0x2314 DUP3 PUSH2 0x2DC8 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x232C PUSH1 0x23 DUP4 PUSH2 0x2876 JUMP JUMPDEST SWAP2 POP PUSH2 0x2337 DUP3 PUSH2 0x2E17 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x234F PUSH1 0x1B DUP4 PUSH2 0x2876 JUMP JUMPDEST SWAP2 POP PUSH2 0x235A DUP3 PUSH2 0x2E66 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2372 PUSH1 0x18 DUP4 PUSH2 0x2876 JUMP JUMPDEST SWAP2 POP PUSH2 0x237D DUP3 PUSH2 0x2E8F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2395 PUSH1 0x20 DUP4 PUSH2 0x2876 JUMP JUMPDEST SWAP2 POP PUSH2 0x23A0 DUP3 PUSH2 0x2EB8 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23B8 PUSH1 0x17 DUP4 PUSH2 0x2876 JUMP JUMPDEST SWAP2 POP PUSH2 0x23C3 DUP3 PUSH2 0x2EE1 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x23EB DUP3 DUP3 PUSH2 0x222B JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x2400 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x24E0 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x2428 DUP3 DUP3 PUSH2 0x23CE JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x243D PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x250D JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x2450 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x250D JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x2463 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x250D JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x2476 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x24FE JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x2489 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x24FE JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x24AC PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x21FE JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x24C4 DUP3 DUP3 PUSH2 0x240B JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x24DA DUP2 PUSH2 0x2B26 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x24E9 DUP2 PUSH2 0x2B30 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x24F8 DUP2 PUSH2 0x2B30 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2507 DUP2 PUSH2 0x2B40 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2516 DUP2 PUSH2 0x2B54 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2531 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x21EF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x254C PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x21EF JUMP JUMPDEST PUSH2 0x2559 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x221C JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x2575 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x21EF JUMP JUMPDEST PUSH2 0x2582 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x24D1 JUMP JUMPDEST PUSH2 0x258F PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x24D1 JUMP JUMPDEST PUSH2 0x259C PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x24D1 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x25BA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x220D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x25D5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x221C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x25F0 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x221C JUMP JUMPDEST PUSH2 0x25FD PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x24D1 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x261E DUP2 DUP5 PUSH2 0x2264 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x263B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x229D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2656 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x22AC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2671 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x22BB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x268C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x22CA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x26AB DUP2 PUSH2 0x22D9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x26CB DUP2 PUSH2 0x22FC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x26EB DUP2 PUSH2 0x231F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x270B DUP2 PUSH2 0x2342 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x272B DUP2 PUSH2 0x2365 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x274B DUP2 PUSH2 0x2388 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x276B DUP2 PUSH2 0x23AB JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x278C DUP2 DUP5 PUSH2 0x2494 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x27A9 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x24D1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x27C4 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x24D1 JUMP JUMPDEST PUSH2 0x27D1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x221C JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x27ED PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x24EF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27FD PUSH2 0x280E JUMP JUMPDEST SWAP1 POP PUSH2 0x2809 DUP3 DUP3 PUSH2 0x2C21 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x2833 JUMPI PUSH2 0x2832 PUSH2 0x2D0E JUMP JUMPDEST JUMPDEST PUSH2 0x283C DUP3 PUSH2 0x2D5B JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP2 POP DUP4 SWAP1 POP JUMPDEST PUSH1 0x1 DUP6 GT ISZERO PUSH2 0x28D1 JUMPI DUP1 DUP7 DIV DUP2 GT ISZERO PUSH2 0x28AD JUMPI PUSH2 0x28AC PUSH2 0x2C81 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP6 AND ISZERO PUSH2 0x28BC JUMPI DUP1 DUP3 MUL SWAP2 POP JUMPDEST DUP1 DUP2 MUL SWAP1 POP PUSH2 0x28CA DUP6 PUSH2 0x2D6C JUMP JUMPDEST SWAP5 POP PUSH2 0x2891 JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28E5 DUP3 PUSH2 0x2B26 JUMP JUMPDEST SWAP2 POP PUSH2 0x28F0 DUP4 PUSH2 0x2B54 JUMP JUMPDEST SWAP3 POP PUSH2 0x291D PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 DUP5 PUSH2 0x2925 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2935 JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x29F1 JUMP JUMPDEST DUP2 PUSH2 0x2943 JUMPI PUSH1 0x0 SWAP1 POP PUSH2 0x29F1 JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x2959 JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x2963 JUMPI PUSH2 0x2992 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x29F1 JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x2975 JUMPI PUSH2 0x2974 PUSH2 0x2C81 JUMP JUMPDEST JUMPDEST DUP4 PUSH1 0x2 EXP SWAP2 POP DUP5 DUP3 GT ISZERO PUSH2 0x298C JUMPI PUSH2 0x298B PUSH2 0x2C81 JUMP JUMPDEST JUMPDEST POP PUSH2 0x29F1 JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x29C7 JUMPI DUP3 DUP3 EXP SWAP1 POP DUP4 DUP2 GT ISZERO PUSH2 0x29C2 JUMPI PUSH2 0x29C1 PUSH2 0x2C81 JUMP JUMPDEST JUMPDEST PUSH2 0x29F1 JUMP JUMPDEST PUSH2 0x29D4 DUP5 DUP5 DUP5 PUSH1 0x1 PUSH2 0x2887 JUMP JUMPDEST SWAP3 POP SWAP1 POP DUP2 DUP5 DIV DUP2 GT ISZERO PUSH2 0x29EB JUMPI PUSH2 0x29EA PUSH2 0x2C81 JUMP JUMPDEST JUMPDEST DUP2 DUP2 MUL SWAP1 POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A03 DUP3 PUSH2 0x2B26 JUMP JUMPDEST SWAP2 POP PUSH2 0x2A0E DUP4 PUSH2 0x2B26 JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x2A47 JUMPI PUSH2 0x2A46 PUSH2 0x2C81 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A5D DUP3 PUSH2 0x2B26 JUMP JUMPDEST SWAP2 POP PUSH2 0x2A68 DUP4 PUSH2 0x2B26 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x2A7B JUMPI PUSH2 0x2A7A PUSH2 0x2C81 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A91 DUP3 PUSH2 0x2B54 JUMP JUMPDEST SWAP2 POP PUSH2 0x2A9C DUP4 PUSH2 0x2B54 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x2AAF JUMPI PUSH2 0x2AAE PUSH2 0x2C81 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AC5 DUP3 PUSH2 0x2B06 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AD7 DUP3 PUSH2 0x2B06 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AFF DUP3 PUSH2 0x2ABA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B6C DUP3 PUSH2 0x2BA9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B7E DUP3 PUSH2 0x2BA9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B90 DUP3 PUSH2 0x2BBB JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BA2 DUP3 PUSH2 0x2BA9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BB4 DUP3 PUSH2 0x2BCD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BC6 DUP3 PUSH2 0x2BCD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BD8 DUP3 PUSH2 0x2B06 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2C0C JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2BF1 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x2C1B JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x2C2A DUP3 PUSH2 0x2D5B JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x2C49 JUMPI PUSH2 0x2C48 PUSH2 0x2D0E JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 SHR SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x5769746E657452616E646F6D6E6573733A206661756C74792072616E646F6D69 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7A65000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452616E646F6D6E6573733A20616C726561647920696E69746961 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6C697A6564000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452616E646F6D6E6573733A2070656E64696E672072616E646F6D PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x697A650000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5573696E675769746E65743A2072657761726420746F6F206C6F770000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436C6F6E61626C653A2043524541544532206661696C65640000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452616E646F6D6E6573733A206E6F742072616E646F6D697A6564 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436C6F6E61626C653A20435245415445206661696C6564000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x2F13 DUP2 PUSH2 0x2ACC JUMP JUMPDEST DUP2 EQ PUSH2 0x2F1E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2F2A DUP2 PUSH2 0x2ADE JUMP JUMPDEST DUP2 EQ PUSH2 0x2F35 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2F41 DUP2 PUSH2 0x2AEA JUMP JUMPDEST DUP2 EQ PUSH2 0x2F4C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2F58 DUP2 PUSH2 0x2AF4 JUMP JUMPDEST DUP2 EQ PUSH2 0x2F63 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0x2F73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2F7F DUP2 PUSH2 0x2B26 JUMP JUMPDEST DUP2 EQ PUSH2 0x2F8A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2F96 DUP2 PUSH2 0x2B30 JUMP JUMPDEST DUP2 EQ PUSH2 0x2FA1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2FAD DUP2 PUSH2 0x2B40 JUMP JUMPDEST DUP2 EQ PUSH2 0x2FB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2FC4 DUP2 PUSH2 0x2B54 JUMP JUMPDEST DUP2 EQ PUSH2 0x2FCF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DELEGATECALL PUSH10 0x1B938720C3E8F10B1B6D 0x4C NOT 0xBD 0xF6 0xF6 PUSH20 0xF6BCD601A4AEE2842C50207E6BAA64736F6C6343 STOP ADDMOD SMOD STOP CALLER ","sourceMap":"362:14356:31:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11169:176;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6666:382;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5195:396;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;466:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4584:355;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12264:362;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;341:42:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8478:1226:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;310:45:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;526:44:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5796:314;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;522:134:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2157:442:31;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;1297:180;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11743:220;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10197:433;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7493;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3418:887;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11169:176;11243:21;11295:13;:11;:13::i;:::-;11280:28;;11318:20;11325:12;11318:6;:20::i;:::-;11169:176;:::o;6666:382::-;6793:6;6822:219;6842:6;6862;6941:10;6973:26;6992:6;6973:18;:26::i;:::-;6909:108;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6882:149;;;;;;6822:6;:219::i;:::-;6815:226;;6666:382;;;;;:::o;5195:396::-;5305:7;5344:1;5335:6;:10;5328:18;;;;:::i;:::-;;5356:15;5374:20;;5356:38;;5422:7;5413:6;:16;5412:162;;5517:57;5534:6;5542:12;:21;5555:7;5542:21;;;;;;;;;;;:31;;;5517:16;:57::i;:::-;5412:162;;;5445:7;5412:162;5404:180;;;5195:396;;;:::o;466:54::-;;;;;;;;;;;;:::o;4584:355::-;4694:7;4763:1;4726:39;;:12;:20;4739:6;4726:20;;;;;;;;;;;:25;;;;;;;;;;;;:39;;;;4725:197;;4876:46;4893:6;4901:20;;4876:16;:46::i;:::-;4725:197;;;4781:12;:20;4794:6;4781:20;;;;;;;;;;;:30;;;4725:197;4717:215;;4584:355;;;:::o;12264:362::-;12414:1;12370:46;;12378:23;;;;;;;;;;12370:46;;;12362:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;12559:9;12531:78;;;;;;;;;;;;:::i;:::-;12468:23;;:151;;;;;;;;;;;;;;;;;;12264:362;:::o;341:42:29:-;;;:::o;8478:1226:31:-;8566:18;8627:12;8604:20;;:35;8600:1098;;;8706:13;8758:43;8777:23;;;;;;;;;;8758:18;:43::i;:::-;8733:68;;;;;;;;8862:27;8892:12;:26;8905:12;8892:26;;;;;;;;;;;8862:56;;8954:8;8932:5;:19;;:30;;;;8989:10;8976:5;:10;;;:23;;;;;;;;;;;;;;;;;;9048:18;9069:20;;9048:41;;9121:10;9103:5;:15;;:28;;;;9182:12;9145;:24;9158:10;9145:24;;;;;;;;;;;:34;;:49;;;;9231:12;9208:20;:35;;;;9346:10;9318;9290:154;;;9374:8;9400:23;;;;;;;;;;:28;;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9290:154;;;;;;;:::i;:::-;;;;;;;;9521:9;9508:10;:22;9504:113;;;9558:10;9550:28;;:52;9591:10;9579:9;:22;;;;:::i;:::-;9550:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9504:113;8641:986;;;8600:1098;;;9654:33;9674:12;9654:19;:33::i;:::-;9647:40;;;;8600:1098;8478:1226;;:::o;310:45:55:-;;;:::o;526:44:31:-;;;;:::o;5796:314::-;5896:4;5916:27;5946:12;:20;5959:6;5946:20;;;;;;;;;;;5916:50;;6020:1;5997:5;:19;;;:24;;:96;;;;;6042:51;6073:5;:19;;;6042:30;:51::i;:::-;5997:96;5976:127;;;5796:314;;;:::o;522:134:55:-;577:4;635;618:21;;626:4;618:21;;;;597:52;;522:134;:::o;2157:442:31:-;2276:13;2303:11;2328:18;2360;2403:27;2433:12;:20;2446:6;2433:20;;;;;;;;;;;2403:50;;2469:5;:19;;;2463:25;;2506:5;:10;;;;;;;;;;;;2498:18;;2539:5;:15;;;2526:28;;2577:5;:15;;;2564:28;;2393:206;2157:442;;;;;:::o;1297:180::-;1408:7;1438:32;1460:9;1438:21;:32::i;:::-;1431:39;;1297:180;;;:::o;11743:220::-;11843:21;11895:31;11920:5;11895:24;:31::i;:::-;11880:46;;11936:20;11943:12;11936:6;:20::i;:::-;11743:220;;;:::o;10197:433::-;10307:18;10341:27;10371:12;:20;10384:6;10371:20;;;;;;;;;;;10341:50;;10428:1;10405:5;:19;;;:24;10401:109;;10458:41;10479:5;:19;;;10458:20;:41::i;:::-;10445:54;;10401:109;10536:9;10523:10;:22;10519:105;;;10569:10;10561:28;;:52;10602:10;10590:9;:22;;;;:::i;:::-;10561:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10519:105;10331:299;10197:433;;;:::o;7493:::-;7617:6;7639:15;7669:22;7684:6;7669:14;:22::i;:::-;7663:3;:28;;;;:::i;:::-;7639:53;;7702:15;7861:1;7849:9;7844:1;:14;;;;:::i;:::-;:18;;;;:::i;:::-;7787:5;7794:6;7776:25;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7745:74;;;;;;7720:113;;:143;7702:161;;7909:9;7887:31;;7898:6;7888:16;;:7;:16;;;;:::i;:::-;7887:31;;7873:46;;;;7493:433;;;;;:::o;3418:887::-;3524:7;3588:1;3551:39;;:12;:20;3564:6;3551:20;;;;;;;;;;;:25;;;;;;;;;;;;:39;;;3547:109;;;3615:30;3638:6;3615:22;:30::i;:::-;3606:39;;3547:109;3665:16;3684:12;:20;3697:6;3684:20;;;;;;;;;;;:34;;;3665:53;;3748:1;3736:8;:13;;3728:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;3804:40;3835:8;3804:30;:40::i;:::-;3796:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;3894:34;3931:27;3949:8;3931:17;:27::i;:::-;3894:64;;3972:6;:11;;;3984:13;3972:26;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3968:331;;;4021:6;:16;;;4038:13;4021:31;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4014:38;;;;;;3968:331;4083:27;4113:12;:20;4126:6;4113:20;;;;;;;;;;;:30;;;4083:60;;4188:1;4165:19;:24;;4157:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;4249:39;4268:19;4249:18;:39::i;:::-;4242:46;;;;;3418:887;;;;:::o;1102:870:55:-;1159:18;1193:13;1209:4;1193:20;;1295:4;1289:11;1383:66;1378:3;1371:79;1562:5;1556:4;1552:16;1545:4;1540:3;1536:14;1529:40;1661:66;1654:4;1649:3;1645:14;1638:90;1805:4;1800:3;1797:1;1790:20;1777:33;;1232:588;1875:1;1845:32;;1853:9;1845:32;;;;1837:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1955:9;1920:45;;1948:4;1920:45;;1927:10;1920:45;;;;;;;;;;;;1183:789;1102:870;:::o;12954:230:31:-;13009:16;13036:23;;;;;;;;;;;:29;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13009:59;;13086:8;13078:35;;;13114:10;13078:47;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13135:9;:20;;;13167:8;13156:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;13135:42;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12999:185;12954:230;:::o;14475:241::-;14558:7;14596;14586;:17;14585:114;;14641:58;14658:7;14667:12;:21;14680:7;14667:21;;;;;;;;;;;:31;;;14641:16;:58::i;:::-;14585:114;;;14619:7;14585:114;14577:132;;14475:241;;;;:::o;14022:267::-;14105:7;14144;14133;:18;;14132:140;;14214:58;14231:7;14240:12;:21;14253:7;14240:21;;;;;;;;;;;:31;;;14214:16;:58::i;:::-;14132:140;;;14168:12;:21;14181:7;14168:21;;;;;;;;;;;:31;;;14132:140;14124:158;;14022:267;;;;:::o;2908:351:29:-;3011:11;3024:15;3065:23;:21;:23::i;:::-;3055:33;;3130:9;3119:7;:20;;3098:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;3208:6;:18;;;3234:7;3243:8;3208:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3202:50;;2908:351;;;:::o;1558:199::-;1666:4;1723:27;1693:57;;;;;;;;:::i;:::-;;:6;:21;;;1715:3;1693:26;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:57;;;;;;;;:::i;:::-;;;1686:64;;1558:199;;;:::o;2013:174::-;2118:7;2148:6;:21;;;2170:9;2148:32;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2141:39;;2013:174;;;:::o;2520:840:55:-;2603:18;2637:13;2653:4;2637:20;;2739:4;2733:11;2769:66;2764:3;2757:79;2948:5;2942:4;2938:16;2931:4;2926:3;2922:14;2915:40;3047:66;3040:4;3035:3;3031:14;3024:90;3199:5;3193:4;3188:3;3185:1;3177:28;3164:41;;2676:539;3262:1;3232:32;;3240:9;3232:32;;;;3224:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;3343:9;3308:45;;3336:4;3308:45;;3315:10;3308:45;;;;;;;;;;;;2627:733;2520:840;;;:::o;3581:500:29:-;3674:7;3697:22;3722:6;:24;;;3747:3;3722:29;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3697:54;;3769:18;3790:23;:21;:23::i;:::-;3769:44;;3823:19;3873:14;3860:10;:27;3856:101;;;3931:14;3918:10;:27;;;;:::i;:::-;3903:43;;3856:101;3966:6;:20;;;3994:11;4007:3;3966:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4063:11;4056:18;;;;;3581:500;;;:::o;13301:537:31:-;13375:5;13396:29;:228;;;;;;;;13446:1;13396:228;;;;;;13449:1;13396:228;;;;;;13452:1;13396:228;;;;;;13455:2;13396:228;;;;;;13459:2;13396:228;;;;;;13463:2;13396:228;;;;;;13467:1;13396:228;;;;;;13470:2;13396:228;;;;;;13490:2;13396:228;;;;;;13494:2;13396:228;;;;;;13498:2;13396:228;;;;;;13502:2;13396:228;;;;;;13506:2;13396:228;;;;;;13510:2;13396:228;;;;;;13514:1;13396:228;;;;;;13517:2;13396:228;;;;;;13537:1;13396:228;;;;;;13540:2;13396:228;;;;;;13544:2;13396:228;;;;;;13548:2;13396:228;;;;;;13552:2;13396:228;;;;;;13556:2;13396:228;;;;;;13560:2;13396:228;;;;;;13564:1;13396:228;;;;;;13583:2;13396:228;;;;;;13587:2;13396:228;;;;;;13591:2;13396:228;;;;;;13595:1;13396:228;;;;;;13598:2;13396:228;;;;;;13602:1;13396:228;;;;;;13605:1;13396:228;;;;;;13608:2;13396:228;;;;;;;13646:1;13640:2;:7;;;;13634:13;;;;13669:1;13663:2;:7;;;;13657:13;;;;13692:1;13686:2;:7;;;;13680:13;;;;13715:1;13709:2;:7;;;;13703:13;;;;13738:2;13732;:8;;;;13726:14;;;;13757:12;13819:2;13803:10;13790:2;:24;;;;;;:::i;:::-;13783:38;;;;13757:74;;;;;;;;;:::i;:::-;;;;;;13750:81;;;13301:537;;;:::o;4317:175:29:-;4412:20;;:::i;:::-;4455:6;:25;;;4481:3;4455:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4448:37;;4317:175;;;:::o;2402:159::-;2490:7;2520:6;:21;;;2542:11;2520:34;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2513:41;;2402:159;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:410:67:-;84:5;109:65;125:48;166:6;125:48;:::i;:::-;109:65;:::i;:::-;100:74;;197:6;190:5;183:21;235:4;228:5;224:16;273:3;264:6;259:3;255:16;252:25;249:112;;;280:79;;:::i;:::-;249:112;370:41;404:6;399:3;394;370:41;:::i;:::-;90:327;7:410;;;;;:::o;423:419::-;511:5;536:65;552:48;593:6;552:48;:::i;:::-;536:65;:::i;:::-;527:74;;624:6;617:5;610:21;662:4;655:5;651:16;700:3;691:6;686:3;682:16;679:25;676:112;;;707:79;;:::i;:::-;676:112;797:39;829:6;824:3;819;797:39;:::i;:::-;517:325;423:419;;;;;:::o;848:159::-;913:5;944:6;938:13;929:22;;960:41;995:5;960:41;:::i;:::-;848:159;;;;:::o;1013:137::-;1067:5;1098:6;1092:13;1083:22;;1114:30;1138:5;1114:30;:::i;:::-;1013:137;;;;:::o;1156:139::-;1202:5;1240:6;1227:20;1218:29;;1256:33;1283:5;1256:33;:::i;:::-;1156:139;;;;:::o;1301:143::-;1358:5;1389:6;1383:13;1374:22;;1405:33;1432:5;1405:33;:::i;:::-;1301:143;;;;:::o;1463:338::-;1518:5;1567:3;1560:4;1552:6;1548:17;1544:27;1534:122;;1575:79;;:::i;:::-;1534:122;1692:6;1679:20;1717:78;1791:3;1783:6;1776:4;1768:6;1764:17;1717:78;:::i;:::-;1708:87;;1524:277;1463:338;;;;:::o;1820:353::-;1886:5;1935:3;1928:4;1920:6;1916:17;1912:27;1902:122;;1943:79;;:::i;:::-;1902:122;2053:6;2047:13;2078:89;2163:3;2155:6;2148:4;2140:6;2136:17;2078:89;:::i;:::-;2069:98;;1892:281;1820:353;;;;:::o;2179:179::-;2254:5;2285:6;2279:13;2270:22;;2301:51;2346:5;2301:51;:::i;:::-;2179:179;;;;:::o;2364:175::-;2437:5;2468:6;2462:13;2453:22;;2484:49;2527:5;2484:49;:::i;:::-;2364:175;;;;:::o;2573:769::-;2657:5;2701:4;2689:9;2684:3;2680:19;2676:30;2673:117;;;2709:79;;:::i;:::-;2673:117;2808:21;2824:4;2808:21;:::i;:::-;2799:30;;2909:1;2898:9;2894:17;2888:24;2939:18;2931:6;2928:30;2925:117;;;2961:79;;:::i;:::-;2925:117;3081:69;3146:3;3137:6;3126:9;3122:22;3081:69;:::i;:::-;3074:4;3067:5;3063:16;3056:95;2839:323;3223:2;3264:59;3319:3;3310:6;3299:9;3295:22;3264:59;:::i;:::-;3257:4;3250:5;3246:16;3239:85;3172:163;2573:769;;;;:::o;3374:1492::-;3456:5;3500:4;3488:9;3483:3;3479:19;3475:30;3472:117;;;3508:79;;:::i;:::-;3472:117;3607:21;3623:4;3607:21;:::i;:::-;3598:30;;3710:1;3699:9;3695:17;3689:24;3740:18;3732:6;3729:30;3726:117;;;3762:79;;:::i;:::-;3726:117;3882:84;3962:3;3953:6;3942:9;3938:22;3882:84;:::i;:::-;3875:4;3868:5;3864:16;3857:110;3638:340;4044:2;4085:58;4139:3;4130:6;4119:9;4115:22;4085:58;:::i;:::-;4078:4;4071:5;4067:16;4060:84;3988:167;4219:2;4260:58;4314:3;4305:6;4294:9;4290:22;4260:58;:::i;:::-;4253:4;4246:5;4242:16;4235:84;4165:165;4406:2;4447:58;4501:3;4492:6;4481:9;4477:22;4447:58;:::i;:::-;4440:4;4433:5;4429:16;4422:84;4340:177;4575:3;4617:59;4672:3;4663:6;4652:9;4648:22;4617:59;:::i;:::-;4610:4;4603:5;4599:16;4592:85;4527:161;4746:3;4788:59;4843:3;4834:6;4823:9;4819:22;4788:59;:::i;:::-;4781:4;4774:5;4770:16;4763:85;4698:161;3374:1492;;;;:::o;4900:782::-;4984:5;5028:4;5016:9;5011:3;5007:19;5003:30;5000:117;;;5036:79;;:::i;:::-;5000:117;5135:21;5151:4;5135:21;:::i;:::-;5126:30;;5218:1;5258:57;5311:3;5302:6;5291:9;5287:22;5258:57;:::i;:::-;5251:4;5244:5;5240:16;5233:83;5166:161;5408:2;5397:9;5393:18;5387:25;5439:18;5431:6;5428:30;5425:117;;;5461:79;;:::i;:::-;5425:117;5581:82;5659:3;5650:6;5639:9;5635:22;5581:82;:::i;:::-;5574:4;5567:5;5563:16;5556:108;5337:338;4900:782;;;;:::o;5688:139::-;5734:5;5772:6;5759:20;5750:29;;5788:33;5815:5;5788:33;:::i;:::-;5688:139;;;;:::o;5833:143::-;5890:5;5921:6;5915:13;5906:22;;5937:33;5964:5;5937:33;:::i;:::-;5833:143;;;;:::o;5982:137::-;6027:5;6065:6;6052:20;6043:29;;6081:32;6107:5;6081:32;:::i;:::-;5982:137;;;;:::o;6125:141::-;6181:5;6212:6;6206:13;6197:22;;6228:32;6254:5;6228:32;:::i;:::-;6125:141;;;;:::o;6272:::-;6328:5;6359:6;6353:13;6344:22;;6375:32;6401:5;6375:32;:::i;:::-;6272:141;;;;:::o;6419:139::-;6474:5;6505:6;6499:13;6490:22;;6521:31;6546:5;6521:31;:::i;:::-;6419:139;;;;:::o;6564:367::-;6642:6;6691:2;6679:9;6670:7;6666:23;6662:32;6659:119;;;6697:79;;:::i;:::-;6659:119;6817:1;6842:72;6906:7;6897:6;6886:9;6882:22;6842:72;:::i;:::-;6832:82;;6788:136;6564:367;;;;:::o;6937:345::-;7004:6;7053:2;7041:9;7032:7;7028:23;7024:32;7021:119;;;7059:79;;:::i;:::-;7021:119;7179:1;7204:61;7257:7;7248:6;7237:9;7233:22;7204:61;:::i;:::-;7194:71;;7150:125;6937:345;;;;:::o;7288:329::-;7347:6;7396:2;7384:9;7375:7;7371:23;7367:32;7364:119;;;7402:79;;:::i;:::-;7364:119;7522:1;7547:53;7592:7;7583:6;7572:9;7568:22;7547:53;:::i;:::-;7537:63;;7493:117;7288:329;;;;:::o;7623:351::-;7693:6;7742:2;7730:9;7721:7;7717:23;7713:32;7710:119;;;7748:79;;:::i;:::-;7710:119;7868:1;7893:64;7949:7;7940:6;7929:9;7925:22;7893:64;:::i;:::-;7883:74;;7839:128;7623:351;;;;:::o;7980:507::-;8048:6;8097:2;8085:9;8076:7;8072:23;8068:32;8065:119;;;8103:79;;:::i;:::-;8065:119;8251:1;8240:9;8236:17;8223:31;8281:18;8273:6;8270:30;8267:117;;;8303:79;;:::i;:::-;8267:117;8408:62;8462:7;8453:6;8442:9;8438:22;8408:62;:::i;:::-;8398:72;;8194:286;7980:507;;;;:::o;8493:387::-;8581:6;8630:2;8618:9;8609:7;8605:23;8601:32;8598:119;;;8636:79;;:::i;:::-;8598:119;8756:1;8781:82;8855:7;8846:6;8835:9;8831:22;8781:82;:::i;:::-;8771:92;;8727:146;8493:387;;;;:::o;8886:383::-;8972:6;9021:2;9009:9;9000:7;8996:23;8992:32;8989:119;;;9027:79;;:::i;:::-;8989:119;9147:1;9172:80;9244:7;9235:6;9224:9;9220:22;9172:80;:::i;:::-;9162:90;;9118:144;8886:383;;;;:::o;9275:552::-;9369:6;9418:2;9406:9;9397:7;9393:23;9389:32;9386:119;;;9424:79;;:::i;:::-;9386:119;9565:1;9554:9;9550:17;9544:24;9595:18;9587:6;9584:30;9581:117;;;9617:79;;:::i;:::-;9581:117;9722:88;9802:7;9793:6;9782:9;9778:22;9722:88;:::i;:::-;9712:98;;9515:305;9275:552;;;;:::o;9833:329::-;9892:6;9941:2;9929:9;9920:7;9916:23;9912:32;9909:119;;;9947:79;;:::i;:::-;9909:119;10067:1;10092:53;10137:7;10128:6;10117:9;10113:22;10092:53;:::i;:::-;10082:63;;10038:117;9833:329;;;;:::o;10168:351::-;10238:6;10287:2;10275:9;10266:7;10262:23;10258:32;10255:119;;;10293:79;;:::i;:::-;10255:119;10413:1;10438:64;10494:7;10485:6;10474:9;10470:22;10438:64;:::i;:::-;10428:74;;10384:128;10168:351;;;;:::o;10525:617::-;10601:6;10609;10617;10666:2;10654:9;10645:7;10641:23;10637:32;10634:119;;;10672:79;;:::i;:::-;10634:119;10792:1;10817:52;10861:7;10852:6;10841:9;10837:22;10817:52;:::i;:::-;10807:62;;10763:116;10918:2;10944:53;10989:7;10980:6;10969:9;10965:22;10944:53;:::i;:::-;10934:63;;10889:118;11046:2;11072:53;11117:7;11108:6;11097:9;11093:22;11072:53;:::i;:::-;11062:63;;11017:118;10525:617;;;;;:::o;11148:::-;11224:6;11232;11240;11289:2;11277:9;11268:7;11264:23;11260:32;11257:119;;;11295:79;;:::i;:::-;11257:119;11415:1;11440:52;11484:7;11475:6;11464:9;11460:22;11440:52;:::i;:::-;11430:62;;11386:116;11541:2;11567:53;11612:7;11603:6;11592:9;11588:22;11567:53;:::i;:::-;11557:63;;11512:118;11669:2;11695:53;11740:7;11731:6;11720:9;11716:22;11695:53;:::i;:::-;11685:63;;11640:118;11148:617;;;;;:::o;11771:118::-;11858:24;11876:5;11858:24;:::i;:::-;11853:3;11846:37;11771:118;;:::o;11895:99::-;11966:21;11981:5;11966:21;:::i;:::-;11961:3;11954:34;11895:99;;:::o;12000:109::-;12081:21;12096:5;12081:21;:::i;:::-;12076:3;12069:34;12000:109;;:::o;12115:118::-;12202:24;12220:5;12202:24;:::i;:::-;12197:3;12190:37;12115:118;;:::o;12239:340::-;12315:3;12343:38;12375:5;12343:38;:::i;:::-;12397:60;12450:6;12445:3;12397:60;:::i;:::-;12390:67;;12466:52;12511:6;12506:3;12499:4;12492:5;12488:16;12466:52;:::i;:::-;12543:29;12565:6;12543:29;:::i;:::-;12538:3;12534:39;12527:46;;12319:260;12239:340;;;;:::o;12585:360::-;12671:3;12699:38;12731:5;12699:38;:::i;:::-;12753:70;12816:6;12811:3;12753:70;:::i;:::-;12746:77;;12832:52;12877:6;12872:3;12865:4;12858:5;12854:16;12832:52;:::i;:::-;12909:29;12931:6;12909:29;:::i;:::-;12904:3;12900:39;12893:46;;12675:270;12585:360;;;;:::o;12951:167::-;13056:55;13105:5;13056:55;:::i;:::-;13051:3;13044:68;12951:167;;:::o;13124:177::-;13234:60;13288:5;13234:60;:::i;:::-;13229:3;13222:73;13124:177;;:::o;13307:201::-;13429:72;13495:5;13429:72;:::i;:::-;13424:3;13417:85;13307:201;;:::o;13514:197::-;13634:70;13698:5;13634:70;:::i;:::-;13629:3;13622:83;13514:197;;:::o;13717:366::-;13859:3;13880:67;13944:2;13939:3;13880:67;:::i;:::-;13873:74;;13956:93;14045:3;13956:93;:::i;:::-;14074:2;14069:3;14065:12;14058:19;;13717:366;;;:::o;14089:::-;14231:3;14252:67;14316:2;14311:3;14252:67;:::i;:::-;14245:74;;14328:93;14417:3;14328:93;:::i;:::-;14446:2;14441:3;14437:12;14430:19;;14089:366;;;:::o;14461:::-;14603:3;14624:67;14688:2;14683:3;14624:67;:::i;:::-;14617:74;;14700:93;14789:3;14700:93;:::i;:::-;14818:2;14813:3;14809:12;14802:19;;14461:366;;;:::o;14833:::-;14975:3;14996:67;15060:2;15055:3;14996:67;:::i;:::-;14989:74;;15072:93;15161:3;15072:93;:::i;:::-;15190:2;15185:3;15181:12;15174:19;;14833:366;;;:::o;15205:::-;15347:3;15368:67;15432:2;15427:3;15368:67;:::i;:::-;15361:74;;15444:93;15533:3;15444:93;:::i;:::-;15562:2;15557:3;15553:12;15546:19;;15205:366;;;:::o;15577:::-;15719:3;15740:67;15804:2;15799:3;15740:67;:::i;:::-;15733:74;;15816:93;15905:3;15816:93;:::i;:::-;15934:2;15929:3;15925:12;15918:19;;15577:366;;;:::o;15949:::-;16091:3;16112:67;16176:2;16171:3;16112:67;:::i;:::-;16105:74;;16188:93;16277:3;16188:93;:::i;:::-;16306:2;16301:3;16297:12;16290:19;;15949:366;;;:::o;16373:592::-;16480:3;16516:4;16511:3;16507:14;16603:4;16596:5;16592:16;16586:23;16656:3;16650:4;16646:14;16639:4;16634:3;16630:14;16623:38;16682:71;16748:4;16734:12;16682:71;:::i;:::-;16674:79;;16531:233;16848:4;16841:5;16837:16;16831:23;16867:61;16922:4;16917:3;16913:14;16899:12;16867:61;:::i;:::-;16774:164;16955:4;16948:11;;16485:480;16373:592;;;;:::o;17019:1327::-;17122:3;17158:4;17153:3;17149:14;17247:4;17240:5;17236:16;17230:23;17300:3;17294:4;17290:14;17283:4;17278:3;17274:14;17267:38;17326:101;17422:4;17408:12;17326:101;:::i;:::-;17318:109;;17173:265;17527:4;17520:5;17516:16;17510:23;17546:59;17599:4;17594:3;17590:14;17576:12;17546:59;:::i;:::-;17448:167;17702:4;17695:5;17691:16;17685:23;17721:59;17774:4;17769:3;17765:14;17751:12;17721:59;:::i;:::-;17625:165;17889:4;17882:5;17878:16;17872:23;17908:59;17961:4;17956:3;17952:14;17938:12;17908:59;:::i;:::-;17800:177;18058:4;18051:5;18047:16;18041:23;18077:61;18132:4;18127:3;18123:14;18109:12;18077:61;:::i;:::-;17987:161;18229:4;18222:5;18218:16;18212:23;18248:61;18303:4;18298:3;18294:14;18280:12;18248:61;:::i;:::-;18158:161;18336:4;18329:11;;17127:1219;17019:1327;;;;:::o;18404:626::-;18521:3;18557:4;18552:3;18548:14;18647:4;18640:5;18636:16;18630:23;18666:57;18717:4;18712:3;18708:14;18694:12;18666:57;:::i;:::-;18572:161;18816:4;18809:5;18805:16;18799:23;18869:3;18863:4;18859:14;18852:4;18847:3;18843:14;18836:38;18895:97;18987:4;18973:12;18895:97;:::i;:::-;18887:105;;18743:260;19020:4;19013:11;;18526:504;18404:626;;;;:::o;19036:118::-;19123:24;19141:5;19123:24;:::i;:::-;19118:3;19111:37;19036:118;;:::o;19160:105::-;19235:23;19252:5;19235:23;:::i;:::-;19230:3;19223:36;19160:105;;:::o;19271:115::-;19356:23;19373:5;19356:23;:::i;:::-;19351:3;19344:36;19271:115;;:::o;19392:105::-;19467:23;19484:5;19467:23;:::i;:::-;19462:3;19455:36;19392:105;;:::o;19503:102::-;19576:22;19592:5;19576:22;:::i;:::-;19571:3;19564:35;19503:102;;:::o;19611:222::-;19704:4;19742:2;19731:9;19727:18;19719:26;;19755:71;19823:1;19812:9;19808:17;19799:6;19755:71;:::i;:::-;19611:222;;;;:::o;19839:332::-;19960:4;19998:2;19987:9;19983:18;19975:26;;20011:71;20079:1;20068:9;20064:17;20055:6;20011:71;:::i;:::-;20092:72;20160:2;20149:9;20145:18;20136:6;20092:72;:::i;:::-;19839:332;;;;;:::o;20177:553::-;20354:4;20392:3;20381:9;20377:19;20369:27;;20406:71;20474:1;20463:9;20459:17;20450:6;20406:71;:::i;:::-;20487:72;20555:2;20544:9;20540:18;20531:6;20487:72;:::i;:::-;20569;20637:2;20626:9;20622:18;20613:6;20569:72;:::i;:::-;20651;20719:2;20708:9;20704:18;20695:6;20651:72;:::i;:::-;20177:553;;;;;;;:::o;20736:210::-;20823:4;20861:2;20850:9;20846:18;20838:26;;20874:65;20936:1;20925:9;20921:17;20912:6;20874:65;:::i;:::-;20736:210;;;;:::o;20952:222::-;21045:4;21083:2;21072:9;21068:18;21060:26;;21096:71;21164:1;21153:9;21149:17;21140:6;21096:71;:::i;:::-;20952:222;;;;:::o;21180:332::-;21301:4;21339:2;21328:9;21324:18;21316:26;;21352:71;21420:1;21409:9;21405:17;21396:6;21352:71;:::i;:::-;21433:72;21501:2;21490:9;21486:18;21477:6;21433:72;:::i;:::-;21180:332;;;;;:::o;21518:309::-;21629:4;21667:2;21656:9;21652:18;21644:26;;21716:9;21710:4;21706:20;21702:1;21691:9;21687:17;21680:47;21744:76;21815:4;21806:6;21744:76;:::i;:::-;21736:84;;21518:309;;;;:::o;21833:258::-;21944:4;21982:2;21971:9;21967:18;21959:26;;21995:89;22081:1;22070:9;22066:17;22057:6;21995:89;:::i;:::-;21833:258;;;;:::o;22097:268::-;22213:4;22251:2;22240:9;22236:18;22228:26;;22264:94;22355:1;22344:9;22340:17;22331:6;22264:94;:::i;:::-;22097:268;;;;:::o;22371:292::-;22499:4;22537:2;22526:9;22522:18;22514:26;;22550:106;22653:1;22642:9;22638:17;22629:6;22550:106;:::i;:::-;22371:292;;;;:::o;22669:288::-;22795:4;22833:2;22822:9;22818:18;22810:26;;22846:104;22947:1;22936:9;22932:17;22923:6;22846:104;:::i;:::-;22669:288;;;;:::o;22963:419::-;23129:4;23167:2;23156:9;23152:18;23144:26;;23216:9;23210:4;23206:20;23202:1;23191:9;23187:17;23180:47;23244:131;23370:4;23244:131;:::i;:::-;23236:139;;22963:419;;;:::o;23388:::-;23554:4;23592:2;23581:9;23577:18;23569:26;;23641:9;23635:4;23631:20;23627:1;23616:9;23612:17;23605:47;23669:131;23795:4;23669:131;:::i;:::-;23661:139;;23388:419;;;:::o;23813:::-;23979:4;24017:2;24006:9;24002:18;23994:26;;24066:9;24060:4;24056:20;24052:1;24041:9;24037:17;24030:47;24094:131;24220:4;24094:131;:::i;:::-;24086:139;;23813:419;;;:::o;24238:::-;24404:4;24442:2;24431:9;24427:18;24419:26;;24491:9;24485:4;24481:20;24477:1;24466:9;24462:17;24455:47;24519:131;24645:4;24519:131;:::i;:::-;24511:139;;24238:419;;;:::o;24663:::-;24829:4;24867:2;24856:9;24852:18;24844:26;;24916:9;24910:4;24906:20;24902:1;24891:9;24887:17;24880:47;24944:131;25070:4;24944:131;:::i;:::-;24936:139;;24663:419;;;:::o;25088:::-;25254:4;25292:2;25281:9;25277:18;25269:26;;25341:9;25335:4;25331:20;25327:1;25316:9;25312:17;25305:47;25369:131;25495:4;25369:131;:::i;:::-;25361:139;;25088:419;;;:::o;25513:::-;25679:4;25717:2;25706:9;25702:18;25694:26;;25766:9;25760:4;25756:20;25752:1;25741:9;25737:17;25730:47;25794:131;25920:4;25794:131;:::i;:::-;25786:139;;25513:419;;;:::o;25938:369::-;26079:4;26117:2;26106:9;26102:18;26094:26;;26166:9;26160:4;26156:20;26152:1;26141:9;26137:17;26130:47;26194:106;26295:4;26286:6;26194:106;:::i;:::-;26186:114;;25938:369;;;;:::o;26313:222::-;26406:4;26444:2;26433:9;26429:18;26421:26;;26457:71;26525:1;26514:9;26510:17;26501:6;26457:71;:::i;:::-;26313:222;;;;:::o;26541:332::-;26662:4;26700:2;26689:9;26685:18;26677:26;;26713:71;26781:1;26770:9;26766:17;26757:6;26713:71;:::i;:::-;26794:72;26862:2;26851:9;26847:18;26838:6;26794:72;:::i;:::-;26541:332;;;;;:::o;26879:218::-;26970:4;27008:2;26997:9;26993:18;26985:26;;27021:69;27087:1;27076:9;27072:17;27063:6;27021:69;:::i;:::-;26879:218;;;;:::o;27103:129::-;27137:6;27164:20;;:::i;:::-;27154:30;;27193:33;27221:4;27213:6;27193:33;:::i;:::-;27103:129;;;:::o;27238:75::-;27271:6;27304:2;27298:9;27288:19;;27238:75;:::o;27319:307::-;27380:4;27470:18;27462:6;27459:30;27456:56;;;27492:18;;:::i;:::-;27456:56;27530:29;27552:6;27530:29;:::i;:::-;27522:37;;27614:4;27608;27604:15;27596:23;;27319:307;;;:::o;27632:98::-;27683:6;27717:5;27711:12;27701:22;;27632:98;;;:::o;27736:158::-;27809:11;27843:6;27838:3;27831:19;27883:4;27878:3;27874:14;27859:29;;27736:158;;;;:::o;27900:168::-;27983:11;28017:6;28012:3;28005:19;28057:4;28052:3;28048:14;28033:29;;27900:168;;;;:::o;28074:169::-;28158:11;28192:6;28187:3;28180:19;28232:4;28227:3;28223:14;28208:29;;28074:169;;;;:::o;28249:848::-;28310:5;28317:4;28341:6;28332:15;;28365:5;28356:14;;28379:712;28400:1;28390:8;28387:15;28379:712;;;28495:4;28490:3;28486:14;28480:4;28477:24;28474:50;;;28504:18;;:::i;:::-;28474:50;28554:1;28544:8;28540:16;28537:451;;;28969:4;28962:5;28958:16;28949:25;;28537:451;29019:4;29013;29009:15;29001:23;;29049:32;29072:8;29049:32;:::i;:::-;29037:44;;28379:712;;;28249:848;;;;;;;:::o;29103:281::-;29161:5;29185:23;29203:4;29185:23;:::i;:::-;29177:31;;29229:25;29245:8;29229:25;:::i;:::-;29217:37;;29273:104;29310:66;29300:8;29294:4;29273:104;:::i;:::-;29264:113;;29103:281;;;;:::o;29390:1073::-;29444:5;29635:8;29625:40;;29656:1;29647:10;;29658:5;;29625:40;29684:4;29674:36;;29701:1;29692:10;;29703:5;;29674:36;29770:4;29818:1;29813:27;;;;29854:1;29849:191;;;;29763:277;;29813:27;29831:1;29822:10;;29833:5;;;29849:191;29894:3;29884:8;29881:17;29878:43;;;29901:18;;:::i;:::-;29878:43;29950:8;29947:1;29943:16;29934:25;;29985:3;29978:5;29975:14;29972:40;;;29992:18;;:::i;:::-;29972:40;30025:5;;;29763:277;;30149:2;30139:8;30136:16;30130:3;30124:4;30121:13;30117:36;30099:2;30089:8;30086:16;30081:2;30075:4;30072:12;30068:35;30052:111;30049:246;;;30205:8;30199:4;30195:19;30186:28;;30240:3;30233:5;30230:14;30227:40;;;30247:18;;:::i;:::-;30227:40;30280:5;;30049:246;30320:42;30358:3;30348:8;30342:4;30339:1;30320:42;:::i;:::-;30305:57;;;;30394:4;30389:3;30385:14;30378:5;30375:25;30372:51;;;30403:18;;:::i;:::-;30372:51;30452:4;30445:5;30441:16;30432:25;;29390:1073;;;;;;:::o;30469:348::-;30509:7;30532:20;30550:1;30532:20;:::i;:::-;30527:25;;30566:20;30584:1;30566:20;:::i;:::-;30561:25;;30754:1;30686:66;30682:74;30679:1;30676:81;30671:1;30664:9;30657:17;30653:105;30650:131;;;30761:18;;:::i;:::-;30650:131;30809:1;30806;30802:9;30791:20;;30469:348;;;;:::o;30823:191::-;30863:4;30883:20;30901:1;30883:20;:::i;:::-;30878:25;;30917:20;30935:1;30917:20;:::i;:::-;30912:25;;30956:1;30953;30950:8;30947:34;;;30961:18;;:::i;:::-;30947:34;31006:1;31003;30999:9;30991:17;;30823:191;;;;:::o;31020:185::-;31058:4;31078:18;31094:1;31078:18;:::i;:::-;31073:23;;31110:18;31126:1;31110:18;:::i;:::-;31105:23;;31147:1;31144;31141:8;31138:34;;;31152:18;;:::i;:::-;31138:34;31197:1;31194;31190:9;31182:17;;31020:185;;;;:::o;31211:96::-;31248:7;31277:24;31295:5;31277:24;:::i;:::-;31266:35;;31211:96;;;:::o;31313:104::-;31358:7;31387:24;31405:5;31387:24;:::i;:::-;31376:35;;31313:104;;;:::o;31423:90::-;31457:7;31500:5;31493:13;31486:21;31475:32;;31423:90;;;:::o;31519:77::-;31556:7;31585:5;31574:16;;31519:77;;;:::o;31602:114::-;31657:7;31686:24;31704:5;31686:24;:::i;:::-;31675:35;;31602:114;;;:::o;31722:126::-;31759:7;31799:42;31792:5;31788:54;31777:65;;31722:126;;;:::o;31854:77::-;31891:7;31920:5;31909:16;;31854:77;;;:::o;31937:93::-;31973:7;32013:10;32006:5;32002:22;31991:33;;31937:93;;;:::o;32036:101::-;32072:7;32112:18;32105:5;32101:30;32090:41;;32036:101;;;:::o;32143:86::-;32178:7;32218:4;32211:5;32207:16;32196:27;;32143:86;;;:::o;32235:144::-;32303:9;32336:37;32367:5;32336:37;:::i;:::-;32323:50;;32235:144;;;:::o;32385:149::-;32458:9;32491:37;32522:5;32491:37;:::i;:::-;32478:50;;32385:149;;;:::o;32540:169::-;32625:9;32658:45;32697:5;32658:45;:::i;:::-;32645:58;;32540:169;;;:::o;32715:159::-;32798:9;32831:37;32862:5;32831:37;:::i;:::-;32818:50;;32715:159;;;:::o;32880:126::-;32930:9;32963:37;32994:5;32963:37;:::i;:::-;32950:50;;32880:126;;;:::o;33012:134::-;33070:9;33103:37;33134:5;33103:37;:::i;:::-;33090:50;;33012:134;;;:::o;33152:113::-;33202:9;33235:24;33253:5;33235:24;:::i;:::-;33222:37;;33152:113;;;:::o;33271:154::-;33355:6;33350:3;33345;33332:30;33417:1;33408:6;33403:3;33399:16;33392:27;33271:154;;;:::o;33431:307::-;33499:1;33509:113;33523:6;33520:1;33517:13;33509:113;;;33608:1;33603:3;33599:11;33593:18;33589:1;33584:3;33580:11;33573:39;33545:2;33542:1;33538:10;33533:15;;33509:113;;;33640:6;33637:1;33634:13;33631:101;;;33720:1;33711:6;33706:3;33702:16;33695:27;33631:101;33480:258;33431:307;;;:::o;33744:281::-;33827:27;33849:4;33827:27;:::i;:::-;33819:6;33815:40;33957:6;33945:10;33942:22;33921:18;33909:10;33906:34;33903:62;33900:88;;;33968:18;;:::i;:::-;33900:88;34008:10;34004:2;33997:22;33787:238;33744:281;;:::o;34031:180::-;34079:77;34076:1;34069:88;34176:4;34173:1;34166:15;34200:4;34197:1;34190:15;34217:180;34265:77;34262:1;34255:88;34362:4;34359:1;34352:15;34386:4;34383:1;34376:15;34403:180;34451:77;34448:1;34441:88;34548:4;34545:1;34538:15;34572:4;34569:1;34562:15;34589:180;34637:77;34634:1;34627:88;34734:4;34731:1;34724:15;34758:4;34755:1;34748:15;34775:180;34823:77;34820:1;34813:88;34920:4;34917:1;34910:15;34944:4;34941:1;34934:15;34961:117;35070:1;35067;35060:12;35084:117;35193:1;35190;35183:12;35207:117;35316:1;35313;35306:12;35330:117;35439:1;35436;35429:12;35453:117;35562:1;35559;35552:12;35576:117;35685:1;35682;35675:12;35699:102;35740:6;35791:2;35787:7;35782:2;35775:5;35771:14;35767:28;35757:38;;35699:102;;;:::o;35807:::-;35849:8;35896:5;35893:1;35889:13;35868:34;;35807:102;;;:::o;35915:221::-;36055:34;36051:1;36043:6;36039:14;36032:58;36124:4;36119:2;36111:6;36107:15;36100:29;35915:221;:::o;36142:224::-;36282:34;36278:1;36270:6;36266:14;36259:58;36351:7;36346:2;36338:6;36334:15;36327:32;36142:224;:::o;36372:222::-;36512:34;36508:1;36500:6;36496:14;36489:58;36581:5;36576:2;36568:6;36564:15;36557:30;36372:222;:::o;36600:177::-;36740:29;36736:1;36728:6;36724:14;36717:53;36600:177;:::o;36783:174::-;36923:26;36919:1;36911:6;36907:14;36900:50;36783:174;:::o;36963:182::-;37103:34;37099:1;37091:6;37087:14;37080:58;36963:182;:::o;37151:173::-;37291:25;37287:1;37279:6;37275:14;37268:49;37151:173;:::o;37330:138::-;37411:32;37437:5;37411:32;:::i;:::-;37404:5;37401:43;37391:71;;37458:1;37455;37448:12;37391:71;37330:138;:::o;37474:116::-;37544:21;37559:5;37544:21;:::i;:::-;37537:5;37534:32;37524:60;;37580:1;37577;37570:12;37524:60;37474:116;:::o;37596:122::-;37669:24;37687:5;37669:24;:::i;:::-;37662:5;37659:35;37649:63;;37708:1;37705;37698:12;37649:63;37596:122;:::o;37724:158::-;37815:42;37851:5;37815:42;:::i;:::-;37808:5;37805:53;37795:81;;37872:1;37869;37862:12;37795:81;37724:158;:::o;37888:115::-;37977:1;37970:5;37967:12;37957:40;;37993:1;37990;37983:12;37957:40;37888:115;:::o;38009:122::-;38082:24;38100:5;38082:24;:::i;:::-;38075:5;38072:35;38062:63;;38121:1;38118;38111:12;38062:63;38009:122;:::o;38137:120::-;38209:23;38226:5;38209:23;:::i;:::-;38202:5;38199:34;38189:62;;38247:1;38244;38237:12;38189:62;38137:120;:::o;38263:::-;38335:23;38352:5;38335:23;:::i;:::-;38328:5;38325:34;38315:62;;38373:1;38370;38363:12;38315:62;38263:120;:::o;38389:118::-;38460:22;38476:5;38460:22;:::i;:::-;38453:5;38450:33;38440:61;;38497:1;38494;38487:12;38440:61;38389:118;:::o"},"gasEstimates":{"creation":{"codeDepositCost":"2459200","executionCost":"infinite","totalCost":"infinite"},"external":{"clone()":"infinite","cloneDeterministic(bytes32)":"infinite","cloned()":"infinite","estimateRandomizeFee(uint256)":"infinite","getRandomizeData(uint256)":"infinite","getRandomnessAfter(uint256)":"infinite","getRandomnessNextBlock(uint256)":"infinite","getRandomnessPrevBlock(uint256)":"infinite","initialize(bytes)":"infinite","isRandomized(uint256)":"infinite","latestRandomizeBlock()":"2452","random(uint32,uint256,bytes32)":"infinite","random(uint32,uint256,uint256)":"infinite","randomize()":"infinite","self()":"infinite","upgradeRandomizeFee(uint256)":"infinite","witnet()":"infinite","witnetRandomnessRequest()":"2687"},"internal":{"_clone(contract Clonable)":"infinite","_msbDeBruijn32(uint32)":"infinite","_searchNextBlock(uint256,uint256)":"infinite","_searchPrevBlock(uint256,uint256)":"infinite"}},"methodIdentifiers":{"clone()":"09ed4607","cloneDeterministic(bytes32)":"daaa360c","cloned()":"a04daef0","estimateRandomizeFee(uint256)":"a60ee268","getRandomizeData(uint256)":"a3252f68","getRandomnessAfter(uint256)":"fb476cad","getRandomnessNextBlock(uint256)":"40b41daa","getRandomnessPrevBlock(uint256)":"36b651bb","initialize(bytes)":"439fab91","isRandomized(uint256)":"9bc86fec","latestRandomizeBlock()":"9938fd0c","random(uint32,uint256,bytes32)":"e7d4a016","random(uint32,uint256,uint256)":"24cbbfc1","randomize()":"699b328a","self()":"7104ddb2","upgradeRandomizeFee(uint256)":"e35329f8","witnet()":"46d1d21a","witnetRandomnessRequest()":"3b13e76e"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract WitnetRequestBoard\",\"name\":\"_wrb\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"by\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract Clonable\",\"name\":\"self\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract Clonable\",\"name\":\"clone\",\"type\":\"address\"}],\"name\":\"Cloned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"prevBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"witnetQueryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"witnetRequestHash\",\"type\":\"bytes32\"}],\"name\":\"Randomized\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"clone\",\"outputs\":[{\"internalType\":\"contract Clonable\",\"name\":\"_newInstance\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_salt\",\"type\":\"bytes32\"}],\"name\":\"cloneDeterministic\",\"outputs\":[{\"internalType\":\"contract Clonable\",\"name\":\"_newInstance\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloned\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_gasPrice\",\"type\":\"uint256\"}],\"name\":\"estimateRandomizeFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_block\",\"type\":\"uint256\"}],\"name\":\"getRandomizeData\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_prevBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nextBlock\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_block\",\"type\":\"uint256\"}],\"name\":\"getRandomnessAfter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_block\",\"type\":\"uint256\"}],\"name\":\"getRandomnessNextBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_block\",\"type\":\"uint256\"}],\"name\":\"getRandomnessPrevBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_initData\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_block\",\"type\":\"uint256\"}],\"name\":\"isRandomized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestRandomizeBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_range\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_block\",\"type\":\"uint256\"}],\"name\":\"random\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_range\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_seed\",\"type\":\"bytes32\"}],\"name\":\"random\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_usedFunds\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"self\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_block\",\"type\":\"uint256\"}],\"name\":\"upgradeRandomizeFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_usedFunds\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"witnet\",\"outputs\":[{\"internalType\":\"contract WitnetRequestBoard\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"witnetRandomnessRequest\",\"outputs\":[{\"internalType\":\"contract WitnetRequestRandomness\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Witnet Foundation.\",\"kind\":\"dev\",\"methods\":{\"clone()\":{\"details\":\"This function should always provide a new address, no matter how many times is actually called from the same `msg.sender`.\"},\"cloneDeterministic(bytes32)\":{\"details\":\"This function uses the CREATE2 opcode and a `_salt` to deterministically deploythe clone. Using the same `_salt` multiple time will revert, sinceno contract can be deployed more than once at the same address.\"},\"constructor\":{\"params\":{\"_wrb\":\"The WitnetRequestBoard immutable entrypoint address.\"}},\"getRandomizeData(uint256)\":{\"details\":\"Returns zero values if no randomness request was actually posted within a given block.\",\"params\":{\"_block\":\"Block number whose randomness request is being queried for.\"},\"returns\":{\"_from\":\"Address from which the latest randomness request was posted.\",\"_id\":\"Unique request identifier as provided by the WRB.\",\"_nextBlock\":\"Block number in which a randomness request got posted just after this one, 0 if none.\",\"_prevBlock\":\"Block number in which a randomness request got posted just before this one. 0 if none.\"}},\"getRandomnessAfter(uint256)\":{\"details\":\"Fails if:i.   no `randomize()` was not called in either the given block, or afterwards.ii.  a request posted in/after given block does exist, but no result has been provided yet.iii. all requests in/after the given block were solved with errors.\",\"params\":{\"_block\":\"Block number from which the search will start.\"}},\"getRandomnessNextBlock(uint256)\":{\"params\":{\"_block\":\"Block number from which the search will start.\"},\"returns\":{\"_0\":\"Number of the first block found after the given one, or `0` otherwise.\"}},\"getRandomnessPrevBlock(uint256)\":{\"params\":{\"_block\":\"Block number from which the search will start. Cannot be zero.\"},\"returns\":{\"_0\":\"First block found before the given one, or `0` otherwise.\"}},\"initialize(bytes)\":{\"details\":\"Initializes contract's storage context.\"},\"random(uint32,uint256,bytes32)\":{\"params\":{\"_nonce\":\"Nonce value enabling multiple random numbers from the same randomness value.\",\"_range\":\"Range within which the uniformly-distributed random number will be generated.\",\"_seed\":\"Seed value used as entropy source.\"}},\"random(uint32,uint256,uint256)\":{\"details\":\"Fails under same conditions as `getRandomnessAfter(uint256)` may do.\",\"params\":{\"_block\":\"Block number from which the search will start.\",\"_nonce\":\"Nonce value enabling multiple random numbers from the same randomness value.\",\"_range\":\"Range within which the uniformly-distributed random number will be generated.\"}},\"randomize()\":{\"returns\":{\"_usedFunds\":\"Amount of funds actually used from those provided by the tx sender.\"}},\"upgradeRandomizeFee(uint256)\":{\"returns\":{\"_usedFunds\":\"Amount of dunds actually used from those provided by the tx sender.\"}}},\"title\":\"WitnetRandomness: A trustless randomness generator and registry, based on the Witnet oracle. \",\"version\":1},\"userdoc\":{\"events\":{\"Randomized(address,uint256,uint256,bytes32)\":{\"notice\":\"Thrown every time a new WitnetRandomnessRequest gets succesfully posted to the WitnetRequestBoard.\"}},\"kind\":\"user\",\"methods\":{\"clone()\":{\"notice\":\"Deploys and returns the address of a minimal proxy clone that replicates contract behaviour while using its own EVM storage.\"},\"cloneDeterministic(bytes32)\":{\"notice\":\"Deploys and returns the address of a minimal proxy clone that replicates contract  behaviour while using its own EVM storage.\"},\"cloned()\":{\"notice\":\"Tells whether this contract is a clone of another (i.e. `self()`)\"},\"constructor\":{\"notice\":\"Include an address to specify the immutable WitnetRequestBoard entrypoint address.\"},\"estimateRandomizeFee(uint256)\":{\"notice\":\"Returns amount of wei required to be paid as a fee when requesting randomization with a  transaction gas price as the one given.\"},\"getRandomizeData(uint256)\":{\"notice\":\"Retrieves data of a randomization request that got successfully posted to the WRB within a given block.\"},\"getRandomnessAfter(uint256)\":{\"notice\":\"Retrieves the randomness generated upon solving a request that was posted within a given block, if any, or to the _first_ request posted after that block, otherwise. Should the intended  request happen to be finalized with errors on the Witnet oracle network side, this function  will recursively try to return randomness from the next non-faulty randomization request found  in storage, if any. \"},\"getRandomnessNextBlock(uint256)\":{\"notice\":\"Tells what is the number of the next block in which a randomization request was posted after the given one. \"},\"getRandomnessPrevBlock(uint256)\":{\"notice\":\"Gets previous block in which a randomness request was posted before the given one.\"},\"isRandomized(uint256)\":{\"notice\":\"Returns `true` only when the randomness request that got posted within given block was already reported back from the Witnet oracle, either successfully or with an error of any kind.\"},\"latestRandomizeBlock()\":{\"notice\":\"Returns latest block in which a randomness request got sucessfully posted to the WRB.\"},\"random(uint32,uint256,bytes32)\":{\"notice\":\"Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using  the given `_nonce` value and the given `_seed` as a source of entropy.\"},\"random(uint32,uint256,uint256)\":{\"notice\":\"Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using  the given `_nonce` value and the randomness returned by `getRandomnessAfter(_block)`. \"},\"randomize()\":{\"notice\":\"Requests the Witnet oracle to generate an EVM-agnostic and trustless source of randomness.  Only one randomness request per block will be actually posted to the WRB. Should there  already be a posted request within current block, it will try to upgrade Witnet fee of current's  block randomness request according to current gas price. In both cases, all unused funds shall  be transfered back to the tx sender.\"},\"self()\":{\"notice\":\"Immutable contract address that actually attends all calls to this contract.\"},\"upgradeRandomizeFee(uint256)\":{\"notice\":\"Increases Witnet fee related to a pending-to-be-solved randomness request, as much as it may be required in proportion to how much bigger the current tx gas price is with respect the  highest gas price that was paid in either previous fee upgrades, or when the given randomness  request was posted. All unused funds shall be transferred back to the tx sender.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/apps/WitnetRandomness.sol\":\"WitnetRandomness\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/UsingWitnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./WitnetRequestBoard.sol\\\";\\n\\n/// @title The UsingWitnet contract\\n/// @dev Witnet-aware contracts can inherit from this contract in order to interact with Witnet.\\n/// @author The Witnet Foundation.\\nabstract contract UsingWitnet {\\n\\n    WitnetRequestBoard public immutable witnet;\\n\\n    /// Include an address to specify the WitnetRequestBoard entry point address.\\n    /// @param _wrb The WitnetRequestBoard entry point address.\\n    constructor(WitnetRequestBoard _wrb)\\n    {\\n        require(address(_wrb) != address(0), \\\"UsingWitnet: zero address\\\");\\n        witnet = _wrb;\\n    }\\n\\n    /// Provides a convenient way for client contracts extending this to block the execution of the main logic of the\\n    /// contract until a particular request has been successfully solved and reported by Witnet.\\n    modifier witnetRequestSolved(uint256 _id) {\\n        require(\\n                _witnetCheckResultAvailability(_id),\\n                \\\"UsingWitnet: request not solved\\\"\\n            );\\n        _;\\n    }\\n\\n    /// Check if a data request has been solved and reported by Witnet.\\n    /// @dev Contracts depending on Witnet should not start their main business logic (e.g. receiving value from third.\\n    /// parties) before this method returns `true`.\\n    /// @param _id The unique identifier of a previously posted data request.\\n    /// @return A boolean telling if the request has been already resolved or not. Returns `false` also, if the result was deleted.\\n    function _witnetCheckResultAvailability(uint256 _id)\\n        internal view\\n        virtual\\n        returns (bool)\\n    {\\n        return witnet.getQueryStatus(_id) == Witnet.QueryStatus.Reported;\\n    }\\n\\n    /// Estimate the reward amount.\\n    /// @param _gasPrice The gas price for which we want to retrieve the estimation.\\n    /// @return The reward to be included when either posting a new request, or upgrading the reward of a previously posted one.\\n    function _witnetEstimateReward(uint256 _gasPrice)\\n        internal view\\n        virtual\\n        returns (uint256)\\n    {\\n        return witnet.estimateReward(_gasPrice);\\n    }\\n\\n    /// Estimates the reward amount, considering current transaction gas price.\\n    /// @return The reward to be included when either posting a new request, or upgrading the reward of a previously posted one.\\n    function _witnetEstimateReward()\\n        internal view\\n        virtual\\n        returns (uint256)\\n    {\\n        return witnet.estimateReward(tx.gasprice);\\n    }\\n\\n    /// Send a new request to the Witnet network with transaction value as a reward.\\n    /// @param _request An instance of `IWitnetRequest` contract.\\n    /// @return _id Sequential identifier for the request included in the WitnetRequestBoard.\\n    /// @return _reward Current reward amount escrowed by the WRB until a result gets reported.\\n    function _witnetPostRequest(IWitnetRequest _request)\\n        internal\\n        virtual\\n        returns (uint256 _id, uint256 _reward)\\n    {\\n        _reward = _witnetEstimateReward();\\n        require(\\n            _reward <= msg.value,\\n            \\\"UsingWitnet: reward too low\\\"\\n        );\\n        _id = witnet.postRequest{value: _reward}(_request);\\n    }\\n\\n    /// Upgrade the reward for a previously posted request.\\n    /// @dev Call to `upgradeReward` function in the WitnetRequestBoard contract.\\n    /// @param _id The unique identifier of a request that has been previously sent to the WitnetRequestBoard.\\n    /// @return Amount in which the reward has been increased.\\n    function _witnetUpgradeReward(uint256 _id)\\n        internal\\n        virtual\\n        returns (uint256)\\n    {\\n        uint256 _currentReward = witnet.readRequestReward(_id);        \\n        uint256 _newReward = _witnetEstimateReward();\\n        uint256 _fundsToAdd = 0;\\n        if (_newReward > _currentReward) {\\n            _fundsToAdd = (_newReward - _currentReward);\\n        }\\n        witnet.upgradeReward{value: _fundsToAdd}(_id); // Let Request.gasPrice be updated\\n        return _fundsToAdd;\\n    }\\n\\n    /// Read the Witnet-provided result to a previously posted request.\\n    /// @param _id The unique identifier of a request that was posted to Witnet.\\n    /// @return The result of the request as an instance of `Witnet.Result`.\\n    function _witnetReadResult(uint256 _id)\\n        internal view\\n        virtual\\n        returns (Witnet.Result memory)\\n    {\\n        return witnet.readResponseResult(_id);\\n    }\\n\\n    /// Retrieves copy of all response data related to a previously posted request, removing the whole query from storage.\\n    /// @param _id The unique identifier of a previously posted request.\\n    /// @return The Witnet-provided result to the request.\\n    function _witnetDeleteQuery(uint256 _id)\\n        internal\\n        virtual\\n        returns (Witnet.Response memory)\\n    {\\n        return witnet.deleteQuery(_id);\\n    }\\n\\n}\\n\",\"keccak256\":\"0x197b4fcecea2958249928d85183e3c9e094bff8c2f4dab29ef13361683c576bd\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/WitnetRequestBoard.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./interfaces/IWitnetRequestBoardEvents.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardReporter.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardRequestor.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardView.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestParser.sol\\\";\\n\\n/// @title Witnet Request Board functionality base contract.\\n/// @author The Witnet Foundation.\\nabstract contract WitnetRequestBoard is\\n    IWitnetRequestBoardEvents,\\n    IWitnetRequestBoardReporter,\\n    IWitnetRequestBoardRequestor,\\n    IWitnetRequestBoardView,\\n    IWitnetRequestParser\\n{\\n    receive() external payable {\\n        revert(\\\"WitnetRequestBoard: no transfers accepted\\\");\\n    }\\n}\\n\",\"keccak256\":\"0xb04deadd6e24568accfcbb7b76f1c03cb925933aee189115b5b23badc5b6e9ab\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/apps/WitnetRandomness.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../UsingWitnet.sol\\\";\\nimport \\\"../interfaces/IWitnetRandomness.sol\\\";\\nimport \\\"../requests/WitnetRequestRandomness.sol\\\";\\n\\n/// @title WitnetRandomness: A trustless randomness generator and registry, based on the Witnet oracle. \\n/// @author Witnet Foundation.\\ncontract WitnetRandomness\\n    is\\n        IWitnetRandomness,\\n        UsingWitnet,\\n        Clonable\\n{\\n    WitnetRequestRandomness public witnetRandomnessRequest;\\n    uint256 public override latestRandomizeBlock;\\n\\n    mapping (uint256 => RandomizeData) internal __randomize_;\\n    struct RandomizeData {\\n        address from;\\n        uint256 prevBlock;\\n        uint256 nextBlock;\\n        uint256 witnetQueryId;\\n    }\\n\\n    /// Include an address to specify the immutable WitnetRequestBoard entrypoint address.\\n    /// @param _wrb The WitnetRequestBoard immutable entrypoint address.\\n    constructor(WitnetRequestBoard _wrb)\\n        UsingWitnet(_wrb)\\n    {\\n        witnetRandomnessRequest = new WitnetRequestRandomness();\\n        witnetRandomnessRequest.transferOwnership(msg.sender);\\n    }\\n\\n    /// Returns amount of wei required to be paid as a fee when requesting randomization with a \\n    /// transaction gas price as the one given.\\n    function estimateRandomizeFee(uint256 _gasPrice)\\n        public view\\n        virtual override\\n        returns (uint256)\\n    {\\n        return _witnetEstimateReward(_gasPrice);\\n    }\\n\\n    /// Retrieves data of a randomization request that got successfully posted to the WRB within a given block.\\n    /// @dev Returns zero values if no randomness request was actually posted within a given block.\\n    /// @param _block Block number whose randomness request is being queried for.\\n    /// @return _from Address from which the latest randomness request was posted.\\n    /// @return _id Unique request identifier as provided by the WRB.\\n    /// @return _prevBlock Block number in which a randomness request got posted just before this one. 0 if none.\\n    /// @return _nextBlock Block number in which a randomness request got posted just after this one, 0 if none.\\n    function getRandomizeData(uint256 _block)\\n        external view\\n        virtual override\\n        returns (\\n            address _from,\\n            uint256 _id,\\n            uint256 _prevBlock,\\n            uint256 _nextBlock\\n        )\\n    {\\n        RandomizeData storage _data = __randomize_[_block];\\n        _id = _data.witnetQueryId;\\n        _from = _data.from;\\n        _prevBlock = _data.prevBlock;\\n        _nextBlock = _data.nextBlock;\\n    }\\n\\n    /// Retrieves the randomness generated upon solving a request that was posted within a given block,\\n    /// if any, or to the _first_ request posted after that block, otherwise. Should the intended \\n    /// request happen to be finalized with errors on the Witnet oracle network side, this function \\n    /// will recursively try to return randomness from the next non-faulty randomization request found \\n    /// in storage, if any. \\n    /// @dev Fails if:\\n    /// @dev   i.   no `randomize()` was not called in either the given block, or afterwards.\\n    /// @dev   ii.  a request posted in/after given block does exist, but no result has been provided yet.\\n    /// @dev   iii. all requests in/after the given block were solved with errors.\\n    /// @param _block Block number from which the search will start.\\n    function getRandomnessAfter(uint256 _block)\\n        public view\\n        virtual override\\n        returns (bytes32)\\n    {\\n        if (__randomize_[_block].from == address(0)) {\\n            _block = getRandomnessNextBlock(_block);\\n        }\\n        uint256 _queryId = __randomize_[_block].witnetQueryId;\\n        require(_queryId != 0, \\\"WitnetRandomness: not randomized\\\");\\n        require(_witnetCheckResultAvailability(_queryId), \\\"WitnetRandomness: pending randomize\\\");\\n        Witnet.Result memory _witnetResult = _witnetReadResult(_queryId);\\n        if (witnet.isOk(_witnetResult)) {\\n            return witnet.asBytes32(_witnetResult);\\n        } else {\\n            uint256 _nextRandomizeBlock = __randomize_[_block].nextBlock;\\n            require(_nextRandomizeBlock != 0, \\\"WitnetRandomness: faulty randomize\\\");\\n            return getRandomnessAfter(_nextRandomizeBlock);\\n        }\\n    }\\n\\n    /// Tells what is the number of the next block in which a randomization request was posted after the given one. \\n    /// @param _block Block number from which the search will start.\\n    /// @return Number of the first block found after the given one, or `0` otherwise.\\n    function getRandomnessNextBlock(uint256 _block)\\n        public view\\n        virtual override\\n        returns (uint256)\\n    {\\n        return ((__randomize_[_block].from != address(0))\\n            ? __randomize_[_block].nextBlock\\n            // start search from the latest block\\n            : _searchNextBlock(_block, latestRandomizeBlock)\\n        );\\n    }\\n\\n    /// Gets previous block in which a randomness request was posted before the given one.\\n    /// @param _block Block number from which the search will start. Cannot be zero.\\n    /// @return First block found before the given one, or `0` otherwise.\\n    function getRandomnessPrevBlock(uint256 _block)\\n        public view\\n        virtual override\\n        returns (uint256)\\n    {\\n        assert(_block > 0);\\n        uint256 _latest = latestRandomizeBlock;\\n        return ((_block > _latest)\\n            ? _latest\\n            // start search from the latest block\\n            : _searchPrevBlock(_block, __randomize_[_latest].prevBlock)\\n        );\\n    }\\n\\n    /// Returns `true` only when the randomness request that got posted within given block was already\\n    /// reported back from the Witnet oracle, either successfully or with an error of any kind.\\n    function isRandomized(uint256 _block)\\n        public view\\n        virtual override\\n        returns (bool)\\n    {\\n        RandomizeData storage _data = __randomize_[_block];\\n        return (\\n            _data.witnetQueryId != 0 \\n                && _witnetCheckResultAvailability(_data.witnetQueryId)\\n        );\\n    }\\n\\n    /// Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using \\n    /// the given `_nonce` value and the randomness returned by `getRandomnessAfter(_block)`. \\n    /// @dev Fails under same conditions as `getRandomnessAfter(uint256)` may do.\\n    /// @param _range Range within which the uniformly-distributed random number will be generated.\\n    /// @param _nonce Nonce value enabling multiple random numbers from the same randomness value.\\n    /// @param _block Block number from which the search will start.\\n    function random(uint32 _range, uint256 _nonce, uint256 _block)\\n        external view\\n        virtual override\\n        returns (uint32)\\n    {\\n        return random(\\n            _range,\\n            _nonce,\\n            keccak256(\\n                abi.encode(\\n                    msg.sender,\\n                    getRandomnessAfter(_block)\\n                )\\n            )\\n        );\\n    }\\n\\n    /// Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using \\n    /// the given `_nonce` value and the given `_seed` as a source of entropy.\\n    /// @param _range Range within which the uniformly-distributed random number will be generated.\\n    /// @param _nonce Nonce value enabling multiple random numbers from the same randomness value.\\n    /// @param _seed Seed value used as entropy source.\\n    function random(uint32 _range, uint256 _nonce, bytes32 _seed)\\n        public pure\\n        virtual override\\n        returns (uint32)\\n    {\\n        uint8 _flagBits = uint8(255 - _msbDeBruijn32(_range));\\n        uint256 _number = uint256(\\n                keccak256(\\n                    abi.encode(_seed, _nonce)\\n                )\\n            ) & uint256(2 ** _flagBits - 1);\\n        return uint32((_number * _range) >> _flagBits);\\n    }\\n\\n    /// Requests the Witnet oracle to generate an EVM-agnostic and trustless source of randomness. \\n    /// Only one randomness request per block will be actually posted to the WRB. Should there \\n    /// already be a posted request within current block, it will try to upgrade Witnet fee of current's \\n    /// block randomness request according to current gas price. In both cases, all unused funds shall \\n    /// be transfered back to the tx sender.\\n    /// @return _usedFunds Amount of funds actually used from those provided by the tx sender.\\n    function randomize()\\n        external payable\\n        virtual override\\n        returns (uint256 _usedFunds)\\n    {\\n        if (latestRandomizeBlock < block.number) {\\n            // Post the Witnet Randomness request:\\n            uint _queryId;\\n            (_queryId, _usedFunds) = _witnetPostRequest(witnetRandomnessRequest);\\n            // Keep Randomize data in storage:\\n            RandomizeData storage _data = __randomize_[block.number];\\n            _data.witnetQueryId = _queryId;\\n            _data.from = msg.sender;\\n            // Update block links:\\n            uint256 _prevBlock = latestRandomizeBlock;\\n            _data.prevBlock = _prevBlock;\\n            __randomize_[_prevBlock].nextBlock = block.number;\\n            latestRandomizeBlock = block.number;\\n            // Throw event:\\n            emit Randomized(\\n                msg.sender,\\n                _prevBlock,\\n                _queryId,\\n                witnetRandomnessRequest.hash()\\n            );\\n            // Transfer back unused tx value:\\n            if (_usedFunds < msg.value) {\\n                payable(msg.sender).transfer(msg.value - _usedFunds);\\n            }\\n        } else {\\n            return upgradeRandomizeFee(block.number);\\n        }\\n    }\\n\\n    /// Increases Witnet fee related to a pending-to-be-solved randomness request, as much as it\\n    /// may be required in proportion to how much bigger the current tx gas price is with respect the \\n    /// highest gas price that was paid in either previous fee upgrades, or when the given randomness \\n    /// request was posted. All unused funds shall be transferred back to the tx sender.\\n    /// @return _usedFunds Amount of dunds actually used from those provided by the tx sender.\\n    function upgradeRandomizeFee(uint256 _block)\\n        public payable\\n        virtual override\\n        returns (uint256 _usedFunds)\\n    {\\n        RandomizeData storage _data = __randomize_[_block];\\n        if (_data.witnetQueryId != 0) {\\n            _usedFunds = _witnetUpgradeReward(_data.witnetQueryId);\\n        }\\n        if (_usedFunds < msg.value) {\\n            payable(msg.sender).transfer(msg.value - _usedFunds);\\n        }\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- 'Clonable' overriden functions -----------------------------------------------------------------------------\\n\\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract\\n    /// behaviour while using its own EVM storage.\\n    /// @dev This function should always provide a new address, no matter how many times \\n    /// @dev is actually called from the same `msg.sender`.\\n    function clone()\\n        public\\n        virtual override\\n        returns (Clonable _newInstance)\\n    {\\n        _newInstance = super.clone();\\n        _clone(_newInstance);\\n    }\\n\\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract \\n    /// behaviour while using its own EVM storage.\\n    /// @dev This function uses the CREATE2 opcode and a `_salt` to deterministically deploy\\n    /// @dev the clone. Using the same `_salt` multiple time will revert, since\\n    /// @dev no contract can be deployed more than once at the same address.\\n    function cloneDeterministic(bytes32 _salt)\\n        public\\n        virtual override\\n        returns (Clonable _newInstance)\\n    {\\n        _newInstance = super.cloneDeterministic(_salt);\\n        _clone(_newInstance);\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- 'Initializable' overriden functions ------------------------------------------------------------------------\\n\\n    /// @dev Initializes contract's storage context.\\n    function initialize(bytes memory _initData)\\n        public\\n        virtual override\\n    {\\n        require(address(witnetRandomnessRequest) == address(0), \\\"WitnetRandomness: already initialized\\\");\\n        witnetRandomnessRequest = WitnetRequestRandomness(\\n            abi.decode(\\n                _initData,\\n                (address)\\n            )\\n        );\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- INTERNAL FUNCTIONS -----------------------------------------------------------------------------------------\\n\\n    /// @dev Common steps for both deterministic and non-deterministic cloning.\\n    function _clone(Clonable _instance) internal {\\n        address _request = address(witnetRandomnessRequest.clone());\\n        Ownable(_request).transferOwnership(msg.sender);\\n        _instance.initialize(abi.encode(_request));\\n    }\\n\\n    /// @dev Returns index of the Most Significant Bit of the given number, applying De Bruijn O(1) algorithm.\\n    function _msbDeBruijn32(uint32 _v)\\n        internal pure\\n        returns (uint8)\\n    {\\n        uint8[32] memory _bitPosition = [\\n                0, 9, 1, 10, 13, 21, 2, 29,\\n                11, 14, 16, 18, 22, 25, 3, 30,\\n                8, 12, 20, 28, 15, 17, 24, 7,\\n                19, 27, 23, 6, 26, 5, 4, 31\\n            ];\\n        _v |= _v >> 1;\\n        _v |= _v >> 2;\\n        _v |= _v >> 4;\\n        _v |= _v >> 8;\\n        _v |= _v >> 16;\\n        return _bitPosition[\\n            uint32(_v * uint256(0x07c4acdd)) >> 27\\n        ];\\n    }\\n\\n    /// @dev Recursively searches for the number of the first block after the given one in which a Witnet randomization request was posted.\\n    /// @dev Returns 0 if none found.\\n    function _searchNextBlock(uint256 _target, uint256 _latest) internal view returns (uint256) {\\n        return ((_target >= _latest) \\n            ? __randomize_[_latest].nextBlock\\n            : _searchNextBlock(_target, __randomize_[_latest].prevBlock)\\n        );\\n    }\\n\\n    /// @dev Recursively searches for the number of the first block before the given one in which a Witnet randomization request was posted.\\n    /// @dev Returns 0 if none found.\\n\\n    function _searchPrevBlock(uint256 _target, uint256 _latest) internal view returns (uint256) {\\n        return ((_target > _latest)\\n            ? _latest\\n            : _searchPrevBlock(_target, __randomize_[_latest].prevBlock)\\n        );\\n    }\\n}\\n\",\"keccak256\":\"0x04a32e324f78f56c2c5d5f85fc813ece2e37cd37f773c4cdd3de7cad22512fab\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRandomness.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title The Witnet Randomness generator interface.\\n/// @author Witnet Foundation.\\ninterface IWitnetRandomness {\\n\\n    /// Thrown every time a new WitnetRandomnessRequest gets succesfully posted to the WitnetRequestBoard.\\n    /// @param from Address from which the randomize() function was called. \\n    /// @param prevBlock Block number in which a randomness request got posted just before this one. 0 if none.\\n    /// @param witnetQueryId Unique query id assigned to this request by the WRB.\\n    /// @param witnetRequestHash SHA-256 hash of the WitnetRandomnessRequest actual bytecode just posted to the WRB.\\n    event Randomized(\\n        address indexed from,\\n        uint256 indexed prevBlock,\\n        uint256 witnetQueryId,\\n        bytes32 witnetRequestHash\\n    );\\n\\n    /// Returns amount of wei required to be paid as a fee when requesting randomization with a \\n    /// transaction gas price as the one given.\\n    function estimateRandomizeFee(uint256 _gasPrice) external view returns (uint256);\\n\\n    /// Retrieves data of a randomization request that got successfully posted to the WRB within a given block.\\n    /// @dev Returns zero values if no randomness request was actually posted within a given block.\\n    /// @param _block Block number whose randomness request is being queried for.\\n    /// @return _from Address from which the latest randomness request was posted.\\n    /// @return _id Unique request identifier as provided by the WRB.\\n    /// @return _prevBlock Block number in which a randomness request got posted just before this one. 0 if none.\\n    /// @return _nextBlock Block number in which a randomness request got posted just after this one, 0 if none.\\n    function getRandomizeData(uint256 _block)\\n        external view returns (address _from, uint256 _id, uint256 _prevBlock, uint256 _nextBlock);\\n\\n    /// Retrieves the randomness generated upon solving a request that was posted within a given block,\\n    /// if any, or to the _first_ request posted after that block, otherwise. Should the intended \\n    /// request happen to be finalized with errors on the Witnet oracle network side, this function \\n    /// will recursively try to return randomness from the next non-faulty randomization request found \\n    /// in storage, if any. \\n    /// @dev Fails if:\\n    /// @dev   i.   no `randomize()` was not called in either the given block, or afterwards.\\n    /// @dev   ii.  a request posted in/after given block does exist, but no result has been provided yet.\\n    /// @dev   iii. all requests in/after the given block were solved with errors.\\n    /// @param _block Block number from which the search will start.\\n    function getRandomnessAfter(uint256 _block) external view returns (bytes32); \\n\\n    /// Tells what is the number of the next block in which a randomization request was posted after the given one. \\n    /// @param _block Block number from which the search will start.\\n    /// @return Number of the first block found after the given one, or `0` otherwise.\\n    function getRandomnessNextBlock(uint256 _block) external view returns (uint256); \\n\\n    /// Gets previous block in which a randomness request was posted before the given one.\\n    /// @param _block Block number from which the search will start.\\n    /// @return First block found before the given one, or `0` otherwise.\\n    function getRandomnessPrevBlock(uint256 _block) external view returns (uint256);\\n\\n    /// Returns `true` only when the randomness request that got posted within given block was already\\n    /// reported back from the Witnet oracle, either successfully or with an error of any kind.\\n    function isRandomized(uint256 _block) external view returns (bool);\\n\\n    /// Returns latest block in which a randomness request got sucessfully posted to the WRB.\\n    function latestRandomizeBlock() external view returns (uint256);\\n\\n    /// Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using \\n    /// the given `_nonce` value and the randomness returned by `getRandomnessAfter(_block)`. \\n    /// @dev Fails under same conditions as `getRandomnessAfter(uint256)` may do.\\n    /// @param _range Range within which the uniformly-distributed random number will be generated.\\n    /// @param _nonce Nonce value enabling multiple random numbers from the same randomness value.\\n    /// @param _block Block number from which the search will start.\\n    function random(uint32 _range, uint256 _nonce, uint256 _block) external view returns (uint32);\\n\\n    /// Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using \\n    /// the given `_nonce` value and the given `_seed` as a source of entropy.\\n    /// @param _range Range within which the uniformly-distributed random number will be generated.\\n    /// @param _nonce Nonce value enabling multiple random numbers from the same randomness value.\\n    /// @param _seed Seed value used as entropy source.\\n    function random(uint32 _range, uint256 _nonce, bytes32 _seed) external pure returns (uint32);\\n\\n    /// Requests the Witnet oracle to generate an EVM-agnostic and trustless source of randomness. \\n    /// Only one randomness request per block will be actually posted to the WRB. Should there \\n    /// already be a posted request within current block, it will try to upgrade Witnet fee of current's \\n    /// block randomness request according to current gas price. In both cases, all unused funds shall \\n    /// be transfered back to the tx sender.\\n    /// @return _usedFunds Amount of funds actually used from those provided by the tx sender.\\n    function randomize() external payable returns (uint256 _usedFunds);\\n\\n    /// Increases Witnet fee related to a pending-to-be-solved randomness request, as much as it\\n    /// may be required in proportion to how much bigger the current tx gas price is with respect the \\n    /// highest gas price that was paid in either previous fee upgrades, or when the given randomness \\n    /// request was posted. All unused funds shall be transferred back to the tx sender.\\n    /// @return _usedFunds Amount of dunds actually used from those provided by the tx sender.\\n    function upgradeRandomizeFee(uint256 _block) external payable returns (uint256 _usedFunds);\\n}\\n\",\"keccak256\":\"0x67868d08fe2406086cdd9a3860614201911a1ad16e3d34a94151fad721a12934\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardEvents.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title Witnet Request Board emitting events interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardEvents {\\n    /// Emitted when a Witnet Data Request is posted to the WRB.\\n    event PostedRequest(uint256 queryId, address from);\\n\\n    /// Emitted when a Witnet-solved result is reported to the WRB.\\n    event PostedResult(uint256 queryId, address from);\\n\\n    /// Emitted when all data related to given query is deleted from the WRB.\\n    event DeletedQuery(uint256 queryId, address from);\\n}\\n\",\"keccak256\":\"0xe2cb1369ba158db394c0380231f99174a88d62a66b0e7f8be14179b8c2fbd12f\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardReporter.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Request Board Reporter interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardReporter {\\n    /// Reports the Witnet-provided result to a previously posted request. \\n    /// @dev Will assume `block.timestamp` as the timestamp at which the request was solved.\\n    /// @dev Fails if:\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique identifier of the data request.\\n    /// @param _drTxHash The hash of the corresponding data request transaction in Witnet.\\n    /// @param _result The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            bytes32 _drTxHash,\\n            bytes calldata _result\\n        ) external;\\n\\n    /// Reports the Witnet-provided result to a previously posted request.\\n    /// @dev Fails if:\\n    /// @dev - called from unauthorized address;\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique query identifier\\n    /// @param _timestamp The timestamp of the solving tally transaction in Witnet.\\n    /// @param _drTxHash The hash of the corresponding data request transaction in Witnet.\\n    /// @param _result The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            uint256 _timestamp,\\n            bytes32 _drTxHash,\\n            bytes calldata _result\\n        ) external;\\n\\n    /// Reports Witnet-provided results to multiple requests within a single EVM tx.\\n    /// @dev Must emit a PostedResult event for every succesfully reported result.\\n    /// @param _batchResults Array of BatchResult structs, every one containing:\\n    ///         - unique query identifier;\\n    ///         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;\\n    ///         - hash of the corresponding data request tx at the Witnet side-chain level;\\n    ///         - data request result in raw bytes.\\n    /// @param _verbose If true, must emit a BatchReportError event for every failing report, if any. \\n    function reportResultBatch(BatchResult[] calldata _batchResults, bool _verbose) external;\\n        \\n        struct BatchResult {\\n            uint256 queryId;\\n            uint256 timestamp;\\n            bytes32 drTxHash;\\n            bytes   cborBytes;\\n        }\\n\\n        event BatchReportError(uint256 queryId, string reason);\\n}\\n\",\"keccak256\":\"0x70655a9a394143ac1f03477a2cca5e2d1773523832bf127b9e9971596c105812\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardRequestor.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Requestor Interface\\n/// @notice It defines how to interact with the Witnet Request Board in order to:\\n///   - request the execution of Witnet Radon scripts (data request);\\n///   - upgrade the resolution reward of any previously posted request, in case gas price raises in mainnet;\\n///   - read the result of any previously posted request, eventually reported by the Witnet DON.\\n///   - remove from storage all data related to past and solved data requests, and results.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardRequestor {\\n    /// Retrieves a copy of all Witnet-provided data related to a previously posted request, removing the whole query from the WRB storage.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status, or called from an address different to\\n    /// @dev the one that actually posted the given request.\\n    /// @param _queryId The unique query identifier.\\n    function deleteQuery(uint256 _queryId) external returns (Witnet.Response memory);\\n\\n    /// Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON.\\n    /// A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided \\n    /// result to this request.\\n    /// @dev Fails if:\\n    /// @dev - provided reward is too low.\\n    /// @dev - provided script is zero address.\\n    /// @dev - provided script bytecode is empty.\\n    /// @param _addr The address of the IWitnetRequest contract that can provide the actual Data Request bytecode.\\n    /// @return _queryId An unique query identifier.\\n    function postRequest(IWitnetRequest _addr) external payable returns (uint256 _queryId);\\n\\n    /// Increments the reward of a previously posted request by adding the transaction value to it.\\n    /// @dev Updates request `gasPrice` in case this method is called with a higher \\n    /// @dev gas price value than the one used in previous calls to `postRequest` or\\n    /// @dev `upgradeReward`. \\n    /// @dev Fails if the `_queryId` is not in 'Posted' status.\\n    /// @dev Fails also in case the request `gasPrice` is increased, and the new \\n    /// @dev reward value gets below new recalculated threshold. \\n    /// @param _queryId The unique query identifier.\\n    function upgradeReward(uint256 _queryId) external payable;\\n}\\n\",\"keccak256\":\"0x7c7a991de5f087102b1931d5d8b2e3716d7a90354b3cbafef95d2509a0643453\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardView.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Request Board info interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardView {\\n    /// Estimates the amount of reward we need to insert for a given gas price.\\n    /// @param _gasPrice The gas price for which we need to calculate the rewards.\\n    function estimateReward(uint256 _gasPrice) external view returns (uint256);\\n\\n    /// Returns next query id to be generated by the Witnet Request Board.\\n    function getNextQueryId() external view returns (uint256);\\n\\n    /// Gets the whole Query data contents, if any, no matter its current status.\\n    function getQueryData(uint256 _queryId) external view returns (Witnet.Query memory);\\n\\n    /// Gets current status of given query.\\n    function getQueryStatus(uint256 _queryId) external view returns (Witnet.QueryStatus);\\n\\n    /// Retrieves the whole Request record posted to the Witnet Request Board.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been reported\\n    /// @dev or deleted.\\n    /// @param _queryId The unique identifier of a previously posted query.\\n    function readRequest(uint256 _queryId) external view returns (Witnet.Request memory);\\n\\n    /// Retrieves the serialized bytecode of a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not valid, or if the related script bytecode \\n    /// @dev got changed after being posted. Returns empty array once it gets reported, \\n    /// @dev or deleted.\\n    /// @param _queryId The unique query identifier.\\n    function readRequestBytecode(uint256 _queryId) external view returns (bytes memory);\\n\\n    /// Retrieves the gas price that any assigned reporter will have to pay when reporting \\n    /// result to a previously posted Witnet data request.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifie\\n    function readRequestGasPrice(uint256 _queryId) external view returns (uint256);\\n\\n    /// Retrieves the reward currently set for the referred query.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifier.\\n    function readRequestReward(uint256 _queryId) external view returns (uint256);\\n\\n    /// Retrieves the whole `Witnet.Response` record referred to a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponse(uint256 _queryId) external view returns (Witnet.Response memory);\\n\\n    /// Retrieves the hash of the Witnet transaction hash that actually solved the referred query.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseDrTxHash(uint256 _queryId) external view returns (bytes32);    \\n\\n    /// Retrieves the address that reported the result to a previously-posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseReporter(uint256 _queryId) external view returns (address);\\n\\n    /// Retrieves the Witnet-provided CBOR-bytes result of a previously posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseResult(uint256 _queryId) external view returns (Witnet.Result memory);\\n\\n    /// Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseTimestamp(uint256 _queryId) external view returns (uint256);\\n}\\n\",\"keccak256\":\"0x782ec2ff166948f5d097765c0190b352793d8b8887af5f8384d875d63cff4e9b\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestParser.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title The Witnet interface for decoding Witnet-provided request to Data Requests.\\n/// This interface exposes functions to check for the success/failure of\\n/// a Witnet-provided result, as well as to parse and convert result into\\n/// Solidity types suitable to the application level. \\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestParser {\\n\\n    /// Decode raw CBOR bytes into a Witnet.Result instance.\\n    /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborBytes(bytes memory _cborBytes) external pure returns (Witnet.Result memory);\\n\\n    /// Decode a CBOR value into a Witnet.Result instance.\\n    /// @param _cborValue An instance of `Witnet.CBOR`.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborValue(Witnet.CBOR memory _cborValue) external pure returns (Witnet.Result memory);\\n\\n    /// Tell if a Witnet.Result is successful.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if successful, `false` if errored.\\n    function isOk(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Tell if a Witnet.Result is errored.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if errored, `false` if successful.\\n    function isError(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes` decoded from the Witnet.Result.\\n    function asBytes(Witnet.Result memory _result) external pure returns (bytes memory);\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes32` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes32` decoded from the Witnet.Result.\\n    function asBytes32(Witnet.Result memory _result) external pure returns (bytes32);\\n\\n    /// Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `CBORValue.Error memory` decoded from the Witnet.Result.\\n    function asErrorCode(Witnet.Result memory _result) external pure returns (Witnet.ErrorCodes);\\n\\n\\n    /// Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\\n    /// @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\\n    function asErrorMessage(Witnet.Result memory _result) external pure returns (Witnet.ErrorCodes, string memory);\\n\\n    /// Decode a raw error from a `Witnet.Result` as a `uint64[]`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `uint64[]` raw error as decoded from the `Witnet.Result`.\\n    function asRawError(Witnet.Result memory _result) external pure returns(uint64[] memory);\\n\\n    /// Decode a boolean value from a Witnet.Result as an `bool` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bool` decoded from the Witnet.Result.\\n    function asBool(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\\n    /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\\n    /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\\n    /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asFixed16(Witnet.Result memory _result) external pure returns (int32);\\n\\n    /// Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asFixed16Array(Witnet.Result memory _result) external pure returns (int32[] memory);\\n\\n    /// Decode a integer numeric value from a Witnet.Result as an `int128` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asInt128(Witnet.Result memory _result) external pure returns (int128);\\n\\n    /// Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asInt128Array(Witnet.Result memory _result) external pure returns (int128[] memory);\\n\\n    /// Decode a string value from a Witnet.Result as a `string` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string` decoded from the Witnet.Result.\\n    function asString(Witnet.Result memory _result) external pure returns (string memory);\\n\\n    /// Decode an array of string values from a Witnet.Result as a `string[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string[]` decoded from the Witnet.Result.\\n    function asStringArray(Witnet.Result memory _result) external pure returns (string[] memory);\\n\\n    /// Decode a natural numeric value from a Witnet.Result as a `uint64` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64` decoded from the Witnet.Result.\\n    function asUint64(Witnet.Result memory _result) external pure returns(uint64);\\n\\n    /// Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64[]` decoded from the Witnet.Result.\\n    function asUint64Array(Witnet.Result memory _result) external pure returns (uint64[] memory);\\n\\n}\\n\",\"keccak256\":\"0xe7c24475babac7d21172d37d976a97b81053739e81b4697be39decfe2aa90945\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Clonable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\nimport \\\"./Initializable.sol\\\";\\n\\nabstract contract Clonable is Initializable {\\n    /// Immutable contract address that actually attends all calls to this contract.\\n    /// @dev Differs from `address(this)` when reached within a DELEGATECALL.\\n    address immutable public self = address(this);\\n\\n    event Cloned(address indexed by, Clonable indexed self, Clonable indexed clone);\\n\\n    /// Tells whether this contract is a clone of another (i.e. `self()`)\\n    function cloned()\\n        public view\\n        returns (bool)\\n    {\\n        return (\\n            address(this) != self\\n        );\\n    }\\n\\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract\\n    /// behaviour while using its own EVM storage.\\n    /// @dev This function should always provide a new address, no matter how many times \\n    /// @dev is actually called from the same `msg.sender`.\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1167.\\n    /// @dev See https://blog.openzeppelin.com/deep-dive-into-the-minimal-proxy-contract/.\\n    function clone()\\n        public virtual\\n        returns (Clonable _instance)\\n    {\\n        address _self = self;\\n        assembly {\\n            // ptr to free mem:\\n            let ptr := mload(0x40)\\n            // begin minimal proxy construction bytecode:\\n            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)\\n            // make minimal proxy delegate all calls to `self()`:\\n            mstore(add(ptr, 0x14), shl(0x60, _self))\\n            // end minimal proxy construction bytecode:\\n            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)\\n            // CREATE new instance:\\n            _instance := create(0, ptr, 0x37)\\n        }        \\n        require(address(_instance) != address(0), \\\"Clonable: CREATE failed\\\");\\n        emit Cloned(msg.sender, Clonable(self), _instance);\\n    }\\n\\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract \\n    /// behaviour while using its own EVM storage.\\n    /// @dev This function uses the CREATE2 opcode and a `_salt` to deterministically deploy\\n    /// @dev the clone. Using the same `_salt` multiple times will revert, since\\n    /// @dev no contract can be deployed more than once at the same address.\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1167.\\n    /// @dev See https://blog.openzeppelin.com/deep-dive-into-the-minimal-proxy-contract/.\\n    function cloneDeterministic(bytes32 _salt)\\n        public virtual\\n        returns (Clonable _instance)\\n    {\\n        address _self = self;\\n        assembly {\\n            // ptr to free mem:\\n            let ptr := mload(0x40)\\n            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)\\n            // make minimal proxy delegate all calls to `self()`:\\n            mstore(add(ptr, 0x14), shl(0x60, _self))\\n            // end minimal proxy construction bytecode:\\n            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)\\n            // CREATE2 new instance:\\n            _instance := create2(0, ptr, 0x37, _salt)\\n        }\\n        require(address(_instance) != address(0), \\\"Clonable: CREATE2 failed\\\");\\n        emit Cloned(msg.sender, Clonable(self), _instance);\\n    }\\n}\\n\",\"keccak256\":\"0xbb8cfcfc7f44e289bd3dff357e1bb3da5809b2a39b58b7805aa3bfc1ec47ff2d\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Context.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity ^0.8.0;\\n\\n/// @dev Provides information about the current execution context, including the\\n/// sender of the transaction and its data. While these are generally available\\n/// via msg.sender and msg.data, they should not be accessed in such a direct\\n/// manner, since when dealing with meta-transactions the account sending and\\n/// paying for execution may not be the actual sender (as far as an application\\n/// is concerned).\\nabstract contract Context {\\n    function _msgSender() internal view virtual returns (address) {\\n        return msg.sender;\\n    }\\n\\n    function _msgData() internal view virtual returns (bytes calldata) {\\n        return msg.data;\\n    }\\n\\n    function _msgValue() internal view virtual returns (uint256) {\\n        return msg.value;\\n    }\\n}\\n\",\"keccak256\":\"0x1a17c0fd9fcd98aa49c5c428a415634b9db839e560f20da81f7c223a18ad12fc\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Initializable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Initializable {\\n    /// @dev Initialize contract's storage context.\\n    function initialize(bytes calldata) external;\\n}\\n\",\"keccak256\":\"0x17c2e66648596deb4f71dbaaa4b95293c99536431e7697f3b69d205a09796f0e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Ownable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.3.2 (access/Ownable.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"./Context.sol\\\";\\n\\n/// @dev Contract module which provides a basic access control mechanism, where\\n/// there is an account (an owner) that can be granted exclusive access to\\n/// specific functions.\\n///\\n/// By default, the owner account will be the one that deploys the contract. This\\n/// can later be changed with {transferOwnership}.\\n///\\n/// This module is used through inheritance. It will make available the modifier\\n/// `onlyOwner`, which can be applied to your functions to restrict their use to\\n/// the owner.\\n\\nabstract contract Ownable is Context {\\n    address private _owner;\\n\\n    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\\n\\n    /// @dev Initializes the contract setting the deployer as the initial owner.\\n    constructor() {\\n        _transferOwnership(_msgSender());\\n    }\\n\\n    /// @dev Returns the address of the current owner.\\n    function owner() public view virtual returns (address) {\\n        return _owner;\\n    }\\n\\n    /// @dev Throws if called by any account other than the owner.\\n    modifier onlyOwner() {\\n        require(owner() == _msgSender(), \\\"Ownable: caller is not the owner\\\");\\n        _;\\n    }\\n\\n    /// @dev Leaves the contract without owner. It will not be possible to call\\n    /// `onlyOwner` functions anymore. Can only be called by the current owner.\\n    /// NOTE: Renouncing ownership will leave the contract without an owner,\\n    /// thereby removing any functionality that is only available to the owner.\\n    function renounceOwnership() public virtual onlyOwner {\\n        _transferOwnership(address(0));\\n    }\\n\\n    /// @dev Transfers ownership of the contract to a new account (`newOwner`).\\n    /// Can only be called by the current owner.\\n    function transferOwnership(address newOwner) public virtual onlyOwner {\\n        require(newOwner != address(0), \\\"Ownable: new owner is the zero address\\\");\\n        _transferOwnership(newOwner);\\n    }\\n\\n    /// @dev Transfers ownership of the contract to a new account (`newOwner`).\\n    /// Internal function without access restriction.\\n    function _transferOwnership(address newOwner) internal virtual {\\n        address oldOwner = _owner;\\n        _owner = newOwner;\\n        emit OwnershipTransferred(oldOwner, newOwner);\\n    }\\n}\",\"keccak256\":\"0xb8ce9f1e03440d40dbb9898c5ec2cfad520ccd3a5c76176058c44f5033c656a2\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Proxiable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Proxiable {\\n    /// @dev Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1822.\\n    function proxiableUUID() external pure returns (bytes32);\\n}\\n\",\"keccak256\":\"0x3ed71dc147c30cd8aa1ca248a045217b6ea513bae96c4c76d66496af4b8d6ff1\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/requests/WitnetRequestMalleableBase.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\nimport \\\"../patterns/Clonable.sol\\\";\\nimport \\\"../patterns/Ownable.sol\\\";\\nimport \\\"../patterns/Proxiable.sol\\\";\\n\\nabstract contract WitnetRequestMalleableBase\\n    is\\n        IWitnetRequest,\\n        Clonable,\\n        Ownable,\\n        Proxiable\\n{   \\n    using Witnet for *;\\n\\n    event WitnessingParamsChanged(\\n        address indexed by,\\n        uint8 numWitnesses,\\n        uint8 minWitnessingConsensus,\\n        uint64 witnssingCollateral,\\n        uint64 witnessingReward,\\n        uint64 witnessingUnitaryFee\\n    );\\n\\n    struct WitnetRequestMalleableBaseContext {\\n        /// Contract owner address.\\n        address owner;\\n        /// Immutable bytecode template.\\n        bytes template;\\n        /// Current request bytecode.\\n        bytes bytecode;\\n        /// Current request hash.\\n        bytes32 hash;\\n        /// Current request witnessing params.\\n        WitnetRequestWitnessingParams params;\\n    }\\n\\n    struct WitnetRequestWitnessingParams {\\n        /// Number of witnesses required to be involved for solving this Witnet Data Request.\\n        uint8 numWitnesses;\\n\\n        /// Threshold percentage for aborting resolution of a request if the witnessing nodes did not arrive to a broad consensus.\\n        uint8 minWitnessingConsensus;\\n\\n        /// Amount of nanowits that a witness solving the request will be required to collateralize in the commitment transaction.\\n        uint64 witnessingCollateral;\\n\\n        /// Amount of nanowits that every request-solving witness will be rewarded with.\\n        uint64 witnessingReward;\\n\\n        /// Amount of nanowits that will be earned by Witnet miners for each each valid commit/reveal transaction they include in a block.\\n        uint64 witnessingUnitaryFee;\\n    }\\n\\n    /// Returns current Witnet Data Request bytecode, encoded using Protocol Buffers.\\n    function bytecode() external view override returns (bytes memory) {\\n        return _request().bytecode;\\n    }\\n\\n    /// Returns SHA256 hash of current Witnet Data Request bytecode.\\n    function hash() external view override returns (bytes32) {\\n        return _request().hash;\\n    }\\n\\n    /// Sets amount of nanowits that a witness solving the request will be required to collateralize in the commitment transaction.\\n    function setWitnessingCollateral(uint64 _witnessingCollateral)\\n        public\\n        virtual\\n        onlyOwner\\n    {\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        _params.witnessingCollateral = _witnessingCollateral;\\n        _malleateBytecode(\\n            _params.numWitnesses,\\n            _params.minWitnessingConsensus,\\n            _witnessingCollateral,\\n            _params.witnessingReward,\\n            _params.witnessingUnitaryFee\\n        );\\n    }\\n\\n    /// Specifies how much you want to pay for rewarding each of the Witnet nodes.\\n    /// @param _witnessingReward Amount of nanowits that every request-solving witness will be rewarded with.\\n    /// @param _witnessingUnitaryFee Amount of nanowits that will be earned by Witnet miners for each each valid \\n    /// commit/reveal transaction they include in a block.\\n    function setWitnessingFees(uint64 _witnessingReward, uint64 _witnessingUnitaryFee)\\n        public\\n        virtual\\n        onlyOwner\\n    {\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        _params.witnessingReward = _witnessingReward;\\n        _params.witnessingUnitaryFee = _witnessingUnitaryFee;\\n        _malleateBytecode(\\n            _params.numWitnesses,\\n            _params.minWitnessingConsensus,\\n            _params.witnessingCollateral,\\n            _witnessingReward,\\n            _witnessingUnitaryFee\\n        );\\n    }\\n\\n    /// Sets how many Witnet nodes will be \\\"hired\\\" for resolving the request.\\n    /// @param _numWitnesses Number of witnesses required to be involved for solving this Witnet Data Request.\\n    /// @param _minWitnessingConsensus Threshold percentage for aborting resolution of a request if the witnessing \\n    /// nodes did not arrive to a broad consensus.\\n    function setWitnessingQuorum(uint8 _numWitnesses, uint8 _minWitnessingConsensus)\\n        public\\n        virtual\\n        onlyOwner\\n    {\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        _params.numWitnesses = _numWitnesses;\\n        _params.minWitnessingConsensus = _minWitnessingConsensus;\\n        _malleateBytecode(\\n            _numWitnesses,\\n            _minWitnessingConsensus,\\n            _params.witnessingCollateral,\\n            _params.witnessingReward,\\n            _params.witnessingUnitaryFee\\n        );\\n    }\\n\\n    /// Returns immutable template bytecode: actual CBOR-encoded data request at the Witnet protocol\\n    /// level, including no witnessing parameters at all.\\n    function template()\\n        external view\\n        returns (bytes memory)\\n    {\\n        return _request().template;\\n    }\\n\\n    /// Returns total amount of nanowits that witnessing nodes will need to collateralize all together.\\n    function totalWitnessingCollateral()\\n        external view\\n        returns (uint128)\\n    {\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        return _params.numWitnesses * _params.witnessingCollateral;\\n    }\\n\\n    /// Returns total amount of nanowits that will have to be paid in total for this request to be solved.\\n    function totalWitnessingFee()\\n        external view\\n        returns (uint128)\\n    {\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        return _params.numWitnesses * (2 * _params.witnessingUnitaryFee + _params.witnessingReward);\\n    }\\n\\n    /// Returns witnessing parameters of current Witnet Data Request.\\n    function witnessingParams()\\n        external view\\n        returns (WitnetRequestWitnessingParams memory)\\n    {\\n        return _request().params;\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- 'Clonable' overriden functions -----------------------------------------------------------------------------\\n\\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract\\n    /// behaviour while using its own EVM storage.\\n    /// @dev This function should always provide a new address, no matter how many times \\n    /// @dev is actually called from the same `msg.sender`.\\n    function clone()\\n        public\\n        virtual override\\n        returns (Clonable _instance)\\n    {\\n        _instance = super.clone();\\n        _instance.initialize(_request().template);\\n        Ownable(address(_instance)).transferOwnership(msg.sender);\\n    }\\n\\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract \\n    /// behaviour while using its own EVM storage.\\n    /// @dev This function uses the CREATE2 opcode and a `_salt` to deterministically deploy\\n    /// @dev the clone. Using the same `_salt` multiple time will revert, since\\n    /// @dev no contract can be deployed more than once at the same address.\\n    function cloneDeterministic(bytes32 _salt)\\n        public\\n        virtual override\\n        returns (Clonable _instance)\\n    {\\n        _instance = super.cloneDeterministic(_salt);\\n        _instance.initialize(_request().template);\\n        Ownable(address(_instance)).transferOwnership(msg.sender);\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- 'Initializable' overriden functions ------------------------------------------------------------------------\\n\\n    /// @dev Initializes contract's storage context.\\n    function initialize(bytes memory _template)\\n        public\\n        virtual override\\n    {\\n        require(_request().template.length == 0, \\\"WitnetRequestMalleableBase: already initialized\\\");\\n        _initialize(_template);\\n        _transferOwnership(_msgSender());\\n    }\\n\\n    // ================================================================================================================\\n    // --- 'Ownable' overriden functions ------------------------------------------------------------------------------\\n\\n    /// Returns the address of the current owner.\\n    function owner()\\n        public view\\n        virtual override\\n        returns (address)\\n    {\\n        return _request().owner;\\n    }\\n\\n    /// @dev Transfers ownership of the contract to a new account (`newOwner`).\\n    function _transferOwnership(address newOwner)\\n        internal\\n        virtual override\\n    {\\n        address oldOwner = _request().owner;\\n        _request().owner = newOwner;\\n        emit OwnershipTransferred(oldOwner, newOwner);\\n    }\\n\\n    // ================================================================================================================\\n    // --- 'Proxiable 'overriden functions ----------------------------------------------------------------------------\\n\\n    /// @dev Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1822.\\n    function proxiableUUID()\\n        external pure\\n        virtual override\\n        returns (bytes32)\\n    {\\n        return (\\n            /* keccak256(\\\"io.witnet.requests.malleable\\\") */\\n            0x851d0a92a3ad30295bef33afc69d6874779826b7789386b336e22621365ed2c2\\n        );\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- INTERNAL FUNCTIONS -----------------------------------------------------------------------------------------    \\n\\n    /// @dev Initializes witnessing params and template bytecode.\\n    function _initialize(bytes memory _template)\\n        internal\\n    {\\n        assert(_template.length > 0);\\n        _request().template = _template;\\n\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        _params.numWitnesses = 2;\\n        _params.minWitnessingConsensus = 51;\\n        _params.witnessingCollateral = 10 ** 9;      // 1 WIT\\n        _params.witnessingReward = 5 * 10 ** 5;      // 0.5 milliWITs\\n        _params.witnessingUnitaryFee = 25 * 10 ** 4; // 0.25 milliWITs\\n        \\n        _malleateBytecode(\\n            _params.numWitnesses,\\n            _params.minWitnessingConsensus,\\n            _params.witnessingCollateral,\\n            _params.witnessingReward,\\n            _params.witnessingUnitaryFee\\n        );\\n    }\\n\\n    /// @dev Serializes new `bytecode` by combining immutable template with given parameters.\\n    function _malleateBytecode(\\n            uint8 _numWitnesses,\\n            uint8 _minWitnessingConsensus,\\n            uint64 _witnessingCollateral,\\n            uint64 _witnessingReward,\\n            uint64 _witnessingUnitaryFee\\n        )\\n        internal\\n        virtual\\n    {\\n        require(\\n            _witnessingReward > 0,\\n            \\\"WitnetRequestMalleableBase: no reward\\\"\\n        );\\n        require(\\n            _numWitnesses >= 1 && _numWitnesses <= 127,\\n            \\\"WitnetRequestMalleableBase: number of witnesses out of range\\\"\\n        );\\n        require(\\n            _minWitnessingConsensus >= 51 && _minWitnessingConsensus <= 99,\\n            \\\"WitnetRequestMalleableBase: witnessing consensus out of range\\\"\\n        );\\n        require(\\n            _witnessingCollateral >= 10 ** 9,\\n            \\\"WitnetRequestMalleableBase: witnessing collateral below 1 WIT\\\"\\n        );\\n\\n        _request().bytecode = abi.encodePacked(\\n            _request().template,\\n            _uint64varint(bytes1(0x10), _witnessingReward),\\n            _uint8varint(bytes1(0x18), _numWitnesses),\\n            _uint64varint(0x20, _witnessingUnitaryFee),\\n            _uint8varint(0x28, _minWitnessingConsensus),\\n            _uint64varint(0x30, _witnessingCollateral)\\n        );\\n        _request().hash = _request().bytecode.hash();\\n        emit WitnessingParamsChanged(\\n            msg.sender,\\n            _numWitnesses,\\n            _minWitnessingConsensus,\\n            _witnessingCollateral,\\n            _witnessingReward,\\n            _witnessingUnitaryFee\\n        );\\n    }\\n\\n    /// @dev Returns pointer to storage slot where State struct is located.\\n    function _request()\\n        internal pure\\n        virtual\\n        returns (WitnetRequestMalleableBaseContext storage _ptr)\\n    {\\n        assembly {\\n            _ptr.slot :=\\n                /* keccak256(\\\"io.witnet.requests.malleable.context\\\") */\\n                0x375930152e1d0d102998be6e496b0cee86c9ecd0efef01014ecff169b17dfba7\\n        }\\n    }\\n\\n    /// @dev Encode uint64 into tagged varint.\\n    /// @dev See https://developers.google.com/protocol-buffers/docs/encoding#varints.\\n    /// @param t Tag\\n    /// @param n Number\\n    /// @return Marshaled bytes\\n    function _uint64varint(bytes1 t, uint64 n)\\n        internal pure\\n        returns (bytes memory)\\n    {\\n        // Count the number of groups of 7 bits\\n        // We need this pre-processing step since Solidity doesn't allow dynamic memory resizing\\n        uint64 tmp = n;\\n        uint64 numBytes = 2;\\n        while (tmp > 0x7F) {\\n            tmp = tmp >> 7;\\n            numBytes += 1;\\n        }\\n        bytes memory buf = new bytes(numBytes);\\n        tmp = n;\\n        buf[0] = t;\\n        for (uint64 i = 1; i < numBytes; i++) {\\n            // Set the first bit in the byte for each group of 7 bits\\n            buf[i] = bytes1(0x80 | uint8(tmp & 0x7F));\\n            tmp = tmp >> 7;\\n        }\\n        // Unset the first bit of the last byte\\n        buf[numBytes - 1] &= 0x7F;\\n        return buf;\\n    }\\n\\n    /// @dev Encode uint8 into tagged varint.\\n    /// @param t Tag\\n    /// @param n Number\\n    /// @return Marshaled bytes\\n    function _uint8varint(bytes1 t, uint8 n)\\n        internal pure\\n        returns (bytes memory)\\n    {\\n        return _uint64varint(t, uint64(n));\\n    }\\n}\\n\",\"keccak256\":\"0x53d0d402776e310c678643ed6b07d4f73511de9d1fa73732abf4251d69755b22\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/requests/WitnetRequestRandomness.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"./WitnetRequestMalleableBase.sol\\\";\\n\\ncontract WitnetRequestRandomness is WitnetRequestMalleableBase {\\n    bytes internal constant _WITNET_RANDOMNESS_BYTECODE_TEMPLATE = hex\\\"0a0f120508021a01801a0210022202100b\\\";\\n\\n    constructor() {\\n        initialize(bytes(\\\"\\\"));\\n    }\\n\\n    function initialize(bytes memory)\\n        public\\n        virtual override\\n    {\\n        super.initialize(_WITNET_RANDOMNESS_BYTECODE_TEMPLATE);\\n    }\\n}\\n\",\"keccak256\":\"0xc3b4a7d0dc396fb83b71beeae2a6d7de86b300919f894fcae73b7680829d716f\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[{"astId":4178,"contract":"witnet-solidity-bridge/contracts/apps/WitnetRandomness.sol:WitnetRandomness","label":"witnetRandomnessRequest","offset":0,"slot":"0","type":"t_contract(WitnetRequestRandomness)12753"},{"astId":4181,"contract":"witnet-solidity-bridge/contracts/apps/WitnetRandomness.sol:WitnetRandomness","label":"latestRandomizeBlock","offset":0,"slot":"1","type":"t_uint256"},{"astId":4186,"contract":"witnet-solidity-bridge/contracts/apps/WitnetRandomness.sol:WitnetRandomness","label":"__randomize_","offset":0,"slot":"2","type":"t_mapping(t_uint256,t_struct(RandomizeData)4195_storage)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_contract(WitnetRequestRandomness)12753":{"encoding":"inplace","label":"contract WitnetRequestRandomness","numberOfBytes":"20"},"t_mapping(t_uint256,t_struct(RandomizeData)4195_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct WitnetRandomness.RandomizeData)","numberOfBytes":"32","value":"t_struct(RandomizeData)4195_storage"},"t_struct(RandomizeData)4195_storage":{"encoding":"inplace","label":"struct WitnetRandomness.RandomizeData","members":[{"astId":4188,"contract":"witnet-solidity-bridge/contracts/apps/WitnetRandomness.sol:WitnetRandomness","label":"from","offset":0,"slot":"0","type":"t_address"},{"astId":4190,"contract":"witnet-solidity-bridge/contracts/apps/WitnetRandomness.sol:WitnetRandomness","label":"prevBlock","offset":0,"slot":"1","type":"t_uint256"},{"astId":4192,"contract":"witnet-solidity-bridge/contracts/apps/WitnetRandomness.sol:WitnetRandomness","label":"nextBlock","offset":0,"slot":"2","type":"t_uint256"},{"astId":4194,"contract":"witnet-solidity-bridge/contracts/apps/WitnetRandomness.sol:WitnetRandomness","label":"witnetQueryId","offset":0,"slot":"3","type":"t_uint256"}],"numberOfBytes":"128"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"userdoc":{"events":{"Randomized(address,uint256,uint256,bytes32)":{"notice":"Thrown every time a new WitnetRandomnessRequest gets succesfully posted to the WitnetRequestBoard."}},"kind":"user","methods":{"clone()":{"notice":"Deploys and returns the address of a minimal proxy clone that replicates contract behaviour while using its own EVM storage."},"cloneDeterministic(bytes32)":{"notice":"Deploys and returns the address of a minimal proxy clone that replicates contract  behaviour while using its own EVM storage."},"cloned()":{"notice":"Tells whether this contract is a clone of another (i.e. `self()`)"},"constructor":{"notice":"Include an address to specify the immutable WitnetRequestBoard entrypoint address."},"estimateRandomizeFee(uint256)":{"notice":"Returns amount of wei required to be paid as a fee when requesting randomization with a  transaction gas price as the one given."},"getRandomizeData(uint256)":{"notice":"Retrieves data of a randomization request that got successfully posted to the WRB within a given block."},"getRandomnessAfter(uint256)":{"notice":"Retrieves the randomness generated upon solving a request that was posted within a given block, if any, or to the _first_ request posted after that block, otherwise. Should the intended  request happen to be finalized with errors on the Witnet oracle network side, this function  will recursively try to return randomness from the next non-faulty randomization request found  in storage, if any. "},"getRandomnessNextBlock(uint256)":{"notice":"Tells what is the number of the next block in which a randomization request was posted after the given one. "},"getRandomnessPrevBlock(uint256)":{"notice":"Gets previous block in which a randomness request was posted before the given one."},"isRandomized(uint256)":{"notice":"Returns `true` only when the randomness request that got posted within given block was already reported back from the Witnet oracle, either successfully or with an error of any kind."},"latestRandomizeBlock()":{"notice":"Returns latest block in which a randomness request got sucessfully posted to the WRB."},"random(uint32,uint256,bytes32)":{"notice":"Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using  the given `_nonce` value and the given `_seed` as a source of entropy."},"random(uint32,uint256,uint256)":{"notice":"Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using  the given `_nonce` value and the randomness returned by `getRandomnessAfter(_block)`. "},"randomize()":{"notice":"Requests the Witnet oracle to generate an EVM-agnostic and trustless source of randomness.  Only one randomness request per block will be actually posted to the WRB. Should there  already be a posted request within current block, it will try to upgrade Witnet fee of current's  block randomness request according to current gas price. In both cases, all unused funds shall  be transfered back to the tx sender."},"self()":{"notice":"Immutable contract address that actually attends all calls to this contract."},"upgradeRandomizeFee(uint256)":{"notice":"Increases Witnet fee related to a pending-to-be-solved randomness request, as much as it may be required in proportion to how much bigger the current tx gas price is with respect the  highest gas price that was paid in either previous fee upgrades, or when the given randomness  request was posted. All unused funds shall be transferred back to the tx sender."}},"version":1}}},"witnet-solidity-bridge/contracts/data/WitnetBoardData.sol":{"WitnetBoardData":{"abi":[],"devdoc":{"author":"The Witnet Foundation.","kind":"dev","methods":{},"title":"Witnet Request Board base data model. ","version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Witnet Request Board base data model. \",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/data/WitnetBoardData.sol\":\"WitnetBoardData\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/data/WitnetBoardData.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Request Board base data model. \\n/// @author The Witnet Foundation.\\nabstract contract WitnetBoardData {  \\n\\n    bytes32 internal constant _WITNET_BOARD_DATA_SLOTHASH =\\n        /* keccak256(\\\"io.witnet.boards.data\\\") */\\n        0xf595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183;\\n\\n    struct WitnetBoardState {\\n        address base;\\n        address owner;    \\n        uint256 numQueries;\\n        mapping (uint => Witnet.Query) queries;\\n    }\\n\\n    constructor() {\\n        _state().owner = msg.sender;\\n    }\\n\\n    /// Asserts the given query is currently in the given status.\\n    modifier inStatus(uint256 _queryId, Witnet.QueryStatus _status) {\\n      require(\\n          _getQueryStatus(_queryId) == _status,\\n          _getQueryStatusRevertMessage(_status)\\n        );\\n      _;\\n    }\\n\\n    /// Asserts the given query was previously posted and that it was not yet deleted.\\n    modifier notDeleted(uint256 _queryId) {\\n        require(_queryId > 0 && _queryId <= _state().numQueries, \\\"WitnetBoardData: not yet posted\\\");\\n        require(_getRequester(_queryId) != address(0), \\\"WitnetBoardData: deleted\\\");\\n        _;\\n    }\\n\\n    /// Asserts caller corresponds to the current owner. \\n    modifier onlyOwner {\\n        require(msg.sender == _state().owner, \\\"WitnetBoardData: only owner\\\");\\n        _;    \\n    }\\n\\n    /// Asserts the give query was actually posted before calling this method.\\n    modifier wasPosted(uint256 _queryId) {\\n        require(_queryId > 0 && _queryId <= _state().numQueries, \\\"WitnetBoardData: not yet posted\\\");\\n        _;\\n    }\\n\\n    // ================================================================================================================\\n    // --- Internal functions -----------------------------------------------------------------------------------------\\n\\n    /// Gets current status of given query.\\n    function _getQueryStatus(uint256 _queryId)\\n      internal view\\n      returns (Witnet.QueryStatus)\\n    {\\n      if (_queryId == 0 || _queryId > _state().numQueries) {\\n        // \\\"Unknown\\\" status if queryId is out of range:\\n        return Witnet.QueryStatus.Unknown;\\n      }\\n      else {\\n        Witnet.Query storage _query = _state().queries[_queryId];\\n        if (_query.response.drTxHash != 0) {\\n          // Query is in \\\"Reported\\\" status as soon as the hash of the\\n          // Witnet transaction that solved the query is reported\\n          // back from a Witnet bridge:\\n          return Witnet.QueryStatus.Reported;\\n        }\\n        else if (_query.from != address(0)) {\\n          // Otherwise, while address from which the query was posted\\n          // is kept in storage, the query remains in \\\"Posted\\\" status:\\n          return Witnet.QueryStatus.Posted;\\n        }\\n        else {\\n          // Requester's address is removed from storage only if\\n          // the query gets \\\"Deleted\\\" by its requester.\\n          return Witnet.QueryStatus.Deleted;\\n        }\\n      }\\n    }\\n\\n    function _getQueryStatusRevertMessage(Witnet.QueryStatus _status)\\n      internal pure\\n      returns (string memory)\\n    {\\n      if (_status == Witnet.QueryStatus.Posted) {\\n        return \\\"WitnetBoardData: not in Posted status\\\";\\n      } else if (_status == Witnet.QueryStatus.Reported) {\\n        return \\\"WitnetBoardData: not in Reported status\\\";\\n      } else if (_status == Witnet.QueryStatus.Deleted) {\\n        return \\\"WitnetBoardData: not in Deleted status\\\";\\n      } else {\\n        return \\\"WitnetBoardData: bad mood\\\";\\n      }\\n    }\\n\\n    /// Gets from of a given query.\\n    function _getRequester(uint256 _queryId)\\n      internal view\\n      returns (address)\\n    {\\n      return _state().queries[_queryId].from;\\n    }\\n\\n    /// Gets the Witnet.Request part of a given query.\\n    function _getRequestData(uint256 _queryId)\\n      internal view\\n      returns (Witnet.Request storage)\\n    {\\n        return _state().queries[_queryId].request;\\n    }\\n\\n    /// Gets the Witnet.Result part of a given query.\\n    function _getResponseData(uint256 _queryId)\\n      internal view\\n      returns (Witnet.Response storage)\\n    {\\n        return _state().queries[_queryId].response;\\n    }\\n\\n    /// Returns storage pointer to contents of 'WitnetBoardState' struct.\\n    function _state()\\n      internal pure\\n      returns (WitnetBoardState storage _ptr)\\n    {\\n        assembly {\\n            _ptr.slot := _WITNET_BOARD_DATA_SLOTHASH\\n        }\\n    }\\n\\n}\\n\",\"keccak256\":\"0x0c78c9981103e9ed35ace4e5f886a848f9dfe2aa26928adc0d37dabeff6a19db\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"version":1}}},"witnet-solidity-bridge/contracts/data/WitnetBoardDataACLs.sol":{"WitnetBoardDataACLs":{"abi":[],"devdoc":{"author":"The Witnet Foundation.","kind":"dev","methods":{},"title":"Witnet Access Control Lists storage layout, for Witnet-trusted request boards.","version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Witnet Access Control Lists storage layout, for Witnet-trusted request boards.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/data/WitnetBoardDataACLs.sol\":\"WitnetBoardDataACLs\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/data/WitnetBoardData.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Request Board base data model. \\n/// @author The Witnet Foundation.\\nabstract contract WitnetBoardData {  \\n\\n    bytes32 internal constant _WITNET_BOARD_DATA_SLOTHASH =\\n        /* keccak256(\\\"io.witnet.boards.data\\\") */\\n        0xf595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183;\\n\\n    struct WitnetBoardState {\\n        address base;\\n        address owner;    \\n        uint256 numQueries;\\n        mapping (uint => Witnet.Query) queries;\\n    }\\n\\n    constructor() {\\n        _state().owner = msg.sender;\\n    }\\n\\n    /// Asserts the given query is currently in the given status.\\n    modifier inStatus(uint256 _queryId, Witnet.QueryStatus _status) {\\n      require(\\n          _getQueryStatus(_queryId) == _status,\\n          _getQueryStatusRevertMessage(_status)\\n        );\\n      _;\\n    }\\n\\n    /// Asserts the given query was previously posted and that it was not yet deleted.\\n    modifier notDeleted(uint256 _queryId) {\\n        require(_queryId > 0 && _queryId <= _state().numQueries, \\\"WitnetBoardData: not yet posted\\\");\\n        require(_getRequester(_queryId) != address(0), \\\"WitnetBoardData: deleted\\\");\\n        _;\\n    }\\n\\n    /// Asserts caller corresponds to the current owner. \\n    modifier onlyOwner {\\n        require(msg.sender == _state().owner, \\\"WitnetBoardData: only owner\\\");\\n        _;    \\n    }\\n\\n    /// Asserts the give query was actually posted before calling this method.\\n    modifier wasPosted(uint256 _queryId) {\\n        require(_queryId > 0 && _queryId <= _state().numQueries, \\\"WitnetBoardData: not yet posted\\\");\\n        _;\\n    }\\n\\n    // ================================================================================================================\\n    // --- Internal functions -----------------------------------------------------------------------------------------\\n\\n    /// Gets current status of given query.\\n    function _getQueryStatus(uint256 _queryId)\\n      internal view\\n      returns (Witnet.QueryStatus)\\n    {\\n      if (_queryId == 0 || _queryId > _state().numQueries) {\\n        // \\\"Unknown\\\" status if queryId is out of range:\\n        return Witnet.QueryStatus.Unknown;\\n      }\\n      else {\\n        Witnet.Query storage _query = _state().queries[_queryId];\\n        if (_query.response.drTxHash != 0) {\\n          // Query is in \\\"Reported\\\" status as soon as the hash of the\\n          // Witnet transaction that solved the query is reported\\n          // back from a Witnet bridge:\\n          return Witnet.QueryStatus.Reported;\\n        }\\n        else if (_query.from != address(0)) {\\n          // Otherwise, while address from which the query was posted\\n          // is kept in storage, the query remains in \\\"Posted\\\" status:\\n          return Witnet.QueryStatus.Posted;\\n        }\\n        else {\\n          // Requester's address is removed from storage only if\\n          // the query gets \\\"Deleted\\\" by its requester.\\n          return Witnet.QueryStatus.Deleted;\\n        }\\n      }\\n    }\\n\\n    function _getQueryStatusRevertMessage(Witnet.QueryStatus _status)\\n      internal pure\\n      returns (string memory)\\n    {\\n      if (_status == Witnet.QueryStatus.Posted) {\\n        return \\\"WitnetBoardData: not in Posted status\\\";\\n      } else if (_status == Witnet.QueryStatus.Reported) {\\n        return \\\"WitnetBoardData: not in Reported status\\\";\\n      } else if (_status == Witnet.QueryStatus.Deleted) {\\n        return \\\"WitnetBoardData: not in Deleted status\\\";\\n      } else {\\n        return \\\"WitnetBoardData: bad mood\\\";\\n      }\\n    }\\n\\n    /// Gets from of a given query.\\n    function _getRequester(uint256 _queryId)\\n      internal view\\n      returns (address)\\n    {\\n      return _state().queries[_queryId].from;\\n    }\\n\\n    /// Gets the Witnet.Request part of a given query.\\n    function _getRequestData(uint256 _queryId)\\n      internal view\\n      returns (Witnet.Request storage)\\n    {\\n        return _state().queries[_queryId].request;\\n    }\\n\\n    /// Gets the Witnet.Result part of a given query.\\n    function _getResponseData(uint256 _queryId)\\n      internal view\\n      returns (Witnet.Response storage)\\n    {\\n        return _state().queries[_queryId].response;\\n    }\\n\\n    /// Returns storage pointer to contents of 'WitnetBoardState' struct.\\n    function _state()\\n      internal pure\\n      returns (WitnetBoardState storage _ptr)\\n    {\\n        assembly {\\n            _ptr.slot := _WITNET_BOARD_DATA_SLOTHASH\\n        }\\n    }\\n\\n}\\n\",\"keccak256\":\"0x0c78c9981103e9ed35ace4e5f886a848f9dfe2aa26928adc0d37dabeff6a19db\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/data/WitnetBoardDataACLs.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"./WitnetBoardData.sol\\\";\\n\\n/// @title Witnet Access Control Lists storage layout, for Witnet-trusted request boards.\\n/// @author The Witnet Foundation.\\nabstract contract WitnetBoardDataACLs\\n    is\\n        WitnetBoardData\\n{\\n    bytes32 internal constant _WITNET_BOARD_ACLS_SLOTHASH =\\n        /* keccak256(\\\"io.witnet.boards.data.acls\\\") */\\n        0xa6db7263983f337bae2c9fb315730227961d1c1153ae1e10a56b5791465dd6fd;\\n\\n    struct WitnetBoardACLs {\\n        mapping (address => bool) isReporter_;\\n    }\\n\\n    constructor() {\\n        _acls().isReporter_[msg.sender] = true;\\n    }\\n\\n    modifier onlyReporters {\\n        require(\\n            _acls().isReporter_[msg.sender],\\n            \\\"WitnetBoardDataACLs: unauthorized reporter\\\"\\n        );\\n        _;\\n    } \\n\\n    // ================================================================================================================\\n    // --- Internal functions -----------------------------------------------------------------------------------------\\n\\n    function _acls() internal pure returns (WitnetBoardACLs storage _struct) {\\n        assembly {\\n            _struct.slot := _WITNET_BOARD_ACLS_SLOTHASH\\n        }\\n    }\\n}\\n\",\"keccak256\":\"0x558f28fc690d2f7180da9393bc49083da4857aa8480f044f68355a61ebf21257\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"version":1}}},"witnet-solidity-bridge/contracts/impls/WitnetProxy.sol":{"WitnetProxy":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newImplementation","type":"address"},{"internalType":"bytes","name":"_initData","type":"bytes"}],"name":"upgradeTo","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}],"devdoc":{"author":"The Witnet Foundation.","kind":"dev","methods":{"upgradeTo(address,bytes)":{"params":{"_initData":"Raw data with which new implementation will be initialized.","_newImplementation":"New implementation address."},"returns":{"_0":"Returns whether new implementation would be further upgradable, or not."}}},"title":"WitnetProxy: upgradable delegate-proxy contract that routes Witnet data requests coming from a  `UsingWitnet`-inheriting contract to a currently active `WitnetRequestBoard` implementation. ","version":1},"evm":{"bytecode":{"functionDebugData":{"@_5303":{"entryPoint":null,"id":5303,"parameterSlots":0,"returnSlots":0}},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b506111a5806100206000396000f3fe60806040526004361061002d5760003560e01c80635c60da1b146100a05780636fbc15e9146100cb5761006d565b3661006d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161006490610c84565b60405180910390fd5b6000610077610108565b905060405136600082376000803683855af43d806000843e816000811461009c578184f35b8184fd5b3480156100ac57600080fd5b506100b5610108565b6040516100c29190610c0c565b60405180910390f35b3480156100d757600080fd5b506100f260048036038101906100ed919061097c565b61013b565b6040516100ff9190610c27565b60405180910390f35b60006101126108a5565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156101ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101a390610ce4565b60405180910390fd5b60006101b6610108565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461061e578073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561025b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025290610d24565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16635479d9406040518163ffffffff1660e01b815260040160206040518083038186803b1580156102a157600080fd5b505afa9250505080156102d257506040513d601f19601f820116820180604052508101906102cf91906109d8565b60015b610311576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030890610ca4565b60405180910390fd5b80610351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034890610d04565b60405180910390fd5b506000808273ffffffffffffffffffffffffffffffffffffffff163360405160240161037d9190610c0c565b6040516020818303038152906040527f6b58960a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516104079190610bf5565b600060405180830381855af49150503d8060008114610442576040519150601f19603f3d011682016040523d82523d6000602084013e610447565b606091505b50915091508161048c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048390610d64565b60405180910390fd5b808060200190518101906104a091906109d8565b6104df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d690610cc4565b60405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561052557600080fd5b505afa158015610539573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055d9190610a05565b8373ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156105a357600080fd5b505afa1580156105b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105db9190610a05565b1461061b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061290610d44565b60405180910390fd5b50505b60008473ffffffffffffffffffffffffffffffffffffffff16846040516024016106489190610c42565b6040516020818303038152906040527f439fab91000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516106d29190610bf5565b600060405180830381855af49150503d806000811461070d576040519150601f19603f3d011682016040523d82523d6000602084013e610712565b606091505b5050905080610756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074d90610c64565b60405180910390fd5b8461075f6108a5565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508473ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a28473ffffffffffffffffffffffffffffffffffffffff16635479d9406040518163ffffffff1660e01b815260040160206040518083038186803b15801561082957600080fd5b505afa92505050801561085a57506040513d601f19601f8201168201806040525081019061085791906109d8565b60015b610899576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089090610d64565b60405180910390fd5b80935050505092915050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc905090565b60006108e06108db84610da9565b610d84565b9050828152602081018484840111156108fc576108fb610f01565b5b610907848285610e5a565b509392505050565b60008135905061091e8161112a565b92915050565b60008151905061093381611141565b92915050565b60008151905061094881611158565b92915050565b600082601f83011261096357610962610efc565b5b81356109738482602086016108cd565b91505092915050565b6000806040838503121561099357610992610f0b565b5b60006109a18582860161090f565b925050602083013567ffffffffffffffff8111156109c2576109c1610f06565b5b6109ce8582860161094e565b9150509250929050565b6000602082840312156109ee576109ed610f0b565b5b60006109fc84828501610924565b91505092915050565b600060208284031215610a1b57610a1a610f0b565b5b6000610a2984828501610939565b91505092915050565b610a3b81610e12565b82525050565b610a4a81610e24565b82525050565b6000610a5b82610dda565b610a658185610de5565b9350610a75818560208601610e69565b610a7e81610f10565b840191505092915050565b6000610a9482610dda565b610a9e8185610df6565b9350610aae818560208601610e69565b80840191505092915050565b6000610ac7602183610e01565b9150610ad282610f21565b604082019050919050565b6000610aea602283610e01565b9150610af582610f70565b604082019050919050565b6000610b0d602a83610e01565b9150610b1882610fbf565b604082019050919050565b6000610b30601b83610e01565b9150610b3b8261100e565b602082019050919050565b6000610b53602083610e01565b9150610b5e82611037565b602082019050919050565b6000610b76601b83610e01565b9150610b8182611060565b602082019050919050565b6000610b99601f83610e01565b9150610ba482611089565b602082019050919050565b6000610bbc602483610e01565b9150610bc7826110b2565b604082019050919050565b6000610bdf601a83610e01565b9150610bea82611101565b602082019050919050565b6000610c018284610a89565b915081905092915050565b6000602082019050610c216000830184610a32565b92915050565b6000602082019050610c3c6000830184610a41565b92915050565b60006020820190508181036000830152610c5c8184610a50565b905092915050565b60006020820190508181036000830152610c7d81610aba565b9050919050565b60006020820190508181036000830152610c9d81610add565b9050919050565b60006020820190508181036000830152610cbd81610b00565b9050919050565b60006020820190508181036000830152610cdd81610b23565b9050919050565b60006020820190508181036000830152610cfd81610b46565b9050919050565b60006020820190508181036000830152610d1d81610b69565b9050919050565b60006020820190508181036000830152610d3d81610b8c565b9050919050565b60006020820190508181036000830152610d5d81610baf565b9050919050565b60006020820190508181036000830152610d7d81610bd2565b9050919050565b6000610d8e610d9f565b9050610d9a8282610e9c565b919050565b6000604051905090565b600067ffffffffffffffff821115610dc457610dc3610ecd565b5b610dcd82610f10565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000610e1d82610e3a565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b82818337600083830152505050565b60005b83811015610e87578082015181840152602081019050610e6c565b83811115610e96576000848401525b50505050565b610ea582610f10565b810181811067ffffffffffffffff82111715610ec457610ec3610ecd565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f5769746e657450726f78793a20756e61626c6520746f20696e697469616c697a60008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b7f5769746e657450726f78793a206e6f207472616e73666572732061636365707460008201527f6564000000000000000000000000000000000000000000000000000000000000602082015250565b7f5769746e657450726f78793a20756e61626c6520746f20636865636b2075706760008201527f7261646162696c69747900000000000000000000000000000000000000000000602082015250565b7f5769746e657450726f78793a206e6f7420617574686f72697a65640000000000600082015250565b7f5769746e657450726f78793a206e756c6c20696d706c656d656e746174696f6e600082015250565b7f5769746e657450726f78793a206e6f742075706772616461626c650000000000600082015250565b7f5769746e657450726f78793a206e6f7468696e6720746f207570677261646500600082015250565b7f5769746e657450726f78793a2070726f786961626c655555494473206d69736d60008201527f6174636800000000000000000000000000000000000000000000000000000000602082015250565b7f5769746e657450726f78793a206e6f7420636f6d706c69616e74000000000000600082015250565b61113381610e12565b811461113e57600080fd5b50565b61114a81610e24565b811461115557600080fd5b50565b61116181610e30565b811461116c57600080fd5b5056fea26469706673582212204ab7787d72da28baaa9c9bc0d8bb9a171073217de443a926002a74b6cd7143c464736f6c63430008070033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x11A5 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0xA0 JUMPI DUP1 PUSH4 0x6FBC15E9 EQ PUSH2 0xCB JUMPI PUSH2 0x6D JUMP JUMPDEST CALLDATASIZE PUSH2 0x6D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x64 SWAP1 PUSH2 0xC84 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x77 PUSH2 0x108 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 MLOAD CALLDATASIZE PUSH1 0x0 DUP3 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE DUP4 DUP6 GAS DELEGATECALL RETURNDATASIZE DUP1 PUSH1 0x0 DUP5 RETURNDATACOPY DUP2 PUSH1 0x0 DUP2 EQ PUSH2 0x9C JUMPI DUP2 DUP5 RETURN JUMPDEST DUP2 DUP5 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB5 PUSH2 0x108 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC2 SWAP2 SWAP1 PUSH2 0xC0C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xED SWAP2 SWAP1 PUSH2 0x97C JUMP JUMPDEST PUSH2 0x13B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFF SWAP2 SWAP1 PUSH2 0xC27 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x112 PUSH2 0x8A5 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1AC JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A3 SWAP1 PUSH2 0xCE4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1B6 PUSH2 0x108 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x61E JUMPI DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x25B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x252 SWAP1 PUSH2 0xD24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5479D940 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 0x2A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x2D2 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2CF SWAP2 SWAP1 PUSH2 0x9D8 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x311 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x308 SWAP1 PUSH2 0xCA4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x351 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x348 SWAP1 PUSH2 0xD04 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x37D SWAP2 SWAP1 PUSH2 0xC0C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0x6B58960A00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x407 SWAP2 SWAP1 PUSH2 0xBF5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x442 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x447 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x48C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x483 SWAP1 PUSH2 0xD64 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x4A0 SWAP2 SWAP1 PUSH2 0x9D8 JUMP JUMPDEST PUSH2 0x4DF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D6 SWAP1 PUSH2 0xCC4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x52D1902D 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 0x525 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x539 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 0x55D SWAP2 SWAP1 PUSH2 0xA05 JUMP JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x52D1902D 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 0x5A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x5B7 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 0x5DB SWAP2 SWAP1 PUSH2 0xA05 JUMP JUMPDEST EQ PUSH2 0x61B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x612 SWAP1 PUSH2 0xD44 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP JUMPDEST PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x648 SWAP2 SWAP1 PUSH2 0xC42 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0x439FAB9100000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x6D2 SWAP2 SWAP1 PUSH2 0xBF5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x70D JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x712 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x756 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x74D SWAP1 PUSH2 0xC64 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 PUSH2 0x75F PUSH2 0x8A5 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5479D940 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 0x829 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x85A JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x857 SWAP2 SWAP1 PUSH2 0x9D8 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x899 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x890 SWAP1 PUSH2 0xD64 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8E0 PUSH2 0x8DB DUP5 PUSH2 0xDA9 JUMP JUMPDEST PUSH2 0xD84 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x8FC JUMPI PUSH2 0x8FB PUSH2 0xF01 JUMP JUMPDEST JUMPDEST PUSH2 0x907 DUP5 DUP3 DUP6 PUSH2 0xE5A JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x91E DUP2 PUSH2 0x112A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x933 DUP2 PUSH2 0x1141 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x948 DUP2 PUSH2 0x1158 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x963 JUMPI PUSH2 0x962 PUSH2 0xEFC JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x973 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x8CD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x993 JUMPI PUSH2 0x992 PUSH2 0xF0B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x9A1 DUP6 DUP3 DUP7 ADD PUSH2 0x90F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x9C2 JUMPI PUSH2 0x9C1 PUSH2 0xF06 JUMP JUMPDEST JUMPDEST PUSH2 0x9CE DUP6 DUP3 DUP7 ADD PUSH2 0x94E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9EE JUMPI PUSH2 0x9ED PUSH2 0xF0B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x9FC DUP5 DUP3 DUP6 ADD PUSH2 0x924 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA1B JUMPI PUSH2 0xA1A PUSH2 0xF0B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xA29 DUP5 DUP3 DUP6 ADD PUSH2 0x939 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xA3B DUP2 PUSH2 0xE12 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xA4A DUP2 PUSH2 0xE24 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA5B DUP3 PUSH2 0xDDA JUMP JUMPDEST PUSH2 0xA65 DUP2 DUP6 PUSH2 0xDE5 JUMP JUMPDEST SWAP4 POP PUSH2 0xA75 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xE69 JUMP JUMPDEST PUSH2 0xA7E DUP2 PUSH2 0xF10 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA94 DUP3 PUSH2 0xDDA JUMP JUMPDEST PUSH2 0xA9E DUP2 DUP6 PUSH2 0xDF6 JUMP JUMPDEST SWAP4 POP PUSH2 0xAAE DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xE69 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAC7 PUSH1 0x21 DUP4 PUSH2 0xE01 JUMP JUMPDEST SWAP2 POP PUSH2 0xAD2 DUP3 PUSH2 0xF21 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAEA PUSH1 0x22 DUP4 PUSH2 0xE01 JUMP JUMPDEST SWAP2 POP PUSH2 0xAF5 DUP3 PUSH2 0xF70 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB0D PUSH1 0x2A DUP4 PUSH2 0xE01 JUMP JUMPDEST SWAP2 POP PUSH2 0xB18 DUP3 PUSH2 0xFBF JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB30 PUSH1 0x1B DUP4 PUSH2 0xE01 JUMP JUMPDEST SWAP2 POP PUSH2 0xB3B DUP3 PUSH2 0x100E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB53 PUSH1 0x20 DUP4 PUSH2 0xE01 JUMP JUMPDEST SWAP2 POP PUSH2 0xB5E DUP3 PUSH2 0x1037 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB76 PUSH1 0x1B DUP4 PUSH2 0xE01 JUMP JUMPDEST SWAP2 POP PUSH2 0xB81 DUP3 PUSH2 0x1060 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB99 PUSH1 0x1F DUP4 PUSH2 0xE01 JUMP JUMPDEST SWAP2 POP PUSH2 0xBA4 DUP3 PUSH2 0x1089 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBBC PUSH1 0x24 DUP4 PUSH2 0xE01 JUMP JUMPDEST SWAP2 POP PUSH2 0xBC7 DUP3 PUSH2 0x10B2 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBDF PUSH1 0x1A DUP4 PUSH2 0xE01 JUMP JUMPDEST SWAP2 POP PUSH2 0xBEA DUP3 PUSH2 0x1101 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC01 DUP3 DUP5 PUSH2 0xA89 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC21 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xA32 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC3C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xA41 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC5C DUP2 DUP5 PUSH2 0xA50 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC7D DUP2 PUSH2 0xABA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC9D DUP2 PUSH2 0xADD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xCBD DUP2 PUSH2 0xB00 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xCDD DUP2 PUSH2 0xB23 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xCFD DUP2 PUSH2 0xB46 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xD1D DUP2 PUSH2 0xB69 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xD3D DUP2 PUSH2 0xB8C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xD5D DUP2 PUSH2 0xBAF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xD7D DUP2 PUSH2 0xBD2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD8E PUSH2 0xD9F JUMP JUMPDEST SWAP1 POP PUSH2 0xD9A DUP3 DUP3 PUSH2 0xE9C JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xDC4 JUMPI PUSH2 0xDC3 PUSH2 0xECD JUMP JUMPDEST JUMPDEST PUSH2 0xDCD DUP3 PUSH2 0xF10 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE1D DUP3 PUSH2 0xE3A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xE87 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xE6C JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xE96 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0xEA5 DUP3 PUSH2 0xF10 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xEC4 JUMPI PUSH2 0xEC3 PUSH2 0xECD JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x5769746E657450726F78793A20756E61626C6520746F20696E697469616C697A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6500000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657450726F78793A206E6F207472616E736665727320616363657074 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6564000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657450726F78793A20756E61626C6520746F20636865636B20757067 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7261646162696C69747900000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657450726F78793A206E6F7420617574686F72697A65640000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657450726F78793A206E756C6C20696D706C656D656E746174696F6E PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657450726F78793A206E6F742075706772616461626C650000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657450726F78793A206E6F7468696E6720746F207570677261646500 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657450726F78793A2070726F786961626C655555494473206D69736D PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6174636800000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657450726F78793A206E6F7420636F6D706C69616E74000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x1133 DUP2 PUSH2 0xE12 JUMP JUMPDEST DUP2 EQ PUSH2 0x113E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x114A DUP2 PUSH2 0xE24 JUMP JUMPDEST DUP2 EQ PUSH2 0x1155 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1161 DUP2 PUSH2 0xE30 JUMP JUMPDEST DUP2 EQ PUSH2 0x116C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x4A 0xB7 PUSH25 0x7D72DA28BAAA9C9BC0D8BB9A171073217DE443A926002A74B6 0xCD PUSH18 0x43C464736F6C634300080700330000000000 ","sourceMap":"378:4863:34:-:0;;;696:17;;;;;;;;;;378:4863;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_5312":{"entryPoint":null,"id":5312,"parameterSlots":0,"returnSlots":0},"@_5323":{"entryPoint":null,"id":5323,"parameterSlots":0,"returnSlots":0},"@_proxySlot_5496":{"entryPoint":2213,"id":5496,"parameterSlots":0,"returnSlots":1},"@implementation_5334":{"entryPoint":264,"id":5334,"parameterSlots":0,"returnSlots":1},"@upgradeTo_5487":{"entryPoint":315,"id":5487,"parameterSlots":2,"returnSlots":1},"abi_decode_available_length_t_bytes_memory_ptr":{"entryPoint":2253,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_address":{"entryPoint":2319,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bool_fromMemory":{"entryPoint":2340,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32_fromMemory":{"entryPoint":2361,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes_memory_ptr":{"entryPoint":2382,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_bytes_memory_ptr":{"entryPoint":2428,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":2520,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":2565,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_address_to_t_address_fromStack":{"entryPoint":2610,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bool_to_t_bool_fromStack":{"entryPoint":2625,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack":{"entryPoint":2640,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":2697,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_stringliteral_55e9f07b665adf0e8c084720fbd831f583a2d75f5997894b64a77e28a0171f3c_to_t_string_memory_ptr_fromStack":{"entryPoint":2746,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_774f1c1f39aa6307ffed1c232166bea02e6ab0d8771bdf0ac6a80de6ac5b053d_to_t_string_memory_ptr_fromStack":{"entryPoint":2781,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_7f859058ad3ee4e192700ff813ed67dc892a0c7de91510ee584a0ac25fc982fc_to_t_string_memory_ptr_fromStack":{"entryPoint":2816,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_ba8d4d661ce88eb2915ba133e6cad533938b754d7b66d8253879ef2c2193ecb2_to_t_string_memory_ptr_fromStack":{"entryPoint":2851,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_d599eaa5e68d91d75c142446490ab9a15fd0284a41ce949219b5b4d8f267239a_to_t_string_memory_ptr_fromStack":{"entryPoint":2886,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_d96132834a96bae5cb2f32cb07f13985dcde0f2358055c198eb3065af6c5aa7f_to_t_string_memory_ptr_fromStack":{"entryPoint":2921,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_e332eab1bae45430d1201a30c0d80d8fcb5570f9e70201a9eb7b229e17fd2084_to_t_string_memory_ptr_fromStack":{"entryPoint":2956,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_f3c1ad1fa1688d47e62cc4dd5b4be101315ef47e38e05aa3a37a4ef2e1cec0a8_to_t_string_memory_ptr_fromStack":{"entryPoint":2991,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_fe0c5d56f2e637bc6ae9d29f1058c00159080f3dd6202013ecdbcca6e4740a65_to_t_string_memory_ptr_fromStack":{"entryPoint":3026,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":3061,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":3084,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":3111,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":3138,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_55e9f07b665adf0e8c084720fbd831f583a2d75f5997894b64a77e28a0171f3c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3172,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_774f1c1f39aa6307ffed1c232166bea02e6ab0d8771bdf0ac6a80de6ac5b053d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3204,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_7f859058ad3ee4e192700ff813ed67dc892a0c7de91510ee584a0ac25fc982fc__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3236,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ba8d4d661ce88eb2915ba133e6cad533938b754d7b66d8253879ef2c2193ecb2__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3268,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d599eaa5e68d91d75c142446490ab9a15fd0284a41ce949219b5b4d8f267239a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3300,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d96132834a96bae5cb2f32cb07f13985dcde0f2358055c198eb3065af6c5aa7f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3332,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e332eab1bae45430d1201a30c0d80d8fcb5570f9e70201a9eb7b229e17fd2084__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3364,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f3c1ad1fa1688d47e62cc4dd5b4be101315ef47e38e05aa3a37a4ef2e1cec0a8__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3396,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_fe0c5d56f2e637bc6ae9d29f1058c00159080f3dd6202013ecdbcca6e4740a65__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3428,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_memory":{"entryPoint":3460,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":3487,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_bytes_memory_ptr":{"entryPoint":3497,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_bytes_memory_ptr":{"entryPoint":3546,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack":{"entryPoint":3557,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":3574,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_fromStack":{"entryPoint":3585,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_address":{"entryPoint":3602,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bool":{"entryPoint":3620,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":3632,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":3642,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory":{"entryPoint":3674,"id":null,"parameterSlots":3,"returnSlots":0},"copy_memory_to_memory":{"entryPoint":3689,"id":null,"parameterSlots":3,"returnSlots":0},"finalize_allocation":{"entryPoint":3740,"id":null,"parameterSlots":2,"returnSlots":0},"panic_error_0x41":{"entryPoint":3789,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":3836,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae":{"entryPoint":3841,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":3846,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":3851,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":3856,"id":null,"parameterSlots":1,"returnSlots":1},"store_literal_in_memory_55e9f07b665adf0e8c084720fbd831f583a2d75f5997894b64a77e28a0171f3c":{"entryPoint":3873,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_774f1c1f39aa6307ffed1c232166bea02e6ab0d8771bdf0ac6a80de6ac5b053d":{"entryPoint":3952,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_7f859058ad3ee4e192700ff813ed67dc892a0c7de91510ee584a0ac25fc982fc":{"entryPoint":4031,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_ba8d4d661ce88eb2915ba133e6cad533938b754d7b66d8253879ef2c2193ecb2":{"entryPoint":4110,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_d599eaa5e68d91d75c142446490ab9a15fd0284a41ce949219b5b4d8f267239a":{"entryPoint":4151,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_d96132834a96bae5cb2f32cb07f13985dcde0f2358055c198eb3065af6c5aa7f":{"entryPoint":4192,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_e332eab1bae45430d1201a30c0d80d8fcb5570f9e70201a9eb7b229e17fd2084":{"entryPoint":4233,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_f3c1ad1fa1688d47e62cc4dd5b4be101315ef47e38e05aa3a37a4ef2e1cec0a8":{"entryPoint":4274,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_fe0c5d56f2e637bc6ae9d29f1058c00159080f3dd6202013ecdbcca6e4740a65":{"entryPoint":4353,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_address":{"entryPoint":4394,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bool":{"entryPoint":4417,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":4440,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:17085:67","statements":[{"body":{"nodeType":"YulBlock","src":"90:327:67","statements":[{"nodeType":"YulAssignment","src":"100:74:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"166:6:67"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"125:40:67"},"nodeType":"YulFunctionCall","src":"125:48:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"109:15:67"},"nodeType":"YulFunctionCall","src":"109:65:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"100:5:67"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"190:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"197:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"183:6:67"},"nodeType":"YulFunctionCall","src":"183:21:67"},"nodeType":"YulExpressionStatement","src":"183:21:67"},{"nodeType":"YulVariableDeclaration","src":"213:27:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"228:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"235:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"224:3:67"},"nodeType":"YulFunctionCall","src":"224:16:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"217:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"278:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulIdentifier","src":"280:77:67"},"nodeType":"YulFunctionCall","src":"280:79:67"},"nodeType":"YulExpressionStatement","src":"280:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"259:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"264:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"255:3:67"},"nodeType":"YulFunctionCall","src":"255:16:67"},{"name":"end","nodeType":"YulIdentifier","src":"273:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"252:2:67"},"nodeType":"YulFunctionCall","src":"252:25:67"},"nodeType":"YulIf","src":"249:112:67"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"394:3:67"},{"name":"dst","nodeType":"YulIdentifier","src":"399:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"404:6:67"}],"functionName":{"name":"copy_calldata_to_memory","nodeType":"YulIdentifier","src":"370:23:67"},"nodeType":"YulFunctionCall","src":"370:41:67"},"nodeType":"YulExpressionStatement","src":"370:41:67"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"63:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"68:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"76:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"84:5:67","type":""}],"src":"7:410:67"},{"body":{"nodeType":"YulBlock","src":"475:87:67","statements":[{"nodeType":"YulAssignment","src":"485:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"507:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"494:12:67"},"nodeType":"YulFunctionCall","src":"494:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"485:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"550:5:67"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"523:26:67"},"nodeType":"YulFunctionCall","src":"523:33:67"},"nodeType":"YulExpressionStatement","src":"523:33:67"}]},"name":"abi_decode_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"453:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"461:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"469:5:67","type":""}],"src":"423:139:67"},{"body":{"nodeType":"YulBlock","src":"628:77:67","statements":[{"nodeType":"YulAssignment","src":"638:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"653:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"647:5:67"},"nodeType":"YulFunctionCall","src":"647:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"638:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"693:5:67"}],"functionName":{"name":"validator_revert_t_bool","nodeType":"YulIdentifier","src":"669:23:67"},"nodeType":"YulFunctionCall","src":"669:30:67"},"nodeType":"YulExpressionStatement","src":"669:30:67"}]},"name":"abi_decode_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"606:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"614:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"622:5:67","type":""}],"src":"568:137:67"},{"body":{"nodeType":"YulBlock","src":"774:80:67","statements":[{"nodeType":"YulAssignment","src":"784:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"799:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"793:5:67"},"nodeType":"YulFunctionCall","src":"793:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"784:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"842:5:67"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"815:26:67"},"nodeType":"YulFunctionCall","src":"815:33:67"},"nodeType":"YulExpressionStatement","src":"815:33:67"}]},"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"752:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"760:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"768:5:67","type":""}],"src":"711:143:67"},{"body":{"nodeType":"YulBlock","src":"934:277:67","statements":[{"body":{"nodeType":"YulBlock","src":"983:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"985:77:67"},"nodeType":"YulFunctionCall","src":"985:79:67"},"nodeType":"YulExpressionStatement","src":"985:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"962:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"970:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"958:3:67"},"nodeType":"YulFunctionCall","src":"958:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"977:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"954:3:67"},"nodeType":"YulFunctionCall","src":"954:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"947:6:67"},"nodeType":"YulFunctionCall","src":"947:35:67"},"nodeType":"YulIf","src":"944:122:67"},{"nodeType":"YulVariableDeclaration","src":"1075:34:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1102:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1089:12:67"},"nodeType":"YulFunctionCall","src":"1089:20:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1079:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1118:87:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1178:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1186:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1174:3:67"},"nodeType":"YulFunctionCall","src":"1174:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"1193:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"1201:3:67"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"1127:46:67"},"nodeType":"YulFunctionCall","src":"1127:78:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1118:5:67"}]}]},"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"912:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"920:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"928:5:67","type":""}],"src":"873:338:67"},{"body":{"nodeType":"YulBlock","src":"1309:560:67","statements":[{"body":{"nodeType":"YulBlock","src":"1355:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1357:77:67"},"nodeType":"YulFunctionCall","src":"1357:79:67"},"nodeType":"YulExpressionStatement","src":"1357:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1330:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"1339:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1326:3:67"},"nodeType":"YulFunctionCall","src":"1326:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"1351:2:67","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1322:3:67"},"nodeType":"YulFunctionCall","src":"1322:32:67"},"nodeType":"YulIf","src":"1319:119:67"},{"nodeType":"YulBlock","src":"1448:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1463:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1477:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1467:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1492:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1527:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1538:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1523:3:67"},"nodeType":"YulFunctionCall","src":"1523:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1547:7:67"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"1502:20:67"},"nodeType":"YulFunctionCall","src":"1502:53:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1492:6:67"}]}]},{"nodeType":"YulBlock","src":"1575:287:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1590:46:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1621:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"1632:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1617:3:67"},"nodeType":"YulFunctionCall","src":"1617:18:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1604:12:67"},"nodeType":"YulFunctionCall","src":"1604:32:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1594:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"1683:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"1685:77:67"},"nodeType":"YulFunctionCall","src":"1685:79:67"},"nodeType":"YulExpressionStatement","src":"1685:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1655:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1663:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1652:2:67"},"nodeType":"YulFunctionCall","src":"1652:30:67"},"nodeType":"YulIf","src":"1649:117:67"},{"nodeType":"YulAssignment","src":"1780:72:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1824:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1835:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1820:3:67"},"nodeType":"YulFunctionCall","src":"1820:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1844:7:67"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"1790:29:67"},"nodeType":"YulFunctionCall","src":"1790:62:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1780:6:67"}]}]}]},"name":"abi_decode_tuple_t_addresst_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1271:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1282:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1294:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1302:6:67","type":""}],"src":"1217:652:67"},{"body":{"nodeType":"YulBlock","src":"1949:271:67","statements":[{"body":{"nodeType":"YulBlock","src":"1995:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1997:77:67"},"nodeType":"YulFunctionCall","src":"1997:79:67"},"nodeType":"YulExpressionStatement","src":"1997:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1970:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"1979:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1966:3:67"},"nodeType":"YulFunctionCall","src":"1966:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"1991:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1962:3:67"},"nodeType":"YulFunctionCall","src":"1962:32:67"},"nodeType":"YulIf","src":"1959:119:67"},{"nodeType":"YulBlock","src":"2088:125:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2103:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"2117:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2107:6:67","type":""}]},{"nodeType":"YulAssignment","src":"2132:71:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2175:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2186:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2171:3:67"},"nodeType":"YulFunctionCall","src":"2171:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2195:7:67"}],"functionName":{"name":"abi_decode_t_bool_fromMemory","nodeType":"YulIdentifier","src":"2142:28:67"},"nodeType":"YulFunctionCall","src":"2142:61:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2132:6:67"}]}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1919:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1930:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1942:6:67","type":""}],"src":"1875:345:67"},{"body":{"nodeType":"YulBlock","src":"2303:274:67","statements":[{"body":{"nodeType":"YulBlock","src":"2349:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"2351:77:67"},"nodeType":"YulFunctionCall","src":"2351:79:67"},"nodeType":"YulExpressionStatement","src":"2351:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2324:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"2333:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2320:3:67"},"nodeType":"YulFunctionCall","src":"2320:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"2345:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2316:3:67"},"nodeType":"YulFunctionCall","src":"2316:32:67"},"nodeType":"YulIf","src":"2313:119:67"},{"nodeType":"YulBlock","src":"2442:128:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2457:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"2471:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2461:6:67","type":""}]},{"nodeType":"YulAssignment","src":"2486:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2532:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2543:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2528:3:67"},"nodeType":"YulFunctionCall","src":"2528:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2552:7:67"}],"functionName":{"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulIdentifier","src":"2496:31:67"},"nodeType":"YulFunctionCall","src":"2496:64:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2486:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2273:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2284:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2296:6:67","type":""}],"src":"2226:351:67"},{"body":{"nodeType":"YulBlock","src":"2648:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2665:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2688:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"2670:17:67"},"nodeType":"YulFunctionCall","src":"2670:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2658:6:67"},"nodeType":"YulFunctionCall","src":"2658:37:67"},"nodeType":"YulExpressionStatement","src":"2658:37:67"}]},"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2636:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2643:3:67","type":""}],"src":"2583:118:67"},{"body":{"nodeType":"YulBlock","src":"2766:50:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2783:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2803:5:67"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"2788:14:67"},"nodeType":"YulFunctionCall","src":"2788:21:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2776:6:67"},"nodeType":"YulFunctionCall","src":"2776:34:67"},"nodeType":"YulExpressionStatement","src":"2776:34:67"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2754:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2761:3:67","type":""}],"src":"2707:109:67"},{"body":{"nodeType":"YulBlock","src":"2912:270:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2922:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2968:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"2936:31:67"},"nodeType":"YulFunctionCall","src":"2936:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2926:6:67","type":""}]},{"nodeType":"YulAssignment","src":"2983:77:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3048:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"3053:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"2990:57:67"},"nodeType":"YulFunctionCall","src":"2990:70:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2983:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3095:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"3102:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3091:3:67"},"nodeType":"YulFunctionCall","src":"3091:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"3109:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"3114:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"3069:21:67"},"nodeType":"YulFunctionCall","src":"3069:52:67"},"nodeType":"YulExpressionStatement","src":"3069:52:67"},{"nodeType":"YulAssignment","src":"3130:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3141:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3168:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"3146:21:67"},"nodeType":"YulFunctionCall","src":"3146:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3137:3:67"},"nodeType":"YulFunctionCall","src":"3137:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3130:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2893:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2900:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2908:3:67","type":""}],"src":"2822:360:67"},{"body":{"nodeType":"YulBlock","src":"3296:265:67","statements":[{"nodeType":"YulVariableDeclaration","src":"3306:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3352:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"3320:31:67"},"nodeType":"YulFunctionCall","src":"3320:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"3310:6:67","type":""}]},{"nodeType":"YulAssignment","src":"3367:95:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3450:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"3455:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"3374:75:67"},"nodeType":"YulFunctionCall","src":"3374:88:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3367:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3497:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"3504:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3493:3:67"},"nodeType":"YulFunctionCall","src":"3493:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"3511:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"3516:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"3471:21:67"},"nodeType":"YulFunctionCall","src":"3471:52:67"},"nodeType":"YulExpressionStatement","src":"3471:52:67"},{"nodeType":"YulAssignment","src":"3532:23:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3543:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"3548:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3539:3:67"},"nodeType":"YulFunctionCall","src":"3539:16:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3532:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3277:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3284:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"3292:3:67","type":""}],"src":"3188:373:67"},{"body":{"nodeType":"YulBlock","src":"3713:220:67","statements":[{"nodeType":"YulAssignment","src":"3723:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3789:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"3794:2:67","type":"","value":"33"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"3730:58:67"},"nodeType":"YulFunctionCall","src":"3730:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3723:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3895:3:67"}],"functionName":{"name":"store_literal_in_memory_55e9f07b665adf0e8c084720fbd831f583a2d75f5997894b64a77e28a0171f3c","nodeType":"YulIdentifier","src":"3806:88:67"},"nodeType":"YulFunctionCall","src":"3806:93:67"},"nodeType":"YulExpressionStatement","src":"3806:93:67"},{"nodeType":"YulAssignment","src":"3908:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3919:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"3924:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3915:3:67"},"nodeType":"YulFunctionCall","src":"3915:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3908:3:67"}]}]},"name":"abi_encode_t_stringliteral_55e9f07b665adf0e8c084720fbd831f583a2d75f5997894b64a77e28a0171f3c_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"3701:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"3709:3:67","type":""}],"src":"3567:366:67"},{"body":{"nodeType":"YulBlock","src":"4085:220:67","statements":[{"nodeType":"YulAssignment","src":"4095:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4161:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"4166:2:67","type":"","value":"34"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"4102:58:67"},"nodeType":"YulFunctionCall","src":"4102:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4095:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4267:3:67"}],"functionName":{"name":"store_literal_in_memory_774f1c1f39aa6307ffed1c232166bea02e6ab0d8771bdf0ac6a80de6ac5b053d","nodeType":"YulIdentifier","src":"4178:88:67"},"nodeType":"YulFunctionCall","src":"4178:93:67"},"nodeType":"YulExpressionStatement","src":"4178:93:67"},{"nodeType":"YulAssignment","src":"4280:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4291:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"4296:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4287:3:67"},"nodeType":"YulFunctionCall","src":"4287:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"4280:3:67"}]}]},"name":"abi_encode_t_stringliteral_774f1c1f39aa6307ffed1c232166bea02e6ab0d8771bdf0ac6a80de6ac5b053d_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"4073:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"4081:3:67","type":""}],"src":"3939:366:67"},{"body":{"nodeType":"YulBlock","src":"4457:220:67","statements":[{"nodeType":"YulAssignment","src":"4467:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4533:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"4538:2:67","type":"","value":"42"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"4474:58:67"},"nodeType":"YulFunctionCall","src":"4474:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4467:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4639:3:67"}],"functionName":{"name":"store_literal_in_memory_7f859058ad3ee4e192700ff813ed67dc892a0c7de91510ee584a0ac25fc982fc","nodeType":"YulIdentifier","src":"4550:88:67"},"nodeType":"YulFunctionCall","src":"4550:93:67"},"nodeType":"YulExpressionStatement","src":"4550:93:67"},{"nodeType":"YulAssignment","src":"4652:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4663:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"4668:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4659:3:67"},"nodeType":"YulFunctionCall","src":"4659:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"4652:3:67"}]}]},"name":"abi_encode_t_stringliteral_7f859058ad3ee4e192700ff813ed67dc892a0c7de91510ee584a0ac25fc982fc_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"4445:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"4453:3:67","type":""}],"src":"4311:366:67"},{"body":{"nodeType":"YulBlock","src":"4829:220:67","statements":[{"nodeType":"YulAssignment","src":"4839:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4905:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"4910:2:67","type":"","value":"27"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"4846:58:67"},"nodeType":"YulFunctionCall","src":"4846:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4839:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5011:3:67"}],"functionName":{"name":"store_literal_in_memory_ba8d4d661ce88eb2915ba133e6cad533938b754d7b66d8253879ef2c2193ecb2","nodeType":"YulIdentifier","src":"4922:88:67"},"nodeType":"YulFunctionCall","src":"4922:93:67"},"nodeType":"YulExpressionStatement","src":"4922:93:67"},{"nodeType":"YulAssignment","src":"5024:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5035:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5040:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5031:3:67"},"nodeType":"YulFunctionCall","src":"5031:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"5024:3:67"}]}]},"name":"abi_encode_t_stringliteral_ba8d4d661ce88eb2915ba133e6cad533938b754d7b66d8253879ef2c2193ecb2_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"4817:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"4825:3:67","type":""}],"src":"4683:366:67"},{"body":{"nodeType":"YulBlock","src":"5201:220:67","statements":[{"nodeType":"YulAssignment","src":"5211:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5277:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5282:2:67","type":"","value":"32"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"5218:58:67"},"nodeType":"YulFunctionCall","src":"5218:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"5211:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5383:3:67"}],"functionName":{"name":"store_literal_in_memory_d599eaa5e68d91d75c142446490ab9a15fd0284a41ce949219b5b4d8f267239a","nodeType":"YulIdentifier","src":"5294:88:67"},"nodeType":"YulFunctionCall","src":"5294:93:67"},"nodeType":"YulExpressionStatement","src":"5294:93:67"},{"nodeType":"YulAssignment","src":"5396:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5407:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5412:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5403:3:67"},"nodeType":"YulFunctionCall","src":"5403:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"5396:3:67"}]}]},"name":"abi_encode_t_stringliteral_d599eaa5e68d91d75c142446490ab9a15fd0284a41ce949219b5b4d8f267239a_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"5189:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"5197:3:67","type":""}],"src":"5055:366:67"},{"body":{"nodeType":"YulBlock","src":"5573:220:67","statements":[{"nodeType":"YulAssignment","src":"5583:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5649:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5654:2:67","type":"","value":"27"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"5590:58:67"},"nodeType":"YulFunctionCall","src":"5590:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"5583:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5755:3:67"}],"functionName":{"name":"store_literal_in_memory_d96132834a96bae5cb2f32cb07f13985dcde0f2358055c198eb3065af6c5aa7f","nodeType":"YulIdentifier","src":"5666:88:67"},"nodeType":"YulFunctionCall","src":"5666:93:67"},"nodeType":"YulExpressionStatement","src":"5666:93:67"},{"nodeType":"YulAssignment","src":"5768:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5779:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5784:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5775:3:67"},"nodeType":"YulFunctionCall","src":"5775:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"5768:3:67"}]}]},"name":"abi_encode_t_stringliteral_d96132834a96bae5cb2f32cb07f13985dcde0f2358055c198eb3065af6c5aa7f_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"5561:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"5569:3:67","type":""}],"src":"5427:366:67"},{"body":{"nodeType":"YulBlock","src":"5945:220:67","statements":[{"nodeType":"YulAssignment","src":"5955:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6021:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"6026:2:67","type":"","value":"31"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"5962:58:67"},"nodeType":"YulFunctionCall","src":"5962:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"5955:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6127:3:67"}],"functionName":{"name":"store_literal_in_memory_e332eab1bae45430d1201a30c0d80d8fcb5570f9e70201a9eb7b229e17fd2084","nodeType":"YulIdentifier","src":"6038:88:67"},"nodeType":"YulFunctionCall","src":"6038:93:67"},"nodeType":"YulExpressionStatement","src":"6038:93:67"},{"nodeType":"YulAssignment","src":"6140:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6151:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"6156:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6147:3:67"},"nodeType":"YulFunctionCall","src":"6147:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"6140:3:67"}]}]},"name":"abi_encode_t_stringliteral_e332eab1bae45430d1201a30c0d80d8fcb5570f9e70201a9eb7b229e17fd2084_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"5933:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"5941:3:67","type":""}],"src":"5799:366:67"},{"body":{"nodeType":"YulBlock","src":"6317:220:67","statements":[{"nodeType":"YulAssignment","src":"6327:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6393:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"6398:2:67","type":"","value":"36"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"6334:58:67"},"nodeType":"YulFunctionCall","src":"6334:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6327:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6499:3:67"}],"functionName":{"name":"store_literal_in_memory_f3c1ad1fa1688d47e62cc4dd5b4be101315ef47e38e05aa3a37a4ef2e1cec0a8","nodeType":"YulIdentifier","src":"6410:88:67"},"nodeType":"YulFunctionCall","src":"6410:93:67"},"nodeType":"YulExpressionStatement","src":"6410:93:67"},{"nodeType":"YulAssignment","src":"6512:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6523:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"6528:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6519:3:67"},"nodeType":"YulFunctionCall","src":"6519:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"6512:3:67"}]}]},"name":"abi_encode_t_stringliteral_f3c1ad1fa1688d47e62cc4dd5b4be101315ef47e38e05aa3a37a4ef2e1cec0a8_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"6305:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"6313:3:67","type":""}],"src":"6171:366:67"},{"body":{"nodeType":"YulBlock","src":"6689:220:67","statements":[{"nodeType":"YulAssignment","src":"6699:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6765:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"6770:2:67","type":"","value":"26"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"6706:58:67"},"nodeType":"YulFunctionCall","src":"6706:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6699:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6871:3:67"}],"functionName":{"name":"store_literal_in_memory_fe0c5d56f2e637bc6ae9d29f1058c00159080f3dd6202013ecdbcca6e4740a65","nodeType":"YulIdentifier","src":"6782:88:67"},"nodeType":"YulFunctionCall","src":"6782:93:67"},"nodeType":"YulExpressionStatement","src":"6782:93:67"},{"nodeType":"YulAssignment","src":"6884:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6895:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"6900:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6891:3:67"},"nodeType":"YulFunctionCall","src":"6891:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"6884:3:67"}]}]},"name":"abi_encode_t_stringliteral_fe0c5d56f2e637bc6ae9d29f1058c00159080f3dd6202013ecdbcca6e4740a65_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"6677:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"6685:3:67","type":""}],"src":"6543:366:67"},{"body":{"nodeType":"YulBlock","src":"7049:137:67","statements":[{"nodeType":"YulAssignment","src":"7060:100:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7147:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"7156:3:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"7067:79:67"},"nodeType":"YulFunctionCall","src":"7067:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7060:3:67"}]},{"nodeType":"YulAssignment","src":"7170:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"7177:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7170:3:67"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"7028:3:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7034:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7045:3:67","type":""}],"src":"6915:271:67"},{"body":{"nodeType":"YulBlock","src":"7290:124:67","statements":[{"nodeType":"YulAssignment","src":"7300:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7312:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"7323:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7308:3:67"},"nodeType":"YulFunctionCall","src":"7308:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7300:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7380:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7393:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"7404:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7389:3:67"},"nodeType":"YulFunctionCall","src":"7389:17:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"7336:43:67"},"nodeType":"YulFunctionCall","src":"7336:71:67"},"nodeType":"YulExpressionStatement","src":"7336:71:67"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7262:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7274:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7285:4:67","type":""}],"src":"7192:222:67"},{"body":{"nodeType":"YulBlock","src":"7512:118:67","statements":[{"nodeType":"YulAssignment","src":"7522:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7534:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"7545:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7530:3:67"},"nodeType":"YulFunctionCall","src":"7530:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7522:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7596:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7609:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"7620:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7605:3:67"},"nodeType":"YulFunctionCall","src":"7605:17:67"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulIdentifier","src":"7558:37:67"},"nodeType":"YulFunctionCall","src":"7558:65:67"},"nodeType":"YulExpressionStatement","src":"7558:65:67"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7484:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7496:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7507:4:67","type":""}],"src":"7420:210:67"},{"body":{"nodeType":"YulBlock","src":"7752:193:67","statements":[{"nodeType":"YulAssignment","src":"7762:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7774:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"7785:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7770:3:67"},"nodeType":"YulFunctionCall","src":"7770:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7762:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7809:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"7820:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7805:3:67"},"nodeType":"YulFunctionCall","src":"7805:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"7828:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"7834:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7824:3:67"},"nodeType":"YulFunctionCall","src":"7824:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7798:6:67"},"nodeType":"YulFunctionCall","src":"7798:47:67"},"nodeType":"YulExpressionStatement","src":"7798:47:67"},{"nodeType":"YulAssignment","src":"7854:84:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7924:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"7933:4:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"7862:61:67"},"nodeType":"YulFunctionCall","src":"7862:76:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7854:4:67"}]}]},"name":"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7724:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7736:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7747:4:67","type":""}],"src":"7636:309:67"},{"body":{"nodeType":"YulBlock","src":"8122:248:67","statements":[{"nodeType":"YulAssignment","src":"8132:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8144:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"8155:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8140:3:67"},"nodeType":"YulFunctionCall","src":"8140:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8132:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8179:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"8190:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8175:3:67"},"nodeType":"YulFunctionCall","src":"8175:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"8198:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"8204:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8194:3:67"},"nodeType":"YulFunctionCall","src":"8194:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8168:6:67"},"nodeType":"YulFunctionCall","src":"8168:47:67"},"nodeType":"YulExpressionStatement","src":"8168:47:67"},{"nodeType":"YulAssignment","src":"8224:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"8358:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_55e9f07b665adf0e8c084720fbd831f583a2d75f5997894b64a77e28a0171f3c_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"8232:124:67"},"nodeType":"YulFunctionCall","src":"8232:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8224:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_55e9f07b665adf0e8c084720fbd831f583a2d75f5997894b64a77e28a0171f3c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8102:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8117:4:67","type":""}],"src":"7951:419:67"},{"body":{"nodeType":"YulBlock","src":"8547:248:67","statements":[{"nodeType":"YulAssignment","src":"8557:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8569:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"8580:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8565:3:67"},"nodeType":"YulFunctionCall","src":"8565:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8557:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8604:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"8615:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8600:3:67"},"nodeType":"YulFunctionCall","src":"8600:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"8623:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"8629:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8619:3:67"},"nodeType":"YulFunctionCall","src":"8619:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8593:6:67"},"nodeType":"YulFunctionCall","src":"8593:47:67"},"nodeType":"YulExpressionStatement","src":"8593:47:67"},{"nodeType":"YulAssignment","src":"8649:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"8783:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_774f1c1f39aa6307ffed1c232166bea02e6ab0d8771bdf0ac6a80de6ac5b053d_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"8657:124:67"},"nodeType":"YulFunctionCall","src":"8657:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8649:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_774f1c1f39aa6307ffed1c232166bea02e6ab0d8771bdf0ac6a80de6ac5b053d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8527:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8542:4:67","type":""}],"src":"8376:419:67"},{"body":{"nodeType":"YulBlock","src":"8972:248:67","statements":[{"nodeType":"YulAssignment","src":"8982:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8994:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"9005:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8990:3:67"},"nodeType":"YulFunctionCall","src":"8990:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8982:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9029:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"9040:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9025:3:67"},"nodeType":"YulFunctionCall","src":"9025:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"9048:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"9054:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9044:3:67"},"nodeType":"YulFunctionCall","src":"9044:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9018:6:67"},"nodeType":"YulFunctionCall","src":"9018:47:67"},"nodeType":"YulExpressionStatement","src":"9018:47:67"},{"nodeType":"YulAssignment","src":"9074:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"9208:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_7f859058ad3ee4e192700ff813ed67dc892a0c7de91510ee584a0ac25fc982fc_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"9082:124:67"},"nodeType":"YulFunctionCall","src":"9082:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9074:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_7f859058ad3ee4e192700ff813ed67dc892a0c7de91510ee584a0ac25fc982fc__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8952:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8967:4:67","type":""}],"src":"8801:419:67"},{"body":{"nodeType":"YulBlock","src":"9397:248:67","statements":[{"nodeType":"YulAssignment","src":"9407:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9419:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"9430:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9415:3:67"},"nodeType":"YulFunctionCall","src":"9415:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9407:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9454:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"9465:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9450:3:67"},"nodeType":"YulFunctionCall","src":"9450:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"9473:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"9479:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9469:3:67"},"nodeType":"YulFunctionCall","src":"9469:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9443:6:67"},"nodeType":"YulFunctionCall","src":"9443:47:67"},"nodeType":"YulExpressionStatement","src":"9443:47:67"},{"nodeType":"YulAssignment","src":"9499:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"9633:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_ba8d4d661ce88eb2915ba133e6cad533938b754d7b66d8253879ef2c2193ecb2_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"9507:124:67"},"nodeType":"YulFunctionCall","src":"9507:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9499:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_ba8d4d661ce88eb2915ba133e6cad533938b754d7b66d8253879ef2c2193ecb2__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9377:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9392:4:67","type":""}],"src":"9226:419:67"},{"body":{"nodeType":"YulBlock","src":"9822:248:67","statements":[{"nodeType":"YulAssignment","src":"9832:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9844:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"9855:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9840:3:67"},"nodeType":"YulFunctionCall","src":"9840:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9832:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9879:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"9890:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9875:3:67"},"nodeType":"YulFunctionCall","src":"9875:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"9898:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"9904:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9894:3:67"},"nodeType":"YulFunctionCall","src":"9894:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9868:6:67"},"nodeType":"YulFunctionCall","src":"9868:47:67"},"nodeType":"YulExpressionStatement","src":"9868:47:67"},{"nodeType":"YulAssignment","src":"9924:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"10058:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_d599eaa5e68d91d75c142446490ab9a15fd0284a41ce949219b5b4d8f267239a_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"9932:124:67"},"nodeType":"YulFunctionCall","src":"9932:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9924:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_d599eaa5e68d91d75c142446490ab9a15fd0284a41ce949219b5b4d8f267239a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9802:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9817:4:67","type":""}],"src":"9651:419:67"},{"body":{"nodeType":"YulBlock","src":"10247:248:67","statements":[{"nodeType":"YulAssignment","src":"10257:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10269:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"10280:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10265:3:67"},"nodeType":"YulFunctionCall","src":"10265:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10257:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10304:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"10315:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10300:3:67"},"nodeType":"YulFunctionCall","src":"10300:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"10323:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"10329:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10319:3:67"},"nodeType":"YulFunctionCall","src":"10319:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10293:6:67"},"nodeType":"YulFunctionCall","src":"10293:47:67"},"nodeType":"YulExpressionStatement","src":"10293:47:67"},{"nodeType":"YulAssignment","src":"10349:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"10483:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_d96132834a96bae5cb2f32cb07f13985dcde0f2358055c198eb3065af6c5aa7f_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"10357:124:67"},"nodeType":"YulFunctionCall","src":"10357:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10349:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_d96132834a96bae5cb2f32cb07f13985dcde0f2358055c198eb3065af6c5aa7f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10227:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10242:4:67","type":""}],"src":"10076:419:67"},{"body":{"nodeType":"YulBlock","src":"10672:248:67","statements":[{"nodeType":"YulAssignment","src":"10682:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10694:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"10705:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10690:3:67"},"nodeType":"YulFunctionCall","src":"10690:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10682:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10729:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"10740:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10725:3:67"},"nodeType":"YulFunctionCall","src":"10725:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"10748:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"10754:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10744:3:67"},"nodeType":"YulFunctionCall","src":"10744:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10718:6:67"},"nodeType":"YulFunctionCall","src":"10718:47:67"},"nodeType":"YulExpressionStatement","src":"10718:47:67"},{"nodeType":"YulAssignment","src":"10774:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"10908:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_e332eab1bae45430d1201a30c0d80d8fcb5570f9e70201a9eb7b229e17fd2084_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"10782:124:67"},"nodeType":"YulFunctionCall","src":"10782:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10774:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_e332eab1bae45430d1201a30c0d80d8fcb5570f9e70201a9eb7b229e17fd2084__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10652:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10667:4:67","type":""}],"src":"10501:419:67"},{"body":{"nodeType":"YulBlock","src":"11097:248:67","statements":[{"nodeType":"YulAssignment","src":"11107:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11119:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"11130:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11115:3:67"},"nodeType":"YulFunctionCall","src":"11115:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11107:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11154:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"11165:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11150:3:67"},"nodeType":"YulFunctionCall","src":"11150:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"11173:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"11179:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11169:3:67"},"nodeType":"YulFunctionCall","src":"11169:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11143:6:67"},"nodeType":"YulFunctionCall","src":"11143:47:67"},"nodeType":"YulExpressionStatement","src":"11143:47:67"},{"nodeType":"YulAssignment","src":"11199:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"11333:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_f3c1ad1fa1688d47e62cc4dd5b4be101315ef47e38e05aa3a37a4ef2e1cec0a8_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"11207:124:67"},"nodeType":"YulFunctionCall","src":"11207:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11199:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_f3c1ad1fa1688d47e62cc4dd5b4be101315ef47e38e05aa3a37a4ef2e1cec0a8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11077:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11092:4:67","type":""}],"src":"10926:419:67"},{"body":{"nodeType":"YulBlock","src":"11522:248:67","statements":[{"nodeType":"YulAssignment","src":"11532:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11544:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"11555:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11540:3:67"},"nodeType":"YulFunctionCall","src":"11540:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11532:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11579:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"11590:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11575:3:67"},"nodeType":"YulFunctionCall","src":"11575:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"11598:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"11604:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11594:3:67"},"nodeType":"YulFunctionCall","src":"11594:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11568:6:67"},"nodeType":"YulFunctionCall","src":"11568:47:67"},"nodeType":"YulExpressionStatement","src":"11568:47:67"},{"nodeType":"YulAssignment","src":"11624:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"11758:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_fe0c5d56f2e637bc6ae9d29f1058c00159080f3dd6202013ecdbcca6e4740a65_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"11632:124:67"},"nodeType":"YulFunctionCall","src":"11632:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11624:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_fe0c5d56f2e637bc6ae9d29f1058c00159080f3dd6202013ecdbcca6e4740a65__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11502:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11517:4:67","type":""}],"src":"11351:419:67"},{"body":{"nodeType":"YulBlock","src":"11817:88:67","statements":[{"nodeType":"YulAssignment","src":"11827:30:67","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"11837:18:67"},"nodeType":"YulFunctionCall","src":"11837:20:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"11827:6:67"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"11886:6:67"},{"name":"size","nodeType":"YulIdentifier","src":"11894:4:67"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"11866:19:67"},"nodeType":"YulFunctionCall","src":"11866:33:67"},"nodeType":"YulExpressionStatement","src":"11866:33:67"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"11801:4:67","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"11810:6:67","type":""}],"src":"11776:129:67"},{"body":{"nodeType":"YulBlock","src":"11951:35:67","statements":[{"nodeType":"YulAssignment","src":"11961:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11977:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"11971:5:67"},"nodeType":"YulFunctionCall","src":"11971:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"11961:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"11944:6:67","type":""}],"src":"11911:75:67"},{"body":{"nodeType":"YulBlock","src":"12058:241:67","statements":[{"body":{"nodeType":"YulBlock","src":"12163:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"12165:16:67"},"nodeType":"YulFunctionCall","src":"12165:18:67"},"nodeType":"YulExpressionStatement","src":"12165:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"12135:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"12143:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"12132:2:67"},"nodeType":"YulFunctionCall","src":"12132:30:67"},"nodeType":"YulIf","src":"12129:56:67"},{"nodeType":"YulAssignment","src":"12195:37:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"12225:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"12203:21:67"},"nodeType":"YulFunctionCall","src":"12203:29:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"12195:4:67"}]},{"nodeType":"YulAssignment","src":"12269:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"12281:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"12287:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12277:3:67"},"nodeType":"YulFunctionCall","src":"12277:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"12269:4:67"}]}]},"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"12042:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"12053:4:67","type":""}],"src":"11992:307:67"},{"body":{"nodeType":"YulBlock","src":"12363:40:67","statements":[{"nodeType":"YulAssignment","src":"12374:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12390:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12384:5:67"},"nodeType":"YulFunctionCall","src":"12384:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"12374:6:67"}]}]},"name":"array_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12346:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"12356:6:67","type":""}],"src":"12305:98:67"},{"body":{"nodeType":"YulBlock","src":"12504:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12521:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"12526:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12514:6:67"},"nodeType":"YulFunctionCall","src":"12514:19:67"},"nodeType":"YulExpressionStatement","src":"12514:19:67"},{"nodeType":"YulAssignment","src":"12542:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12561:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"12566:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12557:3:67"},"nodeType":"YulFunctionCall","src":"12557:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"12542:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"12476:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"12481:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"12492:11:67","type":""}],"src":"12409:168:67"},{"body":{"nodeType":"YulBlock","src":"12696:34:67","statements":[{"nodeType":"YulAssignment","src":"12706:18:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"12721:3:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"12706:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"12668:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"12673:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"12684:11:67","type":""}],"src":"12583:147:67"},{"body":{"nodeType":"YulBlock","src":"12832:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12849:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"12854:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12842:6:67"},"nodeType":"YulFunctionCall","src":"12842:19:67"},"nodeType":"YulExpressionStatement","src":"12842:19:67"},{"nodeType":"YulAssignment","src":"12870:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12889:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"12894:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12885:3:67"},"nodeType":"YulFunctionCall","src":"12885:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"12870:11:67"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"12804:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"12809:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"12820:11:67","type":""}],"src":"12736:169:67"},{"body":{"nodeType":"YulBlock","src":"12956:51:67","statements":[{"nodeType":"YulAssignment","src":"12966:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12995:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"12977:17:67"},"nodeType":"YulFunctionCall","src":"12977:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"12966:7:67"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12938:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"12948:7:67","type":""}],"src":"12911:96:67"},{"body":{"nodeType":"YulBlock","src":"13055:48:67","statements":[{"nodeType":"YulAssignment","src":"13065:32:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13090:5:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13083:6:67"},"nodeType":"YulFunctionCall","src":"13083:13:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13076:6:67"},"nodeType":"YulFunctionCall","src":"13076:21:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"13065:7:67"}]}]},"name":"cleanup_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13037:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"13047:7:67","type":""}],"src":"13013:90:67"},{"body":{"nodeType":"YulBlock","src":"13154:32:67","statements":[{"nodeType":"YulAssignment","src":"13164:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"13175:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"13164:7:67"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13136:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"13146:7:67","type":""}],"src":"13109:77:67"},{"body":{"nodeType":"YulBlock","src":"13237:81:67","statements":[{"nodeType":"YulAssignment","src":"13247:65:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13262:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"13269:42:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13258:3:67"},"nodeType":"YulFunctionCall","src":"13258:54:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"13247:7:67"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13219:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"13229:7:67","type":""}],"src":"13192:126:67"},{"body":{"nodeType":"YulBlock","src":"13375:103:67","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"13398:3:67"},{"name":"src","nodeType":"YulIdentifier","src":"13403:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"13408:6:67"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"13385:12:67"},"nodeType":"YulFunctionCall","src":"13385:30:67"},"nodeType":"YulExpressionStatement","src":"13385:30:67"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"13456:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"13461:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13452:3:67"},"nodeType":"YulFunctionCall","src":"13452:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"13470:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13445:6:67"},"nodeType":"YulFunctionCall","src":"13445:27:67"},"nodeType":"YulExpressionStatement","src":"13445:27:67"}]},"name":"copy_calldata_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"13357:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"13362:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"13367:6:67","type":""}],"src":"13324:154:67"},{"body":{"nodeType":"YulBlock","src":"13533:258:67","statements":[{"nodeType":"YulVariableDeclaration","src":"13543:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"13552:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"13547:1:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"13612:63:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"13637:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"13642:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13633:3:67"},"nodeType":"YulFunctionCall","src":"13633:11:67"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"13656:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"13661:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13652:3:67"},"nodeType":"YulFunctionCall","src":"13652:11:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13646:5:67"},"nodeType":"YulFunctionCall","src":"13646:18:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13626:6:67"},"nodeType":"YulFunctionCall","src":"13626:39:67"},"nodeType":"YulExpressionStatement","src":"13626:39:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"13573:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"13576:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"13570:2:67"},"nodeType":"YulFunctionCall","src":"13570:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"13584:19:67","statements":[{"nodeType":"YulAssignment","src":"13586:15:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"13595:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"13598:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13591:3:67"},"nodeType":"YulFunctionCall","src":"13591:10:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"13586:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"13566:3:67","statements":[]},"src":"13562:113:67"},{"body":{"nodeType":"YulBlock","src":"13709:76:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"13759:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"13764:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13755:3:67"},"nodeType":"YulFunctionCall","src":"13755:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"13773:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13748:6:67"},"nodeType":"YulFunctionCall","src":"13748:27:67"},"nodeType":"YulExpressionStatement","src":"13748:27:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"13690:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"13693:6:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13687:2:67"},"nodeType":"YulFunctionCall","src":"13687:13:67"},"nodeType":"YulIf","src":"13684:101:67"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"13515:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"13520:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"13525:6:67","type":""}],"src":"13484:307:67"},{"body":{"nodeType":"YulBlock","src":"13840:238:67","statements":[{"nodeType":"YulVariableDeclaration","src":"13850:58:67","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"13872:6:67"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"13902:4:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"13880:21:67"},"nodeType":"YulFunctionCall","src":"13880:27:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13868:3:67"},"nodeType":"YulFunctionCall","src":"13868:40:67"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"13854:10:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"14019:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"14021:16:67"},"nodeType":"YulFunctionCall","src":"14021:18:67"},"nodeType":"YulExpressionStatement","src":"14021:18:67"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"13962:10:67"},{"kind":"number","nodeType":"YulLiteral","src":"13974:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13959:2:67"},"nodeType":"YulFunctionCall","src":"13959:34:67"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"13998:10:67"},{"name":"memPtr","nodeType":"YulIdentifier","src":"14010:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"13995:2:67"},"nodeType":"YulFunctionCall","src":"13995:22:67"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"13956:2:67"},"nodeType":"YulFunctionCall","src":"13956:62:67"},"nodeType":"YulIf","src":"13953:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14057:2:67","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"14061:10:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14050:6:67"},"nodeType":"YulFunctionCall","src":"14050:22:67"},"nodeType":"YulExpressionStatement","src":"14050:22:67"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"13826:6:67","type":""},{"name":"size","nodeType":"YulTypedName","src":"13834:4:67","type":""}],"src":"13797:281:67"},{"body":{"nodeType":"YulBlock","src":"14112:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14129:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14132:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14122:6:67"},"nodeType":"YulFunctionCall","src":"14122:88:67"},"nodeType":"YulExpressionStatement","src":"14122:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14226:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"14229:4:67","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14219:6:67"},"nodeType":"YulFunctionCall","src":"14219:15:67"},"nodeType":"YulExpressionStatement","src":"14219:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14250:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14253:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14243:6:67"},"nodeType":"YulFunctionCall","src":"14243:15:67"},"nodeType":"YulExpressionStatement","src":"14243:15:67"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14084:180:67"},{"body":{"nodeType":"YulBlock","src":"14359:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14376:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14379:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14369:6:67"},"nodeType":"YulFunctionCall","src":"14369:12:67"},"nodeType":"YulExpressionStatement","src":"14369:12:67"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"14270:117:67"},{"body":{"nodeType":"YulBlock","src":"14482:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14499:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14502:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14492:6:67"},"nodeType":"YulFunctionCall","src":"14492:12:67"},"nodeType":"YulExpressionStatement","src":"14492:12:67"}]},"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulFunctionDefinition","src":"14393:117:67"},{"body":{"nodeType":"YulBlock","src":"14605:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14622:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14625:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14615:6:67"},"nodeType":"YulFunctionCall","src":"14615:12:67"},"nodeType":"YulExpressionStatement","src":"14615:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"14516:117:67"},{"body":{"nodeType":"YulBlock","src":"14728:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14745:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14748:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14738:6:67"},"nodeType":"YulFunctionCall","src":"14738:12:67"},"nodeType":"YulExpressionStatement","src":"14738:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"14639:117:67"},{"body":{"nodeType":"YulBlock","src":"14810:54:67","statements":[{"nodeType":"YulAssignment","src":"14820:38:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14838:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"14845:2:67","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14834:3:67"},"nodeType":"YulFunctionCall","src":"14834:14:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14854:2:67","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"14850:3:67"},"nodeType":"YulFunctionCall","src":"14850:7:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14830:3:67"},"nodeType":"YulFunctionCall","src":"14830:28:67"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"14820:6:67"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"14793:5:67","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"14803:6:67","type":""}],"src":"14762:102:67"},{"body":{"nodeType":"YulBlock","src":"14976:114:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"14998:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"15006:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14994:3:67"},"nodeType":"YulFunctionCall","src":"14994:14:67"},{"hexValue":"5769746e657450726f78793a20756e61626c6520746f20696e697469616c697a","kind":"string","nodeType":"YulLiteral","src":"15010:34:67","type":"","value":"WitnetProxy: unable to initializ"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14987:6:67"},"nodeType":"YulFunctionCall","src":"14987:58:67"},"nodeType":"YulExpressionStatement","src":"14987:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"15066:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"15074:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15062:3:67"},"nodeType":"YulFunctionCall","src":"15062:15:67"},{"hexValue":"65","kind":"string","nodeType":"YulLiteral","src":"15079:3:67","type":"","value":"e"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15055:6:67"},"nodeType":"YulFunctionCall","src":"15055:28:67"},"nodeType":"YulExpressionStatement","src":"15055:28:67"}]},"name":"store_literal_in_memory_55e9f07b665adf0e8c084720fbd831f583a2d75f5997894b64a77e28a0171f3c","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"14968:6:67","type":""}],"src":"14870:220:67"},{"body":{"nodeType":"YulBlock","src":"15202:115:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"15224:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"15232:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15220:3:67"},"nodeType":"YulFunctionCall","src":"15220:14:67"},{"hexValue":"5769746e657450726f78793a206e6f207472616e736665727320616363657074","kind":"string","nodeType":"YulLiteral","src":"15236:34:67","type":"","value":"WitnetProxy: no transfers accept"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15213:6:67"},"nodeType":"YulFunctionCall","src":"15213:58:67"},"nodeType":"YulExpressionStatement","src":"15213:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"15292:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"15300:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15288:3:67"},"nodeType":"YulFunctionCall","src":"15288:15:67"},{"hexValue":"6564","kind":"string","nodeType":"YulLiteral","src":"15305:4:67","type":"","value":"ed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15281:6:67"},"nodeType":"YulFunctionCall","src":"15281:29:67"},"nodeType":"YulExpressionStatement","src":"15281:29:67"}]},"name":"store_literal_in_memory_774f1c1f39aa6307ffed1c232166bea02e6ab0d8771bdf0ac6a80de6ac5b053d","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"15194:6:67","type":""}],"src":"15096:221:67"},{"body":{"nodeType":"YulBlock","src":"15429:123:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"15451:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"15459:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15447:3:67"},"nodeType":"YulFunctionCall","src":"15447:14:67"},{"hexValue":"5769746e657450726f78793a20756e61626c6520746f20636865636b20757067","kind":"string","nodeType":"YulLiteral","src":"15463:34:67","type":"","value":"WitnetProxy: unable to check upg"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15440:6:67"},"nodeType":"YulFunctionCall","src":"15440:58:67"},"nodeType":"YulExpressionStatement","src":"15440:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"15519:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"15527:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15515:3:67"},"nodeType":"YulFunctionCall","src":"15515:15:67"},{"hexValue":"7261646162696c697479","kind":"string","nodeType":"YulLiteral","src":"15532:12:67","type":"","value":"radability"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15508:6:67"},"nodeType":"YulFunctionCall","src":"15508:37:67"},"nodeType":"YulExpressionStatement","src":"15508:37:67"}]},"name":"store_literal_in_memory_7f859058ad3ee4e192700ff813ed67dc892a0c7de91510ee584a0ac25fc982fc","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"15421:6:67","type":""}],"src":"15323:229:67"},{"body":{"nodeType":"YulBlock","src":"15664:71:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"15686:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"15694:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15682:3:67"},"nodeType":"YulFunctionCall","src":"15682:14:67"},{"hexValue":"5769746e657450726f78793a206e6f7420617574686f72697a6564","kind":"string","nodeType":"YulLiteral","src":"15698:29:67","type":"","value":"WitnetProxy: not authorized"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15675:6:67"},"nodeType":"YulFunctionCall","src":"15675:53:67"},"nodeType":"YulExpressionStatement","src":"15675:53:67"}]},"name":"store_literal_in_memory_ba8d4d661ce88eb2915ba133e6cad533938b754d7b66d8253879ef2c2193ecb2","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"15656:6:67","type":""}],"src":"15558:177:67"},{"body":{"nodeType":"YulBlock","src":"15847:76:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"15869:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"15877:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15865:3:67"},"nodeType":"YulFunctionCall","src":"15865:14:67"},{"hexValue":"5769746e657450726f78793a206e756c6c20696d706c656d656e746174696f6e","kind":"string","nodeType":"YulLiteral","src":"15881:34:67","type":"","value":"WitnetProxy: null implementation"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15858:6:67"},"nodeType":"YulFunctionCall","src":"15858:58:67"},"nodeType":"YulExpressionStatement","src":"15858:58:67"}]},"name":"store_literal_in_memory_d599eaa5e68d91d75c142446490ab9a15fd0284a41ce949219b5b4d8f267239a","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"15839:6:67","type":""}],"src":"15741:182:67"},{"body":{"nodeType":"YulBlock","src":"16035:71:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"16057:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"16065:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16053:3:67"},"nodeType":"YulFunctionCall","src":"16053:14:67"},{"hexValue":"5769746e657450726f78793a206e6f742075706772616461626c65","kind":"string","nodeType":"YulLiteral","src":"16069:29:67","type":"","value":"WitnetProxy: not upgradable"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16046:6:67"},"nodeType":"YulFunctionCall","src":"16046:53:67"},"nodeType":"YulExpressionStatement","src":"16046:53:67"}]},"name":"store_literal_in_memory_d96132834a96bae5cb2f32cb07f13985dcde0f2358055c198eb3065af6c5aa7f","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"16027:6:67","type":""}],"src":"15929:177:67"},{"body":{"nodeType":"YulBlock","src":"16218:75:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"16240:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"16248:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16236:3:67"},"nodeType":"YulFunctionCall","src":"16236:14:67"},{"hexValue":"5769746e657450726f78793a206e6f7468696e6720746f2075706772616465","kind":"string","nodeType":"YulLiteral","src":"16252:33:67","type":"","value":"WitnetProxy: nothing to upgrade"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16229:6:67"},"nodeType":"YulFunctionCall","src":"16229:57:67"},"nodeType":"YulExpressionStatement","src":"16229:57:67"}]},"name":"store_literal_in_memory_e332eab1bae45430d1201a30c0d80d8fcb5570f9e70201a9eb7b229e17fd2084","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"16210:6:67","type":""}],"src":"16112:181:67"},{"body":{"nodeType":"YulBlock","src":"16405:117:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"16427:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"16435:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16423:3:67"},"nodeType":"YulFunctionCall","src":"16423:14:67"},{"hexValue":"5769746e657450726f78793a2070726f786961626c655555494473206d69736d","kind":"string","nodeType":"YulLiteral","src":"16439:34:67","type":"","value":"WitnetProxy: proxiableUUIDs mism"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16416:6:67"},"nodeType":"YulFunctionCall","src":"16416:58:67"},"nodeType":"YulExpressionStatement","src":"16416:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"16495:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"16503:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16491:3:67"},"nodeType":"YulFunctionCall","src":"16491:15:67"},{"hexValue":"61746368","kind":"string","nodeType":"YulLiteral","src":"16508:6:67","type":"","value":"atch"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16484:6:67"},"nodeType":"YulFunctionCall","src":"16484:31:67"},"nodeType":"YulExpressionStatement","src":"16484:31:67"}]},"name":"store_literal_in_memory_f3c1ad1fa1688d47e62cc4dd5b4be101315ef47e38e05aa3a37a4ef2e1cec0a8","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"16397:6:67","type":""}],"src":"16299:223:67"},{"body":{"nodeType":"YulBlock","src":"16634:70:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"16656:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"16664:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16652:3:67"},"nodeType":"YulFunctionCall","src":"16652:14:67"},{"hexValue":"5769746e657450726f78793a206e6f7420636f6d706c69616e74","kind":"string","nodeType":"YulLiteral","src":"16668:28:67","type":"","value":"WitnetProxy: not compliant"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16645:6:67"},"nodeType":"YulFunctionCall","src":"16645:52:67"},"nodeType":"YulExpressionStatement","src":"16645:52:67"}]},"name":"store_literal_in_memory_fe0c5d56f2e637bc6ae9d29f1058c00159080f3dd6202013ecdbcca6e4740a65","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"16626:6:67","type":""}],"src":"16528:176:67"},{"body":{"nodeType":"YulBlock","src":"16753:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"16810:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16819:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16822:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16812:6:67"},"nodeType":"YulFunctionCall","src":"16812:12:67"},"nodeType":"YulExpressionStatement","src":"16812:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16776:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16801:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"16783:17:67"},"nodeType":"YulFunctionCall","src":"16783:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"16773:2:67"},"nodeType":"YulFunctionCall","src":"16773:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"16766:6:67"},"nodeType":"YulFunctionCall","src":"16766:43:67"},"nodeType":"YulIf","src":"16763:63:67"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16746:5:67","type":""}],"src":"16710:122:67"},{"body":{"nodeType":"YulBlock","src":"16878:76:67","statements":[{"body":{"nodeType":"YulBlock","src":"16932:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16941:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16944:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16934:6:67"},"nodeType":"YulFunctionCall","src":"16934:12:67"},"nodeType":"YulExpressionStatement","src":"16934:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16901:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16923:5:67"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"16908:14:67"},"nodeType":"YulFunctionCall","src":"16908:21:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"16898:2:67"},"nodeType":"YulFunctionCall","src":"16898:32:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"16891:6:67"},"nodeType":"YulFunctionCall","src":"16891:40:67"},"nodeType":"YulIf","src":"16888:60:67"}]},"name":"validator_revert_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16871:5:67","type":""}],"src":"16838:116:67"},{"body":{"nodeType":"YulBlock","src":"17003:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"17060:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17069:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17072:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17062:6:67"},"nodeType":"YulFunctionCall","src":"17062:12:67"},"nodeType":"YulExpressionStatement","src":"17062:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17026:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17051:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"17033:17:67"},"nodeType":"YulFunctionCall","src":"17033:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"17023:2:67"},"nodeType":"YulFunctionCall","src":"17023:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17016:6:67"},"nodeType":"YulFunctionCall","src":"17016:43:67"},"nodeType":"YulIf","src":"17013:63:67"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16996:5:67","type":""}],"src":"16960:122:67"}]},"contents":"{\n\n    function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n        mstore(array, length)\n        let dst := add(array, 0x20)\n        if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n        copy_calldata_to_memory(src, dst, length)\n    }\n\n    function abi_decode_t_address(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_address(value)\n    }\n\n    function abi_decode_t_bool_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_bool(value)\n    }\n\n    function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_bytes32(value)\n    }\n\n    // bytes\n    function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := calldataload(offset)\n        array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n    }\n\n    function abi_decode_tuple_t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1 {\n        if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := calldataload(add(headStart, 32))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value1 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_bytes32_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n        mstore(pos, cleanup_t_address(value))\n    }\n\n    function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n        mstore(pos, cleanup_t_bool(value))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, length)\n    }\n\n    function abi_encode_t_stringliteral_55e9f07b665adf0e8c084720fbd831f583a2d75f5997894b64a77e28a0171f3c_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n        store_literal_in_memory_55e9f07b665adf0e8c084720fbd831f583a2d75f5997894b64a77e28a0171f3c(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_774f1c1f39aa6307ffed1c232166bea02e6ab0d8771bdf0ac6a80de6ac5b053d_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n        store_literal_in_memory_774f1c1f39aa6307ffed1c232166bea02e6ab0d8771bdf0ac6a80de6ac5b053d(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_7f859058ad3ee4e192700ff813ed67dc892a0c7de91510ee584a0ac25fc982fc_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 42)\n        store_literal_in_memory_7f859058ad3ee4e192700ff813ed67dc892a0c7de91510ee584a0ac25fc982fc(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_ba8d4d661ce88eb2915ba133e6cad533938b754d7b66d8253879ef2c2193ecb2_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 27)\n        store_literal_in_memory_ba8d4d661ce88eb2915ba133e6cad533938b754d7b66d8253879ef2c2193ecb2(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_t_stringliteral_d599eaa5e68d91d75c142446490ab9a15fd0284a41ce949219b5b4d8f267239a_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n        store_literal_in_memory_d599eaa5e68d91d75c142446490ab9a15fd0284a41ce949219b5b4d8f267239a(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_t_stringliteral_d96132834a96bae5cb2f32cb07f13985dcde0f2358055c198eb3065af6c5aa7f_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 27)\n        store_literal_in_memory_d96132834a96bae5cb2f32cb07f13985dcde0f2358055c198eb3065af6c5aa7f(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_t_stringliteral_e332eab1bae45430d1201a30c0d80d8fcb5570f9e70201a9eb7b229e17fd2084_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n        store_literal_in_memory_e332eab1bae45430d1201a30c0d80d8fcb5570f9e70201a9eb7b229e17fd2084(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_t_stringliteral_f3c1ad1fa1688d47e62cc4dd5b4be101315ef47e38e05aa3a37a4ef2e1cec0a8_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n        store_literal_in_memory_f3c1ad1fa1688d47e62cc4dd5b4be101315ef47e38e05aa3a37a4ef2e1cec0a8(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_fe0c5d56f2e637bc6ae9d29f1058c00159080f3dd6202013ecdbcca6e4740a65_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 26)\n        store_literal_in_memory_fe0c5d56f2e637bc6ae9d29f1058c00159080f3dd6202013ecdbcca6e4740a65(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n        pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_address_to_t_address_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_bool_to_t_bool_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_55e9f07b665adf0e8c084720fbd831f583a2d75f5997894b64a77e28a0171f3c__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_55e9f07b665adf0e8c084720fbd831f583a2d75f5997894b64a77e28a0171f3c_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_774f1c1f39aa6307ffed1c232166bea02e6ab0d8771bdf0ac6a80de6ac5b053d__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_774f1c1f39aa6307ffed1c232166bea02e6ab0d8771bdf0ac6a80de6ac5b053d_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_7f859058ad3ee4e192700ff813ed67dc892a0c7de91510ee584a0ac25fc982fc__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_7f859058ad3ee4e192700ff813ed67dc892a0c7de91510ee584a0ac25fc982fc_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_ba8d4d661ce88eb2915ba133e6cad533938b754d7b66d8253879ef2c2193ecb2__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_ba8d4d661ce88eb2915ba133e6cad533938b754d7b66d8253879ef2c2193ecb2_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_d599eaa5e68d91d75c142446490ab9a15fd0284a41ce949219b5b4d8f267239a__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_d599eaa5e68d91d75c142446490ab9a15fd0284a41ce949219b5b4d8f267239a_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_d96132834a96bae5cb2f32cb07f13985dcde0f2358055c198eb3065af6c5aa7f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_d96132834a96bae5cb2f32cb07f13985dcde0f2358055c198eb3065af6c5aa7f_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_e332eab1bae45430d1201a30c0d80d8fcb5570f9e70201a9eb7b229e17fd2084__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_e332eab1bae45430d1201a30c0d80d8fcb5570f9e70201a9eb7b229e17fd2084_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_f3c1ad1fa1688d47e62cc4dd5b4be101315ef47e38e05aa3a37a4ef2e1cec0a8__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_f3c1ad1fa1688d47e62cc4dd5b4be101315ef47e38e05aa3a37a4ef2e1cec0a8_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_fe0c5d56f2e637bc6ae9d29f1058c00159080f3dd6202013ecdbcca6e4740a65__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_fe0c5d56f2e637bc6ae9d29f1058c00159080f3dd6202013ecdbcca6e4740a65_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function allocate_memory(size) -> memPtr {\n        memPtr := allocate_unbounded()\n        finalize_allocation(memPtr, size)\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := round_up_to_mul_of_32(length)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_length_t_bytes_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n        updated_pos := pos\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function cleanup_t_address(value) -> cleaned {\n        cleaned := cleanup_t_uint160(value)\n    }\n\n    function cleanup_t_bool(value) -> cleaned {\n        cleaned := iszero(iszero(value))\n    }\n\n    function cleanup_t_bytes32(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_uint160(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n    }\n\n    function copy_calldata_to_memory(src, dst, length) {\n        calldatacopy(dst, src, length)\n        // clear end\n        mstore(add(dst, length), 0)\n    }\n\n    function copy_memory_to_memory(src, dst, length) {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        if gt(i, length)\n        {\n            // clear end\n            mstore(add(dst, length), 0)\n        }\n    }\n\n    function finalize_allocation(memPtr, size) {\n        let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n        // protect against overflow\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n\n    function panic_error_0x41() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n\n    function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n        revert(0, 0)\n    }\n\n    function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n        revert(0, 0)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function round_up_to_mul_of_32(value) -> result {\n        result := and(add(value, 31), not(31))\n    }\n\n    function store_literal_in_memory_55e9f07b665adf0e8c084720fbd831f583a2d75f5997894b64a77e28a0171f3c(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetProxy: unable to initializ\")\n\n        mstore(add(memPtr, 32), \"e\")\n\n    }\n\n    function store_literal_in_memory_774f1c1f39aa6307ffed1c232166bea02e6ab0d8771bdf0ac6a80de6ac5b053d(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetProxy: no transfers accept\")\n\n        mstore(add(memPtr, 32), \"ed\")\n\n    }\n\n    function store_literal_in_memory_7f859058ad3ee4e192700ff813ed67dc892a0c7de91510ee584a0ac25fc982fc(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetProxy: unable to check upg\")\n\n        mstore(add(memPtr, 32), \"radability\")\n\n    }\n\n    function store_literal_in_memory_ba8d4d661ce88eb2915ba133e6cad533938b754d7b66d8253879ef2c2193ecb2(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetProxy: not authorized\")\n\n    }\n\n    function store_literal_in_memory_d599eaa5e68d91d75c142446490ab9a15fd0284a41ce949219b5b4d8f267239a(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetProxy: null implementation\")\n\n    }\n\n    function store_literal_in_memory_d96132834a96bae5cb2f32cb07f13985dcde0f2358055c198eb3065af6c5aa7f(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetProxy: not upgradable\")\n\n    }\n\n    function store_literal_in_memory_e332eab1bae45430d1201a30c0d80d8fcb5570f9e70201a9eb7b229e17fd2084(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetProxy: nothing to upgrade\")\n\n    }\n\n    function store_literal_in_memory_f3c1ad1fa1688d47e62cc4dd5b4be101315ef47e38e05aa3a37a4ef2e1cec0a8(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetProxy: proxiableUUIDs mism\")\n\n        mstore(add(memPtr, 32), \"atch\")\n\n    }\n\n    function store_literal_in_memory_fe0c5d56f2e637bc6ae9d29f1058c00159080f3dd6202013ecdbcca6e4740a65(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetProxy: not compliant\")\n\n    }\n\n    function validator_revert_t_address(value) {\n        if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_bool(value) {\n        if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_bytes32(value) {\n        if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"60806040526004361061002d5760003560e01c80635c60da1b146100a05780636fbc15e9146100cb5761006d565b3661006d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161006490610c84565b60405180910390fd5b6000610077610108565b905060405136600082376000803683855af43d806000843e816000811461009c578184f35b8184fd5b3480156100ac57600080fd5b506100b5610108565b6040516100c29190610c0c565b60405180910390f35b3480156100d757600080fd5b506100f260048036038101906100ed919061097c565b61013b565b6040516100ff9190610c27565b60405180910390f35b60006101126108a5565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156101ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101a390610ce4565b60405180910390fd5b60006101b6610108565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461061e578073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561025b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025290610d24565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16635479d9406040518163ffffffff1660e01b815260040160206040518083038186803b1580156102a157600080fd5b505afa9250505080156102d257506040513d601f19601f820116820180604052508101906102cf91906109d8565b60015b610311576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030890610ca4565b60405180910390fd5b80610351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034890610d04565b60405180910390fd5b506000808273ffffffffffffffffffffffffffffffffffffffff163360405160240161037d9190610c0c565b6040516020818303038152906040527f6b58960a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516104079190610bf5565b600060405180830381855af49150503d8060008114610442576040519150601f19603f3d011682016040523d82523d6000602084013e610447565b606091505b50915091508161048c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048390610d64565b60405180910390fd5b808060200190518101906104a091906109d8565b6104df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d690610cc4565b60405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561052557600080fd5b505afa158015610539573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055d9190610a05565b8373ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156105a357600080fd5b505afa1580156105b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105db9190610a05565b1461061b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061290610d44565b60405180910390fd5b50505b60008473ffffffffffffffffffffffffffffffffffffffff16846040516024016106489190610c42565b6040516020818303038152906040527f439fab91000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516106d29190610bf5565b600060405180830381855af49150503d806000811461070d576040519150601f19603f3d011682016040523d82523d6000602084013e610712565b606091505b5050905080610756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074d90610c64565b60405180910390fd5b8461075f6108a5565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508473ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a28473ffffffffffffffffffffffffffffffffffffffff16635479d9406040518163ffffffff1660e01b815260040160206040518083038186803b15801561082957600080fd5b505afa92505050801561085a57506040513d601f19601f8201168201806040525081019061085791906109d8565b60015b610899576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089090610d64565b60405180910390fd5b80935050505092915050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc905090565b60006108e06108db84610da9565b610d84565b9050828152602081018484840111156108fc576108fb610f01565b5b610907848285610e5a565b509392505050565b60008135905061091e8161112a565b92915050565b60008151905061093381611141565b92915050565b60008151905061094881611158565b92915050565b600082601f83011261096357610962610efc565b5b81356109738482602086016108cd565b91505092915050565b6000806040838503121561099357610992610f0b565b5b60006109a18582860161090f565b925050602083013567ffffffffffffffff8111156109c2576109c1610f06565b5b6109ce8582860161094e565b9150509250929050565b6000602082840312156109ee576109ed610f0b565b5b60006109fc84828501610924565b91505092915050565b600060208284031215610a1b57610a1a610f0b565b5b6000610a2984828501610939565b91505092915050565b610a3b81610e12565b82525050565b610a4a81610e24565b82525050565b6000610a5b82610dda565b610a658185610de5565b9350610a75818560208601610e69565b610a7e81610f10565b840191505092915050565b6000610a9482610dda565b610a9e8185610df6565b9350610aae818560208601610e69565b80840191505092915050565b6000610ac7602183610e01565b9150610ad282610f21565b604082019050919050565b6000610aea602283610e01565b9150610af582610f70565b604082019050919050565b6000610b0d602a83610e01565b9150610b1882610fbf565b604082019050919050565b6000610b30601b83610e01565b9150610b3b8261100e565b602082019050919050565b6000610b53602083610e01565b9150610b5e82611037565b602082019050919050565b6000610b76601b83610e01565b9150610b8182611060565b602082019050919050565b6000610b99601f83610e01565b9150610ba482611089565b602082019050919050565b6000610bbc602483610e01565b9150610bc7826110b2565b604082019050919050565b6000610bdf601a83610e01565b9150610bea82611101565b602082019050919050565b6000610c018284610a89565b915081905092915050565b6000602082019050610c216000830184610a32565b92915050565b6000602082019050610c3c6000830184610a41565b92915050565b60006020820190508181036000830152610c5c8184610a50565b905092915050565b60006020820190508181036000830152610c7d81610aba565b9050919050565b60006020820190508181036000830152610c9d81610add565b9050919050565b60006020820190508181036000830152610cbd81610b00565b9050919050565b60006020820190508181036000830152610cdd81610b23565b9050919050565b60006020820190508181036000830152610cfd81610b46565b9050919050565b60006020820190508181036000830152610d1d81610b69565b9050919050565b60006020820190508181036000830152610d3d81610b8c565b9050919050565b60006020820190508181036000830152610d5d81610baf565b9050919050565b60006020820190508181036000830152610d7d81610bd2565b9050919050565b6000610d8e610d9f565b9050610d9a8282610e9c565b919050565b6000604051905090565b600067ffffffffffffffff821115610dc457610dc3610ecd565b5b610dcd82610f10565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000610e1d82610e3a565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b82818337600083830152505050565b60005b83811015610e87578082015181840152602081019050610e6c565b83811115610e96576000848401525b50505050565b610ea582610f10565b810181811067ffffffffffffffff82111715610ec457610ec3610ecd565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f5769746e657450726f78793a20756e61626c6520746f20696e697469616c697a60008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b7f5769746e657450726f78793a206e6f207472616e73666572732061636365707460008201527f6564000000000000000000000000000000000000000000000000000000000000602082015250565b7f5769746e657450726f78793a20756e61626c6520746f20636865636b2075706760008201527f7261646162696c69747900000000000000000000000000000000000000000000602082015250565b7f5769746e657450726f78793a206e6f7420617574686f72697a65640000000000600082015250565b7f5769746e657450726f78793a206e756c6c20696d706c656d656e746174696f6e600082015250565b7f5769746e657450726f78793a206e6f742075706772616461626c650000000000600082015250565b7f5769746e657450726f78793a206e6f7468696e6720746f207570677261646500600082015250565b7f5769746e657450726f78793a2070726f786961626c655555494473206d69736d60008201527f6174636800000000000000000000000000000000000000000000000000000000602082015250565b7f5769746e657450726f78793a206e6f7420636f6d706c69616e74000000000000600082015250565b61113381610e12565b811461113e57600080fd5b50565b61114a81610e24565b811461115557600080fd5b50565b61116181610e30565b811461116c57600080fd5b5056fea26469706673582212204ab7787d72da28baaa9c9bc0d8bb9a171073217de443a926002a74b6cd7143c464736f6c63430008070033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0xA0 JUMPI DUP1 PUSH4 0x6FBC15E9 EQ PUSH2 0xCB JUMPI PUSH2 0x6D JUMP JUMPDEST CALLDATASIZE PUSH2 0x6D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x64 SWAP1 PUSH2 0xC84 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x77 PUSH2 0x108 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 MLOAD CALLDATASIZE PUSH1 0x0 DUP3 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE DUP4 DUP6 GAS DELEGATECALL RETURNDATASIZE DUP1 PUSH1 0x0 DUP5 RETURNDATACOPY DUP2 PUSH1 0x0 DUP2 EQ PUSH2 0x9C JUMPI DUP2 DUP5 RETURN JUMPDEST DUP2 DUP5 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB5 PUSH2 0x108 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC2 SWAP2 SWAP1 PUSH2 0xC0C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xED SWAP2 SWAP1 PUSH2 0x97C JUMP JUMPDEST PUSH2 0x13B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFF SWAP2 SWAP1 PUSH2 0xC27 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x112 PUSH2 0x8A5 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1AC JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A3 SWAP1 PUSH2 0xCE4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1B6 PUSH2 0x108 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x61E JUMPI DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x25B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x252 SWAP1 PUSH2 0xD24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5479D940 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 0x2A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x2D2 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2CF SWAP2 SWAP1 PUSH2 0x9D8 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x311 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x308 SWAP1 PUSH2 0xCA4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x351 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x348 SWAP1 PUSH2 0xD04 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x37D SWAP2 SWAP1 PUSH2 0xC0C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0x6B58960A00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x407 SWAP2 SWAP1 PUSH2 0xBF5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x442 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x447 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x48C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x483 SWAP1 PUSH2 0xD64 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x4A0 SWAP2 SWAP1 PUSH2 0x9D8 JUMP JUMPDEST PUSH2 0x4DF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D6 SWAP1 PUSH2 0xCC4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x52D1902D 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 0x525 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x539 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 0x55D SWAP2 SWAP1 PUSH2 0xA05 JUMP JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x52D1902D 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 0x5A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x5B7 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 0x5DB SWAP2 SWAP1 PUSH2 0xA05 JUMP JUMPDEST EQ PUSH2 0x61B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x612 SWAP1 PUSH2 0xD44 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP JUMPDEST PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x648 SWAP2 SWAP1 PUSH2 0xC42 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0x439FAB9100000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x6D2 SWAP2 SWAP1 PUSH2 0xBF5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x70D JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x712 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x756 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x74D SWAP1 PUSH2 0xC64 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 PUSH2 0x75F PUSH2 0x8A5 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5479D940 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 0x829 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x85A JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x857 SWAP2 SWAP1 PUSH2 0x9D8 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x899 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x890 SWAP1 PUSH2 0xD64 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8E0 PUSH2 0x8DB DUP5 PUSH2 0xDA9 JUMP JUMPDEST PUSH2 0xD84 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x8FC JUMPI PUSH2 0x8FB PUSH2 0xF01 JUMP JUMPDEST JUMPDEST PUSH2 0x907 DUP5 DUP3 DUP6 PUSH2 0xE5A JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x91E DUP2 PUSH2 0x112A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x933 DUP2 PUSH2 0x1141 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x948 DUP2 PUSH2 0x1158 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x963 JUMPI PUSH2 0x962 PUSH2 0xEFC JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x973 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x8CD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x993 JUMPI PUSH2 0x992 PUSH2 0xF0B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x9A1 DUP6 DUP3 DUP7 ADD PUSH2 0x90F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x9C2 JUMPI PUSH2 0x9C1 PUSH2 0xF06 JUMP JUMPDEST JUMPDEST PUSH2 0x9CE DUP6 DUP3 DUP7 ADD PUSH2 0x94E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9EE JUMPI PUSH2 0x9ED PUSH2 0xF0B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x9FC DUP5 DUP3 DUP6 ADD PUSH2 0x924 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA1B JUMPI PUSH2 0xA1A PUSH2 0xF0B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xA29 DUP5 DUP3 DUP6 ADD PUSH2 0x939 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xA3B DUP2 PUSH2 0xE12 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xA4A DUP2 PUSH2 0xE24 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA5B DUP3 PUSH2 0xDDA JUMP JUMPDEST PUSH2 0xA65 DUP2 DUP6 PUSH2 0xDE5 JUMP JUMPDEST SWAP4 POP PUSH2 0xA75 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xE69 JUMP JUMPDEST PUSH2 0xA7E DUP2 PUSH2 0xF10 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA94 DUP3 PUSH2 0xDDA JUMP JUMPDEST PUSH2 0xA9E DUP2 DUP6 PUSH2 0xDF6 JUMP JUMPDEST SWAP4 POP PUSH2 0xAAE DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xE69 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAC7 PUSH1 0x21 DUP4 PUSH2 0xE01 JUMP JUMPDEST SWAP2 POP PUSH2 0xAD2 DUP3 PUSH2 0xF21 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAEA PUSH1 0x22 DUP4 PUSH2 0xE01 JUMP JUMPDEST SWAP2 POP PUSH2 0xAF5 DUP3 PUSH2 0xF70 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB0D PUSH1 0x2A DUP4 PUSH2 0xE01 JUMP JUMPDEST SWAP2 POP PUSH2 0xB18 DUP3 PUSH2 0xFBF JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB30 PUSH1 0x1B DUP4 PUSH2 0xE01 JUMP JUMPDEST SWAP2 POP PUSH2 0xB3B DUP3 PUSH2 0x100E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB53 PUSH1 0x20 DUP4 PUSH2 0xE01 JUMP JUMPDEST SWAP2 POP PUSH2 0xB5E DUP3 PUSH2 0x1037 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB76 PUSH1 0x1B DUP4 PUSH2 0xE01 JUMP JUMPDEST SWAP2 POP PUSH2 0xB81 DUP3 PUSH2 0x1060 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB99 PUSH1 0x1F DUP4 PUSH2 0xE01 JUMP JUMPDEST SWAP2 POP PUSH2 0xBA4 DUP3 PUSH2 0x1089 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBBC PUSH1 0x24 DUP4 PUSH2 0xE01 JUMP JUMPDEST SWAP2 POP PUSH2 0xBC7 DUP3 PUSH2 0x10B2 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBDF PUSH1 0x1A DUP4 PUSH2 0xE01 JUMP JUMPDEST SWAP2 POP PUSH2 0xBEA DUP3 PUSH2 0x1101 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC01 DUP3 DUP5 PUSH2 0xA89 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC21 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xA32 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC3C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xA41 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC5C DUP2 DUP5 PUSH2 0xA50 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC7D DUP2 PUSH2 0xABA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC9D DUP2 PUSH2 0xADD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xCBD DUP2 PUSH2 0xB00 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xCDD DUP2 PUSH2 0xB23 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xCFD DUP2 PUSH2 0xB46 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xD1D DUP2 PUSH2 0xB69 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xD3D DUP2 PUSH2 0xB8C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xD5D DUP2 PUSH2 0xBAF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xD7D DUP2 PUSH2 0xBD2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD8E PUSH2 0xD9F JUMP JUMPDEST SWAP1 POP PUSH2 0xD9A DUP3 DUP3 PUSH2 0xE9C JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xDC4 JUMPI PUSH2 0xDC3 PUSH2 0xECD JUMP JUMPDEST JUMPDEST PUSH2 0xDCD DUP3 PUSH2 0xF10 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE1D DUP3 PUSH2 0xE3A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xE87 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xE6C JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xE96 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0xEA5 DUP3 PUSH2 0xF10 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xEC4 JUMPI PUSH2 0xEC3 PUSH2 0xECD JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x5769746E657450726F78793A20756E61626C6520746F20696E697469616C697A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6500000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657450726F78793A206E6F207472616E736665727320616363657074 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6564000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657450726F78793A20756E61626C6520746F20636865636B20757067 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7261646162696C69747900000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657450726F78793A206E6F7420617574686F72697A65640000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657450726F78793A206E756C6C20696D706C656D656E746174696F6E PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657450726F78793A206E6F742075706772616461626C650000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657450726F78793A206E6F7468696E6720746F207570677261646500 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657450726F78793A2070726F786961626C655555494473206D69736D PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6174636800000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657450726F78793A206E6F7420636F6D706C69616E74000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x1133 DUP2 PUSH2 0xE12 JUMP JUMPDEST DUP2 EQ PUSH2 0x113E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x114A DUP2 PUSH2 0xE24 JUMP JUMPDEST DUP2 EQ PUSH2 0x1155 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1161 DUP2 PUSH2 0xE30 JUMP JUMPDEST DUP2 EQ PUSH2 0x116C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x4A 0xB7 PUSH25 0x7D72DA28BAAA9C9BC0D8BB9A171073217DE443A926002A74B6 0xCD PUSH18 0x43C464736F6C634300080700330000000000 ","sourceMap":"378:4863:34:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;821:44;;;;;;;;;;:::i;:::-;;;;;;;;378:4863;1032:23;1058:16;:14;:16::i;:::-;1032:42;;1418:4;1412:11;1457:14;1454:1;1449:3;1436:36;1560:1;1557;1541:14;1536:3;1519:15;1512:5;1499:63;1587:16;1639:4;1636:1;1631:3;1616:28;1664:6;1692:1;1687:116;;;;1943:4;1938:3;1931:17;1687:116;1779:4;1774:3;1767:17;2045:107;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2440:2395;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2045:107;2092:7;2118:12;:10;:12::i;:::-;:27;;;;;;;;;;;;2111:34;;2045:107;:::o;2440:2395::-;2535:4;2639:1;2609:32;;:18;:32;;;;2601:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;2689:26;2718:16;:14;:16::i;:::-;2689:45;;2778:1;2748:32;;:18;:32;;;2744:1258;;2898:18;2876:40;;:18;:40;;;;2868:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;3064:18;3053:43;;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;3049:257;;3239:52;;;;;;;;;;:::i;:::-;;;;;;;;3049:257;3154:13;3146:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;3099:115;3416:15;3433:20;3457:18;:31;;3600:10;3506:122;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3457:185;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3415:227;;;;3664:10;3656:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;3738:7;3727:27;;;;;;;;;;;;:::i;:::-;3719:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3886:18;3875:44;;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3836:18;3825:44;;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:96;3800:191;;;;;;;;;;;;:::i;:::-;;;;;;;;;2782:1220;;2744:1258;4084:20;4109:18;:31;;4232:9;4154:101;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4109:156;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4083:182;;;4283:15;4275:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;4458:18;4428:12;:10;:12::i;:::-;:27;;;:48;;;;;;;;;;;;;;;;;;4500:18;4491:28;;;;;;;;;;;;4643:18;4632:43;;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;4628:201;;4781:37;;;;;;;;;;:::i;:::-;;;;;;;;4628:201;4728:13;4721:20;;;;;2440:2395;;;;:::o;4955:283::-;4999:29;5156:66;5142:80;;4955:283;:::o;7:410:67:-;84:5;109:65;125:48;166:6;125:48;:::i;:::-;109:65;:::i;:::-;100:74;;197:6;190:5;183:21;235:4;228:5;224:16;273:3;264:6;259:3;255:16;252:25;249:112;;;280:79;;:::i;:::-;249:112;370:41;404:6;399:3;394;370:41;:::i;:::-;90:327;7:410;;;;;:::o;423:139::-;469:5;507:6;494:20;485:29;;523:33;550:5;523:33;:::i;:::-;423:139;;;;:::o;568:137::-;622:5;653:6;647:13;638:22;;669:30;693:5;669:30;:::i;:::-;568:137;;;;:::o;711:143::-;768:5;799:6;793:13;784:22;;815:33;842:5;815:33;:::i;:::-;711:143;;;;:::o;873:338::-;928:5;977:3;970:4;962:6;958:17;954:27;944:122;;985:79;;:::i;:::-;944:122;1102:6;1089:20;1127:78;1201:3;1193:6;1186:4;1178:6;1174:17;1127:78;:::i;:::-;1118:87;;934:277;873:338;;;;:::o;1217:652::-;1294:6;1302;1351:2;1339:9;1330:7;1326:23;1322:32;1319:119;;;1357:79;;:::i;:::-;1319:119;1477:1;1502:53;1547:7;1538:6;1527:9;1523:22;1502:53;:::i;:::-;1492:63;;1448:117;1632:2;1621:9;1617:18;1604:32;1663:18;1655:6;1652:30;1649:117;;;1685:79;;:::i;:::-;1649:117;1790:62;1844:7;1835:6;1824:9;1820:22;1790:62;:::i;:::-;1780:72;;1575:287;1217:652;;;;;:::o;1875:345::-;1942:6;1991:2;1979:9;1970:7;1966:23;1962:32;1959:119;;;1997:79;;:::i;:::-;1959:119;2117:1;2142:61;2195:7;2186:6;2175:9;2171:22;2142:61;:::i;:::-;2132:71;;2088:125;1875:345;;;;:::o;2226:351::-;2296:6;2345:2;2333:9;2324:7;2320:23;2316:32;2313:119;;;2351:79;;:::i;:::-;2313:119;2471:1;2496:64;2552:7;2543:6;2532:9;2528:22;2496:64;:::i;:::-;2486:74;;2442:128;2226:351;;;;:::o;2583:118::-;2670:24;2688:5;2670:24;:::i;:::-;2665:3;2658:37;2583:118;;:::o;2707:109::-;2788:21;2803:5;2788:21;:::i;:::-;2783:3;2776:34;2707:109;;:::o;2822:360::-;2908:3;2936:38;2968:5;2936:38;:::i;:::-;2990:70;3053:6;3048:3;2990:70;:::i;:::-;2983:77;;3069:52;3114:6;3109:3;3102:4;3095:5;3091:16;3069:52;:::i;:::-;3146:29;3168:6;3146:29;:::i;:::-;3141:3;3137:39;3130:46;;2912:270;2822:360;;;;:::o;3188:373::-;3292:3;3320:38;3352:5;3320:38;:::i;:::-;3374:88;3455:6;3450:3;3374:88;:::i;:::-;3367:95;;3471:52;3516:6;3511:3;3504:4;3497:5;3493:16;3471:52;:::i;:::-;3548:6;3543:3;3539:16;3532:23;;3296:265;3188:373;;;;:::o;3567:366::-;3709:3;3730:67;3794:2;3789:3;3730:67;:::i;:::-;3723:74;;3806:93;3895:3;3806:93;:::i;:::-;3924:2;3919:3;3915:12;3908:19;;3567:366;;;:::o;3939:::-;4081:3;4102:67;4166:2;4161:3;4102:67;:::i;:::-;4095:74;;4178:93;4267:3;4178:93;:::i;:::-;4296:2;4291:3;4287:12;4280:19;;3939:366;;;:::o;4311:::-;4453:3;4474:67;4538:2;4533:3;4474:67;:::i;:::-;4467:74;;4550:93;4639:3;4550:93;:::i;:::-;4668:2;4663:3;4659:12;4652:19;;4311:366;;;:::o;4683:::-;4825:3;4846:67;4910:2;4905:3;4846:67;:::i;:::-;4839:74;;4922:93;5011:3;4922:93;:::i;:::-;5040:2;5035:3;5031:12;5024:19;;4683:366;;;:::o;5055:::-;5197:3;5218:67;5282:2;5277:3;5218:67;:::i;:::-;5211:74;;5294:93;5383:3;5294:93;:::i;:::-;5412:2;5407:3;5403:12;5396:19;;5055:366;;;:::o;5427:::-;5569:3;5590:67;5654:2;5649:3;5590:67;:::i;:::-;5583:74;;5666:93;5755:3;5666:93;:::i;:::-;5784:2;5779:3;5775:12;5768:19;;5427:366;;;:::o;5799:::-;5941:3;5962:67;6026:2;6021:3;5962:67;:::i;:::-;5955:74;;6038:93;6127:3;6038:93;:::i;:::-;6156:2;6151:3;6147:12;6140:19;;5799:366;;;:::o;6171:::-;6313:3;6334:67;6398:2;6393:3;6334:67;:::i;:::-;6327:74;;6410:93;6499:3;6410:93;:::i;:::-;6528:2;6523:3;6519:12;6512:19;;6171:366;;;:::o;6543:::-;6685:3;6706:67;6770:2;6765:3;6706:67;:::i;:::-;6699:74;;6782:93;6871:3;6782:93;:::i;:::-;6900:2;6895:3;6891:12;6884:19;;6543:366;;;:::o;6915:271::-;7045:3;7067:93;7156:3;7147:6;7067:93;:::i;:::-;7060:100;;7177:3;7170:10;;6915:271;;;;:::o;7192:222::-;7285:4;7323:2;7312:9;7308:18;7300:26;;7336:71;7404:1;7393:9;7389:17;7380:6;7336:71;:::i;:::-;7192:222;;;;:::o;7420:210::-;7507:4;7545:2;7534:9;7530:18;7522:26;;7558:65;7620:1;7609:9;7605:17;7596:6;7558:65;:::i;:::-;7420:210;;;;:::o;7636:309::-;7747:4;7785:2;7774:9;7770:18;7762:26;;7834:9;7828:4;7824:20;7820:1;7809:9;7805:17;7798:47;7862:76;7933:4;7924:6;7862:76;:::i;:::-;7854:84;;7636:309;;;;:::o;7951:419::-;8117:4;8155:2;8144:9;8140:18;8132:26;;8204:9;8198:4;8194:20;8190:1;8179:9;8175:17;8168:47;8232:131;8358:4;8232:131;:::i;:::-;8224:139;;7951:419;;;:::o;8376:::-;8542:4;8580:2;8569:9;8565:18;8557:26;;8629:9;8623:4;8619:20;8615:1;8604:9;8600:17;8593:47;8657:131;8783:4;8657:131;:::i;:::-;8649:139;;8376:419;;;:::o;8801:::-;8967:4;9005:2;8994:9;8990:18;8982:26;;9054:9;9048:4;9044:20;9040:1;9029:9;9025:17;9018:47;9082:131;9208:4;9082:131;:::i;:::-;9074:139;;8801:419;;;:::o;9226:::-;9392:4;9430:2;9419:9;9415:18;9407:26;;9479:9;9473:4;9469:20;9465:1;9454:9;9450:17;9443:47;9507:131;9633:4;9507:131;:::i;:::-;9499:139;;9226:419;;;:::o;9651:::-;9817:4;9855:2;9844:9;9840:18;9832:26;;9904:9;9898:4;9894:20;9890:1;9879:9;9875:17;9868:47;9932:131;10058:4;9932:131;:::i;:::-;9924:139;;9651:419;;;:::o;10076:::-;10242:4;10280:2;10269:9;10265:18;10257:26;;10329:9;10323:4;10319:20;10315:1;10304:9;10300:17;10293:47;10357:131;10483:4;10357:131;:::i;:::-;10349:139;;10076:419;;;:::o;10501:::-;10667:4;10705:2;10694:9;10690:18;10682:26;;10754:9;10748:4;10744:20;10740:1;10729:9;10725:17;10718:47;10782:131;10908:4;10782:131;:::i;:::-;10774:139;;10501:419;;;:::o;10926:::-;11092:4;11130:2;11119:9;11115:18;11107:26;;11179:9;11173:4;11169:20;11165:1;11154:9;11150:17;11143:47;11207:131;11333:4;11207:131;:::i;:::-;11199:139;;10926:419;;;:::o;11351:::-;11517:4;11555:2;11544:9;11540:18;11532:26;;11604:9;11598:4;11594:20;11590:1;11579:9;11575:17;11568:47;11632:131;11758:4;11632:131;:::i;:::-;11624:139;;11351:419;;;:::o;11776:129::-;11810:6;11837:20;;:::i;:::-;11827:30;;11866:33;11894:4;11886:6;11866:33;:::i;:::-;11776:129;;;:::o;11911:75::-;11944:6;11977:2;11971:9;11961:19;;11911:75;:::o;11992:307::-;12053:4;12143:18;12135:6;12132:30;12129:56;;;12165:18;;:::i;:::-;12129:56;12203:29;12225:6;12203:29;:::i;:::-;12195:37;;12287:4;12281;12277:15;12269:23;;11992:307;;;:::o;12305:98::-;12356:6;12390:5;12384:12;12374:22;;12305:98;;;:::o;12409:168::-;12492:11;12526:6;12521:3;12514:19;12566:4;12561:3;12557:14;12542:29;;12409:168;;;;:::o;12583:147::-;12684:11;12721:3;12706:18;;12583:147;;;;:::o;12736:169::-;12820:11;12854:6;12849:3;12842:19;12894:4;12889:3;12885:14;12870:29;;12736:169;;;;:::o;12911:96::-;12948:7;12977:24;12995:5;12977:24;:::i;:::-;12966:35;;12911:96;;;:::o;13013:90::-;13047:7;13090:5;13083:13;13076:21;13065:32;;13013:90;;;:::o;13109:77::-;13146:7;13175:5;13164:16;;13109:77;;;:::o;13192:126::-;13229:7;13269:42;13262:5;13258:54;13247:65;;13192:126;;;:::o;13324:154::-;13408:6;13403:3;13398;13385:30;13470:1;13461:6;13456:3;13452:16;13445:27;13324:154;;;:::o;13484:307::-;13552:1;13562:113;13576:6;13573:1;13570:13;13562:113;;;13661:1;13656:3;13652:11;13646:18;13642:1;13637:3;13633:11;13626:39;13598:2;13595:1;13591:10;13586:15;;13562:113;;;13693:6;13690:1;13687:13;13684:101;;;13773:1;13764:6;13759:3;13755:16;13748:27;13684:101;13533:258;13484:307;;;:::o;13797:281::-;13880:27;13902:4;13880:27;:::i;:::-;13872:6;13868:40;14010:6;13998:10;13995:22;13974:18;13962:10;13959:34;13956:62;13953:88;;;14021:18;;:::i;:::-;13953:88;14061:10;14057:2;14050:22;13840:238;13797:281;;:::o;14084:180::-;14132:77;14129:1;14122:88;14229:4;14226:1;14219:15;14253:4;14250:1;14243:15;14270:117;14379:1;14376;14369:12;14393:117;14502:1;14499;14492:12;14516:117;14625:1;14622;14615:12;14639:117;14748:1;14745;14738:12;14762:102;14803:6;14854:2;14850:7;14845:2;14838:5;14834:14;14830:28;14820:38;;14762:102;;;:::o;14870:220::-;15010:34;15006:1;14998:6;14994:14;14987:58;15079:3;15074:2;15066:6;15062:15;15055:28;14870:220;:::o;15096:221::-;15236:34;15232:1;15224:6;15220:14;15213:58;15305:4;15300:2;15292:6;15288:15;15281:29;15096:221;:::o;15323:229::-;15463:34;15459:1;15451:6;15447:14;15440:58;15532:12;15527:2;15519:6;15515:15;15508:37;15323:229;:::o;15558:177::-;15698:29;15694:1;15686:6;15682:14;15675:53;15558:177;:::o;15741:182::-;15881:34;15877:1;15869:6;15865:14;15858:58;15741:182;:::o;15929:177::-;16069:29;16065:1;16057:6;16053:14;16046:53;15929:177;:::o;16112:181::-;16252:33;16248:1;16240:6;16236:14;16229:57;16112:181;:::o;16299:223::-;16439:34;16435:1;16427:6;16423:14;16416:58;16508:6;16503:2;16495:6;16491:15;16484:31;16299:223;:::o;16528:176::-;16668:28;16664:1;16656:6;16652:14;16645:52;16528:176;:::o;16710:122::-;16783:24;16801:5;16783:24;:::i;:::-;16776:5;16773:35;16763:63;;16822:1;16819;16812:12;16763:63;16710:122;:::o;16838:116::-;16908:21;16923:5;16908:21;:::i;:::-;16901:5;16898:32;16888:60;;16944:1;16941;16934:12;16888:60;16838:116;:::o;16960:122::-;17033:24;17051:5;17033:24;:::i;:::-;17026:5;17023:35;17013:63;;17072:1;17069;17062:12;17013:63;16960:122;:::o"},"gasEstimates":{"creation":{"codeDepositCost":"903400","executionCost":"942","totalCost":"904342"},"external":{"":"infinite","implementation()":"2541","upgradeTo(address,bytes)":"infinite"},"internal":{"_proxySlot()":"23"}},"methodIdentifiers":{"implementation()":"5c60da1b","upgradeTo(address,bytes)":"6fbc15e9"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initData\",\"type\":\"bytes\"}],\"name\":\"upgradeTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"kind\":\"dev\",\"methods\":{\"upgradeTo(address,bytes)\":{\"params\":{\"_initData\":\"Raw data with which new implementation will be initialized.\",\"_newImplementation\":\"New implementation address.\"},\"returns\":{\"_0\":\"Returns whether new implementation would be further upgradable, or not.\"}}},\"title\":\"WitnetProxy: upgradable delegate-proxy contract that routes Witnet data requests coming from a  `UsingWitnet`-inheriting contract to a currently active `WitnetRequestBoard` implementation. \",\"version\":1},\"userdoc\":{\"events\":{\"Upgraded(address)\":{\"notice\":\"Event emitted every time the implementation gets updated.\"}},\"kind\":\"user\",\"methods\":{\"constructor\":{\"notice\":\"Constructor with no params as to ease eventual support of Singleton pattern (i.e. ERC-2470).\"},\"implementation()\":{\"notice\":\"Returns proxy's current implementation address.\"},\"upgradeTo(address,bytes)\":{\"notice\":\"Upgrades the `implementation` address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/impls/WitnetProxy.sol\":\"WitnetProxy\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/impls/WitnetProxy.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../patterns/Upgradable.sol\\\";\\n\\n/// @title WitnetProxy: upgradable delegate-proxy contract that routes Witnet data requests coming from a \\n/// `UsingWitnet`-inheriting contract to a currently active `WitnetRequestBoard` implementation. \\n/// @author The Witnet Foundation.\\ncontract WitnetProxy {\\n\\n    struct WitnetProxySlot {\\n        address implementation;\\n    }\\n\\n    /// Event emitted every time the implementation gets updated.\\n    event Upgraded(address indexed implementation);  \\n\\n    /// Constructor with no params as to ease eventual support of Singleton pattern (i.e. ERC-2470).\\n    constructor () {}\\n\\n    /// WitnetProxies will never accept direct transfer of ETHs.\\n    receive() external payable {\\n        revert(\\\"WitnetProxy: no transfers accepted\\\");\\n    }\\n\\n    /// Payable fallback accepts delegating calls to payable functions.  \\n    fallback() external payable { /* solhint-disable no-complex-fallback */\\n        address _implementation = implementation();\\n\\n        assembly { /* solhint-disable avoid-low-level-calls */\\n            // Gas optimized delegate call to 'implementation' contract.\\n            // Note: `msg.data`, `msg.sender` and `msg.value` will be passed over \\n            //       to actual implementation of `msg.sig` within `implementation` contract.\\n            let ptr := mload(0x40)\\n            calldatacopy(ptr, 0, calldatasize())\\n            let result := delegatecall(gas(), _implementation, ptr, calldatasize(), 0, 0)\\n            let size := returndatasize()\\n            returndatacopy(ptr, 0, size)\\n            switch result\\n                case 0  { \\n                    // pass back revert message:\\n                    revert(ptr, size) \\n                }\\n                default {\\n                  // pass back same data as returned by 'implementation' contract:\\n                  return(ptr, size) \\n                }\\n        }\\n    }\\n\\n    /// Returns proxy's current implementation address.\\n    function implementation() public view returns (address) {\\n        return _proxySlot().implementation;\\n    }\\n\\n    /// Upgrades the `implementation` address.\\n    /// @param _newImplementation New implementation address.\\n    /// @param _initData Raw data with which new implementation will be initialized.\\n    /// @return Returns whether new implementation would be further upgradable, or not.\\n    function upgradeTo(address _newImplementation, bytes memory _initData)\\n        public returns (bool)\\n    {\\n        // New implementation cannot be null:\\n        require(_newImplementation != address(0), \\\"WitnetProxy: null implementation\\\");\\n\\n        address _oldImplementation = implementation();\\n        if (_oldImplementation != address(0)) {\\n            // New implementation address must differ from current one:\\n            require(_newImplementation != _oldImplementation, \\\"WitnetProxy: nothing to upgrade\\\");\\n\\n            // Assert whether current implementation is intrinsically upgradable:\\n            try Upgradable(_oldImplementation).isUpgradable() returns (bool _isUpgradable) {\\n                require(_isUpgradable, \\\"WitnetProxy: not upgradable\\\");\\n            } catch {\\n                revert(\\\"WitnetProxy: unable to check upgradability\\\");\\n            }\\n\\n            // Assert whether current implementation allows `msg.sender` to upgrade the proxy:\\n            (bool _wasCalled, bytes memory _result) = _oldImplementation.delegatecall(\\n                abi.encodeWithSignature(\\n                    \\\"isUpgradableFrom(address)\\\",\\n                    msg.sender\\n                )\\n            );\\n            require(_wasCalled, \\\"WitnetProxy: not compliant\\\");\\n            require(abi.decode(_result, (bool)), \\\"WitnetProxy: not authorized\\\");\\n            require(\\n                Upgradable(_oldImplementation).proxiableUUID() == Upgradable(_newImplementation).proxiableUUID(),\\n                \\\"WitnetProxy: proxiableUUIDs mismatch\\\"\\n            );\\n        }\\n\\n        // Initialize new implementation within proxy-context storage:\\n        (bool _wasInitialized,) = _newImplementation.delegatecall(\\n            abi.encodeWithSignature(\\n                \\\"initialize(bytes)\\\",\\n                _initData\\n            )\\n        );\\n        require(_wasInitialized, \\\"WitnetProxy: unable to initialize\\\");\\n\\n        // If all checks and initialization pass, update implementation address:\\n        _proxySlot().implementation = _newImplementation;\\n        emit Upgraded(_newImplementation);\\n\\n        // Asserts new implementation complies w/ minimal implementation of Upgradable interface:\\n        try Upgradable(_newImplementation).isUpgradable() returns (bool _isUpgradable) {\\n            return _isUpgradable;\\n        }\\n        catch {\\n            revert (\\\"WitnetProxy: not compliant\\\");\\n        }\\n    }\\n\\n    /// @dev Complying with EIP-1967, retrieves storage struct containing proxy's current implementation address.\\n    function _proxySlot() private pure returns (WitnetProxySlot storage _slot) {\\n        assembly {\\n            // bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)\\n            _slot.slot := 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\\n        }\\n    }\\n\\n}\\n\",\"keccak256\":\"0xcfdb698b63b9300631b046ecd8e16dbff90e8b4e84fdf1d629195ad17c8234d0\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Initializable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Initializable {\\n    /// @dev Initialize contract's storage context.\\n    function initialize(bytes calldata) external;\\n}\\n\",\"keccak256\":\"0x17c2e66648596deb4f71dbaaa4b95293c99536431e7697f3b69d205a09796f0e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Proxiable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Proxiable {\\n    /// @dev Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1822.\\n    function proxiableUUID() external pure returns (bytes32);\\n}\\n\",\"keccak256\":\"0x3ed71dc147c30cd8aa1ca248a045217b6ea513bae96c4c76d66496af4b8d6ff1\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Upgradable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\n/* solhint-disable var-name-mixedcase */\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\nimport \\\"./Initializable.sol\\\";\\nimport \\\"./Proxiable.sol\\\";\\n\\nabstract contract Upgradable is Initializable, Proxiable {\\n\\n    address internal immutable _BASE;\\n    bytes32 internal immutable _CODEHASH;\\n    bool internal immutable _UPGRADABLE;\\n\\n    /// Emitted every time the contract gets upgraded.\\n    /// @param from The address who ordered the upgrading. Namely, the WRB operator in \\\"trustable\\\" implementations.\\n    /// @param baseAddr The address of the new implementation contract.\\n    /// @param baseCodehash The EVM-codehash of the new implementation contract.\\n    /// @param versionTag Ascii-encoded version literal with which the implementation deployer decided to tag it.\\n    event Upgraded(\\n        address indexed from,\\n        address indexed baseAddr,\\n        bytes32 indexed baseCodehash,\\n        bytes32 versionTag\\n    );\\n\\n    constructor (bool _isUpgradable) {\\n        address _base = address(this);\\n        bytes32 _codehash;        \\n        assembly {\\n            _codehash := extcodehash(_base)\\n        }\\n        _BASE = _base;\\n        _CODEHASH = _codehash;        \\n        _UPGRADABLE = _isUpgradable;\\n    }\\n\\n    /// @dev Tells whether provided address could eventually upgrade the contract.\\n    function isUpgradableFrom(address from) virtual external view returns (bool);\\n\\n\\n    /// TODO: the following methods should be all declared as pure \\n    ///       whenever this Solidity's PR gets merged and released: \\n    ///       https://github.com/ethereum/solidity/pull/10240\\n\\n    /// @dev Retrieves base contract. Differs from address(this) when via delegate-proxy pattern.\\n    function base() public view returns (address) {\\n        return _BASE;\\n    }\\n\\n    /// @dev Retrieves the immutable codehash of this contract, even if invoked as delegatecall.\\n    /// @return _codehash This contracts immutable codehash.\\n    function codehash() public view returns (bytes32 _codehash) {\\n        return _CODEHASH;\\n    }\\n    \\n    /// @dev Determines whether current instance allows being upgraded.\\n    /// @dev Returned value should be invariant from whoever is calling.\\n    function isUpgradable() public view returns (bool) {        \\n        return _UPGRADABLE;\\n    }\\n\\n    /// @dev Retrieves human-redable named version of current implementation.\\n    function version() virtual public view returns (bytes32); \\n}\",\"keccak256\":\"0x91a8c88f85a691bafab375a8a38361f1dae551530755989636531468870ead98\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"events":{"Upgraded(address)":{"notice":"Event emitted every time the implementation gets updated."}},"kind":"user","methods":{"constructor":{"notice":"Constructor with no params as to ease eventual support of Singleton pattern (i.e. ERC-2470)."},"implementation()":{"notice":"Returns proxy's current implementation address."},"upgradeTo(address,bytes)":{"notice":"Upgrades the `implementation` address."}},"version":1}}},"witnet-solidity-bridge/contracts/impls/WitnetRequestBoardUpgradableBase.sol":{"WitnetRequestBoardUpgradableBase":{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"queryId","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"BatchReportError","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"queryId","type":"uint256"},{"indexed":false,"internalType":"address","name":"from","type":"address"}],"name":"DeletedQuery","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"queryId","type":"uint256"},{"indexed":false,"internalType":"address","name":"from","type":"address"}],"name":"PostedRequest","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"queryId","type":"uint256"},{"indexed":false,"internalType":"address","name":"from","type":"address"}],"name":"PostedResult","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"baseAddr","type":"address"},{"indexed":true,"internalType":"bytes32","name":"baseCodehash","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"versionTag","type":"bytes32"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asBool","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asBytes32","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asErrorCode","outputs":[{"internalType":"enum Witnet.ErrorCodes","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asErrorMessage","outputs":[{"internalType":"enum Witnet.ErrorCodes","name":"","type":"uint8"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asFixed16","outputs":[{"internalType":"int32","name":"","type":"int32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asFixed16Array","outputs":[{"internalType":"int32[]","name":"","type":"int32[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asInt128","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asInt128Array","outputs":[{"internalType":"int128[]","name":"","type":"int128[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asRawError","outputs":[{"internalType":"uint64[]","name":"","type":"uint64[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asString","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asStringArray","outputs":[{"internalType":"string[]","name":"","type":"string[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asUint64","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asUint64Array","outputs":[{"internalType":"uint64[]","name":"","type":"uint64[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"base","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"codehash","outputs":[{"internalType":"bytes32","name":"_codehash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"deleteQuery","outputs":[{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct Witnet.Response","name":"","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_gasPrice","type":"uint256"}],"name":"estimateReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNextQueryId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryData","outputs":[{"components":[{"components":[{"internalType":"contract IWitnetRequest","name":"addr","type":"address"},{"internalType":"address","name":"requester","type":"address"},{"internalType":"bytes32","name":"hash","type":"bytes32"},{"internalType":"uint256","name":"gasprice","type":"uint256"},{"internalType":"uint256","name":"reward","type":"uint256"}],"internalType":"struct Witnet.Request","name":"request","type":"tuple"},{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct Witnet.Response","name":"response","type":"tuple"},{"internalType":"address","name":"from","type":"address"}],"internalType":"struct Witnet.Query","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryStatus","outputs":[{"internalType":"enum Witnet.QueryStatus","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"isError","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"isOk","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"isUpgradable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"}],"name":"isUpgradableFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IWitnetRequest","name":"_addr","type":"address"}],"name":"postRequest","outputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readRequest","outputs":[{"components":[{"internalType":"contract IWitnetRequest","name":"addr","type":"address"},{"internalType":"address","name":"requester","type":"address"},{"internalType":"bytes32","name":"hash","type":"bytes32"},{"internalType":"uint256","name":"gasprice","type":"uint256"},{"internalType":"uint256","name":"reward","type":"uint256"}],"internalType":"struct Witnet.Request","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readRequestBytecode","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readRequestGasPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readRequestReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponse","outputs":[{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct Witnet.Response","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponseDrTxHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponseReporter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponseResult","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponseTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"},{"internalType":"bytes32","name":"_drTxHash","type":"bytes32"},{"internalType":"bytes","name":"_result","type":"bytes"}],"name":"reportResult","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"},{"internalType":"uint256","name":"_timestamp","type":"uint256"},{"internalType":"bytes32","name":"_drTxHash","type":"bytes32"},{"internalType":"bytes","name":"_result","type":"bytes"}],"name":"reportResult","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"queryId","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct IWitnetRequestBoardReporter.BatchResult[]","name":"_batchResults","type":"tuple[]"},{"internalType":"bool","name":"_verbose","type":"bool"}],"name":"reportResultBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_cborBytes","type":"bytes"}],"name":"resultFromCborBytes","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"","type":"tuple"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"_cborValue","type":"tuple"}],"name":"resultFromCborValue","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"","type":"tuple"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"upgradeReward","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}],"devdoc":{"author":"The Witnet Foundation.","kind":"dev","methods":{"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `bool` decoded from the Witnet.Result."}},"asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `bytes` decoded from the Witnet.Result."}},"asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `bytes32` decoded from the Witnet.Result."}},"asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of `Witnet.Result`."},"returns":{"_0":"The `CBORValue.Error memory` decoded from the Witnet.Result."}},"asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"details":"WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function","params":{"_result":"An instance of `Witnet.Result`."},"returns":{"_0":"A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message."}},"asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"details":"Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values. by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`. use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.","params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128` decoded from the Witnet.Result."}},"asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128[]` decoded from the Witnet.Result."}},"asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128` decoded from the Witnet.Result."}},"asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128[]` decoded from the Witnet.Result."}},"asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of `Witnet.Result`."},"returns":{"_0":"The `uint64[]` raw error as decoded from the `Witnet.Result`."}},"asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `string` decoded from the Witnet.Result."}},"asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `string[]` decoded from the Witnet.Result."}},"asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `uint64` decoded from the Witnet.Result."}},"asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `uint64[]` decoded from the Witnet.Result."}},"base()":{"details":"Retrieves base contract. Differs from address(this) when via delegate-proxy pattern."},"codehash()":{"details":"Retrieves the immutable codehash of this contract, even if invoked as delegatecall.","returns":{"_codehash":"This contracts immutable codehash."}},"deleteQuery(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status, or called from an address different tothe one that actually posted the given request.","params":{"_queryId":"The unique query identifier."}},"estimateReward(uint256)":{"params":{"_gasPrice":"The gas price for which we need to calculate the rewards."}},"initialize(bytes)":{"details":"Initialize contract's storage context."},"isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"`true` if errored, `false` if successful."}},"isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"`true` if successful, `false` if errored."}},"isUpgradable()":{"details":"Determines whether current instance allows being upgraded.Returned value should be invariant from whoever is calling."},"isUpgradableFrom(address)":{"details":"Tells whether provided address could eventually upgrade the contract."},"postRequest(address)":{"details":"Fails if:- provided reward is too low.- provided script is zero address.- provided script bytecode is empty.","params":{"_addr":"The address of the IWitnetRequest contract that can provide the actual Data Request bytecode."},"returns":{"_queryId":"An unique query identifier."}},"proxiableUUID()":{"details":"Gets immutable \"heritage blood line\" (ie. genotype) as a Proxiable, and eventually Upgradable, contract.      If implemented as an Upgradable touch, upgrading this contract to another one with a different       `proxiableUUID()` value should fail."},"readRequest(uint256)":{"details":"Fails if the `_queryId` is not valid or, if it has already been reportedor deleted.","params":{"_queryId":"The unique identifier of a previously posted query."}},"readRequestBytecode(uint256)":{"details":"Fails if the `_queryId` is not valid, or if the related script bytecode got changed after being posted. Returns empty array once it gets reported, or deleted.","params":{"_queryId":"The unique query identifier."}},"readRequestGasPrice(uint256)":{"details":"Fails if the `_queryId` is not valid or, if it has already been reported, or deleted. ","params":{"_queryId":"The unique query identifie"}},"readRequestReward(uint256)":{"details":"Fails if the `_queryId` is not valid or, if it has already been reported, or deleted. ","params":{"_queryId":"The unique query identifier."}},"readResponse(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier."}},"readResponseDrTxHash(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier."}},"readResponseReporter(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier."}},"readResponseResult(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier."}},"readResponseTimestamp(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier."}},"reportResult(uint256,bytes32,bytes)":{"details":"Will assume `block.timestamp` as the timestamp at which the request was solved.Fails if:- the `_queryId` is not in 'Posted' status.- provided `_drTxHash` is zero;- length of provided `_result` is zero.","params":{"_drTxHash":"The hash of the corresponding data request transaction in Witnet.","_queryId":"The unique identifier of the data request.","_result":"The result itself as bytes."}},"reportResult(uint256,uint256,bytes32,bytes)":{"details":"Fails if:- called from unauthorized address;- the `_queryId` is not in 'Posted' status.- provided `_drTxHash` is zero;- length of provided `_result` is zero.","params":{"_drTxHash":"The hash of the corresponding data request transaction in Witnet.","_queryId":"The unique query identifier","_result":"The result itself as bytes.","_timestamp":"The timestamp of the solving tally transaction in Witnet."}},"reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)":{"details":"Must emit a PostedResult event for every succesfully reported result.","params":{"_batchResults":"Array of BatchResult structs, every one containing:         - unique query identifier;         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;         - hash of the corresponding data request tx at the Witnet side-chain level;         - data request result in raw bytes.","_verbose":"If true, must emit a BatchReportError event for every failing report, if any. "}},"resultFromCborBytes(bytes)":{"params":{"_cborBytes":"Raw bytes representing a CBOR-encoded value."},"returns":{"_0":"A `Witnet.Result` instance."}},"resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))":{"params":{"_cborValue":"An instance of `Witnet.CBOR`."},"returns":{"_0":"A `Witnet.Result` instance."}},"upgradeReward(uint256)":{"details":"Updates request `gasPrice` in case this method is called with a higher gas price value than the one used in previous calls to `postRequest` or`upgradeReward`. Fails if the `_queryId` is not in 'Posted' status.Fails also in case the request `gasPrice` is increased, and the new reward value gets below new recalculated threshold. ","params":{"_queryId":"The unique query identifier."}}},"title":"Witnet Request Board base contract, with an Upgradable (and Destructible) touch.","version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"d4ced132","asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"c683b465","asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"cf62d115","asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"db04f16d","asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"d74803be","asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"2241f2db","asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"0f572d2c","asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"2b905fbb","asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"07e66852","asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"b0768328","asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"109a0e3c","asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"c87d969e","asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"bc7e25ff","asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"4dcffaf3","base()":"5001f3b5","codehash()":"a9e954b9","deleteQuery(uint256)":"7c1fbda3","estimateReward(uint256)":"d2e87561","getNextQueryId()":"c805dd0f","getQueryData(uint256)":"c2485ebd","getQueryStatus(uint256)":"6f07abcc","initialize(bytes)":"439fab91","isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"7780cde1","isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"a8604c1a","isUpgradable()":"5479d940","isUpgradableFrom(address)":"6b58960a","postRequest(address)":"b281a7bd","proxiableUUID()":"52d1902d","readRequest(uint256)":"99f65804","readRequestBytecode(uint256)":"3b885f2a","readRequestGasPrice(uint256)":"3ae97295","readRequestReward(uint256)":"1dd27daf","readResponse(uint256)":"754e5bea","readResponseDrTxHash(uint256)":"dc3c71cd","readResponseReporter(uint256)":"9d96fced","readResponseResult(uint256)":"d4da69ac","readResponseTimestamp(uint256)":"20f9241e","reportResult(uint256,bytes32,bytes)":"6280bce8","reportResult(uint256,uint256,bytes32,bytes)":"c8f5cdd5","reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)":"81a398b5","resultFromCborBytes(bytes)":"e99e47f3","resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))":"2565082b","upgradeReward(uint256)":"66bfdc75","version()":"54fd4d50"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"BatchReportError\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"DeletedQuery\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"PostedRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"PostedResult\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"baseAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"baseCodehash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"versionTag\",\"type\":\"bytes32\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asErrorCode\",\"outputs\":[{\"internalType\":\"enum Witnet.ErrorCodes\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asErrorMessage\",\"outputs\":[{\"internalType\":\"enum Witnet.ErrorCodes\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asFixed16\",\"outputs\":[{\"internalType\":\"int32\",\"name\":\"\",\"type\":\"int32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asFixed16Array\",\"outputs\":[{\"internalType\":\"int32[]\",\"name\":\"\",\"type\":\"int32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asInt128\",\"outputs\":[{\"internalType\":\"int128\",\"name\":\"\",\"type\":\"int128\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asInt128Array\",\"outputs\":[{\"internalType\":\"int128[]\",\"name\":\"\",\"type\":\"int128[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asRawError\",\"outputs\":[{\"internalType\":\"uint64[]\",\"name\":\"\",\"type\":\"uint64[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asUint64\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asUint64Array\",\"outputs\":[{\"internalType\":\"uint64[]\",\"name\":\"\",\"type\":\"uint64[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"base\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"codehash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_codehash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"deleteQuery\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.Response\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_gasPrice\",\"type\":\"uint256\"}],\"name\":\"estimateReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNextQueryId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryData\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"contract IWitnetRequest\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"gasprice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"}],\"internalType\":\"struct Witnet.Request\",\"name\":\"request\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.Response\",\"name\":\"response\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"internalType\":\"struct Witnet.Query\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryStatus\",\"outputs\":[{\"internalType\":\"enum Witnet.QueryStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"isError\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"isOk\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isUpgradable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"isUpgradableFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IWitnetRequest\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"postRequest\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readRequest\",\"outputs\":[{\"components\":[{\"internalType\":\"contract IWitnetRequest\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"gasprice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"}],\"internalType\":\"struct Witnet.Request\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readRequestBytecode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readRequestGasPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readRequestReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponse\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.Response\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponseDrTxHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponseReporter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponseResult\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponseTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_result\",\"type\":\"bytes\"}],\"name\":\"reportResult\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_result\",\"type\":\"bytes\"}],\"name\":\"reportResult\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct IWitnetRequestBoardReporter.BatchResult[]\",\"name\":\"_batchResults\",\"type\":\"tuple[]\"},{\"internalType\":\"bool\",\"name\":\"_verbose\",\"type\":\"bool\"}],\"name\":\"reportResultBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_cborBytes\",\"type\":\"bytes\"}],\"name\":\"resultFromCborBytes\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"_cborValue\",\"type\":\"tuple\"}],\"name\":\"resultFromCborValue\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"upgradeReward\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"kind\":\"dev\",\"methods\":{\"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `bool` decoded from the Witnet.Result.\"}},\"asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `bytes` decoded from the Witnet.Result.\"}},\"asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `bytes32` decoded from the Witnet.Result.\"}},\"asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of `Witnet.Result`.\"},\"returns\":{\"_0\":\"The `CBORValue.Error memory` decoded from the Witnet.Result.\"}},\"asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"details\":\"WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\",\"params\":{\"_result\":\"An instance of `Witnet.Result`.\"},\"returns\":{\"_0\":\"A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\"}},\"asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"details\":\"Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values. by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`. use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\",\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128` decoded from the Witnet.Result.\"}},\"asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128[]` decoded from the Witnet.Result.\"}},\"asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128` decoded from the Witnet.Result.\"}},\"asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128[]` decoded from the Witnet.Result.\"}},\"asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of `Witnet.Result`.\"},\"returns\":{\"_0\":\"The `uint64[]` raw error as decoded from the `Witnet.Result`.\"}},\"asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `string` decoded from the Witnet.Result.\"}},\"asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `string[]` decoded from the Witnet.Result.\"}},\"asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `uint64` decoded from the Witnet.Result.\"}},\"asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `uint64[]` decoded from the Witnet.Result.\"}},\"base()\":{\"details\":\"Retrieves base contract. Differs from address(this) when via delegate-proxy pattern.\"},\"codehash()\":{\"details\":\"Retrieves the immutable codehash of this contract, even if invoked as delegatecall.\",\"returns\":{\"_codehash\":\"This contracts immutable codehash.\"}},\"deleteQuery(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status, or called from an address different tothe one that actually posted the given request.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"estimateReward(uint256)\":{\"params\":{\"_gasPrice\":\"The gas price for which we need to calculate the rewards.\"}},\"initialize(bytes)\":{\"details\":\"Initialize contract's storage context.\"},\"isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"`true` if errored, `false` if successful.\"}},\"isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"`true` if successful, `false` if errored.\"}},\"isUpgradable()\":{\"details\":\"Determines whether current instance allows being upgraded.Returned value should be invariant from whoever is calling.\"},\"isUpgradableFrom(address)\":{\"details\":\"Tells whether provided address could eventually upgrade the contract.\"},\"postRequest(address)\":{\"details\":\"Fails if:- provided reward is too low.- provided script is zero address.- provided script bytecode is empty.\",\"params\":{\"_addr\":\"The address of the IWitnetRequest contract that can provide the actual Data Request bytecode.\"},\"returns\":{\"_queryId\":\"An unique query identifier.\"}},\"proxiableUUID()\":{\"details\":\"Gets immutable \\\"heritage blood line\\\" (ie. genotype) as a Proxiable, and eventually Upgradable, contract.      If implemented as an Upgradable touch, upgrading this contract to another one with a different       `proxiableUUID()` value should fail.\"},\"readRequest(uint256)\":{\"details\":\"Fails if the `_queryId` is not valid or, if it has already been reportedor deleted.\",\"params\":{\"_queryId\":\"The unique identifier of a previously posted query.\"}},\"readRequestBytecode(uint256)\":{\"details\":\"Fails if the `_queryId` is not valid, or if the related script bytecode got changed after being posted. Returns empty array once it gets reported, or deleted.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"readRequestGasPrice(uint256)\":{\"details\":\"Fails if the `_queryId` is not valid or, if it has already been reported, or deleted. \",\"params\":{\"_queryId\":\"The unique query identifie\"}},\"readRequestReward(uint256)\":{\"details\":\"Fails if the `_queryId` is not valid or, if it has already been reported, or deleted. \",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"readResponse(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"readResponseDrTxHash(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"readResponseReporter(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"readResponseResult(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"readResponseTimestamp(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"reportResult(uint256,bytes32,bytes)\":{\"details\":\"Will assume `block.timestamp` as the timestamp at which the request was solved.Fails if:- the `_queryId` is not in 'Posted' status.- provided `_drTxHash` is zero;- length of provided `_result` is zero.\",\"params\":{\"_drTxHash\":\"The hash of the corresponding data request transaction in Witnet.\",\"_queryId\":\"The unique identifier of the data request.\",\"_result\":\"The result itself as bytes.\"}},\"reportResult(uint256,uint256,bytes32,bytes)\":{\"details\":\"Fails if:- called from unauthorized address;- the `_queryId` is not in 'Posted' status.- provided `_drTxHash` is zero;- length of provided `_result` is zero.\",\"params\":{\"_drTxHash\":\"The hash of the corresponding data request transaction in Witnet.\",\"_queryId\":\"The unique query identifier\",\"_result\":\"The result itself as bytes.\",\"_timestamp\":\"The timestamp of the solving tally transaction in Witnet.\"}},\"reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)\":{\"details\":\"Must emit a PostedResult event for every succesfully reported result.\",\"params\":{\"_batchResults\":\"Array of BatchResult structs, every one containing:         - unique query identifier;         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;         - hash of the corresponding data request tx at the Witnet side-chain level;         - data request result in raw bytes.\",\"_verbose\":\"If true, must emit a BatchReportError event for every failing report, if any. \"}},\"resultFromCborBytes(bytes)\":{\"params\":{\"_cborBytes\":\"Raw bytes representing a CBOR-encoded value.\"},\"returns\":{\"_0\":\"A `Witnet.Result` instance.\"}},\"resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))\":{\"params\":{\"_cborValue\":\"An instance of `Witnet.CBOR`.\"},\"returns\":{\"_0\":\"A `Witnet.Result` instance.\"}},\"upgradeReward(uint256)\":{\"details\":\"Updates request `gasPrice` in case this method is called with a higher gas price value than the one used in previous calls to `postRequest` or`upgradeReward`. Fails if the `_queryId` is not in 'Posted' status.Fails also in case the request `gasPrice` is increased, and the new reward value gets below new recalculated threshold. \",\"params\":{\"_queryId\":\"The unique query identifier.\"}}},\"title\":\"Witnet Request Board base contract, with an Upgradable (and Destructible) touch.\",\"version\":1},\"userdoc\":{\"events\":{\"DeletedQuery(uint256,address)\":{\"notice\":\"Emitted when all data related to given query is deleted from the WRB.\"},\"PostedRequest(uint256,address)\":{\"notice\":\"Emitted when a Witnet Data Request is posted to the WRB.\"},\"PostedResult(uint256,address)\":{\"notice\":\"Emitted when a Witnet-solved result is reported to the WRB.\"},\"Upgraded(address,address,bytes32,bytes32)\":{\"notice\":\"Emitted every time the contract gets upgraded.\"}},\"kind\":\"user\",\"methods\":{\"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a boolean value from a Witnet.Result as an `bool` value.\"},\"asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a bytes value from a Witnet.Result as a `bytes` value.\"},\"asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a bytes value from a Witnet.Result as a `bytes32` value.\"},\"asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\"},\"asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\"},\"asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\"},\"asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\"},\"asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a integer numeric value from a Witnet.Result as an `int128` value.\"},\"asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\"},\"asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a raw error from a `Witnet.Result` as a `uint64[]`.\"},\"asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a string value from a Witnet.Result as a `string` value.\"},\"asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an array of string values from a Witnet.Result as a `string[]` value.\"},\"asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a natural numeric value from a Witnet.Result as a `uint64` value.\"},\"asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\"},\"deleteQuery(uint256)\":{\"notice\":\"Retrieves a copy of all Witnet-provided data related to a previously posted request, removing the whole query from the WRB storage.\"},\"estimateReward(uint256)\":{\"notice\":\"Estimates the amount of reward we need to insert for a given gas price.\"},\"getNextQueryId()\":{\"notice\":\"Returns next query id to be generated by the Witnet Request Board.\"},\"getQueryData(uint256)\":{\"notice\":\"Gets the whole Query data contents, if any, no matter its current status.\"},\"getQueryStatus(uint256)\":{\"notice\":\"Gets current status of given query.\"},\"isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Tell if a Witnet.Result is errored.\"},\"isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Tell if a Witnet.Result is successful.\"},\"postRequest(address)\":{\"notice\":\"Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided  result to this request.\"},\"readRequest(uint256)\":{\"notice\":\"Retrieves the whole Request record posted to the Witnet Request Board.\"},\"readRequestBytecode(uint256)\":{\"notice\":\"Retrieves the serialized bytecode of a previously posted Witnet Data Request.\"},\"readRequestGasPrice(uint256)\":{\"notice\":\"Retrieves the gas price that any assigned reporter will have to pay when reporting  result to a previously posted Witnet data request.\"},\"readRequestReward(uint256)\":{\"notice\":\"Retrieves the reward currently set for the referred query.\"},\"readResponse(uint256)\":{\"notice\":\"Retrieves the whole `Witnet.Response` record referred to a previously posted Witnet Data Request.\"},\"readResponseDrTxHash(uint256)\":{\"notice\":\"Retrieves the hash of the Witnet transaction hash that actually solved the referred query.\"},\"readResponseReporter(uint256)\":{\"notice\":\"Retrieves the address that reported the result to a previously-posted request.\"},\"readResponseResult(uint256)\":{\"notice\":\"Retrieves the Witnet-provided CBOR-bytes result of a previously posted request.\"},\"readResponseTimestamp(uint256)\":{\"notice\":\"Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON.\"},\"reportResult(uint256,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provided result to a previously posted request. \"},\"reportResult(uint256,uint256,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provided result to a previously posted request.\"},\"reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)\":{\"notice\":\"Reports Witnet-provided results to multiple requests within a single EVM tx.\"},\"resultFromCborBytes(bytes)\":{\"notice\":\"Decode raw CBOR bytes into a Witnet.Result instance.\"},\"resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))\":{\"notice\":\"Decode a CBOR value into a Witnet.Result instance.\"},\"upgradeReward(uint256)\":{\"notice\":\"Increments the reward of a previously posted request by adding the transaction value to it.\"},\"version()\":{\"notice\":\"Retrieves human-readable version tag of current implementation.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/impls/WitnetRequestBoardUpgradableBase.sol\":\"WitnetRequestBoardUpgradableBase\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/WitnetRequestBoard.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./interfaces/IWitnetRequestBoardEvents.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardReporter.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardRequestor.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardView.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestParser.sol\\\";\\n\\n/// @title Witnet Request Board functionality base contract.\\n/// @author The Witnet Foundation.\\nabstract contract WitnetRequestBoard is\\n    IWitnetRequestBoardEvents,\\n    IWitnetRequestBoardReporter,\\n    IWitnetRequestBoardRequestor,\\n    IWitnetRequestBoardView,\\n    IWitnetRequestParser\\n{\\n    receive() external payable {\\n        revert(\\\"WitnetRequestBoard: no transfers accepted\\\");\\n    }\\n}\\n\",\"keccak256\":\"0xb04deadd6e24568accfcbb7b76f1c03cb925933aee189115b5b23badc5b6e9ab\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/impls/WitnetProxy.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../patterns/Upgradable.sol\\\";\\n\\n/// @title WitnetProxy: upgradable delegate-proxy contract that routes Witnet data requests coming from a \\n/// `UsingWitnet`-inheriting contract to a currently active `WitnetRequestBoard` implementation. \\n/// @author The Witnet Foundation.\\ncontract WitnetProxy {\\n\\n    struct WitnetProxySlot {\\n        address implementation;\\n    }\\n\\n    /// Event emitted every time the implementation gets updated.\\n    event Upgraded(address indexed implementation);  \\n\\n    /// Constructor with no params as to ease eventual support of Singleton pattern (i.e. ERC-2470).\\n    constructor () {}\\n\\n    /// WitnetProxies will never accept direct transfer of ETHs.\\n    receive() external payable {\\n        revert(\\\"WitnetProxy: no transfers accepted\\\");\\n    }\\n\\n    /// Payable fallback accepts delegating calls to payable functions.  \\n    fallback() external payable { /* solhint-disable no-complex-fallback */\\n        address _implementation = implementation();\\n\\n        assembly { /* solhint-disable avoid-low-level-calls */\\n            // Gas optimized delegate call to 'implementation' contract.\\n            // Note: `msg.data`, `msg.sender` and `msg.value` will be passed over \\n            //       to actual implementation of `msg.sig` within `implementation` contract.\\n            let ptr := mload(0x40)\\n            calldatacopy(ptr, 0, calldatasize())\\n            let result := delegatecall(gas(), _implementation, ptr, calldatasize(), 0, 0)\\n            let size := returndatasize()\\n            returndatacopy(ptr, 0, size)\\n            switch result\\n                case 0  { \\n                    // pass back revert message:\\n                    revert(ptr, size) \\n                }\\n                default {\\n                  // pass back same data as returned by 'implementation' contract:\\n                  return(ptr, size) \\n                }\\n        }\\n    }\\n\\n    /// Returns proxy's current implementation address.\\n    function implementation() public view returns (address) {\\n        return _proxySlot().implementation;\\n    }\\n\\n    /// Upgrades the `implementation` address.\\n    /// @param _newImplementation New implementation address.\\n    /// @param _initData Raw data with which new implementation will be initialized.\\n    /// @return Returns whether new implementation would be further upgradable, or not.\\n    function upgradeTo(address _newImplementation, bytes memory _initData)\\n        public returns (bool)\\n    {\\n        // New implementation cannot be null:\\n        require(_newImplementation != address(0), \\\"WitnetProxy: null implementation\\\");\\n\\n        address _oldImplementation = implementation();\\n        if (_oldImplementation != address(0)) {\\n            // New implementation address must differ from current one:\\n            require(_newImplementation != _oldImplementation, \\\"WitnetProxy: nothing to upgrade\\\");\\n\\n            // Assert whether current implementation is intrinsically upgradable:\\n            try Upgradable(_oldImplementation).isUpgradable() returns (bool _isUpgradable) {\\n                require(_isUpgradable, \\\"WitnetProxy: not upgradable\\\");\\n            } catch {\\n                revert(\\\"WitnetProxy: unable to check upgradability\\\");\\n            }\\n\\n            // Assert whether current implementation allows `msg.sender` to upgrade the proxy:\\n            (bool _wasCalled, bytes memory _result) = _oldImplementation.delegatecall(\\n                abi.encodeWithSignature(\\n                    \\\"isUpgradableFrom(address)\\\",\\n                    msg.sender\\n                )\\n            );\\n            require(_wasCalled, \\\"WitnetProxy: not compliant\\\");\\n            require(abi.decode(_result, (bool)), \\\"WitnetProxy: not authorized\\\");\\n            require(\\n                Upgradable(_oldImplementation).proxiableUUID() == Upgradable(_newImplementation).proxiableUUID(),\\n                \\\"WitnetProxy: proxiableUUIDs mismatch\\\"\\n            );\\n        }\\n\\n        // Initialize new implementation within proxy-context storage:\\n        (bool _wasInitialized,) = _newImplementation.delegatecall(\\n            abi.encodeWithSignature(\\n                \\\"initialize(bytes)\\\",\\n                _initData\\n            )\\n        );\\n        require(_wasInitialized, \\\"WitnetProxy: unable to initialize\\\");\\n\\n        // If all checks and initialization pass, update implementation address:\\n        _proxySlot().implementation = _newImplementation;\\n        emit Upgraded(_newImplementation);\\n\\n        // Asserts new implementation complies w/ minimal implementation of Upgradable interface:\\n        try Upgradable(_newImplementation).isUpgradable() returns (bool _isUpgradable) {\\n            return _isUpgradable;\\n        }\\n        catch {\\n            revert (\\\"WitnetProxy: not compliant\\\");\\n        }\\n    }\\n\\n    /// @dev Complying with EIP-1967, retrieves storage struct containing proxy's current implementation address.\\n    function _proxySlot() private pure returns (WitnetProxySlot storage _slot) {\\n        assembly {\\n            // bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)\\n            _slot.slot := 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\\n        }\\n    }\\n\\n}\\n\",\"keccak256\":\"0xcfdb698b63b9300631b046ecd8e16dbff90e8b4e84fdf1d629195ad17c8234d0\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/impls/WitnetRequestBoardUpgradableBase.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\n/* solhint-disable var-name-mixedcase */\\n\\n// Inherits from:\\nimport \\\"../WitnetRequestBoard.sol\\\";\\nimport \\\"../patterns/Proxiable.sol\\\";\\nimport \\\"../patterns/Upgradable.sol\\\";\\n\\n// Eventual deployment dependencies:\\nimport \\\"./WitnetProxy.sol\\\";\\n\\n/// @title Witnet Request Board base contract, with an Upgradable (and Destructible) touch.\\n/// @author The Witnet Foundation.\\nabstract contract WitnetRequestBoardUpgradableBase\\n    is\\n        Proxiable,\\n        Upgradable,\\n        WitnetRequestBoard\\n{\\n    bytes32 internal immutable _VERSION;\\n\\n    constructor(\\n            bool _upgradable,\\n            bytes32 _versionTag\\n        )\\n        Upgradable(_upgradable)\\n    {\\n        _VERSION = _versionTag;\\n    }\\n\\n    /// @dev Reverts if proxy delegatecalls to unexistent method.\\n    fallback() external payable {\\n        revert(\\\"WitnetRequestBoardUpgradableBase: not implemented\\\");\\n    }\\n\\n    // ================================================================================================================\\n    // --- Overrides 'Proxiable' --------------------------------------------------------------------------------------\\n\\n    /// @dev Gets immutable \\\"heritage blood line\\\" (ie. genotype) as a Proxiable, and eventually Upgradable, contract.\\n    ///      If implemented as an Upgradable touch, upgrading this contract to another one with a different \\n    ///      `proxiableUUID()` value should fail.\\n    function proxiableUUID() external pure override returns (bytes32) {\\n        return (\\n            /* keccak256(\\\"io.witnet.proxiable.board\\\") */\\n            0x9969c6aff411c5e5f0807500693e8f819ce88529615cfa6cab569b24788a1018\\n        );\\n    }   \\n\\n    // ================================================================================================================\\n    // --- Overrides 'Upgradable' --------------------------------------------------------------------------------------\\n\\n    /// Retrieves human-readable version tag of current implementation.\\n    function version() public view override returns (bytes32) {\\n        return _VERSION;\\n    }\\n\\n}\\n\",\"keccak256\":\"0x0930557dfafb03730e716e0af67ba7637a562f304ead6f2cedfa2c0eee91a65c\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardEvents.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title Witnet Request Board emitting events interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardEvents {\\n    /// Emitted when a Witnet Data Request is posted to the WRB.\\n    event PostedRequest(uint256 queryId, address from);\\n\\n    /// Emitted when a Witnet-solved result is reported to the WRB.\\n    event PostedResult(uint256 queryId, address from);\\n\\n    /// Emitted when all data related to given query is deleted from the WRB.\\n    event DeletedQuery(uint256 queryId, address from);\\n}\\n\",\"keccak256\":\"0xe2cb1369ba158db394c0380231f99174a88d62a66b0e7f8be14179b8c2fbd12f\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardReporter.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Request Board Reporter interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardReporter {\\n    /// Reports the Witnet-provided result to a previously posted request. \\n    /// @dev Will assume `block.timestamp` as the timestamp at which the request was solved.\\n    /// @dev Fails if:\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique identifier of the data request.\\n    /// @param _drTxHash The hash of the corresponding data request transaction in Witnet.\\n    /// @param _result The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            bytes32 _drTxHash,\\n            bytes calldata _result\\n        ) external;\\n\\n    /// Reports the Witnet-provided result to a previously posted request.\\n    /// @dev Fails if:\\n    /// @dev - called from unauthorized address;\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique query identifier\\n    /// @param _timestamp The timestamp of the solving tally transaction in Witnet.\\n    /// @param _drTxHash The hash of the corresponding data request transaction in Witnet.\\n    /// @param _result The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            uint256 _timestamp,\\n            bytes32 _drTxHash,\\n            bytes calldata _result\\n        ) external;\\n\\n    /// Reports Witnet-provided results to multiple requests within a single EVM tx.\\n    /// @dev Must emit a PostedResult event for every succesfully reported result.\\n    /// @param _batchResults Array of BatchResult structs, every one containing:\\n    ///         - unique query identifier;\\n    ///         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;\\n    ///         - hash of the corresponding data request tx at the Witnet side-chain level;\\n    ///         - data request result in raw bytes.\\n    /// @param _verbose If true, must emit a BatchReportError event for every failing report, if any. \\n    function reportResultBatch(BatchResult[] calldata _batchResults, bool _verbose) external;\\n        \\n        struct BatchResult {\\n            uint256 queryId;\\n            uint256 timestamp;\\n            bytes32 drTxHash;\\n            bytes   cborBytes;\\n        }\\n\\n        event BatchReportError(uint256 queryId, string reason);\\n}\\n\",\"keccak256\":\"0x70655a9a394143ac1f03477a2cca5e2d1773523832bf127b9e9971596c105812\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardRequestor.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Requestor Interface\\n/// @notice It defines how to interact with the Witnet Request Board in order to:\\n///   - request the execution of Witnet Radon scripts (data request);\\n///   - upgrade the resolution reward of any previously posted request, in case gas price raises in mainnet;\\n///   - read the result of any previously posted request, eventually reported by the Witnet DON.\\n///   - remove from storage all data related to past and solved data requests, and results.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardRequestor {\\n    /// Retrieves a copy of all Witnet-provided data related to a previously posted request, removing the whole query from the WRB storage.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status, or called from an address different to\\n    /// @dev the one that actually posted the given request.\\n    /// @param _queryId The unique query identifier.\\n    function deleteQuery(uint256 _queryId) external returns (Witnet.Response memory);\\n\\n    /// Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON.\\n    /// A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided \\n    /// result to this request.\\n    /// @dev Fails if:\\n    /// @dev - provided reward is too low.\\n    /// @dev - provided script is zero address.\\n    /// @dev - provided script bytecode is empty.\\n    /// @param _addr The address of the IWitnetRequest contract that can provide the actual Data Request bytecode.\\n    /// @return _queryId An unique query identifier.\\n    function postRequest(IWitnetRequest _addr) external payable returns (uint256 _queryId);\\n\\n    /// Increments the reward of a previously posted request by adding the transaction value to it.\\n    /// @dev Updates request `gasPrice` in case this method is called with a higher \\n    /// @dev gas price value than the one used in previous calls to `postRequest` or\\n    /// @dev `upgradeReward`. \\n    /// @dev Fails if the `_queryId` is not in 'Posted' status.\\n    /// @dev Fails also in case the request `gasPrice` is increased, and the new \\n    /// @dev reward value gets below new recalculated threshold. \\n    /// @param _queryId The unique query identifier.\\n    function upgradeReward(uint256 _queryId) external payable;\\n}\\n\",\"keccak256\":\"0x7c7a991de5f087102b1931d5d8b2e3716d7a90354b3cbafef95d2509a0643453\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardView.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Request Board info interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardView {\\n    /// Estimates the amount of reward we need to insert for a given gas price.\\n    /// @param _gasPrice The gas price for which we need to calculate the rewards.\\n    function estimateReward(uint256 _gasPrice) external view returns (uint256);\\n\\n    /// Returns next query id to be generated by the Witnet Request Board.\\n    function getNextQueryId() external view returns (uint256);\\n\\n    /// Gets the whole Query data contents, if any, no matter its current status.\\n    function getQueryData(uint256 _queryId) external view returns (Witnet.Query memory);\\n\\n    /// Gets current status of given query.\\n    function getQueryStatus(uint256 _queryId) external view returns (Witnet.QueryStatus);\\n\\n    /// Retrieves the whole Request record posted to the Witnet Request Board.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been reported\\n    /// @dev or deleted.\\n    /// @param _queryId The unique identifier of a previously posted query.\\n    function readRequest(uint256 _queryId) external view returns (Witnet.Request memory);\\n\\n    /// Retrieves the serialized bytecode of a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not valid, or if the related script bytecode \\n    /// @dev got changed after being posted. Returns empty array once it gets reported, \\n    /// @dev or deleted.\\n    /// @param _queryId The unique query identifier.\\n    function readRequestBytecode(uint256 _queryId) external view returns (bytes memory);\\n\\n    /// Retrieves the gas price that any assigned reporter will have to pay when reporting \\n    /// result to a previously posted Witnet data request.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifie\\n    function readRequestGasPrice(uint256 _queryId) external view returns (uint256);\\n\\n    /// Retrieves the reward currently set for the referred query.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifier.\\n    function readRequestReward(uint256 _queryId) external view returns (uint256);\\n\\n    /// Retrieves the whole `Witnet.Response` record referred to a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponse(uint256 _queryId) external view returns (Witnet.Response memory);\\n\\n    /// Retrieves the hash of the Witnet transaction hash that actually solved the referred query.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseDrTxHash(uint256 _queryId) external view returns (bytes32);    \\n\\n    /// Retrieves the address that reported the result to a previously-posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseReporter(uint256 _queryId) external view returns (address);\\n\\n    /// Retrieves the Witnet-provided CBOR-bytes result of a previously posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseResult(uint256 _queryId) external view returns (Witnet.Result memory);\\n\\n    /// Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseTimestamp(uint256 _queryId) external view returns (uint256);\\n}\\n\",\"keccak256\":\"0x782ec2ff166948f5d097765c0190b352793d8b8887af5f8384d875d63cff4e9b\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestParser.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title The Witnet interface for decoding Witnet-provided request to Data Requests.\\n/// This interface exposes functions to check for the success/failure of\\n/// a Witnet-provided result, as well as to parse and convert result into\\n/// Solidity types suitable to the application level. \\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestParser {\\n\\n    /// Decode raw CBOR bytes into a Witnet.Result instance.\\n    /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborBytes(bytes memory _cborBytes) external pure returns (Witnet.Result memory);\\n\\n    /// Decode a CBOR value into a Witnet.Result instance.\\n    /// @param _cborValue An instance of `Witnet.CBOR`.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborValue(Witnet.CBOR memory _cborValue) external pure returns (Witnet.Result memory);\\n\\n    /// Tell if a Witnet.Result is successful.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if successful, `false` if errored.\\n    function isOk(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Tell if a Witnet.Result is errored.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if errored, `false` if successful.\\n    function isError(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes` decoded from the Witnet.Result.\\n    function asBytes(Witnet.Result memory _result) external pure returns (bytes memory);\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes32` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes32` decoded from the Witnet.Result.\\n    function asBytes32(Witnet.Result memory _result) external pure returns (bytes32);\\n\\n    /// Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `CBORValue.Error memory` decoded from the Witnet.Result.\\n    function asErrorCode(Witnet.Result memory _result) external pure returns (Witnet.ErrorCodes);\\n\\n\\n    /// Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\\n    /// @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\\n    function asErrorMessage(Witnet.Result memory _result) external pure returns (Witnet.ErrorCodes, string memory);\\n\\n    /// Decode a raw error from a `Witnet.Result` as a `uint64[]`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `uint64[]` raw error as decoded from the `Witnet.Result`.\\n    function asRawError(Witnet.Result memory _result) external pure returns(uint64[] memory);\\n\\n    /// Decode a boolean value from a Witnet.Result as an `bool` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bool` decoded from the Witnet.Result.\\n    function asBool(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\\n    /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\\n    /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\\n    /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asFixed16(Witnet.Result memory _result) external pure returns (int32);\\n\\n    /// Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asFixed16Array(Witnet.Result memory _result) external pure returns (int32[] memory);\\n\\n    /// Decode a integer numeric value from a Witnet.Result as an `int128` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asInt128(Witnet.Result memory _result) external pure returns (int128);\\n\\n    /// Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asInt128Array(Witnet.Result memory _result) external pure returns (int128[] memory);\\n\\n    /// Decode a string value from a Witnet.Result as a `string` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string` decoded from the Witnet.Result.\\n    function asString(Witnet.Result memory _result) external pure returns (string memory);\\n\\n    /// Decode an array of string values from a Witnet.Result as a `string[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string[]` decoded from the Witnet.Result.\\n    function asStringArray(Witnet.Result memory _result) external pure returns (string[] memory);\\n\\n    /// Decode a natural numeric value from a Witnet.Result as a `uint64` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64` decoded from the Witnet.Result.\\n    function asUint64(Witnet.Result memory _result) external pure returns(uint64);\\n\\n    /// Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64[]` decoded from the Witnet.Result.\\n    function asUint64Array(Witnet.Result memory _result) external pure returns (uint64[] memory);\\n\\n}\\n\",\"keccak256\":\"0xe7c24475babac7d21172d37d976a97b81053739e81b4697be39decfe2aa90945\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Initializable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Initializable {\\n    /// @dev Initialize contract's storage context.\\n    function initialize(bytes calldata) external;\\n}\\n\",\"keccak256\":\"0x17c2e66648596deb4f71dbaaa4b95293c99536431e7697f3b69d205a09796f0e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Proxiable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Proxiable {\\n    /// @dev Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1822.\\n    function proxiableUUID() external pure returns (bytes32);\\n}\\n\",\"keccak256\":\"0x3ed71dc147c30cd8aa1ca248a045217b6ea513bae96c4c76d66496af4b8d6ff1\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Upgradable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\n/* solhint-disable var-name-mixedcase */\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\nimport \\\"./Initializable.sol\\\";\\nimport \\\"./Proxiable.sol\\\";\\n\\nabstract contract Upgradable is Initializable, Proxiable {\\n\\n    address internal immutable _BASE;\\n    bytes32 internal immutable _CODEHASH;\\n    bool internal immutable _UPGRADABLE;\\n\\n    /// Emitted every time the contract gets upgraded.\\n    /// @param from The address who ordered the upgrading. Namely, the WRB operator in \\\"trustable\\\" implementations.\\n    /// @param baseAddr The address of the new implementation contract.\\n    /// @param baseCodehash The EVM-codehash of the new implementation contract.\\n    /// @param versionTag Ascii-encoded version literal with which the implementation deployer decided to tag it.\\n    event Upgraded(\\n        address indexed from,\\n        address indexed baseAddr,\\n        bytes32 indexed baseCodehash,\\n        bytes32 versionTag\\n    );\\n\\n    constructor (bool _isUpgradable) {\\n        address _base = address(this);\\n        bytes32 _codehash;        \\n        assembly {\\n            _codehash := extcodehash(_base)\\n        }\\n        _BASE = _base;\\n        _CODEHASH = _codehash;        \\n        _UPGRADABLE = _isUpgradable;\\n    }\\n\\n    /// @dev Tells whether provided address could eventually upgrade the contract.\\n    function isUpgradableFrom(address from) virtual external view returns (bool);\\n\\n\\n    /// TODO: the following methods should be all declared as pure \\n    ///       whenever this Solidity's PR gets merged and released: \\n    ///       https://github.com/ethereum/solidity/pull/10240\\n\\n    /// @dev Retrieves base contract. Differs from address(this) when via delegate-proxy pattern.\\n    function base() public view returns (address) {\\n        return _BASE;\\n    }\\n\\n    /// @dev Retrieves the immutable codehash of this contract, even if invoked as delegatecall.\\n    /// @return _codehash This contracts immutable codehash.\\n    function codehash() public view returns (bytes32 _codehash) {\\n        return _CODEHASH;\\n    }\\n    \\n    /// @dev Determines whether current instance allows being upgraded.\\n    /// @dev Returned value should be invariant from whoever is calling.\\n    function isUpgradable() public view returns (bool) {        \\n        return _UPGRADABLE;\\n    }\\n\\n    /// @dev Retrieves human-redable named version of current implementation.\\n    function version() virtual public view returns (bytes32); \\n}\",\"keccak256\":\"0x91a8c88f85a691bafab375a8a38361f1dae551530755989636531468870ead98\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"events":{"DeletedQuery(uint256,address)":{"notice":"Emitted when all data related to given query is deleted from the WRB."},"PostedRequest(uint256,address)":{"notice":"Emitted when a Witnet Data Request is posted to the WRB."},"PostedResult(uint256,address)":{"notice":"Emitted when a Witnet-solved result is reported to the WRB."},"Upgraded(address,address,bytes32,bytes32)":{"notice":"Emitted every time the contract gets upgraded."}},"kind":"user","methods":{"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a boolean value from a Witnet.Result as an `bool` value."},"asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a bytes value from a Witnet.Result as a `bytes` value."},"asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a bytes value from a Witnet.Result as a `bytes32` value."},"asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`."},"asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments."},"asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value."},"asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value."},"asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a integer numeric value from a Witnet.Result as an `int128` value."},"asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value."},"asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a raw error from a `Witnet.Result` as a `uint64[]`."},"asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a string value from a Witnet.Result as a `string` value."},"asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an array of string values from a Witnet.Result as a `string[]` value."},"asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a natural numeric value from a Witnet.Result as a `uint64` value."},"asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value."},"deleteQuery(uint256)":{"notice":"Retrieves a copy of all Witnet-provided data related to a previously posted request, removing the whole query from the WRB storage."},"estimateReward(uint256)":{"notice":"Estimates the amount of reward we need to insert for a given gas price."},"getNextQueryId()":{"notice":"Returns next query id to be generated by the Witnet Request Board."},"getQueryData(uint256)":{"notice":"Gets the whole Query data contents, if any, no matter its current status."},"getQueryStatus(uint256)":{"notice":"Gets current status of given query."},"isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Tell if a Witnet.Result is errored."},"isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Tell if a Witnet.Result is successful."},"postRequest(address)":{"notice":"Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided  result to this request."},"readRequest(uint256)":{"notice":"Retrieves the whole Request record posted to the Witnet Request Board."},"readRequestBytecode(uint256)":{"notice":"Retrieves the serialized bytecode of a previously posted Witnet Data Request."},"readRequestGasPrice(uint256)":{"notice":"Retrieves the gas price that any assigned reporter will have to pay when reporting  result to a previously posted Witnet data request."},"readRequestReward(uint256)":{"notice":"Retrieves the reward currently set for the referred query."},"readResponse(uint256)":{"notice":"Retrieves the whole `Witnet.Response` record referred to a previously posted Witnet Data Request."},"readResponseDrTxHash(uint256)":{"notice":"Retrieves the hash of the Witnet transaction hash that actually solved the referred query."},"readResponseReporter(uint256)":{"notice":"Retrieves the address that reported the result to a previously-posted request."},"readResponseResult(uint256)":{"notice":"Retrieves the Witnet-provided CBOR-bytes result of a previously posted request."},"readResponseTimestamp(uint256)":{"notice":"Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON."},"reportResult(uint256,bytes32,bytes)":{"notice":"Reports the Witnet-provided result to a previously posted request. "},"reportResult(uint256,uint256,bytes32,bytes)":{"notice":"Reports the Witnet-provided result to a previously posted request."},"reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)":{"notice":"Reports Witnet-provided results to multiple requests within a single EVM tx."},"resultFromCborBytes(bytes)":{"notice":"Decode raw CBOR bytes into a Witnet.Result instance."},"resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))":{"notice":"Decode a CBOR value into a Witnet.Result instance."},"upgradeReward(uint256)":{"notice":"Increments the reward of a previously posted request by adding the transaction value to it."},"version()":{"notice":"Retrieves human-readable version tag of current implementation."}},"version":1}}},"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableBase.sol":{"WitnetRequestBoardTrustableBase":{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"queryId","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"BatchReportError","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"queryId","type":"uint256"},{"indexed":false,"internalType":"address","name":"from","type":"address"}],"name":"DeletedQuery","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"queryId","type":"uint256"},{"indexed":false,"internalType":"address","name":"from","type":"address"}],"name":"PostedRequest","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"queryId","type":"uint256"},{"indexed":false,"internalType":"address","name":"from","type":"address"}],"name":"PostedResult","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Received","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"reporters","type":"address[]"}],"name":"ReportersSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"reporters","type":"address[]"}],"name":"ReportersUnset","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"baseAddr","type":"address"},{"indexed":true,"internalType":"bytes32","name":"baseCodehash","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"versionTag","type":"bytes32"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asBool","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asBytes32","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asErrorCode","outputs":[{"internalType":"enum Witnet.ErrorCodes","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asErrorMessage","outputs":[{"internalType":"enum Witnet.ErrorCodes","name":"","type":"uint8"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asFixed16","outputs":[{"internalType":"int32","name":"","type":"int32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asFixed16Array","outputs":[{"internalType":"int32[]","name":"","type":"int32[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asInt128","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asInt128Array","outputs":[{"internalType":"int128[]","name":"","type":"int128[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asRawError","outputs":[{"internalType":"uint64[]","name":"","type":"uint64[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asString","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asStringArray","outputs":[{"internalType":"string[]","name":"","type":"string[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asUint64","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asUint64Array","outputs":[{"internalType":"uint64[]","name":"","type":"uint64[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"base","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"codehash","outputs":[{"internalType":"bytes32","name":"_codehash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currency","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"deleteQuery","outputs":[{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct Witnet.Response","name":"_response","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_gasPrice","type":"uint256"}],"name":"estimateReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNextQueryId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryData","outputs":[{"components":[{"components":[{"internalType":"contract IWitnetRequest","name":"addr","type":"address"},{"internalType":"address","name":"requester","type":"address"},{"internalType":"bytes32","name":"hash","type":"bytes32"},{"internalType":"uint256","name":"gasprice","type":"uint256"},{"internalType":"uint256","name":"reward","type":"uint256"}],"internalType":"struct Witnet.Request","name":"request","type":"tuple"},{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct Witnet.Response","name":"response","type":"tuple"},{"internalType":"address","name":"from","type":"address"}],"internalType":"struct Witnet.Query","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryStatus","outputs":[{"internalType":"enum Witnet.QueryStatus","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"_initData","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"isError","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"isOk","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_reporter","type":"address"}],"name":"isReporter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isUpgradable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"}],"name":"isUpgradableFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IWitnetRequest","name":"_addr","type":"address"}],"name":"postRequest","outputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readRequest","outputs":[{"components":[{"internalType":"contract IWitnetRequest","name":"addr","type":"address"},{"internalType":"address","name":"requester","type":"address"},{"internalType":"bytes32","name":"hash","type":"bytes32"},{"internalType":"uint256","name":"gasprice","type":"uint256"},{"internalType":"uint256","name":"reward","type":"uint256"}],"internalType":"struct Witnet.Request","name":"_request","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readRequestBytecode","outputs":[{"internalType":"bytes","name":"_bytecode","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readRequestGasPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readRequestReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponse","outputs":[{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct Witnet.Response","name":"_response","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponseDrTxHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponseReporter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponseResult","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponseTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"},{"internalType":"bytes32","name":"_drTxHash","type":"bytes32"},{"internalType":"bytes","name":"_cborBytes","type":"bytes"}],"name":"reportResult","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"},{"internalType":"uint256","name":"_timestamp","type":"uint256"},{"internalType":"bytes32","name":"_drTxHash","type":"bytes32"},{"internalType":"bytes","name":"_cborBytes","type":"bytes"}],"name":"reportResult","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"queryId","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct IWitnetRequestBoardReporter.BatchResult[]","name":"_batchResults","type":"tuple[]"},{"internalType":"bool","name":"_verbose","type":"bool"}],"name":"reportResultBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_cborBytes","type":"bytes"}],"name":"resultFromCborBytes","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"","type":"tuple"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"_cborValue","type":"tuple"}],"name":"resultFromCborValue","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"","type":"tuple"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"_reporters","type":"address[]"}],"name":"setReporters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_exReporters","type":"address[]"}],"name":"unsetReporters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"upgradeReward","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}],"devdoc":{"author":"The Witnet Foundation","details":"This contract enables posting requests that Witnet bridges will insert into the Witnet network. The result of the requests will be posted back to this contract by the bridge nodes too.","kind":"dev","methods":{"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `bool` decoded from the Witnet.Result."}},"asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `bytes` decoded from the Witnet.Result."}},"asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `bytes32` decoded from the Witnet.Result."}},"asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of `Witnet.Result`."},"returns":{"_0":"The `CBORValue.Error memory` decoded from the Witnet.Result."}},"asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"details":"WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function","params":{"_result":"An instance of `Witnet.Result`."},"returns":{"_0":"A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message."}},"asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"details":"Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values. by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`. use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.","params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128` decoded from the Witnet.Result."}},"asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128[]` decoded from the Witnet.Result."}},"asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128` decoded from the Witnet.Result."}},"asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128[]` decoded from the Witnet.Result."}},"asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of `Witnet.Result`."},"returns":{"_0":"The `uint64[]` raw error as decoded from the `Witnet.Result`."}},"asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `string` decoded from the Witnet.Result."}},"asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `string[]` decoded from the Witnet.Result."}},"asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `uint64` decoded from the Witnet.Result."}},"asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `uint64[]` decoded from the Witnet.Result."}},"base()":{"details":"Retrieves base contract. Differs from address(this) when via delegate-proxy pattern."},"codehash()":{"details":"Retrieves the immutable codehash of this contract, even if invoked as delegatecall.","returns":{"_codehash":"This contracts immutable codehash."}},"deleteQuery(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status, or called from an address different tothe one that actually posted the given request.","params":{"_queryId":"The unique query identifier."}},"estimateReward(uint256)":{"params":{"_gasPrice":"The gas price for which we need to calculate the rewards."}},"initialize(bytes)":{"details":"Must fail when trying to initialize same instance more than once."},"isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"`true` if errored, `false` if successful."}},"isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"`true` if successful, `false` if errored."}},"isReporter(address)":{"params":{"_reporter":"The address to be checked."}},"isUpgradable()":{"details":"Determines whether current instance allows being upgraded.Returned value should be invariant from whoever is calling."},"postRequest(address)":{"details":"Fails if:- provided reward is too low.- provided script is zero address.- provided script bytecode is empty.","params":{"_addr":"The address of a IWitnetRequest contract, containing the actual Data Request seralized bytecode."},"returns":{"_queryId":"An unique query identifier."}},"proxiableUUID()":{"details":"Gets immutable \"heritage blood line\" (ie. genotype) as a Proxiable, and eventually Upgradable, contract.      If implemented as an Upgradable touch, upgrading this contract to another one with a different       `proxiableUUID()` value should fail."},"readRequest(uint256)":{"details":"Fails if the `_queryId` is not valid or, if it has already been reportedor deleted.","params":{"_queryId":"The unique identifier of a previously posted query."}},"readRequestBytecode(uint256)":{"details":"Fails if the `_queryId` is not valid, or if the related script bytecode got changed after being posted. Returns empty array once it gets reported, or deleted.","params":{"_queryId":"The unique query identifier."}},"readRequestGasPrice(uint256)":{"details":"Fails if the `_queryId` is not valid or, if it has already been reported, or deleted. ","params":{"_queryId":"The unique query identifier"}},"readRequestReward(uint256)":{"details":"Fails if the `_queryId` is not valid or, if it has already been reported, or deleted. ","params":{"_queryId":"The unique query identifier"}},"readResponse(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier"}},"readResponseDrTxHash(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier."}},"readResponseReporter(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier"}},"readResponseResult(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier"}},"readResponseTimestamp(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier."}},"reportResult(uint256,bytes32,bytes)":{"details":"Will assume `block.timestamp` as the timestamp at which the request was solved.Fails if:- the `_queryId` is not in 'Posted' status.- provided `_drTxHash` is zero;- length of provided `_result` is zero.","params":{"_cborBytes":"The result itself as bytes.","_drTxHash":"The hash of the solving tally transaction in Witnet.","_queryId":"The unique identifier of the data request."}},"reportResult(uint256,uint256,bytes32,bytes)":{"details":"Fails if:- called from unauthorized address;- the `_queryId` is not in 'Posted' status.- provided `_drTxHash` is zero;- length of provided `_result` is zero.","params":{"_cborBytes":"The result itself as bytes.","_drTxHash":"The hash of the solving tally transaction in Witnet.","_queryId":"The unique query identifier","_timestamp":"The timestamp of the solving tally transaction in Witnet."}},"reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)":{"details":"Fails if called from unauthorized address.Emits a PostedResult event for every succesfully reported result, if any.","params":{"_batchResults":"Array of BatchedResult structs, every one containing:         - unique query identifier;         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;         - hash of the corresponding data request tx at the Witnet side-chain level;         - data request result in raw bytes.","_verbose":"If true, emits a BatchReportError event for every failing report, if any. "}},"resultFromCborBytes(bytes)":{"params":{"_cborBytes":"Raw bytes representing a CBOR-encoded value."},"returns":{"_0":"A `Witnet.Result` instance."}},"resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))":{"params":{"_cborValue":"An instance of `Witnet.CBOR`."},"returns":{"_0":"A `Witnet.Result` instance."}},"setReporters(address[])":{"details":"Can only be called from the owner address.Emits the `ReportersSet` event. ","params":{"_reporters":"List of addresses to be added to the active reporters control list."}},"unsetReporters(address[])":{"details":"Can only be called from the owner address.Emits the `ReportersUnset` event. ","params":{"_exReporters":"List of addresses to be added to the active reporters control list."}},"upgradeReward(uint256)":{"details":"Updates request `gasPrice` in case this method is called with a higher gas price value than the one used in previous calls to `postRequest` or`upgradeReward`. Fails if the `_queryId` is not in 'Posted' status.Fails also in case the request `gasPrice` is increased, and the new reward value gets below new recalculated threshold. ","params":{"_queryId":"The unique query identifier."}}},"title":"Witnet Request Board \"trustable\" base implementation contract.","version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"d4ced132","asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"c683b465","asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"cf62d115","asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"db04f16d","asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"d74803be","asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"2241f2db","asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"0f572d2c","asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"2b905fbb","asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"07e66852","asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"b0768328","asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"109a0e3c","asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"c87d969e","asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"bc7e25ff","asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"4dcffaf3","base()":"5001f3b5","codehash()":"a9e954b9","currency()":"e5a6b10f","deleteQuery(uint256)":"7c1fbda3","estimateReward(uint256)":"d2e87561","getNextQueryId()":"c805dd0f","getQueryData(uint256)":"c2485ebd","getQueryStatus(uint256)":"6f07abcc","initialize(bytes)":"439fab91","isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"7780cde1","isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"a8604c1a","isReporter(address)":"044ad7be","isUpgradable()":"5479d940","isUpgradableFrom(address)":"6b58960a","owner()":"8da5cb5b","postRequest(address)":"b281a7bd","proxiableUUID()":"52d1902d","readRequest(uint256)":"99f65804","readRequestBytecode(uint256)":"3b885f2a","readRequestGasPrice(uint256)":"3ae97295","readRequestReward(uint256)":"1dd27daf","readResponse(uint256)":"754e5bea","readResponseDrTxHash(uint256)":"dc3c71cd","readResponseReporter(uint256)":"9d96fced","readResponseResult(uint256)":"d4da69ac","readResponseTimestamp(uint256)":"20f9241e","reportResult(uint256,bytes32,bytes)":"6280bce8","reportResult(uint256,uint256,bytes32,bytes)":"c8f5cdd5","reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)":"81a398b5","resultFromCborBytes(bytes)":"e99e47f3","resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))":"2565082b","setReporters(address[])":"4c9f72e3","transferOwnership(address)":"f2fde38b","unsetReporters(address[])":"28a78d9b","upgradeReward(uint256)":"66bfdc75","version()":"54fd4d50"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"BatchReportError\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"DeletedQuery\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"PostedRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"PostedResult\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Received\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"reporters\",\"type\":\"address[]\"}],\"name\":\"ReportersSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"reporters\",\"type\":\"address[]\"}],\"name\":\"ReportersUnset\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"baseAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"baseCodehash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"versionTag\",\"type\":\"bytes32\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asErrorCode\",\"outputs\":[{\"internalType\":\"enum Witnet.ErrorCodes\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asErrorMessage\",\"outputs\":[{\"internalType\":\"enum Witnet.ErrorCodes\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asFixed16\",\"outputs\":[{\"internalType\":\"int32\",\"name\":\"\",\"type\":\"int32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asFixed16Array\",\"outputs\":[{\"internalType\":\"int32[]\",\"name\":\"\",\"type\":\"int32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asInt128\",\"outputs\":[{\"internalType\":\"int128\",\"name\":\"\",\"type\":\"int128\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asInt128Array\",\"outputs\":[{\"internalType\":\"int128[]\",\"name\":\"\",\"type\":\"int128[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asRawError\",\"outputs\":[{\"internalType\":\"uint64[]\",\"name\":\"\",\"type\":\"uint64[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asUint64\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asUint64Array\",\"outputs\":[{\"internalType\":\"uint64[]\",\"name\":\"\",\"type\":\"uint64[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"base\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"codehash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_codehash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currency\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"deleteQuery\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.Response\",\"name\":\"_response\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_gasPrice\",\"type\":\"uint256\"}],\"name\":\"estimateReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNextQueryId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryData\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"contract IWitnetRequest\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"gasprice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"}],\"internalType\":\"struct Witnet.Request\",\"name\":\"request\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.Response\",\"name\":\"response\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"internalType\":\"struct Witnet.Query\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryStatus\",\"outputs\":[{\"internalType\":\"enum Witnet.QueryStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_initData\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"isError\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"isOk\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reporter\",\"type\":\"address\"}],\"name\":\"isReporter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isUpgradable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"}],\"name\":\"isUpgradableFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IWitnetRequest\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"postRequest\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readRequest\",\"outputs\":[{\"components\":[{\"internalType\":\"contract IWitnetRequest\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"gasprice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"}],\"internalType\":\"struct Witnet.Request\",\"name\":\"_request\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readRequestBytecode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"_bytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readRequestGasPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readRequestReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponse\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.Response\",\"name\":\"_response\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponseDrTxHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponseReporter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponseResult\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponseTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_cborBytes\",\"type\":\"bytes\"}],\"name\":\"reportResult\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_cborBytes\",\"type\":\"bytes\"}],\"name\":\"reportResult\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct IWitnetRequestBoardReporter.BatchResult[]\",\"name\":\"_batchResults\",\"type\":\"tuple[]\"},{\"internalType\":\"bool\",\"name\":\"_verbose\",\"type\":\"bool\"}],\"name\":\"reportResultBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_cborBytes\",\"type\":\"bytes\"}],\"name\":\"resultFromCborBytes\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"_cborValue\",\"type\":\"tuple\"}],\"name\":\"resultFromCborValue\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_reporters\",\"type\":\"address[]\"}],\"name\":\"setReporters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_exReporters\",\"type\":\"address[]\"}],\"name\":\"unsetReporters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"upgradeReward\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"The Witnet Foundation\",\"details\":\"This contract enables posting requests that Witnet bridges will insert into the Witnet network. The result of the requests will be posted back to this contract by the bridge nodes too.\",\"kind\":\"dev\",\"methods\":{\"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `bool` decoded from the Witnet.Result.\"}},\"asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `bytes` decoded from the Witnet.Result.\"}},\"asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `bytes32` decoded from the Witnet.Result.\"}},\"asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of `Witnet.Result`.\"},\"returns\":{\"_0\":\"The `CBORValue.Error memory` decoded from the Witnet.Result.\"}},\"asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"details\":\"WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\",\"params\":{\"_result\":\"An instance of `Witnet.Result`.\"},\"returns\":{\"_0\":\"A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\"}},\"asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"details\":\"Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values. by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`. use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\",\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128` decoded from the Witnet.Result.\"}},\"asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128[]` decoded from the Witnet.Result.\"}},\"asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128` decoded from the Witnet.Result.\"}},\"asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128[]` decoded from the Witnet.Result.\"}},\"asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of `Witnet.Result`.\"},\"returns\":{\"_0\":\"The `uint64[]` raw error as decoded from the `Witnet.Result`.\"}},\"asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `string` decoded from the Witnet.Result.\"}},\"asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `string[]` decoded from the Witnet.Result.\"}},\"asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `uint64` decoded from the Witnet.Result.\"}},\"asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `uint64[]` decoded from the Witnet.Result.\"}},\"base()\":{\"details\":\"Retrieves base contract. Differs from address(this) when via delegate-proxy pattern.\"},\"codehash()\":{\"details\":\"Retrieves the immutable codehash of this contract, even if invoked as delegatecall.\",\"returns\":{\"_codehash\":\"This contracts immutable codehash.\"}},\"deleteQuery(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status, or called from an address different tothe one that actually posted the given request.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"estimateReward(uint256)\":{\"params\":{\"_gasPrice\":\"The gas price for which we need to calculate the rewards.\"}},\"initialize(bytes)\":{\"details\":\"Must fail when trying to initialize same instance more than once.\"},\"isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"`true` if errored, `false` if successful.\"}},\"isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"`true` if successful, `false` if errored.\"}},\"isReporter(address)\":{\"params\":{\"_reporter\":\"The address to be checked.\"}},\"isUpgradable()\":{\"details\":\"Determines whether current instance allows being upgraded.Returned value should be invariant from whoever is calling.\"},\"postRequest(address)\":{\"details\":\"Fails if:- provided reward is too low.- provided script is zero address.- provided script bytecode is empty.\",\"params\":{\"_addr\":\"The address of a IWitnetRequest contract, containing the actual Data Request seralized bytecode.\"},\"returns\":{\"_queryId\":\"An unique query identifier.\"}},\"proxiableUUID()\":{\"details\":\"Gets immutable \\\"heritage blood line\\\" (ie. genotype) as a Proxiable, and eventually Upgradable, contract.      If implemented as an Upgradable touch, upgrading this contract to another one with a different       `proxiableUUID()` value should fail.\"},\"readRequest(uint256)\":{\"details\":\"Fails if the `_queryId` is not valid or, if it has already been reportedor deleted.\",\"params\":{\"_queryId\":\"The unique identifier of a previously posted query.\"}},\"readRequestBytecode(uint256)\":{\"details\":\"Fails if the `_queryId` is not valid, or if the related script bytecode got changed after being posted. Returns empty array once it gets reported, or deleted.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"readRequestGasPrice(uint256)\":{\"details\":\"Fails if the `_queryId` is not valid or, if it has already been reported, or deleted. \",\"params\":{\"_queryId\":\"The unique query identifier\"}},\"readRequestReward(uint256)\":{\"details\":\"Fails if the `_queryId` is not valid or, if it has already been reported, or deleted. \",\"params\":{\"_queryId\":\"The unique query identifier\"}},\"readResponse(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier\"}},\"readResponseDrTxHash(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"readResponseReporter(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier\"}},\"readResponseResult(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier\"}},\"readResponseTimestamp(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"reportResult(uint256,bytes32,bytes)\":{\"details\":\"Will assume `block.timestamp` as the timestamp at which the request was solved.Fails if:- the `_queryId` is not in 'Posted' status.- provided `_drTxHash` is zero;- length of provided `_result` is zero.\",\"params\":{\"_cborBytes\":\"The result itself as bytes.\",\"_drTxHash\":\"The hash of the solving tally transaction in Witnet.\",\"_queryId\":\"The unique identifier of the data request.\"}},\"reportResult(uint256,uint256,bytes32,bytes)\":{\"details\":\"Fails if:- called from unauthorized address;- the `_queryId` is not in 'Posted' status.- provided `_drTxHash` is zero;- length of provided `_result` is zero.\",\"params\":{\"_cborBytes\":\"The result itself as bytes.\",\"_drTxHash\":\"The hash of the solving tally transaction in Witnet.\",\"_queryId\":\"The unique query identifier\",\"_timestamp\":\"The timestamp of the solving tally transaction in Witnet.\"}},\"reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)\":{\"details\":\"Fails if called from unauthorized address.Emits a PostedResult event for every succesfully reported result, if any.\",\"params\":{\"_batchResults\":\"Array of BatchedResult structs, every one containing:         - unique query identifier;         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;         - hash of the corresponding data request tx at the Witnet side-chain level;         - data request result in raw bytes.\",\"_verbose\":\"If true, emits a BatchReportError event for every failing report, if any. \"}},\"resultFromCborBytes(bytes)\":{\"params\":{\"_cborBytes\":\"Raw bytes representing a CBOR-encoded value.\"},\"returns\":{\"_0\":\"A `Witnet.Result` instance.\"}},\"resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))\":{\"params\":{\"_cborValue\":\"An instance of `Witnet.CBOR`.\"},\"returns\":{\"_0\":\"A `Witnet.Result` instance.\"}},\"setReporters(address[])\":{\"details\":\"Can only be called from the owner address.Emits the `ReportersSet` event. \",\"params\":{\"_reporters\":\"List of addresses to be added to the active reporters control list.\"}},\"unsetReporters(address[])\":{\"details\":\"Can only be called from the owner address.Emits the `ReportersUnset` event. \",\"params\":{\"_exReporters\":\"List of addresses to be added to the active reporters control list.\"}},\"upgradeReward(uint256)\":{\"details\":\"Updates request `gasPrice` in case this method is called with a higher gas price value than the one used in previous calls to `postRequest` or`upgradeReward`. Fails if the `_queryId` is not in 'Posted' status.Fails also in case the request `gasPrice` is increased, and the new reward value gets below new recalculated threshold. \",\"params\":{\"_queryId\":\"The unique query identifier.\"}}},\"title\":\"Witnet Request Board \\\"trustable\\\" base implementation contract.\",\"version\":1},\"userdoc\":{\"events\":{\"DeletedQuery(uint256,address)\":{\"notice\":\"Emitted when all data related to given query is deleted from the WRB.\"},\"PostedRequest(uint256,address)\":{\"notice\":\"Emitted when a Witnet Data Request is posted to the WRB.\"},\"PostedResult(uint256,address)\":{\"notice\":\"Emitted when a Witnet-solved result is reported to the WRB.\"},\"Upgraded(address,address,bytes32,bytes32)\":{\"notice\":\"Emitted every time the contract gets upgraded.\"}},\"kind\":\"user\",\"methods\":{\"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a boolean value from a Witnet.Result as an `bool` value.\"},\"asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a bytes value from a Witnet.Result as a `bytes` value.\"},\"asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a bytes value from a Witnet.Result as a `bytes32` value.\"},\"asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\"},\"asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\"},\"asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\"},\"asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\"},\"asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a integer numeric value from a Witnet.Result as an `int128` value.\"},\"asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\"},\"asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a raw error from a `Witnet.Result` as a `uint64[]`.\"},\"asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a string value from a Witnet.Result as a `string` value.\"},\"asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an array of string values from a Witnet.Result as a `string[]` value.\"},\"asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a natural numeric value from a Witnet.Result as a `uint64` value.\"},\"asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\"},\"deleteQuery(uint256)\":{\"notice\":\"Retrieves copy of all response data related to a previously posted request, removing the whole query from storage.\"},\"estimateReward(uint256)\":{\"notice\":\"Estimates the amount of reward we need to insert for a given gas price.\"},\"getNextQueryId()\":{\"notice\":\"Returns next request id to be generated by the Witnet Request Board.\"},\"getQueryData(uint256)\":{\"notice\":\"Gets the whole Query data contents, if any, no matter its current status.\"},\"getQueryStatus(uint256)\":{\"notice\":\"Gets current status of given query.\"},\"initialize(bytes)\":{\"notice\":\"Initialize storage-context when invoked as delegatecall. \"},\"isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Tell if a Witnet.Result is errored.\"},\"isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Tell if a Witnet.Result is successful.\"},\"isReporter(address)\":{\"notice\":\"Tells whether given address is included in the active reporters control list.\"},\"isUpgradableFrom(address)\":{\"notice\":\"Tells whether provided address could eventually upgrade the contract.\"},\"owner()\":{\"notice\":\"Gets admin/owner address.\"},\"postRequest(address)\":{\"notice\":\"Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided  result to this request.\"},\"readRequest(uint256)\":{\"notice\":\"Retrieves the whole Request record posted to the Witnet Request Board.\"},\"readRequestBytecode(uint256)\":{\"notice\":\"Retrieves the serialized bytecode of a previously posted Witnet Data Request.\"},\"readRequestGasPrice(uint256)\":{\"notice\":\"Retrieves the gas price that any assigned reporter will have to pay when reporting  result to a previously posted Witnet data request.\"},\"readRequestReward(uint256)\":{\"notice\":\"Retrieves the reward currently set for a previously posted request.\"},\"readResponse(uint256)\":{\"notice\":\"Retrieves the Witnet-provided result, and metadata, to a previously posted request.    \"},\"readResponseDrTxHash(uint256)\":{\"notice\":\"Retrieves the hash of the Witnet transaction that actually solved the referred query.\"},\"readResponseReporter(uint256)\":{\"notice\":\"Retrieves the address that reported the result to a previously-posted request.\"},\"readResponseResult(uint256)\":{\"notice\":\"Retrieves the Witnet-provided CBOR-bytes result of a previously posted request.\"},\"readResponseTimestamp(uint256)\":{\"notice\":\"Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON.\"},\"reportResult(uint256,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provided result to a previously posted request. \"},\"reportResult(uint256,uint256,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provided result to a previously posted request.\"},\"reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)\":{\"notice\":\"Reports Witnet-provided results to multiple requests within a single EVM tx.\"},\"resultFromCborBytes(bytes)\":{\"notice\":\"Decode raw CBOR bytes into a Witnet.Result instance.\"},\"resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))\":{\"notice\":\"Decode a CBOR value into a Witnet.Result instance.\"},\"setReporters(address[])\":{\"notice\":\"Adds given addresses to the active reporters control list.\"},\"transferOwnership(address)\":{\"notice\":\"Transfers ownership.\"},\"unsetReporters(address[])\":{\"notice\":\"Removes given addresses from the active reporters control list.\"},\"upgradeReward(uint256)\":{\"notice\":\"Increments the reward of a previously posted request by adding the transaction value to it.\"},\"version()\":{\"notice\":\"Retrieves human-readable version tag of current implementation.\"}},\"notice\":\"Contract to bridge requests to Witnet Decentralized Oracle Network.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableBase.sol\":\"WitnetRequestBoardTrustableBase\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/WitnetRequestBoard.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./interfaces/IWitnetRequestBoardEvents.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardReporter.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardRequestor.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardView.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestParser.sol\\\";\\n\\n/// @title Witnet Request Board functionality base contract.\\n/// @author The Witnet Foundation.\\nabstract contract WitnetRequestBoard is\\n    IWitnetRequestBoardEvents,\\n    IWitnetRequestBoardReporter,\\n    IWitnetRequestBoardRequestor,\\n    IWitnetRequestBoardView,\\n    IWitnetRequestParser\\n{\\n    receive() external payable {\\n        revert(\\\"WitnetRequestBoard: no transfers accepted\\\");\\n    }\\n}\\n\",\"keccak256\":\"0xb04deadd6e24568accfcbb7b76f1c03cb925933aee189115b5b23badc5b6e9ab\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/data/WitnetBoardData.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Request Board base data model. \\n/// @author The Witnet Foundation.\\nabstract contract WitnetBoardData {  \\n\\n    bytes32 internal constant _WITNET_BOARD_DATA_SLOTHASH =\\n        /* keccak256(\\\"io.witnet.boards.data\\\") */\\n        0xf595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183;\\n\\n    struct WitnetBoardState {\\n        address base;\\n        address owner;    \\n        uint256 numQueries;\\n        mapping (uint => Witnet.Query) queries;\\n    }\\n\\n    constructor() {\\n        _state().owner = msg.sender;\\n    }\\n\\n    /// Asserts the given query is currently in the given status.\\n    modifier inStatus(uint256 _queryId, Witnet.QueryStatus _status) {\\n      require(\\n          _getQueryStatus(_queryId) == _status,\\n          _getQueryStatusRevertMessage(_status)\\n        );\\n      _;\\n    }\\n\\n    /// Asserts the given query was previously posted and that it was not yet deleted.\\n    modifier notDeleted(uint256 _queryId) {\\n        require(_queryId > 0 && _queryId <= _state().numQueries, \\\"WitnetBoardData: not yet posted\\\");\\n        require(_getRequester(_queryId) != address(0), \\\"WitnetBoardData: deleted\\\");\\n        _;\\n    }\\n\\n    /// Asserts caller corresponds to the current owner. \\n    modifier onlyOwner {\\n        require(msg.sender == _state().owner, \\\"WitnetBoardData: only owner\\\");\\n        _;    \\n    }\\n\\n    /// Asserts the give query was actually posted before calling this method.\\n    modifier wasPosted(uint256 _queryId) {\\n        require(_queryId > 0 && _queryId <= _state().numQueries, \\\"WitnetBoardData: not yet posted\\\");\\n        _;\\n    }\\n\\n    // ================================================================================================================\\n    // --- Internal functions -----------------------------------------------------------------------------------------\\n\\n    /// Gets current status of given query.\\n    function _getQueryStatus(uint256 _queryId)\\n      internal view\\n      returns (Witnet.QueryStatus)\\n    {\\n      if (_queryId == 0 || _queryId > _state().numQueries) {\\n        // \\\"Unknown\\\" status if queryId is out of range:\\n        return Witnet.QueryStatus.Unknown;\\n      }\\n      else {\\n        Witnet.Query storage _query = _state().queries[_queryId];\\n        if (_query.response.drTxHash != 0) {\\n          // Query is in \\\"Reported\\\" status as soon as the hash of the\\n          // Witnet transaction that solved the query is reported\\n          // back from a Witnet bridge:\\n          return Witnet.QueryStatus.Reported;\\n        }\\n        else if (_query.from != address(0)) {\\n          // Otherwise, while address from which the query was posted\\n          // is kept in storage, the query remains in \\\"Posted\\\" status:\\n          return Witnet.QueryStatus.Posted;\\n        }\\n        else {\\n          // Requester's address is removed from storage only if\\n          // the query gets \\\"Deleted\\\" by its requester.\\n          return Witnet.QueryStatus.Deleted;\\n        }\\n      }\\n    }\\n\\n    function _getQueryStatusRevertMessage(Witnet.QueryStatus _status)\\n      internal pure\\n      returns (string memory)\\n    {\\n      if (_status == Witnet.QueryStatus.Posted) {\\n        return \\\"WitnetBoardData: not in Posted status\\\";\\n      } else if (_status == Witnet.QueryStatus.Reported) {\\n        return \\\"WitnetBoardData: not in Reported status\\\";\\n      } else if (_status == Witnet.QueryStatus.Deleted) {\\n        return \\\"WitnetBoardData: not in Deleted status\\\";\\n      } else {\\n        return \\\"WitnetBoardData: bad mood\\\";\\n      }\\n    }\\n\\n    /// Gets from of a given query.\\n    function _getRequester(uint256 _queryId)\\n      internal view\\n      returns (address)\\n    {\\n      return _state().queries[_queryId].from;\\n    }\\n\\n    /// Gets the Witnet.Request part of a given query.\\n    function _getRequestData(uint256 _queryId)\\n      internal view\\n      returns (Witnet.Request storage)\\n    {\\n        return _state().queries[_queryId].request;\\n    }\\n\\n    /// Gets the Witnet.Result part of a given query.\\n    function _getResponseData(uint256 _queryId)\\n      internal view\\n      returns (Witnet.Response storage)\\n    {\\n        return _state().queries[_queryId].response;\\n    }\\n\\n    /// Returns storage pointer to contents of 'WitnetBoardState' struct.\\n    function _state()\\n      internal pure\\n      returns (WitnetBoardState storage _ptr)\\n    {\\n        assembly {\\n            _ptr.slot := _WITNET_BOARD_DATA_SLOTHASH\\n        }\\n    }\\n\\n}\\n\",\"keccak256\":\"0x0c78c9981103e9ed35ace4e5f886a848f9dfe2aa26928adc0d37dabeff6a19db\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/data/WitnetBoardDataACLs.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"./WitnetBoardData.sol\\\";\\n\\n/// @title Witnet Access Control Lists storage layout, for Witnet-trusted request boards.\\n/// @author The Witnet Foundation.\\nabstract contract WitnetBoardDataACLs\\n    is\\n        WitnetBoardData\\n{\\n    bytes32 internal constant _WITNET_BOARD_ACLS_SLOTHASH =\\n        /* keccak256(\\\"io.witnet.boards.data.acls\\\") */\\n        0xa6db7263983f337bae2c9fb315730227961d1c1153ae1e10a56b5791465dd6fd;\\n\\n    struct WitnetBoardACLs {\\n        mapping (address => bool) isReporter_;\\n    }\\n\\n    constructor() {\\n        _acls().isReporter_[msg.sender] = true;\\n    }\\n\\n    modifier onlyReporters {\\n        require(\\n            _acls().isReporter_[msg.sender],\\n            \\\"WitnetBoardDataACLs: unauthorized reporter\\\"\\n        );\\n        _;\\n    } \\n\\n    // ================================================================================================================\\n    // --- Internal functions -----------------------------------------------------------------------------------------\\n\\n    function _acls() internal pure returns (WitnetBoardACLs storage _struct) {\\n        assembly {\\n            _struct.slot := _WITNET_BOARD_ACLS_SLOTHASH\\n        }\\n    }\\n}\\n\",\"keccak256\":\"0x558f28fc690d2f7180da9393bc49083da4857aa8480f044f68355a61ebf21257\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/impls/WitnetProxy.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../patterns/Upgradable.sol\\\";\\n\\n/// @title WitnetProxy: upgradable delegate-proxy contract that routes Witnet data requests coming from a \\n/// `UsingWitnet`-inheriting contract to a currently active `WitnetRequestBoard` implementation. \\n/// @author The Witnet Foundation.\\ncontract WitnetProxy {\\n\\n    struct WitnetProxySlot {\\n        address implementation;\\n    }\\n\\n    /// Event emitted every time the implementation gets updated.\\n    event Upgraded(address indexed implementation);  \\n\\n    /// Constructor with no params as to ease eventual support of Singleton pattern (i.e. ERC-2470).\\n    constructor () {}\\n\\n    /// WitnetProxies will never accept direct transfer of ETHs.\\n    receive() external payable {\\n        revert(\\\"WitnetProxy: no transfers accepted\\\");\\n    }\\n\\n    /// Payable fallback accepts delegating calls to payable functions.  \\n    fallback() external payable { /* solhint-disable no-complex-fallback */\\n        address _implementation = implementation();\\n\\n        assembly { /* solhint-disable avoid-low-level-calls */\\n            // Gas optimized delegate call to 'implementation' contract.\\n            // Note: `msg.data`, `msg.sender` and `msg.value` will be passed over \\n            //       to actual implementation of `msg.sig` within `implementation` contract.\\n            let ptr := mload(0x40)\\n            calldatacopy(ptr, 0, calldatasize())\\n            let result := delegatecall(gas(), _implementation, ptr, calldatasize(), 0, 0)\\n            let size := returndatasize()\\n            returndatacopy(ptr, 0, size)\\n            switch result\\n                case 0  { \\n                    // pass back revert message:\\n                    revert(ptr, size) \\n                }\\n                default {\\n                  // pass back same data as returned by 'implementation' contract:\\n                  return(ptr, size) \\n                }\\n        }\\n    }\\n\\n    /// Returns proxy's current implementation address.\\n    function implementation() public view returns (address) {\\n        return _proxySlot().implementation;\\n    }\\n\\n    /// Upgrades the `implementation` address.\\n    /// @param _newImplementation New implementation address.\\n    /// @param _initData Raw data with which new implementation will be initialized.\\n    /// @return Returns whether new implementation would be further upgradable, or not.\\n    function upgradeTo(address _newImplementation, bytes memory _initData)\\n        public returns (bool)\\n    {\\n        // New implementation cannot be null:\\n        require(_newImplementation != address(0), \\\"WitnetProxy: null implementation\\\");\\n\\n        address _oldImplementation = implementation();\\n        if (_oldImplementation != address(0)) {\\n            // New implementation address must differ from current one:\\n            require(_newImplementation != _oldImplementation, \\\"WitnetProxy: nothing to upgrade\\\");\\n\\n            // Assert whether current implementation is intrinsically upgradable:\\n            try Upgradable(_oldImplementation).isUpgradable() returns (bool _isUpgradable) {\\n                require(_isUpgradable, \\\"WitnetProxy: not upgradable\\\");\\n            } catch {\\n                revert(\\\"WitnetProxy: unable to check upgradability\\\");\\n            }\\n\\n            // Assert whether current implementation allows `msg.sender` to upgrade the proxy:\\n            (bool _wasCalled, bytes memory _result) = _oldImplementation.delegatecall(\\n                abi.encodeWithSignature(\\n                    \\\"isUpgradableFrom(address)\\\",\\n                    msg.sender\\n                )\\n            );\\n            require(_wasCalled, \\\"WitnetProxy: not compliant\\\");\\n            require(abi.decode(_result, (bool)), \\\"WitnetProxy: not authorized\\\");\\n            require(\\n                Upgradable(_oldImplementation).proxiableUUID() == Upgradable(_newImplementation).proxiableUUID(),\\n                \\\"WitnetProxy: proxiableUUIDs mismatch\\\"\\n            );\\n        }\\n\\n        // Initialize new implementation within proxy-context storage:\\n        (bool _wasInitialized,) = _newImplementation.delegatecall(\\n            abi.encodeWithSignature(\\n                \\\"initialize(bytes)\\\",\\n                _initData\\n            )\\n        );\\n        require(_wasInitialized, \\\"WitnetProxy: unable to initialize\\\");\\n\\n        // If all checks and initialization pass, update implementation address:\\n        _proxySlot().implementation = _newImplementation;\\n        emit Upgraded(_newImplementation);\\n\\n        // Asserts new implementation complies w/ minimal implementation of Upgradable interface:\\n        try Upgradable(_newImplementation).isUpgradable() returns (bool _isUpgradable) {\\n            return _isUpgradable;\\n        }\\n        catch {\\n            revert (\\\"WitnetProxy: not compliant\\\");\\n        }\\n    }\\n\\n    /// @dev Complying with EIP-1967, retrieves storage struct containing proxy's current implementation address.\\n    function _proxySlot() private pure returns (WitnetProxySlot storage _slot) {\\n        assembly {\\n            // bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)\\n            _slot.slot := 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\\n        }\\n    }\\n\\n}\\n\",\"keccak256\":\"0xcfdb698b63b9300631b046ecd8e16dbff90e8b4e84fdf1d629195ad17c8234d0\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/impls/WitnetRequestBoardUpgradableBase.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\n/* solhint-disable var-name-mixedcase */\\n\\n// Inherits from:\\nimport \\\"../WitnetRequestBoard.sol\\\";\\nimport \\\"../patterns/Proxiable.sol\\\";\\nimport \\\"../patterns/Upgradable.sol\\\";\\n\\n// Eventual deployment dependencies:\\nimport \\\"./WitnetProxy.sol\\\";\\n\\n/// @title Witnet Request Board base contract, with an Upgradable (and Destructible) touch.\\n/// @author The Witnet Foundation.\\nabstract contract WitnetRequestBoardUpgradableBase\\n    is\\n        Proxiable,\\n        Upgradable,\\n        WitnetRequestBoard\\n{\\n    bytes32 internal immutable _VERSION;\\n\\n    constructor(\\n            bool _upgradable,\\n            bytes32 _versionTag\\n        )\\n        Upgradable(_upgradable)\\n    {\\n        _VERSION = _versionTag;\\n    }\\n\\n    /// @dev Reverts if proxy delegatecalls to unexistent method.\\n    fallback() external payable {\\n        revert(\\\"WitnetRequestBoardUpgradableBase: not implemented\\\");\\n    }\\n\\n    // ================================================================================================================\\n    // --- Overrides 'Proxiable' --------------------------------------------------------------------------------------\\n\\n    /// @dev Gets immutable \\\"heritage blood line\\\" (ie. genotype) as a Proxiable, and eventually Upgradable, contract.\\n    ///      If implemented as an Upgradable touch, upgrading this contract to another one with a different \\n    ///      `proxiableUUID()` value should fail.\\n    function proxiableUUID() external pure override returns (bytes32) {\\n        return (\\n            /* keccak256(\\\"io.witnet.proxiable.board\\\") */\\n            0x9969c6aff411c5e5f0807500693e8f819ce88529615cfa6cab569b24788a1018\\n        );\\n    }   \\n\\n    // ================================================================================================================\\n    // --- Overrides 'Upgradable' --------------------------------------------------------------------------------------\\n\\n    /// Retrieves human-readable version tag of current implementation.\\n    function version() public view override returns (bytes32) {\\n        return _VERSION;\\n    }\\n\\n}\\n\",\"keccak256\":\"0x0930557dfafb03730e716e0af67ba7637a562f304ead6f2cedfa2c0eee91a65c\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableBase.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../WitnetRequestBoardUpgradableBase.sol\\\";\\nimport \\\"../../data/WitnetBoardDataACLs.sol\\\";\\nimport \\\"../../interfaces/IWitnetRequestBoardAdmin.sol\\\";\\nimport \\\"../../interfaces/IWitnetRequestBoardAdminACLs.sol\\\";\\nimport \\\"../../libs/WitnetParserLib.sol\\\";\\nimport \\\"../../patterns/Payable.sol\\\";\\n\\n/// @title Witnet Request Board \\\"trustable\\\" base implementation contract.\\n/// @notice Contract to bridge requests to Witnet Decentralized Oracle Network.\\n/// @dev This contract enables posting requests that Witnet bridges will insert into the Witnet network.\\n/// The result of the requests will be posted back to this contract by the bridge nodes too.\\n/// @author The Witnet Foundation\\nabstract contract WitnetRequestBoardTrustableBase\\n    is \\n        Payable,\\n        IWitnetRequestBoardAdmin,\\n        IWitnetRequestBoardAdminACLs,        \\n        WitnetBoardDataACLs,\\n        WitnetRequestBoardUpgradableBase        \\n{\\n    using Witnet for bytes;\\n    using WitnetParserLib for Witnet.Result;\\n    \\n    constructor(bool _upgradable, bytes32 _versionTag, address _currency)\\n        Payable(_currency)\\n        WitnetRequestBoardUpgradableBase(_upgradable, _versionTag)\\n    {}\\n\\n\\n    // ================================================================================================================\\n    // --- Overrides 'Upgradable' -------------------------------------------------------------------------------------\\n\\n    /// Initialize storage-context when invoked as delegatecall. \\n    /// @dev Must fail when trying to initialize same instance more than once.\\n    function initialize(bytes memory _initData) virtual external override {\\n        address _owner = _state().owner;\\n        if (_owner == address(0)) {\\n            // set owner if none set yet\\n            _owner = msg.sender;\\n            _state().owner = _owner;\\n        } else {\\n            // only owner can initialize:\\n            require(msg.sender == _owner, \\\"WitnetRequestBoardTrustableBase: only owner\\\");\\n        }        \\n\\n        if (_state().base != address(0)) {\\n            // current implementation cannot be initialized more than once:\\n            require(_state().base != base(), \\\"WitnetRequestBoardTrustableBase: already initialized\\\");\\n        }        \\n        _state().base = base();\\n\\n        emit Upgraded(msg.sender, base(), codehash(), version());\\n\\n        // Do actual base initialization:\\n        setReporters(abi.decode(_initData, (address[])));\\n    }\\n\\n    /// Tells whether provided address could eventually upgrade the contract.\\n    function isUpgradableFrom(address _from) external view override returns (bool) {\\n        address _owner = _state().owner;\\n        return (\\n            // false if the WRB is intrinsically not upgradable, or `_from` is no owner\\n            isUpgradable()\\n                && _owner == _from\\n        );\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestBoardAdmin' ----------------------------------------------------------\\n\\n    /// Gets admin/owner address.\\n    function owner()\\n        public view\\n        override\\n        returns (address)\\n    {\\n        return _state().owner;\\n    }\\n\\n    /// Transfers ownership.\\n    function transferOwnership(address _newOwner)\\n        external\\n        virtual override\\n        onlyOwner\\n    {\\n        address _owner = _state().owner;\\n        if (_newOwner != _owner) {\\n            _state().owner = _newOwner;\\n            emit OwnershipTransferred(_owner, _newOwner);\\n        }\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestBoardAdminACLs' ------------------------------------------------------\\n\\n    /// Tells whether given address is included in the active reporters control list.\\n    /// @param _reporter The address to be checked.\\n    function isReporter(address _reporter) public view override returns (bool) {\\n        return _acls().isReporter_[_reporter];\\n    }\\n\\n    /// Adds given addresses to the active reporters control list.\\n    /// @dev Can only be called from the owner address.\\n    /// @dev Emits the `ReportersSet` event. \\n    /// @param _reporters List of addresses to be added to the active reporters control list.\\n    function setReporters(address[] memory _reporters)\\n        public\\n        override\\n        onlyOwner\\n    {\\n        for (uint ix = 0; ix < _reporters.length; ix ++) {\\n            address _reporter = _reporters[ix];\\n            _acls().isReporter_[_reporter] = true;\\n        }\\n        emit ReportersSet(_reporters);\\n    }\\n\\n    /// Removes given addresses from the active reporters control list.\\n    /// @dev Can only be called from the owner address.\\n    /// @dev Emits the `ReportersUnset` event. \\n    /// @param _exReporters List of addresses to be added to the active reporters control list.\\n    function unsetReporters(address[] memory _exReporters)\\n        public\\n        override\\n        onlyOwner\\n    {\\n        for (uint ix = 0; ix < _exReporters.length; ix ++) {\\n            address _reporter = _exReporters[ix];\\n            _acls().isReporter_[_reporter] = false;\\n        }\\n        emit ReportersUnset(_exReporters);\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestBoardReporter' -------------------------------------------------------\\n\\n    /// Reports the Witnet-provided result to a previously posted request. \\n    /// @dev Will assume `block.timestamp` as the timestamp at which the request was solved.\\n    /// @dev Fails if:\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique identifier of the data request.\\n    /// @param _drTxHash The hash of the solving tally transaction in Witnet.\\n    /// @param _cborBytes The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            bytes32 _drTxHash,\\n            bytes calldata _cborBytes\\n        )\\n        external\\n        override\\n        onlyReporters\\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n    {\\n        require(_drTxHash != 0, \\\"WitnetRequestBoardTrustableDefault: Witnet drTxHash cannot be zero\\\");\\n        // Ensures the result bytes do not have zero length\\n        // This would not be a valid encoding with CBOR and could trigger a reentrancy attack\\n        require(_cborBytes.length != 0, \\\"WitnetRequestBoardTrustableDefault: result cannot be empty\\\");\\n        // solhint-disable not-rely-on-time\\n        _safeTransferTo(\\n            payable(msg.sender),\\n            __reportResult(\\n                _queryId,\\n                block.timestamp,\\n                _drTxHash,\\n                _cborBytes\\n            )\\n        );\\n        emit PostedResult(_queryId, msg.sender);\\n    }\\n\\n    /// Reports the Witnet-provided result to a previously posted request.\\n    /// @dev Fails if:\\n    /// @dev - called from unauthorized address;\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique query identifier\\n    /// @param _timestamp The timestamp of the solving tally transaction in Witnet.\\n    /// @param _drTxHash The hash of the solving tally transaction in Witnet.\\n    /// @param _cborBytes The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            uint256 _timestamp,\\n            bytes32 _drTxHash,\\n            bytes calldata _cborBytes\\n        )\\n        external\\n        override\\n        onlyReporters\\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n    {\\n        require(_timestamp <= block.timestamp, \\\"WitnetRequestBoardTrustableDefault: bad timestamp\\\");\\n        require(_drTxHash != 0, \\\"WitnetRequestBoardTrustableDefault: Witnet drTxHash cannot be zero\\\");\\n        // Ensures the result bytes do not have zero length\\n        // This would not be a valid encoding with CBOR and could trigger a reentrancy attack\\n        require(_cborBytes.length != 0, \\\"WitnetRequestBoardTrustableDefault: result cannot be empty\\\");\\n        _safeTransferTo(\\n            payable(msg.sender),\\n            __reportResult(\\n                _queryId,\\n                _timestamp,\\n                _drTxHash,\\n                _cborBytes\\n            )\\n        );\\n        emit PostedResult(_queryId, msg.sender);\\n    }\\n\\n    /// Reports Witnet-provided results to multiple requests within a single EVM tx.\\n    /// @dev Fails if called from unauthorized address.\\n    /// @dev Emits a PostedResult event for every succesfully reported result, if any.\\n    /// @param _batchResults Array of BatchedResult structs, every one containing:\\n    ///         - unique query identifier;\\n    ///         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;\\n    ///         - hash of the corresponding data request tx at the Witnet side-chain level;\\n    ///         - data request result in raw bytes.\\n    /// @param _verbose If true, emits a BatchReportError event for every failing report, if any. \\n    function reportResultBatch(\\n            BatchResult[] memory _batchResults,\\n            bool _verbose\\n        )\\n        external\\n        override\\n        onlyReporters\\n    {\\n        uint _batchReward;\\n        uint _batchSize = _batchResults.length;\\n        for ( uint _i = 0; _i < _batchSize; _i ++) {\\n            BatchResult memory _result = _batchResults[_i];\\n            if (_getQueryStatus(_result.queryId) != Witnet.QueryStatus.Posted) {\\n                if (_verbose) {\\n                    emit BatchReportError(\\n                        _result.queryId,\\n                        \\\"WitnetRequestBoardTrustableBase: bad queryId\\\"\\n                    );\\n                }\\n            } else if (_result.drTxHash == 0) {\\n                if (_verbose) {\\n                    emit BatchReportError(\\n                        _result.queryId,\\n                        \\\"WitnetRequestBoardTrustableBase: bad drTxHash\\\"\\n                    );\\n                }\\n            } else if (_result.cborBytes.length == 0) {\\n                if (_verbose) {\\n                    emit BatchReportError(\\n                        _result.queryId, \\n                        \\\"WitnetRequestBoardTrustableBase: bad cborBytes\\\"\\n                    );\\n                }\\n            } else if (_result.timestamp > 0 && _result.timestamp > block.timestamp) {\\n                if (_verbose) {\\n                    emit BatchReportError(\\n                        _result.queryId,\\n                        \\\"WitnetRequestBoardTrustableBase: bad timestamp\\\"\\n                    );\\n                }\\n            } else {\\n                _batchReward += __reportResult(\\n                    _result.queryId,\\n                    _result.timestamp == 0 ? block.timestamp : _result.timestamp,\\n                    _result.drTxHash,\\n                    _result.cborBytes\\n                );\\n                emit PostedResult(\\n                    _result.queryId,\\n                    msg.sender\\n                );\\n            }\\n        }   \\n        // Transfer all successful rewards in one single shot to the authorized reporter, if any:\\n        if (_batchReward > 0) {\\n            _safeTransferTo(\\n                payable(msg.sender),\\n                _batchReward\\n            );\\n        }\\n    }\\n    \\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestBoardRequestor' ------------------------------------------------------\\n\\n    /// Retrieves copy of all response data related to a previously posted request, removing the whole query from storage.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status, or called from an address different to\\n    /// @dev the one that actually posted the given request.\\n    /// @param _queryId The unique query identifier.\\n    function deleteQuery(uint256 _queryId)\\n        public\\n        virtual override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (Witnet.Response memory _response)\\n    {\\n        Witnet.Query storage __query = _state().queries[_queryId];\\n        require(\\n            msg.sender == __query.from,\\n            \\\"WitnetRequestBoardTrustableBase: only requester\\\"\\n        );\\n        _response = __query.response;\\n        delete _state().queries[_queryId];\\n        emit DeletedQuery(_queryId, msg.sender);\\n    }\\n\\n    /// Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON.\\n    /// A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided \\n    /// result to this request.\\n    /// @dev Fails if:\\n    /// @dev - provided reward is too low.\\n    /// @dev - provided script is zero address.\\n    /// @dev - provided script bytecode is empty.\\n    /// @param _addr The address of a IWitnetRequest contract, containing the actual Data Request seralized bytecode.\\n    /// @return _queryId An unique query identifier.\\n    function postRequest(IWitnetRequest _addr)\\n        public payable\\n        virtual override\\n        returns (uint256 _queryId)\\n    {\\n        uint256 _value = _getMsgValue();\\n        uint256 _gasPrice = _getGasPrice();\\n\\n        // Checks the tally reward is covering gas cost\\n        uint256 minResultReward = estimateReward(_gasPrice);\\n        require(_value >= minResultReward, \\\"WitnetRequestBoardTrustableBase: reward too low\\\");\\n\\n        // Validates provided script:\\n        require(address(_addr) != address(0), \\\"WitnetRequestBoardTrustableBase: null script\\\");\\n        bytes memory _bytecode = _addr.bytecode();\\n        require(_bytecode.length > 0, \\\"WitnetRequestBoardTrustableBase: empty script\\\");\\n\\n        _queryId = ++ _state().numQueries;\\n        _state().queries[_queryId].from = msg.sender;\\n\\n        Witnet.Request storage _request = _getRequestData(_queryId);\\n        _request.addr = _addr;\\n        _request.hash = _bytecode.hash();\\n        _request.gasprice = _gasPrice;\\n        _request.reward = _value;\\n\\n        // Let observers know that a new request has been posted\\n        emit PostedRequest(_queryId, msg.sender);\\n    }\\n    \\n    /// Increments the reward of a previously posted request by adding the transaction value to it.\\n    /// @dev Updates request `gasPrice` in case this method is called with a higher \\n    /// @dev gas price value than the one used in previous calls to `postRequest` or\\n    /// @dev `upgradeReward`. \\n    /// @dev Fails if the `_queryId` is not in 'Posted' status.\\n    /// @dev Fails also in case the request `gasPrice` is increased, and the new \\n    /// @dev reward value gets below new recalculated threshold. \\n    /// @param _queryId The unique query identifier.\\n    function upgradeReward(uint256 _queryId)\\n        public payable\\n        virtual override      \\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n    {\\n        Witnet.Request storage _request = _getRequestData(_queryId);\\n\\n        uint256 _newReward = _request.reward + _getMsgValue();\\n        uint256 _newGasPrice = _getGasPrice();\\n\\n        // If gas price is increased, then check if new rewards cover gas costs\\n        if (_newGasPrice > _request.gasprice) {\\n            // Checks the reward is covering gas cost\\n            uint256 _minResultReward = estimateReward(_newGasPrice);\\n            require(\\n                _newReward >= _minResultReward,\\n                \\\"WitnetRequestBoardTrustableBase: reward too low\\\"\\n            );\\n            _request.gasprice = _newGasPrice;\\n        }\\n        _request.reward = _newReward;\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestBoardView' -----------------------------------------------------------\\n\\n    /// Estimates the amount of reward we need to insert for a given gas price.\\n    /// @param _gasPrice The gas price for which we need to calculate the rewards.\\n    function estimateReward(uint256 _gasPrice)\\n        public view\\n        virtual override\\n        returns (uint256);\\n\\n    /// Returns next request id to be generated by the Witnet Request Board.\\n    function getNextQueryId()\\n        external view \\n        override\\n        returns (uint256)\\n    {\\n        return _state().numQueries + 1;\\n    }\\n\\n    /// Gets the whole Query data contents, if any, no matter its current status.\\n    function getQueryData(uint256 _queryId)\\n      external view\\n      override\\n      returns (Witnet.Query memory)\\n    {\\n        return _state().queries[_queryId];\\n    }\\n\\n    /// Gets current status of given query.\\n    function getQueryStatus(uint256 _queryId)\\n        external view\\n        override\\n        returns (Witnet.QueryStatus)\\n    {\\n        return _getQueryStatus(_queryId);\\n\\n    }\\n\\n    /// Retrieves the whole Request record posted to the Witnet Request Board.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been reported\\n    /// @dev or deleted.\\n    /// @param _queryId The unique identifier of a previously posted query.\\n    function readRequest(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n        returns (Witnet.Request memory _request)\\n    {\\n        Witnet.Query storage __query = _state().queries[_queryId];\\n        _request = __query.request;\\n        if (__query.from != address(0)) {\\n            _request.requester = __query.from;\\n        }\\n    }\\n    \\n    /// Retrieves the serialized bytecode of a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not valid, or if the related script bytecode \\n    /// @dev got changed after being posted. Returns empty array once it gets reported, \\n    /// @dev or deleted.\\n    /// @param _queryId The unique query identifier.\\n    function readRequestBytecode(uint256 _queryId)\\n        external view\\n        override\\n        returns (bytes memory _bytecode)\\n    {\\n        require(\\n            _getQueryStatus(_queryId) != Witnet.QueryStatus.Unknown,\\n            \\\"WitnetRequestBoardTrustableBase: not yet posted\\\"\\n        );\\n        Witnet.Request storage _request = _getRequestData(_queryId);\\n        if (address(_request.addr) != address(0)) {\\n            // if DR's request contract address is not zero,\\n            // we assume the DR has not been deleted, so\\n            // DR's bytecode can still be fetched:\\n            _bytecode = _request.addr.bytecode();\\n            require(\\n                _bytecode.hash() == _request.hash,\\n                \\\"WitnetRequestBoardTrustableBase: bytecode changed after posting\\\"\\n            );\\n        } \\n    }\\n\\n    /// Retrieves the gas price that any assigned reporter will have to pay when reporting \\n    /// result to a previously posted Witnet data request.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifier\\n    function readRequestGasPrice(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n        returns (uint256)\\n    {\\n        return _state().queries[_queryId].request.gasprice;\\n    }\\n\\n    /// Retrieves the reward currently set for a previously posted request.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifier\\n    function readRequestReward(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n        returns (uint256)\\n    {\\n        return _state().queries[_queryId].request.reward;\\n    }\\n\\n    /// Retrieves the Witnet-provided result, and metadata, to a previously posted request.    \\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier\\n    function readResponse(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (Witnet.Response memory _response)\\n    {\\n        return _getResponseData(_queryId);\\n    }\\n\\n    /// Retrieves the hash of the Witnet transaction that actually solved the referred query.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseDrTxHash(uint256 _queryId)\\n        external view        \\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (bytes32)\\n    {\\n        return _getResponseData(_queryId).drTxHash;\\n    }\\n\\n    /// Retrieves the address that reported the result to a previously-posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier\\n    function readResponseReporter(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (address)\\n    {\\n        return _getResponseData(_queryId).reporter;\\n    }\\n\\n    /// Retrieves the Witnet-provided CBOR-bytes result of a previously posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier\\n    function readResponseResult(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (Witnet.Result memory)\\n    {\\n        Witnet.Response storage _response = _getResponseData(_queryId);\\n        return WitnetParserLib.resultFromCborBytes(_response.cborBytes);\\n    }\\n\\n    /// Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseTimestamp(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (uint256)\\n    {\\n        return _getResponseData(_queryId).timestamp;\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestParser' interface ----------------------------------------------------\\n\\n    /// Decode raw CBOR bytes into a Witnet.Result instance.\\n    /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborBytes(bytes memory _cborBytes)\\n        external pure\\n        override\\n        returns (Witnet.Result memory)\\n    {\\n        return WitnetParserLib.resultFromCborBytes(_cborBytes);\\n    }\\n\\n    /// Decode a CBOR value into a Witnet.Result instance.\\n    /// @param _cborValue An instance of `Witnet.CBOR`.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborValue(Witnet.CBOR memory _cborValue)\\n        external pure\\n        override\\n        returns (Witnet.Result memory)\\n    {\\n        return WitnetParserLib.resultFromCborValue(_cborValue);\\n    }\\n\\n    /// Tell if a Witnet.Result is successful.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if successful, `false` if errored.\\n    function isOk(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (bool)\\n    {\\n        return _result.isOk();\\n    }\\n\\n    /// Tell if a Witnet.Result is errored.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if errored, `false` if successful.\\n    function isError(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (bool)\\n    {\\n        return _result.isError();\\n    }\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes` decoded from the Witnet.Result.\\n    function asBytes(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (bytes memory)\\n    {\\n        return _result.asBytes();\\n    }\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes32` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes32` decoded from the Witnet.Result.\\n    function asBytes32(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (bytes32)\\n    {\\n        return _result.asBytes32();\\n    }\\n\\n    /// Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `CBORValue.Error memory` decoded from the Witnet.Result.\\n    function asErrorCode(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (Witnet.ErrorCodes)\\n    {\\n        return _result.asErrorCode();\\n    }\\n\\n    /// Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\\n    /// @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\\n    function asErrorMessage(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (Witnet.ErrorCodes, string memory)\\n    {\\n        try _result.asErrorMessage() returns (Witnet.ErrorCodes _code, string memory _message) {\\n            return (_code, _message);\\n        } \\n        catch Error(string memory _reason) {\\n            return (Witnet.ErrorCodes.Unknown, _reason);\\n        }\\n        catch (bytes memory) {\\n            return (Witnet.ErrorCodes.UnhandledIntercept, \\\"WitnetRequestBoardTrustableBase: failing assert\\\");\\n        }\\n    }\\n\\n    /// Decode a raw error from a `Witnet.Result` as a `uint64[]`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `uint64[]` raw error as decoded from the `Witnet.Result`.\\n    function asRawError(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns(uint64[] memory)\\n    {\\n        return _result.asRawError();\\n    }\\n\\n    /// Decode a boolean value from a Witnet.Result as an `bool` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bool` decoded from the Witnet.Result.\\n    function asBool(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (bool)\\n    {\\n        return _result.asBool();\\n    }\\n\\n    /// Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\\n    /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\\n    /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\\n    /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asFixed16(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (int32)\\n    {\\n        return _result.asFixed16();\\n    }\\n\\n    /// Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asFixed16Array(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (int32[] memory)\\n    {\\n        return _result.asFixed16Array();\\n    }\\n\\n    /// Decode a integer numeric value from a Witnet.Result as an `int128` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asInt128(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (int128)\\n    {\\n        return _result.asInt128();\\n    }\\n\\n    /// Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asInt128Array(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (int128[] memory)\\n    {\\n        return _result.asInt128Array();\\n    }\\n\\n    /// Decode a string value from a Witnet.Result as a `string` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string` decoded from the Witnet.Result.\\n    function asString(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (string memory)\\n    {\\n        return _result.asString();\\n    }\\n\\n    /// Decode an array of string values from a Witnet.Result as a `string[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string[]` decoded from the Witnet.Result.\\n    function asStringArray(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (string[] memory)\\n    {\\n        return _result.asStringArray();\\n    }\\n\\n    /// Decode a natural numeric value from a Witnet.Result as a `uint64` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64` decoded from the Witnet.Result.\\n    function asUint64(Witnet.Result memory _result)\\n        external pure \\n        override\\n        returns(uint64)\\n    {\\n        return _result.asUint64();\\n    }\\n\\n    /// Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64[]` decoded from the Witnet.Result.\\n    function asUint64Array(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (uint64[] memory)\\n    {\\n        return _result.asUint64Array();\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Internal functions -----------------------------------------------------------------------------------------\\n\\n    function __reportResult(\\n            uint256 _queryId,\\n            uint256 _timestamp,\\n            bytes32 _drTxHash,\\n            bytes memory _cborBytes\\n        )\\n        internal\\n        returns (uint256 _reward)\\n    {\\n        Witnet.Query storage __query = _state().queries[_queryId];\\n        Witnet.Request storage __request = __query.request;\\n        Witnet.Response storage __response = __query.response;\\n\\n        // solhint-disable not-rely-on-time\\n        __response.timestamp = _timestamp;\\n        __response.drTxHash = _drTxHash;\\n        __response.reporter = msg.sender;\\n        __response.cborBytes = _cborBytes;\\n\\n        // return request latest reward\\n        _reward = __request.reward;\\n\\n        // Request data won't be needed anymore, so it can just get deleted right now:  \\n        delete __query.request;\\n    }\\n}\\n\",\"keccak256\":\"0x6b6ccba7e686a69bf0847b9c541e3997f14f3f91246c63fbadd412ba78c4a8d4\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IERC20.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/**\\n * @dev Interface of the ERC20 standard as defined in the EIP.\\n */\\ninterface IERC20 {\\n    /// Returns the amount of tokens in existence.\\n    function totalSupply() external view returns (uint256);\\n\\n    /// Returns the amount of tokens owned by `_account`.\\n    function balanceOf(address _account) external view returns (uint256);\\n\\n    /// Moves `_amount` tokens from the caller's account to `_recipient`.\\n    /// Returns a boolean value indicating whether the operation succeeded.\\n    /// Emits a {Transfer} event.\\n    function transfer(address _recipient, uint256 _amount) external returns (bool);\\n\\n    /// Returns the remaining number of tokens that `_spender` will be\\n    /// allowed to spend on behalf of `_owner` through {transferFrom}. This is\\n    /// zero by default.\\n    /// This value changes when {approve} or {transferFrom} are called.\\n    function allowance(address _owner, address _spender) external view returns (uint256);\\n\\n    /// Sets `_amount` as the allowance of `_spender` over the caller's tokens.\\n    /// Returns a boolean value indicating whether the operation succeeded.\\n    /// \\n    /// IMPORTANT: Beware that changing an allowance with this method brings the risk\\n    /// that someone may use both the old and the new allowance by unfortunate\\n    /// transaction ordering. One possible solution to mitigate this race\\n    /// condition is to first reduce the spender's allowance to 0 and set the\\n    /// desired value afterwards:\\n    /// https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\\n    ///\\n    /// Emits an {Approval} event.     \\n    function approve(address _spender, uint256 _amount) external returns (bool);\\n\\n    /// Moves `amount` tokens from `_sender` to `_recipient` using the\\n    /// allowance mechanism. `amount` is then deducted from the caller's\\n    /// allowance.\\n    /// Returns a boolean value indicating whether the operation succeeded.\\n    /// Emits a {Transfer} event. \\n    function transferFrom(\\n        address _sender,\\n        address _recipient,\\n        uint256 _amount\\n    ) external returns (bool);\\n\\n    /// Emitted when `value` tokens are moved from one account (`from`) to\\n    /// another (`to`).\\n    /// Note that `:value` may be zero.\\n    event Transfer(address indexed from, address indexed to, uint256 value);\\n\\n    /// Emitted when the allowance of a `spender` for an `owner` is set by\\n    /// a call to {approve}. `value` is the new allowance.\\n    event Approval(address indexed owner, address indexed spender, uint256 value);\\n}\\n\",\"keccak256\":\"0xd6b25613fab1f6172ca58e377371a0b708f1af8982961364fecf9da196213f48\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardAdmin.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title Witnet Request Board basic administration interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardAdmin {\\n    event OwnershipTransferred(address indexed from, address indexed to);\\n\\n    /// Gets admin/owner address.\\n    function owner() external view returns (address);\\n\\n    /// Transfers ownership.\\n    function transferOwnership(address) external;\\n}\\n\",\"keccak256\":\"0xa88e828c55cb4e2c1ef02c9204e367d3034fc2e35cc881581d898942b9715d50\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardAdminACLs.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title Witnet Request Board ACLs administration interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardAdminACLs {\\n    event ReportersSet(address[] reporters);\\n    event ReportersUnset(address[] reporters);\\n\\n    /// Tells whether given address is included in the active reporters control list.\\n    function isReporter(address) external view returns (bool);\\n\\n    /// Adds given addresses to the active reporters control list.\\n    /// @dev Can only be called from the owner address.\\n    /// @dev Emits the `ReportersSet` event. \\n    function setReporters(address[] calldata reporters) external;\\n\\n    /// Removes given addresses from the active reporters control list.\\n    /// @dev Can only be called from the owner address.\\n    /// @dev Emits the `ReportersUnset` event. \\n    function unsetReporters(address[] calldata reporters) external;\\n}\\n\",\"keccak256\":\"0xafcd6f01a977d597032b341fec291ea7e26b1dac3eb13eced8b37d89eb76e4ff\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardEvents.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title Witnet Request Board emitting events interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardEvents {\\n    /// Emitted when a Witnet Data Request is posted to the WRB.\\n    event PostedRequest(uint256 queryId, address from);\\n\\n    /// Emitted when a Witnet-solved result is reported to the WRB.\\n    event PostedResult(uint256 queryId, address from);\\n\\n    /// Emitted when all data related to given query is deleted from the WRB.\\n    event DeletedQuery(uint256 queryId, address from);\\n}\\n\",\"keccak256\":\"0xe2cb1369ba158db394c0380231f99174a88d62a66b0e7f8be14179b8c2fbd12f\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardReporter.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Request Board Reporter interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardReporter {\\n    /// Reports the Witnet-provided result to a previously posted request. \\n    /// @dev Will assume `block.timestamp` as the timestamp at which the request was solved.\\n    /// @dev Fails if:\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique identifier of the data request.\\n    /// @param _drTxHash The hash of the corresponding data request transaction in Witnet.\\n    /// @param _result The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            bytes32 _drTxHash,\\n            bytes calldata _result\\n        ) external;\\n\\n    /// Reports the Witnet-provided result to a previously posted request.\\n    /// @dev Fails if:\\n    /// @dev - called from unauthorized address;\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique query identifier\\n    /// @param _timestamp The timestamp of the solving tally transaction in Witnet.\\n    /// @param _drTxHash The hash of the corresponding data request transaction in Witnet.\\n    /// @param _result The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            uint256 _timestamp,\\n            bytes32 _drTxHash,\\n            bytes calldata _result\\n        ) external;\\n\\n    /// Reports Witnet-provided results to multiple requests within a single EVM tx.\\n    /// @dev Must emit a PostedResult event for every succesfully reported result.\\n    /// @param _batchResults Array of BatchResult structs, every one containing:\\n    ///         - unique query identifier;\\n    ///         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;\\n    ///         - hash of the corresponding data request tx at the Witnet side-chain level;\\n    ///         - data request result in raw bytes.\\n    /// @param _verbose If true, must emit a BatchReportError event for every failing report, if any. \\n    function reportResultBatch(BatchResult[] calldata _batchResults, bool _verbose) external;\\n        \\n        struct BatchResult {\\n            uint256 queryId;\\n            uint256 timestamp;\\n            bytes32 drTxHash;\\n            bytes   cborBytes;\\n        }\\n\\n        event BatchReportError(uint256 queryId, string reason);\\n}\\n\",\"keccak256\":\"0x70655a9a394143ac1f03477a2cca5e2d1773523832bf127b9e9971596c105812\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardRequestor.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Requestor Interface\\n/// @notice It defines how to interact with the Witnet Request Board in order to:\\n///   - request the execution of Witnet Radon scripts (data request);\\n///   - upgrade the resolution reward of any previously posted request, in case gas price raises in mainnet;\\n///   - read the result of any previously posted request, eventually reported by the Witnet DON.\\n///   - remove from storage all data related to past and solved data requests, and results.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardRequestor {\\n    /// Retrieves a copy of all Witnet-provided data related to a previously posted request, removing the whole query from the WRB storage.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status, or called from an address different to\\n    /// @dev the one that actually posted the given request.\\n    /// @param _queryId The unique query identifier.\\n    function deleteQuery(uint256 _queryId) external returns (Witnet.Response memory);\\n\\n    /// Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON.\\n    /// A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided \\n    /// result to this request.\\n    /// @dev Fails if:\\n    /// @dev - provided reward is too low.\\n    /// @dev - provided script is zero address.\\n    /// @dev - provided script bytecode is empty.\\n    /// @param _addr The address of the IWitnetRequest contract that can provide the actual Data Request bytecode.\\n    /// @return _queryId An unique query identifier.\\n    function postRequest(IWitnetRequest _addr) external payable returns (uint256 _queryId);\\n\\n    /// Increments the reward of a previously posted request by adding the transaction value to it.\\n    /// @dev Updates request `gasPrice` in case this method is called with a higher \\n    /// @dev gas price value than the one used in previous calls to `postRequest` or\\n    /// @dev `upgradeReward`. \\n    /// @dev Fails if the `_queryId` is not in 'Posted' status.\\n    /// @dev Fails also in case the request `gasPrice` is increased, and the new \\n    /// @dev reward value gets below new recalculated threshold. \\n    /// @param _queryId The unique query identifier.\\n    function upgradeReward(uint256 _queryId) external payable;\\n}\\n\",\"keccak256\":\"0x7c7a991de5f087102b1931d5d8b2e3716d7a90354b3cbafef95d2509a0643453\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardView.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Request Board info interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardView {\\n    /// Estimates the amount of reward we need to insert for a given gas price.\\n    /// @param _gasPrice The gas price for which we need to calculate the rewards.\\n    function estimateReward(uint256 _gasPrice) external view returns (uint256);\\n\\n    /// Returns next query id to be generated by the Witnet Request Board.\\n    function getNextQueryId() external view returns (uint256);\\n\\n    /// Gets the whole Query data contents, if any, no matter its current status.\\n    function getQueryData(uint256 _queryId) external view returns (Witnet.Query memory);\\n\\n    /// Gets current status of given query.\\n    function getQueryStatus(uint256 _queryId) external view returns (Witnet.QueryStatus);\\n\\n    /// Retrieves the whole Request record posted to the Witnet Request Board.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been reported\\n    /// @dev or deleted.\\n    /// @param _queryId The unique identifier of a previously posted query.\\n    function readRequest(uint256 _queryId) external view returns (Witnet.Request memory);\\n\\n    /// Retrieves the serialized bytecode of a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not valid, or if the related script bytecode \\n    /// @dev got changed after being posted. Returns empty array once it gets reported, \\n    /// @dev or deleted.\\n    /// @param _queryId The unique query identifier.\\n    function readRequestBytecode(uint256 _queryId) external view returns (bytes memory);\\n\\n    /// Retrieves the gas price that any assigned reporter will have to pay when reporting \\n    /// result to a previously posted Witnet data request.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifie\\n    function readRequestGasPrice(uint256 _queryId) external view returns (uint256);\\n\\n    /// Retrieves the reward currently set for the referred query.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifier.\\n    function readRequestReward(uint256 _queryId) external view returns (uint256);\\n\\n    /// Retrieves the whole `Witnet.Response` record referred to a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponse(uint256 _queryId) external view returns (Witnet.Response memory);\\n\\n    /// Retrieves the hash of the Witnet transaction hash that actually solved the referred query.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseDrTxHash(uint256 _queryId) external view returns (bytes32);    \\n\\n    /// Retrieves the address that reported the result to a previously-posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseReporter(uint256 _queryId) external view returns (address);\\n\\n    /// Retrieves the Witnet-provided CBOR-bytes result of a previously posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseResult(uint256 _queryId) external view returns (Witnet.Result memory);\\n\\n    /// Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseTimestamp(uint256 _queryId) external view returns (uint256);\\n}\\n\",\"keccak256\":\"0x782ec2ff166948f5d097765c0190b352793d8b8887af5f8384d875d63cff4e9b\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestParser.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title The Witnet interface for decoding Witnet-provided request to Data Requests.\\n/// This interface exposes functions to check for the success/failure of\\n/// a Witnet-provided result, as well as to parse and convert result into\\n/// Solidity types suitable to the application level. \\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestParser {\\n\\n    /// Decode raw CBOR bytes into a Witnet.Result instance.\\n    /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborBytes(bytes memory _cborBytes) external pure returns (Witnet.Result memory);\\n\\n    /// Decode a CBOR value into a Witnet.Result instance.\\n    /// @param _cborValue An instance of `Witnet.CBOR`.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborValue(Witnet.CBOR memory _cborValue) external pure returns (Witnet.Result memory);\\n\\n    /// Tell if a Witnet.Result is successful.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if successful, `false` if errored.\\n    function isOk(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Tell if a Witnet.Result is errored.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if errored, `false` if successful.\\n    function isError(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes` decoded from the Witnet.Result.\\n    function asBytes(Witnet.Result memory _result) external pure returns (bytes memory);\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes32` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes32` decoded from the Witnet.Result.\\n    function asBytes32(Witnet.Result memory _result) external pure returns (bytes32);\\n\\n    /// Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `CBORValue.Error memory` decoded from the Witnet.Result.\\n    function asErrorCode(Witnet.Result memory _result) external pure returns (Witnet.ErrorCodes);\\n\\n\\n    /// Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\\n    /// @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\\n    function asErrorMessage(Witnet.Result memory _result) external pure returns (Witnet.ErrorCodes, string memory);\\n\\n    /// Decode a raw error from a `Witnet.Result` as a `uint64[]`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `uint64[]` raw error as decoded from the `Witnet.Result`.\\n    function asRawError(Witnet.Result memory _result) external pure returns(uint64[] memory);\\n\\n    /// Decode a boolean value from a Witnet.Result as an `bool` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bool` decoded from the Witnet.Result.\\n    function asBool(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\\n    /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\\n    /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\\n    /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asFixed16(Witnet.Result memory _result) external pure returns (int32);\\n\\n    /// Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asFixed16Array(Witnet.Result memory _result) external pure returns (int32[] memory);\\n\\n    /// Decode a integer numeric value from a Witnet.Result as an `int128` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asInt128(Witnet.Result memory _result) external pure returns (int128);\\n\\n    /// Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asInt128Array(Witnet.Result memory _result) external pure returns (int128[] memory);\\n\\n    /// Decode a string value from a Witnet.Result as a `string` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string` decoded from the Witnet.Result.\\n    function asString(Witnet.Result memory _result) external pure returns (string memory);\\n\\n    /// Decode an array of string values from a Witnet.Result as a `string[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string[]` decoded from the Witnet.Result.\\n    function asStringArray(Witnet.Result memory _result) external pure returns (string[] memory);\\n\\n    /// Decode a natural numeric value from a Witnet.Result as a `uint64` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64` decoded from the Witnet.Result.\\n    function asUint64(Witnet.Result memory _result) external pure returns(uint64);\\n\\n    /// Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64[]` decoded from the Witnet.Result.\\n    function asUint64Array(Witnet.Result memory _result) external pure returns (uint64[] memory);\\n\\n}\\n\",\"keccak256\":\"0xe7c24475babac7d21172d37d976a97b81053739e81b4697be39decfe2aa90945\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/WitnetBuffer.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"./Witnet.sol\\\";\\n\\n/// @title A convenient wrapper around the `bytes memory` type that exposes a buffer-like interface\\n/// @notice The buffer has an inner cursor that tracks the final offset of every read, i.e. any subsequent read will\\n/// start with the byte that goes right after the last one in the previous read.\\n/// @dev `uint32` is used here for `cursor` because `uint16` would only enable seeking up to 8KB, which could in some\\n/// theoretical use cases be exceeded. Conversely, `uint32` supports up to 512MB, which cannot credibly be exceeded.\\n/// @author The Witnet Foundation.\\nlibrary WitnetBuffer {\\n\\n  // Ensures we access an existing index in an array\\n  modifier notOutOfBounds(uint32 index, uint256 length) {\\n    require(index < length, \\\"WitnetBuffer: Tried to read from a consumed Buffer (must rewind it first)\\\");\\n    _;\\n  }\\n\\n  /// @notice Read and consume a certain amount of bytes from the buffer.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @param _length How many bytes to read and consume from the buffer.\\n  /// @return A `bytes memory` containing the first `_length` bytes from the buffer, counting from the cursor position.\\n  function read(Witnet.Buffer memory _buffer, uint32 _length) internal pure returns (bytes memory) {\\n    // Make sure not to read out of the bounds of the original bytes\\n    require(_buffer.cursor + _length <= _buffer.data.length, \\\"WitnetBuffer: Not enough bytes in buffer when reading\\\");\\n\\n    // Create a new `bytes memory destination` value\\n    bytes memory destination = new bytes(_length);\\n\\n    // Early return in case that bytes length is 0\\n    if (_length != 0) {\\n      bytes memory source = _buffer.data;\\n      uint32 offset = _buffer.cursor;\\n\\n      // Get raw pointers for source and destination\\n      uint sourcePointer;\\n      uint destinationPointer;\\n      assembly {\\n        sourcePointer := add(add(source, 32), offset)\\n        destinationPointer := add(destination, 32)\\n      }\\n      // Copy `_length` bytes from source to destination\\n      memcpy(destinationPointer, sourcePointer, uint(_length));\\n\\n      // Move the cursor forward by `_length` bytes\\n      seek(_buffer, _length, true);\\n    }\\n    return destination;\\n  }\\n\\n  /// @notice Read and consume the next byte from the buffer.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The next byte in the buffer counting from the cursor position.\\n  function next(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor, _buffer.data.length) returns (bytes1) {\\n    // Return the byte at the position marked by the cursor and advance the cursor all at once\\n    return _buffer.data[_buffer.cursor++];\\n  }\\n\\n  /// @notice Move the inner cursor of the buffer to a relative or absolute position.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @param _offset How many bytes to move the cursor forward.\\n  /// @param _relative Whether to count `_offset` from the last position of the cursor (`true`) or the beginning of the\\n  /// buffer (`true`).\\n  /// @return The final position of the cursor (will equal `_offset` if `_relative` is `false`).\\n  // solium-disable-next-line security/no-assign-params\\n  function seek(Witnet.Buffer memory _buffer, uint32 _offset, bool _relative) internal pure returns (uint32) {\\n    // Deal with relative offsets\\n    if (_relative) {\\n      require(_offset + _buffer.cursor > _offset, \\\"WitnetBuffer: Integer overflow when seeking\\\");\\n      _offset += _buffer.cursor;\\n    }\\n    // Make sure not to read out of the bounds of the original bytes\\n    require(_offset <= _buffer.data.length, \\\"WitnetBuffer: Not enough bytes in buffer when seeking\\\");\\n    _buffer.cursor = _offset;\\n    return _buffer.cursor;\\n  }\\n\\n  /// @notice Move the inner cursor a number of bytes forward.\\n  /// @dev This is a simple wrapper around the relative offset case of `seek()`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @param _relativeOffset How many bytes to move the cursor forward.\\n  /// @return The final position of the cursor.\\n  function seek(Witnet.Buffer memory _buffer, uint32 _relativeOffset) internal pure returns (uint32) {\\n    return seek(_buffer, _relativeOffset, true);\\n  }\\n\\n  /// @notice Move the inner cursor back to the first byte in the buffer.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  function rewind(Witnet.Buffer memory _buffer) internal pure {\\n    _buffer.cursor = 0;\\n  }\\n\\n  /// @notice Read and consume the next byte from the buffer as an `uint8`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint8` value of the next byte in the buffer counting from the cursor position.\\n  function readUint8(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor, _buffer.data.length) returns (uint8) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint8 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 1), offset))\\n    }\\n    _buffer.cursor++;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 2 bytes from the buffer as an `uint16`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint16` value of the next 2 bytes in the buffer counting from the cursor position.\\n  function readUint16(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 1, _buffer.data.length) returns (uint16) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint16 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 2), offset))\\n    }\\n    _buffer.cursor += 2;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 4 bytes from the buffer as an `uint32`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint32` value of the next 4 bytes in the buffer counting from the cursor position.\\n  function readUint32(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 3, _buffer.data.length) returns (uint32) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint32 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 4), offset))\\n    }\\n    _buffer.cursor += 4;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 8 bytes from the buffer as an `uint64`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint64` value of the next 8 bytes in the buffer counting from the cursor position.\\n  function readUint64(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 7, _buffer.data.length) returns (uint64) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint64 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 8), offset))\\n    }\\n    _buffer.cursor += 8;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 16 bytes from the buffer as an `uint128`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint128` value of the next 16 bytes in the buffer counting from the cursor position.\\n  function readUint128(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 15, _buffer.data.length) returns (uint128) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint128 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 16), offset))\\n    }\\n    _buffer.cursor += 16;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 32 bytes from the buffer as an `uint256`.\\n  /// @return The `uint256` value of the next 32 bytes in the buffer counting from the cursor position.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  function readUint256(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 31, _buffer.data.length) returns (uint256) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint256 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 32), offset))\\n    }\\n    _buffer.cursor += 32;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 2 bytes from the buffer as an IEEE 754-2008 floating point number enclosed in an\\n  /// `int32`.\\n  /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values\\n  /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `float16`\\n  /// use cases. In other words, the integer output of this method is 10,000 times the actual value. The input bytes are\\n  /// expected to follow the 16-bit base-2 format (a.k.a. `binary16`) in the IEEE 754-2008 standard.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint32` value of the next 4 bytes in the buffer counting from the cursor position.\\n  function readFloat16(Witnet.Buffer memory _buffer) internal pure returns (int32) {\\n    uint32 bytesValue = readUint16(_buffer);\\n    // Get bit at position 0\\n    uint32 sign = bytesValue & 0x8000;\\n    // Get bits 1 to 5, then normalize to the [-14, 15] range so as to counterweight the IEEE 754 exponent bias\\n    int32 exponent = (int32(bytesValue & 0x7c00) >> 10) - 15;\\n    // Get bits 6 to 15\\n    int32 significand = int32(bytesValue & 0x03ff);\\n\\n    // Add 1024 to the fraction if the exponent is 0\\n    if (exponent == 15) {\\n      significand |= 0x400;\\n    }\\n\\n    // Compute `2 ^ exponent \\u00b7 (1 + fraction / 1024)`\\n    int32 result = 0;\\n    if (exponent >= 0) {\\n      result = int32((int256(1 << uint256(int256(exponent))) * 10000 * int256(uint256(int256(significand)) | 0x400)) >> 10);\\n    } else {\\n      result = int32(((int256(uint256(int256(significand)) | 0x400) * 10000) / int256(1 << uint256(int256(- exponent)))) >> 10);\\n    }\\n\\n    // Make the result negative if the sign bit is not 0\\n    if (sign != 0) {\\n      result *= - 1;\\n    }\\n    return result;\\n  }\\n\\n  /// @notice Copy bytes from one memory address into another.\\n  /// @dev This function was borrowed from Nick Johnson's `solidity-stringutils` lib, and reproduced here under the terms\\n  /// of [Apache License 2.0](https://github.com/Arachnid/solidity-stringutils/blob/master/LICENSE).\\n  /// @param _dest Address of the destination memory.\\n  /// @param _src Address to the source memory.\\n  /// @param _len How many bytes to copy.\\n  // solium-disable-next-line security/no-assign-params\\n  function memcpy(uint _dest, uint _src, uint _len) private pure {\\n    require(_len > 0, \\\"WitnetBuffer: Cannot copy 0 bytes\\\");\\n\\n    // Copy word-length chunks while possible\\n    for (; _len >= 32; _len -= 32) {\\n      assembly {\\n        mstore(_dest, mload(_src))\\n      }\\n      _dest += 32;\\n      _src += 32;\\n    }\\n    if (_len > 0) {\\n      // Copy remaining bytes\\n      uint mask = 256 ** (32 - _len) - 1;\\n      assembly {\\n        let srcpart := and(mload(_src), not(mask))\\n        let destpart := and(mload(_dest), mask)\\n        mstore(_dest, or(destpart, srcpart))\\n      }\\n    }\\n  }\\n\\n}\\n\",\"keccak256\":\"0x7ef46325fb4d37649e8ef4c2250240ea63c32720d44d7e4da5a7b412fb348524\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/WitnetDecoderLib.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./WitnetBuffer.sol\\\";\\n\\n/// @title A minimalistic implementation of \\u201cRFC 7049 Concise Binary Object Representation\\u201d\\n/// @notice This library leverages a buffer-like structure for step-by-step decoding of bytes so as to minimize\\n/// the gas cost of decoding them into a useful native type.\\n/// @dev Most of the logic has been borrowed from Patrick Gansterer\\u2019s cbor.js library: https://github.com/paroga/cbor-js\\n/// @author The Witnet Foundation.\\n/// \\n/// TODO: add support for Array (majorType = 4)\\n/// TODO: add support for Map (majorType = 5)\\n/// TODO: add support for Float32 (majorType = 7, additionalInformation = 26)\\n/// TODO: add support for Float64 (majorType = 7, additionalInformation = 27) \\n\\nlibrary WitnetDecoderLib {\\n\\n  using WitnetBuffer for Witnet.Buffer;\\n\\n  uint32 constant internal _UINT32_MAX = type(uint32).max;\\n  uint64 constant internal _UINT64_MAX = type(uint64).max;\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `bool` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as a `bool` value.\\n  function decodeBool(Witnet.CBOR memory _cborValue) public pure returns(bool) {\\n    _cborValue.len = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(_cborValue.majorType == 7, \\\"WitnetDecoderLib: Tried to read a `bool` value from a `Witnet.CBOR` with majorType != 7\\\");\\n    if (_cborValue.len == 20) {\\n      return false;\\n    } else if (_cborValue.len == 21) {\\n      return true;\\n    } else {\\n      revert(\\\"WitnetDecoderLib: Tried to read `bool` from a `Witnet.CBOR` with len different than 20 or 21\\\");\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `bytes` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as a `bytes` value.   \\n  function decodeBytes(Witnet.CBOR memory _cborValue) public pure returns(bytes memory) {\\n    _cborValue.len = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    if (_cborValue.len == _UINT32_MAX) {\\n      bytes memory bytesData;\\n\\n      // These checks look repetitive but the equivalent loop would be more expensive.\\n      uint32 itemLength = uint32(readIndefiniteStringLength(_cborValue.buffer, _cborValue.majorType));\\n      if (itemLength < _UINT32_MAX) {\\n        bytesData = abi.encodePacked(bytesData, _cborValue.buffer.read(itemLength));\\n        itemLength = uint32(readIndefiniteStringLength(_cborValue.buffer, _cborValue.majorType));\\n        if (itemLength < _UINT32_MAX) {\\n          bytesData = abi.encodePacked(bytesData, _cborValue.buffer.read(itemLength));\\n        }\\n      }\\n      return bytesData;\\n    } else {\\n      return _cborValue.buffer.read(uint32(_cborValue.len));\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `bytes32` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return _bytes32 The value represented by the input, as a `bytes32` value.\\n  function decodeBytes32(Witnet.CBOR memory _cborValue) public pure returns(bytes32 _bytes32) {\\n    bytes memory _bb = decodeBytes(_cborValue);\\n    uint _len = _bb.length > 32 ? 32 : _bb.length;\\n    for (uint _i = 0; _i < _len; _i ++) {\\n        _bytes32 |= bytes32(_bb[_i] & 0xff) >> (_i * 8);\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a `fixed16` value.\\n  /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values\\n  /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`\\n  /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128` value.\\n  function decodeFixed16(Witnet.CBOR memory _cborValue) public pure returns(int32) {\\n    require(_cborValue.majorType == 7, \\\"WitnetDecoderLib: Tried to read a `fixed` value from a `WT.CBOR` with majorType != 7\\\");\\n    require(_cborValue.additionalInformation == 25, \\\"WitnetDecoderLib: Tried to read `fixed16` from a `WT.CBOR` with additionalInformation != 25\\\");\\n    return _cborValue.buffer.readFloat16();\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `int128[]` value whose inner values follow the same convention.\\n  /// as explained in `decodeFixed16`.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128[]` value.\\n  function decodeFixed16Array(Witnet.CBOR memory _cborValue) external pure returns(int32[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `int128[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    int32[] memory array = new int32[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeFixed16(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `int128` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128` value.\\n  function decodeInt128(Witnet.CBOR memory _cborValue) public pure returns(int128) {\\n    if (_cborValue.majorType == 1) {\\n      uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n      return int128(-1) - int128(uint128(length));\\n    } else if (_cborValue.majorType == 0) {\\n      // Any `uint64` can be safely casted to `int128`, so this method supports majorType 1 as well so as to have offer\\n      // a uniform API for positive and negative numbers\\n      return int128(uint128(decodeUint64(_cborValue)));\\n    }\\n    revert(\\\"WitnetDecoderLib: Tried to read `int128` from a `Witnet.CBOR` with majorType not 0 or 1\\\");\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `int128[]` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128[]` value.\\n  function decodeInt128Array(Witnet.CBOR memory _cborValue) external pure returns(int128[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `int128[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    int128[] memory array = new int128[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeInt128(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `string` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as a `string` value.\\n  function decodeString(Witnet.CBOR memory _cborValue) public pure returns(string memory) {\\n    _cborValue.len = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    if (_cborValue.len == _UINT64_MAX) {\\n      bytes memory textData;\\n      bool done;\\n      while (!done) {\\n        uint64 itemLength = readIndefiniteStringLength(_cborValue.buffer, _cborValue.majorType);\\n        if (itemLength < _UINT64_MAX) {\\n          textData = abi.encodePacked(textData, readText(_cborValue.buffer, itemLength / 4));\\n        } else {\\n          done = true;\\n        }\\n      }\\n      return string(textData);\\n    } else {\\n      return string(readText(_cborValue.buffer, _cborValue.len));\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `string[]` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `string[]` value.\\n  function decodeStringArray(Witnet.CBOR memory _cborValue) external pure returns(string[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `string[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    string[] memory array = new string[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeString(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `uint64` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `uint64` value.\\n  function decodeUint64(Witnet.CBOR memory _cborValue) public pure returns(uint64) {\\n    require(_cborValue.majorType == 0, \\\"WitnetDecoderLib: Tried to read `uint64` from a `Witnet.CBOR` with majorType != 0\\\");\\n    return readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `uint64[]` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `uint64[]` value.\\n  function decodeUint64Array(Witnet.CBOR memory _cborValue) external pure returns(uint64[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `uint64[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    uint64[] memory array = new uint64[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeUint64(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a Witnet.CBOR structure from raw bytes.\\n  /// @dev This is the main factory for Witnet.CBOR instances, which can be later decoded into native EVM types.\\n  /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n  /// @return A `Witnet.CBOR` instance containing a partially decoded value.\\n  function valueFromBytes(bytes memory _cborBytes) external pure returns(Witnet.CBOR memory) {\\n    Witnet.Buffer memory buffer = Witnet.Buffer(_cborBytes, 0);\\n\\n    return valueFromBuffer(buffer);\\n  }\\n\\n  /// @notice Decode a Witnet.CBOR structure from raw bytes.\\n  /// @dev This is an alternate factory for Witnet.CBOR instances, which can be later decoded into native EVM types.\\n  /// @param _buffer A Buffer structure representing a CBOR-encoded value.\\n  /// @return A `Witnet.CBOR` instance containing a partially decoded value.\\n  function valueFromBuffer(Witnet.Buffer memory _buffer) public pure returns(Witnet.CBOR memory) {\\n    require(_buffer.data.length > 0, \\\"WitnetDecoderLib: Found empty buffer when parsing CBOR value\\\");\\n\\n    uint8 initialByte;\\n    uint8 majorType = 255;\\n    uint8 additionalInformation;\\n    uint64 tag = _UINT64_MAX;\\n\\n    bool isTagged = true;\\n    while (isTagged) {\\n      // Extract basic CBOR properties from input bytes\\n      initialByte = _buffer.readUint8();\\n      majorType = initialByte >> 5;\\n      additionalInformation = initialByte & 0x1f;\\n\\n      // Early CBOR tag parsing.\\n      if (majorType == 6) {\\n        tag = readLength(_buffer, additionalInformation);\\n      } else {\\n        isTagged = false;\\n      }\\n    }\\n\\n    require(majorType <= 7, \\\"WitnetDecoderLib: Invalid CBOR major type\\\");\\n\\n    return Witnet.CBOR(\\n      _buffer,\\n      initialByte,\\n      majorType,\\n      additionalInformation,\\n      0,\\n      tag);\\n  }\\n\\n  /// Reads the length of the next CBOR item from a buffer, consuming a different number of bytes depending on the\\n  /// value of the `additionalInformation` argument.\\n  function readLength(Witnet.Buffer memory _buffer, uint8 additionalInformation) private pure returns(uint64) {\\n    if (additionalInformation < 24) {\\n      return additionalInformation;\\n    }\\n    if (additionalInformation == 24) {\\n      return _buffer.readUint8();\\n    }\\n    if (additionalInformation == 25) {\\n      return _buffer.readUint16();\\n    }\\n    if (additionalInformation == 26) {\\n      return _buffer.readUint32();\\n    }\\n    if (additionalInformation == 27) {\\n      return _buffer.readUint64();\\n    }\\n    if (additionalInformation == 31) {\\n      return _UINT64_MAX;\\n    }\\n    revert(\\\"WitnetDecoderLib: Invalid length encoding (non-existent additionalInformation value)\\\");\\n  }\\n\\n  /// Read the length of a CBOR indifinite-length item (arrays, maps, byte strings and text) from a buffer, consuming\\n  /// as many bytes as specified by the first byte.\\n  function readIndefiniteStringLength(Witnet.Buffer memory _buffer, uint8 majorType) private pure returns(uint64) {\\n    uint8 initialByte = _buffer.readUint8();\\n    if (initialByte == 0xff) {\\n      return _UINT64_MAX;\\n    }\\n    uint64 length = readLength(_buffer, initialByte & 0x1f);\\n    require(length < _UINT64_MAX && (initialByte >> 5) == majorType, \\\"WitnetDecoderLib: Invalid indefinite length\\\");\\n    return length;\\n  }\\n\\n  /// Read a text string of a given length from a buffer. Returns a `bytes memory` value for the sake of genericness,\\n  /// but it can be easily casted into a string with `string(result)`.\\n  // solium-disable-next-line security/no-assign-params\\n  function readText(Witnet.Buffer memory _buffer, uint64 _length) private pure returns(bytes memory) {\\n    bytes memory result;\\n    for (uint64 index = 0; index < _length; index++) {\\n      uint8 value = _buffer.readUint8();\\n      if (value & 0x80 != 0) {\\n        if (value < 0xe0) {\\n          value = (value & 0x1f) << 6 |\\n            (_buffer.readUint8() & 0x3f);\\n          _length -= 1;\\n        } else if (value < 0xf0) {\\n          value = (value & 0x0f) << 12 |\\n            (_buffer.readUint8() & 0x3f) << 6 |\\n            (_buffer.readUint8() & 0x3f);\\n          _length -= 2;\\n        } else {\\n          value = (value & 0x0f) << 18 |\\n            (_buffer.readUint8() & 0x3f) << 12 |\\n            (_buffer.readUint8() & 0x3f) << 6  |\\n            (_buffer.readUint8() & 0x3f);\\n          _length -= 3;\\n        }\\n      }\\n      result = abi.encodePacked(result, value);\\n    }\\n    return result;\\n  }\\n}\\n\",\"keccak256\":\"0xb8f5b618ebae15a7f5d21870ac8ba7034afe5dce876b53a1a81572378a817c32\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/WitnetParserLib.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./WitnetDecoderLib.sol\\\";\\n\\n/// @title A library for decoding Witnet request results\\n/// @notice The library exposes functions to check the Witnet request success.\\n/// and retrieve Witnet results from CBOR values into solidity types.\\n/// @author The Witnet Foundation.\\nlibrary WitnetParserLib {\\n\\n    using WitnetDecoderLib for bytes;\\n    using WitnetDecoderLib for Witnet.CBOR;\\n\\n    /// @notice Decode raw CBOR bytes into a Witnet.Result instance.\\n    /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborBytes(bytes calldata _cborBytes)\\n        external pure\\n        returns (Witnet.Result memory)\\n    {\\n        Witnet.CBOR memory cborValue = _cborBytes.valueFromBytes();\\n        return resultFromCborValue(cborValue);\\n    }\\n\\n    /// @notice Decode a CBOR value into a Witnet.Result instance.\\n    /// @param _cborValue An instance of `Witnet.Value`.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborValue(Witnet.CBOR memory _cborValue)\\n        public pure\\n        returns (Witnet.Result memory)    \\n    {\\n        // Witnet uses CBOR tag 39 to represent RADON error code identifiers.\\n        // [CBOR tag 39] Identifiers for CBOR: https://github.com/lucas-clemente/cbor-specs/blob/master/id.md\\n        bool success = _cborValue.tag != 39;\\n        return Witnet.Result(success, _cborValue);\\n    }\\n\\n    /// @notice Tell if a Witnet.Result is successful.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if successful, `false` if errored.\\n    function isOk(Witnet.Result memory _result)\\n        external pure\\n        returns (bool)\\n    {\\n        return _result.success;\\n    }\\n\\n    /// @notice Tell if a Witnet.Result is errored.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if errored, `false` if successful.\\n    function isError(Witnet.Result memory _result)\\n      external pure\\n      returns (bool)\\n    {\\n        return !_result.success;\\n    }\\n\\n    /// @notice Decode a bytes value from a Witnet.Result as a `bytes` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes` decoded from the Witnet.Result.\\n    function asBytes(Witnet.Result memory _result)\\n        external pure\\n        returns(bytes memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read bytes value from errored Witnet.Result\\\");\\n        return _result.value.decodeBytes();\\n    }\\n\\n    /// @notice Decode a bytes value from a Witnet.Result as a `bytes32` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes32` decoded from the Witnet.Result.\\n    function asBytes32(Witnet.Result memory _result)\\n        external pure\\n        returns(bytes32)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: tried to read bytes32 value from errored Witnet.Result\\\");\\n        return _result.value.decodeBytes32();\\n    }\\n\\n    /// @notice Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `CBORValue.Error memory` decoded from the Witnet.Result.\\n    function asErrorCode(Witnet.Result memory _result)\\n        external pure\\n        returns (Witnet.ErrorCodes)\\n    {\\n        uint64[] memory error = asRawError(_result);\\n        if (error.length == 0) {\\n            return Witnet.ErrorCodes.Unknown;\\n        }\\n        return _supportedErrorOrElseUnknown(error[0]);\\n    }\\n\\n    /// @notice Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\\n    /// @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\\n    function asErrorMessage(Witnet.Result memory _result)\\n      public pure\\n      returns (Witnet.ErrorCodes, string memory)\\n    {\\n        uint64[] memory error = asRawError(_result);\\n        if (error.length == 0) {\\n            return (Witnet.ErrorCodes.Unknown, \\\"Unknown error (no error code)\\\");\\n        }\\n        Witnet.ErrorCodes errorCode = _supportedErrorOrElseUnknown(error[0]);\\n        bytes memory errorMessage;\\n\\n        if (errorCode == Witnet.ErrorCodes.SourceScriptNotCBOR && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Source script #\\\",\\n                _utoa(error[1]),\\n                \\\" was not a valid CBOR value\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.SourceScriptNotArray && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"The CBOR value in script #\\\",\\n                _utoa(error[1]),\\n                \\\" was not an Array of calls\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.SourceScriptNotRADON && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"The CBOR value in script #\\\",\\n                _utoa(error[1]),\\n                \\\" was not a valid Data Request\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.RequestTooManySources && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"The request contained too many sources (\\\", \\n                _utoa(error[1]), \\n                \\\")\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.ScriptTooManyCalls && error.length >= 4) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Script #\\\",\\n                _utoa(error[2]),\\n                \\\" from the \\\",\\n                stageName(error[1]),\\n                \\\" stage contained too many calls (\\\",\\n                _utoa(error[3]),\\n                \\\")\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.UnsupportedOperator && error.length >= 5) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Operator code 0x\\\",\\n                _utohex(error[4]),\\n                \\\" found at call #\\\",\\n                _utoa(error[3]),\\n                \\\" in script #\\\",\\n                _utoa(error[2]),\\n                \\\" from \\\",\\n                stageName(error[1]),\\n                \\\" stage is not supported\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.HTTP && error.length >= 3) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Source #\\\",\\n                _utoa(error[1]),\\n                \\\" could not be retrieved. Failed with HTTP error code: \\\",\\n                _utoa(error[2] / 100),\\n                _utoa(error[2] % 100 / 10),\\n                _utoa(error[2] % 10)\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.RetrievalTimeout && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Source #\\\",\\n                _utoa(error[1]),\\n                \\\" could not be retrieved because of a timeout\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.Underflow && error.length >= 5) {\\n              errorMessage = abi.encodePacked(\\n                \\\"Underflow at operator code 0x\\\",\\n                _utohex(error[4]),\\n                \\\" found at call #\\\",\\n                _utoa(error[3]),\\n                \\\" in script #\\\",\\n                _utoa(error[2]),\\n                \\\" from \\\",\\n                stageName(error[1]),\\n                \\\" stage\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.Overflow && error.length >= 5) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Overflow at operator code 0x\\\",\\n                _utohex(error[4]),\\n                \\\" found at call #\\\",\\n                _utoa(error[3]),\\n                \\\" in script #\\\",\\n                _utoa(error[2]),\\n                \\\" from \\\",\\n                stageName(error[1]),\\n                \\\" stage\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.DivisionByZero && error.length >= 5) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Division by zero at operator code 0x\\\",\\n                _utohex(error[4]),\\n                \\\" found at call #\\\",\\n                _utoa(error[3]),\\n                \\\" in script #\\\",\\n                _utoa(error[2]),\\n                \\\" from \\\",\\n                stageName(error[1]),\\n                \\\" stage\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.BridgeMalformedRequest) {\\n            errorMessage = \\\"The structure of the request is invalid and it cannot be parsed\\\";\\n        } else if (errorCode == Witnet.ErrorCodes.BridgePoorIncentives) {\\n            errorMessage = \\\"The request has been rejected by the bridge node due to poor incentives\\\";\\n        } else if (errorCode == Witnet.ErrorCodes.BridgeOversizedResult) {\\n            errorMessage = \\\"The request result length exceeds a bridge contract defined limit\\\";\\n        } else {\\n            errorMessage = abi.encodePacked(\\\"Unknown error (0x\\\", _utohex(error[0]), \\\")\\\");\\n        }\\n        return (errorCode, string(errorMessage));\\n    }\\n\\n    /// @notice Decode a raw error from a `Witnet.Result` as a `uint64[]`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `uint64[]` raw error as decoded from the `Witnet.Result`.\\n    function asRawError(Witnet.Result memory _result)\\n        public pure\\n        returns(uint64[] memory)\\n    {\\n        require(\\n            !_result.success,\\n            \\\"WitnetParserLib: Tried to read error code from successful Witnet.Result\\\"\\n        );\\n        return _result.value.decodeUint64Array();\\n    }\\n\\n    /// @notice Decode a boolean value from a Witnet.Result as an `bool` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bool` decoded from the Witnet.Result.\\n    function asBool(Witnet.Result memory _result)\\n        external pure\\n        returns (bool)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `bool` value from errored Witnet.Result\\\");\\n        return _result.value.decodeBool();\\n    }\\n\\n    /// @notice Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\\n    /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\\n    /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\\n    /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asFixed16(Witnet.Result memory _result)\\n        external pure\\n        returns (int32)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `fixed16` value from errored Witnet.Result\\\");\\n        return _result.value.decodeFixed16();\\n    }\\n\\n    /// @notice Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asFixed16Array(Witnet.Result memory _result)\\n        external pure\\n        returns (int32[] memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `fixed16[]` value from errored Witnet.Result\\\");\\n        return _result.value.decodeFixed16Array();\\n    }\\n\\n    /// @notice Decode a integer numeric value from a Witnet.Result as an `int128` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asInt128(Witnet.Result memory _result)\\n      external pure\\n      returns (int128)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `int128` value from errored Witnet.Result\\\");\\n        return _result.value.decodeInt128();\\n    }\\n\\n    /// @notice Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asInt128Array(Witnet.Result memory _result)\\n        external pure\\n        returns (int128[] memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `int128[]` value from errored Witnet.Result\\\");\\n        return _result.value.decodeInt128Array();\\n    }\\n\\n    /// @notice Decode a string value from a Witnet.Result as a `string` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string` decoded from the Witnet.Result.\\n    function asString(Witnet.Result memory _result)\\n        external pure\\n        returns(string memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `string` value from errored Witnet.Result\\\");\\n        return _result.value.decodeString();\\n    }\\n\\n    /// @notice Decode an array of string values from a Witnet.Result as a `string[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string[]` decoded from the Witnet.Result.\\n    function asStringArray(Witnet.Result memory _result)\\n        external pure\\n        returns (string[] memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `string[]` value from errored Witnet.Result\\\");\\n        return _result.value.decodeStringArray();\\n    }\\n\\n    /// @notice Decode a natural numeric value from a Witnet.Result as a `uint64` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64` decoded from the Witnet.Result.\\n    function asUint64(Witnet.Result memory _result)\\n        external pure\\n        returns(uint64)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `uint64` value from errored Witnet.Result\\\");\\n        return _result.value.decodeUint64();\\n    }\\n\\n    /// @notice Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64[]` decoded from the Witnet.Result.\\n    function asUint64Array(Witnet.Result memory _result)\\n        external pure\\n        returns (uint64[] memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `uint64[]` value from errored Witnet.Result\\\");\\n        return _result.value.decodeUint64Array();\\n    }\\n\\n    /// @notice Convert a stage index number into the name of the matching Witnet request stage.\\n    /// @param _stageIndex A `uint64` identifying the index of one of the Witnet request stages.\\n    /// @return The name of the matching stage.\\n    function stageName(uint64 _stageIndex)\\n        public pure\\n        returns (string memory)\\n    {\\n        if (_stageIndex == 0) {\\n            return \\\"retrieval\\\";\\n        } else if (_stageIndex == 1) {\\n            return \\\"aggregation\\\";\\n        } else if (_stageIndex == 2) {\\n            return \\\"tally\\\";\\n        } else {\\n            return \\\"unknown\\\";\\n        }\\n    }\\n\\n    /// @notice Get an `Witnet.ErrorCodes` item from its `uint64` discriminant.\\n    /// @param _discriminant The numeric identifier of an error.\\n    /// @return A member of `Witnet.ErrorCodes`.\\n    function _supportedErrorOrElseUnknown(uint64 _discriminant)\\n        private pure\\n        returns (Witnet.ErrorCodes)\\n    {\\n        return Witnet.ErrorCodes(_discriminant);\\n    }\\n\\n    /// @notice Convert a `uint64` into a 1, 2 or 3 characters long `string` representing its.\\n    /// three less significant decimal values.\\n    /// @param _u A `uint64` value.\\n    /// @return The `string` representing its decimal value.\\n    function _utoa(uint64 _u)\\n        private pure\\n        returns (string memory)\\n    {\\n        if (_u < 10) {\\n            bytes memory b1 = new bytes(1);\\n            b1[0] = bytes1(uint8(_u) + 48);\\n            return string(b1);\\n        } else if (_u < 100) {\\n            bytes memory b2 = new bytes(2);\\n            b2[0] = bytes1(uint8(_u / 10) + 48);\\n            b2[1] = bytes1(uint8(_u % 10) + 48);\\n            return string(b2);\\n        } else {\\n            bytes memory b3 = new bytes(3);\\n            b3[0] = bytes1(uint8(_u / 100) + 48);\\n            b3[1] = bytes1(uint8(_u % 100 / 10) + 48);\\n            b3[2] = bytes1(uint8(_u % 10) + 48);\\n            return string(b3);\\n        }\\n    }\\n\\n    /// @notice Convert a `uint64` into a 2 characters long `string` representing its two less significant hexadecimal values.\\n    /// @param _u A `uint64` value.\\n    /// @return The `string` representing its hexadecimal value.\\n    function _utohex(uint64 _u)\\n        private pure\\n        returns (string memory)\\n    {\\n        bytes memory b2 = new bytes(2);\\n        uint8 d0 = uint8(_u / 16) + 48;\\n        uint8 d1 = uint8(_u % 16) + 48;\\n        if (d0 > 57)\\n            d0 += 7;\\n        if (d1 > 57)\\n            d1 += 7;\\n        b2[0] = bytes1(d0);\\n        b2[1] = bytes1(d1);\\n        return string(b2);\\n    }\\n}\\n\",\"keccak256\":\"0x250634a50e7ad8aaa9f3dde002ca3718de06a65b93be86896011331b996403f0\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Initializable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Initializable {\\n    /// @dev Initialize contract's storage context.\\n    function initialize(bytes calldata) external;\\n}\\n\",\"keccak256\":\"0x17c2e66648596deb4f71dbaaa4b95293c99536431e7697f3b69d205a09796f0e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Payable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\nimport \\\"../interfaces/IERC20.sol\\\";\\n\\nabstract contract Payable {\\n    IERC20 public immutable currency;\\n\\n    event Received(address from, uint256 amount);\\n    event Transfer(address to, uint256 amount);\\n\\n    constructor(address _currency) {\\n        currency = IERC20(_currency);\\n    }\\n\\n    /// Gets current transaction price.\\n    function _getGasPrice() internal view virtual returns (uint256);\\n\\n    /// Gets current payment value.\\n    function _getMsgValue() internal view virtual returns (uint256);\\n\\n    /// Perform safe transfer or whatever token is used for paying rewards.\\n    function _safeTransferTo(address payable, uint256) internal virtual;\\n}\\n\",\"keccak256\":\"0xc7f50e489030643b7f061512ad0d8430abc87351941a77589f6b06376c5831b9\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Proxiable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Proxiable {\\n    /// @dev Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1822.\\n    function proxiableUUID() external pure returns (bytes32);\\n}\\n\",\"keccak256\":\"0x3ed71dc147c30cd8aa1ca248a045217b6ea513bae96c4c76d66496af4b8d6ff1\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Upgradable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\n/* solhint-disable var-name-mixedcase */\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\nimport \\\"./Initializable.sol\\\";\\nimport \\\"./Proxiable.sol\\\";\\n\\nabstract contract Upgradable is Initializable, Proxiable {\\n\\n    address internal immutable _BASE;\\n    bytes32 internal immutable _CODEHASH;\\n    bool internal immutable _UPGRADABLE;\\n\\n    /// Emitted every time the contract gets upgraded.\\n    /// @param from The address who ordered the upgrading. Namely, the WRB operator in \\\"trustable\\\" implementations.\\n    /// @param baseAddr The address of the new implementation contract.\\n    /// @param baseCodehash The EVM-codehash of the new implementation contract.\\n    /// @param versionTag Ascii-encoded version literal with which the implementation deployer decided to tag it.\\n    event Upgraded(\\n        address indexed from,\\n        address indexed baseAddr,\\n        bytes32 indexed baseCodehash,\\n        bytes32 versionTag\\n    );\\n\\n    constructor (bool _isUpgradable) {\\n        address _base = address(this);\\n        bytes32 _codehash;        \\n        assembly {\\n            _codehash := extcodehash(_base)\\n        }\\n        _BASE = _base;\\n        _CODEHASH = _codehash;        \\n        _UPGRADABLE = _isUpgradable;\\n    }\\n\\n    /// @dev Tells whether provided address could eventually upgrade the contract.\\n    function isUpgradableFrom(address from) virtual external view returns (bool);\\n\\n\\n    /// TODO: the following methods should be all declared as pure \\n    ///       whenever this Solidity's PR gets merged and released: \\n    ///       https://github.com/ethereum/solidity/pull/10240\\n\\n    /// @dev Retrieves base contract. Differs from address(this) when via delegate-proxy pattern.\\n    function base() public view returns (address) {\\n        return _BASE;\\n    }\\n\\n    /// @dev Retrieves the immutable codehash of this contract, even if invoked as delegatecall.\\n    /// @return _codehash This contracts immutable codehash.\\n    function codehash() public view returns (bytes32 _codehash) {\\n        return _CODEHASH;\\n    }\\n    \\n    /// @dev Determines whether current instance allows being upgraded.\\n    /// @dev Returned value should be invariant from whoever is calling.\\n    function isUpgradable() public view returns (bool) {        \\n        return _UPGRADABLE;\\n    }\\n\\n    /// @dev Retrieves human-redable named version of current implementation.\\n    function version() virtual public view returns (bytes32); \\n}\",\"keccak256\":\"0x91a8c88f85a691bafab375a8a38361f1dae551530755989636531468870ead98\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"events":{"DeletedQuery(uint256,address)":{"notice":"Emitted when all data related to given query is deleted from the WRB."},"PostedRequest(uint256,address)":{"notice":"Emitted when a Witnet Data Request is posted to the WRB."},"PostedResult(uint256,address)":{"notice":"Emitted when a Witnet-solved result is reported to the WRB."},"Upgraded(address,address,bytes32,bytes32)":{"notice":"Emitted every time the contract gets upgraded."}},"kind":"user","methods":{"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a boolean value from a Witnet.Result as an `bool` value."},"asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a bytes value from a Witnet.Result as a `bytes` value."},"asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a bytes value from a Witnet.Result as a `bytes32` value."},"asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`."},"asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments."},"asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value."},"asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value."},"asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a integer numeric value from a Witnet.Result as an `int128` value."},"asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value."},"asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a raw error from a `Witnet.Result` as a `uint64[]`."},"asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a string value from a Witnet.Result as a `string` value."},"asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an array of string values from a Witnet.Result as a `string[]` value."},"asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a natural numeric value from a Witnet.Result as a `uint64` value."},"asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value."},"deleteQuery(uint256)":{"notice":"Retrieves copy of all response data related to a previously posted request, removing the whole query from storage."},"estimateReward(uint256)":{"notice":"Estimates the amount of reward we need to insert for a given gas price."},"getNextQueryId()":{"notice":"Returns next request id to be generated by the Witnet Request Board."},"getQueryData(uint256)":{"notice":"Gets the whole Query data contents, if any, no matter its current status."},"getQueryStatus(uint256)":{"notice":"Gets current status of given query."},"initialize(bytes)":{"notice":"Initialize storage-context when invoked as delegatecall. "},"isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Tell if a Witnet.Result is errored."},"isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Tell if a Witnet.Result is successful."},"isReporter(address)":{"notice":"Tells whether given address is included in the active reporters control list."},"isUpgradableFrom(address)":{"notice":"Tells whether provided address could eventually upgrade the contract."},"owner()":{"notice":"Gets admin/owner address."},"postRequest(address)":{"notice":"Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided  result to this request."},"readRequest(uint256)":{"notice":"Retrieves the whole Request record posted to the Witnet Request Board."},"readRequestBytecode(uint256)":{"notice":"Retrieves the serialized bytecode of a previously posted Witnet Data Request."},"readRequestGasPrice(uint256)":{"notice":"Retrieves the gas price that any assigned reporter will have to pay when reporting  result to a previously posted Witnet data request."},"readRequestReward(uint256)":{"notice":"Retrieves the reward currently set for a previously posted request."},"readResponse(uint256)":{"notice":"Retrieves the Witnet-provided result, and metadata, to a previously posted request.    "},"readResponseDrTxHash(uint256)":{"notice":"Retrieves the hash of the Witnet transaction that actually solved the referred query."},"readResponseReporter(uint256)":{"notice":"Retrieves the address that reported the result to a previously-posted request."},"readResponseResult(uint256)":{"notice":"Retrieves the Witnet-provided CBOR-bytes result of a previously posted request."},"readResponseTimestamp(uint256)":{"notice":"Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON."},"reportResult(uint256,bytes32,bytes)":{"notice":"Reports the Witnet-provided result to a previously posted request. "},"reportResult(uint256,uint256,bytes32,bytes)":{"notice":"Reports the Witnet-provided result to a previously posted request."},"reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)":{"notice":"Reports Witnet-provided results to multiple requests within a single EVM tx."},"resultFromCborBytes(bytes)":{"notice":"Decode raw CBOR bytes into a Witnet.Result instance."},"resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))":{"notice":"Decode a CBOR value into a Witnet.Result instance."},"setReporters(address[])":{"notice":"Adds given addresses to the active reporters control list."},"transferOwnership(address)":{"notice":"Transfers ownership."},"unsetReporters(address[])":{"notice":"Removes given addresses from the active reporters control list."},"upgradeReward(uint256)":{"notice":"Increments the reward of a previously posted request by adding the transaction value to it."},"version()":{"notice":"Retrieves human-readable version tag of current implementation."}},"notice":"Contract to bridge requests to Witnet Decentralized Oracle Network.","version":1}}},"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableDefault.sol":{"WitnetRequestBoardTrustableDefault":{"abi":[{"inputs":[{"internalType":"bool","name":"_upgradable","type":"bool"},{"internalType":"bytes32","name":"_versionTag","type":"bytes32"},{"internalType":"uint256","name":"_reportResultGasLimit","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"queryId","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"BatchReportError","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"queryId","type":"uint256"},{"indexed":false,"internalType":"address","name":"from","type":"address"}],"name":"DeletedQuery","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"queryId","type":"uint256"},{"indexed":false,"internalType":"address","name":"from","type":"address"}],"name":"PostedRequest","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"queryId","type":"uint256"},{"indexed":false,"internalType":"address","name":"from","type":"address"}],"name":"PostedResult","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Received","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"reporters","type":"address[]"}],"name":"ReportersSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"reporters","type":"address[]"}],"name":"ReportersUnset","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"baseAddr","type":"address"},{"indexed":true,"internalType":"bytes32","name":"baseCodehash","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"versionTag","type":"bytes32"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asBool","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asBytes32","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asErrorCode","outputs":[{"internalType":"enum Witnet.ErrorCodes","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asErrorMessage","outputs":[{"internalType":"enum Witnet.ErrorCodes","name":"","type":"uint8"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asFixed16","outputs":[{"internalType":"int32","name":"","type":"int32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asFixed16Array","outputs":[{"internalType":"int32[]","name":"","type":"int32[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asInt128","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asInt128Array","outputs":[{"internalType":"int128[]","name":"","type":"int128[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asRawError","outputs":[{"internalType":"uint64[]","name":"","type":"uint64[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asString","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asStringArray","outputs":[{"internalType":"string[]","name":"","type":"string[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asUint64","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asUint64Array","outputs":[{"internalType":"uint64[]","name":"","type":"uint64[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"base","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"codehash","outputs":[{"internalType":"bytes32","name":"_codehash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currency","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"deleteQuery","outputs":[{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct Witnet.Response","name":"_response","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"destruct","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_gasPrice","type":"uint256"}],"name":"estimateReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNextQueryId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryData","outputs":[{"components":[{"components":[{"internalType":"contract IWitnetRequest","name":"addr","type":"address"},{"internalType":"address","name":"requester","type":"address"},{"internalType":"bytes32","name":"hash","type":"bytes32"},{"internalType":"uint256","name":"gasprice","type":"uint256"},{"internalType":"uint256","name":"reward","type":"uint256"}],"internalType":"struct Witnet.Request","name":"request","type":"tuple"},{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct Witnet.Response","name":"response","type":"tuple"},{"internalType":"address","name":"from","type":"address"}],"internalType":"struct Witnet.Query","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryStatus","outputs":[{"internalType":"enum Witnet.QueryStatus","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"_initData","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"isError","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"isOk","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_reporter","type":"address"}],"name":"isReporter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isUpgradable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"}],"name":"isUpgradableFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IWitnetRequest","name":"_addr","type":"address"}],"name":"postRequest","outputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readRequest","outputs":[{"components":[{"internalType":"contract IWitnetRequest","name":"addr","type":"address"},{"internalType":"address","name":"requester","type":"address"},{"internalType":"bytes32","name":"hash","type":"bytes32"},{"internalType":"uint256","name":"gasprice","type":"uint256"},{"internalType":"uint256","name":"reward","type":"uint256"}],"internalType":"struct Witnet.Request","name":"_request","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readRequestBytecode","outputs":[{"internalType":"bytes","name":"_bytecode","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readRequestGasPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readRequestReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponse","outputs":[{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct Witnet.Response","name":"_response","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponseDrTxHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponseReporter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponseResult","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponseTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"},{"internalType":"bytes32","name":"_drTxHash","type":"bytes32"},{"internalType":"bytes","name":"_cborBytes","type":"bytes"}],"name":"reportResult","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"},{"internalType":"uint256","name":"_timestamp","type":"uint256"},{"internalType":"bytes32","name":"_drTxHash","type":"bytes32"},{"internalType":"bytes","name":"_cborBytes","type":"bytes"}],"name":"reportResult","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"queryId","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct IWitnetRequestBoardReporter.BatchResult[]","name":"_batchResults","type":"tuple[]"},{"internalType":"bool","name":"_verbose","type":"bool"}],"name":"reportResultBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_cborBytes","type":"bytes"}],"name":"resultFromCborBytes","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"","type":"tuple"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"_cborValue","type":"tuple"}],"name":"resultFromCborValue","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"","type":"tuple"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"_reporters","type":"address[]"}],"name":"setReporters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_exReporters","type":"address[]"}],"name":"unsetReporters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"upgradeReward","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}],"devdoc":{"author":"The Witnet Foundation","details":"This contract enables posting requests that Witnet bridges will insert into the Witnet network. The result of the requests will be posted back to this contract by the bridge nodes too.","kind":"dev","methods":{"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `bool` decoded from the Witnet.Result."}},"asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `bytes` decoded from the Witnet.Result."}},"asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `bytes32` decoded from the Witnet.Result."}},"asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of `Witnet.Result`."},"returns":{"_0":"The `CBORValue.Error memory` decoded from the Witnet.Result."}},"asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"details":"WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function","params":{"_result":"An instance of `Witnet.Result`."},"returns":{"_0":"A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message."}},"asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"details":"Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values. by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`. use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.","params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128` decoded from the Witnet.Result."}},"asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128[]` decoded from the Witnet.Result."}},"asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128` decoded from the Witnet.Result."}},"asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128[]` decoded from the Witnet.Result."}},"asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of `Witnet.Result`."},"returns":{"_0":"The `uint64[]` raw error as decoded from the `Witnet.Result`."}},"asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `string` decoded from the Witnet.Result."}},"asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `string[]` decoded from the Witnet.Result."}},"asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `uint64` decoded from the Witnet.Result."}},"asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `uint64[]` decoded from the Witnet.Result."}},"base()":{"details":"Retrieves base contract. Differs from address(this) when via delegate-proxy pattern."},"codehash()":{"details":"Retrieves the immutable codehash of this contract, even if invoked as delegatecall.","returns":{"_codehash":"This contracts immutable codehash."}},"deleteQuery(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status, or called from an address different tothe one that actually posted the given request.","params":{"_queryId":"The unique query identifier."}},"estimateReward(uint256)":{"params":{"_gasPrice":"The gas price for which we need to calculate the rewards."}},"initialize(bytes)":{"details":"Must fail when trying to initialize same instance more than once."},"isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"`true` if errored, `false` if successful."}},"isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"`true` if successful, `false` if errored."}},"isReporter(address)":{"params":{"_reporter":"The address to be checked."}},"isUpgradable()":{"details":"Determines whether current instance allows being upgraded.Returned value should be invariant from whoever is calling."},"postRequest(address)":{"details":"Fails if:- provided reward is too low.- provided script is zero address.- provided script bytecode is empty.","params":{"_addr":"The address of a IWitnetRequest contract, containing the actual Data Request seralized bytecode."},"returns":{"_queryId":"An unique query identifier."}},"proxiableUUID()":{"details":"Gets immutable \"heritage blood line\" (ie. genotype) as a Proxiable, and eventually Upgradable, contract.      If implemented as an Upgradable touch, upgrading this contract to another one with a different       `proxiableUUID()` value should fail."},"readRequest(uint256)":{"details":"Fails if the `_queryId` is not valid or, if it has already been reportedor deleted.","params":{"_queryId":"The unique identifier of a previously posted query."}},"readRequestBytecode(uint256)":{"details":"Fails if the `_queryId` is not valid, or if the related script bytecode got changed after being posted. Returns empty array once it gets reported, or deleted.","params":{"_queryId":"The unique query identifier."}},"readRequestGasPrice(uint256)":{"details":"Fails if the `_queryId` is not valid or, if it has already been reported, or deleted. ","params":{"_queryId":"The unique query identifier"}},"readRequestReward(uint256)":{"details":"Fails if the `_queryId` is not valid or, if it has already been reported, or deleted. ","params":{"_queryId":"The unique query identifier"}},"readResponse(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier"}},"readResponseDrTxHash(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier."}},"readResponseReporter(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier"}},"readResponseResult(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier"}},"readResponseTimestamp(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier."}},"reportResult(uint256,bytes32,bytes)":{"details":"Will assume `block.timestamp` as the timestamp at which the request was solved.Fails if:- the `_queryId` is not in 'Posted' status.- provided `_drTxHash` is zero;- length of provided `_result` is zero.","params":{"_cborBytes":"The result itself as bytes.","_drTxHash":"The hash of the solving tally transaction in Witnet.","_queryId":"The unique identifier of the data request."}},"reportResult(uint256,uint256,bytes32,bytes)":{"details":"Fails if:- called from unauthorized address;- the `_queryId` is not in 'Posted' status.- provided `_drTxHash` is zero;- length of provided `_result` is zero.","params":{"_cborBytes":"The result itself as bytes.","_drTxHash":"The hash of the solving tally transaction in Witnet.","_queryId":"The unique query identifier","_timestamp":"The timestamp of the solving tally transaction in Witnet."}},"reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)":{"details":"Fails if called from unauthorized address.Emits a PostedResult event for every succesfully reported result, if any.","params":{"_batchResults":"Array of BatchedResult structs, every one containing:         - unique query identifier;         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;         - hash of the corresponding data request tx at the Witnet side-chain level;         - data request result in raw bytes.","_verbose":"If true, emits a BatchReportError event for every failing report, if any. "}},"resultFromCborBytes(bytes)":{"params":{"_cborBytes":"Raw bytes representing a CBOR-encoded value."},"returns":{"_0":"A `Witnet.Result` instance."}},"resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))":{"params":{"_cborValue":"An instance of `Witnet.CBOR`."},"returns":{"_0":"A `Witnet.Result` instance."}},"setReporters(address[])":{"details":"Can only be called from the owner address.Emits the `ReportersSet` event. ","params":{"_reporters":"List of addresses to be added to the active reporters control list."}},"unsetReporters(address[])":{"details":"Can only be called from the owner address.Emits the `ReportersUnset` event. ","params":{"_exReporters":"List of addresses to be added to the active reporters control list."}},"upgradeReward(uint256)":{"details":"Updates request `gasPrice` in case this method is called with a higher gas price value than the one used in previous calls to `postRequest` or`upgradeReward`. Fails if the `_queryId` is not in 'Posted' status.Fails also in case the request `gasPrice` is increased, and the new reward value gets below new recalculated threshold. ","params":{"_queryId":"The unique query identifier."}}},"title":"Witnet Request Board \"trustable\" implementation contract.","version":1},"evm":{"bytecode":{"functionDebugData":{"@_11811":{"entryPoint":null,"id":11811,"parameterSlots":1,"returnSlots":0},"@_11895":{"entryPoint":null,"id":11895,"parameterSlots":1,"returnSlots":0},"@_4982":{"entryPoint":null,"id":4982,"parameterSlots":0,"returnSlots":0},"@_5262":{"entryPoint":null,"id":5262,"parameterSlots":0,"returnSlots":0},"@_5528":{"entryPoint":null,"id":5528,"parameterSlots":2,"returnSlots":0},"@_5603":{"entryPoint":null,"id":5603,"parameterSlots":3,"returnSlots":0},"@_7131":{"entryPoint":null,"id":7131,"parameterSlots":3,"returnSlots":0},"@_acls_5284":{"entryPoint":471,"id":5284,"parameterSlots":0,"returnSlots":1},"@_state_5234":{"entryPoint":431,"id":5234,"parameterSlots":0,"returnSlots":1},"abi_decode_t_bool_fromMemory":{"entryPoint":511,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32_fromMemory":{"entryPoint":534,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256_fromMemory":{"entryPoint":557,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_boolt_bytes32t_uint256_fromMemory":{"entryPoint":580,"id":null,"parameterSlots":2,"returnSlots":3},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"cleanup_t_bool":{"entryPoint":672,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":684,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":694,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":704,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_t_bool":{"entryPoint":709,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":735,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":761,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:2075:67","statements":[{"body":{"nodeType":"YulBlock","src":"67:77:67","statements":[{"nodeType":"YulAssignment","src":"77:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"92:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"86:5:67"},"nodeType":"YulFunctionCall","src":"86:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"77:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"132:5:67"}],"functionName":{"name":"validator_revert_t_bool","nodeType":"YulIdentifier","src":"108:23:67"},"nodeType":"YulFunctionCall","src":"108:30:67"},"nodeType":"YulExpressionStatement","src":"108:30:67"}]},"name":"abi_decode_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"45:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"53:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"61:5:67","type":""}],"src":"7:137:67"},{"body":{"nodeType":"YulBlock","src":"213:80:67","statements":[{"nodeType":"YulAssignment","src":"223:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"238:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"232:5:67"},"nodeType":"YulFunctionCall","src":"232:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"223:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"281:5:67"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"254:26:67"},"nodeType":"YulFunctionCall","src":"254:33:67"},"nodeType":"YulExpressionStatement","src":"254:33:67"}]},"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"191:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"199:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"207:5:67","type":""}],"src":"150:143:67"},{"body":{"nodeType":"YulBlock","src":"362:80:67","statements":[{"nodeType":"YulAssignment","src":"372:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"387:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"381:5:67"},"nodeType":"YulFunctionCall","src":"381:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"372:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"430:5:67"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"403:26:67"},"nodeType":"YulFunctionCall","src":"403:33:67"},"nodeType":"YulExpressionStatement","src":"403:33:67"}]},"name":"abi_decode_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"340:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"348:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"356:5:67","type":""}],"src":"299:143:67"},{"body":{"nodeType":"YulBlock","src":"556:549:67","statements":[{"body":{"nodeType":"YulBlock","src":"602:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"604:77:67"},"nodeType":"YulFunctionCall","src":"604:79:67"},"nodeType":"YulExpressionStatement","src":"604:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"577:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"586:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"573:3:67"},"nodeType":"YulFunctionCall","src":"573:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"598:2:67","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"569:3:67"},"nodeType":"YulFunctionCall","src":"569:32:67"},"nodeType":"YulIf","src":"566:119:67"},{"nodeType":"YulBlock","src":"695:125:67","statements":[{"nodeType":"YulVariableDeclaration","src":"710:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"724:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"714:6:67","type":""}]},{"nodeType":"YulAssignment","src":"739:71:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"782:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"793:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"778:3:67"},"nodeType":"YulFunctionCall","src":"778:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"802:7:67"}],"functionName":{"name":"abi_decode_t_bool_fromMemory","nodeType":"YulIdentifier","src":"749:28:67"},"nodeType":"YulFunctionCall","src":"749:61:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"739:6:67"}]}]},{"nodeType":"YulBlock","src":"830:129:67","statements":[{"nodeType":"YulVariableDeclaration","src":"845:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"859:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"849:6:67","type":""}]},{"nodeType":"YulAssignment","src":"875:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"921:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"932:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"917:3:67"},"nodeType":"YulFunctionCall","src":"917:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"941:7:67"}],"functionName":{"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulIdentifier","src":"885:31:67"},"nodeType":"YulFunctionCall","src":"885:64:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"875:6:67"}]}]},{"nodeType":"YulBlock","src":"969:129:67","statements":[{"nodeType":"YulVariableDeclaration","src":"984:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"998:2:67","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"988:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1014:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1060:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1071:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1056:3:67"},"nodeType":"YulFunctionCall","src":"1056:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1080:7:67"}],"functionName":{"name":"abi_decode_t_uint256_fromMemory","nodeType":"YulIdentifier","src":"1024:31:67"},"nodeType":"YulFunctionCall","src":"1024:64:67"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1014:6:67"}]}]}]},"name":"abi_decode_tuple_t_boolt_bytes32t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"510:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"521:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"533:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"541:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"549:6:67","type":""}],"src":"448:657:67"},{"body":{"nodeType":"YulBlock","src":"1151:35:67","statements":[{"nodeType":"YulAssignment","src":"1161:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1177:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1171:5:67"},"nodeType":"YulFunctionCall","src":"1171:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1161:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1144:6:67","type":""}],"src":"1111:75:67"},{"body":{"nodeType":"YulBlock","src":"1234:48:67","statements":[{"nodeType":"YulAssignment","src":"1244:32:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1269:5:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1262:6:67"},"nodeType":"YulFunctionCall","src":"1262:13:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1255:6:67"},"nodeType":"YulFunctionCall","src":"1255:21:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"1244:7:67"}]}]},"name":"cleanup_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1216:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"1226:7:67","type":""}],"src":"1192:90:67"},{"body":{"nodeType":"YulBlock","src":"1333:32:67","statements":[{"nodeType":"YulAssignment","src":"1343:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"1354:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"1343:7:67"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1315:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"1325:7:67","type":""}],"src":"1288:77:67"},{"body":{"nodeType":"YulBlock","src":"1416:32:67","statements":[{"nodeType":"YulAssignment","src":"1426:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"1437:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"1426:7:67"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1398:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"1408:7:67","type":""}],"src":"1371:77:67"},{"body":{"nodeType":"YulBlock","src":"1543:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1560:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1563:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1553:6:67"},"nodeType":"YulFunctionCall","src":"1553:12:67"},"nodeType":"YulExpressionStatement","src":"1553:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"1454:117:67"},{"body":{"nodeType":"YulBlock","src":"1666:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1683:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1686:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1676:6:67"},"nodeType":"YulFunctionCall","src":"1676:12:67"},"nodeType":"YulExpressionStatement","src":"1676:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"1577:117:67"},{"body":{"nodeType":"YulBlock","src":"1740:76:67","statements":[{"body":{"nodeType":"YulBlock","src":"1794:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1803:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1806:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1796:6:67"},"nodeType":"YulFunctionCall","src":"1796:12:67"},"nodeType":"YulExpressionStatement","src":"1796:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1763:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1785:5:67"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"1770:14:67"},"nodeType":"YulFunctionCall","src":"1770:21:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1760:2:67"},"nodeType":"YulFunctionCall","src":"1760:32:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1753:6:67"},"nodeType":"YulFunctionCall","src":"1753:40:67"},"nodeType":"YulIf","src":"1750:60:67"}]},"name":"validator_revert_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1733:5:67","type":""}],"src":"1700:116:67"},{"body":{"nodeType":"YulBlock","src":"1865:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"1922:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1931:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1934:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1924:6:67"},"nodeType":"YulFunctionCall","src":"1924:12:67"},"nodeType":"YulExpressionStatement","src":"1924:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1888:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1913:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"1895:17:67"},"nodeType":"YulFunctionCall","src":"1895:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1885:2:67"},"nodeType":"YulFunctionCall","src":"1885:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1878:6:67"},"nodeType":"YulFunctionCall","src":"1878:43:67"},"nodeType":"YulIf","src":"1875:63:67"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1858:5:67","type":""}],"src":"1822:122:67"},{"body":{"nodeType":"YulBlock","src":"1993:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"2050:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2059:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2062:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2052:6:67"},"nodeType":"YulFunctionCall","src":"2052:12:67"},"nodeType":"YulExpressionStatement","src":"2052:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2016:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2041:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"2023:17:67"},"nodeType":"YulFunctionCall","src":"2023:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2013:2:67"},"nodeType":"YulFunctionCall","src":"2013:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2006:6:67"},"nodeType":"YulFunctionCall","src":"2006:43:67"},"nodeType":"YulIf","src":"2003:63:67"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1986:5:67","type":""}],"src":"1950:122:67"}]},"contents":"{\n\n    function abi_decode_t_bool_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_bool(value)\n    }\n\n    function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_bytes32(value)\n    }\n\n    function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_uint256(value)\n    }\n\n    function abi_decode_tuple_t_boolt_bytes32t_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2 {\n        if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_bytes32_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 64\n\n            value2 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function cleanup_t_bool(value) -> cleaned {\n        cleaned := iszero(iszero(value))\n    }\n\n    function cleanup_t_bytes32(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_uint256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function validator_revert_t_bool(value) {\n        if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_bytes32(value) {\n        if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint256(value) {\n        if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"linkReferences":{"witnet-solidity-bridge/contracts/libs/WitnetParserLib.sol":{"WitnetParserLib":[{"length":20,"start":4587},{"length":20,"start":4738},{"length":20,"start":4889},{"length":20,"start":5360},{"length":20,"start":5511},{"length":20,"start":6211},{"length":20,"start":8156},{"length":20,"start":9887},{"length":20,"start":12506},{"length":20,"start":12692},{"length":20,"start":13571},{"length":20,"start":14351},{"length":20,"start":14533},{"length":20,"start":15320},{"length":20,"start":15519},{"length":20,"start":15808},{"length":20,"start":15966},{"length":20,"start":16263},{"length":20,"start":16599}]}},"object":"6101406040523480156200001257600080fd5b5060405162007eae38038062007eae833981810160405281019062000038919062000244565b82826000828281838073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b81525050503362000089620001af60201b60201c565b60010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001620000dc620001d760201b60201c565b60000160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060003090506000813f90508173ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508060c0818152505082151560e081151560f81b81525050505050806101008181525050505050505080610120818152505050505062000313565b60007ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183905090565b60007fa6db7263983f337bae2c9fb315730227961d1c1153ae1e10a56b5791465dd6fd905090565b6000815190506200021081620002c5565b92915050565b6000815190506200022781620002df565b92915050565b6000815190506200023e81620002f9565b92915050565b60008060006060848603121562000260576200025f620002c0565b5b60006200027086828701620001ff565b9350506020620002838682870162000216565b925050604062000296868287016200022d565b9150509250925092565b60008115159050919050565b6000819050919050565b6000819050919050565b600080fd5b620002d081620002a0565b8114620002dc57600080fd5b50565b620002ea81620002ac565b8114620002f657600080fd5b50565b6200030481620002b6565b81146200031057600080fd5b50565b60805160601c60a05160601c60c05160e05160f81c6101005161012051617b426200036c60003960006138fd01526000611d8101526000611d5901526000612dff01526000611d0601526000613d3f0152617b426000f3fe6080604052600436106102e85760003560e01c80637780cde111610190578063c805dd0f116100dc578063d4da69ac11610095578063dc3c71cd1161006f578063dc3c71cd14610d4d578063e5a6b10f14610d8a578063e99e47f314610db5578063f2fde38b14610df257610328565b8063d4da69ac14610c95578063d74803be14610cd2578063db04f16d14610d1057610328565b8063c805dd0f14610b4d578063c87d969e14610b78578063c8f5cdd514610bb5578063cf62d11514610bde578063d2e8756114610c1b578063d4ced13214610c5857610328565b8063a8604c1a11610149578063b281a7bd11610123578063b281a7bd14610a66578063bc7e25ff14610a96578063c2485ebd14610ad3578063c683b46514610b1057610328565b8063a8604c1a146109c1578063a9e954b9146109fe578063b076832814610a2957610328565b80637780cde1146108795780637c1fbda3146108b657806381a398b5146108f35780638da5cb5b1461091c57806399f65804146109475780639d96fced1461098457610328565b80633b885f2a1161024f5780635479d9401161020857806366bfdc75116101e257806366bfdc75146107a65780636b58960a146107c25780636f07abcc146107ff578063754e5bea1461083c57610328565b80635479d9401461072757806354fd4d50146107525780636280bce81461077d57610328565b80633b885f2a14610605578063439fab91146106425780634c9f72e31461066b5780634dcffaf3146106945780635001f3b5146106d157806352d1902d146106fc57610328565b80632241f2db116102a15780632241f2db146104d15780632565082b1461050e57806328a78d9b1461054b5780632b68b9c6146105745780632b905fbb1461058b5780633ae97295146105c857610328565b8063044ad7be1461036357806307e66852146103a05780630f572d2c146103dd578063109a0e3c1461041a5780631dd27daf1461045757806320f9241e1461049457610328565b36610328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161031f906167c2565b60405180910390fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035a90616962565b60405180910390fd5b34801561036f57600080fd5b5061038a600480360381019061038591906151be565b610e1b565b604051610397919061662d565b60405180910390f35b3480156103ac57600080fd5b506103c760048036038101906103c2919061568b565b610e7a565b6040516103d491906165a5565b60405180910390f35b3480156103e957600080fd5b5061040460048036038101906103ff919061568b565b610f11565b60405161041191906165c7565b60405180910390f35b34801561042657600080fd5b50610441600480360381019061043c919061568b565b610fa8565b60405161044e9190616780565b60405180910390f35b34801561046357600080fd5b5061047e6004803603810190610479919061571d565b61103f565b60405161048b9190616a47565b60405180910390f35b3480156104a057600080fd5b506104bb60048036038101906104b6919061571d565b6110ea565b6040516104c89190616a47565b60405180910390f35b3480156104dd57600080fd5b506104f860048036038101906104f3919061568b565b61117f565b6040516105059190616765565b60405180910390f35b34801561051a57600080fd5b5061053560048036038101906105309190615642565b611211565b6040516105429190616a25565b60405180910390f35b34801561055757600080fd5b50610572600480360381019061056d91906151eb565b6112ac565b005b34801561058057600080fd5b50610589611420565b005b34801561059757600080fd5b506105b260048036038101906105ad919061568b565b6114d2565b6040516105bf919061674a565b60405180910390f35b3480156105d457600080fd5b506105ef60048036038101906105ea919061571d565b611564565b6040516105fc9190616a47565b60405180910390f35b34801561061157600080fd5b5061062c6004803603810190610627919061571d565b61160f565b6040516106399190616685565b60405180910390f35b34801561064e57600080fd5b5061066960048036038101906106649190615457565b6117e4565b005b34801561067757600080fd5b50610692600480360381019061068d91906151eb565b611af7565b005b3480156106a057600080fd5b506106bb60048036038101906106b6919061568b565b611c6b565b6040516106c8919061660b565b60405180910390f35b3480156106dd57600080fd5b506106e6611d02565b6040516106f39190616568565b60405180910390f35b34801561070857600080fd5b50610711611d2a565b60405161071e9190616648565b60405180910390f35b34801561073357600080fd5b5061073c611d55565b604051610749919061662d565b60405180910390f35b34801561075e57600080fd5b50610767611d7d565b6040516107749190616648565b60405180910390f35b34801561078957600080fd5b506107a4600480360381019061079f919061574a565b611da5565b005b6107c060048036038101906107bb919061571d565b611fdd565b005b3480156107ce57600080fd5b506107e960048036038101906107e491906151be565b612106565b6040516107f6919061662d565b60405180910390f35b34801561080b57600080fd5b506108266004803603810190610821919061571d565b61217e565b604051610833919061672f565b60405180910390f35b34801561084857600080fd5b50610863600480360381019061085e919061571d565b612190565b60405161087091906169e1565b60405180910390f35b34801561088557600080fd5b506108a0600480360381019061089b919061568b565b61232e565b6040516108ad919061662d565b60405180910390f35b3480156108c257600080fd5b506108dd60048036038101906108d8919061571d565b6123c0565b6040516108ea91906169e1565b60405180910390f35b3480156108ff57600080fd5b5061091a60048036038101906109159190615358565b612746565b005b34801561092857600080fd5b50610931612a44565b60405161093e9190616568565b60405180910390f35b34801561095357600080fd5b5061096e6004803603810190610969919061571d565b612a77565b60405161097b91906169c6565b60405180910390f35b34801561099057600080fd5b506109ab60048036038101906109a6919061571d565b612cb4565b6040516109b89190616568565b60405180910390f35b3480156109cd57600080fd5b506109e860048036038101906109e3919061568b565b612d69565b6040516109f5919061662d565b60405180910390f35b348015610a0a57600080fd5b50610a13612dfb565b604051610a209190616648565b60405180910390f35b348015610a3557600080fd5b50610a506004803603810190610a4b919061568b565b612e23565b604051610a5d919061660b565b60405180910390f35b610a806004803603810190610a7b91906154e9565b612eba565b604051610a8d9190616a47565b60405180910390f35b348015610aa257600080fd5b50610abd6004803603810190610ab8919061568b565b613192565b604051610aca9190616b43565b60405180910390f35b348015610adf57600080fd5b50610afa6004803603810190610af5919061571d565b613224565b604051610b0791906169a4565b60405180910390f35b348015610b1c57600080fd5b50610b376004803603810190610b32919061568b565b61349e565b604051610b449190616685565b60405180910390f35b348015610b5957600080fd5b50610b62613535565b604051610b6f9190616a47565b60405180910390f35b348015610b8457600080fd5b50610b9f6004803603810190610b9a919061568b565b613554565b604051610bac91906165e9565b60405180910390f35b348015610bc157600080fd5b50610bdc6004803603810190610bd791906157be565b6135eb565b005b348015610bea57600080fd5b50610c056004803603810190610c00919061568b565b613867565b604051610c129190616648565b60405180910390f35b348015610c2757600080fd5b50610c426004803603810190610c3d919061571d565b6138f9565b604051610c4f9190616a47565b60405180910390f35b348015610c6457600080fd5b50610c7f6004803603810190610c7a919061568b565b61392e565b604051610c8c919061662d565b60405180910390f35b348015610ca157600080fd5b50610cbc6004803603810190610cb7919061571d565b6139c0565b604051610cc99190616a25565b60405180910390f35b348015610cde57600080fd5b50610cf96004803603810190610cf4919061568b565b613aeb565b604051610d079291906166ff565b60405180910390f35b348015610d1c57600080fd5b50610d376004803603810190610d32919061568b565b613c16565b604051610d4491906166e4565b60405180910390f35b348015610d5957600080fd5b50610d746004803603810190610d6f919061571d565b613ca8565b604051610d819190616648565b60405180910390f35b348015610d9657600080fd5b50610d9f613d3d565b604051610dac91906166c9565b60405180910390f35b348015610dc157600080fd5b50610ddc6004803603810190610dd79190615457565b613d61565b604051610de99190616a25565b60405180910390f35b348015610dfe57600080fd5b50610e196004803603810190610e1491906151be565b613dfc565b005b6000610e25613fa1565b60000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60608173__$2872872f739c245a20da3eaa995328fa91$__63fc853c3790916040518263ffffffff1660e01b8152600401610eb59190616a03565b60006040518083038186803b158015610ecd57600080fd5b505af4158015610ee1573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610f0a919061527d565b9050919050565b60608173__$2872872f739c245a20da3eaa995328fa91$__6308efc09790916040518263ffffffff1660e01b8152600401610f4c9190616a03565b60006040518083038186803b158015610f6457600080fd5b505af4158015610f78573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610fa191906152c6565b9050919050565b60608173__$2872872f739c245a20da3eaa995328fa91$__63f417daf590916040518263ffffffff1660e01b8152600401610fe39190616a03565b60006040518083038186803b158015610ffb57600080fd5b505af415801561100f573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061103891906155f9565b9050919050565b6000816001806003811115611057576110566171b4565b5b61106083613fc9565b6003811115611072576110716171b4565b5b1461107c82614099565b906110bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b49190616780565b60405180910390fd5b506110c66141bf565b60030160008581526020019081526020016000206000016004015492505050919050565b6000816002806003811115611102576111016171b4565b5b61110b83613fc9565b600381111561111d5761111c6171b4565b5b1461112782614099565b90611168576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115f9190616780565b60405180910390fd5b50611172846141e7565b6001015492505050919050565b60008173__$2872872f739c245a20da3eaa995328fa91$__63d8868db690916040518263ffffffff1660e01b81526004016111ba9190616a03565b60206040518083038186803b1580156111d257600080fd5b505af41580156111e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120a91906155cc565b9050919050565b611219614409565b73__$2872872f739c245a20da3eaa995328fa91$__63130283ee836040518263ffffffff1660e01b81526004016112509190616982565b60006040518083038186803b15801561126857600080fd5b505af415801561127c573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906112a591906156d4565b9050919050565b6112b46141bf565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611345576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133c906167e2565b60405180910390fd5b60005b81518110156113e557600082828151811061136657611365617212565b5b60200260200101519050600061137a613fa1565b60000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505080806113dd9061713c565b915050611348565b507f646436560d9757cb3c0f01da0f62642c6040b00c9a80685f94ef1a7725cad5f1816040516114159190616583565b60405180910390a150565b6114286141bf565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b0906167e2565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16ff5b60008173__$2872872f739c245a20da3eaa995328fa91$__63c71db52190916040518263ffffffff1660e01b815260040161150d9190616a03565b60206040518083038186803b15801561152557600080fd5b505af4158015611539573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155d919061559f565b9050919050565b600081600180600381111561157c5761157b6171b4565b5b61158583613fc9565b6003811115611597576115966171b4565b5b146115a182614099565b906115e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d99190616780565b60405180910390fd5b506115eb6141bf565b60030160008581526020019081526020016000206000016003015492505050919050565b606060006003811115611625576116246171b4565b5b61162e83613fc9565b60038111156116405761163f6171b4565b5b1415611681576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167890616942565b60405180910390fd5b600061168c8361420f565b9050600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117de578060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f09400026040518163ffffffff1660e01b815260040160006040518083038186803b15801561175057600080fd5b505afa158015611764573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061178d91906154a0565b9150806002015461179d83614237565b146117dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d490616882565b60405180910390fd5b5b50919050565b60006117ee6141bf565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561189b57339050806118556141bf565b60010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061190a565b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611909576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190090616922565b60405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff1661192a6141bf565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a0b57611971611d02565b73ffffffffffffffffffffffffffffffffffffffff1661198f6141bf565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611a0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0190616902565b60405180910390fd5b5b611a13611d02565b611a1b6141bf565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611a64612dfb565b611a6c611d02565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f72d4b00d8e35b3717e384aef5f900256a106d6a423d88935a11579981333ba20611ac2611d7d565b604051611acf9190616648565b60405180910390a4611af382806020019051810190611aee9190615234565b611af7565b5050565b611aff6141bf565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b87906167e2565b60405180910390fd5b60005b8151811015611c30576000828281518110611bb157611bb0617212565b5b602002602001015190506001611bc5613fa1565b60000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550508080611c289061713c565b915050611b93565b507f4d570ee36dec878006609360d34ac8d6a0b68d521871ae15a407b6340877ca0181604051611c609190616583565b60405180910390a150565b60608173__$2872872f739c245a20da3eaa995328fa91$__63147e5c8f90916040518263ffffffff1660e01b8152600401611ca69190616a03565b60006040518083038186803b158015611cbe57600080fd5b505af4158015611cd2573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611cfb91906153b4565b9050919050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60007f9969c6aff411c5e5f0807500693e8f819ce88529615cfa6cab569b24788a101860001b905090565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b611dad613fa1565b60000160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611e3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e31906168c2565b60405180910390fd5b836001806003811115611e5057611e4f6171b4565b5b611e5983613fc9565b6003811115611e6b57611e6a6171b4565b5b14611e7582614099565b90611eb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ead9190616780565b60405180910390fd5b506000801b851415611efd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef4906168a2565b60405180910390fd5b6000848490501415611f44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3b906168e2565b60405180910390fd5b611f9d33611f9888428989898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050614290565b6143ae565b7ee9413c6321ec446a267b7ebf5bb108663f2ef58b35c4f6e18905ac8f205cb28633604051611fcd929190616a62565b60405180910390a1505050505050565b806001806003811115611ff357611ff26171b4565b5b611ffc83613fc9565b600381111561200e5761200d6171b4565b5b1461201882614099565b90612059576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120509190616780565b60405180910390fd5b5060006120658461420f565b905060006120716143f9565b82600401546120809190616ea6565b9050600061208c614401565b905082600301548111156120f55760006120a5826138f9565b9050808310156120ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e190616862565b60405180910390fd5b818460030181905550505b818360040181905550505050505050565b6000806121116141bf565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061213f611d55565b801561217657508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b915050919050565b600061218982613fc9565b9050919050565b61219861442b565b8160028060038111156121ae576121ad6171b4565b5b6121b783613fc9565b60038111156121c9576121c86171b4565b5b146121d382614099565b90612214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220b9190616780565b60405180910390fd5b5061221e846141e7565b6040518060800160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282015481526020016003820180546122a3906170d9565b80601f01602080910402602001604051908101604052809291908181526020018280546122cf906170d9565b801561231c5780601f106122f15761010080835404028352916020019161231c565b820191906000526020600020905b8154815290600101906020018083116122ff57829003601f168201915b50505050508152505092505050919050565b60008173__$2872872f739c245a20da3eaa995328fa91$__63a1d45d5690916040518263ffffffff1660e01b81526004016123699190616a03565b60206040518083038186803b15801561238157600080fd5b505af4158015612395573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123b991906153fd565b9050919050565b6123c861442b565b8160028060038111156123de576123dd6171b4565b5b6123e783613fc9565b60038111156123f9576123f86171b4565b5b1461240382614099565b90612444576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243b9190616780565b60405180910390fd5b50600061244f6141bf565b600301600086815260200190815260200160002090508060090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146124f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ee90616842565b60405180910390fd5b806005016040518060800160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815260200160028201548152602001600382018054612580906170d9565b80601f01602080910402602001604051908101604052809291908181526020018280546125ac906170d9565b80156125f95780601f106125ce576101008083540402835291602001916125f9565b820191906000526020600020905b8154815290600101906020018083116125dc57829003601f168201915b505050505081525050935061260c6141bf565b60030160008681526020019081526020016000206000808201600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600282016000905560038201600090556004820160009055505060058201600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905560028201600090556003820160006126da919061446c565b50506009820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550507fdec847db058c9c012e0f3dbe2b99e05cfa4c693f61a7d8bc64652a68913cbfff8533604051612736929190616a62565b60405180910390a1505050919050565b61274e613fa1565b60000160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166127db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127d2906168c2565b60405180910390fd5b6000808351905060005b81811015612a2957600085828151811061280257612801617212565b5b60200260200101519050600160038111156128205761281f6171b4565b5b61282d8260000151613fc9565b600381111561283f5761283e6171b4565b5b1461288b578415612886577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f816000015160405161287d9190616ab9565b60405180910390a15b612a15565b6000801b816040015114156128e15784156128dc577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f81600001516040516128d39190616ae7565b60405180910390a15b612a14565b60008160600151511415612936578415612931577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f81600001516040516129289190616b15565b60405180910390a15b612a13565b6000816020015111801561294d5750428160200151115b15612999578415612994577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f816000015160405161298b9190616a8b565b60405180910390a15b612a12565b6129c8816000015160008360200151146129b75782602001516129b9565b425b83604001518460600151614290565b846129d39190616ea6565b93507ee9413c6321ec446a267b7ebf5bb108663f2ef58b35c4f6e18905ac8f205cb2816000015133604051612a09929190616a62565b60405180910390a15b5b5b5b508080612a219061713c565b9150506127e5565b506000821115612a3e57612a3d33836143ae565b5b50505050565b6000612a4e6141bf565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b612a7f6144ac565b816001806003811115612a9557612a946171b4565b5b612a9e83613fc9565b6003811115612ab057612aaf6171b4565b5b14612aba82614099565b90612afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612af29190616780565b60405180910390fd5b506000612b066141bf565b60030160008681526020019081526020016000209050806000016040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382015481526020016004820154815250509350600073ffffffffffffffffffffffffffffffffffffffff168160090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612cac578060090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b505050919050565b6000816002806003811115612ccc57612ccb6171b4565b5b612cd583613fc9565b6003811115612ce757612ce66171b4565b5b14612cf182614099565b90612d32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d299190616780565b60405180910390fd5b50612d3c846141e7565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692505050919050565b60008173__$2872872f739c245a20da3eaa995328fa91$__636646c11990916040518263ffffffff1660e01b8152600401612da49190616a03565b60206040518083038186803b158015612dbc57600080fd5b505af4158015612dd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612df491906153fd565b9050919050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60608173__$2872872f739c245a20da3eaa995328fa91$__630879730d90916040518263ffffffff1660e01b8152600401612e5e9190616a03565b60006040518083038186803b158015612e7657600080fd5b505af4158015612e8a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190612eb391906153b4565b9050919050565b600080612ec56143f9565b90506000612ed1614401565b90506000612ede826138f9565b905080831015612f23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f1a90616862565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612f93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f8a906167a2565b60405180910390fd5b60008573ffffffffffffffffffffffffffffffffffffffff1663f09400026040518163ffffffff1660e01b815260040160006040518083038186803b158015612fdb57600080fd5b505afa158015612fef573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061301891906154a0565b9050600081511161305e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161305590616822565b60405180910390fd5b6130666141bf565b600201600081546130769061713c565b9190508190559450336130876141bf565b600301600087815260200190815260200160002060090160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006130e78661420f565b9050868160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061313582614237565b81600201819055508381600301819055508481600401819055507fcabaf9c102f83746b27ae932f638eebfaf5ea7d014edd20ab14dec3768a8f55c8633604051613180929190616a62565b60405180910390a15050505050919050565b60008173__$2872872f739c245a20da3eaa995328fa91$__638233f9b390916040518263ffffffff1660e01b81526004016131cd9190616a03565b60206040518083038186803b1580156131e557600080fd5b505af41580156131f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321d9190615846565b9050919050565b61322c61450a565b6132346141bf565b6003016000838152602001908152602001600020604051806060016040529081600082016040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382015481526020016004820154815250508152602001600582016040518060800160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282015481526020016003820180546133bb906170d9565b80601f01602080910402602001604051908101604052809291908181526020018280546133e7906170d9565b80156134345780601f1061340957610100808354040283529160200191613434565b820191906000526020600020905b81548152906001019060200180831161341757829003601f168201915b50505050508152505081526020016009820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050919050565b60608173__$2872872f739c245a20da3eaa995328fa91$__63a1b9089190916040518263ffffffff1660e01b81526004016134d99190616a03565b60006040518083038186803b1580156134f157600080fd5b505af4158015613505573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061352e91906154a0565b9050919050565b600060016135416141bf565b6002015461354f9190616ea6565b905090565b60608173__$2872872f739c245a20da3eaa995328fa91$__632d26b9e290916040518263ffffffff1660e01b815260040161358f9190616a03565b60006040518083038186803b1580156135a757600080fd5b505af41580156135bb573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906135e4919061530f565b9050919050565b6135f3613fa1565b60000160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16613680576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613677906168c2565b60405180910390fd5b846001806003811115613696576136956171b4565b5b61369f83613fc9565b60038111156136b1576136b06171b4565b5b146136bb82614099565b906136fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136f39190616780565b60405180910390fd5b5042861115613740576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161373790616802565b60405180910390fd5b6000801b851415613786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161377d906168a2565b60405180910390fd5b60008484905014156137cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137c4906168e2565b60405180910390fd5b6138263361382189898989898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050614290565b6143ae565b7ee9413c6321ec446a267b7ebf5bb108663f2ef58b35c4f6e18905ac8f205cb28733604051613856929190616a62565b60405180910390a150505050505050565b60008173__$2872872f739c245a20da3eaa995328fa91$__63a2e8765590916040518263ffffffff1660e01b81526004016138a29190616a03565b60206040518083038186803b1580156138ba57600080fd5b505af41580156138ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138f2919061542a565b9050919050565b60007f0000000000000000000000000000000000000000000000000000000000000000826139279190616efc565b9050919050565b60008173__$2872872f739c245a20da3eaa995328fa91$__63abf82f4c90916040518263ffffffff1660e01b81526004016139699190616a03565b60206040518083038186803b15801561398157600080fd5b505af4158015613995573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139b991906153fd565b9050919050565b6139c8614409565b8160028060038111156139de576139dd6171b4565b5b6139e783613fc9565b60038111156139f9576139f86171b4565b5b14613a0382614099565b90613a44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a3b9190616780565b60405180910390fd5b506000613a50856141e7565b905073__$2872872f739c245a20da3eaa995328fa91$__63e99e47f3826003016040518263ffffffff1660e01b8152600401613a8c91906166a7565b60006040518083038186803b158015613aa457600080fd5b505af4158015613ab8573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190613ae191906156d4565b9350505050919050565b600060608273__$2872872f739c245a20da3eaa995328fa91$__638cc5eb5490916040518263ffffffff1660e01b8152600401613b289190616a03565b60006040518083038186803b158015613b4057600080fd5b505af4925050508015613b7657506040513d6000823e3d601f19601f82011682018060405250810190613b739190615543565b60015b613c0857613b82617270565b806308c379a01415613baf5750613b976178b5565b80613ba25750613bb1565b6000819250925050613c11565b505b3d8060008114613bdd576040519150601f19603f3d011682016040523d82523d6000602084013e613be2565b606091505b5060ff6040518060600160405280602f8152602001617ade602f91399250925050613c11565b81819350935050505b915091565b60008173__$2872872f739c245a20da3eaa995328fa91$__63d45d097d90916040518263ffffffff1660e01b8152600401613c519190616a03565b60206040518083038186803b158015613c6957600080fd5b505af4158015613c7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ca19190615516565b9050919050565b6000816002806003811115613cc057613cbf6171b4565b5b613cc983613fc9565b6003811115613cdb57613cda6171b4565b5b14613ce582614099565b90613d26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613d1d9190616780565b60405180910390fd5b50613d30846141e7565b6002015492505050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b613d69614409565b73__$2872872f739c245a20da3eaa995328fa91$__63e99e47f3836040518263ffffffff1660e01b8152600401613da09190616663565b60006040518083038186803b158015613db857600080fd5b505af4158015613dcc573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190613df591906156d4565b9050919050565b613e046141bf565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613e95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613e8c906167e2565b60405180910390fd5b6000613e9f6141bf565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614613f9d5781613f016141bf565b60010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35b5050565b60007fa6db7263983f337bae2c9fb315730227961d1c1153ae1e10a56b5791465dd6fd905090565b600080821480613fe35750613fdc6141bf565b6002015482115b15613ff15760009050614094565b6000613ffb6141bf565b600301600084815260200190815260200160002090506000801b81600501600201541461402c576002915050614094565b600073ffffffffffffffffffffffffffffffffffffffff168160090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461408e576001915050614094565b60039150505b919050565b6060600160038111156140af576140ae6171b4565b5b8260038111156140c2576140c16171b4565b5b14156140e857604051806060016040528060258152602001617a926025913990506141ba565b600260038111156140fc576140fb6171b4565b5b82600381111561410f5761410e6171b4565b5b141561413557604051806060016040528060278152602001617ab76027913990506141ba565b600380811115614148576141476171b4565b5b82600381111561415b5761415a6171b4565b5b141561418157604051806060016040528060268152602001617a6c6026913990506141ba565b6040518060400160405280601981526020017f5769746e6574426f617264446174613a20626164206d6f6f640000000000000081525090505b919050565b60007ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183905090565b60006141f16141bf565b60030160008381526020019081526020016000206005019050919050565b60006142196141bf565b60030160008381526020019081526020016000206000019050919050565b60006002826040516142499190616551565b602060405180830381855afa158015614266573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190614289919061542a565b9050919050565b60008061429b6141bf565b6003016000878152602001908152602001600020905060008160000190506000826005019050868160010181905550858160020181905550338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508481600301908051906020019061432e92919061454d565b508160040154935082600001600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160009055600382016000905560048201600090555050505050949350505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156143f4573d6000803e3d6000fd5b505050565b600034905090565b60003a905090565b60405180604001604052806000151581526020016144256145d3565b81525090565b6040518060800160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008019168152602001606081525090565b508054614478906170d9565b6000825580601f1061448a57506144a9565b601f0160209004906000526020600020908101906144a8919061462c565b5b50565b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000801916815260200160008152602001600081525090565b604051806060016040528061451d6144ac565b815260200161452a61442b565b8152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b828054614559906170d9565b90600052602060002090601f01602090048101928261457b57600085556145c2565b82601f1061459457805160ff19168380011785556145c2565b828001600101855582156145c2579182015b828111156145c15782518255916020019190600101906145a6565b5b5090506145cf919061462c565b5090565b6040518060c001604052806145e6614649565b8152602001600060ff168152602001600060ff168152602001600060ff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff1681525090565b5b8082111561464557600081600090555060010161462d565b5090565b604051806040016040528060608152602001600063ffffffff1681525090565b600061467c61467784616b83565b616b5e565b9050808382526020820190508285602086028201111561469f5761469e6172a6565b5b60005b858110156146cf57816146b58882614a7b565b8452602084019350602083019250506001810190506146a2565b5050509392505050565b60006146ec6146e784616b83565b616b5e565b9050808382526020820190508285602086028201111561470f5761470e6172a6565b5b60005b8581101561473f57816147258882614a90565b845260208401935060208301925050600181019050614712565b5050509392505050565b600061475c61475784616baf565b616b5e565b9050808382526020820190508285602086028201111561477f5761477e6172a6565b5b60005b858110156147af57816147958882614d17565b845260208401935060208301925050600181019050614782565b5050509392505050565b60006147cc6147c784616bdb565b616b5e565b905080838252602082019050828560208602820111156147ef576147ee6172a6565b5b60005b8581101561481f57816148058882614d2c565b8452602084019350602083019250506001810190506147f2565b5050509392505050565b600061483c61483784616c07565b616b5e565b9050808382526020820190508285602086028201111561485f5761485e6172a6565b5b60005b858110156148ad57815167ffffffffffffffff81111561488557614884617297565b5b8086016148928982614d41565b85526020850194506020840193505050600181019050614862565b5050509392505050565b60006148ca6148c584616c33565b616b5e565b905080838252602082019050828560208602820111156148ed576148ec6172a6565b5b60005b8581101561493b57813567ffffffffffffffff81111561491357614912617297565b5b8086016149208982614d6f565b855260208501945060208401935050506001810190506148f0565b5050509392505050565b600061495861495384616c5f565b616b5e565b9050808382526020820190508285602086028201111561497b5761497a6172a6565b5b60005b858110156149ab5781614991888261517f565b84526020840193506020830192505060018101905061497e565b5050509392505050565b60006149c86149c384616c8b565b616b5e565b9050828152602081018484840111156149e4576149e36172ab565b5b6149ef848285617097565b509392505050565b6000614a0a614a0584616c8b565b616b5e565b905082815260208101848484011115614a2657614a256172ab565b5b614a318482856170a6565b509392505050565b6000614a4c614a4784616cbc565b616b5e565b905082815260208101848484011115614a6857614a676172ab565b5b614a738482856170a6565b509392505050565b600081359050614a8a81617974565b92915050565b600081519050614a9f81617974565b92915050565b600082601f830112614aba57614ab9617297565b5b8135614aca848260208601614669565b91505092915050565b600082601f830112614ae857614ae7617297565b5b8151614af88482602086016146d9565b91505092915050565b600082601f830112614b1657614b15617297565b5b8151614b26848260208601614749565b91505092915050565b600082601f830112614b4457614b43617297565b5b8151614b548482602086016147b9565b91505092915050565b600082601f830112614b7257614b71617297565b5b8151614b82848260208601614829565b91505092915050565b600082601f830112614ba057614b9f617297565b5b8135614bb08482602086016148b7565b91505092915050565b600082601f830112614bce57614bcd617297565b5b8151614bde848260208601614945565b91505092915050565b600081359050614bf68161798b565b92915050565b600081519050614c0b8161798b565b92915050565b600081359050614c20816179a2565b92915050565b600081519050614c35816179a2565b92915050565b60008083601f840112614c5157614c50617297565b5b8235905067ffffffffffffffff811115614c6e57614c6d617292565b5b602083019150836001820283011115614c8a57614c896172a6565b5b9250929050565b600082601f830112614ca657614ca5617297565b5b8135614cb68482602086016149b5565b91505092915050565b600082601f830112614cd457614cd3617297565b5b8151614ce48482602086016149f7565b91505092915050565b600081359050614cfc816179b9565b92915050565b600081519050614d11816179d0565b92915050565b600081519050614d26816179e1565b92915050565b600081519050614d3b816179f8565b92915050565b600082601f830112614d5657614d55617297565b5b8151614d66848260208601614a39565b91505092915050565b600060808284031215614d8557614d8461729c565b5b614d8f6080616b5e565b90506000614d9f8482850161512b565b6000830152506020614db38482850161512b565b6020830152506040614dc784828501614c11565b604083015250606082013567ffffffffffffffff811115614deb57614dea6172a1565b5b614df784828501614c91565b60608301525092915050565b600060408284031215614e1957614e1861729c565b5b614e236040616b5e565b9050600082013567ffffffffffffffff811115614e4357614e426172a1565b5b614e4f84828501614c91565b6000830152506020614e6384828501615140565b60208301525092915050565b600060408284031215614e8557614e8461729c565b5b614e8f6040616b5e565b9050600082015167ffffffffffffffff811115614eaf57614eae6172a1565b5b614ebb84828501614cbf565b6000830152506020614ecf84828501615155565b60208301525092915050565b600060c08284031215614ef157614ef061729c565b5b614efb60c0616b5e565b9050600082013567ffffffffffffffff811115614f1b57614f1a6172a1565b5b614f2784828501614e03565b6000830152506020614f3b84828501615194565b6020830152506040614f4f84828501615194565b6040830152506060614f6384828501615194565b6060830152506080614f778482850161516a565b60808301525060a0614f8b8482850161516a565b60a08301525092915050565b600060c08284031215614fad57614fac61729c565b5b614fb760c0616b5e565b9050600082015167ffffffffffffffff811115614fd757614fd66172a1565b5b614fe384828501614e6f565b6000830152506020614ff7848285016151a9565b602083015250604061500b848285016151a9565b604083015250606061501f848285016151a9565b60608301525060806150338482850161517f565b60808301525060a06150478482850161517f565b60a08301525092915050565b6000604082840312156150695761506861729c565b5b6150736040616b5e565b9050600061508384828501614be7565b600083015250602082013567ffffffffffffffff8111156150a7576150a66172a1565b5b6150b384828501614edb565b60208301525092915050565b6000604082840312156150d5576150d461729c565b5b6150df6040616b5e565b905060006150ef84828501614bfc565b600083015250602082015167ffffffffffffffff811115615113576151126172a1565b5b61511f84828501614f97565b60208301525092915050565b60008135905061513a81617a0f565b92915050565b60008135905061514f81617a26565b92915050565b60008151905061516481617a26565b92915050565b60008135905061517981617a3d565b92915050565b60008151905061518e81617a3d565b92915050565b6000813590506151a381617a54565b92915050565b6000815190506151b881617a54565b92915050565b6000602082840312156151d4576151d36172b5565b5b60006151e284828501614a7b565b91505092915050565b600060208284031215615201576152006172b5565b5b600082013567ffffffffffffffff81111561521f5761521e6172b0565b5b61522b84828501614aa5565b91505092915050565b60006020828403121561524a576152496172b5565b5b600082015167ffffffffffffffff811115615268576152676172b0565b5b61527484828501614ad3565b91505092915050565b600060208284031215615293576152926172b5565b5b600082015167ffffffffffffffff8111156152b1576152b06172b0565b5b6152bd84828501614b01565b91505092915050565b6000602082840312156152dc576152db6172b5565b5b600082015167ffffffffffffffff8111156152fa576152f96172b0565b5b61530684828501614b2f565b91505092915050565b600060208284031215615325576153246172b5565b5b600082015167ffffffffffffffff811115615343576153426172b0565b5b61534f84828501614b5d565b91505092915050565b6000806040838503121561536f5761536e6172b5565b5b600083013567ffffffffffffffff81111561538d5761538c6172b0565b5b61539985828601614b8b565b92505060206153aa85828601614be7565b9150509250929050565b6000602082840312156153ca576153c96172b5565b5b600082015167ffffffffffffffff8111156153e8576153e76172b0565b5b6153f484828501614bb9565b91505092915050565b600060208284031215615413576154126172b5565b5b600061542184828501614bfc565b91505092915050565b6000602082840312156154405761543f6172b5565b5b600061544e84828501614c26565b91505092915050565b60006020828403121561546d5761546c6172b5565b5b600082013567ffffffffffffffff81111561548b5761548a6172b0565b5b61549784828501614c91565b91505092915050565b6000602082840312156154b6576154b56172b5565b5b600082015167ffffffffffffffff8111156154d4576154d36172b0565b5b6154e084828501614cbf565b91505092915050565b6000602082840312156154ff576154fe6172b5565b5b600061550d84828501614ced565b91505092915050565b60006020828403121561552c5761552b6172b5565b5b600061553a84828501614d02565b91505092915050565b6000806040838503121561555a576155596172b5565b5b600061556885828601614d02565b925050602083015167ffffffffffffffff811115615589576155886172b0565b5b61559585828601614d41565b9150509250929050565b6000602082840312156155b5576155b46172b5565b5b60006155c384828501614d17565b91505092915050565b6000602082840312156155e2576155e16172b5565b5b60006155f084828501614d2c565b91505092915050565b60006020828403121561560f5761560e6172b5565b5b600082015167ffffffffffffffff81111561562d5761562c6172b0565b5b61563984828501614d41565b91505092915050565b600060208284031215615658576156576172b5565b5b600082013567ffffffffffffffff811115615676576156756172b0565b5b61568284828501614edb565b91505092915050565b6000602082840312156156a1576156a06172b5565b5b600082013567ffffffffffffffff8111156156bf576156be6172b0565b5b6156cb84828501615053565b91505092915050565b6000602082840312156156ea576156e96172b5565b5b600082015167ffffffffffffffff811115615708576157076172b0565b5b615714848285016150bf565b91505092915050565b600060208284031215615733576157326172b5565b5b60006157418482850161512b565b91505092915050565b60008060008060608587031215615764576157636172b5565b5b60006157728782880161512b565b945050602061578387828801614c11565b935050604085013567ffffffffffffffff8111156157a4576157a36172b0565b5b6157b087828801614c3b565b925092505092959194509250565b6000806000806000608086880312156157da576157d96172b5565b5b60006157e88882890161512b565b95505060206157f98882890161512b565b945050604061580a88828901614c11565b935050606086013567ffffffffffffffff81111561582b5761582a6172b0565b5b61583788828901614c3b565b92509250509295509295909350565b60006020828403121561585c5761585b6172b5565b5b600061586a8482850161517f565b91505092915050565b600061587f83836158e7565b60208301905092915050565b60006158978383615d0e565b60208301905092915050565b60006158af8383615d2c565b60208301905092915050565b60006158c78383615d4a565b905092915050565b60006158db8383616506565b60208301905092915050565b6158f081616f56565b82525050565b6158ff81616f56565b82525050565b600061591082616d52565b61591a8185616de0565b935061592583616ced565b8060005b8381101561595657815161593d8882615873565b975061594883616d9f565b925050600181019050615929565b5085935050505092915050565b600061596e82616d5d565b6159788185616df1565b935061598383616cfd565b8060005b838110156159b457815161599b888261588b565b97506159a683616dac565b925050600181019050615987565b5085935050505092915050565b60006159cc82616d68565b6159d68185616e02565b93506159e183616d0d565b8060005b83811015615a125781516159f988826158a3565b9750615a0483616db9565b9250506001810190506159e5565b5085935050505092915050565b6000615a2a82616d73565b615a348185616e13565b935083602082028501615a4685616d1d565b8060005b85811015615a825784840389528151615a6385826158bb565b9450615a6e83616dc6565b925060208a01995050600181019050615a4a565b50829750879550505050505092915050565b6000615a9f82616d7e565b615aa98185616e24565b9350615ab483616d2d565b8060005b83811015615ae5578151615acc88826158cf565b9750615ad783616dd3565b925050600181019050615ab8565b5085935050505092915050565b615afb81616f68565b82525050565b615b0a81616f68565b82525050565b615b1981616f68565b82525050565b615b2881616f74565b82525050565b615b3781616f74565b82525050565b6000615b4882616d89565b615b528185616e35565b9350615b628185602086016170a6565b615b6b816172ba565b840191505092915050565b6000615b8182616d89565b615b8b8185616e46565b9350615b9b8185602086016170a6565b615ba4816172ba565b840191505092915050565b6000615bba82616d89565b615bc48185616e57565b9350615bd48185602086016170a6565b615bdd816172ba565b840191505092915050565b6000615bf382616d89565b615bfd8185616e68565b9350615c0d8185602086016170a6565b615c16816172ba565b840191505092915050565b6000615c2c82616d89565b615c368185616e79565b9350615c468185602086016170a6565b80840191505092915050565b60008154615c5f816170d9565b615c698186616e57565b94506001821660008114615c845760018114615c9657615cc9565b60ff1983168652602086019350615cc9565b615c9f85616d3d565b60005b83811015615cc157815481890152600182019150602081019050615ca2565b808801955050505b50505092915050565b615cdb8161702b565b82525050565b615cea8161703d565b82525050565b615cf98161704f565b82525050565b615d0881617061565b82525050565b615d1781616fb6565b82525050565b615d2681616fb6565b82525050565b615d3581616fc3565b82525050565b615d4481616fc3565b82525050565b6000615d5582616d94565b615d5f8185616e84565b9350615d6f8185602086016170a6565b615d78816172ba565b840191505092915050565b6000615d8e82616d94565b615d988185616e95565b9350615da88185602086016170a6565b615db1816172ba565b840191505092915050565b6000615dc9602c83616e95565b9150615dd4826172d8565b604082019050919050565b6000615dec602983616e95565b9150615df782617327565b604082019050919050565b6000615e0f602e83616e95565b9150615e1a82617376565b604082019050919050565b6000615e32601b83616e95565b9150615e3d826173c5565b602082019050919050565b6000615e55603183616e95565b9150615e60826173ee565b604082019050919050565b6000615e78602c83616e95565b9150615e838261743d565b604082019050919050565b6000615e9b602d83616e95565b9150615ea68261748c565b604082019050919050565b6000615ebe602f83616e95565b9150615ec9826174db565b604082019050919050565b6000615ee1602f83616e95565b9150615eec8261752a565b604082019050919050565b6000615f04603f83616e95565b9150615f0f82617579565b604082019050919050565b6000615f27604283616e95565b9150615f32826175c8565b606082019050919050565b6000615f4a602a83616e95565b9150615f558261763d565b604082019050919050565b6000615f6d602d83616e95565b9150615f788261768c565b604082019050919050565b6000615f90603a83616e95565b9150615f9b826176db565b604082019050919050565b6000615fb3603483616e95565b9150615fbe8261772a565b604082019050919050565b6000615fd6602b83616e95565b9150615fe182617779565b604082019050919050565b6000615ff9602e83616e95565b9150616004826177c8565b604082019050919050565b600061601c602f83616e95565b915061602782617817565b604082019050919050565b600061603f603183616e95565b915061604a82617866565b604082019050919050565b600060408301600083015184820360008601526160728282615b3d565b915050602083015161608760208601826164e8565b508091505092915050565b600060408301600083015184820360008601526160af8282615be8565b91505060208301516160c460208601826164f7565b508091505092915050565b600060c08301600083015184820360008601526160ec8282616055565b91505060208301516161016020860182616533565b5060408301516161146040860182616533565b5060608301516161276060860182616533565b50608083015161613a6080860182616506565b5060a083015161614d60a0860182616506565b508091505092915050565b600060c08301600083015184820360008601526161758282616092565b915050602083015161618a6020860182616542565b50604083015161619d6040860182616542565b5060608301516161b06060860182616542565b5060808301516161c36080860182616524565b5060a08301516161d660a0860182616524565b508091505092915050565b600060c08301600083015184820360008601526161fe8282616092565b91505060208301516162136020860182616542565b5060408301516162266040860182616542565b5060608301516162396060860182616542565b50608083015161624c6080860182616524565b5060a083015161625f60a0860182616524565b508091505092915050565b600060e08301600083015161628260008601826162ba565b50602083015184820360a086015261629a828261638a565b91505060408301516162af60c08601826158e7565b508091505092915050565b60a0820160008201516162d06000850182615ce1565b5060208201516162e360208501826158e7565b5060408201516162f66040850182615b1f565b50606082015161630960608501826164ca565b50608082015161631c60808501826164ca565b50505050565b60a0820160008201516163386000850182615ce1565b50602082015161634b60208501826158e7565b50604082015161635e6040850182615b1f565b50606082015161637160608501826164ca565b50608082015161638460808501826164ca565b50505050565b60006080830160008301516163a260008601826158e7565b5060208301516163b560208601826164ca565b5060408301516163c86040860182615b1f565b50606083015184820360608601526163e08282615b3d565b9150508091505092915050565b600060808301600083015161640560008601826158e7565b50602083015161641860208601826164ca565b50604083015161642b6040860182615b1f565b50606083015184820360608601526164438282615b3d565b9150508091505092915050565b60006040830160008301516164686000860182615af2565b506020830151848203602086015261648082826160cf565b9150508091505092915050565b60006040830160008301516164a56000860182615b10565b50602083015184820360208601526164bd82826161e1565b9150508091505092915050565b6164d381616ff0565b82525050565b6164e281616ff0565b82525050565b6164f181616ffa565b82525050565b61650081616ffa565b82525050565b61650f8161700a565b82525050565b61651e8161700a565b82525050565b61652d8161700a565b82525050565b61653c8161701e565b82525050565b61654b8161701e565b82525050565b600061655d8284615c21565b915081905092915050565b600060208201905061657d60008301846158f6565b92915050565b6000602082019050818103600083015261659d8184615905565b905092915050565b600060208201905081810360008301526165bf8184615963565b905092915050565b600060208201905081810360008301526165e181846159c1565b905092915050565b600060208201905081810360008301526166038184615a1f565b905092915050565b600060208201905081810360008301526166258184615a94565b905092915050565b60006020820190506166426000830184615b01565b92915050565b600060208201905061665d6000830184615b2e565b92915050565b6000602082019050818103600083015261667d8184615baf565b905092915050565b6000602082019050818103600083015261669f8184615b76565b905092915050565b600060208201905081810360008301526166c18184615c52565b905092915050565b60006020820190506166de6000830184615cd2565b92915050565b60006020820190506166f96000830184615cf0565b92915050565b60006040820190506167146000830185615cf0565b81810360208301526167268184615d83565b90509392505050565b60006020820190506167446000830184615cff565b92915050565b600060208201905061675f6000830184615d1d565b92915050565b600060208201905061677a6000830184615d3b565b92915050565b6000602082019050818103600083015261679a8184615d83565b905092915050565b600060208201905081810360008301526167bb81615dbc565b9050919050565b600060208201905081810360008301526167db81615ddf565b9050919050565b600060208201905081810360008301526167fb81615e25565b9050919050565b6000602082019050818103600083015261681b81615e48565b9050919050565b6000602082019050818103600083015261683b81615e8e565b9050919050565b6000602082019050818103600083015261685b81615eb1565b9050919050565b6000602082019050818103600083015261687b81615ed4565b9050919050565b6000602082019050818103600083015261689b81615ef7565b9050919050565b600060208201905081810360008301526168bb81615f1a565b9050919050565b600060208201905081810360008301526168db81615f3d565b9050919050565b600060208201905081810360008301526168fb81615f83565b9050919050565b6000602082019050818103600083015261691b81615fa6565b9050919050565b6000602082019050818103600083015261693b81615fc9565b9050919050565b6000602082019050818103600083015261695b8161600f565b9050919050565b6000602082019050818103600083015261697b81616032565b9050919050565b6000602082019050818103600083015261699c8184616158565b905092915050565b600060208201905081810360008301526169be818461626a565b905092915050565b600060a0820190506169db6000830184616322565b92915050565b600060208201905081810360008301526169fb81846163ed565b905092915050565b60006020820190508181036000830152616a1d818461648d565b905092915050565b60006020820190508181036000830152616a3f8184616450565b905092915050565b6000602082019050616a5c60008301846164d9565b92915050565b6000604082019050616a7760008301856164d9565b616a8460208301846158f6565b9392505050565b6000604082019050616aa060008301846164d9565b8181036020830152616ab181615e02565b905092915050565b6000604082019050616ace60008301846164d9565b8181036020830152616adf81615e6b565b905092915050565b6000604082019050616afc60008301846164d9565b8181036020830152616b0d81615f60565b905092915050565b6000604082019050616b2a60008301846164d9565b8181036020830152616b3b81615fec565b905092915050565b6000602082019050616b586000830184616515565b92915050565b6000616b68616b79565b9050616b74828261710b565b919050565b6000604051905090565b600067ffffffffffffffff821115616b9e57616b9d617241565b5b602082029050602081019050919050565b600067ffffffffffffffff821115616bca57616bc9617241565b5b602082029050602081019050919050565b600067ffffffffffffffff821115616bf657616bf5617241565b5b602082029050602081019050919050565b600067ffffffffffffffff821115616c2257616c21617241565b5b602082029050602081019050919050565b600067ffffffffffffffff821115616c4e57616c4d617241565b5b602082029050602081019050919050565b600067ffffffffffffffff821115616c7a57616c79617241565b5b602082029050602081019050919050565b600067ffffffffffffffff821115616ca657616ca5617241565b5b616caf826172ba565b9050602081019050919050565b600067ffffffffffffffff821115616cd757616cd6617241565b5b616ce0826172ba565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000616eb182616ff0565b9150616ebc83616ff0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115616ef157616ef0617185565b5b828201905092915050565b6000616f0782616ff0565b9150616f1283616ff0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615616f4b57616f4a617185565b5b828202905092915050565b6000616f6182616fd0565b9050919050565b60008115159050919050565b6000819050919050565b6000616f8982616f56565b9050919050565b6000819050616f9e8261794b565b919050565b6000819050616fb182617960565b919050565b600081600f0b9050919050565b60008160030b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b600061703682617073565b9050919050565b600061704882617073565b9050919050565b600061705a82616f90565b9050919050565b600061706c82616fa3565b9050919050565b600061707e82617085565b9050919050565b600061709082616fd0565b9050919050565b82818337600083830152505050565b60005b838110156170c45780820151818401526020810190506170a9565b838111156170d3576000848401525b50505050565b600060028204905060018216806170f157607f821691505b60208210811415617105576171046171e3565b5b50919050565b617114826172ba565b810181811067ffffffffffffffff8211171561713357617132617241565b5b80604052505050565b600061714782616ff0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561717a57617179617185565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060033d111561728f5760046000803e61728c6000516172cb565b90505b90565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160e01c9050919050565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f206e756c6c207363726970740000000000000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f6172643a206e6f207472616e736665727360008201527f2061636365707465640000000000000000000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f206261642074696d657374616d70000000000000000000000000000000000000602082015250565b7f5769746e6574426f617264446174613a206f6e6c79206f776e65720000000000600082015250565b7f5769746e657452657175657374426f617264547275737461626c65446566617560008201527f6c743a206261642074696d657374616d70000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f2062616420717565727949640000000000000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f20656d7074792073637269707400000000000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f206f6e6c79207265717565737465720000000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f2072657761726420746f6f206c6f770000000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f2062797465636f6465206368616e67656420616674657220706f7374696e6700602082015250565b7f5769746e657452657175657374426f617264547275737461626c65446566617560008201527f6c743a205769746e65742064725478486173682063616e6e6f74206265207a6560208201527f726f000000000000000000000000000000000000000000000000000000000000604082015250565b7f5769746e6574426f6172644461746141434c733a20756e617574686f72697a6560008201527f64207265706f7274657200000000000000000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f2062616420647254784861736800000000000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65446566617560008201527f6c743a20726573756c742063616e6e6f7420626520656d707479000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f20616c726561647920696e697469616c697a6564000000000000000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f206f6e6c79206f776e6572000000000000000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f206261642063626f724279746573000000000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f206e6f742079657420706f737465640000000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f61726455706772616461626c654261736560008201527f3a206e6f7420696d706c656d656e746564000000000000000000000000000000602082015250565b600060443d10156178c557617948565b6178cd616b79565b60043d036004823e80513d602482011167ffffffffffffffff821117156178f5575050617948565b808201805167ffffffffffffffff8111156179135750505050617948565b80602083010160043d038501811115617930575050505050617948565b61793f8260200185018661710b565b82955050505050505b90565b610100811061795d5761795c6171b4565b5b50565b60048110617971576179706171b4565b5b50565b61797d81616f56565b811461798857600080fd5b50565b61799481616f68565b811461799f57600080fd5b50565b6179ab81616f74565b81146179b657600080fd5b50565b6179c281616f7e565b81146179cd57600080fd5b50565b61010081106179de57600080fd5b50565b6179ea81616fb6565b81146179f557600080fd5b50565b617a0181616fc3565b8114617a0c57600080fd5b50565b617a1881616ff0565b8114617a2357600080fd5b50565b617a2f81616ffa565b8114617a3a57600080fd5b50565b617a468161700a565b8114617a5157600080fd5b50565b617a5d8161701e565b8114617a6857600080fd5b5056fe5769746e6574426f617264446174613a206e6f7420696e2044656c65746564207374617475735769746e6574426f617264446174613a206e6f7420696e20506f73746564207374617475735769746e6574426f617264446174613a206e6f7420696e205265706f72746564207374617475735769746e657452657175657374426f617264547275737461626c65426173653a206661696c696e6720617373657274a26469706673582212202626e20c29ec4ce25474ec6cb7a1ceb7b8c91cb224f916654f83066eda96301464736f6c63430008070033","opcodes":"PUSH2 0x140 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x7EAE CODESIZE SUB DUP1 PUSH3 0x7EAE DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x38 SWAP2 SWAP1 PUSH3 0x244 JUMP JUMPDEST DUP3 DUP3 PUSH1 0x0 DUP3 DUP3 DUP2 DUP4 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 SHL DUP2 MSTORE POP POP POP CALLER PUSH3 0x89 PUSH3 0x1AF PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x1 PUSH3 0xDC PUSH3 0x1D7 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x0 ADDRESS SWAP1 POP PUSH1 0x0 DUP2 EXTCODEHASH SWAP1 POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xA0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 SHL DUP2 MSTORE POP POP DUP1 PUSH1 0xC0 DUP2 DUP2 MSTORE POP POP DUP3 ISZERO ISZERO PUSH1 0xE0 DUP2 ISZERO ISZERO PUSH1 0xF8 SHL DUP2 MSTORE POP POP POP POP POP DUP1 PUSH2 0x100 DUP2 DUP2 MSTORE POP POP POP POP POP POP POP DUP1 PUSH2 0x120 DUP2 DUP2 MSTORE POP POP POP POP POP PUSH3 0x313 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xF595240B351BC8F951C2F53B26F4E78C32CB62122CF76C19B7FDDA7D4968E183 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xA6DB7263983F337BAE2C9FB315730227961D1C1153AE1E10A56B5791465DD6FD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x210 DUP2 PUSH3 0x2C5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x227 DUP2 PUSH3 0x2DF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x23E DUP2 PUSH3 0x2F9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH3 0x260 JUMPI PUSH3 0x25F PUSH3 0x2C0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH3 0x270 DUP7 DUP3 DUP8 ADD PUSH3 0x1FF JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH3 0x283 DUP7 DUP3 DUP8 ADD PUSH3 0x216 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH3 0x296 DUP7 DUP3 DUP8 ADD PUSH3 0x22D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x2D0 DUP2 PUSH3 0x2A0 JUMP JUMPDEST DUP2 EQ PUSH3 0x2DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH3 0x2EA DUP2 PUSH3 0x2AC JUMP JUMPDEST DUP2 EQ PUSH3 0x2F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH3 0x304 DUP2 PUSH3 0x2B6 JUMP JUMPDEST DUP2 EQ PUSH3 0x310 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0x60 SHR PUSH1 0xA0 MLOAD PUSH1 0x60 SHR PUSH1 0xC0 MLOAD PUSH1 0xE0 MLOAD PUSH1 0xF8 SHR PUSH2 0x100 MLOAD PUSH2 0x120 MLOAD PUSH2 0x7B42 PUSH3 0x36C PUSH1 0x0 CODECOPY PUSH1 0x0 PUSH2 0x38FD ADD MSTORE PUSH1 0x0 PUSH2 0x1D81 ADD MSTORE PUSH1 0x0 PUSH2 0x1D59 ADD MSTORE PUSH1 0x0 PUSH2 0x2DFF ADD MSTORE PUSH1 0x0 PUSH2 0x1D06 ADD MSTORE PUSH1 0x0 PUSH2 0x3D3F ADD MSTORE PUSH2 0x7B42 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2E8 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x7780CDE1 GT PUSH2 0x190 JUMPI DUP1 PUSH4 0xC805DD0F GT PUSH2 0xDC JUMPI DUP1 PUSH4 0xD4DA69AC GT PUSH2 0x95 JUMPI DUP1 PUSH4 0xDC3C71CD GT PUSH2 0x6F JUMPI DUP1 PUSH4 0xDC3C71CD EQ PUSH2 0xD4D JUMPI DUP1 PUSH4 0xE5A6B10F EQ PUSH2 0xD8A JUMPI DUP1 PUSH4 0xE99E47F3 EQ PUSH2 0xDB5 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xDF2 JUMPI PUSH2 0x328 JUMP JUMPDEST DUP1 PUSH4 0xD4DA69AC EQ PUSH2 0xC95 JUMPI DUP1 PUSH4 0xD74803BE EQ PUSH2 0xCD2 JUMPI DUP1 PUSH4 0xDB04F16D EQ PUSH2 0xD10 JUMPI PUSH2 0x328 JUMP JUMPDEST DUP1 PUSH4 0xC805DD0F EQ PUSH2 0xB4D JUMPI DUP1 PUSH4 0xC87D969E EQ PUSH2 0xB78 JUMPI DUP1 PUSH4 0xC8F5CDD5 EQ PUSH2 0xBB5 JUMPI DUP1 PUSH4 0xCF62D115 EQ PUSH2 0xBDE JUMPI DUP1 PUSH4 0xD2E87561 EQ PUSH2 0xC1B JUMPI DUP1 PUSH4 0xD4CED132 EQ PUSH2 0xC58 JUMPI PUSH2 0x328 JUMP JUMPDEST DUP1 PUSH4 0xA8604C1A GT PUSH2 0x149 JUMPI DUP1 PUSH4 0xB281A7BD GT PUSH2 0x123 JUMPI DUP1 PUSH4 0xB281A7BD EQ PUSH2 0xA66 JUMPI DUP1 PUSH4 0xBC7E25FF EQ PUSH2 0xA96 JUMPI DUP1 PUSH4 0xC2485EBD EQ PUSH2 0xAD3 JUMPI DUP1 PUSH4 0xC683B465 EQ PUSH2 0xB10 JUMPI PUSH2 0x328 JUMP JUMPDEST DUP1 PUSH4 0xA8604C1A EQ PUSH2 0x9C1 JUMPI DUP1 PUSH4 0xA9E954B9 EQ PUSH2 0x9FE JUMPI DUP1 PUSH4 0xB0768328 EQ PUSH2 0xA29 JUMPI PUSH2 0x328 JUMP JUMPDEST DUP1 PUSH4 0x7780CDE1 EQ PUSH2 0x879 JUMPI DUP1 PUSH4 0x7C1FBDA3 EQ PUSH2 0x8B6 JUMPI DUP1 PUSH4 0x81A398B5 EQ PUSH2 0x8F3 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x91C JUMPI DUP1 PUSH4 0x99F65804 EQ PUSH2 0x947 JUMPI DUP1 PUSH4 0x9D96FCED EQ PUSH2 0x984 JUMPI PUSH2 0x328 JUMP JUMPDEST DUP1 PUSH4 0x3B885F2A GT PUSH2 0x24F JUMPI DUP1 PUSH4 0x5479D940 GT PUSH2 0x208 JUMPI DUP1 PUSH4 0x66BFDC75 GT PUSH2 0x1E2 JUMPI DUP1 PUSH4 0x66BFDC75 EQ PUSH2 0x7A6 JUMPI DUP1 PUSH4 0x6B58960A EQ PUSH2 0x7C2 JUMPI DUP1 PUSH4 0x6F07ABCC EQ PUSH2 0x7FF JUMPI DUP1 PUSH4 0x754E5BEA EQ PUSH2 0x83C JUMPI PUSH2 0x328 JUMP JUMPDEST DUP1 PUSH4 0x5479D940 EQ PUSH2 0x727 JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x752 JUMPI DUP1 PUSH4 0x6280BCE8 EQ PUSH2 0x77D JUMPI PUSH2 0x328 JUMP JUMPDEST DUP1 PUSH4 0x3B885F2A EQ PUSH2 0x605 JUMPI DUP1 PUSH4 0x439FAB91 EQ PUSH2 0x642 JUMPI DUP1 PUSH4 0x4C9F72E3 EQ PUSH2 0x66B JUMPI DUP1 PUSH4 0x4DCFFAF3 EQ PUSH2 0x694 JUMPI DUP1 PUSH4 0x5001F3B5 EQ PUSH2 0x6D1 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x6FC JUMPI PUSH2 0x328 JUMP JUMPDEST DUP1 PUSH4 0x2241F2DB GT PUSH2 0x2A1 JUMPI DUP1 PUSH4 0x2241F2DB EQ PUSH2 0x4D1 JUMPI DUP1 PUSH4 0x2565082B EQ PUSH2 0x50E JUMPI DUP1 PUSH4 0x28A78D9B EQ PUSH2 0x54B JUMPI DUP1 PUSH4 0x2B68B9C6 EQ PUSH2 0x574 JUMPI DUP1 PUSH4 0x2B905FBB EQ PUSH2 0x58B JUMPI DUP1 PUSH4 0x3AE97295 EQ PUSH2 0x5C8 JUMPI PUSH2 0x328 JUMP JUMPDEST DUP1 PUSH4 0x44AD7BE EQ PUSH2 0x363 JUMPI DUP1 PUSH4 0x7E66852 EQ PUSH2 0x3A0 JUMPI DUP1 PUSH4 0xF572D2C EQ PUSH2 0x3DD JUMPI DUP1 PUSH4 0x109A0E3C EQ PUSH2 0x41A JUMPI DUP1 PUSH4 0x1DD27DAF EQ PUSH2 0x457 JUMPI DUP1 PUSH4 0x20F9241E EQ PUSH2 0x494 JUMPI PUSH2 0x328 JUMP JUMPDEST CALLDATASIZE PUSH2 0x328 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x31F SWAP1 PUSH2 0x67C2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x35A SWAP1 PUSH2 0x6962 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x36F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x38A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x385 SWAP2 SWAP1 PUSH2 0x51BE JUMP JUMPDEST PUSH2 0xE1B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x397 SWAP2 SWAP1 PUSH2 0x662D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3C7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3C2 SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0xE7A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3D4 SWAP2 SWAP1 PUSH2 0x65A5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3FF SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0xF11 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x411 SWAP2 SWAP1 PUSH2 0x65C7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x426 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x441 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x43C SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0xFA8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x44E SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x463 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x479 SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x103F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x48B SWAP2 SWAP1 PUSH2 0x6A47 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4BB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4B6 SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x10EA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4C8 SWAP2 SWAP1 PUSH2 0x6A47 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4F8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4F3 SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x117F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x505 SWAP2 SWAP1 PUSH2 0x6765 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x51A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x535 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x530 SWAP2 SWAP1 PUSH2 0x5642 JUMP JUMPDEST PUSH2 0x1211 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x542 SWAP2 SWAP1 PUSH2 0x6A25 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x557 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x572 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x56D SWAP2 SWAP1 PUSH2 0x51EB JUMP JUMPDEST PUSH2 0x12AC JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x580 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x589 PUSH2 0x1420 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x597 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5B2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5AD SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x14D2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5BF SWAP2 SWAP1 PUSH2 0x674A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5EF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5EA SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x1564 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5FC SWAP2 SWAP1 PUSH2 0x6A47 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x611 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x62C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x627 SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x160F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x639 SWAP2 SWAP1 PUSH2 0x6685 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x64E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x669 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x664 SWAP2 SWAP1 PUSH2 0x5457 JUMP JUMPDEST PUSH2 0x17E4 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x677 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x692 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x68D SWAP2 SWAP1 PUSH2 0x51EB JUMP JUMPDEST PUSH2 0x1AF7 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6BB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6B6 SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x1C6B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6C8 SWAP2 SWAP1 PUSH2 0x660B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6E6 PUSH2 0x1D02 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6F3 SWAP2 SWAP1 PUSH2 0x6568 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x708 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x711 PUSH2 0x1D2A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x71E SWAP2 SWAP1 PUSH2 0x6648 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x733 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x73C PUSH2 0x1D55 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x749 SWAP2 SWAP1 PUSH2 0x662D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x75E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x767 PUSH2 0x1D7D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x774 SWAP2 SWAP1 PUSH2 0x6648 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x789 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7A4 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x79F SWAP2 SWAP1 PUSH2 0x574A JUMP JUMPDEST PUSH2 0x1DA5 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x7C0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7BB SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x1FDD JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7E9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7E4 SWAP2 SWAP1 PUSH2 0x51BE JUMP JUMPDEST PUSH2 0x2106 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7F6 SWAP2 SWAP1 PUSH2 0x662D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x80B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x826 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x821 SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x217E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x833 SWAP2 SWAP1 PUSH2 0x672F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x848 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x863 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x85E SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x2190 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x870 SWAP2 SWAP1 PUSH2 0x69E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x885 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8A0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x89B SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x232E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8AD SWAP2 SWAP1 PUSH2 0x662D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8DD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x8D8 SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x23C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8EA SWAP2 SWAP1 PUSH2 0x69E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x91A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x915 SWAP2 SWAP1 PUSH2 0x5358 JUMP JUMPDEST PUSH2 0x2746 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x928 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x931 PUSH2 0x2A44 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x93E SWAP2 SWAP1 PUSH2 0x6568 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x953 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x96E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x969 SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x2A77 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x97B SWAP2 SWAP1 PUSH2 0x69C6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x990 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9AB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9A6 SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x2CB4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x9B8 SWAP2 SWAP1 PUSH2 0x6568 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9E8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9E3 SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x2D69 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x9F5 SWAP2 SWAP1 PUSH2 0x662D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA0A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA13 PUSH2 0x2DFB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA20 SWAP2 SWAP1 PUSH2 0x6648 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA35 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA50 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA4B SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x2E23 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA5D SWAP2 SWAP1 PUSH2 0x660B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA80 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA7B SWAP2 SWAP1 PUSH2 0x54E9 JUMP JUMPDEST PUSH2 0x2EBA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA8D SWAP2 SWAP1 PUSH2 0x6A47 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAA2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xABD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAB8 SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x3192 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xACA SWAP2 SWAP1 PUSH2 0x6B43 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xADF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAFA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAF5 SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x3224 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB07 SWAP2 SWAP1 PUSH2 0x69A4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB1C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB37 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB32 SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x349E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB44 SWAP2 SWAP1 PUSH2 0x6685 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB59 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB62 PUSH2 0x3535 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB6F SWAP2 SWAP1 PUSH2 0x6A47 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB84 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB9F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB9A SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x3554 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBAC SWAP2 SWAP1 PUSH2 0x65E9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBC1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBDC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xBD7 SWAP2 SWAP1 PUSH2 0x57BE JUMP JUMPDEST PUSH2 0x35EB JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC05 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC00 SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x3867 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC12 SWAP2 SWAP1 PUSH2 0x6648 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC27 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC42 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC3D SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x38F9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC4F SWAP2 SWAP1 PUSH2 0x6A47 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC7F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC7A SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x392E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC8C SWAP2 SWAP1 PUSH2 0x662D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCA1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCBC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xCB7 SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x39C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCC9 SWAP2 SWAP1 PUSH2 0x6A25 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCDE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCF9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xCF4 SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x3AEB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD07 SWAP3 SWAP2 SWAP1 PUSH2 0x66FF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD1C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD37 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD32 SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x3C16 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD44 SWAP2 SWAP1 PUSH2 0x66E4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD59 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD74 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD6F SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x3CA8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD81 SWAP2 SWAP1 PUSH2 0x6648 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD96 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD9F PUSH2 0x3D3D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDAC SWAP2 SWAP1 PUSH2 0x66C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDC1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDDC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xDD7 SWAP2 SWAP1 PUSH2 0x5457 JUMP JUMPDEST PUSH2 0x3D61 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDE9 SWAP2 SWAP1 PUSH2 0x6A25 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDFE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE19 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE14 SWAP2 SWAP1 PUSH2 0x51BE JUMP JUMPDEST PUSH2 0x3DFC JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH2 0xE25 PUSH2 0x3FA1 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH20 0x0 PUSH4 0xFC853C37 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xEB5 SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xECD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xEE1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF0A SWAP2 SWAP1 PUSH2 0x527D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH20 0x0 PUSH4 0x8EFC097 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF4C SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xF64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF78 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xFA1 SWAP2 SWAP1 PUSH2 0x52C6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH20 0x0 PUSH4 0xF417DAF5 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFE3 SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xFFB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x100F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1038 SWAP2 SWAP1 PUSH2 0x55F9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1057 JUMPI PUSH2 0x1056 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x1060 DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1072 JUMPI PUSH2 0x1071 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x107C DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x10BD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x10B4 SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH2 0x10C6 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x3 ADD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x4 ADD SLOAD SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1102 JUMPI PUSH2 0x1101 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x110B DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x111D JUMPI PUSH2 0x111C PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x1127 DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x1168 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x115F SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH2 0x1172 DUP5 PUSH2 0x41E7 JUMP JUMPDEST PUSH1 0x1 ADD SLOAD SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH20 0x0 PUSH4 0xD8868DB6 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11BA SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x11D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x11E6 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 0x120A SWAP2 SWAP1 PUSH2 0x55CC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1219 PUSH2 0x4409 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x130283EE DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1250 SWAP2 SWAP1 PUSH2 0x6982 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1268 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x127C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x12A5 SWAP2 SWAP1 PUSH2 0x56D4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x12B4 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1345 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x133C SWAP1 PUSH2 0x67E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x13E5 JUMPI PUSH1 0x0 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1366 JUMPI PUSH2 0x1365 PUSH2 0x7212 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x0 PUSH2 0x137A PUSH2 0x3FA1 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH2 0x13DD SWAP1 PUSH2 0x713C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1348 JUMP JUMPDEST POP PUSH32 0x646436560D9757CB3C0F01DA0F62642C6040B00C9A80685F94EF1A7725CAD5F1 DUP2 PUSH1 0x40 MLOAD PUSH2 0x1415 SWAP2 SWAP1 PUSH2 0x6583 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH2 0x1428 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x14B9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14B0 SWAP1 PUSH2 0x67E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SELFDESTRUCT JUMPDEST PUSH1 0x0 DUP2 PUSH20 0x0 PUSH4 0xC71DB521 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x150D SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1525 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1539 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 0x155D SWAP2 SWAP1 PUSH2 0x559F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x157C JUMPI PUSH2 0x157B PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x1585 DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1597 JUMPI PUSH2 0x1596 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x15A1 DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x15E2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15D9 SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH2 0x15EB PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x3 ADD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x3 ADD SLOAD SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1625 JUMPI PUSH2 0x1624 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x162E DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1640 JUMPI PUSH2 0x163F PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ ISZERO PUSH2 0x1681 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1678 SWAP1 PUSH2 0x6942 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x168C DUP4 PUSH2 0x420F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x17DE JUMPI DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF0940002 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1750 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1764 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x178D SWAP2 SWAP1 PUSH2 0x54A0 JUMP JUMPDEST SWAP2 POP DUP1 PUSH1 0x2 ADD SLOAD PUSH2 0x179D DUP4 PUSH2 0x4237 JUMP JUMPDEST EQ PUSH2 0x17DD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x17D4 SWAP1 PUSH2 0x6882 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17EE PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x189B JUMPI CALLER SWAP1 POP DUP1 PUSH2 0x1855 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x190A JUMP JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1909 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1900 SWAP1 PUSH2 0x6922 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x192A PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1A0B JUMPI PUSH2 0x1971 PUSH2 0x1D02 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x198F PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1A0A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A01 SWAP1 PUSH2 0x6902 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST PUSH2 0x1A13 PUSH2 0x1D02 JUMP JUMPDEST PUSH2 0x1A1B PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x1A64 PUSH2 0x2DFB JUMP JUMPDEST PUSH2 0x1A6C PUSH2 0x1D02 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x72D4B00D8E35B3717E384AEF5F900256A106D6A423D88935A11579981333BA20 PUSH2 0x1AC2 PUSH2 0x1D7D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1ACF SWAP2 SWAP1 PUSH2 0x6648 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH2 0x1AF3 DUP3 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1AEE SWAP2 SWAP1 PUSH2 0x5234 JUMP JUMPDEST PUSH2 0x1AF7 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x1AFF PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1B90 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B87 SWAP1 PUSH2 0x67E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x1C30 JUMPI PUSH1 0x0 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1BB1 JUMPI PUSH2 0x1BB0 PUSH2 0x7212 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x1 PUSH2 0x1BC5 PUSH2 0x3FA1 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH2 0x1C28 SWAP1 PUSH2 0x713C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1B93 JUMP JUMPDEST POP PUSH32 0x4D570EE36DEC878006609360D34AC8D6A0B68D521871AE15A407B6340877CA01 DUP2 PUSH1 0x40 MLOAD PUSH2 0x1C60 SWAP2 SWAP1 PUSH2 0x6583 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH20 0x0 PUSH4 0x147E5C8F SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1CA6 SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1CBE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1CD2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1CFB SWAP2 SWAP1 PUSH2 0x53B4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x9969C6AFF411C5E5F0807500693E8F819CE88529615CFA6CAB569B24788A1018 PUSH1 0x0 SHL SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x1DAD PUSH2 0x3FA1 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x1E3A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E31 SWAP1 PUSH2 0x68C2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH1 0x1 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1E50 JUMPI PUSH2 0x1E4F PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x1E59 DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1E6B JUMPI PUSH2 0x1E6A PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x1E75 DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x1EB6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1EAD SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 DUP1 SHL DUP6 EQ ISZERO PUSH2 0x1EFD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1EF4 SWAP1 PUSH2 0x68A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP5 SWAP1 POP EQ ISZERO PUSH2 0x1F44 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F3B SWAP1 PUSH2 0x68E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1F9D CALLER PUSH2 0x1F98 DUP9 TIMESTAMP DUP10 DUP10 DUP10 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH2 0x4290 JUMP JUMPDEST PUSH2 0x43AE JUMP JUMPDEST PUSH31 0xE9413C6321EC446A267B7EBF5BB108663F2EF58B35C4F6E18905AC8F205CB2 DUP7 CALLER PUSH1 0x40 MLOAD PUSH2 0x1FCD SWAP3 SWAP2 SWAP1 PUSH2 0x6A62 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x1 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1FF3 JUMPI PUSH2 0x1FF2 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x1FFC DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x200E JUMPI PUSH2 0x200D PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x2018 DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x2059 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2050 SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 PUSH2 0x2065 DUP5 PUSH2 0x420F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2071 PUSH2 0x43F9 JUMP JUMPDEST DUP3 PUSH1 0x4 ADD SLOAD PUSH2 0x2080 SWAP2 SWAP1 PUSH2 0x6EA6 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x208C PUSH2 0x4401 JUMP JUMPDEST SWAP1 POP DUP3 PUSH1 0x3 ADD SLOAD DUP2 GT ISZERO PUSH2 0x20F5 JUMPI PUSH1 0x0 PUSH2 0x20A5 DUP3 PUSH2 0x38F9 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 LT ISZERO PUSH2 0x20EA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x20E1 SWAP1 PUSH2 0x6862 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP5 PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP POP JUMPDEST DUP2 DUP4 PUSH1 0x4 ADD DUP2 SWAP1 SSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2111 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH2 0x213F PUSH2 0x1D55 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2176 JUMPI POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2189 DUP3 PUSH2 0x3FC9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2198 PUSH2 0x442B JUMP JUMPDEST DUP2 PUSH1 0x2 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x21AE JUMPI PUSH2 0x21AD PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x21B7 DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x21C9 JUMPI PUSH2 0x21C8 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x21D3 DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x2214 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x220B SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH2 0x221E DUP5 PUSH2 0x41E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH2 0x22A3 SWAP1 PUSH2 0x70D9 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x22CF SWAP1 PUSH2 0x70D9 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x231C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x22F1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x231C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x22FF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH20 0x0 PUSH4 0xA1D45D56 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2369 SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2381 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2395 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 0x23B9 SWAP2 SWAP1 PUSH2 0x53FD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x23C8 PUSH2 0x442B JUMP JUMPDEST DUP2 PUSH1 0x2 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x23DE JUMPI PUSH2 0x23DD PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x23E7 DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x23F9 JUMPI PUSH2 0x23F8 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x2403 DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x2444 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x243B SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 PUSH2 0x244F PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x3 ADD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x9 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x24F7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x24EE SWAP1 PUSH2 0x6842 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x5 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH2 0x2580 SWAP1 PUSH2 0x70D9 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x25AC SWAP1 PUSH2 0x70D9 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x25F9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x25CE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x25F9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x25DC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP4 POP PUSH2 0x260C PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x3 ADD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE PUSH1 0x4 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE POP POP PUSH1 0x5 DUP3 ADD PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD PUSH1 0x0 PUSH2 0x26DA SWAP2 SWAP1 PUSH2 0x446C JUMP JUMPDEST POP POP PUSH1 0x9 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE POP POP PUSH32 0xDEC847DB058C9C012E0F3DBE2B99E05CFA4C693F61A7D8BC64652A68913CBFFF DUP6 CALLER PUSH1 0x40 MLOAD PUSH2 0x2736 SWAP3 SWAP2 SWAP1 PUSH2 0x6A62 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x274E PUSH2 0x3FA1 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x27DB JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x27D2 SWAP1 PUSH2 0x68C2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 MLOAD SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2A29 JUMPI PUSH1 0x0 DUP6 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2802 JUMPI PUSH2 0x2801 PUSH2 0x7212 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2820 JUMPI PUSH2 0x281F PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x282D DUP3 PUSH1 0x0 ADD MLOAD PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x283F JUMPI PUSH2 0x283E PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x288B JUMPI DUP5 ISZERO PUSH2 0x2886 JUMPI PUSH32 0x4DF64445EDC775FBA59DB44B8001852FB1B777EEA88FD54F04572DD114E3FF7F DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x287D SWAP2 SWAP1 PUSH2 0x6AB9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST PUSH2 0x2A15 JUMP JUMPDEST PUSH1 0x0 DUP1 SHL DUP2 PUSH1 0x40 ADD MLOAD EQ ISZERO PUSH2 0x28E1 JUMPI DUP5 ISZERO PUSH2 0x28DC JUMPI PUSH32 0x4DF64445EDC775FBA59DB44B8001852FB1B777EEA88FD54F04572DD114E3FF7F DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x28D3 SWAP2 SWAP1 PUSH2 0x6AE7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST PUSH2 0x2A14 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x60 ADD MLOAD MLOAD EQ ISZERO PUSH2 0x2936 JUMPI DUP5 ISZERO PUSH2 0x2931 JUMPI PUSH32 0x4DF64445EDC775FBA59DB44B8001852FB1B777EEA88FD54F04572DD114E3FF7F DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x2928 SWAP2 SWAP1 PUSH2 0x6B15 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST PUSH2 0x2A13 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x20 ADD MLOAD GT DUP1 ISZERO PUSH2 0x294D JUMPI POP TIMESTAMP DUP2 PUSH1 0x20 ADD MLOAD GT JUMPDEST ISZERO PUSH2 0x2999 JUMPI DUP5 ISZERO PUSH2 0x2994 JUMPI PUSH32 0x4DF64445EDC775FBA59DB44B8001852FB1B777EEA88FD54F04572DD114E3FF7F DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x298B SWAP2 SWAP1 PUSH2 0x6A8B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST PUSH2 0x2A12 JUMP JUMPDEST PUSH2 0x29C8 DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x0 DUP4 PUSH1 0x20 ADD MLOAD EQ PUSH2 0x29B7 JUMPI DUP3 PUSH1 0x20 ADD MLOAD PUSH2 0x29B9 JUMP JUMPDEST TIMESTAMP JUMPDEST DUP4 PUSH1 0x40 ADD MLOAD DUP5 PUSH1 0x60 ADD MLOAD PUSH2 0x4290 JUMP JUMPDEST DUP5 PUSH2 0x29D3 SWAP2 SWAP1 PUSH2 0x6EA6 JUMP JUMPDEST SWAP4 POP PUSH31 0xE9413C6321EC446A267B7EBF5BB108663F2EF58B35C4F6E18905AC8F205CB2 DUP2 PUSH1 0x0 ADD MLOAD CALLER PUSH1 0x40 MLOAD PUSH2 0x2A09 SWAP3 SWAP2 SWAP1 PUSH2 0x6A62 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST JUMPDEST JUMPDEST JUMPDEST POP DUP1 DUP1 PUSH2 0x2A21 SWAP1 PUSH2 0x713C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x27E5 JUMP JUMPDEST POP PUSH1 0x0 DUP3 GT ISZERO PUSH2 0x2A3E JUMPI PUSH2 0x2A3D CALLER DUP4 PUSH2 0x43AE JUMP JUMPDEST JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A4E PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x2A7F PUSH2 0x44AC JUMP JUMPDEST DUP2 PUSH1 0x1 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2A95 JUMPI PUSH2 0x2A94 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x2A9E DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2AB0 JUMPI PUSH2 0x2AAF PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x2ABA DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x2AFB JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2AF2 SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 PUSH2 0x2B06 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x3 ADD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD SLOAD DUP2 MSTORE POP POP SWAP4 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH1 0x9 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x2CAC JUMPI DUP1 PUSH1 0x9 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0x20 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP JUMPDEST POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2CCC JUMPI PUSH2 0x2CCB PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x2CD5 DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2CE7 JUMPI PUSH2 0x2CE6 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x2CF1 DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x2D32 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D29 SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH2 0x2D3C DUP5 PUSH2 0x41E7 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH20 0x0 PUSH4 0x6646C119 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2DA4 SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2DBC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2DD0 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 0x2DF4 SWAP2 SWAP1 PUSH2 0x53FD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH20 0x0 PUSH4 0x879730D SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2E5E SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2E76 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2E8A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2EB3 SWAP2 SWAP1 PUSH2 0x53B4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2EC5 PUSH2 0x43F9 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2ED1 PUSH2 0x4401 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2EDE DUP3 PUSH2 0x38F9 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 LT ISZERO PUSH2 0x2F23 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2F1A SWAP1 PUSH2 0x6862 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x2F93 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2F8A SWAP1 PUSH2 0x67A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF0940002 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2FDB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2FEF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3018 SWAP2 SWAP1 PUSH2 0x54A0 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x305E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3055 SWAP1 PUSH2 0x6822 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3066 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x2 ADD PUSH1 0x0 DUP2 SLOAD PUSH2 0x3076 SWAP1 PUSH2 0x713C JUMP JUMPDEST SWAP2 SWAP1 POP DUP2 SWAP1 SSTORE SWAP5 POP CALLER PUSH2 0x3087 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x3 ADD PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x9 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 PUSH2 0x30E7 DUP7 PUSH2 0x420F JUMP JUMPDEST SWAP1 POP DUP7 DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x3135 DUP3 PUSH2 0x4237 JUMP JUMPDEST DUP2 PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP DUP4 DUP2 PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP DUP5 DUP2 PUSH1 0x4 ADD DUP2 SWAP1 SSTORE POP PUSH32 0xCABAF9C102F83746B27AE932F638EEBFAF5EA7D014EDD20AB14DEC3768A8F55C DUP7 CALLER PUSH1 0x40 MLOAD PUSH2 0x3180 SWAP3 SWAP2 SWAP1 PUSH2 0x6A62 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH20 0x0 PUSH4 0x8233F9B3 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x31CD SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x31E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x31F9 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 0x321D SWAP2 SWAP1 PUSH2 0x5846 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x322C PUSH2 0x450A JUMP JUMPDEST PUSH2 0x3234 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x3 ADD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD SLOAD DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 DUP3 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH2 0x33BB SWAP1 PUSH2 0x70D9 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x33E7 SWAP1 PUSH2 0x70D9 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3434 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3409 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3434 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3417 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x9 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH20 0x0 PUSH4 0xA1B90891 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x34D9 SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x34F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3505 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x352E SWAP2 SWAP1 PUSH2 0x54A0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x3541 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH2 0x354F SWAP2 SWAP1 PUSH2 0x6EA6 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH20 0x0 PUSH4 0x2D26B9E2 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x358F SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x35A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x35BB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x35E4 SWAP2 SWAP1 PUSH2 0x530F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x35F3 PUSH2 0x3FA1 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x3680 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3677 SWAP1 PUSH2 0x68C2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 PUSH1 0x1 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x3696 JUMPI PUSH2 0x3695 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x369F DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x36B1 JUMPI PUSH2 0x36B0 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x36BB DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x36FC JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x36F3 SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP TIMESTAMP DUP7 GT ISZERO PUSH2 0x3740 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3737 SWAP1 PUSH2 0x6802 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SHL DUP6 EQ ISZERO PUSH2 0x3786 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x377D SWAP1 PUSH2 0x68A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP5 SWAP1 POP EQ ISZERO PUSH2 0x37CD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x37C4 SWAP1 PUSH2 0x68E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3826 CALLER PUSH2 0x3821 DUP10 DUP10 DUP10 DUP10 DUP10 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH2 0x4290 JUMP JUMPDEST PUSH2 0x43AE JUMP JUMPDEST PUSH31 0xE9413C6321EC446A267B7EBF5BB108663F2EF58B35C4F6E18905AC8F205CB2 DUP8 CALLER PUSH1 0x40 MLOAD PUSH2 0x3856 SWAP3 SWAP2 SWAP1 PUSH2 0x6A62 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH20 0x0 PUSH4 0xA2E87655 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x38A2 SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x38BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x38CE 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 0x38F2 SWAP2 SWAP1 PUSH2 0x542A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 DUP3 PUSH2 0x3927 SWAP2 SWAP1 PUSH2 0x6EFC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH20 0x0 PUSH4 0xABF82F4C SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3969 SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3981 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3995 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 0x39B9 SWAP2 SWAP1 PUSH2 0x53FD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x39C8 PUSH2 0x4409 JUMP JUMPDEST DUP2 PUSH1 0x2 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x39DE JUMPI PUSH2 0x39DD PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x39E7 DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x39F9 JUMPI PUSH2 0x39F8 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x3A03 DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x3A44 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A3B SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 PUSH2 0x3A50 DUP6 PUSH2 0x41E7 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0xE99E47F3 DUP3 PUSH1 0x3 ADD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A8C SWAP2 SWAP1 PUSH2 0x66A7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3AA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3AB8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3AE1 SWAP2 SWAP1 PUSH2 0x56D4 JUMP JUMPDEST SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 PUSH20 0x0 PUSH4 0x8CC5EB54 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B28 SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3B40 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x3B76 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3B73 SWAP2 SWAP1 PUSH2 0x5543 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x3C08 JUMPI PUSH2 0x3B82 PUSH2 0x7270 JUMP JUMPDEST DUP1 PUSH4 0x8C379A0 EQ ISZERO PUSH2 0x3BAF JUMPI POP PUSH2 0x3B97 PUSH2 0x78B5 JUMP JUMPDEST DUP1 PUSH2 0x3BA2 JUMPI POP PUSH2 0x3BB1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP3 POP SWAP3 POP POP PUSH2 0x3C11 JUMP JUMPDEST POP JUMPDEST RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x3BDD JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x3BE2 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP PUSH1 0xFF PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x2F DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x7ADE PUSH1 0x2F SWAP2 CODECOPY SWAP3 POP SWAP3 POP POP PUSH2 0x3C11 JUMP JUMPDEST DUP2 DUP2 SWAP4 POP SWAP4 POP POP POP JUMPDEST SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH20 0x0 PUSH4 0xD45D097D SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3C51 SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3C69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3C7D 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 0x3CA1 SWAP2 SWAP1 PUSH2 0x5516 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x3CC0 JUMPI PUSH2 0x3CBF PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x3CC9 DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x3CDB JUMPI PUSH2 0x3CDA PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x3CE5 DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x3D26 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3D1D SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH2 0x3D30 DUP5 PUSH2 0x41E7 JUMP JUMPDEST PUSH1 0x2 ADD SLOAD SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH2 0x3D69 PUSH2 0x4409 JUMP JUMPDEST PUSH20 0x0 PUSH4 0xE99E47F3 DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3DA0 SWAP2 SWAP1 PUSH2 0x6663 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3DB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3DCC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3DF5 SWAP2 SWAP1 PUSH2 0x56D4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3E04 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x3E95 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3E8C SWAP1 PUSH2 0x67E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3E9F PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x3F9D JUMPI DUP2 PUSH2 0x3F01 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xA6DB7263983F337BAE2C9FB315730227961D1C1153AE1E10A56B5791465DD6FD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 EQ DUP1 PUSH2 0x3FE3 JUMPI POP PUSH2 0x3FDC PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x2 ADD SLOAD DUP3 GT JUMPDEST ISZERO PUSH2 0x3FF1 JUMPI PUSH1 0x0 SWAP1 POP PUSH2 0x4094 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3FFB PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x3 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP PUSH1 0x0 DUP1 SHL DUP2 PUSH1 0x5 ADD PUSH1 0x2 ADD SLOAD EQ PUSH2 0x402C JUMPI PUSH1 0x2 SWAP2 POP POP PUSH2 0x4094 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH1 0x9 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x408E JUMPI PUSH1 0x1 SWAP2 POP POP PUSH2 0x4094 JUMP JUMPDEST PUSH1 0x3 SWAP2 POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x40AF JUMPI PUSH2 0x40AE PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x40C2 JUMPI PUSH2 0x40C1 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ ISZERO PUSH2 0x40E8 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x7A92 PUSH1 0x25 SWAP2 CODECOPY SWAP1 POP PUSH2 0x41BA JUMP JUMPDEST PUSH1 0x2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x40FC JUMPI PUSH2 0x40FB PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x410F JUMPI PUSH2 0x410E PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ ISZERO PUSH2 0x4135 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x7AB7 PUSH1 0x27 SWAP2 CODECOPY SWAP1 POP PUSH2 0x41BA JUMP JUMPDEST PUSH1 0x3 DUP1 DUP2 GT ISZERO PUSH2 0x4148 JUMPI PUSH2 0x4147 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x415B JUMPI PUSH2 0x415A PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ ISZERO PUSH2 0x4181 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x26 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x7A6C PUSH1 0x26 SWAP2 CODECOPY SWAP1 POP PUSH2 0x41BA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x5769746E6574426F617264446174613A20626164206D6F6F6400000000000000 DUP2 MSTORE POP SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xF595240B351BC8F951C2F53B26F4E78C32CB62122CF76C19B7FDDA7D4968E183 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x41F1 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x3 ADD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x5 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4219 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x3 ADD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 PUSH1 0x40 MLOAD PUSH2 0x4249 SWAP2 SWAP1 PUSH2 0x6551 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4266 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST 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 0x4289 SWAP2 SWAP1 PUSH2 0x542A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x429B PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x3 ADD PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x0 ADD SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x5 ADD SWAP1 POP DUP7 DUP2 PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP DUP6 DUP2 PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP CALLER DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP5 DUP2 PUSH1 0x3 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x432E SWAP3 SWAP2 SWAP1 PUSH2 0x454D JUMP JUMPDEST POP DUP2 PUSH1 0x4 ADD SLOAD SWAP4 POP DUP3 PUSH1 0x0 ADD PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE PUSH1 0x4 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE POP POP POP POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x43F4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLVALUE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 GASPRICE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x4425 PUSH2 0x45D3 JUMP JUMPDEST DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP1 NOT AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x4478 SWAP1 PUSH2 0x70D9 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x448A JUMPI POP PUSH2 0x44A9 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x44A8 SWAP2 SWAP1 PUSH2 0x462C JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP1 NOT AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH2 0x451D PUSH2 0x44AC JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x452A PUSH2 0x442B JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x4559 SWAP1 PUSH2 0x70D9 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x457B JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x45C2 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x4594 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x45C2 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x45C2 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x45C1 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x45A6 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x45CF SWAP2 SWAP1 PUSH2 0x462C JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH2 0x45E6 PUSH2 0x4649 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x4645 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x462D JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x467C PUSH2 0x4677 DUP5 PUSH2 0x6B83 JUMP JUMPDEST PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x469F JUMPI PUSH2 0x469E PUSH2 0x72A6 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x46CF JUMPI DUP2 PUSH2 0x46B5 DUP9 DUP3 PUSH2 0x4A7B JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x46A2 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x46EC PUSH2 0x46E7 DUP5 PUSH2 0x6B83 JUMP JUMPDEST PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x470F JUMPI PUSH2 0x470E PUSH2 0x72A6 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x473F JUMPI DUP2 PUSH2 0x4725 DUP9 DUP3 PUSH2 0x4A90 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x4712 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x475C PUSH2 0x4757 DUP5 PUSH2 0x6BAF JUMP JUMPDEST PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x477F JUMPI PUSH2 0x477E PUSH2 0x72A6 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x47AF JUMPI DUP2 PUSH2 0x4795 DUP9 DUP3 PUSH2 0x4D17 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x4782 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x47CC PUSH2 0x47C7 DUP5 PUSH2 0x6BDB JUMP JUMPDEST PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x47EF JUMPI PUSH2 0x47EE PUSH2 0x72A6 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x481F JUMPI DUP2 PUSH2 0x4805 DUP9 DUP3 PUSH2 0x4D2C JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x47F2 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x483C PUSH2 0x4837 DUP5 PUSH2 0x6C07 JUMP JUMPDEST PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x485F JUMPI PUSH2 0x485E PUSH2 0x72A6 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x48AD JUMPI DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4885 JUMPI PUSH2 0x4884 PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x4892 DUP10 DUP3 PUSH2 0x4D41 JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP5 ADD SWAP4 POP POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x4862 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x48CA PUSH2 0x48C5 DUP5 PUSH2 0x6C33 JUMP JUMPDEST PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x48ED JUMPI PUSH2 0x48EC PUSH2 0x72A6 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x493B JUMPI DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4913 JUMPI PUSH2 0x4912 PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x4920 DUP10 DUP3 PUSH2 0x4D6F JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP5 ADD SWAP4 POP POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x48F0 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4958 PUSH2 0x4953 DUP5 PUSH2 0x6C5F JUMP JUMPDEST PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x497B JUMPI PUSH2 0x497A PUSH2 0x72A6 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x49AB JUMPI DUP2 PUSH2 0x4991 DUP9 DUP3 PUSH2 0x517F JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x497E JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x49C8 PUSH2 0x49C3 DUP5 PUSH2 0x6C8B JUMP JUMPDEST PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x49E4 JUMPI PUSH2 0x49E3 PUSH2 0x72AB JUMP JUMPDEST JUMPDEST PUSH2 0x49EF DUP5 DUP3 DUP6 PUSH2 0x7097 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A0A PUSH2 0x4A05 DUP5 PUSH2 0x6C8B JUMP JUMPDEST PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x4A26 JUMPI PUSH2 0x4A25 PUSH2 0x72AB JUMP JUMPDEST JUMPDEST PUSH2 0x4A31 DUP5 DUP3 DUP6 PUSH2 0x70A6 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A4C PUSH2 0x4A47 DUP5 PUSH2 0x6CBC JUMP JUMPDEST PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x4A68 JUMPI PUSH2 0x4A67 PUSH2 0x72AB JUMP JUMPDEST JUMPDEST PUSH2 0x4A73 DUP5 DUP3 DUP6 PUSH2 0x70A6 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4A8A DUP2 PUSH2 0x7974 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x4A9F DUP2 PUSH2 0x7974 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4ABA JUMPI PUSH2 0x4AB9 PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x4ACA DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x4669 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4AE8 JUMPI PUSH2 0x4AE7 PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x4AF8 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x46D9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4B16 JUMPI PUSH2 0x4B15 PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x4B26 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x4749 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4B44 JUMPI PUSH2 0x4B43 PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x4B54 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x47B9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4B72 JUMPI PUSH2 0x4B71 PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x4B82 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x4829 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4BA0 JUMPI PUSH2 0x4B9F PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x4BB0 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x48B7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4BCE JUMPI PUSH2 0x4BCD PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x4BDE DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x4945 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4BF6 DUP2 PUSH2 0x798B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x4C0B DUP2 PUSH2 0x798B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4C20 DUP2 PUSH2 0x79A2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x4C35 DUP2 PUSH2 0x79A2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x4C51 JUMPI PUSH2 0x4C50 PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4C6E JUMPI PUSH2 0x4C6D PUSH2 0x7292 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x4C8A JUMPI PUSH2 0x4C89 PUSH2 0x72A6 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4CA6 JUMPI PUSH2 0x4CA5 PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x4CB6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x49B5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4CD4 JUMPI PUSH2 0x4CD3 PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x4CE4 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x49F7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4CFC DUP2 PUSH2 0x79B9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x4D11 DUP2 PUSH2 0x79D0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x4D26 DUP2 PUSH2 0x79E1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x4D3B DUP2 PUSH2 0x79F8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4D56 JUMPI PUSH2 0x4D55 PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x4D66 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x4A39 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4D85 JUMPI PUSH2 0x4D84 PUSH2 0x729C JUMP JUMPDEST JUMPDEST PUSH2 0x4D8F PUSH1 0x80 PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x4D9F DUP5 DUP3 DUP6 ADD PUSH2 0x512B JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x4DB3 DUP5 DUP3 DUP6 ADD PUSH2 0x512B JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 PUSH2 0x4DC7 DUP5 DUP3 DUP6 ADD PUSH2 0x4C11 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4DEB JUMPI PUSH2 0x4DEA PUSH2 0x72A1 JUMP JUMPDEST JUMPDEST PUSH2 0x4DF7 DUP5 DUP3 DUP6 ADD PUSH2 0x4C91 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4E19 JUMPI PUSH2 0x4E18 PUSH2 0x729C JUMP JUMPDEST JUMPDEST PUSH2 0x4E23 PUSH1 0x40 PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4E43 JUMPI PUSH2 0x4E42 PUSH2 0x72A1 JUMP JUMPDEST JUMPDEST PUSH2 0x4E4F DUP5 DUP3 DUP6 ADD PUSH2 0x4C91 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x4E63 DUP5 DUP3 DUP6 ADD PUSH2 0x5140 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4E85 JUMPI PUSH2 0x4E84 PUSH2 0x729C JUMP JUMPDEST JUMPDEST PUSH2 0x4E8F PUSH1 0x40 PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4EAF JUMPI PUSH2 0x4EAE PUSH2 0x72A1 JUMP JUMPDEST JUMPDEST PUSH2 0x4EBB DUP5 DUP3 DUP6 ADD PUSH2 0x4CBF JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x4ECF DUP5 DUP3 DUP6 ADD PUSH2 0x5155 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4EF1 JUMPI PUSH2 0x4EF0 PUSH2 0x729C JUMP JUMPDEST JUMPDEST PUSH2 0x4EFB PUSH1 0xC0 PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4F1B JUMPI PUSH2 0x4F1A PUSH2 0x72A1 JUMP JUMPDEST JUMPDEST PUSH2 0x4F27 DUP5 DUP3 DUP6 ADD PUSH2 0x4E03 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x4F3B DUP5 DUP3 DUP6 ADD PUSH2 0x5194 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 PUSH2 0x4F4F DUP5 DUP3 DUP6 ADD PUSH2 0x5194 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 PUSH2 0x4F63 DUP5 DUP3 DUP6 ADD PUSH2 0x5194 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 PUSH2 0x4F77 DUP5 DUP3 DUP6 ADD PUSH2 0x516A JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 PUSH2 0x4F8B DUP5 DUP3 DUP6 ADD PUSH2 0x516A JUMP JUMPDEST PUSH1 0xA0 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4FAD JUMPI PUSH2 0x4FAC PUSH2 0x729C JUMP JUMPDEST JUMPDEST PUSH2 0x4FB7 PUSH1 0xC0 PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4FD7 JUMPI PUSH2 0x4FD6 PUSH2 0x72A1 JUMP JUMPDEST JUMPDEST PUSH2 0x4FE3 DUP5 DUP3 DUP6 ADD PUSH2 0x4E6F JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x4FF7 DUP5 DUP3 DUP6 ADD PUSH2 0x51A9 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 PUSH2 0x500B DUP5 DUP3 DUP6 ADD PUSH2 0x51A9 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 PUSH2 0x501F DUP5 DUP3 DUP6 ADD PUSH2 0x51A9 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 PUSH2 0x5033 DUP5 DUP3 DUP6 ADD PUSH2 0x517F JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 PUSH2 0x5047 DUP5 DUP3 DUP6 ADD PUSH2 0x517F JUMP JUMPDEST PUSH1 0xA0 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5069 JUMPI PUSH2 0x5068 PUSH2 0x729C JUMP JUMPDEST JUMPDEST PUSH2 0x5073 PUSH1 0x40 PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x5083 DUP5 DUP3 DUP6 ADD PUSH2 0x4BE7 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x50A7 JUMPI PUSH2 0x50A6 PUSH2 0x72A1 JUMP JUMPDEST JUMPDEST PUSH2 0x50B3 DUP5 DUP3 DUP6 ADD PUSH2 0x4EDB JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x50D5 JUMPI PUSH2 0x50D4 PUSH2 0x729C JUMP JUMPDEST JUMPDEST PUSH2 0x50DF PUSH1 0x40 PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x50EF DUP5 DUP3 DUP6 ADD PUSH2 0x4BFC JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5113 JUMPI PUSH2 0x5112 PUSH2 0x72A1 JUMP JUMPDEST JUMPDEST PUSH2 0x511F DUP5 DUP3 DUP6 ADD PUSH2 0x4F97 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x513A DUP2 PUSH2 0x7A0F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x514F DUP2 PUSH2 0x7A26 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x5164 DUP2 PUSH2 0x7A26 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x5179 DUP2 PUSH2 0x7A3D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x518E DUP2 PUSH2 0x7A3D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x51A3 DUP2 PUSH2 0x7A54 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x51B8 DUP2 PUSH2 0x7A54 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x51D4 JUMPI PUSH2 0x51D3 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x51E2 DUP5 DUP3 DUP6 ADD PUSH2 0x4A7B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5201 JUMPI PUSH2 0x5200 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x521F JUMPI PUSH2 0x521E PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x522B DUP5 DUP3 DUP6 ADD PUSH2 0x4AA5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x524A JUMPI PUSH2 0x5249 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5268 JUMPI PUSH2 0x5267 PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x5274 DUP5 DUP3 DUP6 ADD PUSH2 0x4AD3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5293 JUMPI PUSH2 0x5292 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x52B1 JUMPI PUSH2 0x52B0 PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x52BD DUP5 DUP3 DUP6 ADD PUSH2 0x4B01 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x52DC JUMPI PUSH2 0x52DB PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x52FA JUMPI PUSH2 0x52F9 PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x5306 DUP5 DUP3 DUP6 ADD PUSH2 0x4B2F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5325 JUMPI PUSH2 0x5324 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5343 JUMPI PUSH2 0x5342 PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x534F DUP5 DUP3 DUP6 ADD PUSH2 0x4B5D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x536F JUMPI PUSH2 0x536E PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x538D JUMPI PUSH2 0x538C PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x5399 DUP6 DUP3 DUP7 ADD PUSH2 0x4B8B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x53AA DUP6 DUP3 DUP7 ADD PUSH2 0x4BE7 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x53CA JUMPI PUSH2 0x53C9 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x53E8 JUMPI PUSH2 0x53E7 PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x53F4 DUP5 DUP3 DUP6 ADD PUSH2 0x4BB9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5413 JUMPI PUSH2 0x5412 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5421 DUP5 DUP3 DUP6 ADD PUSH2 0x4BFC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5440 JUMPI PUSH2 0x543F PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x544E DUP5 DUP3 DUP6 ADD PUSH2 0x4C26 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x546D JUMPI PUSH2 0x546C PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x548B JUMPI PUSH2 0x548A PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x5497 DUP5 DUP3 DUP6 ADD PUSH2 0x4C91 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x54B6 JUMPI PUSH2 0x54B5 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x54D4 JUMPI PUSH2 0x54D3 PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x54E0 DUP5 DUP3 DUP6 ADD PUSH2 0x4CBF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x54FF JUMPI PUSH2 0x54FE PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x550D DUP5 DUP3 DUP6 ADD PUSH2 0x4CED JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x552C JUMPI PUSH2 0x552B PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x553A DUP5 DUP3 DUP6 ADD PUSH2 0x4D02 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x555A JUMPI PUSH2 0x5559 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5568 DUP6 DUP3 DUP7 ADD PUSH2 0x4D02 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5589 JUMPI PUSH2 0x5588 PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x5595 DUP6 DUP3 DUP7 ADD PUSH2 0x4D41 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x55B5 JUMPI PUSH2 0x55B4 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x55C3 DUP5 DUP3 DUP6 ADD PUSH2 0x4D17 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x55E2 JUMPI PUSH2 0x55E1 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x55F0 DUP5 DUP3 DUP6 ADD PUSH2 0x4D2C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x560F JUMPI PUSH2 0x560E PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x562D JUMPI PUSH2 0x562C PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x5639 DUP5 DUP3 DUP6 ADD PUSH2 0x4D41 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5658 JUMPI PUSH2 0x5657 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5676 JUMPI PUSH2 0x5675 PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x5682 DUP5 DUP3 DUP6 ADD PUSH2 0x4EDB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x56A1 JUMPI PUSH2 0x56A0 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x56BF JUMPI PUSH2 0x56BE PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x56CB DUP5 DUP3 DUP6 ADD PUSH2 0x5053 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x56EA JUMPI PUSH2 0x56E9 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5708 JUMPI PUSH2 0x5707 PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x5714 DUP5 DUP3 DUP6 ADD PUSH2 0x50BF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5733 JUMPI PUSH2 0x5732 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5741 DUP5 DUP3 DUP6 ADD PUSH2 0x512B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x5764 JUMPI PUSH2 0x5763 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5772 DUP8 DUP3 DUP9 ADD PUSH2 0x512B JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x5783 DUP8 DUP3 DUP9 ADD PUSH2 0x4C11 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x57A4 JUMPI PUSH2 0x57A3 PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x57B0 DUP8 DUP3 DUP9 ADD PUSH2 0x4C3B JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x57DA JUMPI PUSH2 0x57D9 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x57E8 DUP9 DUP3 DUP10 ADD PUSH2 0x512B JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x57F9 DUP9 DUP3 DUP10 ADD PUSH2 0x512B JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x580A DUP9 DUP3 DUP10 ADD PUSH2 0x4C11 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x582B JUMPI PUSH2 0x582A PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x5837 DUP9 DUP3 DUP10 ADD PUSH2 0x4C3B JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x585C JUMPI PUSH2 0x585B PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x586A DUP5 DUP3 DUP6 ADD PUSH2 0x517F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x587F DUP4 DUP4 PUSH2 0x58E7 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5897 DUP4 DUP4 PUSH2 0x5D0E JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x58AF DUP4 DUP4 PUSH2 0x5D2C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x58C7 DUP4 DUP4 PUSH2 0x5D4A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x58DB DUP4 DUP4 PUSH2 0x6506 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x58F0 DUP2 PUSH2 0x6F56 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x58FF DUP2 PUSH2 0x6F56 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5910 DUP3 PUSH2 0x6D52 JUMP JUMPDEST PUSH2 0x591A DUP2 DUP6 PUSH2 0x6DE0 JUMP JUMPDEST SWAP4 POP PUSH2 0x5925 DUP4 PUSH2 0x6CED JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5956 JUMPI DUP2 MLOAD PUSH2 0x593D DUP9 DUP3 PUSH2 0x5873 JUMP JUMPDEST SWAP8 POP PUSH2 0x5948 DUP4 PUSH2 0x6D9F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x5929 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x596E DUP3 PUSH2 0x6D5D JUMP JUMPDEST PUSH2 0x5978 DUP2 DUP6 PUSH2 0x6DF1 JUMP JUMPDEST SWAP4 POP PUSH2 0x5983 DUP4 PUSH2 0x6CFD JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x59B4 JUMPI DUP2 MLOAD PUSH2 0x599B DUP9 DUP3 PUSH2 0x588B JUMP JUMPDEST SWAP8 POP PUSH2 0x59A6 DUP4 PUSH2 0x6DAC JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x5987 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x59CC DUP3 PUSH2 0x6D68 JUMP JUMPDEST PUSH2 0x59D6 DUP2 DUP6 PUSH2 0x6E02 JUMP JUMPDEST SWAP4 POP PUSH2 0x59E1 DUP4 PUSH2 0x6D0D JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5A12 JUMPI DUP2 MLOAD PUSH2 0x59F9 DUP9 DUP3 PUSH2 0x58A3 JUMP JUMPDEST SWAP8 POP PUSH2 0x5A04 DUP4 PUSH2 0x6DB9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x59E5 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5A2A DUP3 PUSH2 0x6D73 JUMP JUMPDEST PUSH2 0x5A34 DUP2 DUP6 PUSH2 0x6E13 JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x5A46 DUP6 PUSH2 0x6D1D JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x5A82 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x5A63 DUP6 DUP3 PUSH2 0x58BB JUMP JUMPDEST SWAP5 POP PUSH2 0x5A6E DUP4 PUSH2 0x6DC6 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x5A4A JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5A9F DUP3 PUSH2 0x6D7E JUMP JUMPDEST PUSH2 0x5AA9 DUP2 DUP6 PUSH2 0x6E24 JUMP JUMPDEST SWAP4 POP PUSH2 0x5AB4 DUP4 PUSH2 0x6D2D JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5AE5 JUMPI DUP2 MLOAD PUSH2 0x5ACC DUP9 DUP3 PUSH2 0x58CF JUMP JUMPDEST SWAP8 POP PUSH2 0x5AD7 DUP4 PUSH2 0x6DD3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x5AB8 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x5AFB DUP2 PUSH2 0x6F68 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5B0A DUP2 PUSH2 0x6F68 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5B19 DUP2 PUSH2 0x6F68 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5B28 DUP2 PUSH2 0x6F74 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5B37 DUP2 PUSH2 0x6F74 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5B48 DUP3 PUSH2 0x6D89 JUMP JUMPDEST PUSH2 0x5B52 DUP2 DUP6 PUSH2 0x6E35 JUMP JUMPDEST SWAP4 POP PUSH2 0x5B62 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x70A6 JUMP JUMPDEST PUSH2 0x5B6B DUP2 PUSH2 0x72BA JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5B81 DUP3 PUSH2 0x6D89 JUMP JUMPDEST PUSH2 0x5B8B DUP2 DUP6 PUSH2 0x6E46 JUMP JUMPDEST SWAP4 POP PUSH2 0x5B9B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x70A6 JUMP JUMPDEST PUSH2 0x5BA4 DUP2 PUSH2 0x72BA JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5BBA DUP3 PUSH2 0x6D89 JUMP JUMPDEST PUSH2 0x5BC4 DUP2 DUP6 PUSH2 0x6E57 JUMP JUMPDEST SWAP4 POP PUSH2 0x5BD4 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x70A6 JUMP JUMPDEST PUSH2 0x5BDD DUP2 PUSH2 0x72BA JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5BF3 DUP3 PUSH2 0x6D89 JUMP JUMPDEST PUSH2 0x5BFD DUP2 DUP6 PUSH2 0x6E68 JUMP JUMPDEST SWAP4 POP PUSH2 0x5C0D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x70A6 JUMP JUMPDEST PUSH2 0x5C16 DUP2 PUSH2 0x72BA JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5C2C DUP3 PUSH2 0x6D89 JUMP JUMPDEST PUSH2 0x5C36 DUP2 DUP6 PUSH2 0x6E79 JUMP JUMPDEST SWAP4 POP PUSH2 0x5C46 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x70A6 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SLOAD PUSH2 0x5C5F DUP2 PUSH2 0x70D9 JUMP JUMPDEST PUSH2 0x5C69 DUP2 DUP7 PUSH2 0x6E57 JUMP JUMPDEST SWAP5 POP PUSH1 0x1 DUP3 AND PUSH1 0x0 DUP2 EQ PUSH2 0x5C84 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x5C96 JUMPI PUSH2 0x5CC9 JUMP JUMPDEST PUSH1 0xFF NOT DUP4 AND DUP7 MSTORE PUSH1 0x20 DUP7 ADD SWAP4 POP PUSH2 0x5CC9 JUMP JUMPDEST PUSH2 0x5C9F DUP6 PUSH2 0x6D3D JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5CC1 JUMPI DUP2 SLOAD DUP2 DUP10 ADD MSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x5CA2 JUMP JUMPDEST DUP1 DUP9 ADD SWAP6 POP POP POP JUMPDEST POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x5CDB DUP2 PUSH2 0x702B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5CEA DUP2 PUSH2 0x703D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5CF9 DUP2 PUSH2 0x704F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5D08 DUP2 PUSH2 0x7061 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5D17 DUP2 PUSH2 0x6FB6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5D26 DUP2 PUSH2 0x6FB6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5D35 DUP2 PUSH2 0x6FC3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5D44 DUP2 PUSH2 0x6FC3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5D55 DUP3 PUSH2 0x6D94 JUMP JUMPDEST PUSH2 0x5D5F DUP2 DUP6 PUSH2 0x6E84 JUMP JUMPDEST SWAP4 POP PUSH2 0x5D6F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x70A6 JUMP JUMPDEST PUSH2 0x5D78 DUP2 PUSH2 0x72BA JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5D8E DUP3 PUSH2 0x6D94 JUMP JUMPDEST PUSH2 0x5D98 DUP2 DUP6 PUSH2 0x6E95 JUMP JUMPDEST SWAP4 POP PUSH2 0x5DA8 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x70A6 JUMP JUMPDEST PUSH2 0x5DB1 DUP2 PUSH2 0x72BA JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5DC9 PUSH1 0x2C DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5DD4 DUP3 PUSH2 0x72D8 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5DEC PUSH1 0x29 DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5DF7 DUP3 PUSH2 0x7327 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5E0F PUSH1 0x2E DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5E1A DUP3 PUSH2 0x7376 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5E32 PUSH1 0x1B DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5E3D DUP3 PUSH2 0x73C5 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5E55 PUSH1 0x31 DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5E60 DUP3 PUSH2 0x73EE JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5E78 PUSH1 0x2C DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5E83 DUP3 PUSH2 0x743D JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5E9B PUSH1 0x2D DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5EA6 DUP3 PUSH2 0x748C JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5EBE PUSH1 0x2F DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5EC9 DUP3 PUSH2 0x74DB JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5EE1 PUSH1 0x2F DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5EEC DUP3 PUSH2 0x752A JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F04 PUSH1 0x3F DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5F0F DUP3 PUSH2 0x7579 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F27 PUSH1 0x42 DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5F32 DUP3 PUSH2 0x75C8 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F4A PUSH1 0x2A DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5F55 DUP3 PUSH2 0x763D JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F6D PUSH1 0x2D DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5F78 DUP3 PUSH2 0x768C JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F90 PUSH1 0x3A DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5F9B DUP3 PUSH2 0x76DB JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5FB3 PUSH1 0x34 DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5FBE DUP3 PUSH2 0x772A JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5FD6 PUSH1 0x2B DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5FE1 DUP3 PUSH2 0x7779 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5FF9 PUSH1 0x2E DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x6004 DUP3 PUSH2 0x77C8 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x601C PUSH1 0x2F DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x6027 DUP3 PUSH2 0x7817 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x603F PUSH1 0x31 DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x604A DUP3 PUSH2 0x7866 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x6072 DUP3 DUP3 PUSH2 0x5B3D JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x6087 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x64E8 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x60AF DUP3 DUP3 PUSH2 0x5BE8 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x60C4 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x64F7 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x60EC DUP3 DUP3 PUSH2 0x6055 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x6101 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x6533 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x6114 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x6533 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x6127 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x6533 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x613A PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x6506 JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x614D PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x6506 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x6175 DUP3 DUP3 PUSH2 0x6092 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x618A PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x6542 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x619D PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x6542 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x61B0 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x6542 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x61C3 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x6524 JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x61D6 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x6524 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x61FE DUP3 DUP3 PUSH2 0x6092 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x6213 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x6542 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x6226 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x6542 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x6239 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x6542 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x624C PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x6524 JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x625F PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x6524 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xE0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x6282 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x62BA JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xA0 DUP7 ADD MSTORE PUSH2 0x629A DUP3 DUP3 PUSH2 0x638A JUMP JUMPDEST SWAP2 POP POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x62AF PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0x58E7 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0x62D0 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x5CE1 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0x62E3 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x58E7 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0x62F6 PUSH1 0x40 DUP6 ADD DUP3 PUSH2 0x5B1F JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD PUSH2 0x6309 PUSH1 0x60 DUP6 ADD DUP3 PUSH2 0x64CA JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD PUSH2 0x631C PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x64CA JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0x6338 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x5CE1 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0x634B PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x58E7 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0x635E PUSH1 0x40 DUP6 ADD DUP3 PUSH2 0x5B1F JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD PUSH2 0x6371 PUSH1 0x60 DUP6 ADD DUP3 PUSH2 0x64CA JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD PUSH2 0x6384 PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x64CA JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x63A2 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x58E7 JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x63B5 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x64CA JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x63C8 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x5B1F JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x60 DUP7 ADD MSTORE PUSH2 0x63E0 DUP3 DUP3 PUSH2 0x5B3D JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x6405 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x58E7 JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x6418 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x64CA JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x642B PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x5B1F JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x60 DUP7 ADD MSTORE PUSH2 0x6443 DUP3 DUP3 PUSH2 0x5B3D JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x6468 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x5AF2 JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x6480 DUP3 DUP3 PUSH2 0x60CF JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x64A5 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x5B10 JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x64BD DUP3 DUP3 PUSH2 0x61E1 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x64D3 DUP2 PUSH2 0x6FF0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x64E2 DUP2 PUSH2 0x6FF0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x64F1 DUP2 PUSH2 0x6FFA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x6500 DUP2 PUSH2 0x6FFA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x650F DUP2 PUSH2 0x700A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x651E DUP2 PUSH2 0x700A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x652D DUP2 PUSH2 0x700A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x653C DUP2 PUSH2 0x701E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x654B DUP2 PUSH2 0x701E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x655D DUP3 DUP5 PUSH2 0x5C21 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x657D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x58F6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x659D DUP2 DUP5 PUSH2 0x5905 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x65BF DUP2 DUP5 PUSH2 0x5963 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x65E1 DUP2 DUP5 PUSH2 0x59C1 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x6603 DUP2 DUP5 PUSH2 0x5A1F JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x6625 DUP2 DUP5 PUSH2 0x5A94 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x6642 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5B01 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x665D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5B2E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x667D DUP2 DUP5 PUSH2 0x5BAF JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x669F DUP2 DUP5 PUSH2 0x5B76 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x66C1 DUP2 DUP5 PUSH2 0x5C52 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x66DE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5CD2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x66F9 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5CF0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x6714 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x5CF0 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x6726 DUP2 DUP5 PUSH2 0x5D83 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x6744 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5CFF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x675F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5D1D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x677A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5D3B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x679A DUP2 DUP5 PUSH2 0x5D83 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x67BB DUP2 PUSH2 0x5DBC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x67DB DUP2 PUSH2 0x5DDF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x67FB DUP2 PUSH2 0x5E25 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x681B DUP2 PUSH2 0x5E48 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x683B DUP2 PUSH2 0x5E8E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x685B DUP2 PUSH2 0x5EB1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x687B DUP2 PUSH2 0x5ED4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x689B DUP2 PUSH2 0x5EF7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x68BB DUP2 PUSH2 0x5F1A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x68DB DUP2 PUSH2 0x5F3D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x68FB DUP2 PUSH2 0x5F83 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x691B DUP2 PUSH2 0x5FA6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x693B DUP2 PUSH2 0x5FC9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x695B DUP2 PUSH2 0x600F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x697B DUP2 PUSH2 0x6032 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x699C DUP2 DUP5 PUSH2 0x6158 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x69BE DUP2 DUP5 PUSH2 0x626A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x69DB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x6322 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x69FB DUP2 DUP5 PUSH2 0x63ED JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x6A1D DUP2 DUP5 PUSH2 0x648D JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x6A3F DUP2 DUP5 PUSH2 0x6450 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x6A5C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x64D9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x6A77 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x64D9 JUMP JUMPDEST PUSH2 0x6A84 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x58F6 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x6AA0 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x64D9 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x6AB1 DUP2 PUSH2 0x5E02 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x6ACE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x64D9 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x6ADF DUP2 PUSH2 0x5E6B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x6AFC PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x64D9 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x6B0D DUP2 PUSH2 0x5F60 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x6B2A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x64D9 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x6B3B DUP2 PUSH2 0x5FEC JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x6B58 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x6515 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6B68 PUSH2 0x6B79 JUMP JUMPDEST SWAP1 POP PUSH2 0x6B74 DUP3 DUP3 PUSH2 0x710B JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x6B9E JUMPI PUSH2 0x6B9D PUSH2 0x7241 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x6BCA JUMPI PUSH2 0x6BC9 PUSH2 0x7241 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x6BF6 JUMPI PUSH2 0x6BF5 PUSH2 0x7241 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x6C22 JUMPI PUSH2 0x6C21 PUSH2 0x7241 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x6C4E JUMPI PUSH2 0x6C4D PUSH2 0x7241 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x6C7A JUMPI PUSH2 0x6C79 PUSH2 0x7241 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x6CA6 JUMPI PUSH2 0x6CA5 PUSH2 0x7241 JUMP JUMPDEST JUMPDEST PUSH2 0x6CAF DUP3 PUSH2 0x72BA JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x6CD7 JUMPI PUSH2 0x6CD6 PUSH2 0x7241 JUMP JUMPDEST JUMPDEST PUSH2 0x6CE0 DUP3 PUSH2 0x72BA JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6EB1 DUP3 PUSH2 0x6FF0 JUMP JUMPDEST SWAP2 POP PUSH2 0x6EBC DUP4 PUSH2 0x6FF0 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x6EF1 JUMPI PUSH2 0x6EF0 PUSH2 0x7185 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6F07 DUP3 PUSH2 0x6FF0 JUMP JUMPDEST SWAP2 POP PUSH2 0x6F12 DUP4 PUSH2 0x6FF0 JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x6F4B JUMPI PUSH2 0x6F4A PUSH2 0x7185 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6F61 DUP3 PUSH2 0x6FD0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6F89 DUP3 PUSH2 0x6F56 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x6F9E DUP3 PUSH2 0x794B JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x6FB1 DUP3 PUSH2 0x7960 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0xF SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x3 SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7036 DUP3 PUSH2 0x7073 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7048 DUP3 PUSH2 0x7073 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x705A DUP3 PUSH2 0x6F90 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x706C DUP3 PUSH2 0x6FA3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x707E DUP3 PUSH2 0x7085 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7090 DUP3 PUSH2 0x6FD0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x70C4 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x70A9 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x70D3 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x70F1 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x7105 JUMPI PUSH2 0x7104 PUSH2 0x71E3 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x7114 DUP3 PUSH2 0x72BA JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x7133 JUMPI PUSH2 0x7132 PUSH2 0x7241 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7147 DUP3 PUSH2 0x6FF0 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x717A JUMPI PUSH2 0x7179 PUSH2 0x7185 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x3 RETURNDATASIZE GT ISZERO PUSH2 0x728F JUMPI PUSH1 0x4 PUSH1 0x0 DUP1 RETURNDATACOPY PUSH2 0x728C PUSH1 0x0 MLOAD PUSH2 0x72CB JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0xE0 SHR SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206E756C6C207363726970740000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F6172643A206E6F207472616E7366657273 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2061636365707465640000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206261642074696D657374616D70000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574426F617264446174613A206F6E6C79206F776E65720000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C654465666175 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6C743A206261642074696D657374616D70000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2062616420717565727949640000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20656D7074792073637269707400000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206F6E6C79207265717565737465720000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2072657761726420746F6F206C6F770000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2062797465636F6465206368616E67656420616674657220706F7374696E6700 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C654465666175 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6C743A205769746E65742064725478486173682063616E6E6F74206265207A65 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x726F000000000000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574426F6172644461746141434C733A20756E617574686F72697A65 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x64207265706F7274657200000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2062616420647254784861736800000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C654465666175 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6C743A20726573756C742063616E6E6F7420626520656D707479000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C726561647920696E697469616C697A6564000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206F6E6C79206F776E6572000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206261642063626F724279746573000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206E6F742079657420706F737465640000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F61726455706772616461626C6542617365 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x3A206E6F7420696D706C656D656E746564000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x44 RETURNDATASIZE LT ISZERO PUSH2 0x78C5 JUMPI PUSH2 0x7948 JUMP JUMPDEST PUSH2 0x78CD PUSH2 0x6B79 JUMP JUMPDEST PUSH1 0x4 RETURNDATASIZE SUB PUSH1 0x4 DUP3 RETURNDATACOPY DUP1 MLOAD RETURNDATASIZE PUSH1 0x24 DUP3 ADD GT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x78F5 JUMPI POP POP PUSH2 0x7948 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x7913 JUMPI POP POP POP POP PUSH2 0x7948 JUMP JUMPDEST DUP1 PUSH1 0x20 DUP4 ADD ADD PUSH1 0x4 RETURNDATASIZE SUB DUP6 ADD DUP2 GT ISZERO PUSH2 0x7930 JUMPI POP POP POP POP POP PUSH2 0x7948 JUMP JUMPDEST PUSH2 0x793F DUP3 PUSH1 0x20 ADD DUP6 ADD DUP7 PUSH2 0x710B JUMP JUMPDEST DUP3 SWAP6 POP POP POP POP POP POP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x100 DUP2 LT PUSH2 0x795D JUMPI PUSH2 0x795C PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0x7971 JUMPI PUSH2 0x7970 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH2 0x797D DUP2 PUSH2 0x6F56 JUMP JUMPDEST DUP2 EQ PUSH2 0x7988 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x7994 DUP2 PUSH2 0x6F68 JUMP JUMPDEST DUP2 EQ PUSH2 0x799F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x79AB DUP2 PUSH2 0x6F74 JUMP JUMPDEST DUP2 EQ PUSH2 0x79B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x79C2 DUP2 PUSH2 0x6F7E JUMP JUMPDEST DUP2 EQ PUSH2 0x79CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x100 DUP2 LT PUSH2 0x79DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x79EA DUP2 PUSH2 0x6FB6 JUMP JUMPDEST DUP2 EQ PUSH2 0x79F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x7A01 DUP2 PUSH2 0x6FC3 JUMP JUMPDEST DUP2 EQ PUSH2 0x7A0C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x7A18 DUP2 PUSH2 0x6FF0 JUMP JUMPDEST DUP2 EQ PUSH2 0x7A23 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x7A2F DUP2 PUSH2 0x6FFA JUMP JUMPDEST DUP2 EQ PUSH2 0x7A3A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x7A46 DUP2 PUSH2 0x700A JUMP JUMPDEST DUP2 EQ PUSH2 0x7A51 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x7A5D DUP2 PUSH2 0x701E JUMP JUMPDEST DUP2 EQ PUSH2 0x7A68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID JUMPI PUSH10 0x746E6574426F61726444 PUSH2 0x7461 GASPRICE KECCAK256 PUSH15 0x6F7420696E2044656C657465642073 PUSH21 0x617475735769746E6574426F617264446174613A20 PUSH15 0x6F7420696E20506F73746564207374 PUSH2 0x7475 PUSH20 0x5769746E6574426F617264446174613A206E6F74 KECCAK256 PUSH10 0x6E205265706F72746564 KECCAK256 PUSH20 0x74617475735769746E657452657175657374426F PUSH2 0x7264 SLOAD PUSH19 0x75737461626C65426173653A206661696C696E PUSH8 0x20617373657274A2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x26 0x26 0xE2 0xC 0x29 0xEC 0x4C 0xE2 SLOAD PUSH21 0xEC6CB7A1CEB7B8C91CB224F916654F83066EDA9630 EQ PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ","sourceMap":"614:2322:37:-:0;;;798:263;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;950:11;963;984:1;1231:11:36;1244;739::35;1179:9:36;331::60;313:28;;;;;;;;;;;;272:76;613:10:32;596:8;:6;;;:8;;:::i;:::-;:14;;;:27;;;;;;;;;;;;;;;;;;631:4:33;597:7;:5;;;:7;;:::i;:::-;:19;;:31;617:10;597:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;989:13:62;1013:4;989:29;;1028:17;1111:5;1099:18;1086:31;;1144:5;1136:13;;;;;;;;;;;;1171:9;1159:21;;;;;;1212:13;1198:27;;;;;;;;;;;;979:253;;946:286;777:11:35::1;766:22;;;;::::0;::::1;635:160:::0;;1093:170:36;;;1033:21:37::1;1002:52;;;;::::0;::::1;798:263:::0;;;614:2322;;4280:177:32;4333:29;4414:27;4401:40;;4280:177;:::o;1067:165:33:-;1107:31;1189:27;1173:43;;1067:165;:::o;7:137:67:-;61:5;92:6;86:13;77:22;;108:30;132:5;108:30;:::i;:::-;7:137;;;;:::o;150:143::-;207:5;238:6;232:13;223:22;;254:33;281:5;254:33;:::i;:::-;150:143;;;;:::o;299:::-;356:5;387:6;381:13;372:22;;403:33;430:5;403:33;:::i;:::-;299:143;;;;:::o;448:657::-;533:6;541;549;598:2;586:9;577:7;573:23;569:32;566:119;;;604:79;;:::i;:::-;566:119;724:1;749:61;802:7;793:6;782:9;778:22;749:61;:::i;:::-;739:71;;695:125;859:2;885:64;941:7;932:6;921:9;917:22;885:64;:::i;:::-;875:74;;830:129;998:2;1024:64;1080:7;1071:6;1060:9;1056:22;1024:64;:::i;:::-;1014:74;;969:129;448:657;;;;;:::o;1192:90::-;1226:7;1269:5;1262:13;1255:21;1244:32;;1192:90;;;:::o;1288:77::-;1325:7;1354:5;1343:16;;1288:77;;;:::o;1371:::-;1408:7;1437:5;1426:16;;1371:77;;;:::o;1577:117::-;1686:1;1683;1676:12;1700:116;1770:21;1785:5;1770:21;:::i;:::-;1763:5;1760:32;1750:60;;1806:1;1803;1796:12;1750:60;1700:116;:::o;1822:122::-;1895:24;1913:5;1895:24;:::i;:::-;1888:5;1885:35;1875:63;;1934:1;1931;1924:12;1875:63;1822:122;:::o;1950:::-;2023:24;2041:5;2023:24;:::i;:::-;2016:5;2013:35;2003:63;;2062:1;2059;2052:12;2003:63;1950:122;:::o;614:2322:37:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_4161":{"entryPoint":null,"id":4161,"parameterSlots":0,"returnSlots":0},"@_5537":{"entryPoint":null,"id":5537,"parameterSlots":0,"returnSlots":0},"@__reportResult_7096":{"entryPoint":17040,"id":7096,"parameterSlots":4,"returnSlots":1},"@_acls_5284":{"entryPoint":16289,"id":5284,"parameterSlots":0,"returnSlots":1},"@_getGasPrice_7172":{"entryPoint":17409,"id":7172,"parameterSlots":0,"returnSlots":1},"@_getMsgValue_7183":{"entryPoint":17401,"id":7183,"parameterSlots":0,"returnSlots":1},"@_getQueryStatusRevertMessage_5175":{"entryPoint":16537,"id":5175,"parameterSlots":1,"returnSlots":1},"@_getQueryStatus_5136":{"entryPoint":16329,"id":5136,"parameterSlots":1,"returnSlots":1},"@_getRequestData_5208":{"entryPoint":16911,"id":5208,"parameterSlots":1,"returnSlots":1},"@_getResponseData_5225":{"entryPoint":16871,"id":5225,"parameterSlots":1,"returnSlots":1},"@_safeTransferTo_7201":{"entryPoint":17326,"id":7201,"parameterSlots":2,"returnSlots":0},"@_state_5234":{"entryPoint":16831,"id":5234,"parameterSlots":0,"returnSlots":1},"@asBool_6897":{"entryPoint":14638,"id":6897,"parameterSlots":1,"returnSlots":1},"@asBytes32_6798":{"entryPoint":14439,"id":6798,"parameterSlots":1,"returnSlots":1},"@asBytes_6783":{"entryPoint":13470,"id":6783,"parameterSlots":1,"returnSlots":1},"@asErrorCode_6814":{"entryPoint":15382,"id":6814,"parameterSlots":1,"returnSlots":1},"@asErrorMessage_6866":{"entryPoint":15083,"id":6866,"parameterSlots":1,"returnSlots":2},"@asFixed16Array_6928":{"entryPoint":3857,"id":6928,"parameterSlots":1,"returnSlots":1},"@asFixed16_6912":{"entryPoint":4479,"id":6912,"parameterSlots":1,"returnSlots":1},"@asInt128Array_6959":{"entryPoint":3706,"id":6959,"parameterSlots":1,"returnSlots":1},"@asInt128_6943":{"entryPoint":5330,"id":6943,"parameterSlots":1,"returnSlots":1},"@asRawError_6882":{"entryPoint":11811,"id":6882,"parameterSlots":1,"returnSlots":1},"@asStringArray_6990":{"entryPoint":13652,"id":6990,"parameterSlots":1,"returnSlots":1},"@asString_6974":{"entryPoint":4008,"id":6974,"parameterSlots":1,"returnSlots":1},"@asUint64Array_7021":{"entryPoint":7275,"id":7021,"parameterSlots":1,"returnSlots":1},"@asUint64_7005":{"entryPoint":12690,"id":7005,"parameterSlots":1,"returnSlots":1},"@base_11912":{"entryPoint":7426,"id":11912,"parameterSlots":0,"returnSlots":1},"@codehash_11921":{"entryPoint":11771,"id":11921,"parameterSlots":0,"returnSlots":1},"@currency_11787":{"entryPoint":15677,"id":11787,"parameterSlots":0,"returnSlots":0},"@deleteQuery_6192":{"entryPoint":9152,"id":6192,"parameterSlots":1,"returnSlots":1},"@destruct_7161":{"entryPoint":5152,"id":7161,"parameterSlots":0,"returnSlots":0},"@estimateReward_7145":{"entryPoint":14585,"id":7145,"parameterSlots":1,"returnSlots":1},"@getNextQueryId_6401":{"entryPoint":13621,"id":6401,"parameterSlots":0,"returnSlots":1},"@getQueryData_6418":{"entryPoint":12836,"id":6418,"parameterSlots":1,"returnSlots":1},"@getQueryStatus_6433":{"entryPoint":8574,"id":6433,"parameterSlots":1,"returnSlots":1},"@hash_7982":{"entryPoint":16951,"id":7982,"parameterSlots":1,"returnSlots":1},"@initialize_5694":{"entryPoint":6116,"id":5694,"parameterSlots":1,"returnSlots":0},"@isError_6768":{"entryPoint":9006,"id":6768,"parameterSlots":1,"returnSlots":1},"@isOk_6753":{"entryPoint":11625,"id":6753,"parameterSlots":1,"returnSlots":1},"@isReporter_5778":{"entryPoint":3611,"id":5778,"parameterSlots":1,"returnSlots":1},"@isUpgradableFrom_5718":{"entryPoint":8454,"id":5718,"parameterSlots":1,"returnSlots":1},"@isUpgradable_11930":{"entryPoint":7509,"id":11930,"parameterSlots":0,"returnSlots":1},"@owner_5730":{"entryPoint":10820,"id":5730,"parameterSlots":0,"returnSlots":1},"@postRequest_6311":{"entryPoint":11962,"id":6311,"parameterSlots":1,"returnSlots":1},"@proxiableUUID_5548":{"entryPoint":7466,"id":5548,"parameterSlots":0,"returnSlots":1},"@readRequestBytecode_6541":{"entryPoint":5647,"id":6541,"parameterSlots":1,"returnSlots":1},"@readRequestGasPrice_6565":{"entryPoint":5476,"id":6565,"parameterSlots":1,"returnSlots":1},"@readRequestReward_6589":{"entryPoint":4159,"id":6589,"parameterSlots":1,"returnSlots":1},"@readRequest_6482":{"entryPoint":10871,"id":6482,"parameterSlots":1,"returnSlots":1},"@readResponseDrTxHash_6631":{"entryPoint":15528,"id":6631,"parameterSlots":1,"returnSlots":1},"@readResponseReporter_6652":{"entryPoint":11444,"id":6652,"parameterSlots":1,"returnSlots":1},"@readResponseResult_6684":{"entryPoint":14784,"id":6684,"parameterSlots":1,"returnSlots":1},"@readResponseTimestamp_6705":{"entryPoint":4330,"id":6705,"parameterSlots":1,"returnSlots":1},"@readResponse_6610":{"entryPoint":8592,"id":6610,"parameterSlots":1,"returnSlots":1},"@reportResultBatch_6137":{"entryPoint":10054,"id":6137,"parameterSlots":2,"returnSlots":0},"@reportResult_5918":{"entryPoint":7589,"id":5918,"parameterSlots":4,"returnSlots":0},"@reportResult_5983":{"entryPoint":13803,"id":5983,"parameterSlots":5,"returnSlots":0},"@resultFromCborBytes_6721":{"entryPoint":15713,"id":6721,"parameterSlots":1,"returnSlots":1},"@resultFromCborValue_6738":{"entryPoint":4625,"id":6738,"parameterSlots":1,"returnSlots":1},"@setReporters_5820":{"entryPoint":6903,"id":5820,"parameterSlots":1,"returnSlots":0},"@transferOwnership_5762":{"entryPoint":15868,"id":5762,"parameterSlots":1,"returnSlots":0},"@unsetReporters_5862":{"entryPoint":4780,"id":5862,"parameterSlots":1,"returnSlots":0},"@upgradeReward_6378":{"entryPoint":8157,"id":6378,"parameterSlots":1,"returnSlots":0},"@version_5558":{"entryPoint":7549,"id":5558,"parameterSlots":0,"returnSlots":1},"abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr":{"entryPoint":18025,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory":{"entryPoint":18137,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_array$_t_int128_$dyn_memory_ptr_fromMemory":{"entryPoint":18249,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_array$_t_int32_$dyn_memory_ptr_fromMemory":{"entryPoint":18361,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory":{"entryPoint":18473,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_array$_t_struct$_BatchResult_$7637_memory_ptr_$dyn_memory_ptr":{"entryPoint":18615,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_array$_t_uint64_$dyn_memory_ptr_fromMemory":{"entryPoint":18757,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_bytes_memory_ptr":{"entryPoint":18869,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_bytes_memory_ptr_fromMemory":{"entryPoint":18935,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_string_memory_ptr_fromMemory":{"entryPoint":19001,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_address":{"entryPoint":19067,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_address_fromMemory":{"entryPoint":19088,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_array$_t_address_$dyn_memory_ptr":{"entryPoint":19109,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory":{"entryPoint":19155,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_array$_t_int128_$dyn_memory_ptr_fromMemory":{"entryPoint":19201,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_array$_t_int32_$dyn_memory_ptr_fromMemory":{"entryPoint":19247,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory":{"entryPoint":19293,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_array$_t_struct$_BatchResult_$7637_memory_ptr_$dyn_memory_ptr":{"entryPoint":19339,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_array$_t_uint64_$dyn_memory_ptr_fromMemory":{"entryPoint":19385,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bool":{"entryPoint":19431,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bool_fromMemory":{"entryPoint":19452,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32":{"entryPoint":19473,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32_fromMemory":{"entryPoint":19494,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes_calldata_ptr":{"entryPoint":19515,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_bytes_memory_ptr":{"entryPoint":19601,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes_memory_ptr_fromMemory":{"entryPoint":19647,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_contract$_IWitnetRequest_$7510":{"entryPoint":19693,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_enum$_ErrorCodes_$8299_fromMemory":{"entryPoint":19714,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_int128_fromMemory":{"entryPoint":19735,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_int32_fromMemory":{"entryPoint":19756,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_string_memory_ptr_fromMemory":{"entryPoint":19777,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_BatchResult_$7637_memory_ptr":{"entryPoint":19823,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_Buffer_$8042_memory_ptr":{"entryPoint":19971,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_Buffer_$8042_memory_ptr_fromMemory":{"entryPoint":20079,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_CBOR_$8037_memory_ptr":{"entryPoint":20187,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_CBOR_$8037_memory_ptr_fromMemory":{"entryPoint":20375,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_Result_$8023_memory_ptr":{"entryPoint":20563,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_Result_$8023_memory_ptr_fromMemory":{"entryPoint":20671,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":20779,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint32":{"entryPoint":20800,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint32_fromMemory":{"entryPoint":20821,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint64":{"entryPoint":20842,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint64_fromMemory":{"entryPoint":20863,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint8":{"entryPoint":20884,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint8_fromMemory":{"entryPoint":20905,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":20926,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr":{"entryPoint":20971,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory":{"entryPoint":21044,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_int128_$dyn_memory_ptr_fromMemory":{"entryPoint":21117,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_int32_$dyn_memory_ptr_fromMemory":{"entryPoint":21190,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory":{"entryPoint":21263,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_struct$_BatchResult_$7637_memory_ptr_$dyn_memory_ptrt_bool":{"entryPoint":21336,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_array$_t_uint64_$dyn_memory_ptr_fromMemory":{"entryPoint":21428,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":21501,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":21546,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes_memory_ptr":{"entryPoint":21591,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes_memory_ptr_fromMemory":{"entryPoint":21664,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IWitnetRequest_$7510":{"entryPoint":21737,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_enum$_ErrorCodes_$8299_fromMemory":{"entryPoint":21782,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_enum$_ErrorCodes_$8299t_string_memory_ptr_fromMemory":{"entryPoint":21827,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_int128_fromMemory":{"entryPoint":21919,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_int32_fromMemory":{"entryPoint":21964,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptr_fromMemory":{"entryPoint":22009,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_CBOR_$8037_memory_ptr":{"entryPoint":22082,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_Result_$8023_memory_ptr":{"entryPoint":22155,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_Result_$8023_memory_ptr_fromMemory":{"entryPoint":22228,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":22301,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_bytes32t_bytes_calldata_ptr":{"entryPoint":22346,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_uint256t_uint256t_bytes32t_bytes_calldata_ptr":{"entryPoint":22462,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_uint64_fromMemory":{"entryPoint":22598,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_address_to_t_address":{"entryPoint":22643,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_int128_to_t_int128":{"entryPoint":22667,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_int32_to_t_int32":{"entryPoint":22691,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr":{"entryPoint":22715,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_uint64_to_t_uint64":{"entryPoint":22735,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_address_to_t_address":{"entryPoint":22759,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_address_to_t_address_fromStack":{"entryPoint":22774,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack":{"entryPoint":22789,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_array$_t_int128_$dyn_memory_ptr_to_t_array$_t_int128_$dyn_memory_ptr_fromStack":{"entryPoint":22883,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_array$_t_int32_$dyn_memory_ptr_to_t_array$_t_int32_$dyn_memory_ptr_fromStack":{"entryPoint":22977,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":23071,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_array$_t_uint64_$dyn_memory_ptr_to_t_array$_t_uint64_$dyn_memory_ptr_fromStack":{"entryPoint":23188,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bool_to_t_bool":{"entryPoint":23282,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bool_to_t_bool_fromStack":{"entryPoint":23297,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bool_to_t_bool_library":{"entryPoint":23312,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes32_to_t_bytes32":{"entryPoint":23327,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes32_to_t_bytes32_fromStack":{"entryPoint":23342,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr":{"entryPoint":23357,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack":{"entryPoint":23414,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library":{"entryPoint":23471,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_library":{"entryPoint":23528,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":23585,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes_storage_to_t_bytes_memory_ptr_fromStack_library":{"entryPoint":23634,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_contract$_IERC20_$7292_to_t_address_fromStack":{"entryPoint":23762,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_contract$_IWitnetRequest_$7510_to_t_address":{"entryPoint":23777,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_enum$_ErrorCodes_$8299_to_t_uint8_fromStack":{"entryPoint":23792,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_enum$_QueryStatus_$7996_to_t_uint8_fromStack":{"entryPoint":23807,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_int128_to_t_int128":{"entryPoint":23822,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_int128_to_t_int128_fromStack":{"entryPoint":23837,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_int32_to_t_int32":{"entryPoint":23852,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_int32_to_t_int32_fromStack":{"entryPoint":23867,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr":{"entryPoint":23882,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack":{"entryPoint":23939,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_stringliteral_0be555820c60b6124cd4a527104e7ed2ef896a14c9cdf1f4d0c1a79561ea22c4_to_t_string_memory_ptr_fromStack":{"entryPoint":23996,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_0d0f3639c50be0afccc47d7224de7d8f86286c512c889d59db02617fd5eda150_to_t_string_memory_ptr_fromStack":{"entryPoint":24031,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_1581ae06fefdfc841abacd4b63952c567c2edc2bc8c7899a32661f6a801e746b_to_t_string_memory_ptr_fromStack":{"entryPoint":24066,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_1f8274dcdd937f970d48bf777d3a3d5fbcf9897829d796148c2d8edcd419ec5d_to_t_string_memory_ptr_fromStack":{"entryPoint":24101,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_33e565b65d8aa6e9990eec2cc32f99865d7f76bbee3771b62789ab97e5a37d7f_to_t_string_memory_ptr_fromStack":{"entryPoint":24136,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_3b4bb84f4a99e05df33e41f62f5366e4016b4735b6f76082d73cf5d8831faa3e_to_t_string_memory_ptr_fromStack":{"entryPoint":24171,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_3d43510da44c3e08f6dfef5e320d0e99d425bf23f74114ae066f5af47319ad5c_to_t_string_memory_ptr_fromStack":{"entryPoint":24206,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_4425c56dbfedfa02467de27608a6ff1e4faacad72797eafb38bb660bf95f7eee_to_t_string_memory_ptr_fromStack":{"entryPoint":24241,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_48f3e667c3593a2e92c7dce9bfc9484f97112384c1450711c71171e05fb5759a_to_t_string_memory_ptr_fromStack":{"entryPoint":24276,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_58fe038ba911826a5f966fdd037e315cc531824afa5103a4407b08d95d19ddce_to_t_string_memory_ptr_fromStack":{"entryPoint":24311,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_5fa4f20d3b547b43c3b49de4f5c62b8d87a47a9169c1a1db0d172150993aa1eb_to_t_string_memory_ptr_fromStack":{"entryPoint":24346,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_72b1f434e16ac1cf02aa4ce2f0f63ef536c0a2e88f68b1067ef152351f0087f1_to_t_string_memory_ptr_fromStack":{"entryPoint":24381,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_8e0ffa273c001ae051d701178ac5c710a5b4d9fec98205577ebc7425e417a801_to_t_string_memory_ptr_fromStack":{"entryPoint":24416,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_9fa14ac89471826c5bc72b75de3388cdde56a33fbf6bb575f16de2cc5916ce84_to_t_string_memory_ptr_fromStack":{"entryPoint":24451,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_aac6109e25b977a3666829c5faa653ddebecef9c73e0dbd918342867acf0b90b_to_t_string_memory_ptr_fromStack":{"entryPoint":24486,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_ba6ce338a8b77b4309b1dcba6abb75801c6b8961785823dfa406357c96ccf60d_to_t_string_memory_ptr_fromStack":{"entryPoint":24521,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_e251d84e62e5492f0ae8601bf0b4d92f0e11ae4eb6623c0c4134c63f7dd56847_to_t_string_memory_ptr_fromStack":{"entryPoint":24556,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_ea4580d893291eb488d1f84e08baa4c835b386770db72420b713c9cfcfc0dfb6_to_t_string_memory_ptr_fromStack":{"entryPoint":24591,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_ebdfd38fe21ca0808fdb840ac4bd9b3f5d98f2e7880341f5272855af32dcb094_to_t_string_memory_ptr_fromStack":{"entryPoint":24626,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr":{"entryPoint":24661,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr_library":{"entryPoint":24722,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr":{"entryPoint":24783,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_fromStack_library":{"entryPoint":24920,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_library":{"entryPoint":25057,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_Query_$7991_memory_ptr_to_t_struct$_Query_$7991_memory_ptr_fromStack":{"entryPoint":25194,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_Request_$8008_memory_ptr_to_t_struct$_Request_$8008_memory_ptr":{"entryPoint":25274,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_struct$_Request_$8008_memory_ptr_to_t_struct$_Request_$8008_memory_ptr_fromStack":{"entryPoint":25378,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_struct$_Response_$8017_memory_ptr_to_t_struct$_Response_$8017_memory_ptr":{"entryPoint":25482,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_Response_$8017_memory_ptr_to_t_struct$_Response_$8017_memory_ptr_fromStack":{"entryPoint":25581,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_Result_$8023_memory_ptr_to_t_struct$_Result_$8023_memory_ptr_fromStack":{"entryPoint":25680,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_Result_$8023_memory_ptr_to_t_struct$_Result_$8023_memory_ptr_fromStack_library":{"entryPoint":25741,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_uint256_to_t_uint256":{"entryPoint":25802,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":25817,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint32_to_t_uint32":{"entryPoint":25832,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint32_to_t_uint32_library":{"entryPoint":25847,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint64_to_t_uint64":{"entryPoint":25862,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint64_to_t_uint64_fromStack":{"entryPoint":25877,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint64_to_t_uint64_library":{"entryPoint":25892,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint8_to_t_uint8":{"entryPoint":25907,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint8_to_t_uint8_library":{"entryPoint":25922,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":25937,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":25960,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":25987,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_int128_$dyn_memory_ptr__to_t_array$_t_int128_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":26021,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_int32_$dyn_memory_ptr__to_t_array$_t_int32_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":26055,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":26089,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_uint64_$dyn_memory_ptr__to_t_array$_t_uint64_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":26123,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":26157,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":26184,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed":{"entryPoint":26211,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":26245,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes_storage__to_t_bytes_memory_ptr__fromStack_library_reversed":{"entryPoint":26279,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IERC20_$7292__to_t_address__fromStack_reversed":{"entryPoint":26313,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_enum$_ErrorCodes_$8299__to_t_uint8__fromStack_reversed":{"entryPoint":26340,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_enum$_ErrorCodes_$8299_t_string_memory_ptr__to_t_uint8_t_string_memory_ptr__fromStack_reversed":{"entryPoint":26367,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_enum$_QueryStatus_$7996__to_t_uint8__fromStack_reversed":{"entryPoint":26415,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_int128__to_t_int128__fromStack_reversed":{"entryPoint":26442,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_int32__to_t_int32__fromStack_reversed":{"entryPoint":26469,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":26496,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0be555820c60b6124cd4a527104e7ed2ef896a14c9cdf1f4d0c1a79561ea22c4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":26530,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0d0f3639c50be0afccc47d7224de7d8f86286c512c889d59db02617fd5eda150__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":26562,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1f8274dcdd937f970d48bf777d3a3d5fbcf9897829d796148c2d8edcd419ec5d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":26594,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_33e565b65d8aa6e9990eec2cc32f99865d7f76bbee3771b62789ab97e5a37d7f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":26626,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3d43510da44c3e08f6dfef5e320d0e99d425bf23f74114ae066f5af47319ad5c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":26658,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_4425c56dbfedfa02467de27608a6ff1e4faacad72797eafb38bb660bf95f7eee__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":26690,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_48f3e667c3593a2e92c7dce9bfc9484f97112384c1450711c71171e05fb5759a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":26722,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_58fe038ba911826a5f966fdd037e315cc531824afa5103a4407b08d95d19ddce__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":26754,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_5fa4f20d3b547b43c3b49de4f5c62b8d87a47a9169c1a1db0d172150993aa1eb__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":26786,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_72b1f434e16ac1cf02aa4ce2f0f63ef536c0a2e88f68b1067ef152351f0087f1__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":26818,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9fa14ac89471826c5bc72b75de3388cdde56a33fbf6bb575f16de2cc5916ce84__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":26850,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_aac6109e25b977a3666829c5faa653ddebecef9c73e0dbd918342867acf0b90b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":26882,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ba6ce338a8b77b4309b1dcba6abb75801c6b8961785823dfa406357c96ccf60d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":26914,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ea4580d893291eb488d1f84e08baa4c835b386770db72420b713c9cfcfc0dfb6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":26946,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ebdfd38fe21ca0808fdb840ac4bd9b3f5d98f2e7880341f5272855af32dcb094__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":26978,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_CBOR_$8037_memory_ptr__to_t_struct$_CBOR_$8037_memory_ptr__fromStack_library_reversed":{"entryPoint":27010,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_struct$_Query_$7991_memory_ptr__to_t_struct$_Query_$7991_memory_ptr__fromStack_reversed":{"entryPoint":27044,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_struct$_Request_$8008_memory_ptr__to_t_struct$_Request_$8008_memory_ptr__fromStack_reversed":{"entryPoint":27078,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_struct$_Response_$8017_memory_ptr__to_t_struct$_Response_$8017_memory_ptr__fromStack_reversed":{"entryPoint":27105,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_struct$_Result_$8023_memory_ptr__to_t_struct$_Result_$8023_memory_ptr__fromStack_library_reversed":{"entryPoint":27139,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_struct$_Result_$8023_memory_ptr__to_t_struct$_Result_$8023_memory_ptr__fromStack_reversed":{"entryPoint":27173,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":27207,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed":{"entryPoint":27234,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_stringliteral_1581ae06fefdfc841abacd4b63952c567c2edc2bc8c7899a32661f6a801e746b__to_t_uint256_t_string_memory_ptr__fromStack_reversed":{"entryPoint":27275,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_stringliteral_3b4bb84f4a99e05df33e41f62f5366e4016b4735b6f76082d73cf5d8831faa3e__to_t_uint256_t_string_memory_ptr__fromStack_reversed":{"entryPoint":27321,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_stringliteral_8e0ffa273c001ae051d701178ac5c710a5b4d9fec98205577ebc7425e417a801__to_t_uint256_t_string_memory_ptr__fromStack_reversed":{"entryPoint":27367,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_stringliteral_e251d84e62e5492f0ae8601bf0b4d92f0e11ae4eb6623c0c4134c63f7dd56847__to_t_uint256_t_string_memory_ptr__fromStack_reversed":{"entryPoint":27413,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":27459,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":27486,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":27513,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_array$_t_address_$dyn_memory_ptr":{"entryPoint":27523,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_t_array$_t_int128_$dyn_memory_ptr":{"entryPoint":27567,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_t_array$_t_int32_$dyn_memory_ptr":{"entryPoint":27611,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr":{"entryPoint":27655,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_t_array$_t_struct$_BatchResult_$7637_memory_ptr_$dyn_memory_ptr":{"entryPoint":27699,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_t_array$_t_uint64_$dyn_memory_ptr":{"entryPoint":27743,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_t_bytes_memory_ptr":{"entryPoint":27787,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_t_string_memory_ptr":{"entryPoint":27836,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_array$_t_address_$dyn_memory_ptr":{"entryPoint":27885,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_array$_t_int128_$dyn_memory_ptr":{"entryPoint":27901,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_array$_t_int32_$dyn_memory_ptr":{"entryPoint":27917,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr":{"entryPoint":27933,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_array$_t_uint64_$dyn_memory_ptr":{"entryPoint":27949,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_bytes_storage":{"entryPoint":27965,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_array$_t_address_$dyn_memory_ptr":{"entryPoint":27986,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_array$_t_int128_$dyn_memory_ptr":{"entryPoint":27997,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_array$_t_int32_$dyn_memory_ptr":{"entryPoint":28008,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr":{"entryPoint":28019,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_array$_t_uint64_$dyn_memory_ptr":{"entryPoint":28030,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_bytes_memory_ptr":{"entryPoint":28041,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_string_memory_ptr":{"entryPoint":28052,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_address_$dyn_memory_ptr":{"entryPoint":28063,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_int128_$dyn_memory_ptr":{"entryPoint":28076,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_int32_$dyn_memory_ptr":{"entryPoint":28089,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr":{"entryPoint":28102,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_uint64_$dyn_memory_ptr":{"entryPoint":28115,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack":{"entryPoint":28128,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_int128_$dyn_memory_ptr_fromStack":{"entryPoint":28145,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_int32_$dyn_memory_ptr_fromStack":{"entryPoint":28162,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":28179,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_uint64_$dyn_memory_ptr_fromStack":{"entryPoint":28196,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr":{"entryPoint":28213,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack":{"entryPoint":28230,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library":{"entryPoint":28247,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_library":{"entryPoint":28264,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":28281,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr":{"entryPoint":28292,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_fromStack":{"entryPoint":28309,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":28326,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":28412,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_address":{"entryPoint":28502,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bool":{"entryPoint":28520,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":28532,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_contract$_IWitnetRequest_$7510":{"entryPoint":28542,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_enum$_ErrorCodes_$8299":{"entryPoint":28560,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_enum$_QueryStatus_$7996":{"entryPoint":28579,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_int128":{"entryPoint":28598,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_int32":{"entryPoint":28611,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":28624,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":28656,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint32":{"entryPoint":28666,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint64":{"entryPoint":28682,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint8":{"entryPoint":28702,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_contract$_IERC20_$7292_to_t_address":{"entryPoint":28715,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_contract$_IWitnetRequest_$7510_to_t_address":{"entryPoint":28733,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_enum$_ErrorCodes_$8299_to_t_uint8":{"entryPoint":28751,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_enum$_QueryStatus_$7996_to_t_uint8":{"entryPoint":28769,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_address":{"entryPoint":28787,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_uint160":{"entryPoint":28805,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory":{"entryPoint":28823,"id":null,"parameterSlots":3,"returnSlots":0},"copy_memory_to_memory":{"entryPoint":28838,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":28889,"id":null,"parameterSlots":1,"returnSlots":1},"finalize_allocation":{"entryPoint":28939,"id":null,"parameterSlots":2,"returnSlots":0},"increment_t_uint256":{"entryPoint":28988,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":29061,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":29108,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x22":{"entryPoint":29155,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":29202,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":29249,"id":null,"parameterSlots":0,"returnSlots":0},"return_data_selector":{"entryPoint":29296,"id":null,"parameterSlots":0,"returnSlots":1},"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490":{"entryPoint":29330,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":29335,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f":{"entryPoint":29340,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421":{"entryPoint":29345,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":29350,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae":{"entryPoint":29355,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":29360,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":29365,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":29370,"id":null,"parameterSlots":1,"returnSlots":1},"shift_right_224_unsigned":{"entryPoint":29387,"id":null,"parameterSlots":1,"returnSlots":1},"store_literal_in_memory_0be555820c60b6124cd4a527104e7ed2ef896a14c9cdf1f4d0c1a79561ea22c4":{"entryPoint":29400,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_0d0f3639c50be0afccc47d7224de7d8f86286c512c889d59db02617fd5eda150":{"entryPoint":29479,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_1581ae06fefdfc841abacd4b63952c567c2edc2bc8c7899a32661f6a801e746b":{"entryPoint":29558,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_1f8274dcdd937f970d48bf777d3a3d5fbcf9897829d796148c2d8edcd419ec5d":{"entryPoint":29637,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_33e565b65d8aa6e9990eec2cc32f99865d7f76bbee3771b62789ab97e5a37d7f":{"entryPoint":29678,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_3b4bb84f4a99e05df33e41f62f5366e4016b4735b6f76082d73cf5d8831faa3e":{"entryPoint":29757,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_3d43510da44c3e08f6dfef5e320d0e99d425bf23f74114ae066f5af47319ad5c":{"entryPoint":29836,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_4425c56dbfedfa02467de27608a6ff1e4faacad72797eafb38bb660bf95f7eee":{"entryPoint":29915,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_48f3e667c3593a2e92c7dce9bfc9484f97112384c1450711c71171e05fb5759a":{"entryPoint":29994,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_58fe038ba911826a5f966fdd037e315cc531824afa5103a4407b08d95d19ddce":{"entryPoint":30073,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_5fa4f20d3b547b43c3b49de4f5c62b8d87a47a9169c1a1db0d172150993aa1eb":{"entryPoint":30152,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_72b1f434e16ac1cf02aa4ce2f0f63ef536c0a2e88f68b1067ef152351f0087f1":{"entryPoint":30269,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_8e0ffa273c001ae051d701178ac5c710a5b4d9fec98205577ebc7425e417a801":{"entryPoint":30348,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_9fa14ac89471826c5bc72b75de3388cdde56a33fbf6bb575f16de2cc5916ce84":{"entryPoint":30427,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_aac6109e25b977a3666829c5faa653ddebecef9c73e0dbd918342867acf0b90b":{"entryPoint":30506,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_ba6ce338a8b77b4309b1dcba6abb75801c6b8961785823dfa406357c96ccf60d":{"entryPoint":30585,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_e251d84e62e5492f0ae8601bf0b4d92f0e11ae4eb6623c0c4134c63f7dd56847":{"entryPoint":30664,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_ea4580d893291eb488d1f84e08baa4c835b386770db72420b713c9cfcfc0dfb6":{"entryPoint":30743,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_ebdfd38fe21ca0808fdb840ac4bd9b3f5d98f2e7880341f5272855af32dcb094":{"entryPoint":30822,"id":null,"parameterSlots":1,"returnSlots":0},"try_decode_error_message":{"entryPoint":30901,"id":null,"parameterSlots":0,"returnSlots":1},"validator_assert_t_enum$_ErrorCodes_$8299":{"entryPoint":31051,"id":null,"parameterSlots":1,"returnSlots":0},"validator_assert_t_enum$_QueryStatus_$7996":{"entryPoint":31072,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_address":{"entryPoint":31092,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bool":{"entryPoint":31115,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":31138,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_contract$_IWitnetRequest_$7510":{"entryPoint":31161,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_enum$_ErrorCodes_$8299":{"entryPoint":31184,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_int128":{"entryPoint":31201,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_int32":{"entryPoint":31224,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":31247,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint32":{"entryPoint":31270,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint64":{"entryPoint":31293,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint8":{"entryPoint":31316,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:103326:67","statements":[{"body":{"nodeType":"YulBlock","src":"126:620:67","statements":[{"nodeType":"YulAssignment","src":"136:90:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"218:6:67"}],"functionName":{"name":"array_allocation_size_t_array$_t_address_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"161:56:67"},"nodeType":"YulFunctionCall","src":"161:64:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"145:15:67"},"nodeType":"YulFunctionCall","src":"145:81:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"136:5:67"}]},{"nodeType":"YulVariableDeclaration","src":"235:16:67","value":{"name":"array","nodeType":"YulIdentifier","src":"246:5:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"239:3:67","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"268:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"275:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"261:6:67"},"nodeType":"YulFunctionCall","src":"261:21:67"},"nodeType":"YulExpressionStatement","src":"261:21:67"},{"nodeType":"YulAssignment","src":"291:23:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"302:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"309:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"298:3:67"},"nodeType":"YulFunctionCall","src":"298:16:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"291:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"324:17:67","value":{"name":"offset","nodeType":"YulIdentifier","src":"335:6:67"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"328:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"390:103:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"404:77:67"},"nodeType":"YulFunctionCall","src":"404:79:67"},"nodeType":"YulExpressionStatement","src":"404:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"360:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"369:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"377:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"365:3:67"},"nodeType":"YulFunctionCall","src":"365:17:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"356:3:67"},"nodeType":"YulFunctionCall","src":"356:27:67"},{"name":"end","nodeType":"YulIdentifier","src":"385:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"353:2:67"},"nodeType":"YulFunctionCall","src":"353:36:67"},"nodeType":"YulIf","src":"350:143:67"},{"body":{"nodeType":"YulBlock","src":"562:178:67","statements":[{"nodeType":"YulVariableDeclaration","src":"577:21:67","value":{"name":"src","nodeType":"YulIdentifier","src":"595:3:67"},"variables":[{"name":"elementPos","nodeType":"YulTypedName","src":"581:10:67","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"619:3:67"},{"arguments":[{"name":"elementPos","nodeType":"YulIdentifier","src":"645:10:67"},{"name":"end","nodeType":"YulIdentifier","src":"657:3:67"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"624:20:67"},"nodeType":"YulFunctionCall","src":"624:37:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"612:6:67"},"nodeType":"YulFunctionCall","src":"612:50:67"},"nodeType":"YulExpressionStatement","src":"612:50:67"},{"nodeType":"YulAssignment","src":"675:21:67","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"686:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"691:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"682:3:67"},"nodeType":"YulFunctionCall","src":"682:14:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"675:3:67"}]},{"nodeType":"YulAssignment","src":"709:21:67","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"720:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"725:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"716:3:67"},"nodeType":"YulFunctionCall","src":"716:14:67"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"709:3:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"524:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"527:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"521:2:67"},"nodeType":"YulFunctionCall","src":"521:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"535:18:67","statements":[{"nodeType":"YulAssignment","src":"537:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"546:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"549:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"542:3:67"},"nodeType":"YulFunctionCall","src":"542:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"537:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"506:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"508:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"517:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"512:1:67","type":""}]}]},"src":"502:238:67"}]},"name":"abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"96:6:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"104:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"112:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"120:5:67","type":""}],"src":"24:722:67"},{"body":{"nodeType":"YulBlock","src":"882:631:67","statements":[{"nodeType":"YulAssignment","src":"892:90:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"974:6:67"}],"functionName":{"name":"array_allocation_size_t_array$_t_address_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"917:56:67"},"nodeType":"YulFunctionCall","src":"917:64:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"901:15:67"},"nodeType":"YulFunctionCall","src":"901:81:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"892:5:67"}]},{"nodeType":"YulVariableDeclaration","src":"991:16:67","value":{"name":"array","nodeType":"YulIdentifier","src":"1002:5:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"995:3:67","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"1024:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"1031:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1017:6:67"},"nodeType":"YulFunctionCall","src":"1017:21:67"},"nodeType":"YulExpressionStatement","src":"1017:21:67"},{"nodeType":"YulAssignment","src":"1047:23:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"1058:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"1065:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1054:3:67"},"nodeType":"YulFunctionCall","src":"1054:16:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1047:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"1080:17:67","value":{"name":"offset","nodeType":"YulIdentifier","src":"1091:6:67"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"1084:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"1146:103:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"1160:77:67"},"nodeType":"YulFunctionCall","src":"1160:79:67"},"nodeType":"YulExpressionStatement","src":"1160:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1116:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1125:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1133:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"1121:3:67"},"nodeType":"YulFunctionCall","src":"1121:17:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1112:3:67"},"nodeType":"YulFunctionCall","src":"1112:27:67"},{"name":"end","nodeType":"YulIdentifier","src":"1141:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1109:2:67"},"nodeType":"YulFunctionCall","src":"1109:36:67"},"nodeType":"YulIf","src":"1106:143:67"},{"body":{"nodeType":"YulBlock","src":"1318:189:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1333:21:67","value":{"name":"src","nodeType":"YulIdentifier","src":"1351:3:67"},"variables":[{"name":"elementPos","nodeType":"YulTypedName","src":"1337:10:67","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1375:3:67"},{"arguments":[{"name":"elementPos","nodeType":"YulIdentifier","src":"1412:10:67"},{"name":"end","nodeType":"YulIdentifier","src":"1424:3:67"}],"functionName":{"name":"abi_decode_t_address_fromMemory","nodeType":"YulIdentifier","src":"1380:31:67"},"nodeType":"YulFunctionCall","src":"1380:48:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1368:6:67"},"nodeType":"YulFunctionCall","src":"1368:61:67"},"nodeType":"YulExpressionStatement","src":"1368:61:67"},{"nodeType":"YulAssignment","src":"1442:21:67","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1453:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"1458:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1449:3:67"},"nodeType":"YulFunctionCall","src":"1449:14:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1442:3:67"}]},{"nodeType":"YulAssignment","src":"1476:21:67","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1487:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"1492:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1483:3:67"},"nodeType":"YulFunctionCall","src":"1483:14:67"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1476:3:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1280:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"1283:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1277:2:67"},"nodeType":"YulFunctionCall","src":"1277:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1291:18:67","statements":[{"nodeType":"YulAssignment","src":"1293:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1302:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"1305:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1298:3:67"},"nodeType":"YulFunctionCall","src":"1298:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1293:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"1262:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1264:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1273:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1268:1:67","type":""}]}]},"src":"1258:249:67"}]},"name":"abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"852:6:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"860:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"868:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"876:5:67","type":""}],"src":"769:744:67"},{"body":{"nodeType":"YulBlock","src":"1647:629:67","statements":[{"nodeType":"YulAssignment","src":"1657:89:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1738:6:67"}],"functionName":{"name":"array_allocation_size_t_array$_t_int128_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"1682:55:67"},"nodeType":"YulFunctionCall","src":"1682:63:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"1666:15:67"},"nodeType":"YulFunctionCall","src":"1666:80:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1657:5:67"}]},{"nodeType":"YulVariableDeclaration","src":"1755:16:67","value":{"name":"array","nodeType":"YulIdentifier","src":"1766:5:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"1759:3:67","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"1788:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"1795:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1781:6:67"},"nodeType":"YulFunctionCall","src":"1781:21:67"},"nodeType":"YulExpressionStatement","src":"1781:21:67"},{"nodeType":"YulAssignment","src":"1811:23:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"1822:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"1829:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1818:3:67"},"nodeType":"YulFunctionCall","src":"1818:16:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1811:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"1844:17:67","value":{"name":"offset","nodeType":"YulIdentifier","src":"1855:6:67"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"1848:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"1910:103:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"1924:77:67"},"nodeType":"YulFunctionCall","src":"1924:79:67"},"nodeType":"YulExpressionStatement","src":"1924:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1880:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1889:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1897:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"1885:3:67"},"nodeType":"YulFunctionCall","src":"1885:17:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1876:3:67"},"nodeType":"YulFunctionCall","src":"1876:27:67"},{"name":"end","nodeType":"YulIdentifier","src":"1905:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1873:2:67"},"nodeType":"YulFunctionCall","src":"1873:36:67"},"nodeType":"YulIf","src":"1870:143:67"},{"body":{"nodeType":"YulBlock","src":"2082:188:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2097:21:67","value":{"name":"src","nodeType":"YulIdentifier","src":"2115:3:67"},"variables":[{"name":"elementPos","nodeType":"YulTypedName","src":"2101:10:67","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2139:3:67"},{"arguments":[{"name":"elementPos","nodeType":"YulIdentifier","src":"2175:10:67"},{"name":"end","nodeType":"YulIdentifier","src":"2187:3:67"}],"functionName":{"name":"abi_decode_t_int128_fromMemory","nodeType":"YulIdentifier","src":"2144:30:67"},"nodeType":"YulFunctionCall","src":"2144:47:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2132:6:67"},"nodeType":"YulFunctionCall","src":"2132:60:67"},"nodeType":"YulExpressionStatement","src":"2132:60:67"},{"nodeType":"YulAssignment","src":"2205:21:67","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2216:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"2221:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2212:3:67"},"nodeType":"YulFunctionCall","src":"2212:14:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2205:3:67"}]},{"nodeType":"YulAssignment","src":"2239:21:67","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2250:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"2255:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2246:3:67"},"nodeType":"YulFunctionCall","src":"2246:14:67"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"2239:3:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2044:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"2047:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2041:2:67"},"nodeType":"YulFunctionCall","src":"2041:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2055:18:67","statements":[{"nodeType":"YulAssignment","src":"2057:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2066:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"2069:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2062:3:67"},"nodeType":"YulFunctionCall","src":"2062:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"2057:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"2026:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2028:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"2037:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"2032:1:67","type":""}]}]},"src":"2022:248:67"}]},"name":"abi_decode_available_length_t_array$_t_int128_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1617:6:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"1625:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1633:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"1641:5:67","type":""}],"src":"1535:741:67"},{"body":{"nodeType":"YulBlock","src":"2408:627:67","statements":[{"nodeType":"YulAssignment","src":"2418:88:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2498:6:67"}],"functionName":{"name":"array_allocation_size_t_array$_t_int32_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"2443:54:67"},"nodeType":"YulFunctionCall","src":"2443:62:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"2427:15:67"},"nodeType":"YulFunctionCall","src":"2427:79:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"2418:5:67"}]},{"nodeType":"YulVariableDeclaration","src":"2515:16:67","value":{"name":"array","nodeType":"YulIdentifier","src":"2526:5:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"2519:3:67","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"2548:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"2555:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2541:6:67"},"nodeType":"YulFunctionCall","src":"2541:21:67"},"nodeType":"YulExpressionStatement","src":"2541:21:67"},{"nodeType":"YulAssignment","src":"2571:23:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"2582:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"2589:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2578:3:67"},"nodeType":"YulFunctionCall","src":"2578:16:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2571:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"2604:17:67","value":{"name":"offset","nodeType":"YulIdentifier","src":"2615:6:67"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"2608:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"2670:103:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"2684:77:67"},"nodeType":"YulFunctionCall","src":"2684:79:67"},"nodeType":"YulExpressionStatement","src":"2684:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2640:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2649:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"2657:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2645:3:67"},"nodeType":"YulFunctionCall","src":"2645:17:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2636:3:67"},"nodeType":"YulFunctionCall","src":"2636:27:67"},{"name":"end","nodeType":"YulIdentifier","src":"2665:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2633:2:67"},"nodeType":"YulFunctionCall","src":"2633:36:67"},"nodeType":"YulIf","src":"2630:143:67"},{"body":{"nodeType":"YulBlock","src":"2842:187:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2857:21:67","value":{"name":"src","nodeType":"YulIdentifier","src":"2875:3:67"},"variables":[{"name":"elementPos","nodeType":"YulTypedName","src":"2861:10:67","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2899:3:67"},{"arguments":[{"name":"elementPos","nodeType":"YulIdentifier","src":"2934:10:67"},{"name":"end","nodeType":"YulIdentifier","src":"2946:3:67"}],"functionName":{"name":"abi_decode_t_int32_fromMemory","nodeType":"YulIdentifier","src":"2904:29:67"},"nodeType":"YulFunctionCall","src":"2904:46:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2892:6:67"},"nodeType":"YulFunctionCall","src":"2892:59:67"},"nodeType":"YulExpressionStatement","src":"2892:59:67"},{"nodeType":"YulAssignment","src":"2964:21:67","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2975:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"2980:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2971:3:67"},"nodeType":"YulFunctionCall","src":"2971:14:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2964:3:67"}]},{"nodeType":"YulAssignment","src":"2998:21:67","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3009:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"3014:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3005:3:67"},"nodeType":"YulFunctionCall","src":"3005:14:67"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"2998:3:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2804:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"2807:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2801:2:67"},"nodeType":"YulFunctionCall","src":"2801:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2815:18:67","statements":[{"nodeType":"YulAssignment","src":"2817:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2826:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"2829:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2822:3:67"},"nodeType":"YulFunctionCall","src":"2822:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"2817:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"2786:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2788:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"2797:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"2792:1:67","type":""}]}]},"src":"2782:247:67"}]},"name":"abi_decode_available_length_t_array$_t_int32_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2378:6:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"2386:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"2394:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"2402:5:67","type":""}],"src":"2297:738:67"},{"body":{"nodeType":"YulBlock","src":"3180:849:67","statements":[{"nodeType":"YulAssignment","src":"3190:100:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3282:6:67"}],"functionName":{"name":"array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"3215:66:67"},"nodeType":"YulFunctionCall","src":"3215:74:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"3199:15:67"},"nodeType":"YulFunctionCall","src":"3199:91:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"3190:5:67"}]},{"nodeType":"YulVariableDeclaration","src":"3299:16:67","value":{"name":"array","nodeType":"YulIdentifier","src":"3310:5:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"3303:3:67","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"3332:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"3339:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3325:6:67"},"nodeType":"YulFunctionCall","src":"3325:21:67"},"nodeType":"YulExpressionStatement","src":"3325:21:67"},{"nodeType":"YulAssignment","src":"3355:23:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"3366:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"3373:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3362:3:67"},"nodeType":"YulFunctionCall","src":"3362:16:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"3355:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"3388:17:67","value":{"name":"offset","nodeType":"YulIdentifier","src":"3399:6:67"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"3392:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"3454:103:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"3468:77:67"},"nodeType":"YulFunctionCall","src":"3468:79:67"},"nodeType":"YulExpressionStatement","src":"3468:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3424:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3433:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"3441:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"3429:3:67"},"nodeType":"YulFunctionCall","src":"3429:17:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3420:3:67"},"nodeType":"YulFunctionCall","src":"3420:27:67"},{"name":"end","nodeType":"YulIdentifier","src":"3449:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3417:2:67"},"nodeType":"YulFunctionCall","src":"3417:36:67"},"nodeType":"YulIf","src":"3414:143:67"},{"body":{"nodeType":"YulBlock","src":"3626:397:67","statements":[{"nodeType":"YulVariableDeclaration","src":"3641:29:67","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3666:3:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3660:5:67"},"nodeType":"YulFunctionCall","src":"3660:10:67"},"variables":[{"name":"innerOffset","nodeType":"YulTypedName","src":"3645:11:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"3722:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"3724:77:67"},"nodeType":"YulFunctionCall","src":"3724:79:67"},"nodeType":"YulExpressionStatement","src":"3724:79:67"}]},"condition":{"arguments":[{"name":"innerOffset","nodeType":"YulIdentifier","src":"3689:11:67"},{"kind":"number","nodeType":"YulLiteral","src":"3702:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3686:2:67"},"nodeType":"YulFunctionCall","src":"3686:35:67"},"nodeType":"YulIf","src":"3683:122:67"},{"nodeType":"YulVariableDeclaration","src":"3818:42:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3840:6:67"},{"name":"innerOffset","nodeType":"YulIdentifier","src":"3848:11:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3836:3:67"},"nodeType":"YulFunctionCall","src":"3836:24:67"},"variables":[{"name":"elementPos","nodeType":"YulTypedName","src":"3822:10:67","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3881:3:67"},{"arguments":[{"name":"elementPos","nodeType":"YulIdentifier","src":"3928:10:67"},{"name":"end","nodeType":"YulIdentifier","src":"3940:3:67"}],"functionName":{"name":"abi_decode_t_string_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"3886:41:67"},"nodeType":"YulFunctionCall","src":"3886:58:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3874:6:67"},"nodeType":"YulFunctionCall","src":"3874:71:67"},"nodeType":"YulExpressionStatement","src":"3874:71:67"},{"nodeType":"YulAssignment","src":"3958:21:67","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3969:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"3974:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3965:3:67"},"nodeType":"YulFunctionCall","src":"3965:14:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"3958:3:67"}]},{"nodeType":"YulAssignment","src":"3992:21:67","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"4003:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"4008:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3999:3:67"},"nodeType":"YulFunctionCall","src":"3999:14:67"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"3992:3:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3588:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"3591:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3585:2:67"},"nodeType":"YulFunctionCall","src":"3585:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3599:18:67","statements":[{"nodeType":"YulAssignment","src":"3601:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3610:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"3613:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3606:3:67"},"nodeType":"YulFunctionCall","src":"3606:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"3601:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"3570:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"3572:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"3581:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"3576:1:67","type":""}]}]},"src":"3566:457:67"}]},"name":"abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3150:6:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"3158:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"3166:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"3174:5:67","type":""}],"src":"3057:972:67"},{"body":{"nodeType":"YulBlock","src":"4222:883:67","statements":[{"nodeType":"YulAssignment","src":"4232:119:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4343:6:67"}],"functionName":{"name":"array_allocation_size_t_array$_t_struct$_BatchResult_$7637_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"4257:85:67"},"nodeType":"YulFunctionCall","src":"4257:93:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"4241:15:67"},"nodeType":"YulFunctionCall","src":"4241:110:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"4232:5:67"}]},{"nodeType":"YulVariableDeclaration","src":"4360:16:67","value":{"name":"array","nodeType":"YulIdentifier","src":"4371:5:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"4364:3:67","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"4393:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"4400:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4386:6:67"},"nodeType":"YulFunctionCall","src":"4386:21:67"},"nodeType":"YulExpressionStatement","src":"4386:21:67"},{"nodeType":"YulAssignment","src":"4416:23:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"4427:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"4434:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4423:3:67"},"nodeType":"YulFunctionCall","src":"4423:16:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"4416:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"4449:17:67","value":{"name":"offset","nodeType":"YulIdentifier","src":"4460:6:67"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"4453:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"4515:103:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"4529:77:67"},"nodeType":"YulFunctionCall","src":"4529:79:67"},"nodeType":"YulExpressionStatement","src":"4529:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"4485:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4494:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"4502:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"4490:3:67"},"nodeType":"YulFunctionCall","src":"4490:17:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4481:3:67"},"nodeType":"YulFunctionCall","src":"4481:27:67"},{"name":"end","nodeType":"YulIdentifier","src":"4510:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4478:2:67"},"nodeType":"YulFunctionCall","src":"4478:36:67"},"nodeType":"YulIf","src":"4475:143:67"},{"body":{"nodeType":"YulBlock","src":"4687:412:67","statements":[{"nodeType":"YulVariableDeclaration","src":"4702:36:67","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"4734:3:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4721:12:67"},"nodeType":"YulFunctionCall","src":"4721:17:67"},"variables":[{"name":"innerOffset","nodeType":"YulTypedName","src":"4706:11:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"4790:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"4792:77:67"},"nodeType":"YulFunctionCall","src":"4792:79:67"},"nodeType":"YulExpressionStatement","src":"4792:79:67"}]},"condition":{"arguments":[{"name":"innerOffset","nodeType":"YulIdentifier","src":"4757:11:67"},{"kind":"number","nodeType":"YulLiteral","src":"4770:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4754:2:67"},"nodeType":"YulFunctionCall","src":"4754:35:67"},"nodeType":"YulIf","src":"4751:122:67"},{"nodeType":"YulVariableDeclaration","src":"4886:42:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4908:6:67"},{"name":"innerOffset","nodeType":"YulIdentifier","src":"4916:11:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4904:3:67"},"nodeType":"YulFunctionCall","src":"4904:24:67"},"variables":[{"name":"elementPos","nodeType":"YulTypedName","src":"4890:10:67","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"4949:3:67"},{"arguments":[{"name":"elementPos","nodeType":"YulIdentifier","src":"5004:10:67"},{"name":"end","nodeType":"YulIdentifier","src":"5016:3:67"}],"functionName":{"name":"abi_decode_t_struct$_BatchResult_$7637_memory_ptr","nodeType":"YulIdentifier","src":"4954:49:67"},"nodeType":"YulFunctionCall","src":"4954:66:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4942:6:67"},"nodeType":"YulFunctionCall","src":"4942:79:67"},"nodeType":"YulExpressionStatement","src":"4942:79:67"},{"nodeType":"YulAssignment","src":"5034:21:67","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5045:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5050:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5041:3:67"},"nodeType":"YulFunctionCall","src":"5041:14:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"5034:3:67"}]},{"nodeType":"YulAssignment","src":"5068:21:67","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5079:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5084:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5075:3:67"},"nodeType":"YulFunctionCall","src":"5075:14:67"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"5068:3:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"4649:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"4652:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4646:2:67"},"nodeType":"YulFunctionCall","src":"4646:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"4660:18:67","statements":[{"nodeType":"YulAssignment","src":"4662:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"4671:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"4674:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4667:3:67"},"nodeType":"YulFunctionCall","src":"4667:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"4662:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"4631:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"4633:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"4642:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"4637:1:67","type":""}]}]},"src":"4627:472:67"}]},"name":"abi_decode_available_length_t_array$_t_struct$_BatchResult_$7637_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4192:6:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"4200:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"4208:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"4216:5:67","type":""}],"src":"4091:1014:67"},{"body":{"nodeType":"YulBlock","src":"5239:629:67","statements":[{"nodeType":"YulAssignment","src":"5249:89:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5330:6:67"}],"functionName":{"name":"array_allocation_size_t_array$_t_uint64_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"5274:55:67"},"nodeType":"YulFunctionCall","src":"5274:63:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"5258:15:67"},"nodeType":"YulFunctionCall","src":"5258:80:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"5249:5:67"}]},{"nodeType":"YulVariableDeclaration","src":"5347:16:67","value":{"name":"array","nodeType":"YulIdentifier","src":"5358:5:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"5351:3:67","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"5380:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"5387:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5373:6:67"},"nodeType":"YulFunctionCall","src":"5373:21:67"},"nodeType":"YulExpressionStatement","src":"5373:21:67"},{"nodeType":"YulAssignment","src":"5403:23:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"5414:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"5421:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5410:3:67"},"nodeType":"YulFunctionCall","src":"5410:16:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"5403:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"5436:17:67","value":{"name":"offset","nodeType":"YulIdentifier","src":"5447:6:67"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"5440:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"5502:103:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"5516:77:67"},"nodeType":"YulFunctionCall","src":"5516:79:67"},"nodeType":"YulExpressionStatement","src":"5516:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5472:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5481:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"5489:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"5477:3:67"},"nodeType":"YulFunctionCall","src":"5477:17:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5468:3:67"},"nodeType":"YulFunctionCall","src":"5468:27:67"},{"name":"end","nodeType":"YulIdentifier","src":"5497:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5465:2:67"},"nodeType":"YulFunctionCall","src":"5465:36:67"},"nodeType":"YulIf","src":"5462:143:67"},{"body":{"nodeType":"YulBlock","src":"5674:188:67","statements":[{"nodeType":"YulVariableDeclaration","src":"5689:21:67","value":{"name":"src","nodeType":"YulIdentifier","src":"5707:3:67"},"variables":[{"name":"elementPos","nodeType":"YulTypedName","src":"5693:10:67","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5731:3:67"},{"arguments":[{"name":"elementPos","nodeType":"YulIdentifier","src":"5767:10:67"},{"name":"end","nodeType":"YulIdentifier","src":"5779:3:67"}],"functionName":{"name":"abi_decode_t_uint64_fromMemory","nodeType":"YulIdentifier","src":"5736:30:67"},"nodeType":"YulFunctionCall","src":"5736:47:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5724:6:67"},"nodeType":"YulFunctionCall","src":"5724:60:67"},"nodeType":"YulExpressionStatement","src":"5724:60:67"},{"nodeType":"YulAssignment","src":"5797:21:67","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5808:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5813:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5804:3:67"},"nodeType":"YulFunctionCall","src":"5804:14:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"5797:3:67"}]},{"nodeType":"YulAssignment","src":"5831:21:67","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5842:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5847:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5838:3:67"},"nodeType":"YulFunctionCall","src":"5838:14:67"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"5831:3:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5636:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"5639:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5633:2:67"},"nodeType":"YulFunctionCall","src":"5633:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"5647:18:67","statements":[{"nodeType":"YulAssignment","src":"5649:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5658:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"5661:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5654:3:67"},"nodeType":"YulFunctionCall","src":"5654:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"5649:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"5618:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"5620:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"5629:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"5624:1:67","type":""}]}]},"src":"5614:248:67"}]},"name":"abi_decode_available_length_t_array$_t_uint64_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5209:6:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"5217:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"5225:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"5233:5:67","type":""}],"src":"5127:741:67"},{"body":{"nodeType":"YulBlock","src":"5957:327:67","statements":[{"nodeType":"YulAssignment","src":"5967:74:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6033:6:67"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"5992:40:67"},"nodeType":"YulFunctionCall","src":"5992:48:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"5976:15:67"},"nodeType":"YulFunctionCall","src":"5976:65:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"5967:5:67"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"6057:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"6064:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6050:6:67"},"nodeType":"YulFunctionCall","src":"6050:21:67"},"nodeType":"YulExpressionStatement","src":"6050:21:67"},{"nodeType":"YulVariableDeclaration","src":"6080:27:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"6095:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"6102:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6091:3:67"},"nodeType":"YulFunctionCall","src":"6091:16:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"6084:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"6145:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulIdentifier","src":"6147:77:67"},"nodeType":"YulFunctionCall","src":"6147:79:67"},"nodeType":"YulExpressionStatement","src":"6147:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"6126:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"6131:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6122:3:67"},"nodeType":"YulFunctionCall","src":"6122:16:67"},{"name":"end","nodeType":"YulIdentifier","src":"6140:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6119:2:67"},"nodeType":"YulFunctionCall","src":"6119:25:67"},"nodeType":"YulIf","src":"6116:112:67"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"6261:3:67"},{"name":"dst","nodeType":"YulIdentifier","src":"6266:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"6271:6:67"}],"functionName":{"name":"copy_calldata_to_memory","nodeType":"YulIdentifier","src":"6237:23:67"},"nodeType":"YulFunctionCall","src":"6237:41:67"},"nodeType":"YulExpressionStatement","src":"6237:41:67"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"5930:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"5935:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"5943:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"5951:5:67","type":""}],"src":"5874:410:67"},{"body":{"nodeType":"YulBlock","src":"6384:325:67","statements":[{"nodeType":"YulAssignment","src":"6394:74:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6460:6:67"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"6419:40:67"},"nodeType":"YulFunctionCall","src":"6419:48:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"6403:15:67"},"nodeType":"YulFunctionCall","src":"6403:65:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"6394:5:67"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"6484:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"6491:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6477:6:67"},"nodeType":"YulFunctionCall","src":"6477:21:67"},"nodeType":"YulExpressionStatement","src":"6477:21:67"},{"nodeType":"YulVariableDeclaration","src":"6507:27:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"6522:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"6529:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6518:3:67"},"nodeType":"YulFunctionCall","src":"6518:16:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"6511:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"6572:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulIdentifier","src":"6574:77:67"},"nodeType":"YulFunctionCall","src":"6574:79:67"},"nodeType":"YulExpressionStatement","src":"6574:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"6553:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"6558:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6549:3:67"},"nodeType":"YulFunctionCall","src":"6549:16:67"},{"name":"end","nodeType":"YulIdentifier","src":"6567:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6546:2:67"},"nodeType":"YulFunctionCall","src":"6546:25:67"},"nodeType":"YulIf","src":"6543:112:67"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"6686:3:67"},{"name":"dst","nodeType":"YulIdentifier","src":"6691:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"6696:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"6664:21:67"},"nodeType":"YulFunctionCall","src":"6664:39:67"},"nodeType":"YulExpressionStatement","src":"6664:39:67"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"6357:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"6362:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"6370:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"6378:5:67","type":""}],"src":"6290:419:67"},{"body":{"nodeType":"YulBlock","src":"6810:326:67","statements":[{"nodeType":"YulAssignment","src":"6820:75:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6887:6:67"}],"functionName":{"name":"array_allocation_size_t_string_memory_ptr","nodeType":"YulIdentifier","src":"6845:41:67"},"nodeType":"YulFunctionCall","src":"6845:49:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"6829:15:67"},"nodeType":"YulFunctionCall","src":"6829:66:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"6820:5:67"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"6911:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"6918:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6904:6:67"},"nodeType":"YulFunctionCall","src":"6904:21:67"},"nodeType":"YulExpressionStatement","src":"6904:21:67"},{"nodeType":"YulVariableDeclaration","src":"6934:27:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"6949:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"6956:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6945:3:67"},"nodeType":"YulFunctionCall","src":"6945:16:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"6938:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"6999:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulIdentifier","src":"7001:77:67"},"nodeType":"YulFunctionCall","src":"7001:79:67"},"nodeType":"YulExpressionStatement","src":"7001:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"6980:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"6985:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6976:3:67"},"nodeType":"YulFunctionCall","src":"6976:16:67"},{"name":"end","nodeType":"YulIdentifier","src":"6994:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6973:2:67"},"nodeType":"YulFunctionCall","src":"6973:25:67"},"nodeType":"YulIf","src":"6970:112:67"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"7113:3:67"},{"name":"dst","nodeType":"YulIdentifier","src":"7118:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"7123:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"7091:21:67"},"nodeType":"YulFunctionCall","src":"7091:39:67"},"nodeType":"YulExpressionStatement","src":"7091:39:67"}]},"name":"abi_decode_available_length_t_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"6783:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"6788:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"6796:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"6804:5:67","type":""}],"src":"6715:421:67"},{"body":{"nodeType":"YulBlock","src":"7194:87:67","statements":[{"nodeType":"YulAssignment","src":"7204:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7226:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7213:12:67"},"nodeType":"YulFunctionCall","src":"7213:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"7204:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7269:5:67"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"7242:26:67"},"nodeType":"YulFunctionCall","src":"7242:33:67"},"nodeType":"YulExpressionStatement","src":"7242:33:67"}]},"name":"abi_decode_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"7172:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"7180:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"7188:5:67","type":""}],"src":"7142:139:67"},{"body":{"nodeType":"YulBlock","src":"7350:80:67","statements":[{"nodeType":"YulAssignment","src":"7360:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7375:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7369:5:67"},"nodeType":"YulFunctionCall","src":"7369:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"7360:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7418:5:67"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"7391:26:67"},"nodeType":"YulFunctionCall","src":"7391:33:67"},"nodeType":"YulExpressionStatement","src":"7391:33:67"}]},"name":"abi_decode_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"7328:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"7336:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"7344:5:67","type":""}],"src":"7287:143:67"},{"body":{"nodeType":"YulBlock","src":"7530:293:67","statements":[{"body":{"nodeType":"YulBlock","src":"7579:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"7581:77:67"},"nodeType":"YulFunctionCall","src":"7581:79:67"},"nodeType":"YulExpressionStatement","src":"7581:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7558:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"7566:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7554:3:67"},"nodeType":"YulFunctionCall","src":"7554:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"7573:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7550:3:67"},"nodeType":"YulFunctionCall","src":"7550:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7543:6:67"},"nodeType":"YulFunctionCall","src":"7543:35:67"},"nodeType":"YulIf","src":"7540:122:67"},{"nodeType":"YulVariableDeclaration","src":"7671:34:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7698:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7685:12:67"},"nodeType":"YulFunctionCall","src":"7685:20:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"7675:6:67","type":""}]},{"nodeType":"YulAssignment","src":"7714:103:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7790:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"7798:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7786:3:67"},"nodeType":"YulFunctionCall","src":"7786:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"7805:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"7813:3:67"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"7723:62:67"},"nodeType":"YulFunctionCall","src":"7723:94:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"7714:5:67"}]}]},"name":"abi_decode_t_array$_t_address_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"7508:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"7516:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"7524:5:67","type":""}],"src":"7453:370:67"},{"body":{"nodeType":"YulBlock","src":"7934:297:67","statements":[{"body":{"nodeType":"YulBlock","src":"7983:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"7985:77:67"},"nodeType":"YulFunctionCall","src":"7985:79:67"},"nodeType":"YulExpressionStatement","src":"7985:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7962:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"7970:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7958:3:67"},"nodeType":"YulFunctionCall","src":"7958:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"7977:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7954:3:67"},"nodeType":"YulFunctionCall","src":"7954:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7947:6:67"},"nodeType":"YulFunctionCall","src":"7947:35:67"},"nodeType":"YulIf","src":"7944:122:67"},{"nodeType":"YulVariableDeclaration","src":"8075:27:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8095:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8089:5:67"},"nodeType":"YulFunctionCall","src":"8089:13:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"8079:6:67","type":""}]},{"nodeType":"YulAssignment","src":"8111:114:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8198:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"8206:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8194:3:67"},"nodeType":"YulFunctionCall","src":"8194:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"8213:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"8221:3:67"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"8120:73:67"},"nodeType":"YulFunctionCall","src":"8120:105:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"8111:5:67"}]}]},"name":"abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"7912:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"7920:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"7928:5:67","type":""}],"src":"7846:385:67"},{"body":{"nodeType":"YulBlock","src":"8340:296:67","statements":[{"body":{"nodeType":"YulBlock","src":"8389:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"8391:77:67"},"nodeType":"YulFunctionCall","src":"8391:79:67"},"nodeType":"YulExpressionStatement","src":"8391:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8368:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"8376:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8364:3:67"},"nodeType":"YulFunctionCall","src":"8364:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"8383:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8360:3:67"},"nodeType":"YulFunctionCall","src":"8360:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8353:6:67"},"nodeType":"YulFunctionCall","src":"8353:35:67"},"nodeType":"YulIf","src":"8350:122:67"},{"nodeType":"YulVariableDeclaration","src":"8481:27:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8501:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8495:5:67"},"nodeType":"YulFunctionCall","src":"8495:13:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"8485:6:67","type":""}]},{"nodeType":"YulAssignment","src":"8517:113:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8603:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"8611:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8599:3:67"},"nodeType":"YulFunctionCall","src":"8599:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"8618:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"8626:3:67"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_int128_$dyn_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"8526:72:67"},"nodeType":"YulFunctionCall","src":"8526:104:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"8517:5:67"}]}]},"name":"abi_decode_t_array$_t_int128_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"8318:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"8326:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"8334:5:67","type":""}],"src":"8253:383:67"},{"body":{"nodeType":"YulBlock","src":"8743:295:67","statements":[{"body":{"nodeType":"YulBlock","src":"8792:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"8794:77:67"},"nodeType":"YulFunctionCall","src":"8794:79:67"},"nodeType":"YulExpressionStatement","src":"8794:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8771:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"8779:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8767:3:67"},"nodeType":"YulFunctionCall","src":"8767:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"8786:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8763:3:67"},"nodeType":"YulFunctionCall","src":"8763:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8756:6:67"},"nodeType":"YulFunctionCall","src":"8756:35:67"},"nodeType":"YulIf","src":"8753:122:67"},{"nodeType":"YulVariableDeclaration","src":"8884:27:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8904:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8898:5:67"},"nodeType":"YulFunctionCall","src":"8898:13:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"8888:6:67","type":""}]},{"nodeType":"YulAssignment","src":"8920:112:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9005:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"9013:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9001:3:67"},"nodeType":"YulFunctionCall","src":"9001:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"9020:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"9028:3:67"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_int32_$dyn_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"8929:71:67"},"nodeType":"YulFunctionCall","src":"8929:103:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"8920:5:67"}]}]},"name":"abi_decode_t_array$_t_int32_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"8721:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"8729:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"8737:5:67","type":""}],"src":"8657:381:67"},{"body":{"nodeType":"YulBlock","src":"9158:307:67","statements":[{"body":{"nodeType":"YulBlock","src":"9207:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"9209:77:67"},"nodeType":"YulFunctionCall","src":"9209:79:67"},"nodeType":"YulExpressionStatement","src":"9209:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9186:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"9194:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9182:3:67"},"nodeType":"YulFunctionCall","src":"9182:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"9201:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9178:3:67"},"nodeType":"YulFunctionCall","src":"9178:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"9171:6:67"},"nodeType":"YulFunctionCall","src":"9171:35:67"},"nodeType":"YulIf","src":"9168:122:67"},{"nodeType":"YulVariableDeclaration","src":"9299:27:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9319:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9313:5:67"},"nodeType":"YulFunctionCall","src":"9313:13:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"9303:6:67","type":""}]},{"nodeType":"YulAssignment","src":"9335:124:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9432:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"9440:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9428:3:67"},"nodeType":"YulFunctionCall","src":"9428:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"9447:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"9455:3:67"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"9344:83:67"},"nodeType":"YulFunctionCall","src":"9344:115:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"9335:5:67"}]}]},"name":"abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"9136:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"9144:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"9152:5:67","type":""}],"src":"9060:405:67"},{"body":{"nodeType":"YulBlock","src":"9633:322:67","statements":[{"body":{"nodeType":"YulBlock","src":"9682:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"9684:77:67"},"nodeType":"YulFunctionCall","src":"9684:79:67"},"nodeType":"YulExpressionStatement","src":"9684:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9661:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"9669:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9657:3:67"},"nodeType":"YulFunctionCall","src":"9657:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"9676:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9653:3:67"},"nodeType":"YulFunctionCall","src":"9653:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"9646:6:67"},"nodeType":"YulFunctionCall","src":"9646:35:67"},"nodeType":"YulIf","src":"9643:122:67"},{"nodeType":"YulVariableDeclaration","src":"9774:34:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9801:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9788:12:67"},"nodeType":"YulFunctionCall","src":"9788:20:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"9778:6:67","type":""}]},{"nodeType":"YulAssignment","src":"9817:132:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9922:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"9930:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9918:3:67"},"nodeType":"YulFunctionCall","src":"9918:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"9937:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"9945:3:67"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_struct$_BatchResult_$7637_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"9826:91:67"},"nodeType":"YulFunctionCall","src":"9826:123:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"9817:5:67"}]}]},"name":"abi_decode_t_array$_t_struct$_BatchResult_$7637_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"9611:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"9619:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"9627:5:67","type":""}],"src":"9527:428:67"},{"body":{"nodeType":"YulBlock","src":"10064:296:67","statements":[{"body":{"nodeType":"YulBlock","src":"10113:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"10115:77:67"},"nodeType":"YulFunctionCall","src":"10115:79:67"},"nodeType":"YulExpressionStatement","src":"10115:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"10092:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"10100:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10088:3:67"},"nodeType":"YulFunctionCall","src":"10088:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"10107:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10084:3:67"},"nodeType":"YulFunctionCall","src":"10084:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"10077:6:67"},"nodeType":"YulFunctionCall","src":"10077:35:67"},"nodeType":"YulIf","src":"10074:122:67"},{"nodeType":"YulVariableDeclaration","src":"10205:27:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"10225:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10219:5:67"},"nodeType":"YulFunctionCall","src":"10219:13:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"10209:6:67","type":""}]},{"nodeType":"YulAssignment","src":"10241:113:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"10327:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"10335:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10323:3:67"},"nodeType":"YulFunctionCall","src":"10323:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"10342:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"10350:3:67"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_uint64_$dyn_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"10250:72:67"},"nodeType":"YulFunctionCall","src":"10250:104:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"10241:5:67"}]}]},"name":"abi_decode_t_array$_t_uint64_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"10042:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"10050:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"10058:5:67","type":""}],"src":"9977:383:67"},{"body":{"nodeType":"YulBlock","src":"10415:84:67","statements":[{"nodeType":"YulAssignment","src":"10425:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"10447:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10434:12:67"},"nodeType":"YulFunctionCall","src":"10434:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"10425:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10487:5:67"}],"functionName":{"name":"validator_revert_t_bool","nodeType":"YulIdentifier","src":"10463:23:67"},"nodeType":"YulFunctionCall","src":"10463:30:67"},"nodeType":"YulExpressionStatement","src":"10463:30:67"}]},"name":"abi_decode_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"10393:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"10401:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"10409:5:67","type":""}],"src":"10366:133:67"},{"body":{"nodeType":"YulBlock","src":"10565:77:67","statements":[{"nodeType":"YulAssignment","src":"10575:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"10590:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10584:5:67"},"nodeType":"YulFunctionCall","src":"10584:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"10575:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10630:5:67"}],"functionName":{"name":"validator_revert_t_bool","nodeType":"YulIdentifier","src":"10606:23:67"},"nodeType":"YulFunctionCall","src":"10606:30:67"},"nodeType":"YulExpressionStatement","src":"10606:30:67"}]},"name":"abi_decode_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"10543:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"10551:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"10559:5:67","type":""}],"src":"10505:137:67"},{"body":{"nodeType":"YulBlock","src":"10700:87:67","statements":[{"nodeType":"YulAssignment","src":"10710:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"10732:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10719:12:67"},"nodeType":"YulFunctionCall","src":"10719:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"10710:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10775:5:67"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"10748:26:67"},"nodeType":"YulFunctionCall","src":"10748:33:67"},"nodeType":"YulExpressionStatement","src":"10748:33:67"}]},"name":"abi_decode_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"10678:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"10686:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"10694:5:67","type":""}],"src":"10648:139:67"},{"body":{"nodeType":"YulBlock","src":"10856:80:67","statements":[{"nodeType":"YulAssignment","src":"10866:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"10881:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10875:5:67"},"nodeType":"YulFunctionCall","src":"10875:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"10866:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10924:5:67"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"10897:26:67"},"nodeType":"YulFunctionCall","src":"10897:33:67"},"nodeType":"YulExpressionStatement","src":"10897:33:67"}]},"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"10834:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"10842:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"10850:5:67","type":""}],"src":"10793:143:67"},{"body":{"nodeType":"YulBlock","src":"11029:478:67","statements":[{"body":{"nodeType":"YulBlock","src":"11078:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"11080:77:67"},"nodeType":"YulFunctionCall","src":"11080:79:67"},"nodeType":"YulExpressionStatement","src":"11080:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"11057:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"11065:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11053:3:67"},"nodeType":"YulFunctionCall","src":"11053:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"11072:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11049:3:67"},"nodeType":"YulFunctionCall","src":"11049:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"11042:6:67"},"nodeType":"YulFunctionCall","src":"11042:35:67"},"nodeType":"YulIf","src":"11039:122:67"},{"nodeType":"YulAssignment","src":"11170:30:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"11193:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11180:12:67"},"nodeType":"YulFunctionCall","src":"11180:20:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"11170:6:67"}]},{"body":{"nodeType":"YulBlock","src":"11243:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"11245:77:67"},"nodeType":"YulFunctionCall","src":"11245:79:67"},"nodeType":"YulExpressionStatement","src":"11245:79:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"11215:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"11223:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"11212:2:67"},"nodeType":"YulFunctionCall","src":"11212:30:67"},"nodeType":"YulIf","src":"11209:117:67"},{"nodeType":"YulAssignment","src":"11335:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"11351:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"11359:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11347:3:67"},"nodeType":"YulFunctionCall","src":"11347:17:67"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"11335:8:67"}]},{"body":{"nodeType":"YulBlock","src":"11418:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"11420:77:67"},"nodeType":"YulFunctionCall","src":"11420:79:67"},"nodeType":"YulExpressionStatement","src":"11420:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"11383:8:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"11397:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"11405:4:67","type":"","value":"0x01"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"11393:3:67"},"nodeType":"YulFunctionCall","src":"11393:17:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11379:3:67"},"nodeType":"YulFunctionCall","src":"11379:32:67"},{"name":"end","nodeType":"YulIdentifier","src":"11413:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"11376:2:67"},"nodeType":"YulFunctionCall","src":"11376:41:67"},"nodeType":"YulIf","src":"11373:128:67"}]},"name":"abi_decode_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"10996:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"11004:3:67","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"11012:8:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"11022:6:67","type":""}],"src":"10955:552:67"},{"body":{"nodeType":"YulBlock","src":"11587:277:67","statements":[{"body":{"nodeType":"YulBlock","src":"11636:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"11638:77:67"},"nodeType":"YulFunctionCall","src":"11638:79:67"},"nodeType":"YulExpressionStatement","src":"11638:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"11615:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"11623:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11611:3:67"},"nodeType":"YulFunctionCall","src":"11611:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"11630:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11607:3:67"},"nodeType":"YulFunctionCall","src":"11607:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"11600:6:67"},"nodeType":"YulFunctionCall","src":"11600:35:67"},"nodeType":"YulIf","src":"11597:122:67"},{"nodeType":"YulVariableDeclaration","src":"11728:34:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"11755:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11742:12:67"},"nodeType":"YulFunctionCall","src":"11742:20:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"11732:6:67","type":""}]},{"nodeType":"YulAssignment","src":"11771:87:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"11831:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"11839:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11827:3:67"},"nodeType":"YulFunctionCall","src":"11827:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"11846:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"11854:3:67"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"11780:46:67"},"nodeType":"YulFunctionCall","src":"11780:78:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"11771:5:67"}]}]},"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"11565:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"11573:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"11581:5:67","type":""}],"src":"11526:338:67"},{"body":{"nodeType":"YulBlock","src":"11955:281:67","statements":[{"body":{"nodeType":"YulBlock","src":"12004:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"12006:77:67"},"nodeType":"YulFunctionCall","src":"12006:79:67"},"nodeType":"YulExpressionStatement","src":"12006:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"11983:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"11991:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11979:3:67"},"nodeType":"YulFunctionCall","src":"11979:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"11998:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11975:3:67"},"nodeType":"YulFunctionCall","src":"11975:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"11968:6:67"},"nodeType":"YulFunctionCall","src":"11968:35:67"},"nodeType":"YulIf","src":"11965:122:67"},{"nodeType":"YulVariableDeclaration","src":"12096:27:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"12116:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12110:5:67"},"nodeType":"YulFunctionCall","src":"12110:13:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"12100:6:67","type":""}]},{"nodeType":"YulAssignment","src":"12132:98:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"12203:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"12211:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12199:3:67"},"nodeType":"YulFunctionCall","src":"12199:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"12218:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"12226:3:67"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"12141:57:67"},"nodeType":"YulFunctionCall","src":"12141:89:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"12132:5:67"}]}]},"name":"abi_decode_t_bytes_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"11933:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"11941:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"11949:5:67","type":""}],"src":"11883:353:67"},{"body":{"nodeType":"YulBlock","src":"12317:110:67","statements":[{"nodeType":"YulAssignment","src":"12327:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"12349:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12336:12:67"},"nodeType":"YulFunctionCall","src":"12336:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"12327:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12415:5:67"}],"functionName":{"name":"validator_revert_t_contract$_IWitnetRequest_$7510","nodeType":"YulIdentifier","src":"12365:49:67"},"nodeType":"YulFunctionCall","src":"12365:56:67"},"nodeType":"YulExpressionStatement","src":"12365:56:67"}]},"name":"abi_decode_t_contract$_IWitnetRequest_$7510","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"12295:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"12303:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"12311:5:67","type":""}],"src":"12242:185:67"},{"body":{"nodeType":"YulBlock","src":"12511:95:67","statements":[{"nodeType":"YulAssignment","src":"12521:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"12536:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12530:5:67"},"nodeType":"YulFunctionCall","src":"12530:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"12521:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12594:5:67"}],"functionName":{"name":"validator_revert_t_enum$_ErrorCodes_$8299","nodeType":"YulIdentifier","src":"12552:41:67"},"nodeType":"YulFunctionCall","src":"12552:48:67"},"nodeType":"YulExpressionStatement","src":"12552:48:67"}]},"name":"abi_decode_t_enum$_ErrorCodes_$8299_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"12489:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"12497:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"12505:5:67","type":""}],"src":"12433:173:67"},{"body":{"nodeType":"YulBlock","src":"12674:79:67","statements":[{"nodeType":"YulAssignment","src":"12684:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"12699:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12693:5:67"},"nodeType":"YulFunctionCall","src":"12693:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"12684:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12741:5:67"}],"functionName":{"name":"validator_revert_t_int128","nodeType":"YulIdentifier","src":"12715:25:67"},"nodeType":"YulFunctionCall","src":"12715:32:67"},"nodeType":"YulExpressionStatement","src":"12715:32:67"}]},"name":"abi_decode_t_int128_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"12652:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"12660:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"12668:5:67","type":""}],"src":"12612:141:67"},{"body":{"nodeType":"YulBlock","src":"12820:78:67","statements":[{"nodeType":"YulAssignment","src":"12830:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"12845:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12839:5:67"},"nodeType":"YulFunctionCall","src":"12839:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"12830:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12886:5:67"}],"functionName":{"name":"validator_revert_t_int32","nodeType":"YulIdentifier","src":"12861:24:67"},"nodeType":"YulFunctionCall","src":"12861:31:67"},"nodeType":"YulExpressionStatement","src":"12861:31:67"}]},"name":"abi_decode_t_int32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"12798:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"12806:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"12814:5:67","type":""}],"src":"12759:139:67"},{"body":{"nodeType":"YulBlock","src":"12991:282:67","statements":[{"body":{"nodeType":"YulBlock","src":"13040:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"13042:77:67"},"nodeType":"YulFunctionCall","src":"13042:79:67"},"nodeType":"YulExpressionStatement","src":"13042:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"13019:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"13027:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13015:3:67"},"nodeType":"YulFunctionCall","src":"13015:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"13034:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13011:3:67"},"nodeType":"YulFunctionCall","src":"13011:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13004:6:67"},"nodeType":"YulFunctionCall","src":"13004:35:67"},"nodeType":"YulIf","src":"13001:122:67"},{"nodeType":"YulVariableDeclaration","src":"13132:27:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"13152:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13146:5:67"},"nodeType":"YulFunctionCall","src":"13146:13:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"13136:6:67","type":""}]},{"nodeType":"YulAssignment","src":"13168:99:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"13240:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"13248:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13236:3:67"},"nodeType":"YulFunctionCall","src":"13236:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"13255:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"13263:3:67"}],"functionName":{"name":"abi_decode_available_length_t_string_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"13177:58:67"},"nodeType":"YulFunctionCall","src":"13177:90:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"13168:5:67"}]}]},"name":"abi_decode_t_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"12969:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"12977:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"12985:5:67","type":""}],"src":"12918:355:67"},{"body":{"nodeType":"YulBlock","src":"13417:1002:67","statements":[{"body":{"nodeType":"YulBlock","src":"13461:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f","nodeType":"YulIdentifier","src":"13463:77:67"},"nodeType":"YulFunctionCall","src":"13463:79:67"},"nodeType":"YulExpressionStatement","src":"13463:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"13438:3:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"13443:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13434:3:67"},"nodeType":"YulFunctionCall","src":"13434:19:67"},{"kind":"number","nodeType":"YulLiteral","src":"13455:4:67","type":"","value":"0x80"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13430:3:67"},"nodeType":"YulFunctionCall","src":"13430:30:67"},"nodeType":"YulIf","src":"13427:117:67"},{"nodeType":"YulAssignment","src":"13553:30:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13578:4:67","type":"","value":"0x80"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"13562:15:67"},"nodeType":"YulFunctionCall","src":"13562:21:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"13553:5:67"}]},{"nodeType":"YulBlock","src":"13593:153:67","statements":[{"nodeType":"YulVariableDeclaration","src":"13631:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"13645:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"13635:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13671:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"13678:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13667:3:67"},"nodeType":"YulFunctionCall","src":"13667:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13710:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"13721:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13706:3:67"},"nodeType":"YulFunctionCall","src":"13706:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"13730:3:67"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"13685:20:67"},"nodeType":"YulFunctionCall","src":"13685:49:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13660:6:67"},"nodeType":"YulFunctionCall","src":"13660:75:67"},"nodeType":"YulExpressionStatement","src":"13660:75:67"}]},{"nodeType":"YulBlock","src":"13756:156:67","statements":[{"nodeType":"YulVariableDeclaration","src":"13796:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"13810:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"13800:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13837:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"13844:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13833:3:67"},"nodeType":"YulFunctionCall","src":"13833:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13876:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"13887:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13872:3:67"},"nodeType":"YulFunctionCall","src":"13872:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"13896:3:67"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"13851:20:67"},"nodeType":"YulFunctionCall","src":"13851:49:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13826:6:67"},"nodeType":"YulFunctionCall","src":"13826:75:67"},"nodeType":"YulExpressionStatement","src":"13826:75:67"}]},{"nodeType":"YulBlock","src":"13922:155:67","statements":[{"nodeType":"YulVariableDeclaration","src":"13961:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"13975:2:67","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"13965:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14002:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"14009:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13998:3:67"},"nodeType":"YulFunctionCall","src":"13998:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14041:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"14052:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14037:3:67"},"nodeType":"YulFunctionCall","src":"14037:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"14061:3:67"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"14016:20:67"},"nodeType":"YulFunctionCall","src":"14016:49:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13991:6:67"},"nodeType":"YulFunctionCall","src":"13991:75:67"},"nodeType":"YulExpressionStatement","src":"13991:75:67"}]},{"nodeType":"YulBlock","src":"14087:325:67","statements":[{"nodeType":"YulVariableDeclaration","src":"14127:46:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14158:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"14169:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14154:3:67"},"nodeType":"YulFunctionCall","src":"14154:18:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14141:12:67"},"nodeType":"YulFunctionCall","src":"14141:32:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"14131:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"14220:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421","nodeType":"YulIdentifier","src":"14222:77:67"},"nodeType":"YulFunctionCall","src":"14222:79:67"},"nodeType":"YulExpressionStatement","src":"14222:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14192:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"14200:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14189:2:67"},"nodeType":"YulFunctionCall","src":"14189:30:67"},"nodeType":"YulIf","src":"14186:117:67"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14328:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"14335:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14324:3:67"},"nodeType":"YulFunctionCall","src":"14324:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14376:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"14387:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14372:3:67"},"nodeType":"YulFunctionCall","src":"14372:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"14396:3:67"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"14342:29:67"},"nodeType":"YulFunctionCall","src":"14342:58:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14317:6:67"},"nodeType":"YulFunctionCall","src":"14317:84:67"},"nodeType":"YulExpressionStatement","src":"14317:84:67"}]}]},"name":"abi_decode_t_struct$_BatchResult_$7637_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13392:9:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"13403:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"13411:5:67","type":""}],"src":"13333:1086:67"},{"body":{"nodeType":"YulBlock","src":"14532:664:67","statements":[{"body":{"nodeType":"YulBlock","src":"14576:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f","nodeType":"YulIdentifier","src":"14578:77:67"},"nodeType":"YulFunctionCall","src":"14578:79:67"},"nodeType":"YulExpressionStatement","src":"14578:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"14553:3:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"14558:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14549:3:67"},"nodeType":"YulFunctionCall","src":"14549:19:67"},{"kind":"number","nodeType":"YulLiteral","src":"14570:4:67","type":"","value":"0x40"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14545:3:67"},"nodeType":"YulFunctionCall","src":"14545:30:67"},"nodeType":"YulIf","src":"14542:117:67"},{"nodeType":"YulAssignment","src":"14668:30:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14693:4:67","type":"","value":"0x40"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"14677:15:67"},"nodeType":"YulFunctionCall","src":"14677:21:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"14668:5:67"}]},{"nodeType":"YulBlock","src":"14708:319:67","statements":[{"nodeType":"YulVariableDeclaration","src":"14743:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14774:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"14785:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14770:3:67"},"nodeType":"YulFunctionCall","src":"14770:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14757:12:67"},"nodeType":"YulFunctionCall","src":"14757:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"14747:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"14835:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421","nodeType":"YulIdentifier","src":"14837:77:67"},"nodeType":"YulFunctionCall","src":"14837:79:67"},"nodeType":"YulExpressionStatement","src":"14837:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14807:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"14815:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14804:2:67"},"nodeType":"YulFunctionCall","src":"14804:30:67"},"nodeType":"YulIf","src":"14801:117:67"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14943:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"14950:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14939:3:67"},"nodeType":"YulFunctionCall","src":"14939:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14991:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"15002:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14987:3:67"},"nodeType":"YulFunctionCall","src":"14987:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"15011:3:67"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"14957:29:67"},"nodeType":"YulFunctionCall","src":"14957:58:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14932:6:67"},"nodeType":"YulFunctionCall","src":"14932:84:67"},"nodeType":"YulExpressionStatement","src":"14932:84:67"}]},{"nodeType":"YulBlock","src":"15037:152:67","statements":[{"nodeType":"YulVariableDeclaration","src":"15074:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"15088:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"15078:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15115:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"15122:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15111:3:67"},"nodeType":"YulFunctionCall","src":"15111:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15153:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"15164:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15149:3:67"},"nodeType":"YulFunctionCall","src":"15149:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"15173:3:67"}],"functionName":{"name":"abi_decode_t_uint32","nodeType":"YulIdentifier","src":"15129:19:67"},"nodeType":"YulFunctionCall","src":"15129:48:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15104:6:67"},"nodeType":"YulFunctionCall","src":"15104:74:67"},"nodeType":"YulExpressionStatement","src":"15104:74:67"}]}]},"name":"abi_decode_t_struct$_Buffer_$8042_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14507:9:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"14518:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"14526:5:67","type":""}],"src":"14453:743:67"},{"body":{"nodeType":"YulBlock","src":"15320:679:67","statements":[{"body":{"nodeType":"YulBlock","src":"15364:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f","nodeType":"YulIdentifier","src":"15366:77:67"},"nodeType":"YulFunctionCall","src":"15366:79:67"},"nodeType":"YulExpressionStatement","src":"15366:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"15341:3:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"15346:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15337:3:67"},"nodeType":"YulFunctionCall","src":"15337:19:67"},{"kind":"number","nodeType":"YulLiteral","src":"15358:4:67","type":"","value":"0x40"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15333:3:67"},"nodeType":"YulFunctionCall","src":"15333:30:67"},"nodeType":"YulIf","src":"15330:117:67"},{"nodeType":"YulAssignment","src":"15456:30:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15481:4:67","type":"","value":"0x40"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"15465:15:67"},"nodeType":"YulFunctionCall","src":"15465:21:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"15456:5:67"}]},{"nodeType":"YulBlock","src":"15496:323:67","statements":[{"nodeType":"YulVariableDeclaration","src":"15531:38:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15555:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"15566:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15551:3:67"},"nodeType":"YulFunctionCall","src":"15551:17:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15545:5:67"},"nodeType":"YulFunctionCall","src":"15545:24:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"15535:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"15616:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421","nodeType":"YulIdentifier","src":"15618:77:67"},"nodeType":"YulFunctionCall","src":"15618:79:67"},"nodeType":"YulExpressionStatement","src":"15618:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"15588:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"15596:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15585:2:67"},"nodeType":"YulFunctionCall","src":"15585:30:67"},"nodeType":"YulIf","src":"15582:117:67"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15724:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"15731:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15720:3:67"},"nodeType":"YulFunctionCall","src":"15720:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15783:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"15794:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15779:3:67"},"nodeType":"YulFunctionCall","src":"15779:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"15803:3:67"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"15738:40:67"},"nodeType":"YulFunctionCall","src":"15738:69:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15713:6:67"},"nodeType":"YulFunctionCall","src":"15713:95:67"},"nodeType":"YulExpressionStatement","src":"15713:95:67"}]},{"nodeType":"YulBlock","src":"15829:163:67","statements":[{"nodeType":"YulVariableDeclaration","src":"15866:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"15880:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"15870:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15907:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"15914:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15903:3:67"},"nodeType":"YulFunctionCall","src":"15903:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15956:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"15967:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15952:3:67"},"nodeType":"YulFunctionCall","src":"15952:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"15976:3:67"}],"functionName":{"name":"abi_decode_t_uint32_fromMemory","nodeType":"YulIdentifier","src":"15921:30:67"},"nodeType":"YulFunctionCall","src":"15921:59:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15896:6:67"},"nodeType":"YulFunctionCall","src":"15896:85:67"},"nodeType":"YulExpressionStatement","src":"15896:85:67"}]}]},"name":"abi_decode_t_struct$_Buffer_$8042_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15295:9:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"15306:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"15314:5:67","type":""}],"src":"15230:769:67"},{"body":{"nodeType":"YulBlock","src":"16108:1345:67","statements":[{"body":{"nodeType":"YulBlock","src":"16152:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f","nodeType":"YulIdentifier","src":"16154:77:67"},"nodeType":"YulFunctionCall","src":"16154:79:67"},"nodeType":"YulExpressionStatement","src":"16154:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"16129:3:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"16134:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16125:3:67"},"nodeType":"YulFunctionCall","src":"16125:19:67"},{"kind":"number","nodeType":"YulLiteral","src":"16146:4:67","type":"","value":"0xc0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16121:3:67"},"nodeType":"YulFunctionCall","src":"16121:30:67"},"nodeType":"YulIf","src":"16118:117:67"},{"nodeType":"YulAssignment","src":"16244:30:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16269:4:67","type":"","value":"0xc0"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"16253:15:67"},"nodeType":"YulFunctionCall","src":"16253:21:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"16244:5:67"}]},{"nodeType":"YulBlock","src":"16284:336:67","statements":[{"nodeType":"YulVariableDeclaration","src":"16321:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16352:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"16363:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16348:3:67"},"nodeType":"YulFunctionCall","src":"16348:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16335:12:67"},"nodeType":"YulFunctionCall","src":"16335:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"16325:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"16413:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421","nodeType":"YulIdentifier","src":"16415:77:67"},"nodeType":"YulFunctionCall","src":"16415:79:67"},"nodeType":"YulExpressionStatement","src":"16415:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"16385:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"16393:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"16382:2:67"},"nodeType":"YulFunctionCall","src":"16382:30:67"},"nodeType":"YulIf","src":"16379:117:67"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16521:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"16528:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16517:3:67"},"nodeType":"YulFunctionCall","src":"16517:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16584:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"16595:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16580:3:67"},"nodeType":"YulFunctionCall","src":"16580:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"16604:3:67"}],"functionName":{"name":"abi_decode_t_struct$_Buffer_$8042_memory_ptr","nodeType":"YulIdentifier","src":"16535:44:67"},"nodeType":"YulFunctionCall","src":"16535:73:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16510:6:67"},"nodeType":"YulFunctionCall","src":"16510:99:67"},"nodeType":"YulExpressionStatement","src":"16510:99:67"}]},{"nodeType":"YulBlock","src":"16630:156:67","statements":[{"nodeType":"YulVariableDeclaration","src":"16672:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"16686:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"16676:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16713:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"16720:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16709:3:67"},"nodeType":"YulFunctionCall","src":"16709:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16750:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"16761:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16746:3:67"},"nodeType":"YulFunctionCall","src":"16746:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"16770:3:67"}],"functionName":{"name":"abi_decode_t_uint8","nodeType":"YulIdentifier","src":"16727:18:67"},"nodeType":"YulFunctionCall","src":"16727:47:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16702:6:67"},"nodeType":"YulFunctionCall","src":"16702:73:67"},"nodeType":"YulExpressionStatement","src":"16702:73:67"}]},{"nodeType":"YulBlock","src":"16796:154:67","statements":[{"nodeType":"YulVariableDeclaration","src":"16836:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"16850:2:67","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"16840:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16877:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"16884:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16873:3:67"},"nodeType":"YulFunctionCall","src":"16873:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16914:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"16925:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16910:3:67"},"nodeType":"YulFunctionCall","src":"16910:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"16934:3:67"}],"functionName":{"name":"abi_decode_t_uint8","nodeType":"YulIdentifier","src":"16891:18:67"},"nodeType":"YulFunctionCall","src":"16891:47:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16866:6:67"},"nodeType":"YulFunctionCall","src":"16866:73:67"},"nodeType":"YulExpressionStatement","src":"16866:73:67"}]},{"nodeType":"YulBlock","src":"16960:166:67","statements":[{"nodeType":"YulVariableDeclaration","src":"17012:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"17026:2:67","type":"","value":"96"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"17016:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17053:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"17060:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17049:3:67"},"nodeType":"YulFunctionCall","src":"17049:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17090:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"17101:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17086:3:67"},"nodeType":"YulFunctionCall","src":"17086:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"17110:3:67"}],"functionName":{"name":"abi_decode_t_uint8","nodeType":"YulIdentifier","src":"17067:18:67"},"nodeType":"YulFunctionCall","src":"17067:47:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17042:6:67"},"nodeType":"YulFunctionCall","src":"17042:73:67"},"nodeType":"YulExpressionStatement","src":"17042:73:67"}]},{"nodeType":"YulBlock","src":"17136:150:67","statements":[{"nodeType":"YulVariableDeclaration","src":"17170:17:67","value":{"kind":"number","nodeType":"YulLiteral","src":"17184:3:67","type":"","value":"128"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"17174:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17212:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"17219:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17208:3:67"},"nodeType":"YulFunctionCall","src":"17208:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17250:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"17261:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17246:3:67"},"nodeType":"YulFunctionCall","src":"17246:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"17270:3:67"}],"functionName":{"name":"abi_decode_t_uint64","nodeType":"YulIdentifier","src":"17226:19:67"},"nodeType":"YulFunctionCall","src":"17226:48:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17201:6:67"},"nodeType":"YulFunctionCall","src":"17201:74:67"},"nodeType":"YulExpressionStatement","src":"17201:74:67"}]},{"nodeType":"YulBlock","src":"17296:150:67","statements":[{"nodeType":"YulVariableDeclaration","src":"17330:17:67","value":{"kind":"number","nodeType":"YulLiteral","src":"17344:3:67","type":"","value":"160"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"17334:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17372:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"17379:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17368:3:67"},"nodeType":"YulFunctionCall","src":"17368:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17410:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"17421:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17406:3:67"},"nodeType":"YulFunctionCall","src":"17406:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"17430:3:67"}],"functionName":{"name":"abi_decode_t_uint64","nodeType":"YulIdentifier","src":"17386:19:67"},"nodeType":"YulFunctionCall","src":"17386:48:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17361:6:67"},"nodeType":"YulFunctionCall","src":"17361:74:67"},"nodeType":"YulExpressionStatement","src":"17361:74:67"}]}]},"name":"abi_decode_t_struct$_CBOR_$8037_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16083:9:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"16094:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"16102:5:67","type":""}],"src":"16031:1422:67"},{"body":{"nodeType":"YulBlock","src":"17573:1404:67","statements":[{"body":{"nodeType":"YulBlock","src":"17617:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f","nodeType":"YulIdentifier","src":"17619:77:67"},"nodeType":"YulFunctionCall","src":"17619:79:67"},"nodeType":"YulExpressionStatement","src":"17619:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"17594:3:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"17599:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17590:3:67"},"nodeType":"YulFunctionCall","src":"17590:19:67"},{"kind":"number","nodeType":"YulLiteral","src":"17611:4:67","type":"","value":"0xc0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"17586:3:67"},"nodeType":"YulFunctionCall","src":"17586:30:67"},"nodeType":"YulIf","src":"17583:117:67"},{"nodeType":"YulAssignment","src":"17709:30:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17734:4:67","type":"","value":"0xc0"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"17718:15:67"},"nodeType":"YulFunctionCall","src":"17718:21:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"17709:5:67"}]},{"nodeType":"YulBlock","src":"17749:340:67","statements":[{"nodeType":"YulVariableDeclaration","src":"17786:38:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17810:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"17821:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17806:3:67"},"nodeType":"YulFunctionCall","src":"17806:17:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17800:5:67"},"nodeType":"YulFunctionCall","src":"17800:24:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"17790:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"17871:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421","nodeType":"YulIdentifier","src":"17873:77:67"},"nodeType":"YulFunctionCall","src":"17873:79:67"},"nodeType":"YulExpressionStatement","src":"17873:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17843:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"17851:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"17840:2:67"},"nodeType":"YulFunctionCall","src":"17840:30:67"},"nodeType":"YulIf","src":"17837:117:67"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17979:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"17986:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17975:3:67"},"nodeType":"YulFunctionCall","src":"17975:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18053:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"18064:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18049:3:67"},"nodeType":"YulFunctionCall","src":"18049:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"18073:3:67"}],"functionName":{"name":"abi_decode_t_struct$_Buffer_$8042_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"17993:55:67"},"nodeType":"YulFunctionCall","src":"17993:84:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17968:6:67"},"nodeType":"YulFunctionCall","src":"17968:110:67"},"nodeType":"YulExpressionStatement","src":"17968:110:67"}]},{"nodeType":"YulBlock","src":"18099:167:67","statements":[{"nodeType":"YulVariableDeclaration","src":"18141:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"18155:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"18145:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18182:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"18189:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18178:3:67"},"nodeType":"YulFunctionCall","src":"18178:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18230:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"18241:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18226:3:67"},"nodeType":"YulFunctionCall","src":"18226:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"18250:3:67"}],"functionName":{"name":"abi_decode_t_uint8_fromMemory","nodeType":"YulIdentifier","src":"18196:29:67"},"nodeType":"YulFunctionCall","src":"18196:58:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18171:6:67"},"nodeType":"YulFunctionCall","src":"18171:84:67"},"nodeType":"YulExpressionStatement","src":"18171:84:67"}]},{"nodeType":"YulBlock","src":"18276:165:67","statements":[{"nodeType":"YulVariableDeclaration","src":"18316:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"18330:2:67","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"18320:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18357:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"18364:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18353:3:67"},"nodeType":"YulFunctionCall","src":"18353:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18405:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"18416:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18401:3:67"},"nodeType":"YulFunctionCall","src":"18401:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"18425:3:67"}],"functionName":{"name":"abi_decode_t_uint8_fromMemory","nodeType":"YulIdentifier","src":"18371:29:67"},"nodeType":"YulFunctionCall","src":"18371:58:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18346:6:67"},"nodeType":"YulFunctionCall","src":"18346:84:67"},"nodeType":"YulExpressionStatement","src":"18346:84:67"}]},{"nodeType":"YulBlock","src":"18451:177:67","statements":[{"nodeType":"YulVariableDeclaration","src":"18503:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"18517:2:67","type":"","value":"96"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"18507:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18544:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"18551:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18540:3:67"},"nodeType":"YulFunctionCall","src":"18540:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18592:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"18603:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18588:3:67"},"nodeType":"YulFunctionCall","src":"18588:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"18612:3:67"}],"functionName":{"name":"abi_decode_t_uint8_fromMemory","nodeType":"YulIdentifier","src":"18558:29:67"},"nodeType":"YulFunctionCall","src":"18558:58:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18533:6:67"},"nodeType":"YulFunctionCall","src":"18533:84:67"},"nodeType":"YulExpressionStatement","src":"18533:84:67"}]},{"nodeType":"YulBlock","src":"18638:161:67","statements":[{"nodeType":"YulVariableDeclaration","src":"18672:17:67","value":{"kind":"number","nodeType":"YulLiteral","src":"18686:3:67","type":"","value":"128"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"18676:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18714:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"18721:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18710:3:67"},"nodeType":"YulFunctionCall","src":"18710:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18763:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"18774:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18759:3:67"},"nodeType":"YulFunctionCall","src":"18759:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"18783:3:67"}],"functionName":{"name":"abi_decode_t_uint64_fromMemory","nodeType":"YulIdentifier","src":"18728:30:67"},"nodeType":"YulFunctionCall","src":"18728:59:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18703:6:67"},"nodeType":"YulFunctionCall","src":"18703:85:67"},"nodeType":"YulExpressionStatement","src":"18703:85:67"}]},{"nodeType":"YulBlock","src":"18809:161:67","statements":[{"nodeType":"YulVariableDeclaration","src":"18843:17:67","value":{"kind":"number","nodeType":"YulLiteral","src":"18857:3:67","type":"","value":"160"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"18847:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18885:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"18892:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18881:3:67"},"nodeType":"YulFunctionCall","src":"18881:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18934:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"18945:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18930:3:67"},"nodeType":"YulFunctionCall","src":"18930:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"18954:3:67"}],"functionName":{"name":"abi_decode_t_uint64_fromMemory","nodeType":"YulIdentifier","src":"18899:30:67"},"nodeType":"YulFunctionCall","src":"18899:59:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18874:6:67"},"nodeType":"YulFunctionCall","src":"18874:85:67"},"nodeType":"YulExpressionStatement","src":"18874:85:67"}]}]},"name":"abi_decode_t_struct$_CBOR_$8037_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17548:9:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"17559:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"17567:5:67","type":""}],"src":"17485:1492:67"},{"body":{"nodeType":"YulBlock","src":"19090:677:67","statements":[{"body":{"nodeType":"YulBlock","src":"19134:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f","nodeType":"YulIdentifier","src":"19136:77:67"},"nodeType":"YulFunctionCall","src":"19136:79:67"},"nodeType":"YulExpressionStatement","src":"19136:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"19111:3:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"19116:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19107:3:67"},"nodeType":"YulFunctionCall","src":"19107:19:67"},{"kind":"number","nodeType":"YulLiteral","src":"19128:4:67","type":"","value":"0x40"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"19103:3:67"},"nodeType":"YulFunctionCall","src":"19103:30:67"},"nodeType":"YulIf","src":"19100:117:67"},{"nodeType":"YulAssignment","src":"19226:30:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19251:4:67","type":"","value":"0x40"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"19235:15:67"},"nodeType":"YulFunctionCall","src":"19235:21:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"19226:5:67"}]},{"nodeType":"YulBlock","src":"19266:150:67","statements":[{"nodeType":"YulVariableDeclaration","src":"19304:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"19318:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"19308:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19344:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"19351:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19340:3:67"},"nodeType":"YulFunctionCall","src":"19340:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19380:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"19391:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19376:3:67"},"nodeType":"YulFunctionCall","src":"19376:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"19400:3:67"}],"functionName":{"name":"abi_decode_t_bool","nodeType":"YulIdentifier","src":"19358:17:67"},"nodeType":"YulFunctionCall","src":"19358:46:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19333:6:67"},"nodeType":"YulFunctionCall","src":"19333:72:67"},"nodeType":"YulExpressionStatement","src":"19333:72:67"}]},{"nodeType":"YulBlock","src":"19426:334:67","statements":[{"nodeType":"YulVariableDeclaration","src":"19462:46:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19493:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"19504:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19489:3:67"},"nodeType":"YulFunctionCall","src":"19489:18:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"19476:12:67"},"nodeType":"YulFunctionCall","src":"19476:32:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"19466:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"19555:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421","nodeType":"YulIdentifier","src":"19557:77:67"},"nodeType":"YulFunctionCall","src":"19557:79:67"},"nodeType":"YulExpressionStatement","src":"19557:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"19527:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"19535:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"19524:2:67"},"nodeType":"YulFunctionCall","src":"19524:30:67"},"nodeType":"YulIf","src":"19521:117:67"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19663:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"19670:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19659:3:67"},"nodeType":"YulFunctionCall","src":"19659:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19724:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"19735:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19720:3:67"},"nodeType":"YulFunctionCall","src":"19720:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"19744:3:67"}],"functionName":{"name":"abi_decode_t_struct$_CBOR_$8037_memory_ptr","nodeType":"YulIdentifier","src":"19677:42:67"},"nodeType":"YulFunctionCall","src":"19677:71:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19652:6:67"},"nodeType":"YulFunctionCall","src":"19652:97:67"},"nodeType":"YulExpressionStatement","src":"19652:97:67"}]}]},"name":"abi_decode_t_struct$_Result_$8023_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19065:9:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"19076:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"19084:5:67","type":""}],"src":"19011:756:67"},{"body":{"nodeType":"YulBlock","src":"19891:692:67","statements":[{"body":{"nodeType":"YulBlock","src":"19935:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f","nodeType":"YulIdentifier","src":"19937:77:67"},"nodeType":"YulFunctionCall","src":"19937:79:67"},"nodeType":"YulExpressionStatement","src":"19937:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"19912:3:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"19917:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19908:3:67"},"nodeType":"YulFunctionCall","src":"19908:19:67"},{"kind":"number","nodeType":"YulLiteral","src":"19929:4:67","type":"","value":"0x40"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"19904:3:67"},"nodeType":"YulFunctionCall","src":"19904:30:67"},"nodeType":"YulIf","src":"19901:117:67"},{"nodeType":"YulAssignment","src":"20027:30:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20052:4:67","type":"","value":"0x40"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"20036:15:67"},"nodeType":"YulFunctionCall","src":"20036:21:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"20027:5:67"}]},{"nodeType":"YulBlock","src":"20067:161:67","statements":[{"nodeType":"YulVariableDeclaration","src":"20105:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"20119:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"20109:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20145:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"20152:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20141:3:67"},"nodeType":"YulFunctionCall","src":"20141:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20192:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"20203:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20188:3:67"},"nodeType":"YulFunctionCall","src":"20188:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"20212:3:67"}],"functionName":{"name":"abi_decode_t_bool_fromMemory","nodeType":"YulIdentifier","src":"20159:28:67"},"nodeType":"YulFunctionCall","src":"20159:57:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20134:6:67"},"nodeType":"YulFunctionCall","src":"20134:83:67"},"nodeType":"YulExpressionStatement","src":"20134:83:67"}]},{"nodeType":"YulBlock","src":"20238:338:67","statements":[{"nodeType":"YulVariableDeclaration","src":"20274:39:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20298:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"20309:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20294:3:67"},"nodeType":"YulFunctionCall","src":"20294:18:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20288:5:67"},"nodeType":"YulFunctionCall","src":"20288:25:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"20278:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"20360:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421","nodeType":"YulIdentifier","src":"20362:77:67"},"nodeType":"YulFunctionCall","src":"20362:79:67"},"nodeType":"YulExpressionStatement","src":"20362:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"20332:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"20340:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20329:2:67"},"nodeType":"YulFunctionCall","src":"20329:30:67"},"nodeType":"YulIf","src":"20326:117:67"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20468:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"20475:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20464:3:67"},"nodeType":"YulFunctionCall","src":"20464:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20540:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"20551:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20536:3:67"},"nodeType":"YulFunctionCall","src":"20536:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"20560:3:67"}],"functionName":{"name":"abi_decode_t_struct$_CBOR_$8037_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"20482:53:67"},"nodeType":"YulFunctionCall","src":"20482:82:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20457:6:67"},"nodeType":"YulFunctionCall","src":"20457:108:67"},"nodeType":"YulExpressionStatement","src":"20457:108:67"}]}]},"name":"abi_decode_t_struct$_Result_$8023_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19866:9:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"19877:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"19885:5:67","type":""}],"src":"19801:782:67"},{"body":{"nodeType":"YulBlock","src":"20641:87:67","statements":[{"nodeType":"YulAssignment","src":"20651:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"20673:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"20660:12:67"},"nodeType":"YulFunctionCall","src":"20660:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"20651:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20716:5:67"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"20689:26:67"},"nodeType":"YulFunctionCall","src":"20689:33:67"},"nodeType":"YulExpressionStatement","src":"20689:33:67"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"20619:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"20627:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"20635:5:67","type":""}],"src":"20589:139:67"},{"body":{"nodeType":"YulBlock","src":"20785:86:67","statements":[{"nodeType":"YulAssignment","src":"20795:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"20817:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"20804:12:67"},"nodeType":"YulFunctionCall","src":"20804:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"20795:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20859:5:67"}],"functionName":{"name":"validator_revert_t_uint32","nodeType":"YulIdentifier","src":"20833:25:67"},"nodeType":"YulFunctionCall","src":"20833:32:67"},"nodeType":"YulExpressionStatement","src":"20833:32:67"}]},"name":"abi_decode_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"20763:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"20771:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"20779:5:67","type":""}],"src":"20734:137:67"},{"body":{"nodeType":"YulBlock","src":"20939:79:67","statements":[{"nodeType":"YulAssignment","src":"20949:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"20964:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20958:5:67"},"nodeType":"YulFunctionCall","src":"20958:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"20949:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21006:5:67"}],"functionName":{"name":"validator_revert_t_uint32","nodeType":"YulIdentifier","src":"20980:25:67"},"nodeType":"YulFunctionCall","src":"20980:32:67"},"nodeType":"YulExpressionStatement","src":"20980:32:67"}]},"name":"abi_decode_t_uint32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"20917:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"20925:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"20933:5:67","type":""}],"src":"20877:141:67"},{"body":{"nodeType":"YulBlock","src":"21075:86:67","statements":[{"nodeType":"YulAssignment","src":"21085:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"21107:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"21094:12:67"},"nodeType":"YulFunctionCall","src":"21094:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"21085:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21149:5:67"}],"functionName":{"name":"validator_revert_t_uint64","nodeType":"YulIdentifier","src":"21123:25:67"},"nodeType":"YulFunctionCall","src":"21123:32:67"},"nodeType":"YulExpressionStatement","src":"21123:32:67"}]},"name":"abi_decode_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"21053:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"21061:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"21069:5:67","type":""}],"src":"21024:137:67"},{"body":{"nodeType":"YulBlock","src":"21229:79:67","statements":[{"nodeType":"YulAssignment","src":"21239:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"21254:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21248:5:67"},"nodeType":"YulFunctionCall","src":"21248:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"21239:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21296:5:67"}],"functionName":{"name":"validator_revert_t_uint64","nodeType":"YulIdentifier","src":"21270:25:67"},"nodeType":"YulFunctionCall","src":"21270:32:67"},"nodeType":"YulExpressionStatement","src":"21270:32:67"}]},"name":"abi_decode_t_uint64_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"21207:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"21215:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"21223:5:67","type":""}],"src":"21167:141:67"},{"body":{"nodeType":"YulBlock","src":"21364:85:67","statements":[{"nodeType":"YulAssignment","src":"21374:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"21396:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"21383:12:67"},"nodeType":"YulFunctionCall","src":"21383:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"21374:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21437:5:67"}],"functionName":{"name":"validator_revert_t_uint8","nodeType":"YulIdentifier","src":"21412:24:67"},"nodeType":"YulFunctionCall","src":"21412:31:67"},"nodeType":"YulExpressionStatement","src":"21412:31:67"}]},"name":"abi_decode_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"21342:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"21350:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"21358:5:67","type":""}],"src":"21314:135:67"},{"body":{"nodeType":"YulBlock","src":"21516:78:67","statements":[{"nodeType":"YulAssignment","src":"21526:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"21541:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21535:5:67"},"nodeType":"YulFunctionCall","src":"21535:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"21526:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21582:5:67"}],"functionName":{"name":"validator_revert_t_uint8","nodeType":"YulIdentifier","src":"21557:24:67"},"nodeType":"YulFunctionCall","src":"21557:31:67"},"nodeType":"YulExpressionStatement","src":"21557:31:67"}]},"name":"abi_decode_t_uint8_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"21494:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"21502:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"21510:5:67","type":""}],"src":"21455:139:67"},{"body":{"nodeType":"YulBlock","src":"21666:263:67","statements":[{"body":{"nodeType":"YulBlock","src":"21712:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"21714:77:67"},"nodeType":"YulFunctionCall","src":"21714:79:67"},"nodeType":"YulExpressionStatement","src":"21714:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"21687:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"21696:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21683:3:67"},"nodeType":"YulFunctionCall","src":"21683:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"21708:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21679:3:67"},"nodeType":"YulFunctionCall","src":"21679:32:67"},"nodeType":"YulIf","src":"21676:119:67"},{"nodeType":"YulBlock","src":"21805:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"21820:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"21834:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"21824:6:67","type":""}]},{"nodeType":"YulAssignment","src":"21849:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21884:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"21895:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21880:3:67"},"nodeType":"YulFunctionCall","src":"21880:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"21904:7:67"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"21859:20:67"},"nodeType":"YulFunctionCall","src":"21859:53:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"21849:6:67"}]}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21636:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"21647:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"21659:6:67","type":""}],"src":"21600:329:67"},{"body":{"nodeType":"YulBlock","src":"22026:448:67","statements":[{"body":{"nodeType":"YulBlock","src":"22072:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"22074:77:67"},"nodeType":"YulFunctionCall","src":"22074:79:67"},"nodeType":"YulExpressionStatement","src":"22074:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"22047:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"22056:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22043:3:67"},"nodeType":"YulFunctionCall","src":"22043:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"22068:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22039:3:67"},"nodeType":"YulFunctionCall","src":"22039:32:67"},"nodeType":"YulIf","src":"22036:119:67"},{"nodeType":"YulBlock","src":"22165:302:67","statements":[{"nodeType":"YulVariableDeclaration","src":"22180:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22211:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"22222:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22207:3:67"},"nodeType":"YulFunctionCall","src":"22207:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"22194:12:67"},"nodeType":"YulFunctionCall","src":"22194:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"22184:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"22272:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"22274:77:67"},"nodeType":"YulFunctionCall","src":"22274:79:67"},"nodeType":"YulExpressionStatement","src":"22274:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"22244:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"22252:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22241:2:67"},"nodeType":"YulFunctionCall","src":"22241:30:67"},"nodeType":"YulIf","src":"22238:117:67"},{"nodeType":"YulAssignment","src":"22369:88:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22429:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"22440:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22425:3:67"},"nodeType":"YulFunctionCall","src":"22425:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"22449:7:67"}],"functionName":{"name":"abi_decode_t_array$_t_address_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"22379:45:67"},"nodeType":"YulFunctionCall","src":"22379:78:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"22369:6:67"}]}]}]},"name":"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21996:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"22007:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"22019:6:67","type":""}],"src":"21935:539:67"},{"body":{"nodeType":"YulBlock","src":"22582:452:67","statements":[{"body":{"nodeType":"YulBlock","src":"22628:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"22630:77:67"},"nodeType":"YulFunctionCall","src":"22630:79:67"},"nodeType":"YulExpressionStatement","src":"22630:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"22603:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"22612:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22599:3:67"},"nodeType":"YulFunctionCall","src":"22599:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"22624:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22595:3:67"},"nodeType":"YulFunctionCall","src":"22595:32:67"},"nodeType":"YulIf","src":"22592:119:67"},{"nodeType":"YulBlock","src":"22721:306:67","statements":[{"nodeType":"YulVariableDeclaration","src":"22736:38:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22760:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"22771:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22756:3:67"},"nodeType":"YulFunctionCall","src":"22756:17:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"22750:5:67"},"nodeType":"YulFunctionCall","src":"22750:24:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"22740:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"22821:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"22823:77:67"},"nodeType":"YulFunctionCall","src":"22823:79:67"},"nodeType":"YulExpressionStatement","src":"22823:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"22793:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"22801:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22790:2:67"},"nodeType":"YulFunctionCall","src":"22790:30:67"},"nodeType":"YulIf","src":"22787:117:67"},{"nodeType":"YulAssignment","src":"22918:99:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22989:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"23000:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22985:3:67"},"nodeType":"YulFunctionCall","src":"22985:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"23009:7:67"}],"functionName":{"name":"abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"22928:56:67"},"nodeType":"YulFunctionCall","src":"22928:89:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"22918:6:67"}]}]}]},"name":"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22552:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"22563:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"22575:6:67","type":""}],"src":"22480:554:67"},{"body":{"nodeType":"YulBlock","src":"23141:451:67","statements":[{"body":{"nodeType":"YulBlock","src":"23187:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"23189:77:67"},"nodeType":"YulFunctionCall","src":"23189:79:67"},"nodeType":"YulExpressionStatement","src":"23189:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"23162:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"23171:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23158:3:67"},"nodeType":"YulFunctionCall","src":"23158:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"23183:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"23154:3:67"},"nodeType":"YulFunctionCall","src":"23154:32:67"},"nodeType":"YulIf","src":"23151:119:67"},{"nodeType":"YulBlock","src":"23280:305:67","statements":[{"nodeType":"YulVariableDeclaration","src":"23295:38:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23319:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"23330:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23315:3:67"},"nodeType":"YulFunctionCall","src":"23315:17:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"23309:5:67"},"nodeType":"YulFunctionCall","src":"23309:24:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"23299:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"23380:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"23382:77:67"},"nodeType":"YulFunctionCall","src":"23382:79:67"},"nodeType":"YulExpressionStatement","src":"23382:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"23352:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"23360:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"23349:2:67"},"nodeType":"YulFunctionCall","src":"23349:30:67"},"nodeType":"YulIf","src":"23346:117:67"},{"nodeType":"YulAssignment","src":"23477:98:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23547:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"23558:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23543:3:67"},"nodeType":"YulFunctionCall","src":"23543:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"23567:7:67"}],"functionName":{"name":"abi_decode_t_array$_t_int128_$dyn_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"23487:55:67"},"nodeType":"YulFunctionCall","src":"23487:88:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"23477:6:67"}]}]}]},"name":"abi_decode_tuple_t_array$_t_int128_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23111:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"23122:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"23134:6:67","type":""}],"src":"23040:552:67"},{"body":{"nodeType":"YulBlock","src":"23698:450:67","statements":[{"body":{"nodeType":"YulBlock","src":"23744:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"23746:77:67"},"nodeType":"YulFunctionCall","src":"23746:79:67"},"nodeType":"YulExpressionStatement","src":"23746:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"23719:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"23728:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23715:3:67"},"nodeType":"YulFunctionCall","src":"23715:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"23740:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"23711:3:67"},"nodeType":"YulFunctionCall","src":"23711:32:67"},"nodeType":"YulIf","src":"23708:119:67"},{"nodeType":"YulBlock","src":"23837:304:67","statements":[{"nodeType":"YulVariableDeclaration","src":"23852:38:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23876:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"23887:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23872:3:67"},"nodeType":"YulFunctionCall","src":"23872:17:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"23866:5:67"},"nodeType":"YulFunctionCall","src":"23866:24:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"23856:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"23937:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"23939:77:67"},"nodeType":"YulFunctionCall","src":"23939:79:67"},"nodeType":"YulExpressionStatement","src":"23939:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"23909:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"23917:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"23906:2:67"},"nodeType":"YulFunctionCall","src":"23906:30:67"},"nodeType":"YulIf","src":"23903:117:67"},{"nodeType":"YulAssignment","src":"24034:97:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24103:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"24114:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24099:3:67"},"nodeType":"YulFunctionCall","src":"24099:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"24123:7:67"}],"functionName":{"name":"abi_decode_t_array$_t_int32_$dyn_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"24044:54:67"},"nodeType":"YulFunctionCall","src":"24044:87:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"24034:6:67"}]}]}]},"name":"abi_decode_tuple_t_array$_t_int32_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23668:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"23679:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"23691:6:67","type":""}],"src":"23598:550:67"},{"body":{"nodeType":"YulBlock","src":"24266:462:67","statements":[{"body":{"nodeType":"YulBlock","src":"24312:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"24314:77:67"},"nodeType":"YulFunctionCall","src":"24314:79:67"},"nodeType":"YulExpressionStatement","src":"24314:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"24287:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"24296:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24283:3:67"},"nodeType":"YulFunctionCall","src":"24283:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"24308:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"24279:3:67"},"nodeType":"YulFunctionCall","src":"24279:32:67"},"nodeType":"YulIf","src":"24276:119:67"},{"nodeType":"YulBlock","src":"24405:316:67","statements":[{"nodeType":"YulVariableDeclaration","src":"24420:38:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24444:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"24455:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24440:3:67"},"nodeType":"YulFunctionCall","src":"24440:17:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"24434:5:67"},"nodeType":"YulFunctionCall","src":"24434:24:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"24424:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"24505:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"24507:77:67"},"nodeType":"YulFunctionCall","src":"24507:79:67"},"nodeType":"YulExpressionStatement","src":"24507:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"24477:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"24485:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"24474:2:67"},"nodeType":"YulFunctionCall","src":"24474:30:67"},"nodeType":"YulIf","src":"24471:117:67"},{"nodeType":"YulAssignment","src":"24602:109:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24683:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"24694:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24679:3:67"},"nodeType":"YulFunctionCall","src":"24679:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"24703:7:67"}],"functionName":{"name":"abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"24612:66:67"},"nodeType":"YulFunctionCall","src":"24612:99:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"24602:6:67"}]}]}]},"name":"abi_decode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24236:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"24247:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"24259:6:67","type":""}],"src":"24154:574:67"},{"body":{"nodeType":"YulBlock","src":"24868:602:67","statements":[{"body":{"nodeType":"YulBlock","src":"24914:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"24916:77:67"},"nodeType":"YulFunctionCall","src":"24916:79:67"},"nodeType":"YulExpressionStatement","src":"24916:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"24889:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"24898:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24885:3:67"},"nodeType":"YulFunctionCall","src":"24885:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"24910:2:67","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"24881:3:67"},"nodeType":"YulFunctionCall","src":"24881:32:67"},"nodeType":"YulIf","src":"24878:119:67"},{"nodeType":"YulBlock","src":"25007:331:67","statements":[{"nodeType":"YulVariableDeclaration","src":"25022:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25053:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"25064:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25049:3:67"},"nodeType":"YulFunctionCall","src":"25049:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"25036:12:67"},"nodeType":"YulFunctionCall","src":"25036:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"25026:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"25114:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"25116:77:67"},"nodeType":"YulFunctionCall","src":"25116:79:67"},"nodeType":"YulExpressionStatement","src":"25116:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"25086:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"25094:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"25083:2:67"},"nodeType":"YulFunctionCall","src":"25083:30:67"},"nodeType":"YulIf","src":"25080:117:67"},{"nodeType":"YulAssignment","src":"25211:117:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25300:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"25311:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25296:3:67"},"nodeType":"YulFunctionCall","src":"25296:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"25320:7:67"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_BatchResult_$7637_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"25221:74:67"},"nodeType":"YulFunctionCall","src":"25221:107:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"25211:6:67"}]}]},{"nodeType":"YulBlock","src":"25348:115:67","statements":[{"nodeType":"YulVariableDeclaration","src":"25363:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"25377:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"25367:6:67","type":""}]},{"nodeType":"YulAssignment","src":"25393:60:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25425:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"25436:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25421:3:67"},"nodeType":"YulFunctionCall","src":"25421:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"25445:7:67"}],"functionName":{"name":"abi_decode_t_bool","nodeType":"YulIdentifier","src":"25403:17:67"},"nodeType":"YulFunctionCall","src":"25403:50:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"25393:6:67"}]}]}]},"name":"abi_decode_tuple_t_array$_t_struct$_BatchResult_$7637_memory_ptr_$dyn_memory_ptrt_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24830:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"24841:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"24853:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"24861:6:67","type":""}],"src":"24734:736:67"},{"body":{"nodeType":"YulBlock","src":"25577:451:67","statements":[{"body":{"nodeType":"YulBlock","src":"25623:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"25625:77:67"},"nodeType":"YulFunctionCall","src":"25625:79:67"},"nodeType":"YulExpressionStatement","src":"25625:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"25598:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"25607:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25594:3:67"},"nodeType":"YulFunctionCall","src":"25594:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"25619:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"25590:3:67"},"nodeType":"YulFunctionCall","src":"25590:32:67"},"nodeType":"YulIf","src":"25587:119:67"},{"nodeType":"YulBlock","src":"25716:305:67","statements":[{"nodeType":"YulVariableDeclaration","src":"25731:38:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25755:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"25766:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25751:3:67"},"nodeType":"YulFunctionCall","src":"25751:17:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"25745:5:67"},"nodeType":"YulFunctionCall","src":"25745:24:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"25735:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"25816:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"25818:77:67"},"nodeType":"YulFunctionCall","src":"25818:79:67"},"nodeType":"YulExpressionStatement","src":"25818:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"25788:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"25796:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"25785:2:67"},"nodeType":"YulFunctionCall","src":"25785:30:67"},"nodeType":"YulIf","src":"25782:117:67"},{"nodeType":"YulAssignment","src":"25913:98:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25983:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"25994:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25979:3:67"},"nodeType":"YulFunctionCall","src":"25979:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"26003:7:67"}],"functionName":{"name":"abi_decode_t_array$_t_uint64_$dyn_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"25923:55:67"},"nodeType":"YulFunctionCall","src":"25923:88:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"25913:6:67"}]}]}]},"name":"abi_decode_tuple_t_array$_t_uint64_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25547:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"25558:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"25570:6:67","type":""}],"src":"25476:552:67"},{"body":{"nodeType":"YulBlock","src":"26108:271:67","statements":[{"body":{"nodeType":"YulBlock","src":"26154:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"26156:77:67"},"nodeType":"YulFunctionCall","src":"26156:79:67"},"nodeType":"YulExpressionStatement","src":"26156:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"26129:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"26138:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"26125:3:67"},"nodeType":"YulFunctionCall","src":"26125:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"26150:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"26121:3:67"},"nodeType":"YulFunctionCall","src":"26121:32:67"},"nodeType":"YulIf","src":"26118:119:67"},{"nodeType":"YulBlock","src":"26247:125:67","statements":[{"nodeType":"YulVariableDeclaration","src":"26262:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"26276:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"26266:6:67","type":""}]},{"nodeType":"YulAssignment","src":"26291:71:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26334:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"26345:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26330:3:67"},"nodeType":"YulFunctionCall","src":"26330:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"26354:7:67"}],"functionName":{"name":"abi_decode_t_bool_fromMemory","nodeType":"YulIdentifier","src":"26301:28:67"},"nodeType":"YulFunctionCall","src":"26301:61:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"26291:6:67"}]}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26078:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"26089:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"26101:6:67","type":""}],"src":"26034:345:67"},{"body":{"nodeType":"YulBlock","src":"26462:274:67","statements":[{"body":{"nodeType":"YulBlock","src":"26508:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"26510:77:67"},"nodeType":"YulFunctionCall","src":"26510:79:67"},"nodeType":"YulExpressionStatement","src":"26510:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"26483:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"26492:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"26479:3:67"},"nodeType":"YulFunctionCall","src":"26479:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"26504:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"26475:3:67"},"nodeType":"YulFunctionCall","src":"26475:32:67"},"nodeType":"YulIf","src":"26472:119:67"},{"nodeType":"YulBlock","src":"26601:128:67","statements":[{"nodeType":"YulVariableDeclaration","src":"26616:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"26630:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"26620:6:67","type":""}]},{"nodeType":"YulAssignment","src":"26645:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26691:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"26702:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26687:3:67"},"nodeType":"YulFunctionCall","src":"26687:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"26711:7:67"}],"functionName":{"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulIdentifier","src":"26655:31:67"},"nodeType":"YulFunctionCall","src":"26655:64:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"26645:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26432:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"26443:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"26455:6:67","type":""}],"src":"26385:351:67"},{"body":{"nodeType":"YulBlock","src":"26817:432:67","statements":[{"body":{"nodeType":"YulBlock","src":"26863:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"26865:77:67"},"nodeType":"YulFunctionCall","src":"26865:79:67"},"nodeType":"YulExpressionStatement","src":"26865:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"26838:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"26847:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"26834:3:67"},"nodeType":"YulFunctionCall","src":"26834:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"26859:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"26830:3:67"},"nodeType":"YulFunctionCall","src":"26830:32:67"},"nodeType":"YulIf","src":"26827:119:67"},{"nodeType":"YulBlock","src":"26956:286:67","statements":[{"nodeType":"YulVariableDeclaration","src":"26971:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27002:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"27013:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26998:3:67"},"nodeType":"YulFunctionCall","src":"26998:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"26985:12:67"},"nodeType":"YulFunctionCall","src":"26985:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"26975:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"27063:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"27065:77:67"},"nodeType":"YulFunctionCall","src":"27065:79:67"},"nodeType":"YulExpressionStatement","src":"27065:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"27035:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"27043:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"27032:2:67"},"nodeType":"YulFunctionCall","src":"27032:30:67"},"nodeType":"YulIf","src":"27029:117:67"},{"nodeType":"YulAssignment","src":"27160:72:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27204:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"27215:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27200:3:67"},"nodeType":"YulFunctionCall","src":"27200:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"27224:7:67"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"27170:29:67"},"nodeType":"YulFunctionCall","src":"27170:62:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"27160:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26787:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"26798:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"26810:6:67","type":""}],"src":"26742:507:67"},{"body":{"nodeType":"YulBlock","src":"27341:436:67","statements":[{"body":{"nodeType":"YulBlock","src":"27387:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"27389:77:67"},"nodeType":"YulFunctionCall","src":"27389:79:67"},"nodeType":"YulExpressionStatement","src":"27389:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"27362:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"27371:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"27358:3:67"},"nodeType":"YulFunctionCall","src":"27358:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"27383:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"27354:3:67"},"nodeType":"YulFunctionCall","src":"27354:32:67"},"nodeType":"YulIf","src":"27351:119:67"},{"nodeType":"YulBlock","src":"27480:290:67","statements":[{"nodeType":"YulVariableDeclaration","src":"27495:38:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27519:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"27530:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27515:3:67"},"nodeType":"YulFunctionCall","src":"27515:17:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"27509:5:67"},"nodeType":"YulFunctionCall","src":"27509:24:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"27499:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"27580:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"27582:77:67"},"nodeType":"YulFunctionCall","src":"27582:79:67"},"nodeType":"YulExpressionStatement","src":"27582:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"27552:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"27560:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"27549:2:67"},"nodeType":"YulFunctionCall","src":"27549:30:67"},"nodeType":"YulIf","src":"27546:117:67"},{"nodeType":"YulAssignment","src":"27677:83:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27732:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"27743:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27728:3:67"},"nodeType":"YulFunctionCall","src":"27728:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"27752:7:67"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"27687:40:67"},"nodeType":"YulFunctionCall","src":"27687:73:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"27677:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27311:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"27322:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"27334:6:67","type":""}],"src":"27255:522:67"},{"body":{"nodeType":"YulBlock","src":"27872:286:67","statements":[{"body":{"nodeType":"YulBlock","src":"27918:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"27920:77:67"},"nodeType":"YulFunctionCall","src":"27920:79:67"},"nodeType":"YulExpressionStatement","src":"27920:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"27893:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"27902:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"27889:3:67"},"nodeType":"YulFunctionCall","src":"27889:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"27914:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"27885:3:67"},"nodeType":"YulFunctionCall","src":"27885:32:67"},"nodeType":"YulIf","src":"27882:119:67"},{"nodeType":"YulBlock","src":"28011:140:67","statements":[{"nodeType":"YulVariableDeclaration","src":"28026:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"28040:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"28030:6:67","type":""}]},{"nodeType":"YulAssignment","src":"28055:86:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28113:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"28124:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28109:3:67"},"nodeType":"YulFunctionCall","src":"28109:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"28133:7:67"}],"functionName":{"name":"abi_decode_t_contract$_IWitnetRequest_$7510","nodeType":"YulIdentifier","src":"28065:43:67"},"nodeType":"YulFunctionCall","src":"28065:76:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"28055:6:67"}]}]}]},"name":"abi_decode_tuple_t_contract$_IWitnetRequest_$7510","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27842:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"27853:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"27865:6:67","type":""}],"src":"27783:375:67"},{"body":{"nodeType":"YulBlock","src":"28256:289:67","statements":[{"body":{"nodeType":"YulBlock","src":"28302:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"28304:77:67"},"nodeType":"YulFunctionCall","src":"28304:79:67"},"nodeType":"YulExpressionStatement","src":"28304:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"28277:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"28286:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"28273:3:67"},"nodeType":"YulFunctionCall","src":"28273:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"28298:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"28269:3:67"},"nodeType":"YulFunctionCall","src":"28269:32:67"},"nodeType":"YulIf","src":"28266:119:67"},{"nodeType":"YulBlock","src":"28395:143:67","statements":[{"nodeType":"YulVariableDeclaration","src":"28410:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"28424:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"28414:6:67","type":""}]},{"nodeType":"YulAssignment","src":"28439:89:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28500:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"28511:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28496:3:67"},"nodeType":"YulFunctionCall","src":"28496:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"28520:7:67"}],"functionName":{"name":"abi_decode_t_enum$_ErrorCodes_$8299_fromMemory","nodeType":"YulIdentifier","src":"28449:46:67"},"nodeType":"YulFunctionCall","src":"28449:79:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"28439:6:67"}]}]}]},"name":"abi_decode_tuple_t_enum$_ErrorCodes_$8299_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"28226:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"28237:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"28249:6:67","type":""}],"src":"28164:381:67"},{"body":{"nodeType":"YulBlock","src":"28670:591:67","statements":[{"body":{"nodeType":"YulBlock","src":"28716:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"28718:77:67"},"nodeType":"YulFunctionCall","src":"28718:79:67"},"nodeType":"YulExpressionStatement","src":"28718:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"28691:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"28700:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"28687:3:67"},"nodeType":"YulFunctionCall","src":"28687:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"28712:2:67","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"28683:3:67"},"nodeType":"YulFunctionCall","src":"28683:32:67"},"nodeType":"YulIf","src":"28680:119:67"},{"nodeType":"YulBlock","src":"28809:143:67","statements":[{"nodeType":"YulVariableDeclaration","src":"28824:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"28838:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"28828:6:67","type":""}]},{"nodeType":"YulAssignment","src":"28853:89:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28914:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"28925:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28910:3:67"},"nodeType":"YulFunctionCall","src":"28910:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"28934:7:67"}],"functionName":{"name":"abi_decode_t_enum$_ErrorCodes_$8299_fromMemory","nodeType":"YulIdentifier","src":"28863:46:67"},"nodeType":"YulFunctionCall","src":"28863:79:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"28853:6:67"}]}]},{"nodeType":"YulBlock","src":"28962:292:67","statements":[{"nodeType":"YulVariableDeclaration","src":"28977:39:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29001:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"29012:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28997:3:67"},"nodeType":"YulFunctionCall","src":"28997:18:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"28991:5:67"},"nodeType":"YulFunctionCall","src":"28991:25:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"28981:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"29063:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"29065:77:67"},"nodeType":"YulFunctionCall","src":"29065:79:67"},"nodeType":"YulExpressionStatement","src":"29065:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"29035:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"29043:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"29032:2:67"},"nodeType":"YulFunctionCall","src":"29032:30:67"},"nodeType":"YulIf","src":"29029:117:67"},{"nodeType":"YulAssignment","src":"29160:84:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29216:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"29227:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29212:3:67"},"nodeType":"YulFunctionCall","src":"29212:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"29236:7:67"}],"functionName":{"name":"abi_decode_t_string_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"29170:41:67"},"nodeType":"YulFunctionCall","src":"29170:74:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"29160:6:67"}]}]}]},"name":"abi_decode_tuple_t_enum$_ErrorCodes_$8299t_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"28632:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"28643:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"28655:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"28663:6:67","type":""}],"src":"28551:710:67"},{"body":{"nodeType":"YulBlock","src":"29343:273:67","statements":[{"body":{"nodeType":"YulBlock","src":"29389:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"29391:77:67"},"nodeType":"YulFunctionCall","src":"29391:79:67"},"nodeType":"YulExpressionStatement","src":"29391:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"29364:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"29373:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"29360:3:67"},"nodeType":"YulFunctionCall","src":"29360:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"29385:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"29356:3:67"},"nodeType":"YulFunctionCall","src":"29356:32:67"},"nodeType":"YulIf","src":"29353:119:67"},{"nodeType":"YulBlock","src":"29482:127:67","statements":[{"nodeType":"YulVariableDeclaration","src":"29497:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"29511:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"29501:6:67","type":""}]},{"nodeType":"YulAssignment","src":"29526:73:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29571:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"29582:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29567:3:67"},"nodeType":"YulFunctionCall","src":"29567:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"29591:7:67"}],"functionName":{"name":"abi_decode_t_int128_fromMemory","nodeType":"YulIdentifier","src":"29536:30:67"},"nodeType":"YulFunctionCall","src":"29536:63:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"29526:6:67"}]}]}]},"name":"abi_decode_tuple_t_int128_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"29313:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"29324:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"29336:6:67","type":""}],"src":"29267:349:67"},{"body":{"nodeType":"YulBlock","src":"29697:272:67","statements":[{"body":{"nodeType":"YulBlock","src":"29743:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"29745:77:67"},"nodeType":"YulFunctionCall","src":"29745:79:67"},"nodeType":"YulExpressionStatement","src":"29745:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"29718:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"29727:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"29714:3:67"},"nodeType":"YulFunctionCall","src":"29714:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"29739:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"29710:3:67"},"nodeType":"YulFunctionCall","src":"29710:32:67"},"nodeType":"YulIf","src":"29707:119:67"},{"nodeType":"YulBlock","src":"29836:126:67","statements":[{"nodeType":"YulVariableDeclaration","src":"29851:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"29865:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"29855:6:67","type":""}]},{"nodeType":"YulAssignment","src":"29880:72:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29924:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"29935:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29920:3:67"},"nodeType":"YulFunctionCall","src":"29920:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"29944:7:67"}],"functionName":{"name":"abi_decode_t_int32_fromMemory","nodeType":"YulIdentifier","src":"29890:29:67"},"nodeType":"YulFunctionCall","src":"29890:62:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"29880:6:67"}]}]}]},"name":"abi_decode_tuple_t_int32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"29667:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"29678:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"29690:6:67","type":""}],"src":"29622:347:67"},{"body":{"nodeType":"YulBlock","src":"30062:437:67","statements":[{"body":{"nodeType":"YulBlock","src":"30108:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"30110:77:67"},"nodeType":"YulFunctionCall","src":"30110:79:67"},"nodeType":"YulExpressionStatement","src":"30110:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"30083:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"30092:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"30079:3:67"},"nodeType":"YulFunctionCall","src":"30079:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"30104:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"30075:3:67"},"nodeType":"YulFunctionCall","src":"30075:32:67"},"nodeType":"YulIf","src":"30072:119:67"},{"nodeType":"YulBlock","src":"30201:291:67","statements":[{"nodeType":"YulVariableDeclaration","src":"30216:38:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30240:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"30251:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30236:3:67"},"nodeType":"YulFunctionCall","src":"30236:17:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"30230:5:67"},"nodeType":"YulFunctionCall","src":"30230:24:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"30220:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"30301:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"30303:77:67"},"nodeType":"YulFunctionCall","src":"30303:79:67"},"nodeType":"YulExpressionStatement","src":"30303:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"30273:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"30281:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"30270:2:67"},"nodeType":"YulFunctionCall","src":"30270:30:67"},"nodeType":"YulIf","src":"30267:117:67"},{"nodeType":"YulAssignment","src":"30398:84:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30454:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"30465:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30450:3:67"},"nodeType":"YulFunctionCall","src":"30450:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"30474:7:67"}],"functionName":{"name":"abi_decode_t_string_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"30408:41:67"},"nodeType":"YulFunctionCall","src":"30408:74:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"30398:6:67"}]}]}]},"name":"abi_decode_tuple_t_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30032:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"30043:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"30055:6:67","type":""}],"src":"29975:524:67"},{"body":{"nodeType":"YulBlock","src":"30593:445:67","statements":[{"body":{"nodeType":"YulBlock","src":"30639:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"30641:77:67"},"nodeType":"YulFunctionCall","src":"30641:79:67"},"nodeType":"YulExpressionStatement","src":"30641:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"30614:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"30623:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"30610:3:67"},"nodeType":"YulFunctionCall","src":"30610:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"30635:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"30606:3:67"},"nodeType":"YulFunctionCall","src":"30606:32:67"},"nodeType":"YulIf","src":"30603:119:67"},{"nodeType":"YulBlock","src":"30732:299:67","statements":[{"nodeType":"YulVariableDeclaration","src":"30747:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30778:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"30789:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30774:3:67"},"nodeType":"YulFunctionCall","src":"30774:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"30761:12:67"},"nodeType":"YulFunctionCall","src":"30761:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"30751:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"30839:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"30841:77:67"},"nodeType":"YulFunctionCall","src":"30841:79:67"},"nodeType":"YulExpressionStatement","src":"30841:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"30811:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"30819:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"30808:2:67"},"nodeType":"YulFunctionCall","src":"30808:30:67"},"nodeType":"YulIf","src":"30805:117:67"},{"nodeType":"YulAssignment","src":"30936:85:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30993:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"31004:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30989:3:67"},"nodeType":"YulFunctionCall","src":"30989:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"31013:7:67"}],"functionName":{"name":"abi_decode_t_struct$_CBOR_$8037_memory_ptr","nodeType":"YulIdentifier","src":"30946:42:67"},"nodeType":"YulFunctionCall","src":"30946:75:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"30936:6:67"}]}]}]},"name":"abi_decode_tuple_t_struct$_CBOR_$8037_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30563:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"30574:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"30586:6:67","type":""}],"src":"30505:533:67"},{"body":{"nodeType":"YulBlock","src":"31134:447:67","statements":[{"body":{"nodeType":"YulBlock","src":"31180:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"31182:77:67"},"nodeType":"YulFunctionCall","src":"31182:79:67"},"nodeType":"YulExpressionStatement","src":"31182:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"31155:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"31164:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31151:3:67"},"nodeType":"YulFunctionCall","src":"31151:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"31176:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"31147:3:67"},"nodeType":"YulFunctionCall","src":"31147:32:67"},"nodeType":"YulIf","src":"31144:119:67"},{"nodeType":"YulBlock","src":"31273:301:67","statements":[{"nodeType":"YulVariableDeclaration","src":"31288:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31319:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"31330:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31315:3:67"},"nodeType":"YulFunctionCall","src":"31315:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"31302:12:67"},"nodeType":"YulFunctionCall","src":"31302:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"31292:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"31380:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"31382:77:67"},"nodeType":"YulFunctionCall","src":"31382:79:67"},"nodeType":"YulExpressionStatement","src":"31382:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"31352:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"31360:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"31349:2:67"},"nodeType":"YulFunctionCall","src":"31349:30:67"},"nodeType":"YulIf","src":"31346:117:67"},{"nodeType":"YulAssignment","src":"31477:87:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31536:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"31547:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31532:3:67"},"nodeType":"YulFunctionCall","src":"31532:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"31556:7:67"}],"functionName":{"name":"abi_decode_t_struct$_Result_$8023_memory_ptr","nodeType":"YulIdentifier","src":"31487:44:67"},"nodeType":"YulFunctionCall","src":"31487:77:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"31477:6:67"}]}]}]},"name":"abi_decode_tuple_t_struct$_Result_$8023_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31104:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"31115:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"31127:6:67","type":""}],"src":"31044:537:67"},{"body":{"nodeType":"YulBlock","src":"31688:451:67","statements":[{"body":{"nodeType":"YulBlock","src":"31734:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"31736:77:67"},"nodeType":"YulFunctionCall","src":"31736:79:67"},"nodeType":"YulExpressionStatement","src":"31736:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"31709:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"31718:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31705:3:67"},"nodeType":"YulFunctionCall","src":"31705:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"31730:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"31701:3:67"},"nodeType":"YulFunctionCall","src":"31701:32:67"},"nodeType":"YulIf","src":"31698:119:67"},{"nodeType":"YulBlock","src":"31827:305:67","statements":[{"nodeType":"YulVariableDeclaration","src":"31842:38:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31866:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"31877:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31862:3:67"},"nodeType":"YulFunctionCall","src":"31862:17:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"31856:5:67"},"nodeType":"YulFunctionCall","src":"31856:24:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"31846:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"31927:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"31929:77:67"},"nodeType":"YulFunctionCall","src":"31929:79:67"},"nodeType":"YulExpressionStatement","src":"31929:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"31899:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"31907:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"31896:2:67"},"nodeType":"YulFunctionCall","src":"31896:30:67"},"nodeType":"YulIf","src":"31893:117:67"},{"nodeType":"YulAssignment","src":"32024:98:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32094:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"32105:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32090:3:67"},"nodeType":"YulFunctionCall","src":"32090:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"32114:7:67"}],"functionName":{"name":"abi_decode_t_struct$_Result_$8023_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"32034:55:67"},"nodeType":"YulFunctionCall","src":"32034:88:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"32024:6:67"}]}]}]},"name":"abi_decode_tuple_t_struct$_Result_$8023_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31658:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"31669:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"31681:6:67","type":""}],"src":"31587:552:67"},{"body":{"nodeType":"YulBlock","src":"32211:263:67","statements":[{"body":{"nodeType":"YulBlock","src":"32257:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"32259:77:67"},"nodeType":"YulFunctionCall","src":"32259:79:67"},"nodeType":"YulExpressionStatement","src":"32259:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"32232:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"32241:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"32228:3:67"},"nodeType":"YulFunctionCall","src":"32228:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"32253:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"32224:3:67"},"nodeType":"YulFunctionCall","src":"32224:32:67"},"nodeType":"YulIf","src":"32221:119:67"},{"nodeType":"YulBlock","src":"32350:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"32365:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"32379:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"32369:6:67","type":""}]},{"nodeType":"YulAssignment","src":"32394:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32429:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"32440:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32425:3:67"},"nodeType":"YulFunctionCall","src":"32425:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"32449:7:67"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"32404:20:67"},"nodeType":"YulFunctionCall","src":"32404:53:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"32394:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32181:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"32192:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"32204:6:67","type":""}],"src":"32145:329:67"},{"body":{"nodeType":"YulBlock","src":"32599:698:67","statements":[{"body":{"nodeType":"YulBlock","src":"32645:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"32647:77:67"},"nodeType":"YulFunctionCall","src":"32647:79:67"},"nodeType":"YulExpressionStatement","src":"32647:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"32620:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"32629:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"32616:3:67"},"nodeType":"YulFunctionCall","src":"32616:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"32641:2:67","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"32612:3:67"},"nodeType":"YulFunctionCall","src":"32612:32:67"},"nodeType":"YulIf","src":"32609:119:67"},{"nodeType":"YulBlock","src":"32738:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"32753:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"32767:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"32757:6:67","type":""}]},{"nodeType":"YulAssignment","src":"32782:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32817:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"32828:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32813:3:67"},"nodeType":"YulFunctionCall","src":"32813:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"32837:7:67"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"32792:20:67"},"nodeType":"YulFunctionCall","src":"32792:53:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"32782:6:67"}]}]},{"nodeType":"YulBlock","src":"32865:118:67","statements":[{"nodeType":"YulVariableDeclaration","src":"32880:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"32894:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"32884:6:67","type":""}]},{"nodeType":"YulAssignment","src":"32910:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32945:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"32956:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32941:3:67"},"nodeType":"YulFunctionCall","src":"32941:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"32965:7:67"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"32920:20:67"},"nodeType":"YulFunctionCall","src":"32920:53:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"32910:6:67"}]}]},{"nodeType":"YulBlock","src":"32993:297:67","statements":[{"nodeType":"YulVariableDeclaration","src":"33008:46:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33039:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"33050:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33035:3:67"},"nodeType":"YulFunctionCall","src":"33035:18:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"33022:12:67"},"nodeType":"YulFunctionCall","src":"33022:32:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"33012:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"33101:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"33103:77:67"},"nodeType":"YulFunctionCall","src":"33103:79:67"},"nodeType":"YulExpressionStatement","src":"33103:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"33073:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"33081:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"33070:2:67"},"nodeType":"YulFunctionCall","src":"33070:30:67"},"nodeType":"YulIf","src":"33067:117:67"},{"nodeType":"YulAssignment","src":"33198:82:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33252:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"33263:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33248:3:67"},"nodeType":"YulFunctionCall","src":"33248:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"33272:7:67"}],"functionName":{"name":"abi_decode_t_bytes_calldata_ptr","nodeType":"YulIdentifier","src":"33216:31:67"},"nodeType":"YulFunctionCall","src":"33216:64:67"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"33198:6:67"},{"name":"value3","nodeType":"YulIdentifier","src":"33206:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint256t_bytes32t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32545:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"32556:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"32568:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"32576:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"32584:6:67","type":""},{"name":"value3","nodeType":"YulTypedName","src":"32592:6:67","type":""}],"src":"32480:817:67"},{"body":{"nodeType":"YulBlock","src":"33439:827:67","statements":[{"body":{"nodeType":"YulBlock","src":"33486:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"33488:77:67"},"nodeType":"YulFunctionCall","src":"33488:79:67"},"nodeType":"YulExpressionStatement","src":"33488:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"33460:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"33469:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"33456:3:67"},"nodeType":"YulFunctionCall","src":"33456:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"33481:3:67","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"33452:3:67"},"nodeType":"YulFunctionCall","src":"33452:33:67"},"nodeType":"YulIf","src":"33449:120:67"},{"nodeType":"YulBlock","src":"33579:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"33594:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"33608:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"33598:6:67","type":""}]},{"nodeType":"YulAssignment","src":"33623:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33658:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"33669:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33654:3:67"},"nodeType":"YulFunctionCall","src":"33654:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"33678:7:67"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"33633:20:67"},"nodeType":"YulFunctionCall","src":"33633:53:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"33623:6:67"}]}]},{"nodeType":"YulBlock","src":"33706:118:67","statements":[{"nodeType":"YulVariableDeclaration","src":"33721:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"33735:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"33725:6:67","type":""}]},{"nodeType":"YulAssignment","src":"33751:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33786:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"33797:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33782:3:67"},"nodeType":"YulFunctionCall","src":"33782:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"33806:7:67"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"33761:20:67"},"nodeType":"YulFunctionCall","src":"33761:53:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"33751:6:67"}]}]},{"nodeType":"YulBlock","src":"33834:118:67","statements":[{"nodeType":"YulVariableDeclaration","src":"33849:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"33863:2:67","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"33853:6:67","type":""}]},{"nodeType":"YulAssignment","src":"33879:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33914:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"33925:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33910:3:67"},"nodeType":"YulFunctionCall","src":"33910:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"33934:7:67"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"33889:20:67"},"nodeType":"YulFunctionCall","src":"33889:53:67"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"33879:6:67"}]}]},{"nodeType":"YulBlock","src":"33962:297:67","statements":[{"nodeType":"YulVariableDeclaration","src":"33977:46:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34008:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"34019:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34004:3:67"},"nodeType":"YulFunctionCall","src":"34004:18:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"33991:12:67"},"nodeType":"YulFunctionCall","src":"33991:32:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"33981:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"34070:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"34072:77:67"},"nodeType":"YulFunctionCall","src":"34072:79:67"},"nodeType":"YulExpressionStatement","src":"34072:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"34042:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"34050:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"34039:2:67"},"nodeType":"YulFunctionCall","src":"34039:30:67"},"nodeType":"YulIf","src":"34036:117:67"},{"nodeType":"YulAssignment","src":"34167:82:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34221:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"34232:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34217:3:67"},"nodeType":"YulFunctionCall","src":"34217:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"34241:7:67"}],"functionName":{"name":"abi_decode_t_bytes_calldata_ptr","nodeType":"YulIdentifier","src":"34185:31:67"},"nodeType":"YulFunctionCall","src":"34185:64:67"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"34167:6:67"},{"name":"value4","nodeType":"YulIdentifier","src":"34175:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint256t_uint256t_bytes32t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33377:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"33388:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"33400:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"33408:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"33416:6:67","type":""},{"name":"value3","nodeType":"YulTypedName","src":"33424:6:67","type":""},{"name":"value4","nodeType":"YulTypedName","src":"33432:6:67","type":""}],"src":"33303:963:67"},{"body":{"nodeType":"YulBlock","src":"34348:273:67","statements":[{"body":{"nodeType":"YulBlock","src":"34394:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"34396:77:67"},"nodeType":"YulFunctionCall","src":"34396:79:67"},"nodeType":"YulExpressionStatement","src":"34396:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"34369:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"34378:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"34365:3:67"},"nodeType":"YulFunctionCall","src":"34365:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"34390:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"34361:3:67"},"nodeType":"YulFunctionCall","src":"34361:32:67"},"nodeType":"YulIf","src":"34358:119:67"},{"nodeType":"YulBlock","src":"34487:127:67","statements":[{"nodeType":"YulVariableDeclaration","src":"34502:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"34516:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"34506:6:67","type":""}]},{"nodeType":"YulAssignment","src":"34531:73:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34576:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"34587:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34572:3:67"},"nodeType":"YulFunctionCall","src":"34572:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"34596:7:67"}],"functionName":{"name":"abi_decode_t_uint64_fromMemory","nodeType":"YulIdentifier","src":"34541:30:67"},"nodeType":"YulFunctionCall","src":"34541:63:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"34531:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint64_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34318:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"34329:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"34341:6:67","type":""}],"src":"34272:349:67"},{"body":{"nodeType":"YulBlock","src":"34707:99:67","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"34751:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"34759:3:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address","nodeType":"YulIdentifier","src":"34717:33:67"},"nodeType":"YulFunctionCall","src":"34717:46:67"},"nodeType":"YulExpressionStatement","src":"34717:46:67"},{"nodeType":"YulAssignment","src":"34772:28:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"34790:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"34795:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34786:3:67"},"nodeType":"YulFunctionCall","src":"34786:14:67"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"34772:10:67"}]}]},"name":"abi_encodeUpdatedPos_t_address_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"34680:6:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"34688:3:67","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"34696:10:67","type":""}],"src":"34627:179:67"},{"body":{"nodeType":"YulBlock","src":"34890:97:67","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"34932:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"34940:3:67"}],"functionName":{"name":"abi_encode_t_int128_to_t_int128","nodeType":"YulIdentifier","src":"34900:31:67"},"nodeType":"YulFunctionCall","src":"34900:44:67"},"nodeType":"YulExpressionStatement","src":"34900:44:67"},{"nodeType":"YulAssignment","src":"34953:28:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"34971:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"34976:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34967:3:67"},"nodeType":"YulFunctionCall","src":"34967:14:67"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"34953:10:67"}]}]},"name":"abi_encodeUpdatedPos_t_int128_to_t_int128","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"34863:6:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"34871:3:67","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"34879:10:67","type":""}],"src":"34812:175:67"},{"body":{"nodeType":"YulBlock","src":"35069:95:67","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"35109:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"35117:3:67"}],"functionName":{"name":"abi_encode_t_int32_to_t_int32","nodeType":"YulIdentifier","src":"35079:29:67"},"nodeType":"YulFunctionCall","src":"35079:42:67"},"nodeType":"YulExpressionStatement","src":"35079:42:67"},{"nodeType":"YulAssignment","src":"35130:28:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"35148:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"35153:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35144:3:67"},"nodeType":"YulFunctionCall","src":"35144:14:67"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"35130:10:67"}]}]},"name":"abi_encodeUpdatedPos_t_int32_to_t_int32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"35042:6:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"35050:3:67","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"35058:10:67","type":""}],"src":"34993:171:67"},{"body":{"nodeType":"YulBlock","src":"35270:96:67","statements":[{"nodeType":"YulAssignment","src":"35280:80:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"35348:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"35356:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr","nodeType":"YulIdentifier","src":"35294:53:67"},"nodeType":"YulFunctionCall","src":"35294:66:67"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"35280:10:67"}]}]},"name":"abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"35243:6:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"35251:3:67","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"35259:10:67","type":""}],"src":"35170:196:67"},{"body":{"nodeType":"YulBlock","src":"35450:97:67","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"35492:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"35500:3:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64","nodeType":"YulIdentifier","src":"35460:31:67"},"nodeType":"YulFunctionCall","src":"35460:44:67"},"nodeType":"YulExpressionStatement","src":"35460:44:67"},{"nodeType":"YulAssignment","src":"35513:28:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"35531:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"35536:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35527:3:67"},"nodeType":"YulFunctionCall","src":"35527:14:67"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"35513:10:67"}]}]},"name":"abi_encodeUpdatedPos_t_uint64_to_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"35423:6:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"35431:3:67","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"35439:10:67","type":""}],"src":"35372:175:67"},{"body":{"nodeType":"YulBlock","src":"35608:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"35625:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"35648:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"35630:17:67"},"nodeType":"YulFunctionCall","src":"35630:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35618:6:67"},"nodeType":"YulFunctionCall","src":"35618:37:67"},"nodeType":"YulExpressionStatement","src":"35618:37:67"}]},"name":"abi_encode_t_address_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"35596:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"35603:3:67","type":""}],"src":"35553:108:67"},{"body":{"nodeType":"YulBlock","src":"35732:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"35749:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"35772:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"35754:17:67"},"nodeType":"YulFunctionCall","src":"35754:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35742:6:67"},"nodeType":"YulFunctionCall","src":"35742:37:67"},"nodeType":"YulExpressionStatement","src":"35742:37:67"}]},"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"35720:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"35727:3:67","type":""}],"src":"35667:118:67"},{"body":{"nodeType":"YulBlock","src":"35945:608:67","statements":[{"nodeType":"YulVariableDeclaration","src":"35955:68:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"36017:5:67"}],"functionName":{"name":"array_length_t_array$_t_address_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"35969:47:67"},"nodeType":"YulFunctionCall","src":"35969:54:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"35959:6:67","type":""}]},{"nodeType":"YulAssignment","src":"36032:93:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"36113:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"36118:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"36039:73:67"},"nodeType":"YulFunctionCall","src":"36039:86:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"36032:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"36134:71:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"36199:5:67"}],"functionName":{"name":"array_dataslot_t_array$_t_address_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"36149:49:67"},"nodeType":"YulFunctionCall","src":"36149:56:67"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"36138:7:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"36214:21:67","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"36228:7:67"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"36218:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"36304:224:67","statements":[{"nodeType":"YulVariableDeclaration","src":"36318:34:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"36345:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"36339:5:67"},"nodeType":"YulFunctionCall","src":"36339:13:67"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"36322:13:67","type":""}]},{"nodeType":"YulAssignment","src":"36365:70:67","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"36416:13:67"},{"name":"pos","nodeType":"YulIdentifier","src":"36431:3:67"}],"functionName":{"name":"abi_encodeUpdatedPos_t_address_to_t_address","nodeType":"YulIdentifier","src":"36372:43:67"},"nodeType":"YulFunctionCall","src":"36372:63:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"36365:3:67"}]},{"nodeType":"YulAssignment","src":"36448:70:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"36511:6:67"}],"functionName":{"name":"array_nextElement_t_array$_t_address_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"36458:52:67"},"nodeType":"YulFunctionCall","src":"36458:60:67"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"36448:6:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"36266:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"36269:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"36263:2:67"},"nodeType":"YulFunctionCall","src":"36263:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"36277:18:67","statements":[{"nodeType":"YulAssignment","src":"36279:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"36288:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"36291:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36284:3:67"},"nodeType":"YulFunctionCall","src":"36284:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"36279:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"36248:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"36250:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"36259:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"36254:1:67","type":""}]}]},"src":"36244:284:67"},{"nodeType":"YulAssignment","src":"36537:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"36544:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"36537:3:67"}]}]},"name":"abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"35924:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"35931:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"35940:3:67","type":""}],"src":"35821:732:67"},{"body":{"nodeType":"YulBlock","src":"36709:602:67","statements":[{"nodeType":"YulVariableDeclaration","src":"36719:67:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"36780:5:67"}],"functionName":{"name":"array_length_t_array$_t_int128_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"36733:46:67"},"nodeType":"YulFunctionCall","src":"36733:53:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"36723:6:67","type":""}]},{"nodeType":"YulAssignment","src":"36795:92:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"36875:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"36880:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_int128_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"36802:72:67"},"nodeType":"YulFunctionCall","src":"36802:85:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"36795:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"36896:70:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"36960:5:67"}],"functionName":{"name":"array_dataslot_t_array$_t_int128_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"36911:48:67"},"nodeType":"YulFunctionCall","src":"36911:55:67"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"36900:7:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"36975:21:67","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"36989:7:67"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"36979:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"37065:221:67","statements":[{"nodeType":"YulVariableDeclaration","src":"37079:34:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"37106:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"37100:5:67"},"nodeType":"YulFunctionCall","src":"37100:13:67"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"37083:13:67","type":""}]},{"nodeType":"YulAssignment","src":"37126:68:67","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"37175:13:67"},{"name":"pos","nodeType":"YulIdentifier","src":"37190:3:67"}],"functionName":{"name":"abi_encodeUpdatedPos_t_int128_to_t_int128","nodeType":"YulIdentifier","src":"37133:41:67"},"nodeType":"YulFunctionCall","src":"37133:61:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"37126:3:67"}]},{"nodeType":"YulAssignment","src":"37207:69:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"37269:6:67"}],"functionName":{"name":"array_nextElement_t_array$_t_int128_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"37217:51:67"},"nodeType":"YulFunctionCall","src":"37217:59:67"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"37207:6:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"37027:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"37030:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"37024:2:67"},"nodeType":"YulFunctionCall","src":"37024:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"37038:18:67","statements":[{"nodeType":"YulAssignment","src":"37040:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"37049:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"37052:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37045:3:67"},"nodeType":"YulFunctionCall","src":"37045:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"37040:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"37009:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"37011:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"37020:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"37015:1:67","type":""}]}]},"src":"37005:281:67"},{"nodeType":"YulAssignment","src":"37295:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"37302:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"37295:3:67"}]}]},"name":"abi_encode_t_array$_t_int128_$dyn_memory_ptr_to_t_array$_t_int128_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"36688:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"36695:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"36704:3:67","type":""}],"src":"36587:724:67"},{"body":{"nodeType":"YulBlock","src":"37463:596:67","statements":[{"nodeType":"YulVariableDeclaration","src":"37473:66:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"37533:5:67"}],"functionName":{"name":"array_length_t_array$_t_int32_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"37487:45:67"},"nodeType":"YulFunctionCall","src":"37487:52:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"37477:6:67","type":""}]},{"nodeType":"YulAssignment","src":"37548:91:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"37627:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"37632:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_int32_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"37555:71:67"},"nodeType":"YulFunctionCall","src":"37555:84:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"37548:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"37648:69:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"37711:5:67"}],"functionName":{"name":"array_dataslot_t_array$_t_int32_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"37663:47:67"},"nodeType":"YulFunctionCall","src":"37663:54:67"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"37652:7:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"37726:21:67","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"37740:7:67"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"37730:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"37816:218:67","statements":[{"nodeType":"YulVariableDeclaration","src":"37830:34:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"37857:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"37851:5:67"},"nodeType":"YulFunctionCall","src":"37851:13:67"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"37834:13:67","type":""}]},{"nodeType":"YulAssignment","src":"37877:66:67","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"37924:13:67"},{"name":"pos","nodeType":"YulIdentifier","src":"37939:3:67"}],"functionName":{"name":"abi_encodeUpdatedPos_t_int32_to_t_int32","nodeType":"YulIdentifier","src":"37884:39:67"},"nodeType":"YulFunctionCall","src":"37884:59:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"37877:3:67"}]},{"nodeType":"YulAssignment","src":"37956:68:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"38017:6:67"}],"functionName":{"name":"array_nextElement_t_array$_t_int32_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"37966:50:67"},"nodeType":"YulFunctionCall","src":"37966:58:67"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"37956:6:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"37778:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"37781:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"37775:2:67"},"nodeType":"YulFunctionCall","src":"37775:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"37789:18:67","statements":[{"nodeType":"YulAssignment","src":"37791:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"37800:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"37803:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37796:3:67"},"nodeType":"YulFunctionCall","src":"37796:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"37791:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"37760:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"37762:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"37771:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"37766:1:67","type":""}]}]},"src":"37756:278:67"},{"nodeType":"YulAssignment","src":"38043:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"38050:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"38043:3:67"}]}]},"name":"abi_encode_t_array$_t_int32_$dyn_memory_ptr_to_t_array$_t_int32_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"37442:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"37449:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"37458:3:67","type":""}],"src":"37343:716:67"},{"body":{"nodeType":"YulBlock","src":"38237:847:67","statements":[{"nodeType":"YulVariableDeclaration","src":"38247:78:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"38319:5:67"}],"functionName":{"name":"array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"38261:57:67"},"nodeType":"YulFunctionCall","src":"38261:64:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"38251:6:67","type":""}]},{"nodeType":"YulAssignment","src":"38334:103:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"38425:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"38430:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"38341:83:67"},"nodeType":"YulFunctionCall","src":"38341:96:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"38334:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"38446:20:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"38463:3:67"},"variables":[{"name":"headStart","nodeType":"YulTypedName","src":"38450:9:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"38475:39:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"38491:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"38500:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"38508:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"38496:3:67"},"nodeType":"YulFunctionCall","src":"38496:17:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38487:3:67"},"nodeType":"YulFunctionCall","src":"38487:27:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"38479:4:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"38523:81:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"38598:5:67"}],"functionName":{"name":"array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"38538:59:67"},"nodeType":"YulFunctionCall","src":"38538:66:67"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"38527:7:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"38613:21:67","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"38627:7:67"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"38617:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"38703:336:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"38724:3:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"38733:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"38739:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"38729:3:67"},"nodeType":"YulFunctionCall","src":"38729:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38717:6:67"},"nodeType":"YulFunctionCall","src":"38717:33:67"},"nodeType":"YulExpressionStatement","src":"38717:33:67"},{"nodeType":"YulVariableDeclaration","src":"38763:34:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"38790:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"38784:5:67"},"nodeType":"YulFunctionCall","src":"38784:13:67"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"38767:13:67","type":""}]},{"nodeType":"YulAssignment","src":"38810:92:67","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"38882:13:67"},{"name":"tail","nodeType":"YulIdentifier","src":"38897:4:67"}],"functionName":{"name":"abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr","nodeType":"YulIdentifier","src":"38818:63:67"},"nodeType":"YulFunctionCall","src":"38818:84:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"38810:4:67"}]},{"nodeType":"YulAssignment","src":"38915:80:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"38988:6:67"}],"functionName":{"name":"array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"38925:62:67"},"nodeType":"YulFunctionCall","src":"38925:70:67"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"38915:6:67"}]},{"nodeType":"YulAssignment","src":"39008:21:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"39019:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"39024:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39015:3:67"},"nodeType":"YulFunctionCall","src":"39015:14:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"39008:3:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"38665:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"38668:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"38662:2:67"},"nodeType":"YulFunctionCall","src":"38662:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"38676:18:67","statements":[{"nodeType":"YulAssignment","src":"38678:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"38687:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"38690:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38683:3:67"},"nodeType":"YulFunctionCall","src":"38683:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"38678:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"38647:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"38649:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"38658:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"38653:1:67","type":""}]}]},"src":"38643:396:67"},{"nodeType":"YulAssignment","src":"39048:11:67","value":{"name":"tail","nodeType":"YulIdentifier","src":"39055:4:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"39048:3:67"}]},{"nodeType":"YulAssignment","src":"39068:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"39075:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"39068:3:67"}]}]},"name":"abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"38216:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"38223:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"38232:3:67","type":""}],"src":"38093:991:67"},{"body":{"nodeType":"YulBlock","src":"39240:602:67","statements":[{"nodeType":"YulVariableDeclaration","src":"39250:67:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"39311:5:67"}],"functionName":{"name":"array_length_t_array$_t_uint64_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"39264:46:67"},"nodeType":"YulFunctionCall","src":"39264:53:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"39254:6:67","type":""}]},{"nodeType":"YulAssignment","src":"39326:92:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"39406:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"39411:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_uint64_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"39333:72:67"},"nodeType":"YulFunctionCall","src":"39333:85:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"39326:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"39427:70:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"39491:5:67"}],"functionName":{"name":"array_dataslot_t_array$_t_uint64_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"39442:48:67"},"nodeType":"YulFunctionCall","src":"39442:55:67"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"39431:7:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"39506:21:67","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"39520:7:67"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"39510:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"39596:221:67","statements":[{"nodeType":"YulVariableDeclaration","src":"39610:34:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"39637:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"39631:5:67"},"nodeType":"YulFunctionCall","src":"39631:13:67"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"39614:13:67","type":""}]},{"nodeType":"YulAssignment","src":"39657:68:67","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"39706:13:67"},{"name":"pos","nodeType":"YulIdentifier","src":"39721:3:67"}],"functionName":{"name":"abi_encodeUpdatedPos_t_uint64_to_t_uint64","nodeType":"YulIdentifier","src":"39664:41:67"},"nodeType":"YulFunctionCall","src":"39664:61:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"39657:3:67"}]},{"nodeType":"YulAssignment","src":"39738:69:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"39800:6:67"}],"functionName":{"name":"array_nextElement_t_array$_t_uint64_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"39748:51:67"},"nodeType":"YulFunctionCall","src":"39748:59:67"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"39738:6:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"39558:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"39561:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"39555:2:67"},"nodeType":"YulFunctionCall","src":"39555:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"39569:18:67","statements":[{"nodeType":"YulAssignment","src":"39571:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"39580:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"39583:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39576:3:67"},"nodeType":"YulFunctionCall","src":"39576:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"39571:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"39540:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"39542:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"39551:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"39546:1:67","type":""}]}]},"src":"39536:281:67"},{"nodeType":"YulAssignment","src":"39826:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"39833:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"39826:3:67"}]}]},"name":"abi_encode_t_array$_t_uint64_$dyn_memory_ptr_to_t_array$_t_uint64_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"39219:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"39226:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"39235:3:67","type":""}],"src":"39118:724:67"},{"body":{"nodeType":"YulBlock","src":"39897:50:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"39914:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"39934:5:67"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"39919:14:67"},"nodeType":"YulFunctionCall","src":"39919:21:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39907:6:67"},"nodeType":"YulFunctionCall","src":"39907:34:67"},"nodeType":"YulExpressionStatement","src":"39907:34:67"}]},"name":"abi_encode_t_bool_to_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"39885:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"39892:3:67","type":""}],"src":"39848:99:67"},{"body":{"nodeType":"YulBlock","src":"40012:50:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40029:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"40049:5:67"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"40034:14:67"},"nodeType":"YulFunctionCall","src":"40034:21:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40022:6:67"},"nodeType":"YulFunctionCall","src":"40022:34:67"},"nodeType":"YulExpressionStatement","src":"40022:34:67"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"40000:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"40007:3:67","type":""}],"src":"39953:109:67"},{"body":{"nodeType":"YulBlock","src":"40125:50:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40142:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"40162:5:67"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"40147:14:67"},"nodeType":"YulFunctionCall","src":"40147:21:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40135:6:67"},"nodeType":"YulFunctionCall","src":"40135:34:67"},"nodeType":"YulExpressionStatement","src":"40135:34:67"}]},"name":"abi_encode_t_bool_to_t_bool_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"40113:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"40120:3:67","type":""}],"src":"40068:107:67"},{"body":{"nodeType":"YulBlock","src":"40236:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40253:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"40276:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"40258:17:67"},"nodeType":"YulFunctionCall","src":"40258:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40246:6:67"},"nodeType":"YulFunctionCall","src":"40246:37:67"},"nodeType":"YulExpressionStatement","src":"40246:37:67"}]},"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"40224:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"40231:3:67","type":""}],"src":"40181:108:67"},{"body":{"nodeType":"YulBlock","src":"40360:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40377:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"40400:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"40382:17:67"},"nodeType":"YulFunctionCall","src":"40382:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40370:6:67"},"nodeType":"YulFunctionCall","src":"40370:37:67"},"nodeType":"YulExpressionStatement","src":"40370:37:67"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"40348:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"40355:3:67","type":""}],"src":"40295:118:67"},{"body":{"nodeType":"YulBlock","src":"40499:260:67","statements":[{"nodeType":"YulVariableDeclaration","src":"40509:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"40555:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"40523:31:67"},"nodeType":"YulFunctionCall","src":"40523:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"40513:6:67","type":""}]},{"nodeType":"YulAssignment","src":"40570:67:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40625:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"40630:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"40577:47:67"},"nodeType":"YulFunctionCall","src":"40577:60:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"40570:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"40672:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"40679:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40668:3:67"},"nodeType":"YulFunctionCall","src":"40668:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"40686:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"40691:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"40646:21:67"},"nodeType":"YulFunctionCall","src":"40646:52:67"},"nodeType":"YulExpressionStatement","src":"40646:52:67"},{"nodeType":"YulAssignment","src":"40707:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40718:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"40745:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"40723:21:67"},"nodeType":"YulFunctionCall","src":"40723:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40714:3:67"},"nodeType":"YulFunctionCall","src":"40714:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"40707:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"40480:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"40487:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"40495:3:67","type":""}],"src":"40419:340:67"},{"body":{"nodeType":"YulBlock","src":"40855:270:67","statements":[{"nodeType":"YulVariableDeclaration","src":"40865:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"40911:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"40879:31:67"},"nodeType":"YulFunctionCall","src":"40879:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"40869:6:67","type":""}]},{"nodeType":"YulAssignment","src":"40926:77:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40991:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"40996:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"40933:57:67"},"nodeType":"YulFunctionCall","src":"40933:70:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"40926:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"41038:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"41045:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41034:3:67"},"nodeType":"YulFunctionCall","src":"41034:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"41052:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"41057:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"41012:21:67"},"nodeType":"YulFunctionCall","src":"41012:52:67"},"nodeType":"YulExpressionStatement","src":"41012:52:67"},{"nodeType":"YulAssignment","src":"41073:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"41084:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"41111:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"41089:21:67"},"nodeType":"YulFunctionCall","src":"41089:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41080:3:67"},"nodeType":"YulFunctionCall","src":"41080:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"41073:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"40836:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"40843:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"40851:3:67","type":""}],"src":"40765:360:67"},{"body":{"nodeType":"YulBlock","src":"41229:278:67","statements":[{"nodeType":"YulVariableDeclaration","src":"41239:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"41285:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"41253:31:67"},"nodeType":"YulFunctionCall","src":"41253:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"41243:6:67","type":""}]},{"nodeType":"YulAssignment","src":"41300:85:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"41373:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"41378:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"41307:65:67"},"nodeType":"YulFunctionCall","src":"41307:78:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"41300:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"41420:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"41427:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41416:3:67"},"nodeType":"YulFunctionCall","src":"41416:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"41434:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"41439:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"41394:21:67"},"nodeType":"YulFunctionCall","src":"41394:52:67"},"nodeType":"YulExpressionStatement","src":"41394:52:67"},{"nodeType":"YulAssignment","src":"41455:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"41466:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"41493:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"41471:21:67"},"nodeType":"YulFunctionCall","src":"41471:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41462:3:67"},"nodeType":"YulFunctionCall","src":"41462:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"41455:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"41210:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"41217:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"41225:3:67","type":""}],"src":"41131:376:67"},{"body":{"nodeType":"YulBlock","src":"41601:268:67","statements":[{"nodeType":"YulVariableDeclaration","src":"41611:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"41657:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"41625:31:67"},"nodeType":"YulFunctionCall","src":"41625:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"41615:6:67","type":""}]},{"nodeType":"YulAssignment","src":"41672:75:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"41735:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"41740:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_library","nodeType":"YulIdentifier","src":"41679:55:67"},"nodeType":"YulFunctionCall","src":"41679:68:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"41672:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"41782:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"41789:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41778:3:67"},"nodeType":"YulFunctionCall","src":"41778:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"41796:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"41801:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"41756:21:67"},"nodeType":"YulFunctionCall","src":"41756:52:67"},"nodeType":"YulExpressionStatement","src":"41756:52:67"},{"nodeType":"YulAssignment","src":"41817:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"41828:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"41855:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"41833:21:67"},"nodeType":"YulFunctionCall","src":"41833:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41824:3:67"},"nodeType":"YulFunctionCall","src":"41824:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"41817:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"41582:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"41589:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"41597:3:67","type":""}],"src":"41513:356:67"},{"body":{"nodeType":"YulBlock","src":"41983:265:67","statements":[{"nodeType":"YulVariableDeclaration","src":"41993:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"42039:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"42007:31:67"},"nodeType":"YulFunctionCall","src":"42007:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"41997:6:67","type":""}]},{"nodeType":"YulAssignment","src":"42054:95:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"42137:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"42142:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"42061:75:67"},"nodeType":"YulFunctionCall","src":"42061:88:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"42054:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"42184:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"42191:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42180:3:67"},"nodeType":"YulFunctionCall","src":"42180:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"42198:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"42203:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"42158:21:67"},"nodeType":"YulFunctionCall","src":"42158:52:67"},"nodeType":"YulExpressionStatement","src":"42158:52:67"},{"nodeType":"YulAssignment","src":"42219:23:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"42230:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"42235:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42226:3:67"},"nodeType":"YulFunctionCall","src":"42226:16:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"42219:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"41964:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"41971:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"41979:3:67","type":""}],"src":"41875:373:67"},{"body":{"nodeType":"YulBlock","src":"42371:719:67","statements":[{"nodeType":"YulVariableDeclaration","src":"42381:29:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"42404:5:67"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"42398:5:67"},"nodeType":"YulFunctionCall","src":"42398:12:67"},"variables":[{"name":"slotValue","nodeType":"YulTypedName","src":"42385:9:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"42419:50:67","value":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"42459:9:67"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"42433:25:67"},"nodeType":"YulFunctionCall","src":"42433:36:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"42423:6:67","type":""}]},{"nodeType":"YulAssignment","src":"42478:85:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"42551:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"42556:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"42485:65:67"},"nodeType":"YulFunctionCall","src":"42485:78:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"42478:3:67"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"42612:128:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"42665:3:67"},{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"42674:9:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42689:4:67","type":"","value":"0xff"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"42685:3:67"},"nodeType":"YulFunctionCall","src":"42685:9:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"42670:3:67"},"nodeType":"YulFunctionCall","src":"42670:25:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42658:6:67"},"nodeType":"YulFunctionCall","src":"42658:38:67"},"nodeType":"YulExpressionStatement","src":"42658:38:67"},{"nodeType":"YulAssignment","src":"42709:21:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"42720:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"42725:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42716:3:67"},"nodeType":"YulFunctionCall","src":"42716:14:67"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"42709:3:67"}]}]},"nodeType":"YulCase","src":"42605:135:67","value":{"kind":"number","nodeType":"YulLiteral","src":"42610:1:67","type":"","value":"0"}},{"body":{"nodeType":"YulBlock","src":"42756:328:67","statements":[{"nodeType":"YulVariableDeclaration","src":"42801:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"42847:5:67"}],"functionName":{"name":"array_dataslot_t_bytes_storage","nodeType":"YulIdentifier","src":"42816:30:67"},"nodeType":"YulFunctionCall","src":"42816:37:67"},"variables":[{"name":"dataPos","nodeType":"YulTypedName","src":"42805:7:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"42866:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"42875:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"42870:1:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"42933:110:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"42962:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"42967:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42958:3:67"},"nodeType":"YulFunctionCall","src":"42958:11:67"},{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"42977:7:67"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"42971:5:67"},"nodeType":"YulFunctionCall","src":"42971:14:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42951:6:67"},"nodeType":"YulFunctionCall","src":"42951:35:67"},"nodeType":"YulExpressionStatement","src":"42951:35:67"},{"nodeType":"YulAssignment","src":"43003:26:67","value":{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"43018:7:67"},{"kind":"number","nodeType":"YulLiteral","src":"43027:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43014:3:67"},"nodeType":"YulFunctionCall","src":"43014:15:67"},"variableNames":[{"name":"dataPos","nodeType":"YulIdentifier","src":"43003:7:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"42900:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"42903:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"42897:2:67"},"nodeType":"YulFunctionCall","src":"42897:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"42911:21:67","statements":[{"nodeType":"YulAssignment","src":"42913:17:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"42922:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"42925:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42918:3:67"},"nodeType":"YulFunctionCall","src":"42918:12:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"42913:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"42893:3:67","statements":[]},"src":"42889:154:67"},{"nodeType":"YulAssignment","src":"43056:18:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"43067:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"43072:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43063:3:67"},"nodeType":"YulFunctionCall","src":"43063:11:67"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"43056:3:67"}]}]},"nodeType":"YulCase","src":"42749:335:67","value":{"kind":"number","nodeType":"YulLiteral","src":"42754:1:67","type":"","value":"1"}}],"expression":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"42583:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"42594:1:67","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"42579:3:67"},"nodeType":"YulFunctionCall","src":"42579:17:67"},"nodeType":"YulSwitch","src":"42572:512:67"}]},"name":"abi_encode_t_bytes_storage_to_t_bytes_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"42352:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"42359:3:67","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"42367:3:67","type":""}],"src":"42276:814:67"},{"body":{"nodeType":"YulBlock","src":"43176:81:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"43193:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"43244:5:67"}],"functionName":{"name":"convert_t_contract$_IERC20_$7292_to_t_address","nodeType":"YulIdentifier","src":"43198:45:67"},"nodeType":"YulFunctionCall","src":"43198:52:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43186:6:67"},"nodeType":"YulFunctionCall","src":"43186:65:67"},"nodeType":"YulExpressionStatement","src":"43186:65:67"}]},"name":"abi_encode_t_contract$_IERC20_$7292_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"43164:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"43171:3:67","type":""}],"src":"43096:161:67"},{"body":{"nodeType":"YulBlock","src":"43341:89:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"43358:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"43417:5:67"}],"functionName":{"name":"convert_t_contract$_IWitnetRequest_$7510_to_t_address","nodeType":"YulIdentifier","src":"43363:53:67"},"nodeType":"YulFunctionCall","src":"43363:60:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43351:6:67"},"nodeType":"YulFunctionCall","src":"43351:73:67"},"nodeType":"YulExpressionStatement","src":"43351:73:67"}]},"name":"abi_encode_t_contract$_IWitnetRequest_$7510_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"43329:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"43336:3:67","type":""}],"src":"43263:167:67"},{"body":{"nodeType":"YulBlock","src":"43514:79:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"43531:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"43580:5:67"}],"functionName":{"name":"convert_t_enum$_ErrorCodes_$8299_to_t_uint8","nodeType":"YulIdentifier","src":"43536:43:67"},"nodeType":"YulFunctionCall","src":"43536:50:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43524:6:67"},"nodeType":"YulFunctionCall","src":"43524:63:67"},"nodeType":"YulExpressionStatement","src":"43524:63:67"}]},"name":"abi_encode_t_enum$_ErrorCodes_$8299_to_t_uint8_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"43502:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"43509:3:67","type":""}],"src":"43436:157:67"},{"body":{"nodeType":"YulBlock","src":"43678:80:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"43695:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"43745:5:67"}],"functionName":{"name":"convert_t_enum$_QueryStatus_$7996_to_t_uint8","nodeType":"YulIdentifier","src":"43700:44:67"},"nodeType":"YulFunctionCall","src":"43700:51:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43688:6:67"},"nodeType":"YulFunctionCall","src":"43688:64:67"},"nodeType":"YulExpressionStatement","src":"43688:64:67"}]},"name":"abi_encode_t_enum$_QueryStatus_$7996_to_t_uint8_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"43666:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"43673:3:67","type":""}],"src":"43599:159:67"},{"body":{"nodeType":"YulBlock","src":"43817:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"43834:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"43856:5:67"}],"functionName":{"name":"cleanup_t_int128","nodeType":"YulIdentifier","src":"43839:16:67"},"nodeType":"YulFunctionCall","src":"43839:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43827:6:67"},"nodeType":"YulFunctionCall","src":"43827:36:67"},"nodeType":"YulExpressionStatement","src":"43827:36:67"}]},"name":"abi_encode_t_int128_to_t_int128","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"43805:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"43812:3:67","type":""}],"src":"43764:105:67"},{"body":{"nodeType":"YulBlock","src":"43938:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"43955:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"43977:5:67"}],"functionName":{"name":"cleanup_t_int128","nodeType":"YulIdentifier","src":"43960:16:67"},"nodeType":"YulFunctionCall","src":"43960:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43948:6:67"},"nodeType":"YulFunctionCall","src":"43948:36:67"},"nodeType":"YulExpressionStatement","src":"43948:36:67"}]},"name":"abi_encode_t_int128_to_t_int128_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"43926:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"43933:3:67","type":""}],"src":"43875:115:67"},{"body":{"nodeType":"YulBlock","src":"44047:51:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"44064:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"44085:5:67"}],"functionName":{"name":"cleanup_t_int32","nodeType":"YulIdentifier","src":"44069:15:67"},"nodeType":"YulFunctionCall","src":"44069:22:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"44057:6:67"},"nodeType":"YulFunctionCall","src":"44057:35:67"},"nodeType":"YulExpressionStatement","src":"44057:35:67"}]},"name":"abi_encode_t_int32_to_t_int32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"44035:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"44042:3:67","type":""}],"src":"43996:102:67"},{"body":{"nodeType":"YulBlock","src":"44165:51:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"44182:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"44203:5:67"}],"functionName":{"name":"cleanup_t_int32","nodeType":"YulIdentifier","src":"44187:15:67"},"nodeType":"YulFunctionCall","src":"44187:22:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"44175:6:67"},"nodeType":"YulFunctionCall","src":"44175:35:67"},"nodeType":"YulExpressionStatement","src":"44175:35:67"}]},"name":"abi_encode_t_int32_to_t_int32_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"44153:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"44160:3:67","type":""}],"src":"44104:112:67"},{"body":{"nodeType":"YulBlock","src":"44304:262:67","statements":[{"nodeType":"YulVariableDeclaration","src":"44314:53:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"44361:5:67"}],"functionName":{"name":"array_length_t_string_memory_ptr","nodeType":"YulIdentifier","src":"44328:32:67"},"nodeType":"YulFunctionCall","src":"44328:39:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"44318:6:67","type":""}]},{"nodeType":"YulAssignment","src":"44376:68:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"44432:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"44437:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr","nodeType":"YulIdentifier","src":"44383:48:67"},"nodeType":"YulFunctionCall","src":"44383:61:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"44376:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"44479:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"44486:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44475:3:67"},"nodeType":"YulFunctionCall","src":"44475:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"44493:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"44498:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"44453:21:67"},"nodeType":"YulFunctionCall","src":"44453:52:67"},"nodeType":"YulExpressionStatement","src":"44453:52:67"},{"nodeType":"YulAssignment","src":"44514:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"44525:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"44552:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"44530:21:67"},"nodeType":"YulFunctionCall","src":"44530:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44521:3:67"},"nodeType":"YulFunctionCall","src":"44521:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"44514:3:67"}]}]},"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"44285:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"44292:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"44300:3:67","type":""}],"src":"44222:344:67"},{"body":{"nodeType":"YulBlock","src":"44664:272:67","statements":[{"nodeType":"YulVariableDeclaration","src":"44674:53:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"44721:5:67"}],"functionName":{"name":"array_length_t_string_memory_ptr","nodeType":"YulIdentifier","src":"44688:32:67"},"nodeType":"YulFunctionCall","src":"44688:39:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"44678:6:67","type":""}]},{"nodeType":"YulAssignment","src":"44736:78:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"44802:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"44807:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"44743:58:67"},"nodeType":"YulFunctionCall","src":"44743:71:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"44736:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"44849:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"44856:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44845:3:67"},"nodeType":"YulFunctionCall","src":"44845:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"44863:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"44868:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"44823:21:67"},"nodeType":"YulFunctionCall","src":"44823:52:67"},"nodeType":"YulExpressionStatement","src":"44823:52:67"},{"nodeType":"YulAssignment","src":"44884:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"44895:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"44922:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"44900:21:67"},"nodeType":"YulFunctionCall","src":"44900:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44891:3:67"},"nodeType":"YulFunctionCall","src":"44891:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"44884:3:67"}]}]},"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"44645:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"44652:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"44660:3:67","type":""}],"src":"44572:364:67"},{"body":{"nodeType":"YulBlock","src":"45088:220:67","statements":[{"nodeType":"YulAssignment","src":"45098:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"45164:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"45169:2:67","type":"","value":"44"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"45105:58:67"},"nodeType":"YulFunctionCall","src":"45105:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"45098:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"45270:3:67"}],"functionName":{"name":"store_literal_in_memory_0be555820c60b6124cd4a527104e7ed2ef896a14c9cdf1f4d0c1a79561ea22c4","nodeType":"YulIdentifier","src":"45181:88:67"},"nodeType":"YulFunctionCall","src":"45181:93:67"},"nodeType":"YulExpressionStatement","src":"45181:93:67"},{"nodeType":"YulAssignment","src":"45283:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"45294:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"45299:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45290:3:67"},"nodeType":"YulFunctionCall","src":"45290:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"45283:3:67"}]}]},"name":"abi_encode_t_stringliteral_0be555820c60b6124cd4a527104e7ed2ef896a14c9cdf1f4d0c1a79561ea22c4_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"45076:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"45084:3:67","type":""}],"src":"44942:366:67"},{"body":{"nodeType":"YulBlock","src":"45460:220:67","statements":[{"nodeType":"YulAssignment","src":"45470:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"45536:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"45541:2:67","type":"","value":"41"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"45477:58:67"},"nodeType":"YulFunctionCall","src":"45477:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"45470:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"45642:3:67"}],"functionName":{"name":"store_literal_in_memory_0d0f3639c50be0afccc47d7224de7d8f86286c512c889d59db02617fd5eda150","nodeType":"YulIdentifier","src":"45553:88:67"},"nodeType":"YulFunctionCall","src":"45553:93:67"},"nodeType":"YulExpressionStatement","src":"45553:93:67"},{"nodeType":"YulAssignment","src":"45655:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"45666:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"45671:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45662:3:67"},"nodeType":"YulFunctionCall","src":"45662:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"45655:3:67"}]}]},"name":"abi_encode_t_stringliteral_0d0f3639c50be0afccc47d7224de7d8f86286c512c889d59db02617fd5eda150_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"45448:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"45456:3:67","type":""}],"src":"45314:366:67"},{"body":{"nodeType":"YulBlock","src":"45832:220:67","statements":[{"nodeType":"YulAssignment","src":"45842:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"45908:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"45913:2:67","type":"","value":"46"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"45849:58:67"},"nodeType":"YulFunctionCall","src":"45849:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"45842:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"46014:3:67"}],"functionName":{"name":"store_literal_in_memory_1581ae06fefdfc841abacd4b63952c567c2edc2bc8c7899a32661f6a801e746b","nodeType":"YulIdentifier","src":"45925:88:67"},"nodeType":"YulFunctionCall","src":"45925:93:67"},"nodeType":"YulExpressionStatement","src":"45925:93:67"},{"nodeType":"YulAssignment","src":"46027:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"46038:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"46043:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46034:3:67"},"nodeType":"YulFunctionCall","src":"46034:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"46027:3:67"}]}]},"name":"abi_encode_t_stringliteral_1581ae06fefdfc841abacd4b63952c567c2edc2bc8c7899a32661f6a801e746b_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"45820:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"45828:3:67","type":""}],"src":"45686:366:67"},{"body":{"nodeType":"YulBlock","src":"46204:220:67","statements":[{"nodeType":"YulAssignment","src":"46214:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"46280:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"46285:2:67","type":"","value":"27"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"46221:58:67"},"nodeType":"YulFunctionCall","src":"46221:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"46214:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"46386:3:67"}],"functionName":{"name":"store_literal_in_memory_1f8274dcdd937f970d48bf777d3a3d5fbcf9897829d796148c2d8edcd419ec5d","nodeType":"YulIdentifier","src":"46297:88:67"},"nodeType":"YulFunctionCall","src":"46297:93:67"},"nodeType":"YulExpressionStatement","src":"46297:93:67"},{"nodeType":"YulAssignment","src":"46399:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"46410:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"46415:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46406:3:67"},"nodeType":"YulFunctionCall","src":"46406:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"46399:3:67"}]}]},"name":"abi_encode_t_stringliteral_1f8274dcdd937f970d48bf777d3a3d5fbcf9897829d796148c2d8edcd419ec5d_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"46192:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"46200:3:67","type":""}],"src":"46058:366:67"},{"body":{"nodeType":"YulBlock","src":"46576:220:67","statements":[{"nodeType":"YulAssignment","src":"46586:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"46652:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"46657:2:67","type":"","value":"49"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"46593:58:67"},"nodeType":"YulFunctionCall","src":"46593:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"46586:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"46758:3:67"}],"functionName":{"name":"store_literal_in_memory_33e565b65d8aa6e9990eec2cc32f99865d7f76bbee3771b62789ab97e5a37d7f","nodeType":"YulIdentifier","src":"46669:88:67"},"nodeType":"YulFunctionCall","src":"46669:93:67"},"nodeType":"YulExpressionStatement","src":"46669:93:67"},{"nodeType":"YulAssignment","src":"46771:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"46782:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"46787:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46778:3:67"},"nodeType":"YulFunctionCall","src":"46778:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"46771:3:67"}]}]},"name":"abi_encode_t_stringliteral_33e565b65d8aa6e9990eec2cc32f99865d7f76bbee3771b62789ab97e5a37d7f_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"46564:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"46572:3:67","type":""}],"src":"46430:366:67"},{"body":{"nodeType":"YulBlock","src":"46948:220:67","statements":[{"nodeType":"YulAssignment","src":"46958:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"47024:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"47029:2:67","type":"","value":"44"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"46965:58:67"},"nodeType":"YulFunctionCall","src":"46965:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"46958:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"47130:3:67"}],"functionName":{"name":"store_literal_in_memory_3b4bb84f4a99e05df33e41f62f5366e4016b4735b6f76082d73cf5d8831faa3e","nodeType":"YulIdentifier","src":"47041:88:67"},"nodeType":"YulFunctionCall","src":"47041:93:67"},"nodeType":"YulExpressionStatement","src":"47041:93:67"},{"nodeType":"YulAssignment","src":"47143:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"47154:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"47159:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"47150:3:67"},"nodeType":"YulFunctionCall","src":"47150:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"47143:3:67"}]}]},"name":"abi_encode_t_stringliteral_3b4bb84f4a99e05df33e41f62f5366e4016b4735b6f76082d73cf5d8831faa3e_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"46936:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"46944:3:67","type":""}],"src":"46802:366:67"},{"body":{"nodeType":"YulBlock","src":"47320:220:67","statements":[{"nodeType":"YulAssignment","src":"47330:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"47396:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"47401:2:67","type":"","value":"45"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"47337:58:67"},"nodeType":"YulFunctionCall","src":"47337:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"47330:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"47502:3:67"}],"functionName":{"name":"store_literal_in_memory_3d43510da44c3e08f6dfef5e320d0e99d425bf23f74114ae066f5af47319ad5c","nodeType":"YulIdentifier","src":"47413:88:67"},"nodeType":"YulFunctionCall","src":"47413:93:67"},"nodeType":"YulExpressionStatement","src":"47413:93:67"},{"nodeType":"YulAssignment","src":"47515:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"47526:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"47531:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"47522:3:67"},"nodeType":"YulFunctionCall","src":"47522:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"47515:3:67"}]}]},"name":"abi_encode_t_stringliteral_3d43510da44c3e08f6dfef5e320d0e99d425bf23f74114ae066f5af47319ad5c_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"47308:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"47316:3:67","type":""}],"src":"47174:366:67"},{"body":{"nodeType":"YulBlock","src":"47692:220:67","statements":[{"nodeType":"YulAssignment","src":"47702:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"47768:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"47773:2:67","type":"","value":"47"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"47709:58:67"},"nodeType":"YulFunctionCall","src":"47709:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"47702:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"47874:3:67"}],"functionName":{"name":"store_literal_in_memory_4425c56dbfedfa02467de27608a6ff1e4faacad72797eafb38bb660bf95f7eee","nodeType":"YulIdentifier","src":"47785:88:67"},"nodeType":"YulFunctionCall","src":"47785:93:67"},"nodeType":"YulExpressionStatement","src":"47785:93:67"},{"nodeType":"YulAssignment","src":"47887:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"47898:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"47903:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"47894:3:67"},"nodeType":"YulFunctionCall","src":"47894:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"47887:3:67"}]}]},"name":"abi_encode_t_stringliteral_4425c56dbfedfa02467de27608a6ff1e4faacad72797eafb38bb660bf95f7eee_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"47680:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"47688:3:67","type":""}],"src":"47546:366:67"},{"body":{"nodeType":"YulBlock","src":"48064:220:67","statements":[{"nodeType":"YulAssignment","src":"48074:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"48140:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"48145:2:67","type":"","value":"47"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"48081:58:67"},"nodeType":"YulFunctionCall","src":"48081:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"48074:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"48246:3:67"}],"functionName":{"name":"store_literal_in_memory_48f3e667c3593a2e92c7dce9bfc9484f97112384c1450711c71171e05fb5759a","nodeType":"YulIdentifier","src":"48157:88:67"},"nodeType":"YulFunctionCall","src":"48157:93:67"},"nodeType":"YulExpressionStatement","src":"48157:93:67"},{"nodeType":"YulAssignment","src":"48259:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"48270:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"48275:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"48266:3:67"},"nodeType":"YulFunctionCall","src":"48266:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"48259:3:67"}]}]},"name":"abi_encode_t_stringliteral_48f3e667c3593a2e92c7dce9bfc9484f97112384c1450711c71171e05fb5759a_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"48052:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"48060:3:67","type":""}],"src":"47918:366:67"},{"body":{"nodeType":"YulBlock","src":"48436:220:67","statements":[{"nodeType":"YulAssignment","src":"48446:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"48512:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"48517:2:67","type":"","value":"63"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"48453:58:67"},"nodeType":"YulFunctionCall","src":"48453:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"48446:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"48618:3:67"}],"functionName":{"name":"store_literal_in_memory_58fe038ba911826a5f966fdd037e315cc531824afa5103a4407b08d95d19ddce","nodeType":"YulIdentifier","src":"48529:88:67"},"nodeType":"YulFunctionCall","src":"48529:93:67"},"nodeType":"YulExpressionStatement","src":"48529:93:67"},{"nodeType":"YulAssignment","src":"48631:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"48642:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"48647:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"48638:3:67"},"nodeType":"YulFunctionCall","src":"48638:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"48631:3:67"}]}]},"name":"abi_encode_t_stringliteral_58fe038ba911826a5f966fdd037e315cc531824afa5103a4407b08d95d19ddce_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"48424:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"48432:3:67","type":""}],"src":"48290:366:67"},{"body":{"nodeType":"YulBlock","src":"48808:220:67","statements":[{"nodeType":"YulAssignment","src":"48818:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"48884:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"48889:2:67","type":"","value":"66"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"48825:58:67"},"nodeType":"YulFunctionCall","src":"48825:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"48818:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"48990:3:67"}],"functionName":{"name":"store_literal_in_memory_5fa4f20d3b547b43c3b49de4f5c62b8d87a47a9169c1a1db0d172150993aa1eb","nodeType":"YulIdentifier","src":"48901:88:67"},"nodeType":"YulFunctionCall","src":"48901:93:67"},"nodeType":"YulExpressionStatement","src":"48901:93:67"},{"nodeType":"YulAssignment","src":"49003:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"49014:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"49019:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"49010:3:67"},"nodeType":"YulFunctionCall","src":"49010:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"49003:3:67"}]}]},"name":"abi_encode_t_stringliteral_5fa4f20d3b547b43c3b49de4f5c62b8d87a47a9169c1a1db0d172150993aa1eb_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"48796:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"48804:3:67","type":""}],"src":"48662:366:67"},{"body":{"nodeType":"YulBlock","src":"49180:220:67","statements":[{"nodeType":"YulAssignment","src":"49190:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"49256:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"49261:2:67","type":"","value":"42"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"49197:58:67"},"nodeType":"YulFunctionCall","src":"49197:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"49190:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"49362:3:67"}],"functionName":{"name":"store_literal_in_memory_72b1f434e16ac1cf02aa4ce2f0f63ef536c0a2e88f68b1067ef152351f0087f1","nodeType":"YulIdentifier","src":"49273:88:67"},"nodeType":"YulFunctionCall","src":"49273:93:67"},"nodeType":"YulExpressionStatement","src":"49273:93:67"},{"nodeType":"YulAssignment","src":"49375:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"49386:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"49391:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"49382:3:67"},"nodeType":"YulFunctionCall","src":"49382:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"49375:3:67"}]}]},"name":"abi_encode_t_stringliteral_72b1f434e16ac1cf02aa4ce2f0f63ef536c0a2e88f68b1067ef152351f0087f1_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"49168:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"49176:3:67","type":""}],"src":"49034:366:67"},{"body":{"nodeType":"YulBlock","src":"49552:220:67","statements":[{"nodeType":"YulAssignment","src":"49562:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"49628:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"49633:2:67","type":"","value":"45"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"49569:58:67"},"nodeType":"YulFunctionCall","src":"49569:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"49562:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"49734:3:67"}],"functionName":{"name":"store_literal_in_memory_8e0ffa273c001ae051d701178ac5c710a5b4d9fec98205577ebc7425e417a801","nodeType":"YulIdentifier","src":"49645:88:67"},"nodeType":"YulFunctionCall","src":"49645:93:67"},"nodeType":"YulExpressionStatement","src":"49645:93:67"},{"nodeType":"YulAssignment","src":"49747:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"49758:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"49763:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"49754:3:67"},"nodeType":"YulFunctionCall","src":"49754:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"49747:3:67"}]}]},"name":"abi_encode_t_stringliteral_8e0ffa273c001ae051d701178ac5c710a5b4d9fec98205577ebc7425e417a801_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"49540:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"49548:3:67","type":""}],"src":"49406:366:67"},{"body":{"nodeType":"YulBlock","src":"49924:220:67","statements":[{"nodeType":"YulAssignment","src":"49934:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"50000:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"50005:2:67","type":"","value":"58"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"49941:58:67"},"nodeType":"YulFunctionCall","src":"49941:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"49934:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"50106:3:67"}],"functionName":{"name":"store_literal_in_memory_9fa14ac89471826c5bc72b75de3388cdde56a33fbf6bb575f16de2cc5916ce84","nodeType":"YulIdentifier","src":"50017:88:67"},"nodeType":"YulFunctionCall","src":"50017:93:67"},"nodeType":"YulExpressionStatement","src":"50017:93:67"},{"nodeType":"YulAssignment","src":"50119:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"50130:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"50135:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"50126:3:67"},"nodeType":"YulFunctionCall","src":"50126:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"50119:3:67"}]}]},"name":"abi_encode_t_stringliteral_9fa14ac89471826c5bc72b75de3388cdde56a33fbf6bb575f16de2cc5916ce84_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"49912:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"49920:3:67","type":""}],"src":"49778:366:67"},{"body":{"nodeType":"YulBlock","src":"50296:220:67","statements":[{"nodeType":"YulAssignment","src":"50306:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"50372:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"50377:2:67","type":"","value":"52"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"50313:58:67"},"nodeType":"YulFunctionCall","src":"50313:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"50306:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"50478:3:67"}],"functionName":{"name":"store_literal_in_memory_aac6109e25b977a3666829c5faa653ddebecef9c73e0dbd918342867acf0b90b","nodeType":"YulIdentifier","src":"50389:88:67"},"nodeType":"YulFunctionCall","src":"50389:93:67"},"nodeType":"YulExpressionStatement","src":"50389:93:67"},{"nodeType":"YulAssignment","src":"50491:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"50502:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"50507:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"50498:3:67"},"nodeType":"YulFunctionCall","src":"50498:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"50491:3:67"}]}]},"name":"abi_encode_t_stringliteral_aac6109e25b977a3666829c5faa653ddebecef9c73e0dbd918342867acf0b90b_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"50284:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"50292:3:67","type":""}],"src":"50150:366:67"},{"body":{"nodeType":"YulBlock","src":"50668:220:67","statements":[{"nodeType":"YulAssignment","src":"50678:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"50744:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"50749:2:67","type":"","value":"43"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"50685:58:67"},"nodeType":"YulFunctionCall","src":"50685:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"50678:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"50850:3:67"}],"functionName":{"name":"store_literal_in_memory_ba6ce338a8b77b4309b1dcba6abb75801c6b8961785823dfa406357c96ccf60d","nodeType":"YulIdentifier","src":"50761:88:67"},"nodeType":"YulFunctionCall","src":"50761:93:67"},"nodeType":"YulExpressionStatement","src":"50761:93:67"},{"nodeType":"YulAssignment","src":"50863:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"50874:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"50879:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"50870:3:67"},"nodeType":"YulFunctionCall","src":"50870:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"50863:3:67"}]}]},"name":"abi_encode_t_stringliteral_ba6ce338a8b77b4309b1dcba6abb75801c6b8961785823dfa406357c96ccf60d_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"50656:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"50664:3:67","type":""}],"src":"50522:366:67"},{"body":{"nodeType":"YulBlock","src":"51040:220:67","statements":[{"nodeType":"YulAssignment","src":"51050:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"51116:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"51121:2:67","type":"","value":"46"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"51057:58:67"},"nodeType":"YulFunctionCall","src":"51057:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"51050:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"51222:3:67"}],"functionName":{"name":"store_literal_in_memory_e251d84e62e5492f0ae8601bf0b4d92f0e11ae4eb6623c0c4134c63f7dd56847","nodeType":"YulIdentifier","src":"51133:88:67"},"nodeType":"YulFunctionCall","src":"51133:93:67"},"nodeType":"YulExpressionStatement","src":"51133:93:67"},{"nodeType":"YulAssignment","src":"51235:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"51246:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"51251:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"51242:3:67"},"nodeType":"YulFunctionCall","src":"51242:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"51235:3:67"}]}]},"name":"abi_encode_t_stringliteral_e251d84e62e5492f0ae8601bf0b4d92f0e11ae4eb6623c0c4134c63f7dd56847_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"51028:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"51036:3:67","type":""}],"src":"50894:366:67"},{"body":{"nodeType":"YulBlock","src":"51412:220:67","statements":[{"nodeType":"YulAssignment","src":"51422:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"51488:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"51493:2:67","type":"","value":"47"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"51429:58:67"},"nodeType":"YulFunctionCall","src":"51429:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"51422:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"51594:3:67"}],"functionName":{"name":"store_literal_in_memory_ea4580d893291eb488d1f84e08baa4c835b386770db72420b713c9cfcfc0dfb6","nodeType":"YulIdentifier","src":"51505:88:67"},"nodeType":"YulFunctionCall","src":"51505:93:67"},"nodeType":"YulExpressionStatement","src":"51505:93:67"},{"nodeType":"YulAssignment","src":"51607:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"51618:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"51623:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"51614:3:67"},"nodeType":"YulFunctionCall","src":"51614:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"51607:3:67"}]}]},"name":"abi_encode_t_stringliteral_ea4580d893291eb488d1f84e08baa4c835b386770db72420b713c9cfcfc0dfb6_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"51400:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"51408:3:67","type":""}],"src":"51266:366:67"},{"body":{"nodeType":"YulBlock","src":"51784:220:67","statements":[{"nodeType":"YulAssignment","src":"51794:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"51860:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"51865:2:67","type":"","value":"49"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"51801:58:67"},"nodeType":"YulFunctionCall","src":"51801:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"51794:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"51966:3:67"}],"functionName":{"name":"store_literal_in_memory_ebdfd38fe21ca0808fdb840ac4bd9b3f5d98f2e7880341f5272855af32dcb094","nodeType":"YulIdentifier","src":"51877:88:67"},"nodeType":"YulFunctionCall","src":"51877:93:67"},"nodeType":"YulExpressionStatement","src":"51877:93:67"},{"nodeType":"YulAssignment","src":"51979:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"51990:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"51995:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"51986:3:67"},"nodeType":"YulFunctionCall","src":"51986:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"51979:3:67"}]}]},"name":"abi_encode_t_stringliteral_ebdfd38fe21ca0808fdb840ac4bd9b3f5d98f2e7880341f5272855af32dcb094_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"51772:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"51780:3:67","type":""}],"src":"51638:366:67"},{"body":{"nodeType":"YulBlock","src":"52174:480:67","statements":[{"nodeType":"YulVariableDeclaration","src":"52184:26:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"52200:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"52205:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52196:3:67"},"nodeType":"YulFunctionCall","src":"52196:14:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"52188:4:67","type":""}]},{"nodeType":"YulBlock","src":"52220:233:67","statements":[{"nodeType":"YulVariableDeclaration","src":"52255:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"52285:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"52292:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52281:3:67"},"nodeType":"YulFunctionCall","src":"52281:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"52275:5:67"},"nodeType":"YulFunctionCall","src":"52275:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"52259:12:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"52323:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"52328:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52319:3:67"},"nodeType":"YulFunctionCall","src":"52319:14:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"52339:4:67"},{"name":"pos","nodeType":"YulIdentifier","src":"52345:3:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"52335:3:67"},"nodeType":"YulFunctionCall","src":"52335:14:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"52312:6:67"},"nodeType":"YulFunctionCall","src":"52312:38:67"},"nodeType":"YulExpressionStatement","src":"52312:38:67"},{"nodeType":"YulAssignment","src":"52363:79:67","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"52423:12:67"},{"name":"tail","nodeType":"YulIdentifier","src":"52437:4:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"52371:51:67"},"nodeType":"YulFunctionCall","src":"52371:71:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"52363:4:67"}]}]},{"nodeType":"YulBlock","src":"52463:164:67","statements":[{"nodeType":"YulVariableDeclaration","src":"52500:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"52530:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"52537:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52526:3:67"},"nodeType":"YulFunctionCall","src":"52526:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"52520:5:67"},"nodeType":"YulFunctionCall","src":"52520:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"52504:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"52588:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"52606:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"52611:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52602:3:67"},"nodeType":"YulFunctionCall","src":"52602:14:67"}],"functionName":{"name":"abi_encode_t_uint32_to_t_uint32","nodeType":"YulIdentifier","src":"52556:31:67"},"nodeType":"YulFunctionCall","src":"52556:61:67"},"nodeType":"YulExpressionStatement","src":"52556:61:67"}]},{"nodeType":"YulAssignment","src":"52637:11:67","value":{"name":"tail","nodeType":"YulIdentifier","src":"52644:4:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"52637:3:67"}]}]},"name":"abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"52153:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"52160:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"52169:3:67","type":""}],"src":"52062:592:67"},{"body":{"nodeType":"YulBlock","src":"52832:496:67","statements":[{"nodeType":"YulVariableDeclaration","src":"52842:26:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"52858:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"52863:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52854:3:67"},"nodeType":"YulFunctionCall","src":"52854:14:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"52846:4:67","type":""}]},{"nodeType":"YulBlock","src":"52878:241:67","statements":[{"nodeType":"YulVariableDeclaration","src":"52913:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"52943:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"52950:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52939:3:67"},"nodeType":"YulFunctionCall","src":"52939:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"52933:5:67"},"nodeType":"YulFunctionCall","src":"52933:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"52917:12:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"52981:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"52986:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52977:3:67"},"nodeType":"YulFunctionCall","src":"52977:14:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"52997:4:67"},{"name":"pos","nodeType":"YulIdentifier","src":"53003:3:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"52993:3:67"},"nodeType":"YulFunctionCall","src":"52993:14:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"52970:6:67"},"nodeType":"YulFunctionCall","src":"52970:38:67"},"nodeType":"YulExpressionStatement","src":"52970:38:67"},{"nodeType":"YulAssignment","src":"53021:87:67","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"53089:12:67"},{"name":"tail","nodeType":"YulIdentifier","src":"53103:4:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_library","nodeType":"YulIdentifier","src":"53029:59:67"},"nodeType":"YulFunctionCall","src":"53029:79:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"53021:4:67"}]}]},{"nodeType":"YulBlock","src":"53129:172:67","statements":[{"nodeType":"YulVariableDeclaration","src":"53166:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"53196:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"53203:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53192:3:67"},"nodeType":"YulFunctionCall","src":"53192:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"53186:5:67"},"nodeType":"YulFunctionCall","src":"53186:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"53170:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"53262:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"53280:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"53285:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53276:3:67"},"nodeType":"YulFunctionCall","src":"53276:14:67"}],"functionName":{"name":"abi_encode_t_uint32_to_t_uint32_library","nodeType":"YulIdentifier","src":"53222:39:67"},"nodeType":"YulFunctionCall","src":"53222:69:67"},"nodeType":"YulExpressionStatement","src":"53222:69:67"}]},{"nodeType":"YulAssignment","src":"53311:11:67","value":{"name":"tail","nodeType":"YulIdentifier","src":"53318:4:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"53311:3:67"}]}]},"name":"abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"52811:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"52818:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"52827:3:67","type":""}],"src":"52712:616:67"},{"body":{"nodeType":"YulBlock","src":"53490:1219:67","statements":[{"nodeType":"YulVariableDeclaration","src":"53500:26:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"53516:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"53521:4:67","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53512:3:67"},"nodeType":"YulFunctionCall","src":"53512:14:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"53504:4:67","type":""}]},{"nodeType":"YulBlock","src":"53536:265:67","statements":[{"nodeType":"YulVariableDeclaration","src":"53573:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"53603:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"53610:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53599:3:67"},"nodeType":"YulFunctionCall","src":"53599:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"53593:5:67"},"nodeType":"YulFunctionCall","src":"53593:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"53577:12:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"53641:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"53646:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53637:3:67"},"nodeType":"YulFunctionCall","src":"53637:14:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"53657:4:67"},{"name":"pos","nodeType":"YulIdentifier","src":"53663:3:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"53653:3:67"},"nodeType":"YulFunctionCall","src":"53653:14:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"53630:6:67"},"nodeType":"YulFunctionCall","src":"53630:38:67"},"nodeType":"YulExpressionStatement","src":"53630:38:67"},{"nodeType":"YulAssignment","src":"53681:109:67","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"53771:12:67"},{"name":"tail","nodeType":"YulIdentifier","src":"53785:4:67"}],"functionName":{"name":"abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr","nodeType":"YulIdentifier","src":"53689:81:67"},"nodeType":"YulFunctionCall","src":"53689:101:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"53681:4:67"}]}]},{"nodeType":"YulBlock","src":"53811:167:67","statements":[{"nodeType":"YulVariableDeclaration","src":"53853:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"53883:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"53890:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53879:3:67"},"nodeType":"YulFunctionCall","src":"53879:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"53873:5:67"},"nodeType":"YulFunctionCall","src":"53873:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"53857:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"53939:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"53957:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"53962:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53953:3:67"},"nodeType":"YulFunctionCall","src":"53953:14:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8","nodeType":"YulIdentifier","src":"53909:29:67"},"nodeType":"YulFunctionCall","src":"53909:59:67"},"nodeType":"YulExpressionStatement","src":"53909:59:67"}]},{"nodeType":"YulBlock","src":"53988:165:67","statements":[{"nodeType":"YulVariableDeclaration","src":"54028:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"54058:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"54065:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"54054:3:67"},"nodeType":"YulFunctionCall","src":"54054:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"54048:5:67"},"nodeType":"YulFunctionCall","src":"54048:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"54032:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"54114:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"54132:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"54137:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"54128:3:67"},"nodeType":"YulFunctionCall","src":"54128:14:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8","nodeType":"YulIdentifier","src":"54084:29:67"},"nodeType":"YulFunctionCall","src":"54084:59:67"},"nodeType":"YulExpressionStatement","src":"54084:59:67"}]},{"nodeType":"YulBlock","src":"54163:177:67","statements":[{"nodeType":"YulVariableDeclaration","src":"54215:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"54245:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"54252:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"54241:3:67"},"nodeType":"YulFunctionCall","src":"54241:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"54235:5:67"},"nodeType":"YulFunctionCall","src":"54235:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"54219:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"54301:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"54319:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"54324:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"54315:3:67"},"nodeType":"YulFunctionCall","src":"54315:14:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8","nodeType":"YulIdentifier","src":"54271:29:67"},"nodeType":"YulFunctionCall","src":"54271:59:67"},"nodeType":"YulExpressionStatement","src":"54271:59:67"}]},{"nodeType":"YulBlock","src":"54350:161:67","statements":[{"nodeType":"YulVariableDeclaration","src":"54384:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"54414:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"54421:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"54410:3:67"},"nodeType":"YulFunctionCall","src":"54410:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"54404:5:67"},"nodeType":"YulFunctionCall","src":"54404:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"54388:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"54472:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"54490:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"54495:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"54486:3:67"},"nodeType":"YulFunctionCall","src":"54486:14:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64","nodeType":"YulIdentifier","src":"54440:31:67"},"nodeType":"YulFunctionCall","src":"54440:61:67"},"nodeType":"YulExpressionStatement","src":"54440:61:67"}]},{"nodeType":"YulBlock","src":"54521:161:67","statements":[{"nodeType":"YulVariableDeclaration","src":"54555:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"54585:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"54592:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"54581:3:67"},"nodeType":"YulFunctionCall","src":"54581:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"54575:5:67"},"nodeType":"YulFunctionCall","src":"54575:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"54559:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"54643:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"54661:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"54666:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"54657:3:67"},"nodeType":"YulFunctionCall","src":"54657:14:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64","nodeType":"YulIdentifier","src":"54611:31:67"},"nodeType":"YulFunctionCall","src":"54611:61:67"},"nodeType":"YulExpressionStatement","src":"54611:61:67"}]},{"nodeType":"YulAssignment","src":"54692:11:67","value":{"name":"tail","nodeType":"YulIdentifier","src":"54699:4:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"54692:3:67"}]}]},"name":"abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"53469:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"53476:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"53485:3:67","type":""}],"src":"53382:1327:67"},{"body":{"nodeType":"YulBlock","src":"54889:1267:67","statements":[{"nodeType":"YulVariableDeclaration","src":"54899:26:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"54915:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"54920:4:67","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"54911:3:67"},"nodeType":"YulFunctionCall","src":"54911:14:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"54903:4:67","type":""}]},{"nodeType":"YulBlock","src":"54935:273:67","statements":[{"nodeType":"YulVariableDeclaration","src":"54972:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"55002:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"55009:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"54998:3:67"},"nodeType":"YulFunctionCall","src":"54998:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"54992:5:67"},"nodeType":"YulFunctionCall","src":"54992:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"54976:12:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"55040:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"55045:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"55036:3:67"},"nodeType":"YulFunctionCall","src":"55036:14:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"55056:4:67"},{"name":"pos","nodeType":"YulIdentifier","src":"55062:3:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"55052:3:67"},"nodeType":"YulFunctionCall","src":"55052:14:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"55029:6:67"},"nodeType":"YulFunctionCall","src":"55029:38:67"},"nodeType":"YulExpressionStatement","src":"55029:38:67"},{"nodeType":"YulAssignment","src":"55080:117:67","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"55178:12:67"},{"name":"tail","nodeType":"YulIdentifier","src":"55192:4:67"}],"functionName":{"name":"abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr_library","nodeType":"YulIdentifier","src":"55088:89:67"},"nodeType":"YulFunctionCall","src":"55088:109:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"55080:4:67"}]}]},{"nodeType":"YulBlock","src":"55218:175:67","statements":[{"nodeType":"YulVariableDeclaration","src":"55260:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"55290:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"55297:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"55286:3:67"},"nodeType":"YulFunctionCall","src":"55286:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"55280:5:67"},"nodeType":"YulFunctionCall","src":"55280:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"55264:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"55354:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"55372:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"55377:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"55368:3:67"},"nodeType":"YulFunctionCall","src":"55368:14:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_library","nodeType":"YulIdentifier","src":"55316:37:67"},"nodeType":"YulFunctionCall","src":"55316:67:67"},"nodeType":"YulExpressionStatement","src":"55316:67:67"}]},{"nodeType":"YulBlock","src":"55403:173:67","statements":[{"nodeType":"YulVariableDeclaration","src":"55443:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"55473:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"55480:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"55469:3:67"},"nodeType":"YulFunctionCall","src":"55469:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"55463:5:67"},"nodeType":"YulFunctionCall","src":"55463:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"55447:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"55537:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"55555:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"55560:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"55551:3:67"},"nodeType":"YulFunctionCall","src":"55551:14:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_library","nodeType":"YulIdentifier","src":"55499:37:67"},"nodeType":"YulFunctionCall","src":"55499:67:67"},"nodeType":"YulExpressionStatement","src":"55499:67:67"}]},{"nodeType":"YulBlock","src":"55586:185:67","statements":[{"nodeType":"YulVariableDeclaration","src":"55638:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"55668:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"55675:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"55664:3:67"},"nodeType":"YulFunctionCall","src":"55664:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"55658:5:67"},"nodeType":"YulFunctionCall","src":"55658:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"55642:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"55732:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"55750:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"55755:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"55746:3:67"},"nodeType":"YulFunctionCall","src":"55746:14:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_library","nodeType":"YulIdentifier","src":"55694:37:67"},"nodeType":"YulFunctionCall","src":"55694:67:67"},"nodeType":"YulExpressionStatement","src":"55694:67:67"}]},{"nodeType":"YulBlock","src":"55781:169:67","statements":[{"nodeType":"YulVariableDeclaration","src":"55815:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"55845:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"55852:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"55841:3:67"},"nodeType":"YulFunctionCall","src":"55841:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"55835:5:67"},"nodeType":"YulFunctionCall","src":"55835:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"55819:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"55911:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"55929:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"55934:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"55925:3:67"},"nodeType":"YulFunctionCall","src":"55925:14:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_library","nodeType":"YulIdentifier","src":"55871:39:67"},"nodeType":"YulFunctionCall","src":"55871:69:67"},"nodeType":"YulExpressionStatement","src":"55871:69:67"}]},{"nodeType":"YulBlock","src":"55960:169:67","statements":[{"nodeType":"YulVariableDeclaration","src":"55994:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"56024:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"56031:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"56020:3:67"},"nodeType":"YulFunctionCall","src":"56020:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"56014:5:67"},"nodeType":"YulFunctionCall","src":"56014:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"55998:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"56090:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"56108:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"56113:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"56104:3:67"},"nodeType":"YulFunctionCall","src":"56104:14:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_library","nodeType":"YulIdentifier","src":"56050:39:67"},"nodeType":"YulFunctionCall","src":"56050:69:67"},"nodeType":"YulExpressionStatement","src":"56050:69:67"}]},{"nodeType":"YulAssignment","src":"56139:11:67","value":{"name":"tail","nodeType":"YulIdentifier","src":"56146:4:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"56139:3:67"}]}]},"name":"abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"54868:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"54875:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"54884:3:67","type":""}],"src":"54763:1393:67"},{"body":{"nodeType":"YulBlock","src":"56326:1267:67","statements":[{"nodeType":"YulVariableDeclaration","src":"56336:26:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"56352:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"56357:4:67","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"56348:3:67"},"nodeType":"YulFunctionCall","src":"56348:14:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"56340:4:67","type":""}]},{"nodeType":"YulBlock","src":"56372:273:67","statements":[{"nodeType":"YulVariableDeclaration","src":"56409:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"56439:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"56446:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"56435:3:67"},"nodeType":"YulFunctionCall","src":"56435:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"56429:5:67"},"nodeType":"YulFunctionCall","src":"56429:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"56413:12:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"56477:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"56482:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"56473:3:67"},"nodeType":"YulFunctionCall","src":"56473:14:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"56493:4:67"},{"name":"pos","nodeType":"YulIdentifier","src":"56499:3:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"56489:3:67"},"nodeType":"YulFunctionCall","src":"56489:14:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56466:6:67"},"nodeType":"YulFunctionCall","src":"56466:38:67"},"nodeType":"YulExpressionStatement","src":"56466:38:67"},{"nodeType":"YulAssignment","src":"56517:117:67","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"56615:12:67"},{"name":"tail","nodeType":"YulIdentifier","src":"56629:4:67"}],"functionName":{"name":"abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr_library","nodeType":"YulIdentifier","src":"56525:89:67"},"nodeType":"YulFunctionCall","src":"56525:109:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"56517:4:67"}]}]},{"nodeType":"YulBlock","src":"56655:175:67","statements":[{"nodeType":"YulVariableDeclaration","src":"56697:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"56727:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"56734:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"56723:3:67"},"nodeType":"YulFunctionCall","src":"56723:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"56717:5:67"},"nodeType":"YulFunctionCall","src":"56717:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"56701:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"56791:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"56809:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"56814:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"56805:3:67"},"nodeType":"YulFunctionCall","src":"56805:14:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_library","nodeType":"YulIdentifier","src":"56753:37:67"},"nodeType":"YulFunctionCall","src":"56753:67:67"},"nodeType":"YulExpressionStatement","src":"56753:67:67"}]},{"nodeType":"YulBlock","src":"56840:173:67","statements":[{"nodeType":"YulVariableDeclaration","src":"56880:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"56910:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"56917:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"56906:3:67"},"nodeType":"YulFunctionCall","src":"56906:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"56900:5:67"},"nodeType":"YulFunctionCall","src":"56900:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"56884:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"56974:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"56992:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"56997:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"56988:3:67"},"nodeType":"YulFunctionCall","src":"56988:14:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_library","nodeType":"YulIdentifier","src":"56936:37:67"},"nodeType":"YulFunctionCall","src":"56936:67:67"},"nodeType":"YulExpressionStatement","src":"56936:67:67"}]},{"nodeType":"YulBlock","src":"57023:185:67","statements":[{"nodeType":"YulVariableDeclaration","src":"57075:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"57105:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"57112:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"57101:3:67"},"nodeType":"YulFunctionCall","src":"57101:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"57095:5:67"},"nodeType":"YulFunctionCall","src":"57095:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"57079:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"57169:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"57187:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"57192:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"57183:3:67"},"nodeType":"YulFunctionCall","src":"57183:14:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_library","nodeType":"YulIdentifier","src":"57131:37:67"},"nodeType":"YulFunctionCall","src":"57131:67:67"},"nodeType":"YulExpressionStatement","src":"57131:67:67"}]},{"nodeType":"YulBlock","src":"57218:169:67","statements":[{"nodeType":"YulVariableDeclaration","src":"57252:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"57282:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"57289:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"57278:3:67"},"nodeType":"YulFunctionCall","src":"57278:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"57272:5:67"},"nodeType":"YulFunctionCall","src":"57272:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"57256:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"57348:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"57366:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"57371:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"57362:3:67"},"nodeType":"YulFunctionCall","src":"57362:14:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_library","nodeType":"YulIdentifier","src":"57308:39:67"},"nodeType":"YulFunctionCall","src":"57308:69:67"},"nodeType":"YulExpressionStatement","src":"57308:69:67"}]},{"nodeType":"YulBlock","src":"57397:169:67","statements":[{"nodeType":"YulVariableDeclaration","src":"57431:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"57461:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"57468:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"57457:3:67"},"nodeType":"YulFunctionCall","src":"57457:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"57451:5:67"},"nodeType":"YulFunctionCall","src":"57451:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"57435:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"57527:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"57545:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"57550:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"57541:3:67"},"nodeType":"YulFunctionCall","src":"57541:14:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_library","nodeType":"YulIdentifier","src":"57487:39:67"},"nodeType":"YulFunctionCall","src":"57487:69:67"},"nodeType":"YulExpressionStatement","src":"57487:69:67"}]},{"nodeType":"YulAssignment","src":"57576:11:67","value":{"name":"tail","nodeType":"YulIdentifier","src":"57583:4:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"57576:3:67"}]}]},"name":"abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"56305:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"56312:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"56321:3:67","type":""}],"src":"56210:1383:67"},{"body":{"nodeType":"YulBlock","src":"57769:745:67","statements":[{"nodeType":"YulVariableDeclaration","src":"57779:26:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"57795:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"57800:4:67","type":"","value":"0xe0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"57791:3:67"},"nodeType":"YulFunctionCall","src":"57791:14:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"57783:4:67","type":""}]},{"nodeType":"YulBlock","src":"57815:217:67","statements":[{"nodeType":"YulVariableDeclaration","src":"57853:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"57883:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"57890:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"57879:3:67"},"nodeType":"YulFunctionCall","src":"57879:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"57873:5:67"},"nodeType":"YulFunctionCall","src":"57873:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"57857:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"57993:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"58011:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"58016:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"58007:3:67"},"nodeType":"YulFunctionCall","src":"58007:14:67"}],"functionName":{"name":"abi_encode_t_struct$_Request_$8008_memory_ptr_to_t_struct$_Request_$8008_memory_ptr","nodeType":"YulIdentifier","src":"57909:83:67"},"nodeType":"YulFunctionCall","src":"57909:113:67"},"nodeType":"YulExpressionStatement","src":"57909:113:67"}]},{"nodeType":"YulBlock","src":"58042:271:67","statements":[{"nodeType":"YulVariableDeclaration","src":"58081:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"58111:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"58118:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"58107:3:67"},"nodeType":"YulFunctionCall","src":"58107:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"58101:5:67"},"nodeType":"YulFunctionCall","src":"58101:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"58085:12:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"58149:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"58154:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"58145:3:67"},"nodeType":"YulFunctionCall","src":"58145:14:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"58165:4:67"},{"name":"pos","nodeType":"YulIdentifier","src":"58171:3:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"58161:3:67"},"nodeType":"YulFunctionCall","src":"58161:14:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"58138:6:67"},"nodeType":"YulFunctionCall","src":"58138:38:67"},"nodeType":"YulExpressionStatement","src":"58138:38:67"},{"nodeType":"YulAssignment","src":"58189:113:67","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"58283:12:67"},{"name":"tail","nodeType":"YulIdentifier","src":"58297:4:67"}],"functionName":{"name":"abi_encode_t_struct$_Response_$8017_memory_ptr_to_t_struct$_Response_$8017_memory_ptr","nodeType":"YulIdentifier","src":"58197:85:67"},"nodeType":"YulFunctionCall","src":"58197:105:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"58189:4:67"}]}]},{"nodeType":"YulBlock","src":"58323:164:67","statements":[{"nodeType":"YulVariableDeclaration","src":"58358:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"58388:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"58395:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"58384:3:67"},"nodeType":"YulFunctionCall","src":"58384:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"58378:5:67"},"nodeType":"YulFunctionCall","src":"58378:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"58362:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"58448:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"58466:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"58471:4:67","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"58462:3:67"},"nodeType":"YulFunctionCall","src":"58462:14:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address","nodeType":"YulIdentifier","src":"58414:33:67"},"nodeType":"YulFunctionCall","src":"58414:63:67"},"nodeType":"YulExpressionStatement","src":"58414:63:67"}]},{"nodeType":"YulAssignment","src":"58497:11:67","value":{"name":"tail","nodeType":"YulIdentifier","src":"58504:4:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"58497:3:67"}]}]},"name":"abi_encode_t_struct$_Query_$7991_memory_ptr_to_t_struct$_Query_$7991_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"57748:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"57755:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"57764:3:67","type":""}],"src":"57649:865:67"},{"body":{"nodeType":"YulBlock","src":"58680:947:67","statements":[{"nodeType":"YulVariableDeclaration","src":"58690:26:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"58706:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"58711:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"58702:3:67"},"nodeType":"YulFunctionCall","src":"58702:14:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"58694:4:67","type":""}]},{"nodeType":"YulBlock","src":"58726:187:67","statements":[{"nodeType":"YulVariableDeclaration","src":"58761:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"58791:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"58798:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"58787:3:67"},"nodeType":"YulFunctionCall","src":"58787:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"58781:5:67"},"nodeType":"YulFunctionCall","src":"58781:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"58765:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"58874:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"58892:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"58897:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"58888:3:67"},"nodeType":"YulFunctionCall","src":"58888:14:67"}],"functionName":{"name":"abi_encode_t_contract$_IWitnetRequest_$7510_to_t_address","nodeType":"YulIdentifier","src":"58817:56:67"},"nodeType":"YulFunctionCall","src":"58817:86:67"},"nodeType":"YulExpressionStatement","src":"58817:86:67"}]},{"nodeType":"YulBlock","src":"58923:169:67","statements":[{"nodeType":"YulVariableDeclaration","src":"58963:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"58993:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"59000:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"58989:3:67"},"nodeType":"YulFunctionCall","src":"58989:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"58983:5:67"},"nodeType":"YulFunctionCall","src":"58983:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"58967:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"59053:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"59071:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"59076:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"59067:3:67"},"nodeType":"YulFunctionCall","src":"59067:14:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address","nodeType":"YulIdentifier","src":"59019:33:67"},"nodeType":"YulFunctionCall","src":"59019:63:67"},"nodeType":"YulExpressionStatement","src":"59019:63:67"}]},{"nodeType":"YulBlock","src":"59102:164:67","statements":[{"nodeType":"YulVariableDeclaration","src":"59137:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"59167:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"59174:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"59163:3:67"},"nodeType":"YulFunctionCall","src":"59163:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"59157:5:67"},"nodeType":"YulFunctionCall","src":"59157:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"59141:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"59227:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"59245:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"59250:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"59241:3:67"},"nodeType":"YulFunctionCall","src":"59241:14:67"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulIdentifier","src":"59193:33:67"},"nodeType":"YulFunctionCall","src":"59193:63:67"},"nodeType":"YulExpressionStatement","src":"59193:63:67"}]},{"nodeType":"YulBlock","src":"59276:168:67","statements":[{"nodeType":"YulVariableDeclaration","src":"59315:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"59345:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"59352:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"59341:3:67"},"nodeType":"YulFunctionCall","src":"59341:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"59335:5:67"},"nodeType":"YulFunctionCall","src":"59335:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"59319:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"59405:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"59423:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"59428:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"59419:3:67"},"nodeType":"YulFunctionCall","src":"59419:14:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"59371:33:67"},"nodeType":"YulFunctionCall","src":"59371:63:67"},"nodeType":"YulExpressionStatement","src":"59371:63:67"}]},{"nodeType":"YulBlock","src":"59454:166:67","statements":[{"nodeType":"YulVariableDeclaration","src":"59491:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"59521:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"59528:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"59517:3:67"},"nodeType":"YulFunctionCall","src":"59517:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"59511:5:67"},"nodeType":"YulFunctionCall","src":"59511:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"59495:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"59581:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"59599:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"59604:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"59595:3:67"},"nodeType":"YulFunctionCall","src":"59595:14:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"59547:33:67"},"nodeType":"YulFunctionCall","src":"59547:63:67"},"nodeType":"YulExpressionStatement","src":"59547:63:67"}]}]},"name":"abi_encode_t_struct$_Request_$8008_memory_ptr_to_t_struct$_Request_$8008_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"58667:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"58674:3:67","type":""}],"src":"58574:1053:67"},{"body":{"nodeType":"YulBlock","src":"59803:947:67","statements":[{"nodeType":"YulVariableDeclaration","src":"59813:26:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"59829:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"59834:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"59825:3:67"},"nodeType":"YulFunctionCall","src":"59825:14:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"59817:4:67","type":""}]},{"nodeType":"YulBlock","src":"59849:187:67","statements":[{"nodeType":"YulVariableDeclaration","src":"59884:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"59914:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"59921:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"59910:3:67"},"nodeType":"YulFunctionCall","src":"59910:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"59904:5:67"},"nodeType":"YulFunctionCall","src":"59904:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"59888:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"59997:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"60015:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"60020:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"60011:3:67"},"nodeType":"YulFunctionCall","src":"60011:14:67"}],"functionName":{"name":"abi_encode_t_contract$_IWitnetRequest_$7510_to_t_address","nodeType":"YulIdentifier","src":"59940:56:67"},"nodeType":"YulFunctionCall","src":"59940:86:67"},"nodeType":"YulExpressionStatement","src":"59940:86:67"}]},{"nodeType":"YulBlock","src":"60046:169:67","statements":[{"nodeType":"YulVariableDeclaration","src":"60086:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"60116:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"60123:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"60112:3:67"},"nodeType":"YulFunctionCall","src":"60112:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"60106:5:67"},"nodeType":"YulFunctionCall","src":"60106:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"60090:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"60176:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"60194:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"60199:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"60190:3:67"},"nodeType":"YulFunctionCall","src":"60190:14:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address","nodeType":"YulIdentifier","src":"60142:33:67"},"nodeType":"YulFunctionCall","src":"60142:63:67"},"nodeType":"YulExpressionStatement","src":"60142:63:67"}]},{"nodeType":"YulBlock","src":"60225:164:67","statements":[{"nodeType":"YulVariableDeclaration","src":"60260:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"60290:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"60297:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"60286:3:67"},"nodeType":"YulFunctionCall","src":"60286:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"60280:5:67"},"nodeType":"YulFunctionCall","src":"60280:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"60264:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"60350:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"60368:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"60373:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"60364:3:67"},"nodeType":"YulFunctionCall","src":"60364:14:67"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulIdentifier","src":"60316:33:67"},"nodeType":"YulFunctionCall","src":"60316:63:67"},"nodeType":"YulExpressionStatement","src":"60316:63:67"}]},{"nodeType":"YulBlock","src":"60399:168:67","statements":[{"nodeType":"YulVariableDeclaration","src":"60438:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"60468:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"60475:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"60464:3:67"},"nodeType":"YulFunctionCall","src":"60464:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"60458:5:67"},"nodeType":"YulFunctionCall","src":"60458:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"60442:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"60528:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"60546:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"60551:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"60542:3:67"},"nodeType":"YulFunctionCall","src":"60542:14:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"60494:33:67"},"nodeType":"YulFunctionCall","src":"60494:63:67"},"nodeType":"YulExpressionStatement","src":"60494:63:67"}]},{"nodeType":"YulBlock","src":"60577:166:67","statements":[{"nodeType":"YulVariableDeclaration","src":"60614:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"60644:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"60651:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"60640:3:67"},"nodeType":"YulFunctionCall","src":"60640:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"60634:5:67"},"nodeType":"YulFunctionCall","src":"60634:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"60618:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"60704:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"60722:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"60727:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"60718:3:67"},"nodeType":"YulFunctionCall","src":"60718:14:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"60670:33:67"},"nodeType":"YulFunctionCall","src":"60670:63:67"},"nodeType":"YulExpressionStatement","src":"60670:63:67"}]}]},"name":"abi_encode_t_struct$_Request_$8008_memory_ptr_to_t_struct$_Request_$8008_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"59790:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"59797:3:67","type":""}],"src":"59687:1063:67"},{"body":{"nodeType":"YulBlock","src":"60928:846:67","statements":[{"nodeType":"YulVariableDeclaration","src":"60938:26:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"60954:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"60959:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"60950:3:67"},"nodeType":"YulFunctionCall","src":"60950:14:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"60942:4:67","type":""}]},{"nodeType":"YulBlock","src":"60974:168:67","statements":[{"nodeType":"YulVariableDeclaration","src":"61013:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"61043:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"61050:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"61039:3:67"},"nodeType":"YulFunctionCall","src":"61039:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"61033:5:67"},"nodeType":"YulFunctionCall","src":"61033:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"61017:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"61103:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"61121:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"61126:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"61117:3:67"},"nodeType":"YulFunctionCall","src":"61117:14:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address","nodeType":"YulIdentifier","src":"61069:33:67"},"nodeType":"YulFunctionCall","src":"61069:63:67"},"nodeType":"YulExpressionStatement","src":"61069:63:67"}]},{"nodeType":"YulBlock","src":"61152:169:67","statements":[{"nodeType":"YulVariableDeclaration","src":"61192:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"61222:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"61229:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"61218:3:67"},"nodeType":"YulFunctionCall","src":"61218:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"61212:5:67"},"nodeType":"YulFunctionCall","src":"61212:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"61196:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"61282:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"61300:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"61305:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"61296:3:67"},"nodeType":"YulFunctionCall","src":"61296:14:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"61248:33:67"},"nodeType":"YulFunctionCall","src":"61248:63:67"},"nodeType":"YulExpressionStatement","src":"61248:63:67"}]},{"nodeType":"YulBlock","src":"61331:168:67","statements":[{"nodeType":"YulVariableDeclaration","src":"61370:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"61400:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"61407:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"61396:3:67"},"nodeType":"YulFunctionCall","src":"61396:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"61390:5:67"},"nodeType":"YulFunctionCall","src":"61390:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"61374:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"61460:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"61478:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"61483:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"61474:3:67"},"nodeType":"YulFunctionCall","src":"61474:14:67"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulIdentifier","src":"61426:33:67"},"nodeType":"YulFunctionCall","src":"61426:63:67"},"nodeType":"YulExpressionStatement","src":"61426:63:67"}]},{"nodeType":"YulBlock","src":"61509:238:67","statements":[{"nodeType":"YulVariableDeclaration","src":"61549:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"61579:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"61586:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"61575:3:67"},"nodeType":"YulFunctionCall","src":"61575:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"61569:5:67"},"nodeType":"YulFunctionCall","src":"61569:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"61553:12:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"61617:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"61622:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"61613:3:67"},"nodeType":"YulFunctionCall","src":"61613:14:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"61633:4:67"},{"name":"pos","nodeType":"YulIdentifier","src":"61639:3:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"61629:3:67"},"nodeType":"YulFunctionCall","src":"61629:14:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"61606:6:67"},"nodeType":"YulFunctionCall","src":"61606:38:67"},"nodeType":"YulExpressionStatement","src":"61606:38:67"},{"nodeType":"YulAssignment","src":"61657:79:67","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"61717:12:67"},{"name":"tail","nodeType":"YulIdentifier","src":"61731:4:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"61665:51:67"},"nodeType":"YulFunctionCall","src":"61665:71:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"61657:4:67"}]}]},{"nodeType":"YulAssignment","src":"61757:11:67","value":{"name":"tail","nodeType":"YulIdentifier","src":"61764:4:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"61757:3:67"}]}]},"name":"abi_encode_t_struct$_Response_$8017_memory_ptr_to_t_struct$_Response_$8017_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"60907:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"60914:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"60923:3:67","type":""}],"src":"60812:962:67"},{"body":{"nodeType":"YulBlock","src":"61962:846:67","statements":[{"nodeType":"YulVariableDeclaration","src":"61972:26:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"61988:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"61993:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"61984:3:67"},"nodeType":"YulFunctionCall","src":"61984:14:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"61976:4:67","type":""}]},{"nodeType":"YulBlock","src":"62008:168:67","statements":[{"nodeType":"YulVariableDeclaration","src":"62047:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"62077:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"62084:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"62073:3:67"},"nodeType":"YulFunctionCall","src":"62073:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"62067:5:67"},"nodeType":"YulFunctionCall","src":"62067:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"62051:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"62137:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"62155:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"62160:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"62151:3:67"},"nodeType":"YulFunctionCall","src":"62151:14:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address","nodeType":"YulIdentifier","src":"62103:33:67"},"nodeType":"YulFunctionCall","src":"62103:63:67"},"nodeType":"YulExpressionStatement","src":"62103:63:67"}]},{"nodeType":"YulBlock","src":"62186:169:67","statements":[{"nodeType":"YulVariableDeclaration","src":"62226:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"62256:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"62263:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"62252:3:67"},"nodeType":"YulFunctionCall","src":"62252:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"62246:5:67"},"nodeType":"YulFunctionCall","src":"62246:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"62230:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"62316:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"62334:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"62339:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"62330:3:67"},"nodeType":"YulFunctionCall","src":"62330:14:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"62282:33:67"},"nodeType":"YulFunctionCall","src":"62282:63:67"},"nodeType":"YulExpressionStatement","src":"62282:63:67"}]},{"nodeType":"YulBlock","src":"62365:168:67","statements":[{"nodeType":"YulVariableDeclaration","src":"62404:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"62434:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"62441:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"62430:3:67"},"nodeType":"YulFunctionCall","src":"62430:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"62424:5:67"},"nodeType":"YulFunctionCall","src":"62424:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"62408:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"62494:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"62512:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"62517:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"62508:3:67"},"nodeType":"YulFunctionCall","src":"62508:14:67"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulIdentifier","src":"62460:33:67"},"nodeType":"YulFunctionCall","src":"62460:63:67"},"nodeType":"YulExpressionStatement","src":"62460:63:67"}]},{"nodeType":"YulBlock","src":"62543:238:67","statements":[{"nodeType":"YulVariableDeclaration","src":"62583:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"62613:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"62620:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"62609:3:67"},"nodeType":"YulFunctionCall","src":"62609:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"62603:5:67"},"nodeType":"YulFunctionCall","src":"62603:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"62587:12:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"62651:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"62656:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"62647:3:67"},"nodeType":"YulFunctionCall","src":"62647:14:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"62667:4:67"},{"name":"pos","nodeType":"YulIdentifier","src":"62673:3:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"62663:3:67"},"nodeType":"YulFunctionCall","src":"62663:14:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"62640:6:67"},"nodeType":"YulFunctionCall","src":"62640:38:67"},"nodeType":"YulExpressionStatement","src":"62640:38:67"},{"nodeType":"YulAssignment","src":"62691:79:67","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"62751:12:67"},{"name":"tail","nodeType":"YulIdentifier","src":"62765:4:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"62699:51:67"},"nodeType":"YulFunctionCall","src":"62699:71:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"62691:4:67"}]}]},{"nodeType":"YulAssignment","src":"62791:11:67","value":{"name":"tail","nodeType":"YulIdentifier","src":"62798:4:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"62791:3:67"}]}]},"name":"abi_encode_t_struct$_Response_$8017_memory_ptr_to_t_struct$_Response_$8017_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"61941:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"61948:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"61957:3:67","type":""}],"src":"61836:972:67"},{"body":{"nodeType":"YulBlock","src":"62988:504:67","statements":[{"nodeType":"YulVariableDeclaration","src":"62998:26:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"63014:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"63019:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"63010:3:67"},"nodeType":"YulFunctionCall","src":"63010:14:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"63002:4:67","type":""}]},{"nodeType":"YulBlock","src":"63034:161:67","statements":[{"nodeType":"YulVariableDeclaration","src":"63072:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"63102:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"63109:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"63098:3:67"},"nodeType":"YulFunctionCall","src":"63098:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"63092:5:67"},"nodeType":"YulFunctionCall","src":"63092:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"63076:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"63156:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"63174:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"63179:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"63170:3:67"},"nodeType":"YulFunctionCall","src":"63170:14:67"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool","nodeType":"YulIdentifier","src":"63128:27:67"},"nodeType":"YulFunctionCall","src":"63128:57:67"},"nodeType":"YulExpressionStatement","src":"63128:57:67"}]},{"nodeType":"YulBlock","src":"63205:260:67","statements":[{"nodeType":"YulVariableDeclaration","src":"63241:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"63271:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"63278:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"63267:3:67"},"nodeType":"YulFunctionCall","src":"63267:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"63261:5:67"},"nodeType":"YulFunctionCall","src":"63261:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"63245:12:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"63309:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"63314:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"63305:3:67"},"nodeType":"YulFunctionCall","src":"63305:14:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"63325:4:67"},{"name":"pos","nodeType":"YulIdentifier","src":"63331:3:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"63321:3:67"},"nodeType":"YulFunctionCall","src":"63321:14:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"63298:6:67"},"nodeType":"YulFunctionCall","src":"63298:38:67"},"nodeType":"YulExpressionStatement","src":"63298:38:67"},{"nodeType":"YulAssignment","src":"63349:105:67","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"63435:12:67"},{"name":"tail","nodeType":"YulIdentifier","src":"63449:4:67"}],"functionName":{"name":"abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr","nodeType":"YulIdentifier","src":"63357:77:67"},"nodeType":"YulFunctionCall","src":"63357:97:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"63349:4:67"}]}]},{"nodeType":"YulAssignment","src":"63475:11:67","value":{"name":"tail","nodeType":"YulIdentifier","src":"63482:4:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"63475:3:67"}]}]},"name":"abi_encode_t_struct$_Result_$8023_memory_ptr_to_t_struct$_Result_$8023_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"62967:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"62974:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"62983:3:67","type":""}],"src":"62866:626:67"},{"body":{"nodeType":"YulBlock","src":"63680:520:67","statements":[{"nodeType":"YulVariableDeclaration","src":"63690:26:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"63706:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"63711:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"63702:3:67"},"nodeType":"YulFunctionCall","src":"63702:14:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"63694:4:67","type":""}]},{"nodeType":"YulBlock","src":"63726:169:67","statements":[{"nodeType":"YulVariableDeclaration","src":"63764:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"63794:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"63801:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"63790:3:67"},"nodeType":"YulFunctionCall","src":"63790:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"63784:5:67"},"nodeType":"YulFunctionCall","src":"63784:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"63768:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"63856:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"63874:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"63879:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"63870:3:67"},"nodeType":"YulFunctionCall","src":"63870:14:67"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_library","nodeType":"YulIdentifier","src":"63820:35:67"},"nodeType":"YulFunctionCall","src":"63820:65:67"},"nodeType":"YulExpressionStatement","src":"63820:65:67"}]},{"nodeType":"YulBlock","src":"63905:268:67","statements":[{"nodeType":"YulVariableDeclaration","src":"63941:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"63971:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"63978:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"63967:3:67"},"nodeType":"YulFunctionCall","src":"63967:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"63961:5:67"},"nodeType":"YulFunctionCall","src":"63961:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"63945:12:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"64009:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"64014:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"64005:3:67"},"nodeType":"YulFunctionCall","src":"64005:14:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"64025:4:67"},{"name":"pos","nodeType":"YulIdentifier","src":"64031:3:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"64021:3:67"},"nodeType":"YulFunctionCall","src":"64021:14:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"63998:6:67"},"nodeType":"YulFunctionCall","src":"63998:38:67"},"nodeType":"YulExpressionStatement","src":"63998:38:67"},{"nodeType":"YulAssignment","src":"64049:113:67","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"64143:12:67"},{"name":"tail","nodeType":"YulIdentifier","src":"64157:4:67"}],"functionName":{"name":"abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_library","nodeType":"YulIdentifier","src":"64057:85:67"},"nodeType":"YulFunctionCall","src":"64057:105:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"64049:4:67"}]}]},{"nodeType":"YulAssignment","src":"64183:11:67","value":{"name":"tail","nodeType":"YulIdentifier","src":"64190:4:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"64183:3:67"}]}]},"name":"abi_encode_t_struct$_Result_$8023_memory_ptr_to_t_struct$_Result_$8023_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"63659:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"63666:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"63675:3:67","type":""}],"src":"63550:650:67"},{"body":{"nodeType":"YulBlock","src":"64261:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"64278:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"64301:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"64283:17:67"},"nodeType":"YulFunctionCall","src":"64283:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"64271:6:67"},"nodeType":"YulFunctionCall","src":"64271:37:67"},"nodeType":"YulExpressionStatement","src":"64271:37:67"}]},"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"64249:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"64256:3:67","type":""}],"src":"64206:108:67"},{"body":{"nodeType":"YulBlock","src":"64385:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"64402:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"64425:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"64407:17:67"},"nodeType":"YulFunctionCall","src":"64407:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"64395:6:67"},"nodeType":"YulFunctionCall","src":"64395:37:67"},"nodeType":"YulExpressionStatement","src":"64395:37:67"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"64373:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"64380:3:67","type":""}],"src":"64320:118:67"},{"body":{"nodeType":"YulBlock","src":"64497:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"64514:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"64536:5:67"}],"functionName":{"name":"cleanup_t_uint32","nodeType":"YulIdentifier","src":"64519:16:67"},"nodeType":"YulFunctionCall","src":"64519:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"64507:6:67"},"nodeType":"YulFunctionCall","src":"64507:36:67"},"nodeType":"YulExpressionStatement","src":"64507:36:67"}]},"name":"abi_encode_t_uint32_to_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"64485:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"64492:3:67","type":""}],"src":"64444:105:67"},{"body":{"nodeType":"YulBlock","src":"64616:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"64633:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"64655:5:67"}],"functionName":{"name":"cleanup_t_uint32","nodeType":"YulIdentifier","src":"64638:16:67"},"nodeType":"YulFunctionCall","src":"64638:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"64626:6:67"},"nodeType":"YulFunctionCall","src":"64626:36:67"},"nodeType":"YulExpressionStatement","src":"64626:36:67"}]},"name":"abi_encode_t_uint32_to_t_uint32_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"64604:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"64611:3:67","type":""}],"src":"64555:113:67"},{"body":{"nodeType":"YulBlock","src":"64727:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"64744:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"64766:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"64749:16:67"},"nodeType":"YulFunctionCall","src":"64749:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"64737:6:67"},"nodeType":"YulFunctionCall","src":"64737:36:67"},"nodeType":"YulExpressionStatement","src":"64737:36:67"}]},"name":"abi_encode_t_uint64_to_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"64715:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"64722:3:67","type":""}],"src":"64674:105:67"},{"body":{"nodeType":"YulBlock","src":"64848:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"64865:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"64887:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"64870:16:67"},"nodeType":"YulFunctionCall","src":"64870:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"64858:6:67"},"nodeType":"YulFunctionCall","src":"64858:36:67"},"nodeType":"YulExpressionStatement","src":"64858:36:67"}]},"name":"abi_encode_t_uint64_to_t_uint64_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"64836:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"64843:3:67","type":""}],"src":"64785:115:67"},{"body":{"nodeType":"YulBlock","src":"64967:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"64984:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"65006:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"64989:16:67"},"nodeType":"YulFunctionCall","src":"64989:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"64977:6:67"},"nodeType":"YulFunctionCall","src":"64977:36:67"},"nodeType":"YulExpressionStatement","src":"64977:36:67"}]},"name":"abi_encode_t_uint64_to_t_uint64_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"64955:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"64962:3:67","type":""}],"src":"64906:113:67"},{"body":{"nodeType":"YulBlock","src":"65076:51:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"65093:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"65114:5:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"65098:15:67"},"nodeType":"YulFunctionCall","src":"65098:22:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"65086:6:67"},"nodeType":"YulFunctionCall","src":"65086:35:67"},"nodeType":"YulExpressionStatement","src":"65086:35:67"}]},"name":"abi_encode_t_uint8_to_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"65064:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"65071:3:67","type":""}],"src":"65025:102:67"},{"body":{"nodeType":"YulBlock","src":"65192:51:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"65209:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"65230:5:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"65214:15:67"},"nodeType":"YulFunctionCall","src":"65214:22:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"65202:6:67"},"nodeType":"YulFunctionCall","src":"65202:35:67"},"nodeType":"YulExpressionStatement","src":"65202:35:67"}]},"name":"abi_encode_t_uint8_to_t_uint8_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"65180:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"65187:3:67","type":""}],"src":"65133:110:67"},{"body":{"nodeType":"YulBlock","src":"65383:137:67","statements":[{"nodeType":"YulAssignment","src":"65394:100:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"65481:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"65490:3:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"65401:79:67"},"nodeType":"YulFunctionCall","src":"65401:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"65394:3:67"}]},{"nodeType":"YulAssignment","src":"65504:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"65511:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"65504:3:67"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"65362:3:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"65368:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"65379:3:67","type":""}],"src":"65249:271:67"},{"body":{"nodeType":"YulBlock","src":"65624:124:67","statements":[{"nodeType":"YulAssignment","src":"65634:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"65646:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"65657:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"65642:3:67"},"nodeType":"YulFunctionCall","src":"65642:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"65634:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"65714:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"65727:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"65738:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"65723:3:67"},"nodeType":"YulFunctionCall","src":"65723:17:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"65670:43:67"},"nodeType":"YulFunctionCall","src":"65670:71:67"},"nodeType":"YulExpressionStatement","src":"65670:71:67"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"65596:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"65608:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"65619:4:67","type":""}],"src":"65526:222:67"},{"body":{"nodeType":"YulBlock","src":"65902:225:67","statements":[{"nodeType":"YulAssignment","src":"65912:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"65924:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"65935:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"65920:3:67"},"nodeType":"YulFunctionCall","src":"65920:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"65912:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"65959:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"65970:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"65955:3:67"},"nodeType":"YulFunctionCall","src":"65955:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"65978:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"65984:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"65974:3:67"},"nodeType":"YulFunctionCall","src":"65974:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"65948:6:67"},"nodeType":"YulFunctionCall","src":"65948:47:67"},"nodeType":"YulExpressionStatement","src":"65948:47:67"},{"nodeType":"YulAssignment","src":"66004:116:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"66106:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"66115:4:67"}],"functionName":{"name":"abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"66012:93:67"},"nodeType":"YulFunctionCall","src":"66012:108:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"66004:4:67"}]}]},"name":"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"65874:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"65886:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"65897:4:67","type":""}],"src":"65754:373:67"},{"body":{"nodeType":"YulBlock","src":"66279:223:67","statements":[{"nodeType":"YulAssignment","src":"66289:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"66301:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"66312:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"66297:3:67"},"nodeType":"YulFunctionCall","src":"66297:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"66289:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"66336:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"66347:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"66332:3:67"},"nodeType":"YulFunctionCall","src":"66332:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"66355:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"66361:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"66351:3:67"},"nodeType":"YulFunctionCall","src":"66351:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"66325:6:67"},"nodeType":"YulFunctionCall","src":"66325:47:67"},"nodeType":"YulExpressionStatement","src":"66325:47:67"},{"nodeType":"YulAssignment","src":"66381:114:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"66481:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"66490:4:67"}],"functionName":{"name":"abi_encode_t_array$_t_int128_$dyn_memory_ptr_to_t_array$_t_int128_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"66389:91:67"},"nodeType":"YulFunctionCall","src":"66389:106:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"66381:4:67"}]}]},"name":"abi_encode_tuple_t_array$_t_int128_$dyn_memory_ptr__to_t_array$_t_int128_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"66251:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"66263:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"66274:4:67","type":""}],"src":"66133:369:67"},{"body":{"nodeType":"YulBlock","src":"66652:221:67","statements":[{"nodeType":"YulAssignment","src":"66662:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"66674:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"66685:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"66670:3:67"},"nodeType":"YulFunctionCall","src":"66670:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"66662:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"66709:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"66720:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"66705:3:67"},"nodeType":"YulFunctionCall","src":"66705:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"66728:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"66734:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"66724:3:67"},"nodeType":"YulFunctionCall","src":"66724:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"66698:6:67"},"nodeType":"YulFunctionCall","src":"66698:47:67"},"nodeType":"YulExpressionStatement","src":"66698:47:67"},{"nodeType":"YulAssignment","src":"66754:112:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"66852:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"66861:4:67"}],"functionName":{"name":"abi_encode_t_array$_t_int32_$dyn_memory_ptr_to_t_array$_t_int32_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"66762:89:67"},"nodeType":"YulFunctionCall","src":"66762:104:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"66754:4:67"}]}]},"name":"abi_encode_tuple_t_array$_t_int32_$dyn_memory_ptr__to_t_array$_t_int32_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"66624:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"66636:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"66647:4:67","type":""}],"src":"66508:365:67"},{"body":{"nodeType":"YulBlock","src":"67047:245:67","statements":[{"nodeType":"YulAssignment","src":"67057:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"67069:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"67080:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"67065:3:67"},"nodeType":"YulFunctionCall","src":"67065:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"67057:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"67104:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"67115:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"67100:3:67"},"nodeType":"YulFunctionCall","src":"67100:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"67123:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"67129:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"67119:3:67"},"nodeType":"YulFunctionCall","src":"67119:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"67093:6:67"},"nodeType":"YulFunctionCall","src":"67093:47:67"},"nodeType":"YulExpressionStatement","src":"67093:47:67"},{"nodeType":"YulAssignment","src":"67149:136:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"67271:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"67280:4:67"}],"functionName":{"name":"abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"67157:113:67"},"nodeType":"YulFunctionCall","src":"67157:128:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"67149:4:67"}]}]},"name":"abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"67019:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"67031:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"67042:4:67","type":""}],"src":"66879:413:67"},{"body":{"nodeType":"YulBlock","src":"67444:223:67","statements":[{"nodeType":"YulAssignment","src":"67454:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"67466:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"67477:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"67462:3:67"},"nodeType":"YulFunctionCall","src":"67462:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"67454:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"67501:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"67512:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"67497:3:67"},"nodeType":"YulFunctionCall","src":"67497:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"67520:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"67526:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"67516:3:67"},"nodeType":"YulFunctionCall","src":"67516:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"67490:6:67"},"nodeType":"YulFunctionCall","src":"67490:47:67"},"nodeType":"YulExpressionStatement","src":"67490:47:67"},{"nodeType":"YulAssignment","src":"67546:114:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"67646:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"67655:4:67"}],"functionName":{"name":"abi_encode_t_array$_t_uint64_$dyn_memory_ptr_to_t_array$_t_uint64_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"67554:91:67"},"nodeType":"YulFunctionCall","src":"67554:106:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"67546:4:67"}]}]},"name":"abi_encode_tuple_t_array$_t_uint64_$dyn_memory_ptr__to_t_array$_t_uint64_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"67416:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"67428:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"67439:4:67","type":""}],"src":"67298:369:67"},{"body":{"nodeType":"YulBlock","src":"67765:118:67","statements":[{"nodeType":"YulAssignment","src":"67775:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"67787:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"67798:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"67783:3:67"},"nodeType":"YulFunctionCall","src":"67783:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"67775:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"67849:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"67862:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"67873:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"67858:3:67"},"nodeType":"YulFunctionCall","src":"67858:17:67"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulIdentifier","src":"67811:37:67"},"nodeType":"YulFunctionCall","src":"67811:65:67"},"nodeType":"YulExpressionStatement","src":"67811:65:67"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"67737:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"67749:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"67760:4:67","type":""}],"src":"67673:210:67"},{"body":{"nodeType":"YulBlock","src":"67987:124:67","statements":[{"nodeType":"YulAssignment","src":"67997:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"68009:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"68020:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"68005:3:67"},"nodeType":"YulFunctionCall","src":"68005:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"67997:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"68077:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"68090:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"68101:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"68086:3:67"},"nodeType":"YulFunctionCall","src":"68086:17:67"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"68033:43:67"},"nodeType":"YulFunctionCall","src":"68033:71:67"},"nodeType":"YulExpressionStatement","src":"68033:71:67"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"67959:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"67971:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"67982:4:67","type":""}],"src":"67889:222:67"},{"body":{"nodeType":"YulBlock","src":"68241:201:67","statements":[{"nodeType":"YulAssignment","src":"68251:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"68263:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"68274:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"68259:3:67"},"nodeType":"YulFunctionCall","src":"68259:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"68251:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"68298:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"68309:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"68294:3:67"},"nodeType":"YulFunctionCall","src":"68294:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"68317:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"68323:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"68313:3:67"},"nodeType":"YulFunctionCall","src":"68313:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"68287:6:67"},"nodeType":"YulFunctionCall","src":"68287:47:67"},"nodeType":"YulExpressionStatement","src":"68287:47:67"},{"nodeType":"YulAssignment","src":"68343:92:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"68421:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"68430:4:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"68351:69:67"},"nodeType":"YulFunctionCall","src":"68351:84:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"68343:4:67"}]}]},"name":"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"68213:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"68225:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"68236:4:67","type":""}],"src":"68117:325:67"},{"body":{"nodeType":"YulBlock","src":"68564:193:67","statements":[{"nodeType":"YulAssignment","src":"68574:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"68586:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"68597:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"68582:3:67"},"nodeType":"YulFunctionCall","src":"68582:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"68574:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"68621:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"68632:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"68617:3:67"},"nodeType":"YulFunctionCall","src":"68617:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"68640:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"68646:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"68636:3:67"},"nodeType":"YulFunctionCall","src":"68636:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"68610:6:67"},"nodeType":"YulFunctionCall","src":"68610:47:67"},"nodeType":"YulExpressionStatement","src":"68610:47:67"},{"nodeType":"YulAssignment","src":"68666:84:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"68736:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"68745:4:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"68674:61:67"},"nodeType":"YulFunctionCall","src":"68674:76:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"68666:4:67"}]}]},"name":"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"68536:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"68548:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"68559:4:67","type":""}],"src":"68448:309:67"},{"body":{"nodeType":"YulBlock","src":"68884:198:67","statements":[{"nodeType":"YulAssignment","src":"68894:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"68906:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"68917:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"68902:3:67"},"nodeType":"YulFunctionCall","src":"68902:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"68894:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"68941:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"68952:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"68937:3:67"},"nodeType":"YulFunctionCall","src":"68937:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"68960:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"68966:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"68956:3:67"},"nodeType":"YulFunctionCall","src":"68956:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"68930:6:67"},"nodeType":"YulFunctionCall","src":"68930:47:67"},"nodeType":"YulExpressionStatement","src":"68930:47:67"},{"nodeType":"YulAssignment","src":"68986:89:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"69061:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"69070:4:67"}],"functionName":{"name":"abi_encode_t_bytes_storage_to_t_bytes_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"68994:66:67"},"nodeType":"YulFunctionCall","src":"68994:81:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"68986:4:67"}]}]},"name":"abi_encode_tuple_t_bytes_storage__to_t_bytes_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"68856:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"68868:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"68879:4:67","type":""}],"src":"68763:319:67"},{"body":{"nodeType":"YulBlock","src":"69201:139:67","statements":[{"nodeType":"YulAssignment","src":"69211:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"69223:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"69234:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"69219:3:67"},"nodeType":"YulFunctionCall","src":"69219:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"69211:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"69306:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"69319:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"69330:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"69315:3:67"},"nodeType":"YulFunctionCall","src":"69315:17:67"}],"functionName":{"name":"abi_encode_t_contract$_IERC20_$7292_to_t_address_fromStack","nodeType":"YulIdentifier","src":"69247:58:67"},"nodeType":"YulFunctionCall","src":"69247:86:67"},"nodeType":"YulExpressionStatement","src":"69247:86:67"}]},"name":"abi_encode_tuple_t_contract$_IERC20_$7292__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"69173:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"69185:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"69196:4:67","type":""}],"src":"69088:252:67"},{"body":{"nodeType":"YulBlock","src":"69457:137:67","statements":[{"nodeType":"YulAssignment","src":"69467:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"69479:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"69490:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"69475:3:67"},"nodeType":"YulFunctionCall","src":"69475:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"69467:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"69560:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"69573:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"69584:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"69569:3:67"},"nodeType":"YulFunctionCall","src":"69569:17:67"}],"functionName":{"name":"abi_encode_t_enum$_ErrorCodes_$8299_to_t_uint8_fromStack","nodeType":"YulIdentifier","src":"69503:56:67"},"nodeType":"YulFunctionCall","src":"69503:84:67"},"nodeType":"YulExpressionStatement","src":"69503:84:67"}]},"name":"abi_encode_tuple_t_enum$_ErrorCodes_$8299__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"69429:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"69441:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"69452:4:67","type":""}],"src":"69346:248:67"},{"body":{"nodeType":"YulBlock","src":"69759:290:67","statements":[{"nodeType":"YulAssignment","src":"69769:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"69781:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"69792:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"69777:3:67"},"nodeType":"YulFunctionCall","src":"69777:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"69769:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"69862:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"69875:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"69886:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"69871:3:67"},"nodeType":"YulFunctionCall","src":"69871:17:67"}],"functionName":{"name":"abi_encode_t_enum$_ErrorCodes_$8299_to_t_uint8_fromStack","nodeType":"YulIdentifier","src":"69805:56:67"},"nodeType":"YulFunctionCall","src":"69805:84:67"},"nodeType":"YulExpressionStatement","src":"69805:84:67"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"69910:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"69921:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"69906:3:67"},"nodeType":"YulFunctionCall","src":"69906:18:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"69930:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"69936:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"69926:3:67"},"nodeType":"YulFunctionCall","src":"69926:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"69899:6:67"},"nodeType":"YulFunctionCall","src":"69899:48:67"},"nodeType":"YulExpressionStatement","src":"69899:48:67"},{"nodeType":"YulAssignment","src":"69956:86:67","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"70028:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"70037:4:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"69964:63:67"},"nodeType":"YulFunctionCall","src":"69964:78:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"69956:4:67"}]}]},"name":"abi_encode_tuple_t_enum$_ErrorCodes_$8299_t_string_memory_ptr__to_t_uint8_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"69723:9:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"69735:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"69743:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"69754:4:67","type":""}],"src":"69600:449:67"},{"body":{"nodeType":"YulBlock","src":"70167:138:67","statements":[{"nodeType":"YulAssignment","src":"70177:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"70189:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"70200:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"70185:3:67"},"nodeType":"YulFunctionCall","src":"70185:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"70177:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"70271:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"70284:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"70295:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"70280:3:67"},"nodeType":"YulFunctionCall","src":"70280:17:67"}],"functionName":{"name":"abi_encode_t_enum$_QueryStatus_$7996_to_t_uint8_fromStack","nodeType":"YulIdentifier","src":"70213:57:67"},"nodeType":"YulFunctionCall","src":"70213:85:67"},"nodeType":"YulExpressionStatement","src":"70213:85:67"}]},"name":"abi_encode_tuple_t_enum$_QueryStatus_$7996__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"70139:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"70151:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"70162:4:67","type":""}],"src":"70055:250:67"},{"body":{"nodeType":"YulBlock","src":"70407:122:67","statements":[{"nodeType":"YulAssignment","src":"70417:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"70429:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"70440:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"70425:3:67"},"nodeType":"YulFunctionCall","src":"70425:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"70417:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"70495:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"70508:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"70519:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"70504:3:67"},"nodeType":"YulFunctionCall","src":"70504:17:67"}],"functionName":{"name":"abi_encode_t_int128_to_t_int128_fromStack","nodeType":"YulIdentifier","src":"70453:41:67"},"nodeType":"YulFunctionCall","src":"70453:69:67"},"nodeType":"YulExpressionStatement","src":"70453:69:67"}]},"name":"abi_encode_tuple_t_int128__to_t_int128__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"70379:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"70391:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"70402:4:67","type":""}],"src":"70311:218:67"},{"body":{"nodeType":"YulBlock","src":"70629:120:67","statements":[{"nodeType":"YulAssignment","src":"70639:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"70651:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"70662:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"70647:3:67"},"nodeType":"YulFunctionCall","src":"70647:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"70639:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"70715:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"70728:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"70739:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"70724:3:67"},"nodeType":"YulFunctionCall","src":"70724:17:67"}],"functionName":{"name":"abi_encode_t_int32_to_t_int32_fromStack","nodeType":"YulIdentifier","src":"70675:39:67"},"nodeType":"YulFunctionCall","src":"70675:67:67"},"nodeType":"YulExpressionStatement","src":"70675:67:67"}]},"name":"abi_encode_tuple_t_int32__to_t_int32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"70601:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"70613:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"70624:4:67","type":""}],"src":"70535:214:67"},{"body":{"nodeType":"YulBlock","src":"70873:195:67","statements":[{"nodeType":"YulAssignment","src":"70883:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"70895:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"70906:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"70891:3:67"},"nodeType":"YulFunctionCall","src":"70891:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"70883:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"70930:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"70941:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"70926:3:67"},"nodeType":"YulFunctionCall","src":"70926:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"70949:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"70955:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"70945:3:67"},"nodeType":"YulFunctionCall","src":"70945:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"70919:6:67"},"nodeType":"YulFunctionCall","src":"70919:47:67"},"nodeType":"YulExpressionStatement","src":"70919:47:67"},{"nodeType":"YulAssignment","src":"70975:86:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"71047:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"71056:4:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"70983:63:67"},"nodeType":"YulFunctionCall","src":"70983:78:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"70975:4:67"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"70845:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"70857:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"70868:4:67","type":""}],"src":"70755:313:67"},{"body":{"nodeType":"YulBlock","src":"71245:248:67","statements":[{"nodeType":"YulAssignment","src":"71255:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"71267:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"71278:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"71263:3:67"},"nodeType":"YulFunctionCall","src":"71263:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"71255:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"71302:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"71313:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"71298:3:67"},"nodeType":"YulFunctionCall","src":"71298:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"71321:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"71327:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"71317:3:67"},"nodeType":"YulFunctionCall","src":"71317:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"71291:6:67"},"nodeType":"YulFunctionCall","src":"71291:47:67"},"nodeType":"YulExpressionStatement","src":"71291:47:67"},{"nodeType":"YulAssignment","src":"71347:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"71481:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_0be555820c60b6124cd4a527104e7ed2ef896a14c9cdf1f4d0c1a79561ea22c4_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"71355:124:67"},"nodeType":"YulFunctionCall","src":"71355:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"71347:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_0be555820c60b6124cd4a527104e7ed2ef896a14c9cdf1f4d0c1a79561ea22c4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"71225:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"71240:4:67","type":""}],"src":"71074:419:67"},{"body":{"nodeType":"YulBlock","src":"71670:248:67","statements":[{"nodeType":"YulAssignment","src":"71680:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"71692:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"71703:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"71688:3:67"},"nodeType":"YulFunctionCall","src":"71688:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"71680:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"71727:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"71738:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"71723:3:67"},"nodeType":"YulFunctionCall","src":"71723:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"71746:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"71752:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"71742:3:67"},"nodeType":"YulFunctionCall","src":"71742:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"71716:6:67"},"nodeType":"YulFunctionCall","src":"71716:47:67"},"nodeType":"YulExpressionStatement","src":"71716:47:67"},{"nodeType":"YulAssignment","src":"71772:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"71906:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_0d0f3639c50be0afccc47d7224de7d8f86286c512c889d59db02617fd5eda150_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"71780:124:67"},"nodeType":"YulFunctionCall","src":"71780:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"71772:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_0d0f3639c50be0afccc47d7224de7d8f86286c512c889d59db02617fd5eda150__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"71650:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"71665:4:67","type":""}],"src":"71499:419:67"},{"body":{"nodeType":"YulBlock","src":"72095:248:67","statements":[{"nodeType":"YulAssignment","src":"72105:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"72117:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"72128:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"72113:3:67"},"nodeType":"YulFunctionCall","src":"72113:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"72105:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"72152:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"72163:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"72148:3:67"},"nodeType":"YulFunctionCall","src":"72148:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"72171:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"72177:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"72167:3:67"},"nodeType":"YulFunctionCall","src":"72167:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"72141:6:67"},"nodeType":"YulFunctionCall","src":"72141:47:67"},"nodeType":"YulExpressionStatement","src":"72141:47:67"},{"nodeType":"YulAssignment","src":"72197:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"72331:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_1f8274dcdd937f970d48bf777d3a3d5fbcf9897829d796148c2d8edcd419ec5d_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"72205:124:67"},"nodeType":"YulFunctionCall","src":"72205:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"72197:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_1f8274dcdd937f970d48bf777d3a3d5fbcf9897829d796148c2d8edcd419ec5d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"72075:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"72090:4:67","type":""}],"src":"71924:419:67"},{"body":{"nodeType":"YulBlock","src":"72520:248:67","statements":[{"nodeType":"YulAssignment","src":"72530:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"72542:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"72553:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"72538:3:67"},"nodeType":"YulFunctionCall","src":"72538:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"72530:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"72577:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"72588:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"72573:3:67"},"nodeType":"YulFunctionCall","src":"72573:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"72596:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"72602:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"72592:3:67"},"nodeType":"YulFunctionCall","src":"72592:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"72566:6:67"},"nodeType":"YulFunctionCall","src":"72566:47:67"},"nodeType":"YulExpressionStatement","src":"72566:47:67"},{"nodeType":"YulAssignment","src":"72622:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"72756:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_33e565b65d8aa6e9990eec2cc32f99865d7f76bbee3771b62789ab97e5a37d7f_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"72630:124:67"},"nodeType":"YulFunctionCall","src":"72630:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"72622:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_33e565b65d8aa6e9990eec2cc32f99865d7f76bbee3771b62789ab97e5a37d7f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"72500:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"72515:4:67","type":""}],"src":"72349:419:67"},{"body":{"nodeType":"YulBlock","src":"72945:248:67","statements":[{"nodeType":"YulAssignment","src":"72955:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"72967:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"72978:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"72963:3:67"},"nodeType":"YulFunctionCall","src":"72963:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"72955:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"73002:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"73013:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"72998:3:67"},"nodeType":"YulFunctionCall","src":"72998:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"73021:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"73027:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"73017:3:67"},"nodeType":"YulFunctionCall","src":"73017:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"72991:6:67"},"nodeType":"YulFunctionCall","src":"72991:47:67"},"nodeType":"YulExpressionStatement","src":"72991:47:67"},{"nodeType":"YulAssignment","src":"73047:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"73181:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_3d43510da44c3e08f6dfef5e320d0e99d425bf23f74114ae066f5af47319ad5c_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"73055:124:67"},"nodeType":"YulFunctionCall","src":"73055:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"73047:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_3d43510da44c3e08f6dfef5e320d0e99d425bf23f74114ae066f5af47319ad5c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"72925:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"72940:4:67","type":""}],"src":"72774:419:67"},{"body":{"nodeType":"YulBlock","src":"73370:248:67","statements":[{"nodeType":"YulAssignment","src":"73380:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"73392:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"73403:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"73388:3:67"},"nodeType":"YulFunctionCall","src":"73388:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"73380:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"73427:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"73438:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"73423:3:67"},"nodeType":"YulFunctionCall","src":"73423:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"73446:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"73452:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"73442:3:67"},"nodeType":"YulFunctionCall","src":"73442:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"73416:6:67"},"nodeType":"YulFunctionCall","src":"73416:47:67"},"nodeType":"YulExpressionStatement","src":"73416:47:67"},{"nodeType":"YulAssignment","src":"73472:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"73606:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_4425c56dbfedfa02467de27608a6ff1e4faacad72797eafb38bb660bf95f7eee_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"73480:124:67"},"nodeType":"YulFunctionCall","src":"73480:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"73472:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_4425c56dbfedfa02467de27608a6ff1e4faacad72797eafb38bb660bf95f7eee__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"73350:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"73365:4:67","type":""}],"src":"73199:419:67"},{"body":{"nodeType":"YulBlock","src":"73795:248:67","statements":[{"nodeType":"YulAssignment","src":"73805:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"73817:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"73828:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"73813:3:67"},"nodeType":"YulFunctionCall","src":"73813:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"73805:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"73852:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"73863:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"73848:3:67"},"nodeType":"YulFunctionCall","src":"73848:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"73871:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"73877:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"73867:3:67"},"nodeType":"YulFunctionCall","src":"73867:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"73841:6:67"},"nodeType":"YulFunctionCall","src":"73841:47:67"},"nodeType":"YulExpressionStatement","src":"73841:47:67"},{"nodeType":"YulAssignment","src":"73897:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"74031:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_48f3e667c3593a2e92c7dce9bfc9484f97112384c1450711c71171e05fb5759a_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"73905:124:67"},"nodeType":"YulFunctionCall","src":"73905:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"73897:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_48f3e667c3593a2e92c7dce9bfc9484f97112384c1450711c71171e05fb5759a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"73775:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"73790:4:67","type":""}],"src":"73624:419:67"},{"body":{"nodeType":"YulBlock","src":"74220:248:67","statements":[{"nodeType":"YulAssignment","src":"74230:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"74242:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"74253:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"74238:3:67"},"nodeType":"YulFunctionCall","src":"74238:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"74230:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"74277:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"74288:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"74273:3:67"},"nodeType":"YulFunctionCall","src":"74273:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"74296:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"74302:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"74292:3:67"},"nodeType":"YulFunctionCall","src":"74292:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"74266:6:67"},"nodeType":"YulFunctionCall","src":"74266:47:67"},"nodeType":"YulExpressionStatement","src":"74266:47:67"},{"nodeType":"YulAssignment","src":"74322:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"74456:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_58fe038ba911826a5f966fdd037e315cc531824afa5103a4407b08d95d19ddce_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"74330:124:67"},"nodeType":"YulFunctionCall","src":"74330:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"74322:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_58fe038ba911826a5f966fdd037e315cc531824afa5103a4407b08d95d19ddce__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"74200:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"74215:4:67","type":""}],"src":"74049:419:67"},{"body":{"nodeType":"YulBlock","src":"74645:248:67","statements":[{"nodeType":"YulAssignment","src":"74655:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"74667:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"74678:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"74663:3:67"},"nodeType":"YulFunctionCall","src":"74663:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"74655:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"74702:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"74713:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"74698:3:67"},"nodeType":"YulFunctionCall","src":"74698:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"74721:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"74727:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"74717:3:67"},"nodeType":"YulFunctionCall","src":"74717:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"74691:6:67"},"nodeType":"YulFunctionCall","src":"74691:47:67"},"nodeType":"YulExpressionStatement","src":"74691:47:67"},{"nodeType":"YulAssignment","src":"74747:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"74881:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_5fa4f20d3b547b43c3b49de4f5c62b8d87a47a9169c1a1db0d172150993aa1eb_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"74755:124:67"},"nodeType":"YulFunctionCall","src":"74755:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"74747:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_5fa4f20d3b547b43c3b49de4f5c62b8d87a47a9169c1a1db0d172150993aa1eb__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"74625:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"74640:4:67","type":""}],"src":"74474:419:67"},{"body":{"nodeType":"YulBlock","src":"75070:248:67","statements":[{"nodeType":"YulAssignment","src":"75080:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"75092:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"75103:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"75088:3:67"},"nodeType":"YulFunctionCall","src":"75088:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"75080:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"75127:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"75138:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"75123:3:67"},"nodeType":"YulFunctionCall","src":"75123:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"75146:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"75152:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"75142:3:67"},"nodeType":"YulFunctionCall","src":"75142:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"75116:6:67"},"nodeType":"YulFunctionCall","src":"75116:47:67"},"nodeType":"YulExpressionStatement","src":"75116:47:67"},{"nodeType":"YulAssignment","src":"75172:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"75306:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_72b1f434e16ac1cf02aa4ce2f0f63ef536c0a2e88f68b1067ef152351f0087f1_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"75180:124:67"},"nodeType":"YulFunctionCall","src":"75180:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"75172:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_72b1f434e16ac1cf02aa4ce2f0f63ef536c0a2e88f68b1067ef152351f0087f1__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"75050:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"75065:4:67","type":""}],"src":"74899:419:67"},{"body":{"nodeType":"YulBlock","src":"75495:248:67","statements":[{"nodeType":"YulAssignment","src":"75505:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"75517:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"75528:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"75513:3:67"},"nodeType":"YulFunctionCall","src":"75513:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"75505:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"75552:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"75563:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"75548:3:67"},"nodeType":"YulFunctionCall","src":"75548:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"75571:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"75577:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"75567:3:67"},"nodeType":"YulFunctionCall","src":"75567:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"75541:6:67"},"nodeType":"YulFunctionCall","src":"75541:47:67"},"nodeType":"YulExpressionStatement","src":"75541:47:67"},{"nodeType":"YulAssignment","src":"75597:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"75731:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_9fa14ac89471826c5bc72b75de3388cdde56a33fbf6bb575f16de2cc5916ce84_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"75605:124:67"},"nodeType":"YulFunctionCall","src":"75605:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"75597:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_9fa14ac89471826c5bc72b75de3388cdde56a33fbf6bb575f16de2cc5916ce84__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"75475:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"75490:4:67","type":""}],"src":"75324:419:67"},{"body":{"nodeType":"YulBlock","src":"75920:248:67","statements":[{"nodeType":"YulAssignment","src":"75930:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"75942:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"75953:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"75938:3:67"},"nodeType":"YulFunctionCall","src":"75938:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"75930:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"75977:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"75988:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"75973:3:67"},"nodeType":"YulFunctionCall","src":"75973:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"75996:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"76002:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"75992:3:67"},"nodeType":"YulFunctionCall","src":"75992:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"75966:6:67"},"nodeType":"YulFunctionCall","src":"75966:47:67"},"nodeType":"YulExpressionStatement","src":"75966:47:67"},{"nodeType":"YulAssignment","src":"76022:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"76156:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_aac6109e25b977a3666829c5faa653ddebecef9c73e0dbd918342867acf0b90b_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"76030:124:67"},"nodeType":"YulFunctionCall","src":"76030:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"76022:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_aac6109e25b977a3666829c5faa653ddebecef9c73e0dbd918342867acf0b90b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"75900:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"75915:4:67","type":""}],"src":"75749:419:67"},{"body":{"nodeType":"YulBlock","src":"76345:248:67","statements":[{"nodeType":"YulAssignment","src":"76355:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"76367:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"76378:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"76363:3:67"},"nodeType":"YulFunctionCall","src":"76363:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"76355:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"76402:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"76413:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"76398:3:67"},"nodeType":"YulFunctionCall","src":"76398:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"76421:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"76427:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"76417:3:67"},"nodeType":"YulFunctionCall","src":"76417:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"76391:6:67"},"nodeType":"YulFunctionCall","src":"76391:47:67"},"nodeType":"YulExpressionStatement","src":"76391:47:67"},{"nodeType":"YulAssignment","src":"76447:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"76581:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_ba6ce338a8b77b4309b1dcba6abb75801c6b8961785823dfa406357c96ccf60d_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"76455:124:67"},"nodeType":"YulFunctionCall","src":"76455:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"76447:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_ba6ce338a8b77b4309b1dcba6abb75801c6b8961785823dfa406357c96ccf60d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"76325:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"76340:4:67","type":""}],"src":"76174:419:67"},{"body":{"nodeType":"YulBlock","src":"76770:248:67","statements":[{"nodeType":"YulAssignment","src":"76780:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"76792:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"76803:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"76788:3:67"},"nodeType":"YulFunctionCall","src":"76788:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"76780:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"76827:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"76838:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"76823:3:67"},"nodeType":"YulFunctionCall","src":"76823:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"76846:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"76852:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"76842:3:67"},"nodeType":"YulFunctionCall","src":"76842:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"76816:6:67"},"nodeType":"YulFunctionCall","src":"76816:47:67"},"nodeType":"YulExpressionStatement","src":"76816:47:67"},{"nodeType":"YulAssignment","src":"76872:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"77006:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_ea4580d893291eb488d1f84e08baa4c835b386770db72420b713c9cfcfc0dfb6_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"76880:124:67"},"nodeType":"YulFunctionCall","src":"76880:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"76872:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_ea4580d893291eb488d1f84e08baa4c835b386770db72420b713c9cfcfc0dfb6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"76750:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"76765:4:67","type":""}],"src":"76599:419:67"},{"body":{"nodeType":"YulBlock","src":"77195:248:67","statements":[{"nodeType":"YulAssignment","src":"77205:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"77217:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"77228:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"77213:3:67"},"nodeType":"YulFunctionCall","src":"77213:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"77205:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"77252:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"77263:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"77248:3:67"},"nodeType":"YulFunctionCall","src":"77248:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"77271:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"77277:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"77267:3:67"},"nodeType":"YulFunctionCall","src":"77267:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"77241:6:67"},"nodeType":"YulFunctionCall","src":"77241:47:67"},"nodeType":"YulExpressionStatement","src":"77241:47:67"},{"nodeType":"YulAssignment","src":"77297:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"77431:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_ebdfd38fe21ca0808fdb840ac4bd9b3f5d98f2e7880341f5272855af32dcb094_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"77305:124:67"},"nodeType":"YulFunctionCall","src":"77305:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"77297:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_ebdfd38fe21ca0808fdb840ac4bd9b3f5d98f2e7880341f5272855af32dcb094__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"77175:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"77190:4:67","type":""}],"src":"77024:419:67"},{"body":{"nodeType":"YulBlock","src":"77599:227:67","statements":[{"nodeType":"YulAssignment","src":"77609:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"77621:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"77632:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"77617:3:67"},"nodeType":"YulFunctionCall","src":"77617:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"77609:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"77656:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"77667:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"77652:3:67"},"nodeType":"YulFunctionCall","src":"77652:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"77675:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"77681:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"77671:3:67"},"nodeType":"YulFunctionCall","src":"77671:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"77645:6:67"},"nodeType":"YulFunctionCall","src":"77645:47:67"},"nodeType":"YulExpressionStatement","src":"77645:47:67"},{"nodeType":"YulAssignment","src":"77701:118:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"77805:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"77814:4:67"}],"functionName":{"name":"abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"77709:95:67"},"nodeType":"YulFunctionCall","src":"77709:110:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"77701:4:67"}]}]},"name":"abi_encode_tuple_t_struct$_CBOR_$8037_memory_ptr__to_t_struct$_CBOR_$8037_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"77571:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"77583:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"77594:4:67","type":""}],"src":"77449:377:67"},{"body":{"nodeType":"YulBlock","src":"77976:221:67","statements":[{"nodeType":"YulAssignment","src":"77986:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"77998:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"78009:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"77994:3:67"},"nodeType":"YulFunctionCall","src":"77994:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"77986:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"78033:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"78044:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"78029:3:67"},"nodeType":"YulFunctionCall","src":"78029:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"78052:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"78058:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"78048:3:67"},"nodeType":"YulFunctionCall","src":"78048:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"78022:6:67"},"nodeType":"YulFunctionCall","src":"78022:47:67"},"nodeType":"YulExpressionStatement","src":"78022:47:67"},{"nodeType":"YulAssignment","src":"78078:112:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"78176:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"78185:4:67"}],"functionName":{"name":"abi_encode_t_struct$_Query_$7991_memory_ptr_to_t_struct$_Query_$7991_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"78086:89:67"},"nodeType":"YulFunctionCall","src":"78086:104:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"78078:4:67"}]}]},"name":"abi_encode_tuple_t_struct$_Query_$7991_memory_ptr__to_t_struct$_Query_$7991_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"77948:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"77960:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"77971:4:67","type":""}],"src":"77832:365:67"},{"body":{"nodeType":"YulBlock","src":"78351:175:67","statements":[{"nodeType":"YulAssignment","src":"78361:27:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"78373:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"78384:3:67","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"78369:3:67"},"nodeType":"YulFunctionCall","src":"78369:19:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"78361:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"78492:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"78505:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"78516:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"78501:3:67"},"nodeType":"YulFunctionCall","src":"78501:17:67"}],"functionName":{"name":"abi_encode_t_struct$_Request_$8008_memory_ptr_to_t_struct$_Request_$8008_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"78398:93:67"},"nodeType":"YulFunctionCall","src":"78398:121:67"},"nodeType":"YulExpressionStatement","src":"78398:121:67"}]},"name":"abi_encode_tuple_t_struct$_Request_$8008_memory_ptr__to_t_struct$_Request_$8008_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"78323:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"78335:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"78346:4:67","type":""}],"src":"78203:323:67"},{"body":{"nodeType":"YulBlock","src":"78682:227:67","statements":[{"nodeType":"YulAssignment","src":"78692:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"78704:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"78715:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"78700:3:67"},"nodeType":"YulFunctionCall","src":"78700:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"78692:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"78739:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"78750:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"78735:3:67"},"nodeType":"YulFunctionCall","src":"78735:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"78758:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"78764:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"78754:3:67"},"nodeType":"YulFunctionCall","src":"78754:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"78728:6:67"},"nodeType":"YulFunctionCall","src":"78728:47:67"},"nodeType":"YulExpressionStatement","src":"78728:47:67"},{"nodeType":"YulAssignment","src":"78784:118:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"78888:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"78897:4:67"}],"functionName":{"name":"abi_encode_t_struct$_Response_$8017_memory_ptr_to_t_struct$_Response_$8017_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"78792:95:67"},"nodeType":"YulFunctionCall","src":"78792:110:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"78784:4:67"}]}]},"name":"abi_encode_tuple_t_struct$_Response_$8017_memory_ptr__to_t_struct$_Response_$8017_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"78654:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"78666:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"78677:4:67","type":""}],"src":"78532:377:67"},{"body":{"nodeType":"YulBlock","src":"79069:231:67","statements":[{"nodeType":"YulAssignment","src":"79079:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"79091:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"79102:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"79087:3:67"},"nodeType":"YulFunctionCall","src":"79087:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"79079:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"79126:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"79137:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"79122:3:67"},"nodeType":"YulFunctionCall","src":"79122:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"79145:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"79151:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"79141:3:67"},"nodeType":"YulFunctionCall","src":"79141:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"79115:6:67"},"nodeType":"YulFunctionCall","src":"79115:47:67"},"nodeType":"YulExpressionStatement","src":"79115:47:67"},{"nodeType":"YulAssignment","src":"79171:122:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"79279:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"79288:4:67"}],"functionName":{"name":"abi_encode_t_struct$_Result_$8023_memory_ptr_to_t_struct$_Result_$8023_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"79179:99:67"},"nodeType":"YulFunctionCall","src":"79179:114:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"79171:4:67"}]}]},"name":"abi_encode_tuple_t_struct$_Result_$8023_memory_ptr__to_t_struct$_Result_$8023_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"79041:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"79053:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"79064:4:67","type":""}],"src":"78915:385:67"},{"body":{"nodeType":"YulBlock","src":"79452:223:67","statements":[{"nodeType":"YulAssignment","src":"79462:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"79474:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"79485:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"79470:3:67"},"nodeType":"YulFunctionCall","src":"79470:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"79462:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"79509:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"79520:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"79505:3:67"},"nodeType":"YulFunctionCall","src":"79505:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"79528:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"79534:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"79524:3:67"},"nodeType":"YulFunctionCall","src":"79524:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"79498:6:67"},"nodeType":"YulFunctionCall","src":"79498:47:67"},"nodeType":"YulExpressionStatement","src":"79498:47:67"},{"nodeType":"YulAssignment","src":"79554:114:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"79654:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"79663:4:67"}],"functionName":{"name":"abi_encode_t_struct$_Result_$8023_memory_ptr_to_t_struct$_Result_$8023_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"79562:91:67"},"nodeType":"YulFunctionCall","src":"79562:106:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"79554:4:67"}]}]},"name":"abi_encode_tuple_t_struct$_Result_$8023_memory_ptr__to_t_struct$_Result_$8023_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"79424:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"79436:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"79447:4:67","type":""}],"src":"79306:369:67"},{"body":{"nodeType":"YulBlock","src":"79779:124:67","statements":[{"nodeType":"YulAssignment","src":"79789:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"79801:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"79812:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"79797:3:67"},"nodeType":"YulFunctionCall","src":"79797:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"79789:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"79869:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"79882:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"79893:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"79878:3:67"},"nodeType":"YulFunctionCall","src":"79878:17:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"79825:43:67"},"nodeType":"YulFunctionCall","src":"79825:71:67"},"nodeType":"YulExpressionStatement","src":"79825:71:67"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"79751:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"79763:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"79774:4:67","type":""}],"src":"79681:222:67"},{"body":{"nodeType":"YulBlock","src":"80035:206:67","statements":[{"nodeType":"YulAssignment","src":"80045:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"80057:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"80068:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"80053:3:67"},"nodeType":"YulFunctionCall","src":"80053:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"80045:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"80125:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"80138:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"80149:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"80134:3:67"},"nodeType":"YulFunctionCall","src":"80134:17:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"80081:43:67"},"nodeType":"YulFunctionCall","src":"80081:71:67"},"nodeType":"YulExpressionStatement","src":"80081:71:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"80206:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"80219:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"80230:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"80215:3:67"},"nodeType":"YulFunctionCall","src":"80215:18:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"80162:43:67"},"nodeType":"YulFunctionCall","src":"80162:72:67"},"nodeType":"YulExpressionStatement","src":"80162:72:67"}]},"name":"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"79999:9:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"80011:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"80019:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"80030:4:67","type":""}],"src":"79909:332:67"},{"body":{"nodeType":"YulBlock","src":"80446:330:67","statements":[{"nodeType":"YulAssignment","src":"80456:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"80468:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"80479:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"80464:3:67"},"nodeType":"YulFunctionCall","src":"80464:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"80456:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"80536:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"80549:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"80560:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"80545:3:67"},"nodeType":"YulFunctionCall","src":"80545:17:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"80492:43:67"},"nodeType":"YulFunctionCall","src":"80492:71:67"},"nodeType":"YulExpressionStatement","src":"80492:71:67"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"80584:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"80595:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"80580:3:67"},"nodeType":"YulFunctionCall","src":"80580:18:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"80604:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"80610:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"80600:3:67"},"nodeType":"YulFunctionCall","src":"80600:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"80573:6:67"},"nodeType":"YulFunctionCall","src":"80573:48:67"},"nodeType":"YulExpressionStatement","src":"80573:48:67"},{"nodeType":"YulAssignment","src":"80630:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"80764:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_1581ae06fefdfc841abacd4b63952c567c2edc2bc8c7899a32661f6a801e746b_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"80638:124:67"},"nodeType":"YulFunctionCall","src":"80638:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"80630:4:67"}]}]},"name":"abi_encode_tuple_t_uint256_t_stringliteral_1581ae06fefdfc841abacd4b63952c567c2edc2bc8c7899a32661f6a801e746b__to_t_uint256_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"80418:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"80430:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"80441:4:67","type":""}],"src":"80247:529:67"},{"body":{"nodeType":"YulBlock","src":"80981:330:67","statements":[{"nodeType":"YulAssignment","src":"80991:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"81003:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"81014:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"80999:3:67"},"nodeType":"YulFunctionCall","src":"80999:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"80991:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"81071:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"81084:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"81095:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"81080:3:67"},"nodeType":"YulFunctionCall","src":"81080:17:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"81027:43:67"},"nodeType":"YulFunctionCall","src":"81027:71:67"},"nodeType":"YulExpressionStatement","src":"81027:71:67"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"81119:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"81130:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"81115:3:67"},"nodeType":"YulFunctionCall","src":"81115:18:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"81139:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"81145:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"81135:3:67"},"nodeType":"YulFunctionCall","src":"81135:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"81108:6:67"},"nodeType":"YulFunctionCall","src":"81108:48:67"},"nodeType":"YulExpressionStatement","src":"81108:48:67"},{"nodeType":"YulAssignment","src":"81165:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"81299:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_3b4bb84f4a99e05df33e41f62f5366e4016b4735b6f76082d73cf5d8831faa3e_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"81173:124:67"},"nodeType":"YulFunctionCall","src":"81173:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"81165:4:67"}]}]},"name":"abi_encode_tuple_t_uint256_t_stringliteral_3b4bb84f4a99e05df33e41f62f5366e4016b4735b6f76082d73cf5d8831faa3e__to_t_uint256_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"80953:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"80965:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"80976:4:67","type":""}],"src":"80782:529:67"},{"body":{"nodeType":"YulBlock","src":"81516:330:67","statements":[{"nodeType":"YulAssignment","src":"81526:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"81538:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"81549:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"81534:3:67"},"nodeType":"YulFunctionCall","src":"81534:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"81526:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"81606:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"81619:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"81630:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"81615:3:67"},"nodeType":"YulFunctionCall","src":"81615:17:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"81562:43:67"},"nodeType":"YulFunctionCall","src":"81562:71:67"},"nodeType":"YulExpressionStatement","src":"81562:71:67"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"81654:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"81665:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"81650:3:67"},"nodeType":"YulFunctionCall","src":"81650:18:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"81674:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"81680:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"81670:3:67"},"nodeType":"YulFunctionCall","src":"81670:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"81643:6:67"},"nodeType":"YulFunctionCall","src":"81643:48:67"},"nodeType":"YulExpressionStatement","src":"81643:48:67"},{"nodeType":"YulAssignment","src":"81700:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"81834:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_8e0ffa273c001ae051d701178ac5c710a5b4d9fec98205577ebc7425e417a801_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"81708:124:67"},"nodeType":"YulFunctionCall","src":"81708:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"81700:4:67"}]}]},"name":"abi_encode_tuple_t_uint256_t_stringliteral_8e0ffa273c001ae051d701178ac5c710a5b4d9fec98205577ebc7425e417a801__to_t_uint256_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"81488:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"81500:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"81511:4:67","type":""}],"src":"81317:529:67"},{"body":{"nodeType":"YulBlock","src":"82051:330:67","statements":[{"nodeType":"YulAssignment","src":"82061:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"82073:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"82084:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"82069:3:67"},"nodeType":"YulFunctionCall","src":"82069:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"82061:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"82141:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"82154:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"82165:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"82150:3:67"},"nodeType":"YulFunctionCall","src":"82150:17:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"82097:43:67"},"nodeType":"YulFunctionCall","src":"82097:71:67"},"nodeType":"YulExpressionStatement","src":"82097:71:67"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"82189:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"82200:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"82185:3:67"},"nodeType":"YulFunctionCall","src":"82185:18:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"82209:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"82215:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"82205:3:67"},"nodeType":"YulFunctionCall","src":"82205:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"82178:6:67"},"nodeType":"YulFunctionCall","src":"82178:48:67"},"nodeType":"YulExpressionStatement","src":"82178:48:67"},{"nodeType":"YulAssignment","src":"82235:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"82369:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_e251d84e62e5492f0ae8601bf0b4d92f0e11ae4eb6623c0c4134c63f7dd56847_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"82243:124:67"},"nodeType":"YulFunctionCall","src":"82243:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"82235:4:67"}]}]},"name":"abi_encode_tuple_t_uint256_t_stringliteral_e251d84e62e5492f0ae8601bf0b4d92f0e11ae4eb6623c0c4134c63f7dd56847__to_t_uint256_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"82023:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"82035:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"82046:4:67","type":""}],"src":"81852:529:67"},{"body":{"nodeType":"YulBlock","src":"82483:122:67","statements":[{"nodeType":"YulAssignment","src":"82493:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"82505:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"82516:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"82501:3:67"},"nodeType":"YulFunctionCall","src":"82501:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"82493:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"82571:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"82584:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"82595:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"82580:3:67"},"nodeType":"YulFunctionCall","src":"82580:17:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_fromStack","nodeType":"YulIdentifier","src":"82529:41:67"},"nodeType":"YulFunctionCall","src":"82529:69:67"},"nodeType":"YulExpressionStatement","src":"82529:69:67"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"82455:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"82467:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"82478:4:67","type":""}],"src":"82387:218:67"},{"body":{"nodeType":"YulBlock","src":"82652:88:67","statements":[{"nodeType":"YulAssignment","src":"82662:30:67","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"82672:18:67"},"nodeType":"YulFunctionCall","src":"82672:20:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"82662:6:67"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"82721:6:67"},{"name":"size","nodeType":"YulIdentifier","src":"82729:4:67"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"82701:19:67"},"nodeType":"YulFunctionCall","src":"82701:33:67"},"nodeType":"YulExpressionStatement","src":"82701:33:67"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"82636:4:67","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"82645:6:67","type":""}],"src":"82611:129:67"},{"body":{"nodeType":"YulBlock","src":"82786:35:67","statements":[{"nodeType":"YulAssignment","src":"82796:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"82812:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"82806:5:67"},"nodeType":"YulFunctionCall","src":"82806:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"82796:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"82779:6:67","type":""}],"src":"82746:75:67"},{"body":{"nodeType":"YulBlock","src":"82909:229:67","statements":[{"body":{"nodeType":"YulBlock","src":"83014:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"83016:16:67"},"nodeType":"YulFunctionCall","src":"83016:18:67"},"nodeType":"YulExpressionStatement","src":"83016:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"82986:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"82994:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"82983:2:67"},"nodeType":"YulFunctionCall","src":"82983:30:67"},"nodeType":"YulIf","src":"82980:56:67"},{"nodeType":"YulAssignment","src":"83046:25:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"83058:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"83066:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"83054:3:67"},"nodeType":"YulFunctionCall","src":"83054:17:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"83046:4:67"}]},{"nodeType":"YulAssignment","src":"83108:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"83120:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"83126:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"83116:3:67"},"nodeType":"YulFunctionCall","src":"83116:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"83108:4:67"}]}]},"name":"array_allocation_size_t_array$_t_address_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"82893:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"82904:4:67","type":""}],"src":"82827:311:67"},{"body":{"nodeType":"YulBlock","src":"83225:229:67","statements":[{"body":{"nodeType":"YulBlock","src":"83330:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"83332:16:67"},"nodeType":"YulFunctionCall","src":"83332:18:67"},"nodeType":"YulExpressionStatement","src":"83332:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"83302:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"83310:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"83299:2:67"},"nodeType":"YulFunctionCall","src":"83299:30:67"},"nodeType":"YulIf","src":"83296:56:67"},{"nodeType":"YulAssignment","src":"83362:25:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"83374:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"83382:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"83370:3:67"},"nodeType":"YulFunctionCall","src":"83370:17:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"83362:4:67"}]},{"nodeType":"YulAssignment","src":"83424:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"83436:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"83442:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"83432:3:67"},"nodeType":"YulFunctionCall","src":"83432:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"83424:4:67"}]}]},"name":"array_allocation_size_t_array$_t_int128_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"83209:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"83220:4:67","type":""}],"src":"83144:310:67"},{"body":{"nodeType":"YulBlock","src":"83540:229:67","statements":[{"body":{"nodeType":"YulBlock","src":"83645:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"83647:16:67"},"nodeType":"YulFunctionCall","src":"83647:18:67"},"nodeType":"YulExpressionStatement","src":"83647:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"83617:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"83625:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"83614:2:67"},"nodeType":"YulFunctionCall","src":"83614:30:67"},"nodeType":"YulIf","src":"83611:56:67"},{"nodeType":"YulAssignment","src":"83677:25:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"83689:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"83697:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"83685:3:67"},"nodeType":"YulFunctionCall","src":"83685:17:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"83677:4:67"}]},{"nodeType":"YulAssignment","src":"83739:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"83751:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"83757:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"83747:3:67"},"nodeType":"YulFunctionCall","src":"83747:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"83739:4:67"}]}]},"name":"array_allocation_size_t_array$_t_int32_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"83524:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"83535:4:67","type":""}],"src":"83460:309:67"},{"body":{"nodeType":"YulBlock","src":"83867:229:67","statements":[{"body":{"nodeType":"YulBlock","src":"83972:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"83974:16:67"},"nodeType":"YulFunctionCall","src":"83974:18:67"},"nodeType":"YulExpressionStatement","src":"83974:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"83944:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"83952:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"83941:2:67"},"nodeType":"YulFunctionCall","src":"83941:30:67"},"nodeType":"YulIf","src":"83938:56:67"},{"nodeType":"YulAssignment","src":"84004:25:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"84016:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"84024:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"84012:3:67"},"nodeType":"YulFunctionCall","src":"84012:17:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"84004:4:67"}]},{"nodeType":"YulAssignment","src":"84066:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"84078:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"84084:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"84074:3:67"},"nodeType":"YulFunctionCall","src":"84074:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"84066:4:67"}]}]},"name":"array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"83851:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"83862:4:67","type":""}],"src":"83775:321:67"},{"body":{"nodeType":"YulBlock","src":"84213:229:67","statements":[{"body":{"nodeType":"YulBlock","src":"84318:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"84320:16:67"},"nodeType":"YulFunctionCall","src":"84320:18:67"},"nodeType":"YulExpressionStatement","src":"84320:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"84290:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"84298:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"84287:2:67"},"nodeType":"YulFunctionCall","src":"84287:30:67"},"nodeType":"YulIf","src":"84284:56:67"},{"nodeType":"YulAssignment","src":"84350:25:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"84362:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"84370:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"84358:3:67"},"nodeType":"YulFunctionCall","src":"84358:17:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"84350:4:67"}]},{"nodeType":"YulAssignment","src":"84412:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"84424:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"84430:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"84420:3:67"},"nodeType":"YulFunctionCall","src":"84420:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"84412:4:67"}]}]},"name":"array_allocation_size_t_array$_t_struct$_BatchResult_$7637_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"84197:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"84208:4:67","type":""}],"src":"84102:340:67"},{"body":{"nodeType":"YulBlock","src":"84529:229:67","statements":[{"body":{"nodeType":"YulBlock","src":"84634:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"84636:16:67"},"nodeType":"YulFunctionCall","src":"84636:18:67"},"nodeType":"YulExpressionStatement","src":"84636:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"84606:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"84614:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"84603:2:67"},"nodeType":"YulFunctionCall","src":"84603:30:67"},"nodeType":"YulIf","src":"84600:56:67"},{"nodeType":"YulAssignment","src":"84666:25:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"84678:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"84686:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"84674:3:67"},"nodeType":"YulFunctionCall","src":"84674:17:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"84666:4:67"}]},{"nodeType":"YulAssignment","src":"84728:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"84740:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"84746:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"84736:3:67"},"nodeType":"YulFunctionCall","src":"84736:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"84728:4:67"}]}]},"name":"array_allocation_size_t_array$_t_uint64_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"84513:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"84524:4:67","type":""}],"src":"84448:310:67"},{"body":{"nodeType":"YulBlock","src":"84830:241:67","statements":[{"body":{"nodeType":"YulBlock","src":"84935:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"84937:16:67"},"nodeType":"YulFunctionCall","src":"84937:18:67"},"nodeType":"YulExpressionStatement","src":"84937:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"84907:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"84915:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"84904:2:67"},"nodeType":"YulFunctionCall","src":"84904:30:67"},"nodeType":"YulIf","src":"84901:56:67"},{"nodeType":"YulAssignment","src":"84967:37:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"84997:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"84975:21:67"},"nodeType":"YulFunctionCall","src":"84975:29:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"84967:4:67"}]},{"nodeType":"YulAssignment","src":"85041:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"85053:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"85059:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"85049:3:67"},"nodeType":"YulFunctionCall","src":"85049:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"85041:4:67"}]}]},"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"84814:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"84825:4:67","type":""}],"src":"84764:307:67"},{"body":{"nodeType":"YulBlock","src":"85144:241:67","statements":[{"body":{"nodeType":"YulBlock","src":"85249:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"85251:16:67"},"nodeType":"YulFunctionCall","src":"85251:18:67"},"nodeType":"YulExpressionStatement","src":"85251:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"85221:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"85229:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"85218:2:67"},"nodeType":"YulFunctionCall","src":"85218:30:67"},"nodeType":"YulIf","src":"85215:56:67"},{"nodeType":"YulAssignment","src":"85281:37:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"85311:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"85289:21:67"},"nodeType":"YulFunctionCall","src":"85289:29:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"85281:4:67"}]},{"nodeType":"YulAssignment","src":"85355:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"85367:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"85373:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"85363:3:67"},"nodeType":"YulFunctionCall","src":"85363:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"85355:4:67"}]}]},"name":"array_allocation_size_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"85128:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"85139:4:67","type":""}],"src":"85077:308:67"},{"body":{"nodeType":"YulBlock","src":"85463:60:67","statements":[{"nodeType":"YulAssignment","src":"85473:11:67","value":{"name":"ptr","nodeType":"YulIdentifier","src":"85481:3:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"85473:4:67"}]},{"nodeType":"YulAssignment","src":"85494:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"85506:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"85511:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"85502:3:67"},"nodeType":"YulFunctionCall","src":"85502:14:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"85494:4:67"}]}]},"name":"array_dataslot_t_array$_t_address_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"85450:3:67","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"85458:4:67","type":""}],"src":"85391:132:67"},{"body":{"nodeType":"YulBlock","src":"85600:60:67","statements":[{"nodeType":"YulAssignment","src":"85610:11:67","value":{"name":"ptr","nodeType":"YulIdentifier","src":"85618:3:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"85610:4:67"}]},{"nodeType":"YulAssignment","src":"85631:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"85643:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"85648:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"85639:3:67"},"nodeType":"YulFunctionCall","src":"85639:14:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"85631:4:67"}]}]},"name":"array_dataslot_t_array$_t_int128_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"85587:3:67","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"85595:4:67","type":""}],"src":"85529:131:67"},{"body":{"nodeType":"YulBlock","src":"85736:60:67","statements":[{"nodeType":"YulAssignment","src":"85746:11:67","value":{"name":"ptr","nodeType":"YulIdentifier","src":"85754:3:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"85746:4:67"}]},{"nodeType":"YulAssignment","src":"85767:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"85779:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"85784:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"85775:3:67"},"nodeType":"YulFunctionCall","src":"85775:14:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"85767:4:67"}]}]},"name":"array_dataslot_t_array$_t_int32_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"85723:3:67","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"85731:4:67","type":""}],"src":"85666:130:67"},{"body":{"nodeType":"YulBlock","src":"85884:60:67","statements":[{"nodeType":"YulAssignment","src":"85894:11:67","value":{"name":"ptr","nodeType":"YulIdentifier","src":"85902:3:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"85894:4:67"}]},{"nodeType":"YulAssignment","src":"85915:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"85927:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"85932:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"85923:3:67"},"nodeType":"YulFunctionCall","src":"85923:14:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"85915:4:67"}]}]},"name":"array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"85871:3:67","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"85879:4:67","type":""}],"src":"85802:142:67"},{"body":{"nodeType":"YulBlock","src":"86021:60:67","statements":[{"nodeType":"YulAssignment","src":"86031:11:67","value":{"name":"ptr","nodeType":"YulIdentifier","src":"86039:3:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"86031:4:67"}]},{"nodeType":"YulAssignment","src":"86052:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"86064:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"86069:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"86060:3:67"},"nodeType":"YulFunctionCall","src":"86060:14:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"86052:4:67"}]}]},"name":"array_dataslot_t_array$_t_uint64_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"86008:3:67","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"86016:4:67","type":""}],"src":"85950:131:67"},{"body":{"nodeType":"YulBlock","src":"86140:87:67","statements":[{"nodeType":"YulAssignment","src":"86150:11:67","value":{"name":"ptr","nodeType":"YulIdentifier","src":"86158:3:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"86150:4:67"}]},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"86178:1:67","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"86181:3:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"86171:6:67"},"nodeType":"YulFunctionCall","src":"86171:14:67"},"nodeType":"YulExpressionStatement","src":"86171:14:67"},{"nodeType":"YulAssignment","src":"86194:26:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"86212:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"86215:4:67","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"86202:9:67"},"nodeType":"YulFunctionCall","src":"86202:18:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"86194:4:67"}]}]},"name":"array_dataslot_t_bytes_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"86127:3:67","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"86135:4:67","type":""}],"src":"86087:140:67"},{"body":{"nodeType":"YulBlock","src":"86307:40:67","statements":[{"nodeType":"YulAssignment","src":"86318:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"86334:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"86328:5:67"},"nodeType":"YulFunctionCall","src":"86328:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"86318:6:67"}]}]},"name":"array_length_t_array$_t_address_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"86290:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"86300:6:67","type":""}],"src":"86233:114:67"},{"body":{"nodeType":"YulBlock","src":"86426:40:67","statements":[{"nodeType":"YulAssignment","src":"86437:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"86453:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"86447:5:67"},"nodeType":"YulFunctionCall","src":"86447:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"86437:6:67"}]}]},"name":"array_length_t_array$_t_int128_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"86409:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"86419:6:67","type":""}],"src":"86353:113:67"},{"body":{"nodeType":"YulBlock","src":"86544:40:67","statements":[{"nodeType":"YulAssignment","src":"86555:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"86571:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"86565:5:67"},"nodeType":"YulFunctionCall","src":"86565:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"86555:6:67"}]}]},"name":"array_length_t_array$_t_int32_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"86527:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"86537:6:67","type":""}],"src":"86472:112:67"},{"body":{"nodeType":"YulBlock","src":"86674:40:67","statements":[{"nodeType":"YulAssignment","src":"86685:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"86701:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"86695:5:67"},"nodeType":"YulFunctionCall","src":"86695:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"86685:6:67"}]}]},"name":"array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"86657:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"86667:6:67","type":""}],"src":"86590:124:67"},{"body":{"nodeType":"YulBlock","src":"86793:40:67","statements":[{"nodeType":"YulAssignment","src":"86804:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"86820:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"86814:5:67"},"nodeType":"YulFunctionCall","src":"86814:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"86804:6:67"}]}]},"name":"array_length_t_array$_t_uint64_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"86776:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"86786:6:67","type":""}],"src":"86720:113:67"},{"body":{"nodeType":"YulBlock","src":"86897:40:67","statements":[{"nodeType":"YulAssignment","src":"86908:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"86924:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"86918:5:67"},"nodeType":"YulFunctionCall","src":"86918:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"86908:6:67"}]}]},"name":"array_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"86880:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"86890:6:67","type":""}],"src":"86839:98:67"},{"body":{"nodeType":"YulBlock","src":"87002:40:67","statements":[{"nodeType":"YulAssignment","src":"87013:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"87029:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"87023:5:67"},"nodeType":"YulFunctionCall","src":"87023:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"87013:6:67"}]}]},"name":"array_length_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"86985:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"86995:6:67","type":""}],"src":"86943:99:67"},{"body":{"nodeType":"YulBlock","src":"87123:38:67","statements":[{"nodeType":"YulAssignment","src":"87133:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"87145:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"87150:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"87141:3:67"},"nodeType":"YulFunctionCall","src":"87141:14:67"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"87133:4:67"}]}]},"name":"array_nextElement_t_array$_t_address_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"87110:3:67","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"87118:4:67","type":""}],"src":"87048:113:67"},{"body":{"nodeType":"YulBlock","src":"87241:38:67","statements":[{"nodeType":"YulAssignment","src":"87251:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"87263:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"87268:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"87259:3:67"},"nodeType":"YulFunctionCall","src":"87259:14:67"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"87251:4:67"}]}]},"name":"array_nextElement_t_array$_t_int128_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"87228:3:67","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"87236:4:67","type":""}],"src":"87167:112:67"},{"body":{"nodeType":"YulBlock","src":"87358:38:67","statements":[{"nodeType":"YulAssignment","src":"87368:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"87380:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"87385:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"87376:3:67"},"nodeType":"YulFunctionCall","src":"87376:14:67"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"87368:4:67"}]}]},"name":"array_nextElement_t_array$_t_int32_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"87345:3:67","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"87353:4:67","type":""}],"src":"87285:111:67"},{"body":{"nodeType":"YulBlock","src":"87487:38:67","statements":[{"nodeType":"YulAssignment","src":"87497:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"87509:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"87514:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"87505:3:67"},"nodeType":"YulFunctionCall","src":"87505:14:67"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"87497:4:67"}]}]},"name":"array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"87474:3:67","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"87482:4:67","type":""}],"src":"87402:123:67"},{"body":{"nodeType":"YulBlock","src":"87605:38:67","statements":[{"nodeType":"YulAssignment","src":"87615:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"87627:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"87632:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"87623:3:67"},"nodeType":"YulFunctionCall","src":"87623:14:67"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"87615:4:67"}]}]},"name":"array_nextElement_t_array$_t_uint64_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"87592:3:67","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"87600:4:67","type":""}],"src":"87531:112:67"},{"body":{"nodeType":"YulBlock","src":"87760:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"87777:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"87782:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"87770:6:67"},"nodeType":"YulFunctionCall","src":"87770:19:67"},"nodeType":"YulExpressionStatement","src":"87770:19:67"},{"nodeType":"YulAssignment","src":"87798:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"87817:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"87822:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"87813:3:67"},"nodeType":"YulFunctionCall","src":"87813:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"87798:11:67"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"87732:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"87737:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"87748:11:67","type":""}],"src":"87649:184:67"},{"body":{"nodeType":"YulBlock","src":"87949:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"87966:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"87971:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"87959:6:67"},"nodeType":"YulFunctionCall","src":"87959:19:67"},"nodeType":"YulExpressionStatement","src":"87959:19:67"},{"nodeType":"YulAssignment","src":"87987:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"88006:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"88011:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"88002:3:67"},"nodeType":"YulFunctionCall","src":"88002:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"87987:11:67"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_int128_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"87921:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"87926:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"87937:11:67","type":""}],"src":"87839:183:67"},{"body":{"nodeType":"YulBlock","src":"88137:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"88154:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"88159:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"88147:6:67"},"nodeType":"YulFunctionCall","src":"88147:19:67"},"nodeType":"YulExpressionStatement","src":"88147:19:67"},{"nodeType":"YulAssignment","src":"88175:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"88194:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"88199:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"88190:3:67"},"nodeType":"YulFunctionCall","src":"88190:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"88175:11:67"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_int32_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"88109:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"88114:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"88125:11:67","type":""}],"src":"88028:182:67"},{"body":{"nodeType":"YulBlock","src":"88337:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"88354:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"88359:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"88347:6:67"},"nodeType":"YulFunctionCall","src":"88347:19:67"},"nodeType":"YulExpressionStatement","src":"88347:19:67"},{"nodeType":"YulAssignment","src":"88375:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"88394:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"88399:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"88390:3:67"},"nodeType":"YulFunctionCall","src":"88390:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"88375:11:67"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"88309:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"88314:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"88325:11:67","type":""}],"src":"88216:194:67"},{"body":{"nodeType":"YulBlock","src":"88526:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"88543:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"88548:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"88536:6:67"},"nodeType":"YulFunctionCall","src":"88536:19:67"},"nodeType":"YulExpressionStatement","src":"88536:19:67"},{"nodeType":"YulAssignment","src":"88564:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"88583:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"88588:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"88579:3:67"},"nodeType":"YulFunctionCall","src":"88579:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"88564:11:67"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_uint64_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"88498:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"88503:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"88514:11:67","type":""}],"src":"88416:183:67"},{"body":{"nodeType":"YulBlock","src":"88690:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"88707:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"88712:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"88700:6:67"},"nodeType":"YulFunctionCall","src":"88700:19:67"},"nodeType":"YulExpressionStatement","src":"88700:19:67"},{"nodeType":"YulAssignment","src":"88728:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"88747:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"88752:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"88743:3:67"},"nodeType":"YulFunctionCall","src":"88743:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"88728:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"88662:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"88667:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"88678:11:67","type":""}],"src":"88605:158:67"},{"body":{"nodeType":"YulBlock","src":"88864:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"88881:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"88886:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"88874:6:67"},"nodeType":"YulFunctionCall","src":"88874:19:67"},"nodeType":"YulExpressionStatement","src":"88874:19:67"},{"nodeType":"YulAssignment","src":"88902:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"88921:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"88926:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"88917:3:67"},"nodeType":"YulFunctionCall","src":"88917:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"88902:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"88836:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"88841:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"88852:11:67","type":""}],"src":"88769:168:67"},{"body":{"nodeType":"YulBlock","src":"89046:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"89063:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"89068:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"89056:6:67"},"nodeType":"YulFunctionCall","src":"89056:19:67"},"nodeType":"YulExpressionStatement","src":"89056:19:67"},{"nodeType":"YulAssignment","src":"89084:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"89103:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"89108:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"89099:3:67"},"nodeType":"YulFunctionCall","src":"89099:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"89084:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"89018:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"89023:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"89034:11:67","type":""}],"src":"88943:176:67"},{"body":{"nodeType":"YulBlock","src":"89218:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"89235:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"89240:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"89228:6:67"},"nodeType":"YulFunctionCall","src":"89228:19:67"},"nodeType":"YulExpressionStatement","src":"89228:19:67"},{"nodeType":"YulAssignment","src":"89256:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"89275:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"89280:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"89271:3:67"},"nodeType":"YulFunctionCall","src":"89271:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"89256:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"89190:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"89195:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"89206:11:67","type":""}],"src":"89125:166:67"},{"body":{"nodeType":"YulBlock","src":"89410:34:67","statements":[{"nodeType":"YulAssignment","src":"89420:18:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"89435:3:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"89420:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"89382:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"89387:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"89398:11:67","type":""}],"src":"89297:147:67"},{"body":{"nodeType":"YulBlock","src":"89536:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"89553:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"89558:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"89546:6:67"},"nodeType":"YulFunctionCall","src":"89546:19:67"},"nodeType":"YulExpressionStatement","src":"89546:19:67"},{"nodeType":"YulAssignment","src":"89574:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"89593:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"89598:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"89589:3:67"},"nodeType":"YulFunctionCall","src":"89589:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"89574:11:67"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"89508:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"89513:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"89524:11:67","type":""}],"src":"89450:159:67"},{"body":{"nodeType":"YulBlock","src":"89711:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"89728:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"89733:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"89721:6:67"},"nodeType":"YulFunctionCall","src":"89721:19:67"},"nodeType":"YulExpressionStatement","src":"89721:19:67"},{"nodeType":"YulAssignment","src":"89749:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"89768:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"89773:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"89764:3:67"},"nodeType":"YulFunctionCall","src":"89764:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"89749:11:67"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"89683:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"89688:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"89699:11:67","type":""}],"src":"89615:169:67"},{"body":{"nodeType":"YulBlock","src":"89834:261:67","statements":[{"nodeType":"YulAssignment","src":"89844:25:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"89867:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"89849:17:67"},"nodeType":"YulFunctionCall","src":"89849:20:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"89844:1:67"}]},{"nodeType":"YulAssignment","src":"89878:25:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"89901:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"89883:17:67"},"nodeType":"YulFunctionCall","src":"89883:20:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"89878:1:67"}]},{"body":{"nodeType":"YulBlock","src":"90041:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"90043:16:67"},"nodeType":"YulFunctionCall","src":"90043:18:67"},"nodeType":"YulExpressionStatement","src":"90043:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"89962:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"89969:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"y","nodeType":"YulIdentifier","src":"90037:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"89965:3:67"},"nodeType":"YulFunctionCall","src":"89965:74:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"89959:2:67"},"nodeType":"YulFunctionCall","src":"89959:81:67"},"nodeType":"YulIf","src":"89956:107:67"},{"nodeType":"YulAssignment","src":"90073:16:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"90084:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"90087:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"90080:3:67"},"nodeType":"YulFunctionCall","src":"90080:9:67"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"90073:3:67"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"89821:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"89824:1:67","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"89830:3:67","type":""}],"src":"89790:305:67"},{"body":{"nodeType":"YulBlock","src":"90149:300:67","statements":[{"nodeType":"YulAssignment","src":"90159:25:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"90182:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"90164:17:67"},"nodeType":"YulFunctionCall","src":"90164:20:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"90159:1:67"}]},{"nodeType":"YulAssignment","src":"90193:25:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"90216:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"90198:17:67"},"nodeType":"YulFunctionCall","src":"90198:20:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"90193:1:67"}]},{"body":{"nodeType":"YulBlock","src":"90391:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"90393:16:67"},"nodeType":"YulFunctionCall","src":"90393:18:67"},"nodeType":"YulExpressionStatement","src":"90393:18:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"90303:1:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"90296:6:67"},"nodeType":"YulFunctionCall","src":"90296:9:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"90289:6:67"},"nodeType":"YulFunctionCall","src":"90289:17:67"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"90311:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"90318:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"x","nodeType":"YulIdentifier","src":"90386:1:67"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"90314:3:67"},"nodeType":"YulFunctionCall","src":"90314:74:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"90308:2:67"},"nodeType":"YulFunctionCall","src":"90308:81:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"90285:3:67"},"nodeType":"YulFunctionCall","src":"90285:105:67"},"nodeType":"YulIf","src":"90282:131:67"},{"nodeType":"YulAssignment","src":"90423:20:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"90438:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"90441:1:67"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"90434:3:67"},"nodeType":"YulFunctionCall","src":"90434:9:67"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"90423:7:67"}]}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"90132:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"90135:1:67","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"90141:7:67","type":""}],"src":"90101:348:67"},{"body":{"nodeType":"YulBlock","src":"90500:51:67","statements":[{"nodeType":"YulAssignment","src":"90510:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"90539:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"90521:17:67"},"nodeType":"YulFunctionCall","src":"90521:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"90510:7:67"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"90482:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"90492:7:67","type":""}],"src":"90455:96:67"},{"body":{"nodeType":"YulBlock","src":"90599:48:67","statements":[{"nodeType":"YulAssignment","src":"90609:32:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"90634:5:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"90627:6:67"},"nodeType":"YulFunctionCall","src":"90627:13:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"90620:6:67"},"nodeType":"YulFunctionCall","src":"90620:21:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"90609:7:67"}]}]},"name":"cleanup_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"90581:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"90591:7:67","type":""}],"src":"90557:90:67"},{"body":{"nodeType":"YulBlock","src":"90698:32:67","statements":[{"nodeType":"YulAssignment","src":"90708:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"90719:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"90708:7:67"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"90680:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"90690:7:67","type":""}],"src":"90653:77:67"},{"body":{"nodeType":"YulBlock","src":"90804:51:67","statements":[{"nodeType":"YulAssignment","src":"90814:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"90843:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"90825:17:67"},"nodeType":"YulFunctionCall","src":"90825:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"90814:7:67"}]}]},"name":"cleanup_t_contract$_IWitnetRequest_$7510","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"90786:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"90796:7:67","type":""}],"src":"90736:119:67"},{"body":{"nodeType":"YulBlock","src":"90921:81:67","statements":[{"nodeType":"YulAssignment","src":"90931:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"90942:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"90931:7:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"90990:5:67"}],"functionName":{"name":"validator_assert_t_enum$_ErrorCodes_$8299","nodeType":"YulIdentifier","src":"90948:41:67"},"nodeType":"YulFunctionCall","src":"90948:48:67"},"nodeType":"YulExpressionStatement","src":"90948:48:67"}]},"name":"cleanup_t_enum$_ErrorCodes_$8299","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"90903:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"90913:7:67","type":""}],"src":"90861:141:67"},{"body":{"nodeType":"YulBlock","src":"91069:82:67","statements":[{"nodeType":"YulAssignment","src":"91079:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"91090:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"91079:7:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"91139:5:67"}],"functionName":{"name":"validator_assert_t_enum$_QueryStatus_$7996","nodeType":"YulIdentifier","src":"91096:42:67"},"nodeType":"YulFunctionCall","src":"91096:49:67"},"nodeType":"YulExpressionStatement","src":"91096:49:67"}]},"name":"cleanup_t_enum$_QueryStatus_$7996","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"91051:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"91061:7:67","type":""}],"src":"91008:143:67"},{"body":{"nodeType":"YulBlock","src":"91201:48:67","statements":[{"nodeType":"YulAssignment","src":"91211:32:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"91233:2:67","type":"","value":"15"},{"name":"value","nodeType":"YulIdentifier","src":"91237:5:67"}],"functionName":{"name":"signextend","nodeType":"YulIdentifier","src":"91222:10:67"},"nodeType":"YulFunctionCall","src":"91222:21:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"91211:7:67"}]}]},"name":"cleanup_t_int128","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"91183:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"91193:7:67","type":""}],"src":"91157:92:67"},{"body":{"nodeType":"YulBlock","src":"91298:47:67","statements":[{"nodeType":"YulAssignment","src":"91308:31:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"91330:1:67","type":"","value":"3"},{"name":"value","nodeType":"YulIdentifier","src":"91333:5:67"}],"functionName":{"name":"signextend","nodeType":"YulIdentifier","src":"91319:10:67"},"nodeType":"YulFunctionCall","src":"91319:20:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"91308:7:67"}]}]},"name":"cleanup_t_int32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"91280:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"91290:7:67","type":""}],"src":"91255:90:67"},{"body":{"nodeType":"YulBlock","src":"91396:81:67","statements":[{"nodeType":"YulAssignment","src":"91406:65:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"91421:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"91428:42:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"91417:3:67"},"nodeType":"YulFunctionCall","src":"91417:54:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"91406:7:67"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"91378:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"91388:7:67","type":""}],"src":"91351:126:67"},{"body":{"nodeType":"YulBlock","src":"91528:32:67","statements":[{"nodeType":"YulAssignment","src":"91538:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"91549:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"91538:7:67"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"91510:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"91520:7:67","type":""}],"src":"91483:77:67"},{"body":{"nodeType":"YulBlock","src":"91610:49:67","statements":[{"nodeType":"YulAssignment","src":"91620:33:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"91635:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"91642:10:67","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"91631:3:67"},"nodeType":"YulFunctionCall","src":"91631:22:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"91620:7:67"}]}]},"name":"cleanup_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"91592:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"91602:7:67","type":""}],"src":"91566:93:67"},{"body":{"nodeType":"YulBlock","src":"91709:57:67","statements":[{"nodeType":"YulAssignment","src":"91719:41:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"91734:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"91741:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"91730:3:67"},"nodeType":"YulFunctionCall","src":"91730:30:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"91719:7:67"}]}]},"name":"cleanup_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"91691:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"91701:7:67","type":""}],"src":"91665:101:67"},{"body":{"nodeType":"YulBlock","src":"91815:43:67","statements":[{"nodeType":"YulAssignment","src":"91825:27:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"91840:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"91847:4:67","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"91836:3:67"},"nodeType":"YulFunctionCall","src":"91836:16:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"91825:7:67"}]}]},"name":"cleanup_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"91797:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"91807:7:67","type":""}],"src":"91772:86:67"},{"body":{"nodeType":"YulBlock","src":"91939:66:67","statements":[{"nodeType":"YulAssignment","src":"91949:50:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"91993:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_address","nodeType":"YulIdentifier","src":"91962:30:67"},"nodeType":"YulFunctionCall","src":"91962:37:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"91949:9:67"}]}]},"name":"convert_t_contract$_IERC20_$7292_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"91919:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"91929:9:67","type":""}],"src":"91864:141:67"},{"body":{"nodeType":"YulBlock","src":"92094:66:67","statements":[{"nodeType":"YulAssignment","src":"92104:50:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"92148:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_address","nodeType":"YulIdentifier","src":"92117:30:67"},"nodeType":"YulFunctionCall","src":"92117:37:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"92104:9:67"}]}]},"name":"convert_t_contract$_IWitnetRequest_$7510_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"92074:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"92084:9:67","type":""}],"src":"92011:149:67"},{"body":{"nodeType":"YulBlock","src":"92239:68:67","statements":[{"nodeType":"YulAssignment","src":"92249:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"92295:5:67"}],"functionName":{"name":"cleanup_t_enum$_ErrorCodes_$8299","nodeType":"YulIdentifier","src":"92262:32:67"},"nodeType":"YulFunctionCall","src":"92262:39:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"92249:9:67"}]}]},"name":"convert_t_enum$_ErrorCodes_$8299_to_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"92219:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"92229:9:67","type":""}],"src":"92166:141:67"},{"body":{"nodeType":"YulBlock","src":"92387:69:67","statements":[{"nodeType":"YulAssignment","src":"92397:53:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"92444:5:67"}],"functionName":{"name":"cleanup_t_enum$_QueryStatus_$7996","nodeType":"YulIdentifier","src":"92410:33:67"},"nodeType":"YulFunctionCall","src":"92410:40:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"92397:9:67"}]}]},"name":"convert_t_enum$_QueryStatus_$7996_to_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"92367:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"92377:9:67","type":""}],"src":"92313:143:67"},{"body":{"nodeType":"YulBlock","src":"92522:66:67","statements":[{"nodeType":"YulAssignment","src":"92532:50:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"92576:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_uint160","nodeType":"YulIdentifier","src":"92545:30:67"},"nodeType":"YulFunctionCall","src":"92545:37:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"92532:9:67"}]}]},"name":"convert_t_uint160_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"92502:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"92512:9:67","type":""}],"src":"92462:126:67"},{"body":{"nodeType":"YulBlock","src":"92654:53:67","statements":[{"nodeType":"YulAssignment","src":"92664:37:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"92695:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"92677:17:67"},"nodeType":"YulFunctionCall","src":"92677:24:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"92664:9:67"}]}]},"name":"convert_t_uint160_to_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"92634:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"92644:9:67","type":""}],"src":"92594:113:67"},{"body":{"nodeType":"YulBlock","src":"92764:103:67","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"92787:3:67"},{"name":"src","nodeType":"YulIdentifier","src":"92792:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"92797:6:67"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"92774:12:67"},"nodeType":"YulFunctionCall","src":"92774:30:67"},"nodeType":"YulExpressionStatement","src":"92774:30:67"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"92845:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"92850:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"92841:3:67"},"nodeType":"YulFunctionCall","src":"92841:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"92859:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"92834:6:67"},"nodeType":"YulFunctionCall","src":"92834:27:67"},"nodeType":"YulExpressionStatement","src":"92834:27:67"}]},"name":"copy_calldata_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"92746:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"92751:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"92756:6:67","type":""}],"src":"92713:154:67"},{"body":{"nodeType":"YulBlock","src":"92922:258:67","statements":[{"nodeType":"YulVariableDeclaration","src":"92932:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"92941:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"92936:1:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"93001:63:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"93026:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"93031:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"93022:3:67"},"nodeType":"YulFunctionCall","src":"93022:11:67"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"93045:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"93050:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"93041:3:67"},"nodeType":"YulFunctionCall","src":"93041:11:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"93035:5:67"},"nodeType":"YulFunctionCall","src":"93035:18:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"93015:6:67"},"nodeType":"YulFunctionCall","src":"93015:39:67"},"nodeType":"YulExpressionStatement","src":"93015:39:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"92962:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"92965:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"92959:2:67"},"nodeType":"YulFunctionCall","src":"92959:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"92973:19:67","statements":[{"nodeType":"YulAssignment","src":"92975:15:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"92984:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"92987:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"92980:3:67"},"nodeType":"YulFunctionCall","src":"92980:10:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"92975:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"92955:3:67","statements":[]},"src":"92951:113:67"},{"body":{"nodeType":"YulBlock","src":"93098:76:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"93148:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"93153:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"93144:3:67"},"nodeType":"YulFunctionCall","src":"93144:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"93162:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"93137:6:67"},"nodeType":"YulFunctionCall","src":"93137:27:67"},"nodeType":"YulExpressionStatement","src":"93137:27:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"93079:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"93082:6:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"93076:2:67"},"nodeType":"YulFunctionCall","src":"93076:13:67"},"nodeType":"YulIf","src":"93073:101:67"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"92904:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"92909:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"92914:6:67","type":""}],"src":"92873:307:67"},{"body":{"nodeType":"YulBlock","src":"93237:269:67","statements":[{"nodeType":"YulAssignment","src":"93247:22:67","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"93261:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"93267:1:67","type":"","value":"2"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"93257:3:67"},"nodeType":"YulFunctionCall","src":"93257:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"93247:6:67"}]},{"nodeType":"YulVariableDeclaration","src":"93278:38:67","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"93308:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"93314:1:67","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"93304:3:67"},"nodeType":"YulFunctionCall","src":"93304:12:67"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"93282:18:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"93355:51:67","statements":[{"nodeType":"YulAssignment","src":"93369:27:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"93383:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"93391:4:67","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"93379:3:67"},"nodeType":"YulFunctionCall","src":"93379:17:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"93369:6:67"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"93335:18:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"93328:6:67"},"nodeType":"YulFunctionCall","src":"93328:26:67"},"nodeType":"YulIf","src":"93325:81:67"},{"body":{"nodeType":"YulBlock","src":"93458:42:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x22","nodeType":"YulIdentifier","src":"93472:16:67"},"nodeType":"YulFunctionCall","src":"93472:18:67"},"nodeType":"YulExpressionStatement","src":"93472:18:67"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"93422:18:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"93445:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"93453:2:67","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"93442:2:67"},"nodeType":"YulFunctionCall","src":"93442:14:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"93419:2:67"},"nodeType":"YulFunctionCall","src":"93419:38:67"},"nodeType":"YulIf","src":"93416:84:67"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"93221:4:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"93230:6:67","type":""}],"src":"93186:320:67"},{"body":{"nodeType":"YulBlock","src":"93555:238:67","statements":[{"nodeType":"YulVariableDeclaration","src":"93565:58:67","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"93587:6:67"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"93617:4:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"93595:21:67"},"nodeType":"YulFunctionCall","src":"93595:27:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"93583:3:67"},"nodeType":"YulFunctionCall","src":"93583:40:67"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"93569:10:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"93734:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"93736:16:67"},"nodeType":"YulFunctionCall","src":"93736:18:67"},"nodeType":"YulExpressionStatement","src":"93736:18:67"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"93677:10:67"},{"kind":"number","nodeType":"YulLiteral","src":"93689:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"93674:2:67"},"nodeType":"YulFunctionCall","src":"93674:34:67"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"93713:10:67"},{"name":"memPtr","nodeType":"YulIdentifier","src":"93725:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"93710:2:67"},"nodeType":"YulFunctionCall","src":"93710:22:67"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"93671:2:67"},"nodeType":"YulFunctionCall","src":"93671:62:67"},"nodeType":"YulIf","src":"93668:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"93772:2:67","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"93776:10:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"93765:6:67"},"nodeType":"YulFunctionCall","src":"93765:22:67"},"nodeType":"YulExpressionStatement","src":"93765:22:67"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"93541:6:67","type":""},{"name":"size","nodeType":"YulTypedName","src":"93549:4:67","type":""}],"src":"93512:281:67"},{"body":{"nodeType":"YulBlock","src":"93842:190:67","statements":[{"nodeType":"YulAssignment","src":"93852:33:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"93879:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"93861:17:67"},"nodeType":"YulFunctionCall","src":"93861:24:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"93852:5:67"}]},{"body":{"nodeType":"YulBlock","src":"93975:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"93977:16:67"},"nodeType":"YulFunctionCall","src":"93977:18:67"},"nodeType":"YulExpressionStatement","src":"93977:18:67"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"93900:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"93907:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"93897:2:67"},"nodeType":"YulFunctionCall","src":"93897:77:67"},"nodeType":"YulIf","src":"93894:103:67"},{"nodeType":"YulAssignment","src":"94006:20:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"94017:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"94024:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"94013:3:67"},"nodeType":"YulFunctionCall","src":"94013:13:67"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"94006:3:67"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"93828:5:67","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"93838:3:67","type":""}],"src":"93799:233:67"},{"body":{"nodeType":"YulBlock","src":"94066:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"94083:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"94086:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"94076:6:67"},"nodeType":"YulFunctionCall","src":"94076:88:67"},"nodeType":"YulExpressionStatement","src":"94076:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"94180:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"94183:4:67","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"94173:6:67"},"nodeType":"YulFunctionCall","src":"94173:15:67"},"nodeType":"YulExpressionStatement","src":"94173:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"94204:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"94207:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"94197:6:67"},"nodeType":"YulFunctionCall","src":"94197:15:67"},"nodeType":"YulExpressionStatement","src":"94197:15:67"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"94038:180:67"},{"body":{"nodeType":"YulBlock","src":"94252:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"94269:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"94272:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"94262:6:67"},"nodeType":"YulFunctionCall","src":"94262:88:67"},"nodeType":"YulExpressionStatement","src":"94262:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"94366:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"94369:4:67","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"94359:6:67"},"nodeType":"YulFunctionCall","src":"94359:15:67"},"nodeType":"YulExpressionStatement","src":"94359:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"94390:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"94393:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"94383:6:67"},"nodeType":"YulFunctionCall","src":"94383:15:67"},"nodeType":"YulExpressionStatement","src":"94383:15:67"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"94224:180:67"},{"body":{"nodeType":"YulBlock","src":"94438:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"94455:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"94458:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"94448:6:67"},"nodeType":"YulFunctionCall","src":"94448:88:67"},"nodeType":"YulExpressionStatement","src":"94448:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"94552:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"94555:4:67","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"94545:6:67"},"nodeType":"YulFunctionCall","src":"94545:15:67"},"nodeType":"YulExpressionStatement","src":"94545:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"94576:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"94579:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"94569:6:67"},"nodeType":"YulFunctionCall","src":"94569:15:67"},"nodeType":"YulExpressionStatement","src":"94569:15:67"}]},"name":"panic_error_0x22","nodeType":"YulFunctionDefinition","src":"94410:180:67"},{"body":{"nodeType":"YulBlock","src":"94624:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"94641:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"94644:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"94634:6:67"},"nodeType":"YulFunctionCall","src":"94634:88:67"},"nodeType":"YulExpressionStatement","src":"94634:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"94738:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"94741:4:67","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"94731:6:67"},"nodeType":"YulFunctionCall","src":"94731:15:67"},"nodeType":"YulExpressionStatement","src":"94731:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"94762:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"94765:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"94755:6:67"},"nodeType":"YulFunctionCall","src":"94755:15:67"},"nodeType":"YulExpressionStatement","src":"94755:15:67"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"94596:180:67"},{"body":{"nodeType":"YulBlock","src":"94810:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"94827:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"94830:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"94820:6:67"},"nodeType":"YulFunctionCall","src":"94820:88:67"},"nodeType":"YulExpressionStatement","src":"94820:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"94924:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"94927:4:67","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"94917:6:67"},"nodeType":"YulFunctionCall","src":"94917:15:67"},"nodeType":"YulExpressionStatement","src":"94917:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"94948:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"94951:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"94941:6:67"},"nodeType":"YulFunctionCall","src":"94941:15:67"},"nodeType":"YulExpressionStatement","src":"94941:15:67"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"94782:180:67"},{"body":{"nodeType":"YulBlock","src":"95007:144:67","statements":[{"body":{"nodeType":"YulBlock","src":"95044:101:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"95073:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"95076:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"95079:1:67","type":"","value":"4"}],"functionName":{"name":"returndatacopy","nodeType":"YulIdentifier","src":"95058:14:67"},"nodeType":"YulFunctionCall","src":"95058:23:67"},"nodeType":"YulExpressionStatement","src":"95058:23:67"},{"nodeType":"YulAssignment","src":"95094:41:67","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"95132:1:67","type":"","value":"0"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"95126:5:67"},"nodeType":"YulFunctionCall","src":"95126:8:67"}],"functionName":{"name":"shift_right_224_unsigned","nodeType":"YulIdentifier","src":"95101:24:67"},"nodeType":"YulFunctionCall","src":"95101:34:67"},"variableNames":[{"name":"sig","nodeType":"YulIdentifier","src":"95094:3:67"}]}]},"condition":{"arguments":[{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"95023:14:67"},"nodeType":"YulFunctionCall","src":"95023:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"95041:1:67","type":"","value":"3"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"95020:2:67"},"nodeType":"YulFunctionCall","src":"95020:23:67"},"nodeType":"YulIf","src":"95017:128:67"}]},"name":"return_data_selector","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"sig","nodeType":"YulTypedName","src":"95003:3:67","type":""}],"src":"94968:183:67"},{"body":{"nodeType":"YulBlock","src":"95246:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"95263:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"95266:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"95256:6:67"},"nodeType":"YulFunctionCall","src":"95256:12:67"},"nodeType":"YulExpressionStatement","src":"95256:12:67"}]},"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulFunctionDefinition","src":"95157:117:67"},{"body":{"nodeType":"YulBlock","src":"95369:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"95386:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"95389:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"95379:6:67"},"nodeType":"YulFunctionCall","src":"95379:12:67"},"nodeType":"YulExpressionStatement","src":"95379:12:67"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"95280:117:67"},{"body":{"nodeType":"YulBlock","src":"95492:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"95509:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"95512:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"95502:6:67"},"nodeType":"YulFunctionCall","src":"95502:12:67"},"nodeType":"YulExpressionStatement","src":"95502:12:67"}]},"name":"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f","nodeType":"YulFunctionDefinition","src":"95403:117:67"},{"body":{"nodeType":"YulBlock","src":"95615:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"95632:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"95635:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"95625:6:67"},"nodeType":"YulFunctionCall","src":"95625:12:67"},"nodeType":"YulExpressionStatement","src":"95625:12:67"}]},"name":"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421","nodeType":"YulFunctionDefinition","src":"95526:117:67"},{"body":{"nodeType":"YulBlock","src":"95738:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"95755:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"95758:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"95748:6:67"},"nodeType":"YulFunctionCall","src":"95748:12:67"},"nodeType":"YulExpressionStatement","src":"95748:12:67"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulFunctionDefinition","src":"95649:117:67"},{"body":{"nodeType":"YulBlock","src":"95861:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"95878:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"95881:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"95871:6:67"},"nodeType":"YulFunctionCall","src":"95871:12:67"},"nodeType":"YulExpressionStatement","src":"95871:12:67"}]},"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulFunctionDefinition","src":"95772:117:67"},{"body":{"nodeType":"YulBlock","src":"95984:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"96001:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"96004:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"95994:6:67"},"nodeType":"YulFunctionCall","src":"95994:12:67"},"nodeType":"YulExpressionStatement","src":"95994:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"95895:117:67"},{"body":{"nodeType":"YulBlock","src":"96107:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"96124:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"96127:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"96117:6:67"},"nodeType":"YulFunctionCall","src":"96117:12:67"},"nodeType":"YulExpressionStatement","src":"96117:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"96018:117:67"},{"body":{"nodeType":"YulBlock","src":"96189:54:67","statements":[{"nodeType":"YulAssignment","src":"96199:38:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"96217:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"96224:2:67","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"96213:3:67"},"nodeType":"YulFunctionCall","src":"96213:14:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"96233:2:67","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"96229:3:67"},"nodeType":"YulFunctionCall","src":"96229:7:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"96209:3:67"},"nodeType":"YulFunctionCall","src":"96209:28:67"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"96199:6:67"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"96172:5:67","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"96182:6:67","type":""}],"src":"96141:102:67"},{"body":{"nodeType":"YulBlock","src":"96302:53:67","statements":[{"nodeType":"YulAssignment","src":"96312:36:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"96337:3:67","type":"","value":"224"},{"name":"value","nodeType":"YulIdentifier","src":"96342:5:67"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"96333:3:67"},"nodeType":"YulFunctionCall","src":"96333:15:67"},"variableNames":[{"name":"newValue","nodeType":"YulIdentifier","src":"96312:8:67"}]}]},"name":"shift_right_224_unsigned","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"96283:5:67","type":""}],"returnVariables":[{"name":"newValue","nodeType":"YulTypedName","src":"96293:8:67","type":""}],"src":"96249:106:67"},{"body":{"nodeType":"YulBlock","src":"96467:125:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"96489:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"96497:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"96485:3:67"},"nodeType":"YulFunctionCall","src":"96485:14:67"},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a","kind":"string","nodeType":"YulLiteral","src":"96501:34:67","type":"","value":"WitnetRequestBoardTrustableBase:"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96478:6:67"},"nodeType":"YulFunctionCall","src":"96478:58:67"},"nodeType":"YulExpressionStatement","src":"96478:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"96557:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"96565:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"96553:3:67"},"nodeType":"YulFunctionCall","src":"96553:15:67"},{"hexValue":"206e756c6c20736372697074","kind":"string","nodeType":"YulLiteral","src":"96570:14:67","type":"","value":" null script"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96546:6:67"},"nodeType":"YulFunctionCall","src":"96546:39:67"},"nodeType":"YulExpressionStatement","src":"96546:39:67"}]},"name":"store_literal_in_memory_0be555820c60b6124cd4a527104e7ed2ef896a14c9cdf1f4d0c1a79561ea22c4","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"96459:6:67","type":""}],"src":"96361:231:67"},{"body":{"nodeType":"YulBlock","src":"96704:122:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"96726:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"96734:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"96722:3:67"},"nodeType":"YulFunctionCall","src":"96722:14:67"},{"hexValue":"5769746e657452657175657374426f6172643a206e6f207472616e7366657273","kind":"string","nodeType":"YulLiteral","src":"96738:34:67","type":"","value":"WitnetRequestBoard: no transfers"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96715:6:67"},"nodeType":"YulFunctionCall","src":"96715:58:67"},"nodeType":"YulExpressionStatement","src":"96715:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"96794:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"96802:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"96790:3:67"},"nodeType":"YulFunctionCall","src":"96790:15:67"},{"hexValue":"206163636570746564","kind":"string","nodeType":"YulLiteral","src":"96807:11:67","type":"","value":" accepted"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96783:6:67"},"nodeType":"YulFunctionCall","src":"96783:36:67"},"nodeType":"YulExpressionStatement","src":"96783:36:67"}]},"name":"store_literal_in_memory_0d0f3639c50be0afccc47d7224de7d8f86286c512c889d59db02617fd5eda150","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"96696:6:67","type":""}],"src":"96598:228:67"},{"body":{"nodeType":"YulBlock","src":"96938:127:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"96960:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"96968:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"96956:3:67"},"nodeType":"YulFunctionCall","src":"96956:14:67"},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a","kind":"string","nodeType":"YulLiteral","src":"96972:34:67","type":"","value":"WitnetRequestBoardTrustableBase:"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96949:6:67"},"nodeType":"YulFunctionCall","src":"96949:58:67"},"nodeType":"YulExpressionStatement","src":"96949:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"97028:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"97036:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"97024:3:67"},"nodeType":"YulFunctionCall","src":"97024:15:67"},{"hexValue":"206261642074696d657374616d70","kind":"string","nodeType":"YulLiteral","src":"97041:16:67","type":"","value":" bad timestamp"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"97017:6:67"},"nodeType":"YulFunctionCall","src":"97017:41:67"},"nodeType":"YulExpressionStatement","src":"97017:41:67"}]},"name":"store_literal_in_memory_1581ae06fefdfc841abacd4b63952c567c2edc2bc8c7899a32661f6a801e746b","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"96930:6:67","type":""}],"src":"96832:233:67"},{"body":{"nodeType":"YulBlock","src":"97177:71:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"97199:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"97207:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"97195:3:67"},"nodeType":"YulFunctionCall","src":"97195:14:67"},{"hexValue":"5769746e6574426f617264446174613a206f6e6c79206f776e6572","kind":"string","nodeType":"YulLiteral","src":"97211:29:67","type":"","value":"WitnetBoardData: only owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"97188:6:67"},"nodeType":"YulFunctionCall","src":"97188:53:67"},"nodeType":"YulExpressionStatement","src":"97188:53:67"}]},"name":"store_literal_in_memory_1f8274dcdd937f970d48bf777d3a3d5fbcf9897829d796148c2d8edcd419ec5d","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"97169:6:67","type":""}],"src":"97071:177:67"},{"body":{"nodeType":"YulBlock","src":"97360:130:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"97382:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"97390:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"97378:3:67"},"nodeType":"YulFunctionCall","src":"97378:14:67"},{"hexValue":"5769746e657452657175657374426f617264547275737461626c654465666175","kind":"string","nodeType":"YulLiteral","src":"97394:34:67","type":"","value":"WitnetRequestBoardTrustableDefau"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"97371:6:67"},"nodeType":"YulFunctionCall","src":"97371:58:67"},"nodeType":"YulExpressionStatement","src":"97371:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"97450:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"97458:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"97446:3:67"},"nodeType":"YulFunctionCall","src":"97446:15:67"},{"hexValue":"6c743a206261642074696d657374616d70","kind":"string","nodeType":"YulLiteral","src":"97463:19:67","type":"","value":"lt: bad timestamp"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"97439:6:67"},"nodeType":"YulFunctionCall","src":"97439:44:67"},"nodeType":"YulExpressionStatement","src":"97439:44:67"}]},"name":"store_literal_in_memory_33e565b65d8aa6e9990eec2cc32f99865d7f76bbee3771b62789ab97e5a37d7f","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"97352:6:67","type":""}],"src":"97254:236:67"},{"body":{"nodeType":"YulBlock","src":"97602:125:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"97624:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"97632:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"97620:3:67"},"nodeType":"YulFunctionCall","src":"97620:14:67"},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a","kind":"string","nodeType":"YulLiteral","src":"97636:34:67","type":"","value":"WitnetRequestBoardTrustableBase:"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"97613:6:67"},"nodeType":"YulFunctionCall","src":"97613:58:67"},"nodeType":"YulExpressionStatement","src":"97613:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"97692:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"97700:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"97688:3:67"},"nodeType":"YulFunctionCall","src":"97688:15:67"},{"hexValue":"206261642071756572794964","kind":"string","nodeType":"YulLiteral","src":"97705:14:67","type":"","value":" bad queryId"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"97681:6:67"},"nodeType":"YulFunctionCall","src":"97681:39:67"},"nodeType":"YulExpressionStatement","src":"97681:39:67"}]},"name":"store_literal_in_memory_3b4bb84f4a99e05df33e41f62f5366e4016b4735b6f76082d73cf5d8831faa3e","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"97594:6:67","type":""}],"src":"97496:231:67"},{"body":{"nodeType":"YulBlock","src":"97839:126:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"97861:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"97869:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"97857:3:67"},"nodeType":"YulFunctionCall","src":"97857:14:67"},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a","kind":"string","nodeType":"YulLiteral","src":"97873:34:67","type":"","value":"WitnetRequestBoardTrustableBase:"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"97850:6:67"},"nodeType":"YulFunctionCall","src":"97850:58:67"},"nodeType":"YulExpressionStatement","src":"97850:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"97929:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"97937:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"97925:3:67"},"nodeType":"YulFunctionCall","src":"97925:15:67"},{"hexValue":"20656d70747920736372697074","kind":"string","nodeType":"YulLiteral","src":"97942:15:67","type":"","value":" empty script"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"97918:6:67"},"nodeType":"YulFunctionCall","src":"97918:40:67"},"nodeType":"YulExpressionStatement","src":"97918:40:67"}]},"name":"store_literal_in_memory_3d43510da44c3e08f6dfef5e320d0e99d425bf23f74114ae066f5af47319ad5c","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"97831:6:67","type":""}],"src":"97733:232:67"},{"body":{"nodeType":"YulBlock","src":"98077:128:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"98099:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"98107:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"98095:3:67"},"nodeType":"YulFunctionCall","src":"98095:14:67"},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a","kind":"string","nodeType":"YulLiteral","src":"98111:34:67","type":"","value":"WitnetRequestBoardTrustableBase:"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"98088:6:67"},"nodeType":"YulFunctionCall","src":"98088:58:67"},"nodeType":"YulExpressionStatement","src":"98088:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"98167:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"98175:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"98163:3:67"},"nodeType":"YulFunctionCall","src":"98163:15:67"},{"hexValue":"206f6e6c7920726571756573746572","kind":"string","nodeType":"YulLiteral","src":"98180:17:67","type":"","value":" only requester"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"98156:6:67"},"nodeType":"YulFunctionCall","src":"98156:42:67"},"nodeType":"YulExpressionStatement","src":"98156:42:67"}]},"name":"store_literal_in_memory_4425c56dbfedfa02467de27608a6ff1e4faacad72797eafb38bb660bf95f7eee","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"98069:6:67","type":""}],"src":"97971:234:67"},{"body":{"nodeType":"YulBlock","src":"98317:128:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"98339:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"98347:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"98335:3:67"},"nodeType":"YulFunctionCall","src":"98335:14:67"},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a","kind":"string","nodeType":"YulLiteral","src":"98351:34:67","type":"","value":"WitnetRequestBoardTrustableBase:"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"98328:6:67"},"nodeType":"YulFunctionCall","src":"98328:58:67"},"nodeType":"YulExpressionStatement","src":"98328:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"98407:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"98415:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"98403:3:67"},"nodeType":"YulFunctionCall","src":"98403:15:67"},{"hexValue":"2072657761726420746f6f206c6f77","kind":"string","nodeType":"YulLiteral","src":"98420:17:67","type":"","value":" reward too low"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"98396:6:67"},"nodeType":"YulFunctionCall","src":"98396:42:67"},"nodeType":"YulExpressionStatement","src":"98396:42:67"}]},"name":"store_literal_in_memory_48f3e667c3593a2e92c7dce9bfc9484f97112384c1450711c71171e05fb5759a","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"98309:6:67","type":""}],"src":"98211:234:67"},{"body":{"nodeType":"YulBlock","src":"98557:144:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"98579:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"98587:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"98575:3:67"},"nodeType":"YulFunctionCall","src":"98575:14:67"},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a","kind":"string","nodeType":"YulLiteral","src":"98591:34:67","type":"","value":"WitnetRequestBoardTrustableBase:"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"98568:6:67"},"nodeType":"YulFunctionCall","src":"98568:58:67"},"nodeType":"YulExpressionStatement","src":"98568:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"98647:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"98655:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"98643:3:67"},"nodeType":"YulFunctionCall","src":"98643:15:67"},{"hexValue":"2062797465636f6465206368616e67656420616674657220706f7374696e67","kind":"string","nodeType":"YulLiteral","src":"98660:33:67","type":"","value":" bytecode changed after posting"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"98636:6:67"},"nodeType":"YulFunctionCall","src":"98636:58:67"},"nodeType":"YulExpressionStatement","src":"98636:58:67"}]},"name":"store_literal_in_memory_58fe038ba911826a5f966fdd037e315cc531824afa5103a4407b08d95d19ddce","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"98549:6:67","type":""}],"src":"98451:250:67"},{"body":{"nodeType":"YulBlock","src":"98813:184:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"98835:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"98843:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"98831:3:67"},"nodeType":"YulFunctionCall","src":"98831:14:67"},{"hexValue":"5769746e657452657175657374426f617264547275737461626c654465666175","kind":"string","nodeType":"YulLiteral","src":"98847:34:67","type":"","value":"WitnetRequestBoardTrustableDefau"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"98824:6:67"},"nodeType":"YulFunctionCall","src":"98824:58:67"},"nodeType":"YulExpressionStatement","src":"98824:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"98903:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"98911:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"98899:3:67"},"nodeType":"YulFunctionCall","src":"98899:15:67"},{"hexValue":"6c743a205769746e65742064725478486173682063616e6e6f74206265207a65","kind":"string","nodeType":"YulLiteral","src":"98916:34:67","type":"","value":"lt: Witnet drTxHash cannot be ze"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"98892:6:67"},"nodeType":"YulFunctionCall","src":"98892:59:67"},"nodeType":"YulExpressionStatement","src":"98892:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"98972:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"98980:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"98968:3:67"},"nodeType":"YulFunctionCall","src":"98968:15:67"},{"hexValue":"726f","kind":"string","nodeType":"YulLiteral","src":"98985:4:67","type":"","value":"ro"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"98961:6:67"},"nodeType":"YulFunctionCall","src":"98961:29:67"},"nodeType":"YulExpressionStatement","src":"98961:29:67"}]},"name":"store_literal_in_memory_5fa4f20d3b547b43c3b49de4f5c62b8d87a47a9169c1a1db0d172150993aa1eb","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"98805:6:67","type":""}],"src":"98707:290:67"},{"body":{"nodeType":"YulBlock","src":"99109:123:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"99131:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"99139:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"99127:3:67"},"nodeType":"YulFunctionCall","src":"99127:14:67"},{"hexValue":"5769746e6574426f6172644461746141434c733a20756e617574686f72697a65","kind":"string","nodeType":"YulLiteral","src":"99143:34:67","type":"","value":"WitnetBoardDataACLs: unauthorize"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"99120:6:67"},"nodeType":"YulFunctionCall","src":"99120:58:67"},"nodeType":"YulExpressionStatement","src":"99120:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"99199:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"99207:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"99195:3:67"},"nodeType":"YulFunctionCall","src":"99195:15:67"},{"hexValue":"64207265706f72746572","kind":"string","nodeType":"YulLiteral","src":"99212:12:67","type":"","value":"d reporter"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"99188:6:67"},"nodeType":"YulFunctionCall","src":"99188:37:67"},"nodeType":"YulExpressionStatement","src":"99188:37:67"}]},"name":"store_literal_in_memory_72b1f434e16ac1cf02aa4ce2f0f63ef536c0a2e88f68b1067ef152351f0087f1","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"99101:6:67","type":""}],"src":"99003:229:67"},{"body":{"nodeType":"YulBlock","src":"99344:126:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"99366:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"99374:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"99362:3:67"},"nodeType":"YulFunctionCall","src":"99362:14:67"},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a","kind":"string","nodeType":"YulLiteral","src":"99378:34:67","type":"","value":"WitnetRequestBoardTrustableBase:"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"99355:6:67"},"nodeType":"YulFunctionCall","src":"99355:58:67"},"nodeType":"YulExpressionStatement","src":"99355:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"99434:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"99442:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"99430:3:67"},"nodeType":"YulFunctionCall","src":"99430:15:67"},{"hexValue":"20626164206472547848617368","kind":"string","nodeType":"YulLiteral","src":"99447:15:67","type":"","value":" bad drTxHash"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"99423:6:67"},"nodeType":"YulFunctionCall","src":"99423:40:67"},"nodeType":"YulExpressionStatement","src":"99423:40:67"}]},"name":"store_literal_in_memory_8e0ffa273c001ae051d701178ac5c710a5b4d9fec98205577ebc7425e417a801","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"99336:6:67","type":""}],"src":"99238:232:67"},{"body":{"nodeType":"YulBlock","src":"99582:139:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"99604:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"99612:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"99600:3:67"},"nodeType":"YulFunctionCall","src":"99600:14:67"},{"hexValue":"5769746e657452657175657374426f617264547275737461626c654465666175","kind":"string","nodeType":"YulLiteral","src":"99616:34:67","type":"","value":"WitnetRequestBoardTrustableDefau"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"99593:6:67"},"nodeType":"YulFunctionCall","src":"99593:58:67"},"nodeType":"YulExpressionStatement","src":"99593:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"99672:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"99680:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"99668:3:67"},"nodeType":"YulFunctionCall","src":"99668:15:67"},{"hexValue":"6c743a20726573756c742063616e6e6f7420626520656d707479","kind":"string","nodeType":"YulLiteral","src":"99685:28:67","type":"","value":"lt: result cannot be empty"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"99661:6:67"},"nodeType":"YulFunctionCall","src":"99661:53:67"},"nodeType":"YulExpressionStatement","src":"99661:53:67"}]},"name":"store_literal_in_memory_9fa14ac89471826c5bc72b75de3388cdde56a33fbf6bb575f16de2cc5916ce84","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"99574:6:67","type":""}],"src":"99476:245:67"},{"body":{"nodeType":"YulBlock","src":"99833:133:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"99855:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"99863:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"99851:3:67"},"nodeType":"YulFunctionCall","src":"99851:14:67"},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a","kind":"string","nodeType":"YulLiteral","src":"99867:34:67","type":"","value":"WitnetRequestBoardTrustableBase:"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"99844:6:67"},"nodeType":"YulFunctionCall","src":"99844:58:67"},"nodeType":"YulExpressionStatement","src":"99844:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"99923:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"99931:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"99919:3:67"},"nodeType":"YulFunctionCall","src":"99919:15:67"},{"hexValue":"20616c726561647920696e697469616c697a6564","kind":"string","nodeType":"YulLiteral","src":"99936:22:67","type":"","value":" already initialized"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"99912:6:67"},"nodeType":"YulFunctionCall","src":"99912:47:67"},"nodeType":"YulExpressionStatement","src":"99912:47:67"}]},"name":"store_literal_in_memory_aac6109e25b977a3666829c5faa653ddebecef9c73e0dbd918342867acf0b90b","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"99825:6:67","type":""}],"src":"99727:239:67"},{"body":{"nodeType":"YulBlock","src":"100078:124:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"100100:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"100108:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"100096:3:67"},"nodeType":"YulFunctionCall","src":"100096:14:67"},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a","kind":"string","nodeType":"YulLiteral","src":"100112:34:67","type":"","value":"WitnetRequestBoardTrustableBase:"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"100089:6:67"},"nodeType":"YulFunctionCall","src":"100089:58:67"},"nodeType":"YulExpressionStatement","src":"100089:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"100168:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"100176:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"100164:3:67"},"nodeType":"YulFunctionCall","src":"100164:15:67"},{"hexValue":"206f6e6c79206f776e6572","kind":"string","nodeType":"YulLiteral","src":"100181:13:67","type":"","value":" only owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"100157:6:67"},"nodeType":"YulFunctionCall","src":"100157:38:67"},"nodeType":"YulExpressionStatement","src":"100157:38:67"}]},"name":"store_literal_in_memory_ba6ce338a8b77b4309b1dcba6abb75801c6b8961785823dfa406357c96ccf60d","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"100070:6:67","type":""}],"src":"99972:230:67"},{"body":{"nodeType":"YulBlock","src":"100314:127:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"100336:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"100344:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"100332:3:67"},"nodeType":"YulFunctionCall","src":"100332:14:67"},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a","kind":"string","nodeType":"YulLiteral","src":"100348:34:67","type":"","value":"WitnetRequestBoardTrustableBase:"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"100325:6:67"},"nodeType":"YulFunctionCall","src":"100325:58:67"},"nodeType":"YulExpressionStatement","src":"100325:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"100404:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"100412:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"100400:3:67"},"nodeType":"YulFunctionCall","src":"100400:15:67"},{"hexValue":"206261642063626f724279746573","kind":"string","nodeType":"YulLiteral","src":"100417:16:67","type":"","value":" bad cborBytes"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"100393:6:67"},"nodeType":"YulFunctionCall","src":"100393:41:67"},"nodeType":"YulExpressionStatement","src":"100393:41:67"}]},"name":"store_literal_in_memory_e251d84e62e5492f0ae8601bf0b4d92f0e11ae4eb6623c0c4134c63f7dd56847","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"100306:6:67","type":""}],"src":"100208:233:67"},{"body":{"nodeType":"YulBlock","src":"100553:128:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"100575:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"100583:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"100571:3:67"},"nodeType":"YulFunctionCall","src":"100571:14:67"},{"hexValue":"5769746e657452657175657374426f617264547275737461626c65426173653a","kind":"string","nodeType":"YulLiteral","src":"100587:34:67","type":"","value":"WitnetRequestBoardTrustableBase:"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"100564:6:67"},"nodeType":"YulFunctionCall","src":"100564:58:67"},"nodeType":"YulExpressionStatement","src":"100564:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"100643:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"100651:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"100639:3:67"},"nodeType":"YulFunctionCall","src":"100639:15:67"},{"hexValue":"206e6f742079657420706f73746564","kind":"string","nodeType":"YulLiteral","src":"100656:17:67","type":"","value":" not yet posted"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"100632:6:67"},"nodeType":"YulFunctionCall","src":"100632:42:67"},"nodeType":"YulExpressionStatement","src":"100632:42:67"}]},"name":"store_literal_in_memory_ea4580d893291eb488d1f84e08baa4c835b386770db72420b713c9cfcfc0dfb6","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"100545:6:67","type":""}],"src":"100447:234:67"},{"body":{"nodeType":"YulBlock","src":"100793:130:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"100815:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"100823:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"100811:3:67"},"nodeType":"YulFunctionCall","src":"100811:14:67"},{"hexValue":"5769746e657452657175657374426f61726455706772616461626c6542617365","kind":"string","nodeType":"YulLiteral","src":"100827:34:67","type":"","value":"WitnetRequestBoardUpgradableBase"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"100804:6:67"},"nodeType":"YulFunctionCall","src":"100804:58:67"},"nodeType":"YulExpressionStatement","src":"100804:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"100883:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"100891:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"100879:3:67"},"nodeType":"YulFunctionCall","src":"100879:15:67"},{"hexValue":"3a206e6f7420696d706c656d656e746564","kind":"string","nodeType":"YulLiteral","src":"100896:19:67","type":"","value":": not implemented"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"100872:6:67"},"nodeType":"YulFunctionCall","src":"100872:44:67"},"nodeType":"YulExpressionStatement","src":"100872:44:67"}]},"name":"store_literal_in_memory_ebdfd38fe21ca0808fdb840ac4bd9b3f5d98f2e7880341f5272855af32dcb094","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"100785:6:67","type":""}],"src":"100687:236:67"},{"body":{"nodeType":"YulBlock","src":"100972:668:67","statements":[{"body":{"nodeType":"YulBlock","src":"101012:9:67","statements":[{"nodeType":"YulLeave","src":"101014:5:67"}]},"condition":{"arguments":[{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"100988:14:67"},"nodeType":"YulFunctionCall","src":"100988:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"101006:4:67","type":"","value":"0x44"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"100985:2:67"},"nodeType":"YulFunctionCall","src":"100985:26:67"},"nodeType":"YulIf","src":"100982:39:67"},{"nodeType":"YulVariableDeclaration","src":"101031:32:67","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"101043:18:67"},"nodeType":"YulFunctionCall","src":"101043:20:67"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"101035:4:67","type":""}]},{"expression":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"101087:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"101093:1:67","type":"","value":"4"},{"arguments":[{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"101100:14:67"},"nodeType":"YulFunctionCall","src":"101100:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"101118:1:67","type":"","value":"4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"101096:3:67"},"nodeType":"YulFunctionCall","src":"101096:24:67"}],"functionName":{"name":"returndatacopy","nodeType":"YulIdentifier","src":"101072:14:67"},"nodeType":"YulFunctionCall","src":"101072:49:67"},"nodeType":"YulExpressionStatement","src":"101072:49:67"},{"nodeType":"YulVariableDeclaration","src":"101131:25:67","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"101151:4:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"101145:5:67"},"nodeType":"YulFunctionCall","src":"101145:11:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"101135:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"101282:29:67","statements":[{"nodeType":"YulLeave","src":"101296:5:67"}]},"condition":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"101187:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"101195:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"101184:2:67"},"nodeType":"YulFunctionCall","src":"101184:30:67"},{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"101235:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"101243:4:67","type":"","value":"0x24"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"101231:3:67"},"nodeType":"YulFunctionCall","src":"101231:17:67"},{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"101250:14:67"},"nodeType":"YulFunctionCall","src":"101250:16:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"101228:2:67"},"nodeType":"YulFunctionCall","src":"101228:39:67"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"101168:2:67"},"nodeType":"YulFunctionCall","src":"101168:113:67"},"nodeType":"YulIf","src":"101165:146:67"},{"nodeType":"YulVariableDeclaration","src":"101321:28:67","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"101336:4:67"},{"name":"offset","nodeType":"YulIdentifier","src":"101342:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"101332:3:67"},"nodeType":"YulFunctionCall","src":"101332:17:67"},"variables":[{"name":"msg","nodeType":"YulTypedName","src":"101325:3:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"101358:24:67","value":{"arguments":[{"name":"msg","nodeType":"YulIdentifier","src":"101378:3:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"101372:5:67"},"nodeType":"YulFunctionCall","src":"101372:10:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"101362:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"101425:9:67","statements":[{"nodeType":"YulLeave","src":"101427:5:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"101397:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"101405:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"101394:2:67"},"nodeType":"YulFunctionCall","src":"101394:30:67"},"nodeType":"YulIf","src":"101391:43:67"},{"nodeType":"YulVariableDeclaration","src":"101444:38:67","value":{"arguments":[{"arguments":[{"name":"msg","nodeType":"YulIdentifier","src":"101463:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"101468:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"101459:3:67"},"nodeType":"YulFunctionCall","src":"101459:14:67"},{"name":"length","nodeType":"YulIdentifier","src":"101475:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"101455:3:67"},"nodeType":"YulFunctionCall","src":"101455:27:67"},"variables":[{"name":"end","nodeType":"YulTypedName","src":"101448:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"101539:9:67","statements":[{"nodeType":"YulLeave","src":"101541:5:67"}]},"condition":{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"101497:3:67"},{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"101506:4:67"},{"arguments":[{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"101516:14:67"},"nodeType":"YulFunctionCall","src":"101516:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"101534:1:67","type":"","value":"4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"101512:3:67"},"nodeType":"YulFunctionCall","src":"101512:24:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"101502:3:67"},"nodeType":"YulFunctionCall","src":"101502:35:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"101494:2:67"},"nodeType":"YulFunctionCall","src":"101494:44:67"},"nodeType":"YulIf","src":"101491:57:67"},{"expression":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"101578:4:67"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"101588:6:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"101600:4:67","type":"","value":"0x20"},{"name":"length","nodeType":"YulIdentifier","src":"101606:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"101596:3:67"},"nodeType":"YulFunctionCall","src":"101596:17:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"101584:3:67"},"nodeType":"YulFunctionCall","src":"101584:30:67"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"101558:19:67"},"nodeType":"YulFunctionCall","src":"101558:57:67"},"nodeType":"YulExpressionStatement","src":"101558:57:67"},{"nodeType":"YulAssignment","src":"101624:10:67","value":{"name":"msg","nodeType":"YulIdentifier","src":"101631:3:67"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"101624:3:67"}]}]},"name":"try_decode_error_message","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"100968:3:67","type":""}],"src":"100929:711:67"},{"body":{"nodeType":"YulBlock","src":"101704:64:67","statements":[{"body":{"nodeType":"YulBlock","src":"101740:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"101742:16:67"},"nodeType":"YulFunctionCall","src":"101742:18:67"},"nodeType":"YulExpressionStatement","src":"101742:18:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"101727:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"101734:3:67","type":"","value":"256"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"101724:2:67"},"nodeType":"YulFunctionCall","src":"101724:14:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"101717:6:67"},"nodeType":"YulFunctionCall","src":"101717:22:67"},"nodeType":"YulIf","src":"101714:48:67"}]},"name":"validator_assert_t_enum$_ErrorCodes_$8299","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"101697:5:67","type":""}],"src":"101646:122:67"},{"body":{"nodeType":"YulBlock","src":"101833:62:67","statements":[{"body":{"nodeType":"YulBlock","src":"101867:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"101869:16:67"},"nodeType":"YulFunctionCall","src":"101869:18:67"},"nodeType":"YulExpressionStatement","src":"101869:18:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"101856:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"101863:1:67","type":"","value":"4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"101853:2:67"},"nodeType":"YulFunctionCall","src":"101853:12:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"101846:6:67"},"nodeType":"YulFunctionCall","src":"101846:20:67"},"nodeType":"YulIf","src":"101843:46:67"}]},"name":"validator_assert_t_enum$_QueryStatus_$7996","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"101826:5:67","type":""}],"src":"101774:121:67"},{"body":{"nodeType":"YulBlock","src":"101944:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"102001:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"102010:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"102013:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"102003:6:67"},"nodeType":"YulFunctionCall","src":"102003:12:67"},"nodeType":"YulExpressionStatement","src":"102003:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"101967:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"101992:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"101974:17:67"},"nodeType":"YulFunctionCall","src":"101974:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"101964:2:67"},"nodeType":"YulFunctionCall","src":"101964:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"101957:6:67"},"nodeType":"YulFunctionCall","src":"101957:43:67"},"nodeType":"YulIf","src":"101954:63:67"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"101937:5:67","type":""}],"src":"101901:122:67"},{"body":{"nodeType":"YulBlock","src":"102069:76:67","statements":[{"body":{"nodeType":"YulBlock","src":"102123:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"102132:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"102135:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"102125:6:67"},"nodeType":"YulFunctionCall","src":"102125:12:67"},"nodeType":"YulExpressionStatement","src":"102125:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"102092:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"102114:5:67"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"102099:14:67"},"nodeType":"YulFunctionCall","src":"102099:21:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"102089:2:67"},"nodeType":"YulFunctionCall","src":"102089:32:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"102082:6:67"},"nodeType":"YulFunctionCall","src":"102082:40:67"},"nodeType":"YulIf","src":"102079:60:67"}]},"name":"validator_revert_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"102062:5:67","type":""}],"src":"102029:116:67"},{"body":{"nodeType":"YulBlock","src":"102194:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"102251:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"102260:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"102263:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"102253:6:67"},"nodeType":"YulFunctionCall","src":"102253:12:67"},"nodeType":"YulExpressionStatement","src":"102253:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"102217:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"102242:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"102224:17:67"},"nodeType":"YulFunctionCall","src":"102224:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"102214:2:67"},"nodeType":"YulFunctionCall","src":"102214:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"102207:6:67"},"nodeType":"YulFunctionCall","src":"102207:43:67"},"nodeType":"YulIf","src":"102204:63:67"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"102187:5:67","type":""}],"src":"102151:122:67"},{"body":{"nodeType":"YulBlock","src":"102345:102:67","statements":[{"body":{"nodeType":"YulBlock","src":"102425:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"102434:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"102437:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"102427:6:67"},"nodeType":"YulFunctionCall","src":"102427:12:67"},"nodeType":"YulExpressionStatement","src":"102427:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"102368:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"102416:5:67"}],"functionName":{"name":"cleanup_t_contract$_IWitnetRequest_$7510","nodeType":"YulIdentifier","src":"102375:40:67"},"nodeType":"YulFunctionCall","src":"102375:47:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"102365:2:67"},"nodeType":"YulFunctionCall","src":"102365:58:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"102358:6:67"},"nodeType":"YulFunctionCall","src":"102358:66:67"},"nodeType":"YulIf","src":"102355:86:67"}]},"name":"validator_revert_t_contract$_IWitnetRequest_$7510","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"102338:5:67","type":""}],"src":"102279:168:67"},{"body":{"nodeType":"YulBlock","src":"102511:58:67","statements":[{"body":{"nodeType":"YulBlock","src":"102547:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"102556:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"102559:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"102549:6:67"},"nodeType":"YulFunctionCall","src":"102549:12:67"},"nodeType":"YulExpressionStatement","src":"102549:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"102534:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"102541:3:67","type":"","value":"256"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"102531:2:67"},"nodeType":"YulFunctionCall","src":"102531:14:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"102524:6:67"},"nodeType":"YulFunctionCall","src":"102524:22:67"},"nodeType":"YulIf","src":"102521:42:67"}]},"name":"validator_revert_t_enum$_ErrorCodes_$8299","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"102504:5:67","type":""}],"src":"102453:116:67"},{"body":{"nodeType":"YulBlock","src":"102617:78:67","statements":[{"body":{"nodeType":"YulBlock","src":"102673:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"102682:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"102685:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"102675:6:67"},"nodeType":"YulFunctionCall","src":"102675:12:67"},"nodeType":"YulExpressionStatement","src":"102675:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"102640:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"102664:5:67"}],"functionName":{"name":"cleanup_t_int128","nodeType":"YulIdentifier","src":"102647:16:67"},"nodeType":"YulFunctionCall","src":"102647:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"102637:2:67"},"nodeType":"YulFunctionCall","src":"102637:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"102630:6:67"},"nodeType":"YulFunctionCall","src":"102630:42:67"},"nodeType":"YulIf","src":"102627:62:67"}]},"name":"validator_revert_t_int128","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"102610:5:67","type":""}],"src":"102575:120:67"},{"body":{"nodeType":"YulBlock","src":"102742:77:67","statements":[{"body":{"nodeType":"YulBlock","src":"102797:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"102806:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"102809:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"102799:6:67"},"nodeType":"YulFunctionCall","src":"102799:12:67"},"nodeType":"YulExpressionStatement","src":"102799:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"102765:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"102788:5:67"}],"functionName":{"name":"cleanup_t_int32","nodeType":"YulIdentifier","src":"102772:15:67"},"nodeType":"YulFunctionCall","src":"102772:22:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"102762:2:67"},"nodeType":"YulFunctionCall","src":"102762:33:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"102755:6:67"},"nodeType":"YulFunctionCall","src":"102755:41:67"},"nodeType":"YulIf","src":"102752:61:67"}]},"name":"validator_revert_t_int32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"102735:5:67","type":""}],"src":"102701:118:67"},{"body":{"nodeType":"YulBlock","src":"102868:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"102925:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"102934:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"102937:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"102927:6:67"},"nodeType":"YulFunctionCall","src":"102927:12:67"},"nodeType":"YulExpressionStatement","src":"102927:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"102891:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"102916:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"102898:17:67"},"nodeType":"YulFunctionCall","src":"102898:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"102888:2:67"},"nodeType":"YulFunctionCall","src":"102888:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"102881:6:67"},"nodeType":"YulFunctionCall","src":"102881:43:67"},"nodeType":"YulIf","src":"102878:63:67"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"102861:5:67","type":""}],"src":"102825:122:67"},{"body":{"nodeType":"YulBlock","src":"102995:78:67","statements":[{"body":{"nodeType":"YulBlock","src":"103051:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103060:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"103063:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"103053:6:67"},"nodeType":"YulFunctionCall","src":"103053:12:67"},"nodeType":"YulExpressionStatement","src":"103053:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"103018:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"103042:5:67"}],"functionName":{"name":"cleanup_t_uint32","nodeType":"YulIdentifier","src":"103025:16:67"},"nodeType":"YulFunctionCall","src":"103025:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"103015:2:67"},"nodeType":"YulFunctionCall","src":"103015:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"103008:6:67"},"nodeType":"YulFunctionCall","src":"103008:42:67"},"nodeType":"YulIf","src":"103005:62:67"}]},"name":"validator_revert_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"102988:5:67","type":""}],"src":"102953:120:67"},{"body":{"nodeType":"YulBlock","src":"103121:78:67","statements":[{"body":{"nodeType":"YulBlock","src":"103177:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103186:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"103189:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"103179:6:67"},"nodeType":"YulFunctionCall","src":"103179:12:67"},"nodeType":"YulExpressionStatement","src":"103179:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"103144:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"103168:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"103151:16:67"},"nodeType":"YulFunctionCall","src":"103151:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"103141:2:67"},"nodeType":"YulFunctionCall","src":"103141:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"103134:6:67"},"nodeType":"YulFunctionCall","src":"103134:42:67"},"nodeType":"YulIf","src":"103131:62:67"}]},"name":"validator_revert_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"103114:5:67","type":""}],"src":"103079:120:67"},{"body":{"nodeType":"YulBlock","src":"103246:77:67","statements":[{"body":{"nodeType":"YulBlock","src":"103301:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103310:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"103313:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"103303:6:67"},"nodeType":"YulFunctionCall","src":"103303:12:67"},"nodeType":"YulExpressionStatement","src":"103303:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"103269:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"103292:5:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"103276:15:67"},"nodeType":"YulFunctionCall","src":"103276:22:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"103266:2:67"},"nodeType":"YulFunctionCall","src":"103266:33:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"103259:6:67"},"nodeType":"YulFunctionCall","src":"103259:41:67"},"nodeType":"YulIf","src":"103256:61:67"}]},"name":"validator_revert_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"103239:5:67","type":""}],"src":"103205:118:67"}]},"contents":"{\n\n    // address[]\n    function abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr(offset, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length))\n        let dst := array\n\n        mstore(array, length)\n        dst := add(array, 0x20)\n\n        let src := offset\n        if gt(add(src, mul(length, 0x20)), end) {\n            revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n        }\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n\n            let elementPos := src\n\n            mstore(dst, abi_decode_t_address(elementPos, end))\n            dst := add(dst, 0x20)\n            src := add(src, 0x20)\n        }\n    }\n\n    // address[]\n    function abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length))\n        let dst := array\n\n        mstore(array, length)\n        dst := add(array, 0x20)\n\n        let src := offset\n        if gt(add(src, mul(length, 0x20)), end) {\n            revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n        }\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n\n            let elementPos := src\n\n            mstore(dst, abi_decode_t_address_fromMemory(elementPos, end))\n            dst := add(dst, 0x20)\n            src := add(src, 0x20)\n        }\n    }\n\n    // int128[]\n    function abi_decode_available_length_t_array$_t_int128_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_array$_t_int128_$dyn_memory_ptr(length))\n        let dst := array\n\n        mstore(array, length)\n        dst := add(array, 0x20)\n\n        let src := offset\n        if gt(add(src, mul(length, 0x20)), end) {\n            revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n        }\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n\n            let elementPos := src\n\n            mstore(dst, abi_decode_t_int128_fromMemory(elementPos, end))\n            dst := add(dst, 0x20)\n            src := add(src, 0x20)\n        }\n    }\n\n    // int32[]\n    function abi_decode_available_length_t_array$_t_int32_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_array$_t_int32_$dyn_memory_ptr(length))\n        let dst := array\n\n        mstore(array, length)\n        dst := add(array, 0x20)\n\n        let src := offset\n        if gt(add(src, mul(length, 0x20)), end) {\n            revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n        }\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n\n            let elementPos := src\n\n            mstore(dst, abi_decode_t_int32_fromMemory(elementPos, end))\n            dst := add(dst, 0x20)\n            src := add(src, 0x20)\n        }\n    }\n\n    // string[]\n    function abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr(length))\n        let dst := array\n\n        mstore(array, length)\n        dst := add(array, 0x20)\n\n        let src := offset\n        if gt(add(src, mul(length, 0x20)), end) {\n            revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n        }\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n\n            let innerOffset := mload(src)\n            if gt(innerOffset, 0xffffffffffffffff) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n            let elementPos := add(offset, innerOffset)\n\n            mstore(dst, abi_decode_t_string_memory_ptr_fromMemory(elementPos, end))\n            dst := add(dst, 0x20)\n            src := add(src, 0x20)\n        }\n    }\n\n    // struct IWitnetRequestBoardReporter.BatchResult[]\n    function abi_decode_available_length_t_array$_t_struct$_BatchResult_$7637_memory_ptr_$dyn_memory_ptr(offset, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_array$_t_struct$_BatchResult_$7637_memory_ptr_$dyn_memory_ptr(length))\n        let dst := array\n\n        mstore(array, length)\n        dst := add(array, 0x20)\n\n        let src := offset\n        if gt(add(src, mul(length, 0x20)), end) {\n            revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n        }\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n\n            let innerOffset := calldataload(src)\n            if gt(innerOffset, 0xffffffffffffffff) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n            let elementPos := add(offset, innerOffset)\n\n            mstore(dst, abi_decode_t_struct$_BatchResult_$7637_memory_ptr(elementPos, end))\n            dst := add(dst, 0x20)\n            src := add(src, 0x20)\n        }\n    }\n\n    // uint64[]\n    function abi_decode_available_length_t_array$_t_uint64_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_array$_t_uint64_$dyn_memory_ptr(length))\n        let dst := array\n\n        mstore(array, length)\n        dst := add(array, 0x20)\n\n        let src := offset\n        if gt(add(src, mul(length, 0x20)), end) {\n            revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n        }\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n\n            let elementPos := src\n\n            mstore(dst, abi_decode_t_uint64_fromMemory(elementPos, end))\n            dst := add(dst, 0x20)\n            src := add(src, 0x20)\n        }\n    }\n\n    function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n        mstore(array, length)\n        let dst := add(array, 0x20)\n        if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n        copy_calldata_to_memory(src, dst, length)\n    }\n\n    function abi_decode_available_length_t_bytes_memory_ptr_fromMemory(src, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n        mstore(array, length)\n        let dst := add(array, 0x20)\n        if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n        copy_memory_to_memory(src, dst, length)\n    }\n\n    function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n        mstore(array, length)\n        let dst := add(array, 0x20)\n        if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n        copy_memory_to_memory(src, dst, length)\n    }\n\n    function abi_decode_t_address(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_address(value)\n    }\n\n    function abi_decode_t_address_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_address(value)\n    }\n\n    // address[]\n    function abi_decode_t_array$_t_address_$dyn_memory_ptr(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := calldataload(offset)\n        array := abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr(add(offset, 0x20), length, end)\n    }\n\n    // address[]\n    function abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := mload(offset)\n        array := abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n    }\n\n    // int128[]\n    function abi_decode_t_array$_t_int128_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := mload(offset)\n        array := abi_decode_available_length_t_array$_t_int128_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n    }\n\n    // int32[]\n    function abi_decode_t_array$_t_int32_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := mload(offset)\n        array := abi_decode_available_length_t_array$_t_int32_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n    }\n\n    // string[]\n    function abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := mload(offset)\n        array := abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n    }\n\n    // struct IWitnetRequestBoardReporter.BatchResult[]\n    function abi_decode_t_array$_t_struct$_BatchResult_$7637_memory_ptr_$dyn_memory_ptr(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := calldataload(offset)\n        array := abi_decode_available_length_t_array$_t_struct$_BatchResult_$7637_memory_ptr_$dyn_memory_ptr(add(offset, 0x20), length, end)\n    }\n\n    // uint64[]\n    function abi_decode_t_array$_t_uint64_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := mload(offset)\n        array := abi_decode_available_length_t_array$_t_uint64_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n    }\n\n    function abi_decode_t_bool(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_bool(value)\n    }\n\n    function abi_decode_t_bool_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_bool(value)\n    }\n\n    function abi_decode_t_bytes32(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_bytes32(value)\n    }\n\n    function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_bytes32(value)\n    }\n\n    // bytes\n    function abi_decode_t_bytes_calldata_ptr(offset, end) -> arrayPos, length {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        length := calldataload(offset)\n        if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n        arrayPos := add(offset, 0x20)\n        if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n    }\n\n    // bytes\n    function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := calldataload(offset)\n        array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n    }\n\n    // bytes\n    function abi_decode_t_bytes_memory_ptr_fromMemory(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := mload(offset)\n        array := abi_decode_available_length_t_bytes_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n    }\n\n    function abi_decode_t_contract$_IWitnetRequest_$7510(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_contract$_IWitnetRequest_$7510(value)\n    }\n\n    function abi_decode_t_enum$_ErrorCodes_$8299_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_enum$_ErrorCodes_$8299(value)\n    }\n\n    function abi_decode_t_int128_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_int128(value)\n    }\n\n    function abi_decode_t_int32_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_int32(value)\n    }\n\n    // string\n    function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := mload(offset)\n        array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n    }\n\n    // struct IWitnetRequestBoardReporter.BatchResult\n    function abi_decode_t_struct$_BatchResult_$7637_memory_ptr(headStart, end) -> value {\n        if slt(sub(end, headStart), 0x80) { revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() }\n        value := allocate_memory(0x80)\n\n        {\n            // queryId\n\n            let offset := 0\n\n            mstore(add(value, 0x00), abi_decode_t_uint256(add(headStart, offset), end))\n\n        }\n\n        {\n            // timestamp\n\n            let offset := 32\n\n            mstore(add(value, 0x20), abi_decode_t_uint256(add(headStart, offset), end))\n\n        }\n\n        {\n            // drTxHash\n\n            let offset := 64\n\n            mstore(add(value, 0x40), abi_decode_t_bytes32(add(headStart, offset), end))\n\n        }\n\n        {\n            // cborBytes\n\n            let offset := calldataload(add(headStart, 96))\n            if gt(offset, 0xffffffffffffffff) { revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() }\n\n            mstore(add(value, 0x60), abi_decode_t_bytes_memory_ptr(add(headStart, offset), end))\n\n        }\n\n    }\n\n    // struct Witnet.Buffer\n    function abi_decode_t_struct$_Buffer_$8042_memory_ptr(headStart, end) -> value {\n        if slt(sub(end, headStart), 0x40) { revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() }\n        value := allocate_memory(0x40)\n\n        {\n            // data\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() }\n\n            mstore(add(value, 0x00), abi_decode_t_bytes_memory_ptr(add(headStart, offset), end))\n\n        }\n\n        {\n            // cursor\n\n            let offset := 32\n\n            mstore(add(value, 0x20), abi_decode_t_uint32(add(headStart, offset), end))\n\n        }\n\n    }\n\n    // struct Witnet.Buffer\n    function abi_decode_t_struct$_Buffer_$8042_memory_ptr_fromMemory(headStart, end) -> value {\n        if slt(sub(end, headStart), 0x40) { revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() }\n        value := allocate_memory(0x40)\n\n        {\n            // data\n\n            let offset := mload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() }\n\n            mstore(add(value, 0x00), abi_decode_t_bytes_memory_ptr_fromMemory(add(headStart, offset), end))\n\n        }\n\n        {\n            // cursor\n\n            let offset := 32\n\n            mstore(add(value, 0x20), abi_decode_t_uint32_fromMemory(add(headStart, offset), end))\n\n        }\n\n    }\n\n    // struct Witnet.CBOR\n    function abi_decode_t_struct$_CBOR_$8037_memory_ptr(headStart, end) -> value {\n        if slt(sub(end, headStart), 0xc0) { revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() }\n        value := allocate_memory(0xc0)\n\n        {\n            // buffer\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() }\n\n            mstore(add(value, 0x00), abi_decode_t_struct$_Buffer_$8042_memory_ptr(add(headStart, offset), end))\n\n        }\n\n        {\n            // initialByte\n\n            let offset := 32\n\n            mstore(add(value, 0x20), abi_decode_t_uint8(add(headStart, offset), end))\n\n        }\n\n        {\n            // majorType\n\n            let offset := 64\n\n            mstore(add(value, 0x40), abi_decode_t_uint8(add(headStart, offset), end))\n\n        }\n\n        {\n            // additionalInformation\n\n            let offset := 96\n\n            mstore(add(value, 0x60), abi_decode_t_uint8(add(headStart, offset), end))\n\n        }\n\n        {\n            // len\n\n            let offset := 128\n\n            mstore(add(value, 0x80), abi_decode_t_uint64(add(headStart, offset), end))\n\n        }\n\n        {\n            // tag\n\n            let offset := 160\n\n            mstore(add(value, 0xa0), abi_decode_t_uint64(add(headStart, offset), end))\n\n        }\n\n    }\n\n    // struct Witnet.CBOR\n    function abi_decode_t_struct$_CBOR_$8037_memory_ptr_fromMemory(headStart, end) -> value {\n        if slt(sub(end, headStart), 0xc0) { revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() }\n        value := allocate_memory(0xc0)\n\n        {\n            // buffer\n\n            let offset := mload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() }\n\n            mstore(add(value, 0x00), abi_decode_t_struct$_Buffer_$8042_memory_ptr_fromMemory(add(headStart, offset), end))\n\n        }\n\n        {\n            // initialByte\n\n            let offset := 32\n\n            mstore(add(value, 0x20), abi_decode_t_uint8_fromMemory(add(headStart, offset), end))\n\n        }\n\n        {\n            // majorType\n\n            let offset := 64\n\n            mstore(add(value, 0x40), abi_decode_t_uint8_fromMemory(add(headStart, offset), end))\n\n        }\n\n        {\n            // additionalInformation\n\n            let offset := 96\n\n            mstore(add(value, 0x60), abi_decode_t_uint8_fromMemory(add(headStart, offset), end))\n\n        }\n\n        {\n            // len\n\n            let offset := 128\n\n            mstore(add(value, 0x80), abi_decode_t_uint64_fromMemory(add(headStart, offset), end))\n\n        }\n\n        {\n            // tag\n\n            let offset := 160\n\n            mstore(add(value, 0xa0), abi_decode_t_uint64_fromMemory(add(headStart, offset), end))\n\n        }\n\n    }\n\n    // struct Witnet.Result\n    function abi_decode_t_struct$_Result_$8023_memory_ptr(headStart, end) -> value {\n        if slt(sub(end, headStart), 0x40) { revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() }\n        value := allocate_memory(0x40)\n\n        {\n            // success\n\n            let offset := 0\n\n            mstore(add(value, 0x00), abi_decode_t_bool(add(headStart, offset), end))\n\n        }\n\n        {\n            // value\n\n            let offset := calldataload(add(headStart, 32))\n            if gt(offset, 0xffffffffffffffff) { revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() }\n\n            mstore(add(value, 0x20), abi_decode_t_struct$_CBOR_$8037_memory_ptr(add(headStart, offset), end))\n\n        }\n\n    }\n\n    // struct Witnet.Result\n    function abi_decode_t_struct$_Result_$8023_memory_ptr_fromMemory(headStart, end) -> value {\n        if slt(sub(end, headStart), 0x40) { revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() }\n        value := allocate_memory(0x40)\n\n        {\n            // success\n\n            let offset := 0\n\n            mstore(add(value, 0x00), abi_decode_t_bool_fromMemory(add(headStart, offset), end))\n\n        }\n\n        {\n            // value\n\n            let offset := mload(add(headStart, 32))\n            if gt(offset, 0xffffffffffffffff) { revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() }\n\n            mstore(add(value, 0x20), abi_decode_t_struct$_CBOR_$8037_memory_ptr_fromMemory(add(headStart, offset), end))\n\n        }\n\n    }\n\n    function abi_decode_t_uint256(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint256(value)\n    }\n\n    function abi_decode_t_uint32(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint32(value)\n    }\n\n    function abi_decode_t_uint32_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_uint32(value)\n    }\n\n    function abi_decode_t_uint64(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint64(value)\n    }\n\n    function abi_decode_t_uint64_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_uint64(value)\n    }\n\n    function abi_decode_t_uint8(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint8(value)\n    }\n\n    function abi_decode_t_uint8_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_uint8(value)\n    }\n\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_array$_t_address_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := mload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_array$_t_int128_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := mload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_array$_t_int128_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_array$_t_int32_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := mload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_array$_t_int32_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := mload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_array$_t_struct$_BatchResult_$7637_memory_ptr_$dyn_memory_ptrt_bool(headStart, dataEnd) -> value0, value1 {\n        if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_array$_t_struct$_BatchResult_$7637_memory_ptr_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_bool(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_array$_t_uint64_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := mload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_array$_t_uint64_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_bytes32_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := mload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_bytes_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_contract$_IWitnetRequest_$7510(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_contract$_IWitnetRequest_$7510(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_enum$_ErrorCodes_$8299_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_enum$_ErrorCodes_$8299_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_enum$_ErrorCodes_$8299t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1 {\n        if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_enum$_ErrorCodes_$8299_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := mload(add(headStart, 32))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value1 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_int128_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_int128_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_int32_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_int32_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := mload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_struct$_CBOR_$8037_memory_ptr(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_struct$_CBOR_$8037_memory_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_struct$_Result_$8023_memory_ptr(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_struct$_Result_$8023_memory_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_struct$_Result_$8023_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := mload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_struct$_Result_$8023_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint256t_bytes32t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n        if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := calldataload(add(headStart, 64))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value2, value3 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint256t_uint256t_bytes32t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n        if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 64\n\n            value2 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := calldataload(add(headStart, 96))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value3, value4 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint64_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint64_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_encodeUpdatedPos_t_address_to_t_address(value0, pos) -> updatedPos {\n        abi_encode_t_address_to_t_address(value0, pos)\n        updatedPos := add(pos, 0x20)\n    }\n\n    function abi_encodeUpdatedPos_t_int128_to_t_int128(value0, pos) -> updatedPos {\n        abi_encode_t_int128_to_t_int128(value0, pos)\n        updatedPos := add(pos, 0x20)\n    }\n\n    function abi_encodeUpdatedPos_t_int32_to_t_int32(value0, pos) -> updatedPos {\n        abi_encode_t_int32_to_t_int32(value0, pos)\n        updatedPos := add(pos, 0x20)\n    }\n\n    function abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr(value0, pos) -> updatedPos {\n        updatedPos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value0, pos)\n    }\n\n    function abi_encodeUpdatedPos_t_uint64_to_t_uint64(value0, pos) -> updatedPos {\n        abi_encode_t_uint64_to_t_uint64(value0, pos)\n        updatedPos := add(pos, 0x20)\n    }\n\n    function abi_encode_t_address_to_t_address(value, pos) {\n        mstore(pos, cleanup_t_address(value))\n    }\n\n    function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n        mstore(pos, cleanup_t_address(value))\n    }\n\n    // address[] -> address[]\n    function abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack(value, pos)  -> end  {\n        let length := array_length_t_array$_t_address_$dyn_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack(pos, length)\n        let baseRef := array_dataslot_t_array$_t_address_$dyn_memory_ptr(value)\n        let srcPtr := baseRef\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n            let elementValue0 := mload(srcPtr)\n            pos := abi_encodeUpdatedPos_t_address_to_t_address(elementValue0, pos)\n            srcPtr := array_nextElement_t_array$_t_address_$dyn_memory_ptr(srcPtr)\n        }\n        end := pos\n    }\n\n    // int128[] -> int128[]\n    function abi_encode_t_array$_t_int128_$dyn_memory_ptr_to_t_array$_t_int128_$dyn_memory_ptr_fromStack(value, pos)  -> end  {\n        let length := array_length_t_array$_t_int128_$dyn_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_array$_t_int128_$dyn_memory_ptr_fromStack(pos, length)\n        let baseRef := array_dataslot_t_array$_t_int128_$dyn_memory_ptr(value)\n        let srcPtr := baseRef\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n            let elementValue0 := mload(srcPtr)\n            pos := abi_encodeUpdatedPos_t_int128_to_t_int128(elementValue0, pos)\n            srcPtr := array_nextElement_t_array$_t_int128_$dyn_memory_ptr(srcPtr)\n        }\n        end := pos\n    }\n\n    // int32[] -> int32[]\n    function abi_encode_t_array$_t_int32_$dyn_memory_ptr_to_t_array$_t_int32_$dyn_memory_ptr_fromStack(value, pos)  -> end  {\n        let length := array_length_t_array$_t_int32_$dyn_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_array$_t_int32_$dyn_memory_ptr_fromStack(pos, length)\n        let baseRef := array_dataslot_t_array$_t_int32_$dyn_memory_ptr(value)\n        let srcPtr := baseRef\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n            let elementValue0 := mload(srcPtr)\n            pos := abi_encodeUpdatedPos_t_int32_to_t_int32(elementValue0, pos)\n            srcPtr := array_nextElement_t_array$_t_int32_$dyn_memory_ptr(srcPtr)\n        }\n        end := pos\n    }\n\n    // string[] -> string[]\n    function abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(value, pos)  -> end  {\n        let length := array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n        let headStart := pos\n        let tail := add(pos, mul(length, 0x20))\n        let baseRef := array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value)\n        let srcPtr := baseRef\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, sub(tail, headStart))\n            let elementValue0 := mload(srcPtr)\n            tail := abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr(elementValue0, tail)\n            srcPtr := array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr(srcPtr)\n            pos := add(pos, 0x20)\n        }\n        pos := tail\n        end := pos\n    }\n\n    // uint64[] -> uint64[]\n    function abi_encode_t_array$_t_uint64_$dyn_memory_ptr_to_t_array$_t_uint64_$dyn_memory_ptr_fromStack(value, pos)  -> end  {\n        let length := array_length_t_array$_t_uint64_$dyn_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_array$_t_uint64_$dyn_memory_ptr_fromStack(pos, length)\n        let baseRef := array_dataslot_t_array$_t_uint64_$dyn_memory_ptr(value)\n        let srcPtr := baseRef\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n            let elementValue0 := mload(srcPtr)\n            pos := abi_encodeUpdatedPos_t_uint64_to_t_uint64(elementValue0, pos)\n            srcPtr := array_nextElement_t_array$_t_uint64_$dyn_memory_ptr(srcPtr)\n        }\n        end := pos\n    }\n\n    function abi_encode_t_bool_to_t_bool(value, pos) {\n        mstore(pos, cleanup_t_bool(value))\n    }\n\n    function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n        mstore(pos, cleanup_t_bool(value))\n    }\n\n    function abi_encode_t_bool_to_t_bool_library(value, pos) {\n        mstore(pos, cleanup_t_bool(value))\n    }\n\n    function abi_encode_t_bytes32_to_t_bytes32(value, pos) {\n        mstore(pos, cleanup_t_bytes32(value))\n    }\n\n    function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n        mstore(pos, cleanup_t_bytes32(value))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_library(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_library(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, length)\n    }\n\n    // bytes -> bytes\n    function abi_encode_t_bytes_storage_to_t_bytes_memory_ptr_fromStack_library(value, pos) -> ret {\n        let slotValue := sload(value)\n        let length := extract_byte_array_length(slotValue)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library(pos, length)\n        switch and(slotValue, 1)\n        case 0 {\n            // short byte array\n            mstore(pos, and(slotValue, not(0xff)))\n            ret := add(pos, 0x20)\n        }\n        case 1 {\n            // long byte array\n            let dataPos := array_dataslot_t_bytes_storage(value)\n            let i := 0\n            for { } lt(i, length) { i := add(i, 0x20) } {\n                mstore(add(pos, i), sload(dataPos))\n                dataPos := add(dataPos, 1)\n            }\n            ret := add(pos, i)\n        }\n    }\n\n    function abi_encode_t_contract$_IERC20_$7292_to_t_address_fromStack(value, pos) {\n        mstore(pos, convert_t_contract$_IERC20_$7292_to_t_address(value))\n    }\n\n    function abi_encode_t_contract$_IWitnetRequest_$7510_to_t_address(value, pos) {\n        mstore(pos, convert_t_contract$_IWitnetRequest_$7510_to_t_address(value))\n    }\n\n    function abi_encode_t_enum$_ErrorCodes_$8299_to_t_uint8_fromStack(value, pos) {\n        mstore(pos, convert_t_enum$_ErrorCodes_$8299_to_t_uint8(value))\n    }\n\n    function abi_encode_t_enum$_QueryStatus_$7996_to_t_uint8_fromStack(value, pos) {\n        mstore(pos, convert_t_enum$_QueryStatus_$7996_to_t_uint8(value))\n    }\n\n    function abi_encode_t_int128_to_t_int128(value, pos) {\n        mstore(pos, cleanup_t_int128(value))\n    }\n\n    function abi_encode_t_int128_to_t_int128_fromStack(value, pos) {\n        mstore(pos, cleanup_t_int128(value))\n    }\n\n    function abi_encode_t_int32_to_t_int32(value, pos) {\n        mstore(pos, cleanup_t_int32(value))\n    }\n\n    function abi_encode_t_int32_to_t_int32_fromStack(value, pos) {\n        mstore(pos, cleanup_t_int32(value))\n    }\n\n    function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n        let length := array_length_t_string_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_string_memory_ptr(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n        let length := array_length_t_string_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_stringliteral_0be555820c60b6124cd4a527104e7ed2ef896a14c9cdf1f4d0c1a79561ea22c4_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 44)\n        store_literal_in_memory_0be555820c60b6124cd4a527104e7ed2ef896a14c9cdf1f4d0c1a79561ea22c4(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_0d0f3639c50be0afccc47d7224de7d8f86286c512c889d59db02617fd5eda150_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n        store_literal_in_memory_0d0f3639c50be0afccc47d7224de7d8f86286c512c889d59db02617fd5eda150(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_1581ae06fefdfc841abacd4b63952c567c2edc2bc8c7899a32661f6a801e746b_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 46)\n        store_literal_in_memory_1581ae06fefdfc841abacd4b63952c567c2edc2bc8c7899a32661f6a801e746b(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_1f8274dcdd937f970d48bf777d3a3d5fbcf9897829d796148c2d8edcd419ec5d_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 27)\n        store_literal_in_memory_1f8274dcdd937f970d48bf777d3a3d5fbcf9897829d796148c2d8edcd419ec5d(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_t_stringliteral_33e565b65d8aa6e9990eec2cc32f99865d7f76bbee3771b62789ab97e5a37d7f_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 49)\n        store_literal_in_memory_33e565b65d8aa6e9990eec2cc32f99865d7f76bbee3771b62789ab97e5a37d7f(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_3b4bb84f4a99e05df33e41f62f5366e4016b4735b6f76082d73cf5d8831faa3e_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 44)\n        store_literal_in_memory_3b4bb84f4a99e05df33e41f62f5366e4016b4735b6f76082d73cf5d8831faa3e(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_3d43510da44c3e08f6dfef5e320d0e99d425bf23f74114ae066f5af47319ad5c_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n        store_literal_in_memory_3d43510da44c3e08f6dfef5e320d0e99d425bf23f74114ae066f5af47319ad5c(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_4425c56dbfedfa02467de27608a6ff1e4faacad72797eafb38bb660bf95f7eee_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\n        store_literal_in_memory_4425c56dbfedfa02467de27608a6ff1e4faacad72797eafb38bb660bf95f7eee(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_48f3e667c3593a2e92c7dce9bfc9484f97112384c1450711c71171e05fb5759a_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\n        store_literal_in_memory_48f3e667c3593a2e92c7dce9bfc9484f97112384c1450711c71171e05fb5759a(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_58fe038ba911826a5f966fdd037e315cc531824afa5103a4407b08d95d19ddce_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 63)\n        store_literal_in_memory_58fe038ba911826a5f966fdd037e315cc531824afa5103a4407b08d95d19ddce(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_5fa4f20d3b547b43c3b49de4f5c62b8d87a47a9169c1a1db0d172150993aa1eb_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 66)\n        store_literal_in_memory_5fa4f20d3b547b43c3b49de4f5c62b8d87a47a9169c1a1db0d172150993aa1eb(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_72b1f434e16ac1cf02aa4ce2f0f63ef536c0a2e88f68b1067ef152351f0087f1_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 42)\n        store_literal_in_memory_72b1f434e16ac1cf02aa4ce2f0f63ef536c0a2e88f68b1067ef152351f0087f1(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_8e0ffa273c001ae051d701178ac5c710a5b4d9fec98205577ebc7425e417a801_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n        store_literal_in_memory_8e0ffa273c001ae051d701178ac5c710a5b4d9fec98205577ebc7425e417a801(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_9fa14ac89471826c5bc72b75de3388cdde56a33fbf6bb575f16de2cc5916ce84_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 58)\n        store_literal_in_memory_9fa14ac89471826c5bc72b75de3388cdde56a33fbf6bb575f16de2cc5916ce84(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_aac6109e25b977a3666829c5faa653ddebecef9c73e0dbd918342867acf0b90b_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 52)\n        store_literal_in_memory_aac6109e25b977a3666829c5faa653ddebecef9c73e0dbd918342867acf0b90b(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_ba6ce338a8b77b4309b1dcba6abb75801c6b8961785823dfa406357c96ccf60d_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 43)\n        store_literal_in_memory_ba6ce338a8b77b4309b1dcba6abb75801c6b8961785823dfa406357c96ccf60d(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_e251d84e62e5492f0ae8601bf0b4d92f0e11ae4eb6623c0c4134c63f7dd56847_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 46)\n        store_literal_in_memory_e251d84e62e5492f0ae8601bf0b4d92f0e11ae4eb6623c0c4134c63f7dd56847(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_ea4580d893291eb488d1f84e08baa4c835b386770db72420b713c9cfcfc0dfb6_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\n        store_literal_in_memory_ea4580d893291eb488d1f84e08baa4c835b386770db72420b713c9cfcfc0dfb6(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_ebdfd38fe21ca0808fdb840ac4bd9b3f5d98f2e7880341f5272855af32dcb094_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 49)\n        store_literal_in_memory_ebdfd38fe21ca0808fdb840ac4bd9b3f5d98f2e7880341f5272855af32dcb094(pos)\n        end := add(pos, 64)\n    }\n\n    // struct Witnet.Buffer -> struct Witnet.Buffer\n    function abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr(value, pos)  -> end  {\n        let tail := add(pos, 0x40)\n\n        {\n            // data\n\n            let memberValue0 := mload(add(value, 0x00))\n\n            mstore(add(pos, 0x00), sub(tail, pos))\n            tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(memberValue0, tail)\n\n        }\n\n        {\n            // cursor\n\n            let memberValue0 := mload(add(value, 0x20))\n            abi_encode_t_uint32_to_t_uint32(memberValue0, add(pos, 0x20))\n        }\n\n        end := tail\n    }\n\n    // struct Witnet.Buffer -> struct Witnet.Buffer\n    function abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr_library(value, pos)  -> end  {\n        let tail := add(pos, 0x40)\n\n        {\n            // data\n\n            let memberValue0 := mload(add(value, 0x00))\n\n            mstore(add(pos, 0x00), sub(tail, pos))\n            tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_library(memberValue0, tail)\n\n        }\n\n        {\n            // cursor\n\n            let memberValue0 := mload(add(value, 0x20))\n            abi_encode_t_uint32_to_t_uint32_library(memberValue0, add(pos, 0x20))\n        }\n\n        end := tail\n    }\n\n    // struct Witnet.CBOR -> struct Witnet.CBOR\n    function abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr(value, pos)  -> end  {\n        let tail := add(pos, 0xc0)\n\n        {\n            // buffer\n\n            let memberValue0 := mload(add(value, 0x00))\n\n            mstore(add(pos, 0x00), sub(tail, pos))\n            tail := abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr(memberValue0, tail)\n\n        }\n\n        {\n            // initialByte\n\n            let memberValue0 := mload(add(value, 0x20))\n            abi_encode_t_uint8_to_t_uint8(memberValue0, add(pos, 0x20))\n        }\n\n        {\n            // majorType\n\n            let memberValue0 := mload(add(value, 0x40))\n            abi_encode_t_uint8_to_t_uint8(memberValue0, add(pos, 0x40))\n        }\n\n        {\n            // additionalInformation\n\n            let memberValue0 := mload(add(value, 0x60))\n            abi_encode_t_uint8_to_t_uint8(memberValue0, add(pos, 0x60))\n        }\n\n        {\n            // len\n\n            let memberValue0 := mload(add(value, 0x80))\n            abi_encode_t_uint64_to_t_uint64(memberValue0, add(pos, 0x80))\n        }\n\n        {\n            // tag\n\n            let memberValue0 := mload(add(value, 0xa0))\n            abi_encode_t_uint64_to_t_uint64(memberValue0, add(pos, 0xa0))\n        }\n\n        end := tail\n    }\n\n    // struct Witnet.CBOR -> struct Witnet.CBOR\n    function abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_fromStack_library(value, pos)  -> end  {\n        let tail := add(pos, 0xc0)\n\n        {\n            // buffer\n\n            let memberValue0 := mload(add(value, 0x00))\n\n            mstore(add(pos, 0x00), sub(tail, pos))\n            tail := abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr_library(memberValue0, tail)\n\n        }\n\n        {\n            // initialByte\n\n            let memberValue0 := mload(add(value, 0x20))\n            abi_encode_t_uint8_to_t_uint8_library(memberValue0, add(pos, 0x20))\n        }\n\n        {\n            // majorType\n\n            let memberValue0 := mload(add(value, 0x40))\n            abi_encode_t_uint8_to_t_uint8_library(memberValue0, add(pos, 0x40))\n        }\n\n        {\n            // additionalInformation\n\n            let memberValue0 := mload(add(value, 0x60))\n            abi_encode_t_uint8_to_t_uint8_library(memberValue0, add(pos, 0x60))\n        }\n\n        {\n            // len\n\n            let memberValue0 := mload(add(value, 0x80))\n            abi_encode_t_uint64_to_t_uint64_library(memberValue0, add(pos, 0x80))\n        }\n\n        {\n            // tag\n\n            let memberValue0 := mload(add(value, 0xa0))\n            abi_encode_t_uint64_to_t_uint64_library(memberValue0, add(pos, 0xa0))\n        }\n\n        end := tail\n    }\n\n    // struct Witnet.CBOR -> struct Witnet.CBOR\n    function abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_library(value, pos)  -> end  {\n        let tail := add(pos, 0xc0)\n\n        {\n            // buffer\n\n            let memberValue0 := mload(add(value, 0x00))\n\n            mstore(add(pos, 0x00), sub(tail, pos))\n            tail := abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr_library(memberValue0, tail)\n\n        }\n\n        {\n            // initialByte\n\n            let memberValue0 := mload(add(value, 0x20))\n            abi_encode_t_uint8_to_t_uint8_library(memberValue0, add(pos, 0x20))\n        }\n\n        {\n            // majorType\n\n            let memberValue0 := mload(add(value, 0x40))\n            abi_encode_t_uint8_to_t_uint8_library(memberValue0, add(pos, 0x40))\n        }\n\n        {\n            // additionalInformation\n\n            let memberValue0 := mload(add(value, 0x60))\n            abi_encode_t_uint8_to_t_uint8_library(memberValue0, add(pos, 0x60))\n        }\n\n        {\n            // len\n\n            let memberValue0 := mload(add(value, 0x80))\n            abi_encode_t_uint64_to_t_uint64_library(memberValue0, add(pos, 0x80))\n        }\n\n        {\n            // tag\n\n            let memberValue0 := mload(add(value, 0xa0))\n            abi_encode_t_uint64_to_t_uint64_library(memberValue0, add(pos, 0xa0))\n        }\n\n        end := tail\n    }\n\n    // struct Witnet.Query -> struct Witnet.Query\n    function abi_encode_t_struct$_Query_$7991_memory_ptr_to_t_struct$_Query_$7991_memory_ptr_fromStack(value, pos)  -> end  {\n        let tail := add(pos, 0xe0)\n\n        {\n            // request\n\n            let memberValue0 := mload(add(value, 0x00))\n            abi_encode_t_struct$_Request_$8008_memory_ptr_to_t_struct$_Request_$8008_memory_ptr(memberValue0, add(pos, 0x00))\n        }\n\n        {\n            // response\n\n            let memberValue0 := mload(add(value, 0x20))\n\n            mstore(add(pos, 0xa0), sub(tail, pos))\n            tail := abi_encode_t_struct$_Response_$8017_memory_ptr_to_t_struct$_Response_$8017_memory_ptr(memberValue0, tail)\n\n        }\n\n        {\n            // from\n\n            let memberValue0 := mload(add(value, 0x40))\n            abi_encode_t_address_to_t_address(memberValue0, add(pos, 0xc0))\n        }\n\n        end := tail\n    }\n\n    // struct Witnet.Request -> struct Witnet.Request\n    function abi_encode_t_struct$_Request_$8008_memory_ptr_to_t_struct$_Request_$8008_memory_ptr(value, pos)  {\n        let tail := add(pos, 0xa0)\n\n        {\n            // addr\n\n            let memberValue0 := mload(add(value, 0x00))\n            abi_encode_t_contract$_IWitnetRequest_$7510_to_t_address(memberValue0, add(pos, 0x00))\n        }\n\n        {\n            // requester\n\n            let memberValue0 := mload(add(value, 0x20))\n            abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x20))\n        }\n\n        {\n            // hash\n\n            let memberValue0 := mload(add(value, 0x40))\n            abi_encode_t_bytes32_to_t_bytes32(memberValue0, add(pos, 0x40))\n        }\n\n        {\n            // gasprice\n\n            let memberValue0 := mload(add(value, 0x60))\n            abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x60))\n        }\n\n        {\n            // reward\n\n            let memberValue0 := mload(add(value, 0x80))\n            abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x80))\n        }\n\n    }\n\n    // struct Witnet.Request -> struct Witnet.Request\n    function abi_encode_t_struct$_Request_$8008_memory_ptr_to_t_struct$_Request_$8008_memory_ptr_fromStack(value, pos)  {\n        let tail := add(pos, 0xa0)\n\n        {\n            // addr\n\n            let memberValue0 := mload(add(value, 0x00))\n            abi_encode_t_contract$_IWitnetRequest_$7510_to_t_address(memberValue0, add(pos, 0x00))\n        }\n\n        {\n            // requester\n\n            let memberValue0 := mload(add(value, 0x20))\n            abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x20))\n        }\n\n        {\n            // hash\n\n            let memberValue0 := mload(add(value, 0x40))\n            abi_encode_t_bytes32_to_t_bytes32(memberValue0, add(pos, 0x40))\n        }\n\n        {\n            // gasprice\n\n            let memberValue0 := mload(add(value, 0x60))\n            abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x60))\n        }\n\n        {\n            // reward\n\n            let memberValue0 := mload(add(value, 0x80))\n            abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x80))\n        }\n\n    }\n\n    // struct Witnet.Response -> struct Witnet.Response\n    function abi_encode_t_struct$_Response_$8017_memory_ptr_to_t_struct$_Response_$8017_memory_ptr(value, pos)  -> end  {\n        let tail := add(pos, 0x80)\n\n        {\n            // reporter\n\n            let memberValue0 := mload(add(value, 0x00))\n            abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x00))\n        }\n\n        {\n            // timestamp\n\n            let memberValue0 := mload(add(value, 0x20))\n            abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n        }\n\n        {\n            // drTxHash\n\n            let memberValue0 := mload(add(value, 0x40))\n            abi_encode_t_bytes32_to_t_bytes32(memberValue0, add(pos, 0x40))\n        }\n\n        {\n            // cborBytes\n\n            let memberValue0 := mload(add(value, 0x60))\n\n            mstore(add(pos, 0x60), sub(tail, pos))\n            tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(memberValue0, tail)\n\n        }\n\n        end := tail\n    }\n\n    // struct Witnet.Response -> struct Witnet.Response\n    function abi_encode_t_struct$_Response_$8017_memory_ptr_to_t_struct$_Response_$8017_memory_ptr_fromStack(value, pos)  -> end  {\n        let tail := add(pos, 0x80)\n\n        {\n            // reporter\n\n            let memberValue0 := mload(add(value, 0x00))\n            abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x00))\n        }\n\n        {\n            // timestamp\n\n            let memberValue0 := mload(add(value, 0x20))\n            abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n        }\n\n        {\n            // drTxHash\n\n            let memberValue0 := mload(add(value, 0x40))\n            abi_encode_t_bytes32_to_t_bytes32(memberValue0, add(pos, 0x40))\n        }\n\n        {\n            // cborBytes\n\n            let memberValue0 := mload(add(value, 0x60))\n\n            mstore(add(pos, 0x60), sub(tail, pos))\n            tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(memberValue0, tail)\n\n        }\n\n        end := tail\n    }\n\n    // struct Witnet.Result -> struct Witnet.Result\n    function abi_encode_t_struct$_Result_$8023_memory_ptr_to_t_struct$_Result_$8023_memory_ptr_fromStack(value, pos)  -> end  {\n        let tail := add(pos, 0x40)\n\n        {\n            // success\n\n            let memberValue0 := mload(add(value, 0x00))\n            abi_encode_t_bool_to_t_bool(memberValue0, add(pos, 0x00))\n        }\n\n        {\n            // value\n\n            let memberValue0 := mload(add(value, 0x20))\n\n            mstore(add(pos, 0x20), sub(tail, pos))\n            tail := abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr(memberValue0, tail)\n\n        }\n\n        end := tail\n    }\n\n    // struct Witnet.Result -> struct Witnet.Result\n    function abi_encode_t_struct$_Result_$8023_memory_ptr_to_t_struct$_Result_$8023_memory_ptr_fromStack_library(value, pos)  -> end  {\n        let tail := add(pos, 0x40)\n\n        {\n            // success\n\n            let memberValue0 := mload(add(value, 0x00))\n            abi_encode_t_bool_to_t_bool_library(memberValue0, add(pos, 0x00))\n        }\n\n        {\n            // value\n\n            let memberValue0 := mload(add(value, 0x20))\n\n            mstore(add(pos, 0x20), sub(tail, pos))\n            tail := abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_library(memberValue0, tail)\n\n        }\n\n        end := tail\n    }\n\n    function abi_encode_t_uint256_to_t_uint256(value, pos) {\n        mstore(pos, cleanup_t_uint256(value))\n    }\n\n    function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint256(value))\n    }\n\n    function abi_encode_t_uint32_to_t_uint32(value, pos) {\n        mstore(pos, cleanup_t_uint32(value))\n    }\n\n    function abi_encode_t_uint32_to_t_uint32_library(value, pos) {\n        mstore(pos, cleanup_t_uint32(value))\n    }\n\n    function abi_encode_t_uint64_to_t_uint64(value, pos) {\n        mstore(pos, cleanup_t_uint64(value))\n    }\n\n    function abi_encode_t_uint64_to_t_uint64_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint64(value))\n    }\n\n    function abi_encode_t_uint64_to_t_uint64_library(value, pos) {\n        mstore(pos, cleanup_t_uint64(value))\n    }\n\n    function abi_encode_t_uint8_to_t_uint8(value, pos) {\n        mstore(pos, cleanup_t_uint8(value))\n    }\n\n    function abi_encode_t_uint8_to_t_uint8_library(value, pos) {\n        mstore(pos, cleanup_t_uint8(value))\n    }\n\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n        pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_address_to_t_address_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_array$_t_int128_$dyn_memory_ptr__to_t_array$_t_int128_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_array$_t_int128_$dyn_memory_ptr_to_t_array$_t_int128_$dyn_memory_ptr_fromStack(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_array$_t_int32_$dyn_memory_ptr__to_t_array$_t_int32_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_array$_t_int32_$dyn_memory_ptr_to_t_array$_t_int32_$dyn_memory_ptr_fromStack(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_array$_t_uint64_$dyn_memory_ptr__to_t_array$_t_uint64_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_array$_t_uint64_$dyn_memory_ptr_to_t_array$_t_uint64_$dyn_memory_ptr_fromStack(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_bool_to_t_bool_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_bytes32_to_t_bytes32_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_bytes_storage__to_t_bytes_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_bytes_storage_to_t_bytes_memory_ptr_fromStack_library(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_contract$_IERC20_$7292__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_contract$_IERC20_$7292_to_t_address_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_enum$_ErrorCodes_$8299__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_enum$_ErrorCodes_$8299_to_t_uint8_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_enum$_ErrorCodes_$8299_t_string_memory_ptr__to_t_uint8_t_string_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n        tail := add(headStart, 64)\n\n        abi_encode_t_enum$_ErrorCodes_$8299_to_t_uint8_fromStack(value0,  add(headStart, 0))\n\n        mstore(add(headStart, 32), sub(tail, headStart))\n        tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value1,  tail)\n\n    }\n\n    function abi_encode_tuple_t_enum$_QueryStatus_$7996__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_enum$_QueryStatus_$7996_to_t_uint8_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_int128__to_t_int128__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_int128_to_t_int128_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_int32__to_t_int32__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_int32_to_t_int32_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_0be555820c60b6124cd4a527104e7ed2ef896a14c9cdf1f4d0c1a79561ea22c4__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_0be555820c60b6124cd4a527104e7ed2ef896a14c9cdf1f4d0c1a79561ea22c4_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_0d0f3639c50be0afccc47d7224de7d8f86286c512c889d59db02617fd5eda150__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_0d0f3639c50be0afccc47d7224de7d8f86286c512c889d59db02617fd5eda150_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_1f8274dcdd937f970d48bf777d3a3d5fbcf9897829d796148c2d8edcd419ec5d__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_1f8274dcdd937f970d48bf777d3a3d5fbcf9897829d796148c2d8edcd419ec5d_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_33e565b65d8aa6e9990eec2cc32f99865d7f76bbee3771b62789ab97e5a37d7f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_33e565b65d8aa6e9990eec2cc32f99865d7f76bbee3771b62789ab97e5a37d7f_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_3d43510da44c3e08f6dfef5e320d0e99d425bf23f74114ae066f5af47319ad5c__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_3d43510da44c3e08f6dfef5e320d0e99d425bf23f74114ae066f5af47319ad5c_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_4425c56dbfedfa02467de27608a6ff1e4faacad72797eafb38bb660bf95f7eee__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_4425c56dbfedfa02467de27608a6ff1e4faacad72797eafb38bb660bf95f7eee_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_48f3e667c3593a2e92c7dce9bfc9484f97112384c1450711c71171e05fb5759a__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_48f3e667c3593a2e92c7dce9bfc9484f97112384c1450711c71171e05fb5759a_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_58fe038ba911826a5f966fdd037e315cc531824afa5103a4407b08d95d19ddce__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_58fe038ba911826a5f966fdd037e315cc531824afa5103a4407b08d95d19ddce_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_5fa4f20d3b547b43c3b49de4f5c62b8d87a47a9169c1a1db0d172150993aa1eb__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_5fa4f20d3b547b43c3b49de4f5c62b8d87a47a9169c1a1db0d172150993aa1eb_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_72b1f434e16ac1cf02aa4ce2f0f63ef536c0a2e88f68b1067ef152351f0087f1__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_72b1f434e16ac1cf02aa4ce2f0f63ef536c0a2e88f68b1067ef152351f0087f1_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_9fa14ac89471826c5bc72b75de3388cdde56a33fbf6bb575f16de2cc5916ce84__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_9fa14ac89471826c5bc72b75de3388cdde56a33fbf6bb575f16de2cc5916ce84_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_aac6109e25b977a3666829c5faa653ddebecef9c73e0dbd918342867acf0b90b__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_aac6109e25b977a3666829c5faa653ddebecef9c73e0dbd918342867acf0b90b_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_ba6ce338a8b77b4309b1dcba6abb75801c6b8961785823dfa406357c96ccf60d__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_ba6ce338a8b77b4309b1dcba6abb75801c6b8961785823dfa406357c96ccf60d_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_ea4580d893291eb488d1f84e08baa4c835b386770db72420b713c9cfcfc0dfb6__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_ea4580d893291eb488d1f84e08baa4c835b386770db72420b713c9cfcfc0dfb6_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_ebdfd38fe21ca0808fdb840ac4bd9b3f5d98f2e7880341f5272855af32dcb094__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_ebdfd38fe21ca0808fdb840ac4bd9b3f5d98f2e7880341f5272855af32dcb094_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_struct$_CBOR_$8037_memory_ptr__to_t_struct$_CBOR_$8037_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_fromStack_library(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_struct$_Query_$7991_memory_ptr__to_t_struct$_Query_$7991_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_struct$_Query_$7991_memory_ptr_to_t_struct$_Query_$7991_memory_ptr_fromStack(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_struct$_Request_$8008_memory_ptr__to_t_struct$_Request_$8008_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 160)\n\n        abi_encode_t_struct$_Request_$8008_memory_ptr_to_t_struct$_Request_$8008_memory_ptr_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_struct$_Response_$8017_memory_ptr__to_t_struct$_Response_$8017_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_struct$_Response_$8017_memory_ptr_to_t_struct$_Response_$8017_memory_ptr_fromStack(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_struct$_Result_$8023_memory_ptr__to_t_struct$_Result_$8023_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_struct$_Result_$8023_memory_ptr_to_t_struct$_Result_$8023_memory_ptr_fromStack_library(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_struct$_Result_$8023_memory_ptr__to_t_struct$_Result_$8023_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_struct$_Result_$8023_memory_ptr_to_t_struct$_Result_$8023_memory_ptr_fromStack(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed(headStart , value1, value0) -> tail {\n        tail := add(headStart, 64)\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_address_to_t_address_fromStack(value1,  add(headStart, 32))\n\n    }\n\n    function abi_encode_tuple_t_uint256_t_stringliteral_1581ae06fefdfc841abacd4b63952c567c2edc2bc8c7899a32661f6a801e746b__to_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 64)\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n        mstore(add(headStart, 32), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_1581ae06fefdfc841abacd4b63952c567c2edc2bc8c7899a32661f6a801e746b_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_uint256_t_stringliteral_3b4bb84f4a99e05df33e41f62f5366e4016b4735b6f76082d73cf5d8831faa3e__to_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 64)\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n        mstore(add(headStart, 32), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_3b4bb84f4a99e05df33e41f62f5366e4016b4735b6f76082d73cf5d8831faa3e_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_uint256_t_stringliteral_8e0ffa273c001ae051d701178ac5c710a5b4d9fec98205577ebc7425e417a801__to_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 64)\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n        mstore(add(headStart, 32), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_8e0ffa273c001ae051d701178ac5c710a5b4d9fec98205577ebc7425e417a801_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_uint256_t_stringliteral_e251d84e62e5492f0ae8601bf0b4d92f0e11ae4eb6623c0c4134c63f7dd56847__to_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 64)\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n        mstore(add(headStart, 32), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_e251d84e62e5492f0ae8601bf0b4d92f0e11ae4eb6623c0c4134c63f7dd56847_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_uint64_to_t_uint64_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function allocate_memory(size) -> memPtr {\n        memPtr := allocate_unbounded()\n        finalize_allocation(memPtr, size)\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := mul(length, 0x20)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_allocation_size_t_array$_t_int128_$dyn_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := mul(length, 0x20)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_allocation_size_t_array$_t_int32_$dyn_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := mul(length, 0x20)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := mul(length, 0x20)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_allocation_size_t_array$_t_struct$_BatchResult_$7637_memory_ptr_$dyn_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := mul(length, 0x20)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_allocation_size_t_array$_t_uint64_$dyn_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := mul(length, 0x20)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := round_up_to_mul_of_32(length)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_allocation_size_t_string_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := round_up_to_mul_of_32(length)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_dataslot_t_array$_t_address_$dyn_memory_ptr(ptr) -> data {\n        data := ptr\n\n        data := add(ptr, 0x20)\n\n    }\n\n    function array_dataslot_t_array$_t_int128_$dyn_memory_ptr(ptr) -> data {\n        data := ptr\n\n        data := add(ptr, 0x20)\n\n    }\n\n    function array_dataslot_t_array$_t_int32_$dyn_memory_ptr(ptr) -> data {\n        data := ptr\n\n        data := add(ptr, 0x20)\n\n    }\n\n    function array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr(ptr) -> data {\n        data := ptr\n\n        data := add(ptr, 0x20)\n\n    }\n\n    function array_dataslot_t_array$_t_uint64_$dyn_memory_ptr(ptr) -> data {\n        data := ptr\n\n        data := add(ptr, 0x20)\n\n    }\n\n    function array_dataslot_t_bytes_storage(ptr) -> data {\n        data := ptr\n\n        mstore(0, ptr)\n        data := keccak256(0, 0x20)\n\n    }\n\n    function array_length_t_array$_t_address_$dyn_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_length_t_array$_t_int128_$dyn_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_length_t_array$_t_int32_$dyn_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_length_t_array$_t_uint64_$dyn_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_length_t_bytes_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_length_t_string_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_nextElement_t_array$_t_address_$dyn_memory_ptr(ptr) -> next {\n        next := add(ptr, 0x20)\n    }\n\n    function array_nextElement_t_array$_t_int128_$dyn_memory_ptr(ptr) -> next {\n        next := add(ptr, 0x20)\n    }\n\n    function array_nextElement_t_array$_t_int32_$dyn_memory_ptr(ptr) -> next {\n        next := add(ptr, 0x20)\n    }\n\n    function array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr(ptr) -> next {\n        next := add(ptr, 0x20)\n    }\n\n    function array_nextElement_t_array$_t_uint64_$dyn_memory_ptr(ptr) -> next {\n        next := add(ptr, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_array$_t_int128_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_array$_t_int32_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_array$_t_uint64_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_library(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n        updated_pos := pos\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function checked_add_t_uint256(x, y) -> sum {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        // overflow, if x > (maxValue - y)\n        if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n        sum := add(x, y)\n    }\n\n    function checked_mul_t_uint256(x, y) -> product {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        // overflow, if x != 0 and y > (maxValue / x)\n        if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n        product := mul(x, y)\n    }\n\n    function cleanup_t_address(value) -> cleaned {\n        cleaned := cleanup_t_uint160(value)\n    }\n\n    function cleanup_t_bool(value) -> cleaned {\n        cleaned := iszero(iszero(value))\n    }\n\n    function cleanup_t_bytes32(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_contract$_IWitnetRequest_$7510(value) -> cleaned {\n        cleaned := cleanup_t_address(value)\n    }\n\n    function cleanup_t_enum$_ErrorCodes_$8299(value) -> cleaned {\n        cleaned := value validator_assert_t_enum$_ErrorCodes_$8299(value)\n    }\n\n    function cleanup_t_enum$_QueryStatus_$7996(value) -> cleaned {\n        cleaned := value validator_assert_t_enum$_QueryStatus_$7996(value)\n    }\n\n    function cleanup_t_int128(value) -> cleaned {\n        cleaned := signextend(15, value)\n    }\n\n    function cleanup_t_int32(value) -> cleaned {\n        cleaned := signextend(3, value)\n    }\n\n    function cleanup_t_uint160(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n    }\n\n    function cleanup_t_uint256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_uint32(value) -> cleaned {\n        cleaned := and(value, 0xffffffff)\n    }\n\n    function cleanup_t_uint64(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffff)\n    }\n\n    function cleanup_t_uint8(value) -> cleaned {\n        cleaned := and(value, 0xff)\n    }\n\n    function convert_t_contract$_IERC20_$7292_to_t_address(value) -> converted {\n        converted := convert_t_uint160_to_t_address(value)\n    }\n\n    function convert_t_contract$_IWitnetRequest_$7510_to_t_address(value) -> converted {\n        converted := convert_t_uint160_to_t_address(value)\n    }\n\n    function convert_t_enum$_ErrorCodes_$8299_to_t_uint8(value) -> converted {\n        converted := cleanup_t_enum$_ErrorCodes_$8299(value)\n    }\n\n    function convert_t_enum$_QueryStatus_$7996_to_t_uint8(value) -> converted {\n        converted := cleanup_t_enum$_QueryStatus_$7996(value)\n    }\n\n    function convert_t_uint160_to_t_address(value) -> converted {\n        converted := convert_t_uint160_to_t_uint160(value)\n    }\n\n    function convert_t_uint160_to_t_uint160(value) -> converted {\n        converted := cleanup_t_uint160(value)\n    }\n\n    function copy_calldata_to_memory(src, dst, length) {\n        calldatacopy(dst, src, length)\n        // clear end\n        mstore(add(dst, length), 0)\n    }\n\n    function copy_memory_to_memory(src, dst, length) {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        if gt(i, length)\n        {\n            // clear end\n            mstore(add(dst, length), 0)\n        }\n    }\n\n    function extract_byte_array_length(data) -> length {\n        length := div(data, 2)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) {\n            length := and(length, 0x7f)\n        }\n\n        if eq(outOfPlaceEncoding, lt(length, 32)) {\n            panic_error_0x22()\n        }\n    }\n\n    function finalize_allocation(memPtr, size) {\n        let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n        // protect against overflow\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n\n    function increment_t_uint256(value) -> ret {\n        value := cleanup_t_uint256(value)\n        if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n\n    function panic_error_0x11() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x21() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x22() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x22)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x32() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x41() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n\n    function return_data_selector() -> sig {\n        if gt(returndatasize(), 3) {\n            returndatacopy(0, 0, 4)\n            sig := shift_right_224_unsigned(mload(0))\n        }\n    }\n\n    function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n        revert(0, 0)\n    }\n\n    function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n        revert(0, 0)\n    }\n\n    function revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() {\n        revert(0, 0)\n    }\n\n    function revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() {\n        revert(0, 0)\n    }\n\n    function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n        revert(0, 0)\n    }\n\n    function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n        revert(0, 0)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function round_up_to_mul_of_32(value) -> result {\n        result := and(add(value, 31), not(31))\n    }\n\n    function shift_right_224_unsigned(value) -> newValue {\n        newValue :=\n\n        shr(224, value)\n\n    }\n\n    function store_literal_in_memory_0be555820c60b6124cd4a527104e7ed2ef896a14c9cdf1f4d0c1a79561ea22c4(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestBoardTrustableBase:\")\n\n        mstore(add(memPtr, 32), \" null script\")\n\n    }\n\n    function store_literal_in_memory_0d0f3639c50be0afccc47d7224de7d8f86286c512c889d59db02617fd5eda150(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestBoard: no transfers\")\n\n        mstore(add(memPtr, 32), \" accepted\")\n\n    }\n\n    function store_literal_in_memory_1581ae06fefdfc841abacd4b63952c567c2edc2bc8c7899a32661f6a801e746b(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestBoardTrustableBase:\")\n\n        mstore(add(memPtr, 32), \" bad timestamp\")\n\n    }\n\n    function store_literal_in_memory_1f8274dcdd937f970d48bf777d3a3d5fbcf9897829d796148c2d8edcd419ec5d(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetBoardData: only owner\")\n\n    }\n\n    function store_literal_in_memory_33e565b65d8aa6e9990eec2cc32f99865d7f76bbee3771b62789ab97e5a37d7f(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestBoardTrustableDefau\")\n\n        mstore(add(memPtr, 32), \"lt: bad timestamp\")\n\n    }\n\n    function store_literal_in_memory_3b4bb84f4a99e05df33e41f62f5366e4016b4735b6f76082d73cf5d8831faa3e(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestBoardTrustableBase:\")\n\n        mstore(add(memPtr, 32), \" bad queryId\")\n\n    }\n\n    function store_literal_in_memory_3d43510da44c3e08f6dfef5e320d0e99d425bf23f74114ae066f5af47319ad5c(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestBoardTrustableBase:\")\n\n        mstore(add(memPtr, 32), \" empty script\")\n\n    }\n\n    function store_literal_in_memory_4425c56dbfedfa02467de27608a6ff1e4faacad72797eafb38bb660bf95f7eee(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestBoardTrustableBase:\")\n\n        mstore(add(memPtr, 32), \" only requester\")\n\n    }\n\n    function store_literal_in_memory_48f3e667c3593a2e92c7dce9bfc9484f97112384c1450711c71171e05fb5759a(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestBoardTrustableBase:\")\n\n        mstore(add(memPtr, 32), \" reward too low\")\n\n    }\n\n    function store_literal_in_memory_58fe038ba911826a5f966fdd037e315cc531824afa5103a4407b08d95d19ddce(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestBoardTrustableBase:\")\n\n        mstore(add(memPtr, 32), \" bytecode changed after posting\")\n\n    }\n\n    function store_literal_in_memory_5fa4f20d3b547b43c3b49de4f5c62b8d87a47a9169c1a1db0d172150993aa1eb(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestBoardTrustableDefau\")\n\n        mstore(add(memPtr, 32), \"lt: Witnet drTxHash cannot be ze\")\n\n        mstore(add(memPtr, 64), \"ro\")\n\n    }\n\n    function store_literal_in_memory_72b1f434e16ac1cf02aa4ce2f0f63ef536c0a2e88f68b1067ef152351f0087f1(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetBoardDataACLs: unauthorize\")\n\n        mstore(add(memPtr, 32), \"d reporter\")\n\n    }\n\n    function store_literal_in_memory_8e0ffa273c001ae051d701178ac5c710a5b4d9fec98205577ebc7425e417a801(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestBoardTrustableBase:\")\n\n        mstore(add(memPtr, 32), \" bad drTxHash\")\n\n    }\n\n    function store_literal_in_memory_9fa14ac89471826c5bc72b75de3388cdde56a33fbf6bb575f16de2cc5916ce84(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestBoardTrustableDefau\")\n\n        mstore(add(memPtr, 32), \"lt: result cannot be empty\")\n\n    }\n\n    function store_literal_in_memory_aac6109e25b977a3666829c5faa653ddebecef9c73e0dbd918342867acf0b90b(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestBoardTrustableBase:\")\n\n        mstore(add(memPtr, 32), \" already initialized\")\n\n    }\n\n    function store_literal_in_memory_ba6ce338a8b77b4309b1dcba6abb75801c6b8961785823dfa406357c96ccf60d(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestBoardTrustableBase:\")\n\n        mstore(add(memPtr, 32), \" only owner\")\n\n    }\n\n    function store_literal_in_memory_e251d84e62e5492f0ae8601bf0b4d92f0e11ae4eb6623c0c4134c63f7dd56847(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestBoardTrustableBase:\")\n\n        mstore(add(memPtr, 32), \" bad cborBytes\")\n\n    }\n\n    function store_literal_in_memory_ea4580d893291eb488d1f84e08baa4c835b386770db72420b713c9cfcfc0dfb6(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestBoardTrustableBase:\")\n\n        mstore(add(memPtr, 32), \" not yet posted\")\n\n    }\n\n    function store_literal_in_memory_ebdfd38fe21ca0808fdb840ac4bd9b3f5d98f2e7880341f5272855af32dcb094(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestBoardUpgradableBase\")\n\n        mstore(add(memPtr, 32), \": not implemented\")\n\n    }\n\n    function try_decode_error_message() -> ret {\n        if lt(returndatasize(), 0x44) { leave }\n\n        let data := allocate_unbounded()\n        returndatacopy(data, 4, sub(returndatasize(), 4))\n\n        let offset := mload(data)\n        if or(\n            gt(offset, 0xffffffffffffffff),\n            gt(add(offset, 0x24), returndatasize())\n            ) {\n            leave\n        }\n\n        let msg := add(data, offset)\n        let length := mload(msg)\n        if gt(length, 0xffffffffffffffff) { leave }\n\n        let end := add(add(msg, 0x20), length)\n        if gt(end, add(data, sub(returndatasize(), 4))) { leave }\n\n        finalize_allocation(data, add(offset, add(0x20, length)))\n        ret := msg\n    }\n\n    function validator_assert_t_enum$_ErrorCodes_$8299(value) {\n        if iszero(lt(value, 256)) { panic_error_0x21() }\n    }\n\n    function validator_assert_t_enum$_QueryStatus_$7996(value) {\n        if iszero(lt(value, 4)) { panic_error_0x21() }\n    }\n\n    function validator_revert_t_address(value) {\n        if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_bool(value) {\n        if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_bytes32(value) {\n        if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_contract$_IWitnetRequest_$7510(value) {\n        if iszero(eq(value, cleanup_t_contract$_IWitnetRequest_$7510(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_enum$_ErrorCodes_$8299(value) {\n        if iszero(lt(value, 256)) { revert(0, 0) }\n    }\n\n    function validator_revert_t_int128(value) {\n        if iszero(eq(value, cleanup_t_int128(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_int32(value) {\n        if iszero(eq(value, cleanup_t_int32(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint256(value) {\n        if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint32(value) {\n        if iszero(eq(value, cleanup_t_uint32(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint64(value) {\n        if iszero(eq(value, cleanup_t_uint64(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint8(value) {\n        if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"5513":[{"length":32,"start":7553}],"7109":[{"length":32,"start":14589}],"11787":[{"length":32,"start":15679}],"11851":[{"length":32,"start":7430}],"11853":[{"length":32,"start":11775}],"11855":[{"length":32,"start":7513}]},"linkReferences":{"witnet-solidity-bridge/contracts/libs/WitnetParserLib.sol":{"WitnetParserLib":[{"length":20,"start":3711},{"length":20,"start":3862},{"length":20,"start":4013},{"length":20,"start":4484},{"length":20,"start":4635},{"length":20,"start":5335},{"length":20,"start":7280},{"length":20,"start":9011},{"length":20,"start":11630},{"length":20,"start":11816},{"length":20,"start":12695},{"length":20,"start":13475},{"length":20,"start":13657},{"length":20,"start":14444},{"length":20,"start":14643},{"length":20,"start":14932},{"length":20,"start":15090},{"length":20,"start":15387},{"length":20,"start":15723}]}},"object":"6080604052600436106102e85760003560e01c80637780cde111610190578063c805dd0f116100dc578063d4da69ac11610095578063dc3c71cd1161006f578063dc3c71cd14610d4d578063e5a6b10f14610d8a578063e99e47f314610db5578063f2fde38b14610df257610328565b8063d4da69ac14610c95578063d74803be14610cd2578063db04f16d14610d1057610328565b8063c805dd0f14610b4d578063c87d969e14610b78578063c8f5cdd514610bb5578063cf62d11514610bde578063d2e8756114610c1b578063d4ced13214610c5857610328565b8063a8604c1a11610149578063b281a7bd11610123578063b281a7bd14610a66578063bc7e25ff14610a96578063c2485ebd14610ad3578063c683b46514610b1057610328565b8063a8604c1a146109c1578063a9e954b9146109fe578063b076832814610a2957610328565b80637780cde1146108795780637c1fbda3146108b657806381a398b5146108f35780638da5cb5b1461091c57806399f65804146109475780639d96fced1461098457610328565b80633b885f2a1161024f5780635479d9401161020857806366bfdc75116101e257806366bfdc75146107a65780636b58960a146107c25780636f07abcc146107ff578063754e5bea1461083c57610328565b80635479d9401461072757806354fd4d50146107525780636280bce81461077d57610328565b80633b885f2a14610605578063439fab91146106425780634c9f72e31461066b5780634dcffaf3146106945780635001f3b5146106d157806352d1902d146106fc57610328565b80632241f2db116102a15780632241f2db146104d15780632565082b1461050e57806328a78d9b1461054b5780632b68b9c6146105745780632b905fbb1461058b5780633ae97295146105c857610328565b8063044ad7be1461036357806307e66852146103a05780630f572d2c146103dd578063109a0e3c1461041a5780631dd27daf1461045757806320f9241e1461049457610328565b36610328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161031f906167c2565b60405180910390fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035a90616962565b60405180910390fd5b34801561036f57600080fd5b5061038a600480360381019061038591906151be565b610e1b565b604051610397919061662d565b60405180910390f35b3480156103ac57600080fd5b506103c760048036038101906103c2919061568b565b610e7a565b6040516103d491906165a5565b60405180910390f35b3480156103e957600080fd5b5061040460048036038101906103ff919061568b565b610f11565b60405161041191906165c7565b60405180910390f35b34801561042657600080fd5b50610441600480360381019061043c919061568b565b610fa8565b60405161044e9190616780565b60405180910390f35b34801561046357600080fd5b5061047e6004803603810190610479919061571d565b61103f565b60405161048b9190616a47565b60405180910390f35b3480156104a057600080fd5b506104bb60048036038101906104b6919061571d565b6110ea565b6040516104c89190616a47565b60405180910390f35b3480156104dd57600080fd5b506104f860048036038101906104f3919061568b565b61117f565b6040516105059190616765565b60405180910390f35b34801561051a57600080fd5b5061053560048036038101906105309190615642565b611211565b6040516105429190616a25565b60405180910390f35b34801561055757600080fd5b50610572600480360381019061056d91906151eb565b6112ac565b005b34801561058057600080fd5b50610589611420565b005b34801561059757600080fd5b506105b260048036038101906105ad919061568b565b6114d2565b6040516105bf919061674a565b60405180910390f35b3480156105d457600080fd5b506105ef60048036038101906105ea919061571d565b611564565b6040516105fc9190616a47565b60405180910390f35b34801561061157600080fd5b5061062c6004803603810190610627919061571d565b61160f565b6040516106399190616685565b60405180910390f35b34801561064e57600080fd5b5061066960048036038101906106649190615457565b6117e4565b005b34801561067757600080fd5b50610692600480360381019061068d91906151eb565b611af7565b005b3480156106a057600080fd5b506106bb60048036038101906106b6919061568b565b611c6b565b6040516106c8919061660b565b60405180910390f35b3480156106dd57600080fd5b506106e6611d02565b6040516106f39190616568565b60405180910390f35b34801561070857600080fd5b50610711611d2a565b60405161071e9190616648565b60405180910390f35b34801561073357600080fd5b5061073c611d55565b604051610749919061662d565b60405180910390f35b34801561075e57600080fd5b50610767611d7d565b6040516107749190616648565b60405180910390f35b34801561078957600080fd5b506107a4600480360381019061079f919061574a565b611da5565b005b6107c060048036038101906107bb919061571d565b611fdd565b005b3480156107ce57600080fd5b506107e960048036038101906107e491906151be565b612106565b6040516107f6919061662d565b60405180910390f35b34801561080b57600080fd5b506108266004803603810190610821919061571d565b61217e565b604051610833919061672f565b60405180910390f35b34801561084857600080fd5b50610863600480360381019061085e919061571d565b612190565b60405161087091906169e1565b60405180910390f35b34801561088557600080fd5b506108a0600480360381019061089b919061568b565b61232e565b6040516108ad919061662d565b60405180910390f35b3480156108c257600080fd5b506108dd60048036038101906108d8919061571d565b6123c0565b6040516108ea91906169e1565b60405180910390f35b3480156108ff57600080fd5b5061091a60048036038101906109159190615358565b612746565b005b34801561092857600080fd5b50610931612a44565b60405161093e9190616568565b60405180910390f35b34801561095357600080fd5b5061096e6004803603810190610969919061571d565b612a77565b60405161097b91906169c6565b60405180910390f35b34801561099057600080fd5b506109ab60048036038101906109a6919061571d565b612cb4565b6040516109b89190616568565b60405180910390f35b3480156109cd57600080fd5b506109e860048036038101906109e3919061568b565b612d69565b6040516109f5919061662d565b60405180910390f35b348015610a0a57600080fd5b50610a13612dfb565b604051610a209190616648565b60405180910390f35b348015610a3557600080fd5b50610a506004803603810190610a4b919061568b565b612e23565b604051610a5d919061660b565b60405180910390f35b610a806004803603810190610a7b91906154e9565b612eba565b604051610a8d9190616a47565b60405180910390f35b348015610aa257600080fd5b50610abd6004803603810190610ab8919061568b565b613192565b604051610aca9190616b43565b60405180910390f35b348015610adf57600080fd5b50610afa6004803603810190610af5919061571d565b613224565b604051610b0791906169a4565b60405180910390f35b348015610b1c57600080fd5b50610b376004803603810190610b32919061568b565b61349e565b604051610b449190616685565b60405180910390f35b348015610b5957600080fd5b50610b62613535565b604051610b6f9190616a47565b60405180910390f35b348015610b8457600080fd5b50610b9f6004803603810190610b9a919061568b565b613554565b604051610bac91906165e9565b60405180910390f35b348015610bc157600080fd5b50610bdc6004803603810190610bd791906157be565b6135eb565b005b348015610bea57600080fd5b50610c056004803603810190610c00919061568b565b613867565b604051610c129190616648565b60405180910390f35b348015610c2757600080fd5b50610c426004803603810190610c3d919061571d565b6138f9565b604051610c4f9190616a47565b60405180910390f35b348015610c6457600080fd5b50610c7f6004803603810190610c7a919061568b565b61392e565b604051610c8c919061662d565b60405180910390f35b348015610ca157600080fd5b50610cbc6004803603810190610cb7919061571d565b6139c0565b604051610cc99190616a25565b60405180910390f35b348015610cde57600080fd5b50610cf96004803603810190610cf4919061568b565b613aeb565b604051610d079291906166ff565b60405180910390f35b348015610d1c57600080fd5b50610d376004803603810190610d32919061568b565b613c16565b604051610d4491906166e4565b60405180910390f35b348015610d5957600080fd5b50610d746004803603810190610d6f919061571d565b613ca8565b604051610d819190616648565b60405180910390f35b348015610d9657600080fd5b50610d9f613d3d565b604051610dac91906166c9565b60405180910390f35b348015610dc157600080fd5b50610ddc6004803603810190610dd79190615457565b613d61565b604051610de99190616a25565b60405180910390f35b348015610dfe57600080fd5b50610e196004803603810190610e1491906151be565b613dfc565b005b6000610e25613fa1565b60000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60608173__$2872872f739c245a20da3eaa995328fa91$__63fc853c3790916040518263ffffffff1660e01b8152600401610eb59190616a03565b60006040518083038186803b158015610ecd57600080fd5b505af4158015610ee1573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610f0a919061527d565b9050919050565b60608173__$2872872f739c245a20da3eaa995328fa91$__6308efc09790916040518263ffffffff1660e01b8152600401610f4c9190616a03565b60006040518083038186803b158015610f6457600080fd5b505af4158015610f78573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610fa191906152c6565b9050919050565b60608173__$2872872f739c245a20da3eaa995328fa91$__63f417daf590916040518263ffffffff1660e01b8152600401610fe39190616a03565b60006040518083038186803b158015610ffb57600080fd5b505af415801561100f573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061103891906155f9565b9050919050565b6000816001806003811115611057576110566171b4565b5b61106083613fc9565b6003811115611072576110716171b4565b5b1461107c82614099565b906110bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b49190616780565b60405180910390fd5b506110c66141bf565b60030160008581526020019081526020016000206000016004015492505050919050565b6000816002806003811115611102576111016171b4565b5b61110b83613fc9565b600381111561111d5761111c6171b4565b5b1461112782614099565b90611168576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115f9190616780565b60405180910390fd5b50611172846141e7565b6001015492505050919050565b60008173__$2872872f739c245a20da3eaa995328fa91$__63d8868db690916040518263ffffffff1660e01b81526004016111ba9190616a03565b60206040518083038186803b1580156111d257600080fd5b505af41580156111e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120a91906155cc565b9050919050565b611219614409565b73__$2872872f739c245a20da3eaa995328fa91$__63130283ee836040518263ffffffff1660e01b81526004016112509190616982565b60006040518083038186803b15801561126857600080fd5b505af415801561127c573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906112a591906156d4565b9050919050565b6112b46141bf565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611345576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133c906167e2565b60405180910390fd5b60005b81518110156113e557600082828151811061136657611365617212565b5b60200260200101519050600061137a613fa1565b60000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505080806113dd9061713c565b915050611348565b507f646436560d9757cb3c0f01da0f62642c6040b00c9a80685f94ef1a7725cad5f1816040516114159190616583565b60405180910390a150565b6114286141bf565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b0906167e2565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16ff5b60008173__$2872872f739c245a20da3eaa995328fa91$__63c71db52190916040518263ffffffff1660e01b815260040161150d9190616a03565b60206040518083038186803b15801561152557600080fd5b505af4158015611539573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155d919061559f565b9050919050565b600081600180600381111561157c5761157b6171b4565b5b61158583613fc9565b6003811115611597576115966171b4565b5b146115a182614099565b906115e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d99190616780565b60405180910390fd5b506115eb6141bf565b60030160008581526020019081526020016000206000016003015492505050919050565b606060006003811115611625576116246171b4565b5b61162e83613fc9565b60038111156116405761163f6171b4565b5b1415611681576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167890616942565b60405180910390fd5b600061168c8361420f565b9050600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117de578060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f09400026040518163ffffffff1660e01b815260040160006040518083038186803b15801561175057600080fd5b505afa158015611764573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061178d91906154a0565b9150806002015461179d83614237565b146117dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d490616882565b60405180910390fd5b5b50919050565b60006117ee6141bf565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561189b57339050806118556141bf565b60010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061190a565b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611909576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190090616922565b60405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff1661192a6141bf565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a0b57611971611d02565b73ffffffffffffffffffffffffffffffffffffffff1661198f6141bf565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611a0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0190616902565b60405180910390fd5b5b611a13611d02565b611a1b6141bf565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611a64612dfb565b611a6c611d02565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f72d4b00d8e35b3717e384aef5f900256a106d6a423d88935a11579981333ba20611ac2611d7d565b604051611acf9190616648565b60405180910390a4611af382806020019051810190611aee9190615234565b611af7565b5050565b611aff6141bf565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b87906167e2565b60405180910390fd5b60005b8151811015611c30576000828281518110611bb157611bb0617212565b5b602002602001015190506001611bc5613fa1565b60000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550508080611c289061713c565b915050611b93565b507f4d570ee36dec878006609360d34ac8d6a0b68d521871ae15a407b6340877ca0181604051611c609190616583565b60405180910390a150565b60608173__$2872872f739c245a20da3eaa995328fa91$__63147e5c8f90916040518263ffffffff1660e01b8152600401611ca69190616a03565b60006040518083038186803b158015611cbe57600080fd5b505af4158015611cd2573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611cfb91906153b4565b9050919050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60007f9969c6aff411c5e5f0807500693e8f819ce88529615cfa6cab569b24788a101860001b905090565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b611dad613fa1565b60000160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611e3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e31906168c2565b60405180910390fd5b836001806003811115611e5057611e4f6171b4565b5b611e5983613fc9565b6003811115611e6b57611e6a6171b4565b5b14611e7582614099565b90611eb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ead9190616780565b60405180910390fd5b506000801b851415611efd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef4906168a2565b60405180910390fd5b6000848490501415611f44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3b906168e2565b60405180910390fd5b611f9d33611f9888428989898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050614290565b6143ae565b7ee9413c6321ec446a267b7ebf5bb108663f2ef58b35c4f6e18905ac8f205cb28633604051611fcd929190616a62565b60405180910390a1505050505050565b806001806003811115611ff357611ff26171b4565b5b611ffc83613fc9565b600381111561200e5761200d6171b4565b5b1461201882614099565b90612059576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120509190616780565b60405180910390fd5b5060006120658461420f565b905060006120716143f9565b82600401546120809190616ea6565b9050600061208c614401565b905082600301548111156120f55760006120a5826138f9565b9050808310156120ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e190616862565b60405180910390fd5b818460030181905550505b818360040181905550505050505050565b6000806121116141bf565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061213f611d55565b801561217657508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b915050919050565b600061218982613fc9565b9050919050565b61219861442b565b8160028060038111156121ae576121ad6171b4565b5b6121b783613fc9565b60038111156121c9576121c86171b4565b5b146121d382614099565b90612214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220b9190616780565b60405180910390fd5b5061221e846141e7565b6040518060800160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282015481526020016003820180546122a3906170d9565b80601f01602080910402602001604051908101604052809291908181526020018280546122cf906170d9565b801561231c5780601f106122f15761010080835404028352916020019161231c565b820191906000526020600020905b8154815290600101906020018083116122ff57829003601f168201915b50505050508152505092505050919050565b60008173__$2872872f739c245a20da3eaa995328fa91$__63a1d45d5690916040518263ffffffff1660e01b81526004016123699190616a03565b60206040518083038186803b15801561238157600080fd5b505af4158015612395573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123b991906153fd565b9050919050565b6123c861442b565b8160028060038111156123de576123dd6171b4565b5b6123e783613fc9565b60038111156123f9576123f86171b4565b5b1461240382614099565b90612444576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243b9190616780565b60405180910390fd5b50600061244f6141bf565b600301600086815260200190815260200160002090508060090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146124f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ee90616842565b60405180910390fd5b806005016040518060800160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815260200160028201548152602001600382018054612580906170d9565b80601f01602080910402602001604051908101604052809291908181526020018280546125ac906170d9565b80156125f95780601f106125ce576101008083540402835291602001916125f9565b820191906000526020600020905b8154815290600101906020018083116125dc57829003601f168201915b505050505081525050935061260c6141bf565b60030160008681526020019081526020016000206000808201600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600282016000905560038201600090556004820160009055505060058201600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905560028201600090556003820160006126da919061446c565b50506009820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550507fdec847db058c9c012e0f3dbe2b99e05cfa4c693f61a7d8bc64652a68913cbfff8533604051612736929190616a62565b60405180910390a1505050919050565b61274e613fa1565b60000160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166127db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127d2906168c2565b60405180910390fd5b6000808351905060005b81811015612a2957600085828151811061280257612801617212565b5b60200260200101519050600160038111156128205761281f6171b4565b5b61282d8260000151613fc9565b600381111561283f5761283e6171b4565b5b1461288b578415612886577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f816000015160405161287d9190616ab9565b60405180910390a15b612a15565b6000801b816040015114156128e15784156128dc577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f81600001516040516128d39190616ae7565b60405180910390a15b612a14565b60008160600151511415612936578415612931577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f81600001516040516129289190616b15565b60405180910390a15b612a13565b6000816020015111801561294d5750428160200151115b15612999578415612994577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f816000015160405161298b9190616a8b565b60405180910390a15b612a12565b6129c8816000015160008360200151146129b75782602001516129b9565b425b83604001518460600151614290565b846129d39190616ea6565b93507ee9413c6321ec446a267b7ebf5bb108663f2ef58b35c4f6e18905ac8f205cb2816000015133604051612a09929190616a62565b60405180910390a15b5b5b5b508080612a219061713c565b9150506127e5565b506000821115612a3e57612a3d33836143ae565b5b50505050565b6000612a4e6141bf565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b612a7f6144ac565b816001806003811115612a9557612a946171b4565b5b612a9e83613fc9565b6003811115612ab057612aaf6171b4565b5b14612aba82614099565b90612afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612af29190616780565b60405180910390fd5b506000612b066141bf565b60030160008681526020019081526020016000209050806000016040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382015481526020016004820154815250509350600073ffffffffffffffffffffffffffffffffffffffff168160090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612cac578060090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b505050919050565b6000816002806003811115612ccc57612ccb6171b4565b5b612cd583613fc9565b6003811115612ce757612ce66171b4565b5b14612cf182614099565b90612d32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d299190616780565b60405180910390fd5b50612d3c846141e7565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692505050919050565b60008173__$2872872f739c245a20da3eaa995328fa91$__636646c11990916040518263ffffffff1660e01b8152600401612da49190616a03565b60206040518083038186803b158015612dbc57600080fd5b505af4158015612dd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612df491906153fd565b9050919050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60608173__$2872872f739c245a20da3eaa995328fa91$__630879730d90916040518263ffffffff1660e01b8152600401612e5e9190616a03565b60006040518083038186803b158015612e7657600080fd5b505af4158015612e8a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190612eb391906153b4565b9050919050565b600080612ec56143f9565b90506000612ed1614401565b90506000612ede826138f9565b905080831015612f23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f1a90616862565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612f93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f8a906167a2565b60405180910390fd5b60008573ffffffffffffffffffffffffffffffffffffffff1663f09400026040518163ffffffff1660e01b815260040160006040518083038186803b158015612fdb57600080fd5b505afa158015612fef573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061301891906154a0565b9050600081511161305e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161305590616822565b60405180910390fd5b6130666141bf565b600201600081546130769061713c565b9190508190559450336130876141bf565b600301600087815260200190815260200160002060090160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006130e78661420f565b9050868160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061313582614237565b81600201819055508381600301819055508481600401819055507fcabaf9c102f83746b27ae932f638eebfaf5ea7d014edd20ab14dec3768a8f55c8633604051613180929190616a62565b60405180910390a15050505050919050565b60008173__$2872872f739c245a20da3eaa995328fa91$__638233f9b390916040518263ffffffff1660e01b81526004016131cd9190616a03565b60206040518083038186803b1580156131e557600080fd5b505af41580156131f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321d9190615846565b9050919050565b61322c61450a565b6132346141bf565b6003016000838152602001908152602001600020604051806060016040529081600082016040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382015481526020016004820154815250508152602001600582016040518060800160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282015481526020016003820180546133bb906170d9565b80601f01602080910402602001604051908101604052809291908181526020018280546133e7906170d9565b80156134345780601f1061340957610100808354040283529160200191613434565b820191906000526020600020905b81548152906001019060200180831161341757829003601f168201915b50505050508152505081526020016009820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050919050565b60608173__$2872872f739c245a20da3eaa995328fa91$__63a1b9089190916040518263ffffffff1660e01b81526004016134d99190616a03565b60006040518083038186803b1580156134f157600080fd5b505af4158015613505573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061352e91906154a0565b9050919050565b600060016135416141bf565b6002015461354f9190616ea6565b905090565b60608173__$2872872f739c245a20da3eaa995328fa91$__632d26b9e290916040518263ffffffff1660e01b815260040161358f9190616a03565b60006040518083038186803b1580156135a757600080fd5b505af41580156135bb573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906135e4919061530f565b9050919050565b6135f3613fa1565b60000160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16613680576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613677906168c2565b60405180910390fd5b846001806003811115613696576136956171b4565b5b61369f83613fc9565b60038111156136b1576136b06171b4565b5b146136bb82614099565b906136fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136f39190616780565b60405180910390fd5b5042861115613740576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161373790616802565b60405180910390fd5b6000801b851415613786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161377d906168a2565b60405180910390fd5b60008484905014156137cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137c4906168e2565b60405180910390fd5b6138263361382189898989898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050614290565b6143ae565b7ee9413c6321ec446a267b7ebf5bb108663f2ef58b35c4f6e18905ac8f205cb28733604051613856929190616a62565b60405180910390a150505050505050565b60008173__$2872872f739c245a20da3eaa995328fa91$__63a2e8765590916040518263ffffffff1660e01b81526004016138a29190616a03565b60206040518083038186803b1580156138ba57600080fd5b505af41580156138ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138f2919061542a565b9050919050565b60007f0000000000000000000000000000000000000000000000000000000000000000826139279190616efc565b9050919050565b60008173__$2872872f739c245a20da3eaa995328fa91$__63abf82f4c90916040518263ffffffff1660e01b81526004016139699190616a03565b60206040518083038186803b15801561398157600080fd5b505af4158015613995573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139b991906153fd565b9050919050565b6139c8614409565b8160028060038111156139de576139dd6171b4565b5b6139e783613fc9565b60038111156139f9576139f86171b4565b5b14613a0382614099565b90613a44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a3b9190616780565b60405180910390fd5b506000613a50856141e7565b905073__$2872872f739c245a20da3eaa995328fa91$__63e99e47f3826003016040518263ffffffff1660e01b8152600401613a8c91906166a7565b60006040518083038186803b158015613aa457600080fd5b505af4158015613ab8573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190613ae191906156d4565b9350505050919050565b600060608273__$2872872f739c245a20da3eaa995328fa91$__638cc5eb5490916040518263ffffffff1660e01b8152600401613b289190616a03565b60006040518083038186803b158015613b4057600080fd5b505af4925050508015613b7657506040513d6000823e3d601f19601f82011682018060405250810190613b739190615543565b60015b613c0857613b82617270565b806308c379a01415613baf5750613b976178b5565b80613ba25750613bb1565b6000819250925050613c11565b505b3d8060008114613bdd576040519150601f19603f3d011682016040523d82523d6000602084013e613be2565b606091505b5060ff6040518060600160405280602f8152602001617ade602f91399250925050613c11565b81819350935050505b915091565b60008173__$2872872f739c245a20da3eaa995328fa91$__63d45d097d90916040518263ffffffff1660e01b8152600401613c519190616a03565b60206040518083038186803b158015613c6957600080fd5b505af4158015613c7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ca19190615516565b9050919050565b6000816002806003811115613cc057613cbf6171b4565b5b613cc983613fc9565b6003811115613cdb57613cda6171b4565b5b14613ce582614099565b90613d26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613d1d9190616780565b60405180910390fd5b50613d30846141e7565b6002015492505050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b613d69614409565b73__$2872872f739c245a20da3eaa995328fa91$__63e99e47f3836040518263ffffffff1660e01b8152600401613da09190616663565b60006040518083038186803b158015613db857600080fd5b505af4158015613dcc573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190613df591906156d4565b9050919050565b613e046141bf565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613e95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613e8c906167e2565b60405180910390fd5b6000613e9f6141bf565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614613f9d5781613f016141bf565b60010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35b5050565b60007fa6db7263983f337bae2c9fb315730227961d1c1153ae1e10a56b5791465dd6fd905090565b600080821480613fe35750613fdc6141bf565b6002015482115b15613ff15760009050614094565b6000613ffb6141bf565b600301600084815260200190815260200160002090506000801b81600501600201541461402c576002915050614094565b600073ffffffffffffffffffffffffffffffffffffffff168160090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461408e576001915050614094565b60039150505b919050565b6060600160038111156140af576140ae6171b4565b5b8260038111156140c2576140c16171b4565b5b14156140e857604051806060016040528060258152602001617a926025913990506141ba565b600260038111156140fc576140fb6171b4565b5b82600381111561410f5761410e6171b4565b5b141561413557604051806060016040528060278152602001617ab76027913990506141ba565b600380811115614148576141476171b4565b5b82600381111561415b5761415a6171b4565b5b141561418157604051806060016040528060268152602001617a6c6026913990506141ba565b6040518060400160405280601981526020017f5769746e6574426f617264446174613a20626164206d6f6f640000000000000081525090505b919050565b60007ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183905090565b60006141f16141bf565b60030160008381526020019081526020016000206005019050919050565b60006142196141bf565b60030160008381526020019081526020016000206000019050919050565b60006002826040516142499190616551565b602060405180830381855afa158015614266573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190614289919061542a565b9050919050565b60008061429b6141bf565b6003016000878152602001908152602001600020905060008160000190506000826005019050868160010181905550858160020181905550338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508481600301908051906020019061432e92919061454d565b508160040154935082600001600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160009055600382016000905560048201600090555050505050949350505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156143f4573d6000803e3d6000fd5b505050565b600034905090565b60003a905090565b60405180604001604052806000151581526020016144256145d3565b81525090565b6040518060800160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008019168152602001606081525090565b508054614478906170d9565b6000825580601f1061448a57506144a9565b601f0160209004906000526020600020908101906144a8919061462c565b5b50565b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000801916815260200160008152602001600081525090565b604051806060016040528061451d6144ac565b815260200161452a61442b565b8152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b828054614559906170d9565b90600052602060002090601f01602090048101928261457b57600085556145c2565b82601f1061459457805160ff19168380011785556145c2565b828001600101855582156145c2579182015b828111156145c15782518255916020019190600101906145a6565b5b5090506145cf919061462c565b5090565b6040518060c001604052806145e6614649565b8152602001600060ff168152602001600060ff168152602001600060ff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff1681525090565b5b8082111561464557600081600090555060010161462d565b5090565b604051806040016040528060608152602001600063ffffffff1681525090565b600061467c61467784616b83565b616b5e565b9050808382526020820190508285602086028201111561469f5761469e6172a6565b5b60005b858110156146cf57816146b58882614a7b565b8452602084019350602083019250506001810190506146a2565b5050509392505050565b60006146ec6146e784616b83565b616b5e565b9050808382526020820190508285602086028201111561470f5761470e6172a6565b5b60005b8581101561473f57816147258882614a90565b845260208401935060208301925050600181019050614712565b5050509392505050565b600061475c61475784616baf565b616b5e565b9050808382526020820190508285602086028201111561477f5761477e6172a6565b5b60005b858110156147af57816147958882614d17565b845260208401935060208301925050600181019050614782565b5050509392505050565b60006147cc6147c784616bdb565b616b5e565b905080838252602082019050828560208602820111156147ef576147ee6172a6565b5b60005b8581101561481f57816148058882614d2c565b8452602084019350602083019250506001810190506147f2565b5050509392505050565b600061483c61483784616c07565b616b5e565b9050808382526020820190508285602086028201111561485f5761485e6172a6565b5b60005b858110156148ad57815167ffffffffffffffff81111561488557614884617297565b5b8086016148928982614d41565b85526020850194506020840193505050600181019050614862565b5050509392505050565b60006148ca6148c584616c33565b616b5e565b905080838252602082019050828560208602820111156148ed576148ec6172a6565b5b60005b8581101561493b57813567ffffffffffffffff81111561491357614912617297565b5b8086016149208982614d6f565b855260208501945060208401935050506001810190506148f0565b5050509392505050565b600061495861495384616c5f565b616b5e565b9050808382526020820190508285602086028201111561497b5761497a6172a6565b5b60005b858110156149ab5781614991888261517f565b84526020840193506020830192505060018101905061497e565b5050509392505050565b60006149c86149c384616c8b565b616b5e565b9050828152602081018484840111156149e4576149e36172ab565b5b6149ef848285617097565b509392505050565b6000614a0a614a0584616c8b565b616b5e565b905082815260208101848484011115614a2657614a256172ab565b5b614a318482856170a6565b509392505050565b6000614a4c614a4784616cbc565b616b5e565b905082815260208101848484011115614a6857614a676172ab565b5b614a738482856170a6565b509392505050565b600081359050614a8a81617974565b92915050565b600081519050614a9f81617974565b92915050565b600082601f830112614aba57614ab9617297565b5b8135614aca848260208601614669565b91505092915050565b600082601f830112614ae857614ae7617297565b5b8151614af88482602086016146d9565b91505092915050565b600082601f830112614b1657614b15617297565b5b8151614b26848260208601614749565b91505092915050565b600082601f830112614b4457614b43617297565b5b8151614b548482602086016147b9565b91505092915050565b600082601f830112614b7257614b71617297565b5b8151614b82848260208601614829565b91505092915050565b600082601f830112614ba057614b9f617297565b5b8135614bb08482602086016148b7565b91505092915050565b600082601f830112614bce57614bcd617297565b5b8151614bde848260208601614945565b91505092915050565b600081359050614bf68161798b565b92915050565b600081519050614c0b8161798b565b92915050565b600081359050614c20816179a2565b92915050565b600081519050614c35816179a2565b92915050565b60008083601f840112614c5157614c50617297565b5b8235905067ffffffffffffffff811115614c6e57614c6d617292565b5b602083019150836001820283011115614c8a57614c896172a6565b5b9250929050565b600082601f830112614ca657614ca5617297565b5b8135614cb68482602086016149b5565b91505092915050565b600082601f830112614cd457614cd3617297565b5b8151614ce48482602086016149f7565b91505092915050565b600081359050614cfc816179b9565b92915050565b600081519050614d11816179d0565b92915050565b600081519050614d26816179e1565b92915050565b600081519050614d3b816179f8565b92915050565b600082601f830112614d5657614d55617297565b5b8151614d66848260208601614a39565b91505092915050565b600060808284031215614d8557614d8461729c565b5b614d8f6080616b5e565b90506000614d9f8482850161512b565b6000830152506020614db38482850161512b565b6020830152506040614dc784828501614c11565b604083015250606082013567ffffffffffffffff811115614deb57614dea6172a1565b5b614df784828501614c91565b60608301525092915050565b600060408284031215614e1957614e1861729c565b5b614e236040616b5e565b9050600082013567ffffffffffffffff811115614e4357614e426172a1565b5b614e4f84828501614c91565b6000830152506020614e6384828501615140565b60208301525092915050565b600060408284031215614e8557614e8461729c565b5b614e8f6040616b5e565b9050600082015167ffffffffffffffff811115614eaf57614eae6172a1565b5b614ebb84828501614cbf565b6000830152506020614ecf84828501615155565b60208301525092915050565b600060c08284031215614ef157614ef061729c565b5b614efb60c0616b5e565b9050600082013567ffffffffffffffff811115614f1b57614f1a6172a1565b5b614f2784828501614e03565b6000830152506020614f3b84828501615194565b6020830152506040614f4f84828501615194565b6040830152506060614f6384828501615194565b6060830152506080614f778482850161516a565b60808301525060a0614f8b8482850161516a565b60a08301525092915050565b600060c08284031215614fad57614fac61729c565b5b614fb760c0616b5e565b9050600082015167ffffffffffffffff811115614fd757614fd66172a1565b5b614fe384828501614e6f565b6000830152506020614ff7848285016151a9565b602083015250604061500b848285016151a9565b604083015250606061501f848285016151a9565b60608301525060806150338482850161517f565b60808301525060a06150478482850161517f565b60a08301525092915050565b6000604082840312156150695761506861729c565b5b6150736040616b5e565b9050600061508384828501614be7565b600083015250602082013567ffffffffffffffff8111156150a7576150a66172a1565b5b6150b384828501614edb565b60208301525092915050565b6000604082840312156150d5576150d461729c565b5b6150df6040616b5e565b905060006150ef84828501614bfc565b600083015250602082015167ffffffffffffffff811115615113576151126172a1565b5b61511f84828501614f97565b60208301525092915050565b60008135905061513a81617a0f565b92915050565b60008135905061514f81617a26565b92915050565b60008151905061516481617a26565b92915050565b60008135905061517981617a3d565b92915050565b60008151905061518e81617a3d565b92915050565b6000813590506151a381617a54565b92915050565b6000815190506151b881617a54565b92915050565b6000602082840312156151d4576151d36172b5565b5b60006151e284828501614a7b565b91505092915050565b600060208284031215615201576152006172b5565b5b600082013567ffffffffffffffff81111561521f5761521e6172b0565b5b61522b84828501614aa5565b91505092915050565b60006020828403121561524a576152496172b5565b5b600082015167ffffffffffffffff811115615268576152676172b0565b5b61527484828501614ad3565b91505092915050565b600060208284031215615293576152926172b5565b5b600082015167ffffffffffffffff8111156152b1576152b06172b0565b5b6152bd84828501614b01565b91505092915050565b6000602082840312156152dc576152db6172b5565b5b600082015167ffffffffffffffff8111156152fa576152f96172b0565b5b61530684828501614b2f565b91505092915050565b600060208284031215615325576153246172b5565b5b600082015167ffffffffffffffff811115615343576153426172b0565b5b61534f84828501614b5d565b91505092915050565b6000806040838503121561536f5761536e6172b5565b5b600083013567ffffffffffffffff81111561538d5761538c6172b0565b5b61539985828601614b8b565b92505060206153aa85828601614be7565b9150509250929050565b6000602082840312156153ca576153c96172b5565b5b600082015167ffffffffffffffff8111156153e8576153e76172b0565b5b6153f484828501614bb9565b91505092915050565b600060208284031215615413576154126172b5565b5b600061542184828501614bfc565b91505092915050565b6000602082840312156154405761543f6172b5565b5b600061544e84828501614c26565b91505092915050565b60006020828403121561546d5761546c6172b5565b5b600082013567ffffffffffffffff81111561548b5761548a6172b0565b5b61549784828501614c91565b91505092915050565b6000602082840312156154b6576154b56172b5565b5b600082015167ffffffffffffffff8111156154d4576154d36172b0565b5b6154e084828501614cbf565b91505092915050565b6000602082840312156154ff576154fe6172b5565b5b600061550d84828501614ced565b91505092915050565b60006020828403121561552c5761552b6172b5565b5b600061553a84828501614d02565b91505092915050565b6000806040838503121561555a576155596172b5565b5b600061556885828601614d02565b925050602083015167ffffffffffffffff811115615589576155886172b0565b5b61559585828601614d41565b9150509250929050565b6000602082840312156155b5576155b46172b5565b5b60006155c384828501614d17565b91505092915050565b6000602082840312156155e2576155e16172b5565b5b60006155f084828501614d2c565b91505092915050565b60006020828403121561560f5761560e6172b5565b5b600082015167ffffffffffffffff81111561562d5761562c6172b0565b5b61563984828501614d41565b91505092915050565b600060208284031215615658576156576172b5565b5b600082013567ffffffffffffffff811115615676576156756172b0565b5b61568284828501614edb565b91505092915050565b6000602082840312156156a1576156a06172b5565b5b600082013567ffffffffffffffff8111156156bf576156be6172b0565b5b6156cb84828501615053565b91505092915050565b6000602082840312156156ea576156e96172b5565b5b600082015167ffffffffffffffff811115615708576157076172b0565b5b615714848285016150bf565b91505092915050565b600060208284031215615733576157326172b5565b5b60006157418482850161512b565b91505092915050565b60008060008060608587031215615764576157636172b5565b5b60006157728782880161512b565b945050602061578387828801614c11565b935050604085013567ffffffffffffffff8111156157a4576157a36172b0565b5b6157b087828801614c3b565b925092505092959194509250565b6000806000806000608086880312156157da576157d96172b5565b5b60006157e88882890161512b565b95505060206157f98882890161512b565b945050604061580a88828901614c11565b935050606086013567ffffffffffffffff81111561582b5761582a6172b0565b5b61583788828901614c3b565b92509250509295509295909350565b60006020828403121561585c5761585b6172b5565b5b600061586a8482850161517f565b91505092915050565b600061587f83836158e7565b60208301905092915050565b60006158978383615d0e565b60208301905092915050565b60006158af8383615d2c565b60208301905092915050565b60006158c78383615d4a565b905092915050565b60006158db8383616506565b60208301905092915050565b6158f081616f56565b82525050565b6158ff81616f56565b82525050565b600061591082616d52565b61591a8185616de0565b935061592583616ced565b8060005b8381101561595657815161593d8882615873565b975061594883616d9f565b925050600181019050615929565b5085935050505092915050565b600061596e82616d5d565b6159788185616df1565b935061598383616cfd565b8060005b838110156159b457815161599b888261588b565b97506159a683616dac565b925050600181019050615987565b5085935050505092915050565b60006159cc82616d68565b6159d68185616e02565b93506159e183616d0d565b8060005b83811015615a125781516159f988826158a3565b9750615a0483616db9565b9250506001810190506159e5565b5085935050505092915050565b6000615a2a82616d73565b615a348185616e13565b935083602082028501615a4685616d1d565b8060005b85811015615a825784840389528151615a6385826158bb565b9450615a6e83616dc6565b925060208a01995050600181019050615a4a565b50829750879550505050505092915050565b6000615a9f82616d7e565b615aa98185616e24565b9350615ab483616d2d565b8060005b83811015615ae5578151615acc88826158cf565b9750615ad783616dd3565b925050600181019050615ab8565b5085935050505092915050565b615afb81616f68565b82525050565b615b0a81616f68565b82525050565b615b1981616f68565b82525050565b615b2881616f74565b82525050565b615b3781616f74565b82525050565b6000615b4882616d89565b615b528185616e35565b9350615b628185602086016170a6565b615b6b816172ba565b840191505092915050565b6000615b8182616d89565b615b8b8185616e46565b9350615b9b8185602086016170a6565b615ba4816172ba565b840191505092915050565b6000615bba82616d89565b615bc48185616e57565b9350615bd48185602086016170a6565b615bdd816172ba565b840191505092915050565b6000615bf382616d89565b615bfd8185616e68565b9350615c0d8185602086016170a6565b615c16816172ba565b840191505092915050565b6000615c2c82616d89565b615c368185616e79565b9350615c468185602086016170a6565b80840191505092915050565b60008154615c5f816170d9565b615c698186616e57565b94506001821660008114615c845760018114615c9657615cc9565b60ff1983168652602086019350615cc9565b615c9f85616d3d565b60005b83811015615cc157815481890152600182019150602081019050615ca2565b808801955050505b50505092915050565b615cdb8161702b565b82525050565b615cea8161703d565b82525050565b615cf98161704f565b82525050565b615d0881617061565b82525050565b615d1781616fb6565b82525050565b615d2681616fb6565b82525050565b615d3581616fc3565b82525050565b615d4481616fc3565b82525050565b6000615d5582616d94565b615d5f8185616e84565b9350615d6f8185602086016170a6565b615d78816172ba565b840191505092915050565b6000615d8e82616d94565b615d988185616e95565b9350615da88185602086016170a6565b615db1816172ba565b840191505092915050565b6000615dc9602c83616e95565b9150615dd4826172d8565b604082019050919050565b6000615dec602983616e95565b9150615df782617327565b604082019050919050565b6000615e0f602e83616e95565b9150615e1a82617376565b604082019050919050565b6000615e32601b83616e95565b9150615e3d826173c5565b602082019050919050565b6000615e55603183616e95565b9150615e60826173ee565b604082019050919050565b6000615e78602c83616e95565b9150615e838261743d565b604082019050919050565b6000615e9b602d83616e95565b9150615ea68261748c565b604082019050919050565b6000615ebe602f83616e95565b9150615ec9826174db565b604082019050919050565b6000615ee1602f83616e95565b9150615eec8261752a565b604082019050919050565b6000615f04603f83616e95565b9150615f0f82617579565b604082019050919050565b6000615f27604283616e95565b9150615f32826175c8565b606082019050919050565b6000615f4a602a83616e95565b9150615f558261763d565b604082019050919050565b6000615f6d602d83616e95565b9150615f788261768c565b604082019050919050565b6000615f90603a83616e95565b9150615f9b826176db565b604082019050919050565b6000615fb3603483616e95565b9150615fbe8261772a565b604082019050919050565b6000615fd6602b83616e95565b9150615fe182617779565b604082019050919050565b6000615ff9602e83616e95565b9150616004826177c8565b604082019050919050565b600061601c602f83616e95565b915061602782617817565b604082019050919050565b600061603f603183616e95565b915061604a82617866565b604082019050919050565b600060408301600083015184820360008601526160728282615b3d565b915050602083015161608760208601826164e8565b508091505092915050565b600060408301600083015184820360008601526160af8282615be8565b91505060208301516160c460208601826164f7565b508091505092915050565b600060c08301600083015184820360008601526160ec8282616055565b91505060208301516161016020860182616533565b5060408301516161146040860182616533565b5060608301516161276060860182616533565b50608083015161613a6080860182616506565b5060a083015161614d60a0860182616506565b508091505092915050565b600060c08301600083015184820360008601526161758282616092565b915050602083015161618a6020860182616542565b50604083015161619d6040860182616542565b5060608301516161b06060860182616542565b5060808301516161c36080860182616524565b5060a08301516161d660a0860182616524565b508091505092915050565b600060c08301600083015184820360008601526161fe8282616092565b91505060208301516162136020860182616542565b5060408301516162266040860182616542565b5060608301516162396060860182616542565b50608083015161624c6080860182616524565b5060a083015161625f60a0860182616524565b508091505092915050565b600060e08301600083015161628260008601826162ba565b50602083015184820360a086015261629a828261638a565b91505060408301516162af60c08601826158e7565b508091505092915050565b60a0820160008201516162d06000850182615ce1565b5060208201516162e360208501826158e7565b5060408201516162f66040850182615b1f565b50606082015161630960608501826164ca565b50608082015161631c60808501826164ca565b50505050565b60a0820160008201516163386000850182615ce1565b50602082015161634b60208501826158e7565b50604082015161635e6040850182615b1f565b50606082015161637160608501826164ca565b50608082015161638460808501826164ca565b50505050565b60006080830160008301516163a260008601826158e7565b5060208301516163b560208601826164ca565b5060408301516163c86040860182615b1f565b50606083015184820360608601526163e08282615b3d565b9150508091505092915050565b600060808301600083015161640560008601826158e7565b50602083015161641860208601826164ca565b50604083015161642b6040860182615b1f565b50606083015184820360608601526164438282615b3d565b9150508091505092915050565b60006040830160008301516164686000860182615af2565b506020830151848203602086015261648082826160cf565b9150508091505092915050565b60006040830160008301516164a56000860182615b10565b50602083015184820360208601526164bd82826161e1565b9150508091505092915050565b6164d381616ff0565b82525050565b6164e281616ff0565b82525050565b6164f181616ffa565b82525050565b61650081616ffa565b82525050565b61650f8161700a565b82525050565b61651e8161700a565b82525050565b61652d8161700a565b82525050565b61653c8161701e565b82525050565b61654b8161701e565b82525050565b600061655d8284615c21565b915081905092915050565b600060208201905061657d60008301846158f6565b92915050565b6000602082019050818103600083015261659d8184615905565b905092915050565b600060208201905081810360008301526165bf8184615963565b905092915050565b600060208201905081810360008301526165e181846159c1565b905092915050565b600060208201905081810360008301526166038184615a1f565b905092915050565b600060208201905081810360008301526166258184615a94565b905092915050565b60006020820190506166426000830184615b01565b92915050565b600060208201905061665d6000830184615b2e565b92915050565b6000602082019050818103600083015261667d8184615baf565b905092915050565b6000602082019050818103600083015261669f8184615b76565b905092915050565b600060208201905081810360008301526166c18184615c52565b905092915050565b60006020820190506166de6000830184615cd2565b92915050565b60006020820190506166f96000830184615cf0565b92915050565b60006040820190506167146000830185615cf0565b81810360208301526167268184615d83565b90509392505050565b60006020820190506167446000830184615cff565b92915050565b600060208201905061675f6000830184615d1d565b92915050565b600060208201905061677a6000830184615d3b565b92915050565b6000602082019050818103600083015261679a8184615d83565b905092915050565b600060208201905081810360008301526167bb81615dbc565b9050919050565b600060208201905081810360008301526167db81615ddf565b9050919050565b600060208201905081810360008301526167fb81615e25565b9050919050565b6000602082019050818103600083015261681b81615e48565b9050919050565b6000602082019050818103600083015261683b81615e8e565b9050919050565b6000602082019050818103600083015261685b81615eb1565b9050919050565b6000602082019050818103600083015261687b81615ed4565b9050919050565b6000602082019050818103600083015261689b81615ef7565b9050919050565b600060208201905081810360008301526168bb81615f1a565b9050919050565b600060208201905081810360008301526168db81615f3d565b9050919050565b600060208201905081810360008301526168fb81615f83565b9050919050565b6000602082019050818103600083015261691b81615fa6565b9050919050565b6000602082019050818103600083015261693b81615fc9565b9050919050565b6000602082019050818103600083015261695b8161600f565b9050919050565b6000602082019050818103600083015261697b81616032565b9050919050565b6000602082019050818103600083015261699c8184616158565b905092915050565b600060208201905081810360008301526169be818461626a565b905092915050565b600060a0820190506169db6000830184616322565b92915050565b600060208201905081810360008301526169fb81846163ed565b905092915050565b60006020820190508181036000830152616a1d818461648d565b905092915050565b60006020820190508181036000830152616a3f8184616450565b905092915050565b6000602082019050616a5c60008301846164d9565b92915050565b6000604082019050616a7760008301856164d9565b616a8460208301846158f6565b9392505050565b6000604082019050616aa060008301846164d9565b8181036020830152616ab181615e02565b905092915050565b6000604082019050616ace60008301846164d9565b8181036020830152616adf81615e6b565b905092915050565b6000604082019050616afc60008301846164d9565b8181036020830152616b0d81615f60565b905092915050565b6000604082019050616b2a60008301846164d9565b8181036020830152616b3b81615fec565b905092915050565b6000602082019050616b586000830184616515565b92915050565b6000616b68616b79565b9050616b74828261710b565b919050565b6000604051905090565b600067ffffffffffffffff821115616b9e57616b9d617241565b5b602082029050602081019050919050565b600067ffffffffffffffff821115616bca57616bc9617241565b5b602082029050602081019050919050565b600067ffffffffffffffff821115616bf657616bf5617241565b5b602082029050602081019050919050565b600067ffffffffffffffff821115616c2257616c21617241565b5b602082029050602081019050919050565b600067ffffffffffffffff821115616c4e57616c4d617241565b5b602082029050602081019050919050565b600067ffffffffffffffff821115616c7a57616c79617241565b5b602082029050602081019050919050565b600067ffffffffffffffff821115616ca657616ca5617241565b5b616caf826172ba565b9050602081019050919050565b600067ffffffffffffffff821115616cd757616cd6617241565b5b616ce0826172ba565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000616eb182616ff0565b9150616ebc83616ff0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115616ef157616ef0617185565b5b828201905092915050565b6000616f0782616ff0565b9150616f1283616ff0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615616f4b57616f4a617185565b5b828202905092915050565b6000616f6182616fd0565b9050919050565b60008115159050919050565b6000819050919050565b6000616f8982616f56565b9050919050565b6000819050616f9e8261794b565b919050565b6000819050616fb182617960565b919050565b600081600f0b9050919050565b60008160030b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b600061703682617073565b9050919050565b600061704882617073565b9050919050565b600061705a82616f90565b9050919050565b600061706c82616fa3565b9050919050565b600061707e82617085565b9050919050565b600061709082616fd0565b9050919050565b82818337600083830152505050565b60005b838110156170c45780820151818401526020810190506170a9565b838111156170d3576000848401525b50505050565b600060028204905060018216806170f157607f821691505b60208210811415617105576171046171e3565b5b50919050565b617114826172ba565b810181811067ffffffffffffffff8211171561713357617132617241565b5b80604052505050565b600061714782616ff0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561717a57617179617185565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060033d111561728f5760046000803e61728c6000516172cb565b90505b90565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160e01c9050919050565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f206e756c6c207363726970740000000000000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f6172643a206e6f207472616e736665727360008201527f2061636365707465640000000000000000000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f206261642074696d657374616d70000000000000000000000000000000000000602082015250565b7f5769746e6574426f617264446174613a206f6e6c79206f776e65720000000000600082015250565b7f5769746e657452657175657374426f617264547275737461626c65446566617560008201527f6c743a206261642074696d657374616d70000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f2062616420717565727949640000000000000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f20656d7074792073637269707400000000000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f206f6e6c79207265717565737465720000000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f2072657761726420746f6f206c6f770000000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f2062797465636f6465206368616e67656420616674657220706f7374696e6700602082015250565b7f5769746e657452657175657374426f617264547275737461626c65446566617560008201527f6c743a205769746e65742064725478486173682063616e6e6f74206265207a6560208201527f726f000000000000000000000000000000000000000000000000000000000000604082015250565b7f5769746e6574426f6172644461746141434c733a20756e617574686f72697a6560008201527f64207265706f7274657200000000000000000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f2062616420647254784861736800000000000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65446566617560008201527f6c743a20726573756c742063616e6e6f7420626520656d707479000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f20616c726561647920696e697469616c697a6564000000000000000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f206f6e6c79206f776e6572000000000000000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f206261642063626f724279746573000000000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f617264547275737461626c65426173653a60008201527f206e6f742079657420706f737465640000000000000000000000000000000000602082015250565b7f5769746e657452657175657374426f61726455706772616461626c654261736560008201527f3a206e6f7420696d706c656d656e746564000000000000000000000000000000602082015250565b600060443d10156178c557617948565b6178cd616b79565b60043d036004823e80513d602482011167ffffffffffffffff821117156178f5575050617948565b808201805167ffffffffffffffff8111156179135750505050617948565b80602083010160043d038501811115617930575050505050617948565b61793f8260200185018661710b565b82955050505050505b90565b610100811061795d5761795c6171b4565b5b50565b60048110617971576179706171b4565b5b50565b61797d81616f56565b811461798857600080fd5b50565b61799481616f68565b811461799f57600080fd5b50565b6179ab81616f74565b81146179b657600080fd5b50565b6179c281616f7e565b81146179cd57600080fd5b50565b61010081106179de57600080fd5b50565b6179ea81616fb6565b81146179f557600080fd5b50565b617a0181616fc3565b8114617a0c57600080fd5b50565b617a1881616ff0565b8114617a2357600080fd5b50565b617a2f81616ffa565b8114617a3a57600080fd5b50565b617a468161700a565b8114617a5157600080fd5b50565b617a5d8161701e565b8114617a6857600080fd5b5056fe5769746e6574426f617264446174613a206e6f7420696e2044656c65746564207374617475735769746e6574426f617264446174613a206e6f7420696e20506f73746564207374617475735769746e6574426f617264446174613a206e6f7420696e205265706f72746564207374617475735769746e657452657175657374426f617264547275737461626c65426173653a206661696c696e6720617373657274a26469706673582212202626e20c29ec4ce25474ec6cb7a1ceb7b8c91cb224f916654f83066eda96301464736f6c63430008070033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2E8 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x7780CDE1 GT PUSH2 0x190 JUMPI DUP1 PUSH4 0xC805DD0F GT PUSH2 0xDC JUMPI DUP1 PUSH4 0xD4DA69AC GT PUSH2 0x95 JUMPI DUP1 PUSH4 0xDC3C71CD GT PUSH2 0x6F JUMPI DUP1 PUSH4 0xDC3C71CD EQ PUSH2 0xD4D JUMPI DUP1 PUSH4 0xE5A6B10F EQ PUSH2 0xD8A JUMPI DUP1 PUSH4 0xE99E47F3 EQ PUSH2 0xDB5 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xDF2 JUMPI PUSH2 0x328 JUMP JUMPDEST DUP1 PUSH4 0xD4DA69AC EQ PUSH2 0xC95 JUMPI DUP1 PUSH4 0xD74803BE EQ PUSH2 0xCD2 JUMPI DUP1 PUSH4 0xDB04F16D EQ PUSH2 0xD10 JUMPI PUSH2 0x328 JUMP JUMPDEST DUP1 PUSH4 0xC805DD0F EQ PUSH2 0xB4D JUMPI DUP1 PUSH4 0xC87D969E EQ PUSH2 0xB78 JUMPI DUP1 PUSH4 0xC8F5CDD5 EQ PUSH2 0xBB5 JUMPI DUP1 PUSH4 0xCF62D115 EQ PUSH2 0xBDE JUMPI DUP1 PUSH4 0xD2E87561 EQ PUSH2 0xC1B JUMPI DUP1 PUSH4 0xD4CED132 EQ PUSH2 0xC58 JUMPI PUSH2 0x328 JUMP JUMPDEST DUP1 PUSH4 0xA8604C1A GT PUSH2 0x149 JUMPI DUP1 PUSH4 0xB281A7BD GT PUSH2 0x123 JUMPI DUP1 PUSH4 0xB281A7BD EQ PUSH2 0xA66 JUMPI DUP1 PUSH4 0xBC7E25FF EQ PUSH2 0xA96 JUMPI DUP1 PUSH4 0xC2485EBD EQ PUSH2 0xAD3 JUMPI DUP1 PUSH4 0xC683B465 EQ PUSH2 0xB10 JUMPI PUSH2 0x328 JUMP JUMPDEST DUP1 PUSH4 0xA8604C1A EQ PUSH2 0x9C1 JUMPI DUP1 PUSH4 0xA9E954B9 EQ PUSH2 0x9FE JUMPI DUP1 PUSH4 0xB0768328 EQ PUSH2 0xA29 JUMPI PUSH2 0x328 JUMP JUMPDEST DUP1 PUSH4 0x7780CDE1 EQ PUSH2 0x879 JUMPI DUP1 PUSH4 0x7C1FBDA3 EQ PUSH2 0x8B6 JUMPI DUP1 PUSH4 0x81A398B5 EQ PUSH2 0x8F3 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x91C JUMPI DUP1 PUSH4 0x99F65804 EQ PUSH2 0x947 JUMPI DUP1 PUSH4 0x9D96FCED EQ PUSH2 0x984 JUMPI PUSH2 0x328 JUMP JUMPDEST DUP1 PUSH4 0x3B885F2A GT PUSH2 0x24F JUMPI DUP1 PUSH4 0x5479D940 GT PUSH2 0x208 JUMPI DUP1 PUSH4 0x66BFDC75 GT PUSH2 0x1E2 JUMPI DUP1 PUSH4 0x66BFDC75 EQ PUSH2 0x7A6 JUMPI DUP1 PUSH4 0x6B58960A EQ PUSH2 0x7C2 JUMPI DUP1 PUSH4 0x6F07ABCC EQ PUSH2 0x7FF JUMPI DUP1 PUSH4 0x754E5BEA EQ PUSH2 0x83C JUMPI PUSH2 0x328 JUMP JUMPDEST DUP1 PUSH4 0x5479D940 EQ PUSH2 0x727 JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x752 JUMPI DUP1 PUSH4 0x6280BCE8 EQ PUSH2 0x77D JUMPI PUSH2 0x328 JUMP JUMPDEST DUP1 PUSH4 0x3B885F2A EQ PUSH2 0x605 JUMPI DUP1 PUSH4 0x439FAB91 EQ PUSH2 0x642 JUMPI DUP1 PUSH4 0x4C9F72E3 EQ PUSH2 0x66B JUMPI DUP1 PUSH4 0x4DCFFAF3 EQ PUSH2 0x694 JUMPI DUP1 PUSH4 0x5001F3B5 EQ PUSH2 0x6D1 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x6FC JUMPI PUSH2 0x328 JUMP JUMPDEST DUP1 PUSH4 0x2241F2DB GT PUSH2 0x2A1 JUMPI DUP1 PUSH4 0x2241F2DB EQ PUSH2 0x4D1 JUMPI DUP1 PUSH4 0x2565082B EQ PUSH2 0x50E JUMPI DUP1 PUSH4 0x28A78D9B EQ PUSH2 0x54B JUMPI DUP1 PUSH4 0x2B68B9C6 EQ PUSH2 0x574 JUMPI DUP1 PUSH4 0x2B905FBB EQ PUSH2 0x58B JUMPI DUP1 PUSH4 0x3AE97295 EQ PUSH2 0x5C8 JUMPI PUSH2 0x328 JUMP JUMPDEST DUP1 PUSH4 0x44AD7BE EQ PUSH2 0x363 JUMPI DUP1 PUSH4 0x7E66852 EQ PUSH2 0x3A0 JUMPI DUP1 PUSH4 0xF572D2C EQ PUSH2 0x3DD JUMPI DUP1 PUSH4 0x109A0E3C EQ PUSH2 0x41A JUMPI DUP1 PUSH4 0x1DD27DAF EQ PUSH2 0x457 JUMPI DUP1 PUSH4 0x20F9241E EQ PUSH2 0x494 JUMPI PUSH2 0x328 JUMP JUMPDEST CALLDATASIZE PUSH2 0x328 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x31F SWAP1 PUSH2 0x67C2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x35A SWAP1 PUSH2 0x6962 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x36F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x38A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x385 SWAP2 SWAP1 PUSH2 0x51BE JUMP JUMPDEST PUSH2 0xE1B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x397 SWAP2 SWAP1 PUSH2 0x662D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3C7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3C2 SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0xE7A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3D4 SWAP2 SWAP1 PUSH2 0x65A5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3FF SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0xF11 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x411 SWAP2 SWAP1 PUSH2 0x65C7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x426 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x441 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x43C SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0xFA8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x44E SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x463 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x479 SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x103F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x48B SWAP2 SWAP1 PUSH2 0x6A47 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4BB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4B6 SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x10EA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4C8 SWAP2 SWAP1 PUSH2 0x6A47 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4F8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4F3 SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x117F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x505 SWAP2 SWAP1 PUSH2 0x6765 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x51A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x535 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x530 SWAP2 SWAP1 PUSH2 0x5642 JUMP JUMPDEST PUSH2 0x1211 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x542 SWAP2 SWAP1 PUSH2 0x6A25 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x557 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x572 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x56D SWAP2 SWAP1 PUSH2 0x51EB JUMP JUMPDEST PUSH2 0x12AC JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x580 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x589 PUSH2 0x1420 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x597 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5B2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5AD SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x14D2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5BF SWAP2 SWAP1 PUSH2 0x674A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5EF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5EA SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x1564 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5FC SWAP2 SWAP1 PUSH2 0x6A47 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x611 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x62C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x627 SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x160F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x639 SWAP2 SWAP1 PUSH2 0x6685 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x64E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x669 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x664 SWAP2 SWAP1 PUSH2 0x5457 JUMP JUMPDEST PUSH2 0x17E4 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x677 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x692 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x68D SWAP2 SWAP1 PUSH2 0x51EB JUMP JUMPDEST PUSH2 0x1AF7 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6BB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6B6 SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x1C6B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6C8 SWAP2 SWAP1 PUSH2 0x660B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6E6 PUSH2 0x1D02 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6F3 SWAP2 SWAP1 PUSH2 0x6568 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x708 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x711 PUSH2 0x1D2A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x71E SWAP2 SWAP1 PUSH2 0x6648 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x733 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x73C PUSH2 0x1D55 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x749 SWAP2 SWAP1 PUSH2 0x662D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x75E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x767 PUSH2 0x1D7D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x774 SWAP2 SWAP1 PUSH2 0x6648 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x789 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7A4 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x79F SWAP2 SWAP1 PUSH2 0x574A JUMP JUMPDEST PUSH2 0x1DA5 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x7C0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7BB SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x1FDD JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7E9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7E4 SWAP2 SWAP1 PUSH2 0x51BE JUMP JUMPDEST PUSH2 0x2106 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7F6 SWAP2 SWAP1 PUSH2 0x662D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x80B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x826 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x821 SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x217E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x833 SWAP2 SWAP1 PUSH2 0x672F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x848 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x863 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x85E SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x2190 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x870 SWAP2 SWAP1 PUSH2 0x69E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x885 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8A0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x89B SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x232E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8AD SWAP2 SWAP1 PUSH2 0x662D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8DD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x8D8 SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x23C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8EA SWAP2 SWAP1 PUSH2 0x69E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x91A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x915 SWAP2 SWAP1 PUSH2 0x5358 JUMP JUMPDEST PUSH2 0x2746 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x928 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x931 PUSH2 0x2A44 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x93E SWAP2 SWAP1 PUSH2 0x6568 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x953 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x96E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x969 SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x2A77 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x97B SWAP2 SWAP1 PUSH2 0x69C6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x990 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9AB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9A6 SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x2CB4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x9B8 SWAP2 SWAP1 PUSH2 0x6568 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9E8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9E3 SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x2D69 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x9F5 SWAP2 SWAP1 PUSH2 0x662D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA0A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA13 PUSH2 0x2DFB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA20 SWAP2 SWAP1 PUSH2 0x6648 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA35 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA50 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA4B SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x2E23 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA5D SWAP2 SWAP1 PUSH2 0x660B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA80 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA7B SWAP2 SWAP1 PUSH2 0x54E9 JUMP JUMPDEST PUSH2 0x2EBA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA8D SWAP2 SWAP1 PUSH2 0x6A47 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAA2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xABD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAB8 SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x3192 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xACA SWAP2 SWAP1 PUSH2 0x6B43 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xADF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAFA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAF5 SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x3224 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB07 SWAP2 SWAP1 PUSH2 0x69A4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB1C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB37 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB32 SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x349E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB44 SWAP2 SWAP1 PUSH2 0x6685 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB59 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB62 PUSH2 0x3535 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB6F SWAP2 SWAP1 PUSH2 0x6A47 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB84 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB9F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB9A SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x3554 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBAC SWAP2 SWAP1 PUSH2 0x65E9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBC1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBDC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xBD7 SWAP2 SWAP1 PUSH2 0x57BE JUMP JUMPDEST PUSH2 0x35EB JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC05 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC00 SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x3867 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC12 SWAP2 SWAP1 PUSH2 0x6648 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC27 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC42 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC3D SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x38F9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC4F SWAP2 SWAP1 PUSH2 0x6A47 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC7F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC7A SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x392E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC8C SWAP2 SWAP1 PUSH2 0x662D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCA1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCBC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xCB7 SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x39C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCC9 SWAP2 SWAP1 PUSH2 0x6A25 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCDE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCF9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xCF4 SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x3AEB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD07 SWAP3 SWAP2 SWAP1 PUSH2 0x66FF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD1C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD37 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD32 SWAP2 SWAP1 PUSH2 0x568B JUMP JUMPDEST PUSH2 0x3C16 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD44 SWAP2 SWAP1 PUSH2 0x66E4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD59 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD74 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD6F SWAP2 SWAP1 PUSH2 0x571D JUMP JUMPDEST PUSH2 0x3CA8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD81 SWAP2 SWAP1 PUSH2 0x6648 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD96 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD9F PUSH2 0x3D3D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDAC SWAP2 SWAP1 PUSH2 0x66C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDC1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDDC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xDD7 SWAP2 SWAP1 PUSH2 0x5457 JUMP JUMPDEST PUSH2 0x3D61 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDE9 SWAP2 SWAP1 PUSH2 0x6A25 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDFE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE19 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE14 SWAP2 SWAP1 PUSH2 0x51BE JUMP JUMPDEST PUSH2 0x3DFC JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH2 0xE25 PUSH2 0x3FA1 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH20 0x0 PUSH4 0xFC853C37 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xEB5 SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xECD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xEE1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF0A SWAP2 SWAP1 PUSH2 0x527D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH20 0x0 PUSH4 0x8EFC097 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF4C SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xF64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF78 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xFA1 SWAP2 SWAP1 PUSH2 0x52C6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH20 0x0 PUSH4 0xF417DAF5 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFE3 SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xFFB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x100F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1038 SWAP2 SWAP1 PUSH2 0x55F9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1057 JUMPI PUSH2 0x1056 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x1060 DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1072 JUMPI PUSH2 0x1071 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x107C DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x10BD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x10B4 SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH2 0x10C6 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x3 ADD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x4 ADD SLOAD SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1102 JUMPI PUSH2 0x1101 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x110B DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x111D JUMPI PUSH2 0x111C PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x1127 DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x1168 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x115F SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH2 0x1172 DUP5 PUSH2 0x41E7 JUMP JUMPDEST PUSH1 0x1 ADD SLOAD SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH20 0x0 PUSH4 0xD8868DB6 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11BA SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x11D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x11E6 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 0x120A SWAP2 SWAP1 PUSH2 0x55CC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1219 PUSH2 0x4409 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x130283EE DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1250 SWAP2 SWAP1 PUSH2 0x6982 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1268 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x127C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x12A5 SWAP2 SWAP1 PUSH2 0x56D4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x12B4 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1345 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x133C SWAP1 PUSH2 0x67E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x13E5 JUMPI PUSH1 0x0 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1366 JUMPI PUSH2 0x1365 PUSH2 0x7212 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x0 PUSH2 0x137A PUSH2 0x3FA1 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH2 0x13DD SWAP1 PUSH2 0x713C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1348 JUMP JUMPDEST POP PUSH32 0x646436560D9757CB3C0F01DA0F62642C6040B00C9A80685F94EF1A7725CAD5F1 DUP2 PUSH1 0x40 MLOAD PUSH2 0x1415 SWAP2 SWAP1 PUSH2 0x6583 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH2 0x1428 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x14B9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14B0 SWAP1 PUSH2 0x67E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SELFDESTRUCT JUMPDEST PUSH1 0x0 DUP2 PUSH20 0x0 PUSH4 0xC71DB521 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x150D SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1525 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1539 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 0x155D SWAP2 SWAP1 PUSH2 0x559F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x157C JUMPI PUSH2 0x157B PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x1585 DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1597 JUMPI PUSH2 0x1596 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x15A1 DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x15E2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15D9 SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH2 0x15EB PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x3 ADD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x3 ADD SLOAD SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1625 JUMPI PUSH2 0x1624 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x162E DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1640 JUMPI PUSH2 0x163F PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ ISZERO PUSH2 0x1681 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1678 SWAP1 PUSH2 0x6942 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x168C DUP4 PUSH2 0x420F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x17DE JUMPI DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF0940002 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1750 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1764 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x178D SWAP2 SWAP1 PUSH2 0x54A0 JUMP JUMPDEST SWAP2 POP DUP1 PUSH1 0x2 ADD SLOAD PUSH2 0x179D DUP4 PUSH2 0x4237 JUMP JUMPDEST EQ PUSH2 0x17DD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x17D4 SWAP1 PUSH2 0x6882 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17EE PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x189B JUMPI CALLER SWAP1 POP DUP1 PUSH2 0x1855 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x190A JUMP JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1909 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1900 SWAP1 PUSH2 0x6922 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x192A PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1A0B JUMPI PUSH2 0x1971 PUSH2 0x1D02 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x198F PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1A0A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A01 SWAP1 PUSH2 0x6902 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST PUSH2 0x1A13 PUSH2 0x1D02 JUMP JUMPDEST PUSH2 0x1A1B PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x1A64 PUSH2 0x2DFB JUMP JUMPDEST PUSH2 0x1A6C PUSH2 0x1D02 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x72D4B00D8E35B3717E384AEF5F900256A106D6A423D88935A11579981333BA20 PUSH2 0x1AC2 PUSH2 0x1D7D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1ACF SWAP2 SWAP1 PUSH2 0x6648 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH2 0x1AF3 DUP3 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1AEE SWAP2 SWAP1 PUSH2 0x5234 JUMP JUMPDEST PUSH2 0x1AF7 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x1AFF PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1B90 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B87 SWAP1 PUSH2 0x67E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x1C30 JUMPI PUSH1 0x0 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1BB1 JUMPI PUSH2 0x1BB0 PUSH2 0x7212 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x1 PUSH2 0x1BC5 PUSH2 0x3FA1 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH2 0x1C28 SWAP1 PUSH2 0x713C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1B93 JUMP JUMPDEST POP PUSH32 0x4D570EE36DEC878006609360D34AC8D6A0B68D521871AE15A407B6340877CA01 DUP2 PUSH1 0x40 MLOAD PUSH2 0x1C60 SWAP2 SWAP1 PUSH2 0x6583 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH20 0x0 PUSH4 0x147E5C8F SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1CA6 SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1CBE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1CD2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1CFB SWAP2 SWAP1 PUSH2 0x53B4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x9969C6AFF411C5E5F0807500693E8F819CE88529615CFA6CAB569B24788A1018 PUSH1 0x0 SHL SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x1DAD PUSH2 0x3FA1 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x1E3A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E31 SWAP1 PUSH2 0x68C2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH1 0x1 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1E50 JUMPI PUSH2 0x1E4F PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x1E59 DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1E6B JUMPI PUSH2 0x1E6A PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x1E75 DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x1EB6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1EAD SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 DUP1 SHL DUP6 EQ ISZERO PUSH2 0x1EFD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1EF4 SWAP1 PUSH2 0x68A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP5 SWAP1 POP EQ ISZERO PUSH2 0x1F44 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F3B SWAP1 PUSH2 0x68E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1F9D CALLER PUSH2 0x1F98 DUP9 TIMESTAMP DUP10 DUP10 DUP10 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH2 0x4290 JUMP JUMPDEST PUSH2 0x43AE JUMP JUMPDEST PUSH31 0xE9413C6321EC446A267B7EBF5BB108663F2EF58B35C4F6E18905AC8F205CB2 DUP7 CALLER PUSH1 0x40 MLOAD PUSH2 0x1FCD SWAP3 SWAP2 SWAP1 PUSH2 0x6A62 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x1 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1FF3 JUMPI PUSH2 0x1FF2 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x1FFC DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x200E JUMPI PUSH2 0x200D PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x2018 DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x2059 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2050 SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 PUSH2 0x2065 DUP5 PUSH2 0x420F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2071 PUSH2 0x43F9 JUMP JUMPDEST DUP3 PUSH1 0x4 ADD SLOAD PUSH2 0x2080 SWAP2 SWAP1 PUSH2 0x6EA6 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x208C PUSH2 0x4401 JUMP JUMPDEST SWAP1 POP DUP3 PUSH1 0x3 ADD SLOAD DUP2 GT ISZERO PUSH2 0x20F5 JUMPI PUSH1 0x0 PUSH2 0x20A5 DUP3 PUSH2 0x38F9 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 LT ISZERO PUSH2 0x20EA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x20E1 SWAP1 PUSH2 0x6862 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP5 PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP POP JUMPDEST DUP2 DUP4 PUSH1 0x4 ADD DUP2 SWAP1 SSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2111 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH2 0x213F PUSH2 0x1D55 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2176 JUMPI POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2189 DUP3 PUSH2 0x3FC9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2198 PUSH2 0x442B JUMP JUMPDEST DUP2 PUSH1 0x2 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x21AE JUMPI PUSH2 0x21AD PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x21B7 DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x21C9 JUMPI PUSH2 0x21C8 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x21D3 DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x2214 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x220B SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH2 0x221E DUP5 PUSH2 0x41E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH2 0x22A3 SWAP1 PUSH2 0x70D9 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x22CF SWAP1 PUSH2 0x70D9 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x231C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x22F1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x231C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x22FF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH20 0x0 PUSH4 0xA1D45D56 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2369 SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2381 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2395 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 0x23B9 SWAP2 SWAP1 PUSH2 0x53FD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x23C8 PUSH2 0x442B JUMP JUMPDEST DUP2 PUSH1 0x2 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x23DE JUMPI PUSH2 0x23DD PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x23E7 DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x23F9 JUMPI PUSH2 0x23F8 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x2403 DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x2444 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x243B SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 PUSH2 0x244F PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x3 ADD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x9 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x24F7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x24EE SWAP1 PUSH2 0x6842 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x5 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH2 0x2580 SWAP1 PUSH2 0x70D9 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x25AC SWAP1 PUSH2 0x70D9 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x25F9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x25CE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x25F9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x25DC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP4 POP PUSH2 0x260C PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x3 ADD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE PUSH1 0x4 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE POP POP PUSH1 0x5 DUP3 ADD PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD PUSH1 0x0 PUSH2 0x26DA SWAP2 SWAP1 PUSH2 0x446C JUMP JUMPDEST POP POP PUSH1 0x9 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE POP POP PUSH32 0xDEC847DB058C9C012E0F3DBE2B99E05CFA4C693F61A7D8BC64652A68913CBFFF DUP6 CALLER PUSH1 0x40 MLOAD PUSH2 0x2736 SWAP3 SWAP2 SWAP1 PUSH2 0x6A62 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x274E PUSH2 0x3FA1 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x27DB JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x27D2 SWAP1 PUSH2 0x68C2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 MLOAD SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2A29 JUMPI PUSH1 0x0 DUP6 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2802 JUMPI PUSH2 0x2801 PUSH2 0x7212 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2820 JUMPI PUSH2 0x281F PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x282D DUP3 PUSH1 0x0 ADD MLOAD PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x283F JUMPI PUSH2 0x283E PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x288B JUMPI DUP5 ISZERO PUSH2 0x2886 JUMPI PUSH32 0x4DF64445EDC775FBA59DB44B8001852FB1B777EEA88FD54F04572DD114E3FF7F DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x287D SWAP2 SWAP1 PUSH2 0x6AB9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST PUSH2 0x2A15 JUMP JUMPDEST PUSH1 0x0 DUP1 SHL DUP2 PUSH1 0x40 ADD MLOAD EQ ISZERO PUSH2 0x28E1 JUMPI DUP5 ISZERO PUSH2 0x28DC JUMPI PUSH32 0x4DF64445EDC775FBA59DB44B8001852FB1B777EEA88FD54F04572DD114E3FF7F DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x28D3 SWAP2 SWAP1 PUSH2 0x6AE7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST PUSH2 0x2A14 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x60 ADD MLOAD MLOAD EQ ISZERO PUSH2 0x2936 JUMPI DUP5 ISZERO PUSH2 0x2931 JUMPI PUSH32 0x4DF64445EDC775FBA59DB44B8001852FB1B777EEA88FD54F04572DD114E3FF7F DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x2928 SWAP2 SWAP1 PUSH2 0x6B15 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST PUSH2 0x2A13 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x20 ADD MLOAD GT DUP1 ISZERO PUSH2 0x294D JUMPI POP TIMESTAMP DUP2 PUSH1 0x20 ADD MLOAD GT JUMPDEST ISZERO PUSH2 0x2999 JUMPI DUP5 ISZERO PUSH2 0x2994 JUMPI PUSH32 0x4DF64445EDC775FBA59DB44B8001852FB1B777EEA88FD54F04572DD114E3FF7F DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x298B SWAP2 SWAP1 PUSH2 0x6A8B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST PUSH2 0x2A12 JUMP JUMPDEST PUSH2 0x29C8 DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x0 DUP4 PUSH1 0x20 ADD MLOAD EQ PUSH2 0x29B7 JUMPI DUP3 PUSH1 0x20 ADD MLOAD PUSH2 0x29B9 JUMP JUMPDEST TIMESTAMP JUMPDEST DUP4 PUSH1 0x40 ADD MLOAD DUP5 PUSH1 0x60 ADD MLOAD PUSH2 0x4290 JUMP JUMPDEST DUP5 PUSH2 0x29D3 SWAP2 SWAP1 PUSH2 0x6EA6 JUMP JUMPDEST SWAP4 POP PUSH31 0xE9413C6321EC446A267B7EBF5BB108663F2EF58B35C4F6E18905AC8F205CB2 DUP2 PUSH1 0x0 ADD MLOAD CALLER PUSH1 0x40 MLOAD PUSH2 0x2A09 SWAP3 SWAP2 SWAP1 PUSH2 0x6A62 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST JUMPDEST JUMPDEST JUMPDEST POP DUP1 DUP1 PUSH2 0x2A21 SWAP1 PUSH2 0x713C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x27E5 JUMP JUMPDEST POP PUSH1 0x0 DUP3 GT ISZERO PUSH2 0x2A3E JUMPI PUSH2 0x2A3D CALLER DUP4 PUSH2 0x43AE JUMP JUMPDEST JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A4E PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x2A7F PUSH2 0x44AC JUMP JUMPDEST DUP2 PUSH1 0x1 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2A95 JUMPI PUSH2 0x2A94 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x2A9E DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2AB0 JUMPI PUSH2 0x2AAF PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x2ABA DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x2AFB JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2AF2 SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 PUSH2 0x2B06 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x3 ADD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD SLOAD DUP2 MSTORE POP POP SWAP4 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH1 0x9 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x2CAC JUMPI DUP1 PUSH1 0x9 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0x20 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP JUMPDEST POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2CCC JUMPI PUSH2 0x2CCB PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x2CD5 DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2CE7 JUMPI PUSH2 0x2CE6 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x2CF1 DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x2D32 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D29 SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH2 0x2D3C DUP5 PUSH2 0x41E7 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH20 0x0 PUSH4 0x6646C119 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2DA4 SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2DBC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2DD0 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 0x2DF4 SWAP2 SWAP1 PUSH2 0x53FD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH20 0x0 PUSH4 0x879730D SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2E5E SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2E76 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2E8A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2EB3 SWAP2 SWAP1 PUSH2 0x53B4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2EC5 PUSH2 0x43F9 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2ED1 PUSH2 0x4401 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2EDE DUP3 PUSH2 0x38F9 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 LT ISZERO PUSH2 0x2F23 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2F1A SWAP1 PUSH2 0x6862 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x2F93 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2F8A SWAP1 PUSH2 0x67A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF0940002 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2FDB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2FEF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3018 SWAP2 SWAP1 PUSH2 0x54A0 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x305E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3055 SWAP1 PUSH2 0x6822 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3066 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x2 ADD PUSH1 0x0 DUP2 SLOAD PUSH2 0x3076 SWAP1 PUSH2 0x713C JUMP JUMPDEST SWAP2 SWAP1 POP DUP2 SWAP1 SSTORE SWAP5 POP CALLER PUSH2 0x3087 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x3 ADD PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x9 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 PUSH2 0x30E7 DUP7 PUSH2 0x420F JUMP JUMPDEST SWAP1 POP DUP7 DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x3135 DUP3 PUSH2 0x4237 JUMP JUMPDEST DUP2 PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP DUP4 DUP2 PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP DUP5 DUP2 PUSH1 0x4 ADD DUP2 SWAP1 SSTORE POP PUSH32 0xCABAF9C102F83746B27AE932F638EEBFAF5EA7D014EDD20AB14DEC3768A8F55C DUP7 CALLER PUSH1 0x40 MLOAD PUSH2 0x3180 SWAP3 SWAP2 SWAP1 PUSH2 0x6A62 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH20 0x0 PUSH4 0x8233F9B3 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x31CD SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x31E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x31F9 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 0x321D SWAP2 SWAP1 PUSH2 0x5846 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x322C PUSH2 0x450A JUMP JUMPDEST PUSH2 0x3234 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x3 ADD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD SLOAD DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 DUP3 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH2 0x33BB SWAP1 PUSH2 0x70D9 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x33E7 SWAP1 PUSH2 0x70D9 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3434 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3409 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3434 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3417 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x9 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH20 0x0 PUSH4 0xA1B90891 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x34D9 SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x34F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3505 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x352E SWAP2 SWAP1 PUSH2 0x54A0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x3541 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH2 0x354F SWAP2 SWAP1 PUSH2 0x6EA6 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH20 0x0 PUSH4 0x2D26B9E2 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x358F SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x35A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x35BB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x35E4 SWAP2 SWAP1 PUSH2 0x530F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x35F3 PUSH2 0x3FA1 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x3680 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3677 SWAP1 PUSH2 0x68C2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 PUSH1 0x1 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x3696 JUMPI PUSH2 0x3695 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x369F DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x36B1 JUMPI PUSH2 0x36B0 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x36BB DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x36FC JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x36F3 SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP TIMESTAMP DUP7 GT ISZERO PUSH2 0x3740 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3737 SWAP1 PUSH2 0x6802 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SHL DUP6 EQ ISZERO PUSH2 0x3786 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x377D SWAP1 PUSH2 0x68A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP5 SWAP1 POP EQ ISZERO PUSH2 0x37CD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x37C4 SWAP1 PUSH2 0x68E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3826 CALLER PUSH2 0x3821 DUP10 DUP10 DUP10 DUP10 DUP10 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH2 0x4290 JUMP JUMPDEST PUSH2 0x43AE JUMP JUMPDEST PUSH31 0xE9413C6321EC446A267B7EBF5BB108663F2EF58B35C4F6E18905AC8F205CB2 DUP8 CALLER PUSH1 0x40 MLOAD PUSH2 0x3856 SWAP3 SWAP2 SWAP1 PUSH2 0x6A62 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH20 0x0 PUSH4 0xA2E87655 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x38A2 SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x38BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x38CE 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 0x38F2 SWAP2 SWAP1 PUSH2 0x542A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 DUP3 PUSH2 0x3927 SWAP2 SWAP1 PUSH2 0x6EFC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH20 0x0 PUSH4 0xABF82F4C SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3969 SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3981 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3995 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 0x39B9 SWAP2 SWAP1 PUSH2 0x53FD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x39C8 PUSH2 0x4409 JUMP JUMPDEST DUP2 PUSH1 0x2 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x39DE JUMPI PUSH2 0x39DD PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x39E7 DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x39F9 JUMPI PUSH2 0x39F8 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x3A03 DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x3A44 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A3B SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 PUSH2 0x3A50 DUP6 PUSH2 0x41E7 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0xE99E47F3 DUP3 PUSH1 0x3 ADD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A8C SWAP2 SWAP1 PUSH2 0x66A7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3AA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3AB8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3AE1 SWAP2 SWAP1 PUSH2 0x56D4 JUMP JUMPDEST SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 PUSH20 0x0 PUSH4 0x8CC5EB54 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B28 SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3B40 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x3B76 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3B73 SWAP2 SWAP1 PUSH2 0x5543 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x3C08 JUMPI PUSH2 0x3B82 PUSH2 0x7270 JUMP JUMPDEST DUP1 PUSH4 0x8C379A0 EQ ISZERO PUSH2 0x3BAF JUMPI POP PUSH2 0x3B97 PUSH2 0x78B5 JUMP JUMPDEST DUP1 PUSH2 0x3BA2 JUMPI POP PUSH2 0x3BB1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP3 POP SWAP3 POP POP PUSH2 0x3C11 JUMP JUMPDEST POP JUMPDEST RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x3BDD JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x3BE2 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP PUSH1 0xFF PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x2F DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x7ADE PUSH1 0x2F SWAP2 CODECOPY SWAP3 POP SWAP3 POP POP PUSH2 0x3C11 JUMP JUMPDEST DUP2 DUP2 SWAP4 POP SWAP4 POP POP POP JUMPDEST SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH20 0x0 PUSH4 0xD45D097D SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3C51 SWAP2 SWAP1 PUSH2 0x6A03 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3C69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3C7D 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 0x3CA1 SWAP2 SWAP1 PUSH2 0x5516 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x3CC0 JUMPI PUSH2 0x3CBF PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST PUSH2 0x3CC9 DUP4 PUSH2 0x3FC9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x3CDB JUMPI PUSH2 0x3CDA PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x3CE5 DUP3 PUSH2 0x4099 JUMP JUMPDEST SWAP1 PUSH2 0x3D26 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3D1D SWAP2 SWAP1 PUSH2 0x6780 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH2 0x3D30 DUP5 PUSH2 0x41E7 JUMP JUMPDEST PUSH1 0x2 ADD SLOAD SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH2 0x3D69 PUSH2 0x4409 JUMP JUMPDEST PUSH20 0x0 PUSH4 0xE99E47F3 DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3DA0 SWAP2 SWAP1 PUSH2 0x6663 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3DB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3DCC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3DF5 SWAP2 SWAP1 PUSH2 0x56D4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3E04 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x3E95 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3E8C SWAP1 PUSH2 0x67E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3E9F PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x3F9D JUMPI DUP2 PUSH2 0x3F01 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xA6DB7263983F337BAE2C9FB315730227961D1C1153AE1E10A56B5791465DD6FD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 EQ DUP1 PUSH2 0x3FE3 JUMPI POP PUSH2 0x3FDC PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x2 ADD SLOAD DUP3 GT JUMPDEST ISZERO PUSH2 0x3FF1 JUMPI PUSH1 0x0 SWAP1 POP PUSH2 0x4094 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3FFB PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x3 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP PUSH1 0x0 DUP1 SHL DUP2 PUSH1 0x5 ADD PUSH1 0x2 ADD SLOAD EQ PUSH2 0x402C JUMPI PUSH1 0x2 SWAP2 POP POP PUSH2 0x4094 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH1 0x9 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x408E JUMPI PUSH1 0x1 SWAP2 POP POP PUSH2 0x4094 JUMP JUMPDEST PUSH1 0x3 SWAP2 POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x40AF JUMPI PUSH2 0x40AE PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x40C2 JUMPI PUSH2 0x40C1 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ ISZERO PUSH2 0x40E8 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x7A92 PUSH1 0x25 SWAP2 CODECOPY SWAP1 POP PUSH2 0x41BA JUMP JUMPDEST PUSH1 0x2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x40FC JUMPI PUSH2 0x40FB PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x410F JUMPI PUSH2 0x410E PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ ISZERO PUSH2 0x4135 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x7AB7 PUSH1 0x27 SWAP2 CODECOPY SWAP1 POP PUSH2 0x41BA JUMP JUMPDEST PUSH1 0x3 DUP1 DUP2 GT ISZERO PUSH2 0x4148 JUMPI PUSH2 0x4147 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x415B JUMPI PUSH2 0x415A PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST EQ ISZERO PUSH2 0x4181 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x26 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x7A6C PUSH1 0x26 SWAP2 CODECOPY SWAP1 POP PUSH2 0x41BA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x5769746E6574426F617264446174613A20626164206D6F6F6400000000000000 DUP2 MSTORE POP SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xF595240B351BC8F951C2F53B26F4E78C32CB62122CF76C19B7FDDA7D4968E183 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x41F1 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x3 ADD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x5 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4219 PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x3 ADD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 PUSH1 0x40 MLOAD PUSH2 0x4249 SWAP2 SWAP1 PUSH2 0x6551 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4266 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST 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 0x4289 SWAP2 SWAP1 PUSH2 0x542A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x429B PUSH2 0x41BF JUMP JUMPDEST PUSH1 0x3 ADD PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x0 ADD SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x5 ADD SWAP1 POP DUP7 DUP2 PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP DUP6 DUP2 PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP CALLER DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP5 DUP2 PUSH1 0x3 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x432E SWAP3 SWAP2 SWAP1 PUSH2 0x454D JUMP JUMPDEST POP DUP2 PUSH1 0x4 ADD SLOAD SWAP4 POP DUP3 PUSH1 0x0 ADD PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE PUSH1 0x4 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE POP POP POP POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x43F4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLVALUE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 GASPRICE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x4425 PUSH2 0x45D3 JUMP JUMPDEST DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP1 NOT AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x4478 SWAP1 PUSH2 0x70D9 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x448A JUMPI POP PUSH2 0x44A9 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x44A8 SWAP2 SWAP1 PUSH2 0x462C JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP1 NOT AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH2 0x451D PUSH2 0x44AC JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x452A PUSH2 0x442B JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x4559 SWAP1 PUSH2 0x70D9 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x457B JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x45C2 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x4594 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x45C2 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x45C2 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x45C1 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x45A6 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x45CF SWAP2 SWAP1 PUSH2 0x462C JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH2 0x45E6 PUSH2 0x4649 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x4645 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x462D JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x467C PUSH2 0x4677 DUP5 PUSH2 0x6B83 JUMP JUMPDEST PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x469F JUMPI PUSH2 0x469E PUSH2 0x72A6 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x46CF JUMPI DUP2 PUSH2 0x46B5 DUP9 DUP3 PUSH2 0x4A7B JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x46A2 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x46EC PUSH2 0x46E7 DUP5 PUSH2 0x6B83 JUMP JUMPDEST PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x470F JUMPI PUSH2 0x470E PUSH2 0x72A6 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x473F JUMPI DUP2 PUSH2 0x4725 DUP9 DUP3 PUSH2 0x4A90 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x4712 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x475C PUSH2 0x4757 DUP5 PUSH2 0x6BAF JUMP JUMPDEST PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x477F JUMPI PUSH2 0x477E PUSH2 0x72A6 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x47AF JUMPI DUP2 PUSH2 0x4795 DUP9 DUP3 PUSH2 0x4D17 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x4782 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x47CC PUSH2 0x47C7 DUP5 PUSH2 0x6BDB JUMP JUMPDEST PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x47EF JUMPI PUSH2 0x47EE PUSH2 0x72A6 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x481F JUMPI DUP2 PUSH2 0x4805 DUP9 DUP3 PUSH2 0x4D2C JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x47F2 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x483C PUSH2 0x4837 DUP5 PUSH2 0x6C07 JUMP JUMPDEST PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x485F JUMPI PUSH2 0x485E PUSH2 0x72A6 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x48AD JUMPI DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4885 JUMPI PUSH2 0x4884 PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x4892 DUP10 DUP3 PUSH2 0x4D41 JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP5 ADD SWAP4 POP POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x4862 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x48CA PUSH2 0x48C5 DUP5 PUSH2 0x6C33 JUMP JUMPDEST PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x48ED JUMPI PUSH2 0x48EC PUSH2 0x72A6 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x493B JUMPI DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4913 JUMPI PUSH2 0x4912 PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x4920 DUP10 DUP3 PUSH2 0x4D6F JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP5 ADD SWAP4 POP POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x48F0 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4958 PUSH2 0x4953 DUP5 PUSH2 0x6C5F JUMP JUMPDEST PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x497B JUMPI PUSH2 0x497A PUSH2 0x72A6 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x49AB JUMPI DUP2 PUSH2 0x4991 DUP9 DUP3 PUSH2 0x517F JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x497E JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x49C8 PUSH2 0x49C3 DUP5 PUSH2 0x6C8B JUMP JUMPDEST PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x49E4 JUMPI PUSH2 0x49E3 PUSH2 0x72AB JUMP JUMPDEST JUMPDEST PUSH2 0x49EF DUP5 DUP3 DUP6 PUSH2 0x7097 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A0A PUSH2 0x4A05 DUP5 PUSH2 0x6C8B JUMP JUMPDEST PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x4A26 JUMPI PUSH2 0x4A25 PUSH2 0x72AB JUMP JUMPDEST JUMPDEST PUSH2 0x4A31 DUP5 DUP3 DUP6 PUSH2 0x70A6 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A4C PUSH2 0x4A47 DUP5 PUSH2 0x6CBC JUMP JUMPDEST PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x4A68 JUMPI PUSH2 0x4A67 PUSH2 0x72AB JUMP JUMPDEST JUMPDEST PUSH2 0x4A73 DUP5 DUP3 DUP6 PUSH2 0x70A6 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4A8A DUP2 PUSH2 0x7974 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x4A9F DUP2 PUSH2 0x7974 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4ABA JUMPI PUSH2 0x4AB9 PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x4ACA DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x4669 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4AE8 JUMPI PUSH2 0x4AE7 PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x4AF8 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x46D9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4B16 JUMPI PUSH2 0x4B15 PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x4B26 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x4749 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4B44 JUMPI PUSH2 0x4B43 PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x4B54 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x47B9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4B72 JUMPI PUSH2 0x4B71 PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x4B82 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x4829 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4BA0 JUMPI PUSH2 0x4B9F PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x4BB0 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x48B7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4BCE JUMPI PUSH2 0x4BCD PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x4BDE DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x4945 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4BF6 DUP2 PUSH2 0x798B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x4C0B DUP2 PUSH2 0x798B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4C20 DUP2 PUSH2 0x79A2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x4C35 DUP2 PUSH2 0x79A2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x4C51 JUMPI PUSH2 0x4C50 PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4C6E JUMPI PUSH2 0x4C6D PUSH2 0x7292 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x4C8A JUMPI PUSH2 0x4C89 PUSH2 0x72A6 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4CA6 JUMPI PUSH2 0x4CA5 PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x4CB6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x49B5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4CD4 JUMPI PUSH2 0x4CD3 PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x4CE4 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x49F7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4CFC DUP2 PUSH2 0x79B9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x4D11 DUP2 PUSH2 0x79D0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x4D26 DUP2 PUSH2 0x79E1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x4D3B DUP2 PUSH2 0x79F8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4D56 JUMPI PUSH2 0x4D55 PUSH2 0x7297 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x4D66 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x4A39 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4D85 JUMPI PUSH2 0x4D84 PUSH2 0x729C JUMP JUMPDEST JUMPDEST PUSH2 0x4D8F PUSH1 0x80 PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x4D9F DUP5 DUP3 DUP6 ADD PUSH2 0x512B JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x4DB3 DUP5 DUP3 DUP6 ADD PUSH2 0x512B JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 PUSH2 0x4DC7 DUP5 DUP3 DUP6 ADD PUSH2 0x4C11 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4DEB JUMPI PUSH2 0x4DEA PUSH2 0x72A1 JUMP JUMPDEST JUMPDEST PUSH2 0x4DF7 DUP5 DUP3 DUP6 ADD PUSH2 0x4C91 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4E19 JUMPI PUSH2 0x4E18 PUSH2 0x729C JUMP JUMPDEST JUMPDEST PUSH2 0x4E23 PUSH1 0x40 PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4E43 JUMPI PUSH2 0x4E42 PUSH2 0x72A1 JUMP JUMPDEST JUMPDEST PUSH2 0x4E4F DUP5 DUP3 DUP6 ADD PUSH2 0x4C91 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x4E63 DUP5 DUP3 DUP6 ADD PUSH2 0x5140 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4E85 JUMPI PUSH2 0x4E84 PUSH2 0x729C JUMP JUMPDEST JUMPDEST PUSH2 0x4E8F PUSH1 0x40 PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4EAF JUMPI PUSH2 0x4EAE PUSH2 0x72A1 JUMP JUMPDEST JUMPDEST PUSH2 0x4EBB DUP5 DUP3 DUP6 ADD PUSH2 0x4CBF JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x4ECF DUP5 DUP3 DUP6 ADD PUSH2 0x5155 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4EF1 JUMPI PUSH2 0x4EF0 PUSH2 0x729C JUMP JUMPDEST JUMPDEST PUSH2 0x4EFB PUSH1 0xC0 PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4F1B JUMPI PUSH2 0x4F1A PUSH2 0x72A1 JUMP JUMPDEST JUMPDEST PUSH2 0x4F27 DUP5 DUP3 DUP6 ADD PUSH2 0x4E03 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x4F3B DUP5 DUP3 DUP6 ADD PUSH2 0x5194 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 PUSH2 0x4F4F DUP5 DUP3 DUP6 ADD PUSH2 0x5194 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 PUSH2 0x4F63 DUP5 DUP3 DUP6 ADD PUSH2 0x5194 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 PUSH2 0x4F77 DUP5 DUP3 DUP6 ADD PUSH2 0x516A JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 PUSH2 0x4F8B DUP5 DUP3 DUP6 ADD PUSH2 0x516A JUMP JUMPDEST PUSH1 0xA0 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4FAD JUMPI PUSH2 0x4FAC PUSH2 0x729C JUMP JUMPDEST JUMPDEST PUSH2 0x4FB7 PUSH1 0xC0 PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4FD7 JUMPI PUSH2 0x4FD6 PUSH2 0x72A1 JUMP JUMPDEST JUMPDEST PUSH2 0x4FE3 DUP5 DUP3 DUP6 ADD PUSH2 0x4E6F JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x4FF7 DUP5 DUP3 DUP6 ADD PUSH2 0x51A9 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 PUSH2 0x500B DUP5 DUP3 DUP6 ADD PUSH2 0x51A9 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 PUSH2 0x501F DUP5 DUP3 DUP6 ADD PUSH2 0x51A9 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 PUSH2 0x5033 DUP5 DUP3 DUP6 ADD PUSH2 0x517F JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 PUSH2 0x5047 DUP5 DUP3 DUP6 ADD PUSH2 0x517F JUMP JUMPDEST PUSH1 0xA0 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5069 JUMPI PUSH2 0x5068 PUSH2 0x729C JUMP JUMPDEST JUMPDEST PUSH2 0x5073 PUSH1 0x40 PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x5083 DUP5 DUP3 DUP6 ADD PUSH2 0x4BE7 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x50A7 JUMPI PUSH2 0x50A6 PUSH2 0x72A1 JUMP JUMPDEST JUMPDEST PUSH2 0x50B3 DUP5 DUP3 DUP6 ADD PUSH2 0x4EDB JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x50D5 JUMPI PUSH2 0x50D4 PUSH2 0x729C JUMP JUMPDEST JUMPDEST PUSH2 0x50DF PUSH1 0x40 PUSH2 0x6B5E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x50EF DUP5 DUP3 DUP6 ADD PUSH2 0x4BFC JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5113 JUMPI PUSH2 0x5112 PUSH2 0x72A1 JUMP JUMPDEST JUMPDEST PUSH2 0x511F DUP5 DUP3 DUP6 ADD PUSH2 0x4F97 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x513A DUP2 PUSH2 0x7A0F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x514F DUP2 PUSH2 0x7A26 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x5164 DUP2 PUSH2 0x7A26 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x5179 DUP2 PUSH2 0x7A3D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x518E DUP2 PUSH2 0x7A3D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x51A3 DUP2 PUSH2 0x7A54 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x51B8 DUP2 PUSH2 0x7A54 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x51D4 JUMPI PUSH2 0x51D3 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x51E2 DUP5 DUP3 DUP6 ADD PUSH2 0x4A7B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5201 JUMPI PUSH2 0x5200 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x521F JUMPI PUSH2 0x521E PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x522B DUP5 DUP3 DUP6 ADD PUSH2 0x4AA5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x524A JUMPI PUSH2 0x5249 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5268 JUMPI PUSH2 0x5267 PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x5274 DUP5 DUP3 DUP6 ADD PUSH2 0x4AD3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5293 JUMPI PUSH2 0x5292 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x52B1 JUMPI PUSH2 0x52B0 PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x52BD DUP5 DUP3 DUP6 ADD PUSH2 0x4B01 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x52DC JUMPI PUSH2 0x52DB PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x52FA JUMPI PUSH2 0x52F9 PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x5306 DUP5 DUP3 DUP6 ADD PUSH2 0x4B2F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5325 JUMPI PUSH2 0x5324 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5343 JUMPI PUSH2 0x5342 PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x534F DUP5 DUP3 DUP6 ADD PUSH2 0x4B5D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x536F JUMPI PUSH2 0x536E PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x538D JUMPI PUSH2 0x538C PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x5399 DUP6 DUP3 DUP7 ADD PUSH2 0x4B8B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x53AA DUP6 DUP3 DUP7 ADD PUSH2 0x4BE7 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x53CA JUMPI PUSH2 0x53C9 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x53E8 JUMPI PUSH2 0x53E7 PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x53F4 DUP5 DUP3 DUP6 ADD PUSH2 0x4BB9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5413 JUMPI PUSH2 0x5412 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5421 DUP5 DUP3 DUP6 ADD PUSH2 0x4BFC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5440 JUMPI PUSH2 0x543F PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x544E DUP5 DUP3 DUP6 ADD PUSH2 0x4C26 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x546D JUMPI PUSH2 0x546C PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x548B JUMPI PUSH2 0x548A PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x5497 DUP5 DUP3 DUP6 ADD PUSH2 0x4C91 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x54B6 JUMPI PUSH2 0x54B5 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x54D4 JUMPI PUSH2 0x54D3 PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x54E0 DUP5 DUP3 DUP6 ADD PUSH2 0x4CBF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x54FF JUMPI PUSH2 0x54FE PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x550D DUP5 DUP3 DUP6 ADD PUSH2 0x4CED JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x552C JUMPI PUSH2 0x552B PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x553A DUP5 DUP3 DUP6 ADD PUSH2 0x4D02 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x555A JUMPI PUSH2 0x5559 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5568 DUP6 DUP3 DUP7 ADD PUSH2 0x4D02 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5589 JUMPI PUSH2 0x5588 PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x5595 DUP6 DUP3 DUP7 ADD PUSH2 0x4D41 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x55B5 JUMPI PUSH2 0x55B4 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x55C3 DUP5 DUP3 DUP6 ADD PUSH2 0x4D17 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x55E2 JUMPI PUSH2 0x55E1 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x55F0 DUP5 DUP3 DUP6 ADD PUSH2 0x4D2C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x560F JUMPI PUSH2 0x560E PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x562D JUMPI PUSH2 0x562C PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x5639 DUP5 DUP3 DUP6 ADD PUSH2 0x4D41 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5658 JUMPI PUSH2 0x5657 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5676 JUMPI PUSH2 0x5675 PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x5682 DUP5 DUP3 DUP6 ADD PUSH2 0x4EDB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x56A1 JUMPI PUSH2 0x56A0 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x56BF JUMPI PUSH2 0x56BE PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x56CB DUP5 DUP3 DUP6 ADD PUSH2 0x5053 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x56EA JUMPI PUSH2 0x56E9 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5708 JUMPI PUSH2 0x5707 PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x5714 DUP5 DUP3 DUP6 ADD PUSH2 0x50BF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5733 JUMPI PUSH2 0x5732 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5741 DUP5 DUP3 DUP6 ADD PUSH2 0x512B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x5764 JUMPI PUSH2 0x5763 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5772 DUP8 DUP3 DUP9 ADD PUSH2 0x512B JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x5783 DUP8 DUP3 DUP9 ADD PUSH2 0x4C11 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x57A4 JUMPI PUSH2 0x57A3 PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x57B0 DUP8 DUP3 DUP9 ADD PUSH2 0x4C3B JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x57DA JUMPI PUSH2 0x57D9 PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x57E8 DUP9 DUP3 DUP10 ADD PUSH2 0x512B JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x57F9 DUP9 DUP3 DUP10 ADD PUSH2 0x512B JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x580A DUP9 DUP3 DUP10 ADD PUSH2 0x4C11 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x582B JUMPI PUSH2 0x582A PUSH2 0x72B0 JUMP JUMPDEST JUMPDEST PUSH2 0x5837 DUP9 DUP3 DUP10 ADD PUSH2 0x4C3B JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x585C JUMPI PUSH2 0x585B PUSH2 0x72B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x586A DUP5 DUP3 DUP6 ADD PUSH2 0x517F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x587F DUP4 DUP4 PUSH2 0x58E7 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5897 DUP4 DUP4 PUSH2 0x5D0E JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x58AF DUP4 DUP4 PUSH2 0x5D2C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x58C7 DUP4 DUP4 PUSH2 0x5D4A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x58DB DUP4 DUP4 PUSH2 0x6506 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x58F0 DUP2 PUSH2 0x6F56 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x58FF DUP2 PUSH2 0x6F56 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5910 DUP3 PUSH2 0x6D52 JUMP JUMPDEST PUSH2 0x591A DUP2 DUP6 PUSH2 0x6DE0 JUMP JUMPDEST SWAP4 POP PUSH2 0x5925 DUP4 PUSH2 0x6CED JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5956 JUMPI DUP2 MLOAD PUSH2 0x593D DUP9 DUP3 PUSH2 0x5873 JUMP JUMPDEST SWAP8 POP PUSH2 0x5948 DUP4 PUSH2 0x6D9F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x5929 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x596E DUP3 PUSH2 0x6D5D JUMP JUMPDEST PUSH2 0x5978 DUP2 DUP6 PUSH2 0x6DF1 JUMP JUMPDEST SWAP4 POP PUSH2 0x5983 DUP4 PUSH2 0x6CFD JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x59B4 JUMPI DUP2 MLOAD PUSH2 0x599B DUP9 DUP3 PUSH2 0x588B JUMP JUMPDEST SWAP8 POP PUSH2 0x59A6 DUP4 PUSH2 0x6DAC JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x5987 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x59CC DUP3 PUSH2 0x6D68 JUMP JUMPDEST PUSH2 0x59D6 DUP2 DUP6 PUSH2 0x6E02 JUMP JUMPDEST SWAP4 POP PUSH2 0x59E1 DUP4 PUSH2 0x6D0D JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5A12 JUMPI DUP2 MLOAD PUSH2 0x59F9 DUP9 DUP3 PUSH2 0x58A3 JUMP JUMPDEST SWAP8 POP PUSH2 0x5A04 DUP4 PUSH2 0x6DB9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x59E5 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5A2A DUP3 PUSH2 0x6D73 JUMP JUMPDEST PUSH2 0x5A34 DUP2 DUP6 PUSH2 0x6E13 JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x5A46 DUP6 PUSH2 0x6D1D JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x5A82 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x5A63 DUP6 DUP3 PUSH2 0x58BB JUMP JUMPDEST SWAP5 POP PUSH2 0x5A6E DUP4 PUSH2 0x6DC6 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x5A4A JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5A9F DUP3 PUSH2 0x6D7E JUMP JUMPDEST PUSH2 0x5AA9 DUP2 DUP6 PUSH2 0x6E24 JUMP JUMPDEST SWAP4 POP PUSH2 0x5AB4 DUP4 PUSH2 0x6D2D JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5AE5 JUMPI DUP2 MLOAD PUSH2 0x5ACC DUP9 DUP3 PUSH2 0x58CF JUMP JUMPDEST SWAP8 POP PUSH2 0x5AD7 DUP4 PUSH2 0x6DD3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x5AB8 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x5AFB DUP2 PUSH2 0x6F68 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5B0A DUP2 PUSH2 0x6F68 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5B19 DUP2 PUSH2 0x6F68 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5B28 DUP2 PUSH2 0x6F74 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5B37 DUP2 PUSH2 0x6F74 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5B48 DUP3 PUSH2 0x6D89 JUMP JUMPDEST PUSH2 0x5B52 DUP2 DUP6 PUSH2 0x6E35 JUMP JUMPDEST SWAP4 POP PUSH2 0x5B62 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x70A6 JUMP JUMPDEST PUSH2 0x5B6B DUP2 PUSH2 0x72BA JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5B81 DUP3 PUSH2 0x6D89 JUMP JUMPDEST PUSH2 0x5B8B DUP2 DUP6 PUSH2 0x6E46 JUMP JUMPDEST SWAP4 POP PUSH2 0x5B9B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x70A6 JUMP JUMPDEST PUSH2 0x5BA4 DUP2 PUSH2 0x72BA JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5BBA DUP3 PUSH2 0x6D89 JUMP JUMPDEST PUSH2 0x5BC4 DUP2 DUP6 PUSH2 0x6E57 JUMP JUMPDEST SWAP4 POP PUSH2 0x5BD4 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x70A6 JUMP JUMPDEST PUSH2 0x5BDD DUP2 PUSH2 0x72BA JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5BF3 DUP3 PUSH2 0x6D89 JUMP JUMPDEST PUSH2 0x5BFD DUP2 DUP6 PUSH2 0x6E68 JUMP JUMPDEST SWAP4 POP PUSH2 0x5C0D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x70A6 JUMP JUMPDEST PUSH2 0x5C16 DUP2 PUSH2 0x72BA JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5C2C DUP3 PUSH2 0x6D89 JUMP JUMPDEST PUSH2 0x5C36 DUP2 DUP6 PUSH2 0x6E79 JUMP JUMPDEST SWAP4 POP PUSH2 0x5C46 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x70A6 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SLOAD PUSH2 0x5C5F DUP2 PUSH2 0x70D9 JUMP JUMPDEST PUSH2 0x5C69 DUP2 DUP7 PUSH2 0x6E57 JUMP JUMPDEST SWAP5 POP PUSH1 0x1 DUP3 AND PUSH1 0x0 DUP2 EQ PUSH2 0x5C84 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x5C96 JUMPI PUSH2 0x5CC9 JUMP JUMPDEST PUSH1 0xFF NOT DUP4 AND DUP7 MSTORE PUSH1 0x20 DUP7 ADD SWAP4 POP PUSH2 0x5CC9 JUMP JUMPDEST PUSH2 0x5C9F DUP6 PUSH2 0x6D3D JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5CC1 JUMPI DUP2 SLOAD DUP2 DUP10 ADD MSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x5CA2 JUMP JUMPDEST DUP1 DUP9 ADD SWAP6 POP POP POP JUMPDEST POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x5CDB DUP2 PUSH2 0x702B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5CEA DUP2 PUSH2 0x703D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5CF9 DUP2 PUSH2 0x704F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5D08 DUP2 PUSH2 0x7061 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5D17 DUP2 PUSH2 0x6FB6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5D26 DUP2 PUSH2 0x6FB6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5D35 DUP2 PUSH2 0x6FC3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5D44 DUP2 PUSH2 0x6FC3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5D55 DUP3 PUSH2 0x6D94 JUMP JUMPDEST PUSH2 0x5D5F DUP2 DUP6 PUSH2 0x6E84 JUMP JUMPDEST SWAP4 POP PUSH2 0x5D6F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x70A6 JUMP JUMPDEST PUSH2 0x5D78 DUP2 PUSH2 0x72BA JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5D8E DUP3 PUSH2 0x6D94 JUMP JUMPDEST PUSH2 0x5D98 DUP2 DUP6 PUSH2 0x6E95 JUMP JUMPDEST SWAP4 POP PUSH2 0x5DA8 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x70A6 JUMP JUMPDEST PUSH2 0x5DB1 DUP2 PUSH2 0x72BA JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5DC9 PUSH1 0x2C DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5DD4 DUP3 PUSH2 0x72D8 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5DEC PUSH1 0x29 DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5DF7 DUP3 PUSH2 0x7327 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5E0F PUSH1 0x2E DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5E1A DUP3 PUSH2 0x7376 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5E32 PUSH1 0x1B DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5E3D DUP3 PUSH2 0x73C5 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5E55 PUSH1 0x31 DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5E60 DUP3 PUSH2 0x73EE JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5E78 PUSH1 0x2C DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5E83 DUP3 PUSH2 0x743D JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5E9B PUSH1 0x2D DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5EA6 DUP3 PUSH2 0x748C JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5EBE PUSH1 0x2F DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5EC9 DUP3 PUSH2 0x74DB JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5EE1 PUSH1 0x2F DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5EEC DUP3 PUSH2 0x752A JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F04 PUSH1 0x3F DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5F0F DUP3 PUSH2 0x7579 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F27 PUSH1 0x42 DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5F32 DUP3 PUSH2 0x75C8 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F4A PUSH1 0x2A DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5F55 DUP3 PUSH2 0x763D JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F6D PUSH1 0x2D DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5F78 DUP3 PUSH2 0x768C JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F90 PUSH1 0x3A DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5F9B DUP3 PUSH2 0x76DB JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5FB3 PUSH1 0x34 DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5FBE DUP3 PUSH2 0x772A JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5FD6 PUSH1 0x2B DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x5FE1 DUP3 PUSH2 0x7779 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5FF9 PUSH1 0x2E DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x6004 DUP3 PUSH2 0x77C8 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x601C PUSH1 0x2F DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x6027 DUP3 PUSH2 0x7817 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x603F PUSH1 0x31 DUP4 PUSH2 0x6E95 JUMP JUMPDEST SWAP2 POP PUSH2 0x604A DUP3 PUSH2 0x7866 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x6072 DUP3 DUP3 PUSH2 0x5B3D JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x6087 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x64E8 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x60AF DUP3 DUP3 PUSH2 0x5BE8 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x60C4 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x64F7 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x60EC DUP3 DUP3 PUSH2 0x6055 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x6101 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x6533 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x6114 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x6533 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x6127 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x6533 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x613A PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x6506 JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x614D PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x6506 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x6175 DUP3 DUP3 PUSH2 0x6092 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x618A PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x6542 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x619D PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x6542 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x61B0 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x6542 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x61C3 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x6524 JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x61D6 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x6524 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x61FE DUP3 DUP3 PUSH2 0x6092 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x6213 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x6542 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x6226 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x6542 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x6239 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x6542 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x624C PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x6524 JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x625F PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x6524 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xE0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x6282 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x62BA JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xA0 DUP7 ADD MSTORE PUSH2 0x629A DUP3 DUP3 PUSH2 0x638A JUMP JUMPDEST SWAP2 POP POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x62AF PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0x58E7 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0x62D0 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x5CE1 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0x62E3 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x58E7 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0x62F6 PUSH1 0x40 DUP6 ADD DUP3 PUSH2 0x5B1F JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD PUSH2 0x6309 PUSH1 0x60 DUP6 ADD DUP3 PUSH2 0x64CA JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD PUSH2 0x631C PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x64CA JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0x6338 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x5CE1 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0x634B PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x58E7 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0x635E PUSH1 0x40 DUP6 ADD DUP3 PUSH2 0x5B1F JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD PUSH2 0x6371 PUSH1 0x60 DUP6 ADD DUP3 PUSH2 0x64CA JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD PUSH2 0x6384 PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x64CA JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x63A2 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x58E7 JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x63B5 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x64CA JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x63C8 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x5B1F JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x60 DUP7 ADD MSTORE PUSH2 0x63E0 DUP3 DUP3 PUSH2 0x5B3D JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x6405 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x58E7 JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x6418 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x64CA JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x642B PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x5B1F JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x60 DUP7 ADD MSTORE PUSH2 0x6443 DUP3 DUP3 PUSH2 0x5B3D JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x6468 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x5AF2 JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x6480 DUP3 DUP3 PUSH2 0x60CF JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x64A5 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x5B10 JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x64BD DUP3 DUP3 PUSH2 0x61E1 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x64D3 DUP2 PUSH2 0x6FF0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x64E2 DUP2 PUSH2 0x6FF0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x64F1 DUP2 PUSH2 0x6FFA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x6500 DUP2 PUSH2 0x6FFA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x650F DUP2 PUSH2 0x700A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x651E DUP2 PUSH2 0x700A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x652D DUP2 PUSH2 0x700A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x653C DUP2 PUSH2 0x701E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x654B DUP2 PUSH2 0x701E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x655D DUP3 DUP5 PUSH2 0x5C21 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x657D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x58F6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x659D DUP2 DUP5 PUSH2 0x5905 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x65BF DUP2 DUP5 PUSH2 0x5963 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x65E1 DUP2 DUP5 PUSH2 0x59C1 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x6603 DUP2 DUP5 PUSH2 0x5A1F JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x6625 DUP2 DUP5 PUSH2 0x5A94 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x6642 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5B01 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x665D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5B2E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x667D DUP2 DUP5 PUSH2 0x5BAF JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x669F DUP2 DUP5 PUSH2 0x5B76 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x66C1 DUP2 DUP5 PUSH2 0x5C52 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x66DE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5CD2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x66F9 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5CF0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x6714 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x5CF0 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x6726 DUP2 DUP5 PUSH2 0x5D83 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x6744 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5CFF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x675F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5D1D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x677A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5D3B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x679A DUP2 DUP5 PUSH2 0x5D83 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x67BB DUP2 PUSH2 0x5DBC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x67DB DUP2 PUSH2 0x5DDF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x67FB DUP2 PUSH2 0x5E25 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x681B DUP2 PUSH2 0x5E48 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x683B DUP2 PUSH2 0x5E8E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x685B DUP2 PUSH2 0x5EB1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x687B DUP2 PUSH2 0x5ED4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x689B DUP2 PUSH2 0x5EF7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x68BB DUP2 PUSH2 0x5F1A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x68DB DUP2 PUSH2 0x5F3D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x68FB DUP2 PUSH2 0x5F83 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x691B DUP2 PUSH2 0x5FA6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x693B DUP2 PUSH2 0x5FC9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x695B DUP2 PUSH2 0x600F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x697B DUP2 PUSH2 0x6032 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x699C DUP2 DUP5 PUSH2 0x6158 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x69BE DUP2 DUP5 PUSH2 0x626A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x69DB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x6322 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x69FB DUP2 DUP5 PUSH2 0x63ED JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x6A1D DUP2 DUP5 PUSH2 0x648D JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x6A3F DUP2 DUP5 PUSH2 0x6450 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x6A5C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x64D9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x6A77 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x64D9 JUMP JUMPDEST PUSH2 0x6A84 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x58F6 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x6AA0 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x64D9 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x6AB1 DUP2 PUSH2 0x5E02 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x6ACE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x64D9 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x6ADF DUP2 PUSH2 0x5E6B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x6AFC PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x64D9 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x6B0D DUP2 PUSH2 0x5F60 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x6B2A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x64D9 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x6B3B DUP2 PUSH2 0x5FEC JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x6B58 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x6515 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6B68 PUSH2 0x6B79 JUMP JUMPDEST SWAP1 POP PUSH2 0x6B74 DUP3 DUP3 PUSH2 0x710B JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x6B9E JUMPI PUSH2 0x6B9D PUSH2 0x7241 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x6BCA JUMPI PUSH2 0x6BC9 PUSH2 0x7241 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x6BF6 JUMPI PUSH2 0x6BF5 PUSH2 0x7241 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x6C22 JUMPI PUSH2 0x6C21 PUSH2 0x7241 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x6C4E JUMPI PUSH2 0x6C4D PUSH2 0x7241 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x6C7A JUMPI PUSH2 0x6C79 PUSH2 0x7241 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x6CA6 JUMPI PUSH2 0x6CA5 PUSH2 0x7241 JUMP JUMPDEST JUMPDEST PUSH2 0x6CAF DUP3 PUSH2 0x72BA JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x6CD7 JUMPI PUSH2 0x6CD6 PUSH2 0x7241 JUMP JUMPDEST JUMPDEST PUSH2 0x6CE0 DUP3 PUSH2 0x72BA JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6EB1 DUP3 PUSH2 0x6FF0 JUMP JUMPDEST SWAP2 POP PUSH2 0x6EBC DUP4 PUSH2 0x6FF0 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x6EF1 JUMPI PUSH2 0x6EF0 PUSH2 0x7185 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6F07 DUP3 PUSH2 0x6FF0 JUMP JUMPDEST SWAP2 POP PUSH2 0x6F12 DUP4 PUSH2 0x6FF0 JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x6F4B JUMPI PUSH2 0x6F4A PUSH2 0x7185 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6F61 DUP3 PUSH2 0x6FD0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6F89 DUP3 PUSH2 0x6F56 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x6F9E DUP3 PUSH2 0x794B JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x6FB1 DUP3 PUSH2 0x7960 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0xF SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x3 SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7036 DUP3 PUSH2 0x7073 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7048 DUP3 PUSH2 0x7073 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x705A DUP3 PUSH2 0x6F90 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x706C DUP3 PUSH2 0x6FA3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x707E DUP3 PUSH2 0x7085 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7090 DUP3 PUSH2 0x6FD0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x70C4 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x70A9 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x70D3 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x70F1 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x7105 JUMPI PUSH2 0x7104 PUSH2 0x71E3 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x7114 DUP3 PUSH2 0x72BA JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x7133 JUMPI PUSH2 0x7132 PUSH2 0x7241 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7147 DUP3 PUSH2 0x6FF0 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x717A JUMPI PUSH2 0x7179 PUSH2 0x7185 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x3 RETURNDATASIZE GT ISZERO PUSH2 0x728F JUMPI PUSH1 0x4 PUSH1 0x0 DUP1 RETURNDATACOPY PUSH2 0x728C PUSH1 0x0 MLOAD PUSH2 0x72CB JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0xE0 SHR SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206E756C6C207363726970740000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F6172643A206E6F207472616E7366657273 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2061636365707465640000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206261642074696D657374616D70000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574426F617264446174613A206F6E6C79206F776E65720000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C654465666175 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6C743A206261642074696D657374616D70000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2062616420717565727949640000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20656D7074792073637269707400000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206F6E6C79207265717565737465720000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2072657761726420746F6F206C6F770000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2062797465636F6465206368616E67656420616674657220706F7374696E6700 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C654465666175 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6C743A205769746E65742064725478486173682063616E6E6F74206265207A65 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x726F000000000000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574426F6172644461746141434C733A20756E617574686F72697A65 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x64207265706F7274657200000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2062616420647254784861736800000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C654465666175 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6C743A20726573756C742063616E6E6F7420626520656D707479000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20616C726561647920696E697469616C697A6564000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206F6E6C79206F776E6572000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206261642063626F724279746573000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F617264547275737461626C65426173653A PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206E6F742079657420706F737465640000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452657175657374426F61726455706772616461626C6542617365 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x3A206E6F7420696D706C656D656E746564000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x44 RETURNDATASIZE LT ISZERO PUSH2 0x78C5 JUMPI PUSH2 0x7948 JUMP JUMPDEST PUSH2 0x78CD PUSH2 0x6B79 JUMP JUMPDEST PUSH1 0x4 RETURNDATASIZE SUB PUSH1 0x4 DUP3 RETURNDATACOPY DUP1 MLOAD RETURNDATASIZE PUSH1 0x24 DUP3 ADD GT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x78F5 JUMPI POP POP PUSH2 0x7948 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x7913 JUMPI POP POP POP POP PUSH2 0x7948 JUMP JUMPDEST DUP1 PUSH1 0x20 DUP4 ADD ADD PUSH1 0x4 RETURNDATASIZE SUB DUP6 ADD DUP2 GT ISZERO PUSH2 0x7930 JUMPI POP POP POP POP POP PUSH2 0x7948 JUMP JUMPDEST PUSH2 0x793F DUP3 PUSH1 0x20 ADD DUP6 ADD DUP7 PUSH2 0x710B JUMP JUMPDEST DUP3 SWAP6 POP POP POP POP POP POP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x100 DUP2 LT PUSH2 0x795D JUMPI PUSH2 0x795C PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0x7971 JUMPI PUSH2 0x7970 PUSH2 0x71B4 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH2 0x797D DUP2 PUSH2 0x6F56 JUMP JUMPDEST DUP2 EQ PUSH2 0x7988 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x7994 DUP2 PUSH2 0x6F68 JUMP JUMPDEST DUP2 EQ PUSH2 0x799F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x79AB DUP2 PUSH2 0x6F74 JUMP JUMPDEST DUP2 EQ PUSH2 0x79B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x79C2 DUP2 PUSH2 0x6F7E JUMP JUMPDEST DUP2 EQ PUSH2 0x79CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x100 DUP2 LT PUSH2 0x79DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x79EA DUP2 PUSH2 0x6FB6 JUMP JUMPDEST DUP2 EQ PUSH2 0x79F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x7A01 DUP2 PUSH2 0x6FC3 JUMP JUMPDEST DUP2 EQ PUSH2 0x7A0C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x7A18 DUP2 PUSH2 0x6FF0 JUMP JUMPDEST DUP2 EQ PUSH2 0x7A23 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x7A2F DUP2 PUSH2 0x6FFA JUMP JUMPDEST DUP2 EQ PUSH2 0x7A3A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x7A46 DUP2 PUSH2 0x700A JUMP JUMPDEST DUP2 EQ PUSH2 0x7A51 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x7A5D DUP2 PUSH2 0x701E JUMP JUMPDEST DUP2 EQ PUSH2 0x7A68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID JUMPI PUSH10 0x746E6574426F61726444 PUSH2 0x7461 GASPRICE KECCAK256 PUSH15 0x6F7420696E2044656C657465642073 PUSH21 0x617475735769746E6574426F617264446174613A20 PUSH15 0x6F7420696E20506F73746564207374 PUSH2 0x7475 PUSH20 0x5769746E6574426F617264446174613A206E6F74 KECCAK256 PUSH10 0x6E205265706F72746564 KECCAK256 PUSH20 0x74617475735769746E657452657175657374426F PUSH2 0x7264 SLOAD PUSH19 0x75737461626C65426173653A206661696C696E PUSH8 0x20617373657274A2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x26 0x26 0xE2 0xC 0x29 0xEC 0x4C 0xE2 SLOAD PUSH21 0xEC6CB7A1CEB7B8C91CB224F916654F83066EDA9630 EQ PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ","sourceMap":"614:2322:37:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;695:51:30;;;;;;;;;;:::i;:::-;;;;;;;;614:2322:37;905:59:35;;;;;;;;;;:::i;:::-;;;;;;;;4043:129:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28607:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27852:178;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28976:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19829:233;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22201:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27484:159;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23231:213;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5038:332;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1965:98:37;;;;;;;;;;;;;:::i;:::-;;28232:158:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19344:237;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18204:817;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1656:872;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4441:319;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;30100:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1703:75:62;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1495:237:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2190:94:62;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2055:90:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6164:930:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15127:836;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2612:305;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17017:172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20282:240;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23917:154;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12241:524;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9408:2239;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3199:122;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17461:394;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21192:232;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23608:148;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1942:93:62;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26389:170:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13413:1138;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;29726:158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16802:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24260:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16571:143;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;29348:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7670:1014;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24615:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1472:182:37;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26749:152:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21636:336;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25619:564;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;25000:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20741:240;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;134:32:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22859:207:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3356:301;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4043:129;4112:4;4135:7;:5;:7::i;:::-;:19;;:30;4155:9;4135:30;;;;;;;;;;;;;;;;;;;;;;;;;4128:37;;4043:129;;;:::o;28607:177::-;28716:15;28754:7;:21;;;;:23;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28747:30;;28607:177;;;:::o;27852:178::-;27962:14;27999:7;:22;;;;:24;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27992:31;;27852:178;;;:::o;28976:165::-;29080:13;29116:7;:16;;;;:18;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29109:25;;28976:165;;;:::o;19829:233::-;19984:7;19930:8;19940:25;822:7:32;793:36;;;;;;;;:::i;:::-;;:25;809:8;793:15;:25::i;:::-;:36;;;;;;;;:::i;:::-;;;841:37;870:7;841:28;:37::i;:::-;774:114;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;20014:8:36::1;:6;:8::i;:::-;:16;;:26;20031:8;20014:26;;;;;;;;;;;:34;;:41;;;20007:48;;19829:233:::0;;;;;:::o;22201:234::-;22362:7;22306:8;22316:27;822:7:32;793:36;;;;;;;;:::i;:::-;;:25;809:8;793:15;:25::i;:::-;:36;;;;;;;;:::i;:::-;;;841:37;870:7;841:28;:37::i;:::-;774:114;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;22392:26:36::1;22409:8;22392:16;:26::i;:::-;:36;;;22385:43;;22201:234:::0;;;;;:::o;27484:159::-;27589:5;27617:7;:17;;;;:19;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27610:26;;27484:159;;;:::o;23231:213::-;23347:20;;:::i;:::-;23390:15;:35;23426:10;23390:47;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23383:54;;23231:213;;;:::o;5038:332::-;1353:8:32;:6;:8::i;:::-;:14;;;;;;;;;;;;1339:28;;:10;:28;;;1331:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5162:7:36::1;5157:164;5180:12;:19;5175:2;:24;5157:164;;;5222:17;5242:12;5255:2;5242:16;;;;;;;;:::i;:::-;;;;;;;;5222:36;;5305:5;5272:7;:5;:7::i;:::-;:19;;:30;5292:9;5272:30;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;5208:113;5201:5;;;;;:::i;:::-;;;;5157:164;;;;5335:28;5350:12;5335:28;;;;;;:::i;:::-;;;;;;;;5038:332:::0;:::o;1965:98:37:-;1353:8:32;:6;:8::i;:::-;:14;;;;;;;;;;;;1339:28;;:10;:28;;;1331:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2044:10:37::1;2023:33;;;28232:158:36::0;28336:6;28365:7;:16;;;;:18;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28358:25;;28232:158;;;:::o;19344:237::-;19501:7;19447:8;19457:25;822:7:32;793:36;;;;;;;;:::i;:::-;;:25;809:8;793:15;:25::i;:::-;:36;;;;;;;;:::i;:::-;;;841:37;870:7;841:28;:37::i;:::-;774:114;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;19531:8:36::1;:6;:8::i;:::-;:16;;:26;19548:8;19531:26;;;;;;;;;;;:34;;:43;;;19524:50;;19344:237:::0;;;;;:::o;18204:817::-;18307:22;18395:26;18366:55;;;;;;;;:::i;:::-;;:25;18382:8;18366:15;:25::i;:::-;:55;;;;;;;;:::i;:::-;;;;18345:149;;;;;;;;;;;;:::i;:::-;;;;;;;;;18504:31;18538:25;18554:8;18538:15;:25::i;:::-;18504:59;;18611:1;18577:36;;18585:8;:13;;;;;;;;;;;;18577:36;;;18573:441;;18810:8;:13;;;;;;;;;;;;:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18798:36;;18893:8;:13;;;18873:16;:9;:14;:16::i;:::-;:33;18848:155;;;;;;;;;;;;:::i;:::-;;;;;;;;;18573:441;18335:686;18204:817;;;:::o;1656:872::-;1736:14;1753:8;:6;:8::i;:::-;:14;;;;;;;;;;;;1736:31;;1799:1;1781:20;;:6;:20;;;1777:297;;;1867:10;1858:19;;1908:6;1891:8;:6;:8::i;:::-;:14;;;:23;;;;;;;;;;;;;;;;;;1777:297;;;2009:6;1995:20;;:10;:20;;;1987:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;1777:297;2121:1;2096:27;;:8;:6;:8::i;:::-;:13;;;;;;;;;;;;:27;;;2092:222;;2240:6;:4;:6::i;:::-;2223:23;;:8;:6;:8::i;:::-;:13;;;;;;;;;;;;:23;;;;2215:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;2092:222;2347:6;:4;:6::i;:::-;2331:8;:6;:8::i;:::-;:13;;;:22;;;;;;;;;;;;;;;;;;2398:10;:8;:10::i;:::-;2390:6;:4;:6::i;:::-;2369:51;;2378:10;2369:51;;;2410:9;:7;:9::i;:::-;2369:51;;;;;;:::i;:::-;;;;;;;;2473:48;2497:9;2486:34;;;;;;;;;;;;:::i;:::-;2473:12;:48::i;:::-;1726:802;1656:872;:::o;4441:319::-;1353:8:32;:6;:8::i;:::-;:14;;;;;;;;;;;;1339:28;;:10;:28;;;1331:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4561:7:36::1;4556:159;4579:10;:17;4574:2;:22;4556:159;;;4619:17;4639:10;4650:2;4639:14;;;;;;;;:::i;:::-;;;;;;;;4619:34;;4700:4;4667:7;:5;:7::i;:::-;:19;;:30;4687:9;4667:30;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;4605:110;4598:5;;;;;:::i;:::-;;;;4556:159;;;;4729:24;4742:10;4729:24;;;;;;:::i;:::-;;;;;;;;4441:319:::0;:::o;30100:177::-;30209:15;30247:7;:21;;;;:23;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30240:30;;30100:177;;;:::o;1703:75:62:-;1740:7;1766:5;1759:12;;1703:75;:::o;1495:237:35:-;1552:7;1649:66;1571:154;;;;1495:237;:::o;2190:94:62:-;2235:4;2266:11;2259:18;;2190:94;:::o;2055:90:35:-;2104:7;2130:8;2123:15;;2055:90;:::o;6164:930:36:-;702:7:33;:5;:7::i;:::-;:19;;:31;722:10;702:31;;;;;;;;;;;;;;;;;;;;;;;;;681:120;;;;;;;;;;;;:::i;:::-;;;;;;;;;6369:8:36::1;6379:25;822:7:32;793:36;;;;;;;;:::i;:::-;;:25;809:8;793:15;:25::i;:::-;:36;;;;;;;;:::i;:::-;;;841:37;870:7;841:28;:37::i;:::-;774:114;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;6441:1:36::2;6428:14:::0;::::2;:9;:14;;6420:93;;;;;;;;;;;;:::i;:::-;;;;;;;;;6706:1;6685:10;;:17;;:22;;6677:93;;;;;;;;;;;;:::i;:::-;;;;;;;;;6824:214;6861:10;6886:142;6918:8;6944:15;6977:9;7004:10;;6886:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;:142::i;:::-;6824:15;:214::i;:::-;7053:34;7066:8;7076:10;7053:34;;;;;;;:::i;:::-;;;;;;;;811:1:33::1;;6164:930:36::0;;;;:::o;15127:836::-;15239:8;15249:25;822:7:32;793:36;;;;;;;;:::i;:::-;;:25;809:8;793:15;:25::i;:::-;:36;;;;;;;;:::i;:::-;;;841:37;870:7;841:28;:37::i;:::-;774:114;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;15290:31:36::1;15324:25;15340:8;15324:15;:25::i;:::-;15290:59;;15360:18;15399:14;:12;:14::i;:::-;15381:8;:15;;;:32;;;;:::i;:::-;15360:53;;15423:20;15446:14;:12;:14::i;:::-;15423:37;;15570:8;:17;;;15555:12;:32;15551:368;;;15657:24;15684:28;15699:12;15684:14;:28::i;:::-;15657:55;;15765:16;15751:10;:30;;15726:136;;;;;;;;;;;;:::i;:::-;;;;;;;;;15896:12;15876:8;:17;;:32;;;;15589:330;15551:368;15946:10;15928:8;:15;;:28;;;;15280:683;;;15127:836:::0;;;:::o;2612:305::-;2685:4;2701:14;2718:8;:6;:8::i;:::-;:14;;;;;;;;;;;;2701:31;;2851:14;:12;:14::i;:::-;:49;;;;;2895:5;2885:15;;:6;:15;;;2851:49;2742:168;;;2612:305;;;:::o;17017:172::-;17115:18;17156:25;17172:8;17156:15;:25::i;:::-;17149:32;;17017:172;;;:::o;20282:240::-;20434:32;;:::i;:::-;20378:8;20388:27;822:7:32;793:36;;;;;;;;:::i;:::-;;:25;809:8;793:15;:25::i;:::-;:36;;;;;;;;:::i;:::-;;;841:37;870:7;841:28;:37::i;:::-;774:114;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;20489:26:36::1;20506:8;20489:16;:26::i;:::-;20482:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;20282:240:::0;;;;;:::o;23917:154::-;24020:4;24047:7;:15;;;;:17;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24040:24;;23917:154;;;:::o;12241:524::-;12393:32;;:::i;:::-;12337:8;12347:27;822:7:32;793:36;;;;;;;;:::i;:::-;;:25;809:8;793:15;:25::i;:::-;:36;;;;;;;;:::i;:::-;;;841:37;870:7;841:28;:37::i;:::-;774:114;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;12441:28:36::1;12472:8;:6;:8::i;:::-;:16;;:26;12489:8;12472:26;;;;;;;;;;;12441:57;;12543:7;:12;;;;;;;;;;;;12529:26;;:10;:26;;;12508:120;;;;;;;;;;;;:::i;:::-;;;;;;;;;12650:7;:16;;12638:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;12683:8;:6;:8::i;:::-;:16;;:26;12700:8;12683:26;;;;;;;;;;;;12676:33:::0;::::1;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;12724:34;12737:8;12747:10;12724:34;;;;;;;:::i;:::-;;;;;;;;12431:334;12241:524:::0;;;;;:::o;9408:2239::-;702:7:33;:5;:7::i;:::-;:19;;:31;722:10;702:31;;;;;;;;;;;;;;;;;;;;;;;;;681:120;;;;;;;;;;;;:::i;:::-;;;;;;;;;9590:17:36::1;9617:15:::0;9635:13:::1;:20;9617:38;;9671:7;9665:1723;9689:10;9684:2;:15;9665:1723;;;9722:26;9751:13;9765:2;9751:17;;;;;;;;:::i;:::-;;;;;;;;9722:46;;9822:25;9786:61;;;;;;;;:::i;:::-;;:32;9802:7;:15;;;9786;:32::i;:::-;:61;;;;;;;;:::i;:::-;;;9782:1596;;9871:8;9867:211;;;9908:151;9950:7;:15;;;9908:151;;;;;;:::i;:::-;;;;;;;;9867:211;9782:1596;;;10122:1;10102:21:::0;::::1;:7;:16;;;:21;10098:1280;;;10147:8;10143:212;;;10184:152;10226:7;:15;;;10184:152;;;;;;:::i;:::-;;;;;;;;10143:212;10098:1280;;;10407:1;10379:7;:17;;;:24;:29;10375:1003;;;10432:8;10428:214;;;10469:154;10511:7;:15;;;10469:154;;;;;;:::i;:::-;;;;;;;;10428:214;10375:1003;;;10686:1;10666:7;:17;;;:21;:60;;;;;10711:15;10691:7;:17;;;:35;10666:60;10662:716;;;10750:8;10746:213;;;10787:153;10829:7;:15;;;10787:153;;;;;;:::i;:::-;;;;;;;;10746:213;10662:716;;;11013:228;11049:7;:15;;;11107:1;11086:7;:17;;;:22;:60;;11129:7;:17;;;11086:60;;;11111:15;11086:60;11168:7;:16;;;11206:7;:17;;;11013:14;:228::i;:::-;10997:244;;;;;:::i;:::-;;;11264:99;11298:7;:15;;;11335:10;11264:99;;;;;;;:::i;:::-;;;;;;;;10662:716;10375:1003;10098:1280;9782:1596;9708:1680;9701:5;;;;;:::i;:::-;;;;9665:1723;;;;11517:1;11502:12;:16;11498:143;;;11534:96;11575:10;11604:12;11534:15;:96::i;:::-;11498:143;9580:2067;;9408:2239:::0;;:::o;3199:122::-;3270:7;3300:8;:6;:8::i;:::-;:14;;;;;;;;;;;;3293:21;;3199:122;:::o;17461:394::-;17610:30;;:::i;:::-;17556:8;17566:25;822:7:32;793:36;;;;;;;;:::i;:::-;;:25;809:8;793:15;:25::i;:::-;:36;;;;;;;;:::i;:::-;;;841:37;870:7;841:28;:37::i;:::-;774:114;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;17656:28:36::1;17687:8;:6;:8::i;:::-;:16;;:26;17704:8;17687:26;;;;;;;;;;;17656:57;;17734:7;:15;;17723:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;17787:1;17763:26;;:7;:12;;;;;;;;;;;;:26;;;17759:90;;17826:7;:12;;;;;;;;;;;;17805:8;:18;;:33;;;;;;;;;::::0;::::1;17759:90;17646:209;17461:394:::0;;;;;:::o;21192:232::-;21352:7;21296:8;21306:27;822:7:32;793:36;;;;;;;;:::i;:::-;;:25;809:8;793:15;:25::i;:::-;:36;;;;;;;;:::i;:::-;;;841:37;870:7;841:28;:37::i;:::-;774:114;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;21382:26:36::1;21399:8;21382:16;:26::i;:::-;:35;;;;;;;;;;;;21375:42;;21192:232:::0;;;;;:::o;23608:148::-;23708:4;23735:7;:12;;;;:14;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23728:21;;23608:148;;;:::o;1942:93:62:-;1983:17;2019:9;2012:16;;1942:93;:::o;26389:170:36:-;26494:15;26532:7;:18;;;;:20;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26525:27;;26389:170;;;:::o;13413:1138::-;13521:16;13553:14;13570;:12;:14::i;:::-;13553:31;;13594:17;13614:14;:12;:14::i;:::-;13594:34;;13695:23;13721:25;13736:9;13721:14;:25::i;:::-;13695:51;;13774:15;13764:6;:25;;13756:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;13924:1;13898:28;;13906:5;13898:28;;;;13890:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;13985:22;14010:5;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13985:41;;14063:1;14044:9;:16;:20;14036:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;14139:8;:6;:8::i;:::-;:19;;;14136:22;;;;;:::i;:::-;;;;;;;14125:33;;14202:10;14168:8;:6;:8::i;:::-;:16;;:26;14185:8;14168:26;;;;;;;;;;;:31;;;:44;;;;;;;;;;;;;;;;;;14223:31;14257:25;14273:8;14257:15;:25::i;:::-;14223:59;;14308:5;14292:8;:13;;;:21;;;;;;;;;;;;;;;;;;14339:16;:9;:14;:16::i;:::-;14323:8;:13;;:32;;;;14385:9;14365:8;:17;;:29;;;;14422:6;14404:8;:15;;:24;;;;14509:35;14523:8;14533:10;14509:35;;;;;;;:::i;:::-;;;;;;;;13543:1008;;;;;13413:1138;;;:::o;29726:158::-;29830:6;29859:7;:16;;;;:18;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29852:25;;29726:158;;;:::o;16802:165::-;16892:19;;:::i;:::-;16934:8;:6;:8::i;:::-;:16;;:26;16951:8;16934:26;;;;;;;;;;;16927:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16802:165;;;:::o;24260:162::-;24363:12;24398:7;:15;;;;:17;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24391:24;;24260:162;;;:::o;16571:143::-;16654:7;16706:1;16684:8;:6;:8::i;:::-;:19;;;:23;;;;:::i;:::-;16677:30;;16571:143;:::o;29348:177::-;29457:15;29495:7;:21;;;;:23;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29488:30;;29348:177;;;:::o;7670:1014::-;702:7:33;:5;:7::i;:::-;:19;;:31;722:10;702:31;;;;;;;;;;;;;;;;;;;;;;;;;681:120;;;;;;;;;;;;:::i;:::-;;;;;;;;;7907:8:36::1;7917:25;822:7:32;793:36;;;;;;;;:::i;:::-;;:25;809:8;793:15;:25::i;:::-;:36;;;;;;;;:::i;:::-;;;841:37;870:7;841:28;:37::i;:::-;774:114;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;7980:15:36::2;7966:10;:29;;7958:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;8080:1;8067:14:::0;::::2;:9;:14;;8059:93;;;;;;;;;;;;:::i;:::-;;;;;;;;;8345:1;8324:10;;:17;;:22;;8316:93;;;;;;;;;;;;:::i;:::-;;;;;;;;;8419:209;8456:10;8481:137;8513:8;8539:10;8567:9;8594:10;;8481:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;:137::i;:::-;8419:15;:209::i;:::-;8643:34;8656:8;8666:10;8643:34;;;;;;;:::i;:::-;;;;;;;;811:1:33::1;;7670:1014:36::0;;;;;:::o;24615:161::-;24720:7;24750;:17;;;;:19;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24743:26;;24615:161;;;:::o;1472:182:37:-;1577:7;1619:28;1607:9;:40;;;;:::i;:::-;1600:47;;1472:182;;;:::o;26749:152:36:-;26851:4;26878:7;:14;;;;:16;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26871:23;;26749:152;;;:::o;21636:336::-;21794:20;;:::i;:::-;21738:8;21748:27;822:7:32;793:36;;;;;;;;:::i;:::-;;:25;809:8;793:15;:25::i;:::-;:36;;;;;;;;:::i;:::-;;;841:37;870:7;841:28;:37::i;:::-;774:114;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;21830:33:36::1;21866:26;21883:8;21866:16;:26::i;:::-;21830:62;;21909:15;:35;21945:9;:19;;21909:56;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21902:63;;;21636:336:::0;;;;;:::o;25619:564::-;25729:17;25748:13;25781:7;:22;;;;:24;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;25777:400;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;25980:25;26007:7;25972:43;;;;;;;25777:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26078:36;26070:96;;;;;;;;;;;;;;;;;;;;;;;;25777:400;25886:5;25893:8;25878:24;;;;;;25619:564;;;;:::o;25000:175::-;25107:17;25147:7;:19;;;;:21;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25140:28;;25000:175;;;:::o;20741:240::-;20909:7;20853:8;20863:27;822:7:32;793:36;;;;;;;;:::i;:::-;;:25;809:8;793:15;:25::i;:::-;:36;;;;;;;;:::i;:::-;;;841:37;870:7;841:28;:37::i;:::-;774:114;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;20939:26:36::1;20956:8;20939:16;:26::i;:::-;:35;;;20932:42;;20741:240:::0;;;;;:::o;134:32:60:-;;;:::o;22859:207:36:-;22969:20;;:::i;:::-;23012:15;:35;23048:10;23012:47;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23005:54;;22859:207;;;:::o;3356:301::-;1353:8:32;:6;:8::i;:::-;:14;;;;;;;;;;;;1339:28;;:10;:28;;;1331:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3476:14:36::1;3493:8;:6;:8::i;:::-;:14;;;;;;;;;;;;3476:31;;3534:6;3521:19;;:9;:19;;;3517:134;;3573:9;3556:8;:6;:8::i;:::-;:14;;;:26;;;;;;;;;;;;;;;;;;3630:9;3601:39;;3622:6;3601:39;;;;;;;;;;;;3517:134;3466:191;3356:301:::0;:::o;1067:165:33:-;1107:31;1189:27;1173:43;;1067:165;:::o;1953:1073:32:-;2031:18;2079:1;2067:8;:13;:47;;;;2095:8;:6;:8::i;:::-;:19;;;2084:8;:30;2067:47;2063:957;;;2189:26;2182:33;;;;2063:957;2246:27;2276:8;:6;:8::i;:::-;:16;;:26;2293:8;2276:26;;;;;;;;;;;2246:56;;2344:1;2316:29;;:6;:15;;:24;;;:29;2312:700;;2542:27;2535:34;;;;;2312:700;2621:1;2598:25;;:6;:11;;;;;;;;;;;;:25;;;2594:418;;2785:25;2778:32;;;;;2594:418;2975:26;2968:33;;;1953:1073;;;;:::o;3032:532::-;3133:13;3175:25;3164:36;;;;;;;;:::i;:::-;;:7;:36;;;;;;;;:::i;:::-;;;3160:398;;;3212:46;;;;;;;;;;;;;;;;;;;;;3160:398;3288:27;3277:38;;;;;;;;:::i;:::-;;:7;:38;;;;;;;;:::i;:::-;;;3273:285;;;3327:48;;;;;;;;;;;;;;;;;;;;;3273:285;3405:26;3394:37;;;;;;;;:::i;:::-;;:7;:37;;;;;;;;:::i;:::-;;;3390:168;;;3443:47;;;;;;;;;;;;;;;;;;;;;3390:168;3515:34;;;;;;;;;;;;;;;;;;;3032:532;;;;:::o;4280:177::-;4333:29;4414:27;4401:40;;4280:177;:::o;4033:167::-;4112:23;4158:8;:6;:8::i;:::-;:16;;:26;4175:8;4158:26;;;;;;;;;;;:35;;4151:42;;4033:167;;;:::o;3809:164::-;3887:22;3932:8;:6;:8::i;:::-;:16;;:26;3949:8;3932:26;;;;;;;;;;;:34;;3925:41;;3809:164;;;:::o;298:111:50:-;359:7;385:17;392:9;385:17;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;378:24;;298:111;;;:::o;30525:829:36:-;30723:15;30754:28;30785:8;:6;:8::i;:::-;:16;;:26;30802:8;30785:26;;;;;;;;;;;30754:57;;30821:32;30856:7;:15;;30821:50;;30881:34;30918:7;:16;;30881:53;;31012:10;30989;:20;;:33;;;;31054:9;31032:10;:19;;:31;;;;31095:10;31073;:19;;;:32;;;;;;;;;;;;;;;;;;31138:10;31115;:20;;:33;;;;;;;;;;;;:::i;:::-;;31209:9;:16;;;31199:26;;31332:7;:15;;;31325:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30744:610;;;30525:829;;;;;;:::o;2783:148:37:-;2902:3;2894:21;;:30;2916:7;2894:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2783:148;;:::o;2521:126::-;2601:7;2631:9;2624:16;;2521:126;:::o;2351:128::-;2431:7;2461:11;2454:18;;2351:128;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;24:722:67:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:143;;;404:79;;:::i;:::-;350:143;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;24:722;;;;;:::o;769:744::-;876:5;901:81;917:64;974:6;917:64;:::i;:::-;901:81;:::i;:::-;892:90;;1002:5;1031:6;1024:5;1017:21;1065:4;1058:5;1054:16;1047:23;;1091:6;1141:3;1133:4;1125:6;1121:17;1116:3;1112:27;1109:36;1106:143;;;1160:79;;:::i;:::-;1106:143;1273:1;1258:249;1283:6;1280:1;1277:13;1258:249;;;1351:3;1380:48;1424:3;1412:10;1380:48;:::i;:::-;1375:3;1368:61;1458:4;1453:3;1449:14;1442:21;;1492:4;1487:3;1483:14;1476:21;;1318:189;1305:1;1302;1298:9;1293:14;;1258:249;;;1262:14;882:631;;769:744;;;;;:::o;1535:741::-;1641:5;1666:80;1682:63;1738:6;1682:63;:::i;:::-;1666:80;:::i;:::-;1657:89;;1766:5;1795:6;1788:5;1781:21;1829:4;1822:5;1818:16;1811:23;;1855:6;1905:3;1897:4;1889:6;1885:17;1880:3;1876:27;1873:36;1870:143;;;1924:79;;:::i;:::-;1870:143;2037:1;2022:248;2047:6;2044:1;2041:13;2022:248;;;2115:3;2144:47;2187:3;2175:10;2144:47;:::i;:::-;2139:3;2132:60;2221:4;2216:3;2212:14;2205:21;;2255:4;2250:3;2246:14;2239:21;;2082:188;2069:1;2066;2062:9;2057:14;;2022:248;;;2026:14;1647:629;;1535:741;;;;;:::o;2297:738::-;2402:5;2427:79;2443:62;2498:6;2443:62;:::i;:::-;2427:79;:::i;:::-;2418:88;;2526:5;2555:6;2548:5;2541:21;2589:4;2582:5;2578:16;2571:23;;2615:6;2665:3;2657:4;2649:6;2645:17;2640:3;2636:27;2633:36;2630:143;;;2684:79;;:::i;:::-;2630:143;2797:1;2782:247;2807:6;2804:1;2801:13;2782:247;;;2875:3;2904:46;2946:3;2934:10;2904:46;:::i;:::-;2899:3;2892:59;2980:4;2975:3;2971:14;2964:21;;3014:4;3009:3;3005:14;2998:21;;2842:187;2829:1;2826;2822:9;2817:14;;2782:247;;;2786:14;2408:627;;2297:738;;;;;:::o;3057:972::-;3174:5;3199:91;3215:74;3282:6;3215:74;:::i;:::-;3199:91;:::i;:::-;3190:100;;3310:5;3339:6;3332:5;3325:21;3373:4;3366:5;3362:16;3355:23;;3399:6;3449:3;3441:4;3433:6;3429:17;3424:3;3420:27;3417:36;3414:143;;;3468:79;;:::i;:::-;3414:143;3581:1;3566:457;3591:6;3588:1;3585:13;3566:457;;;3666:3;3660:10;3702:18;3689:11;3686:35;3683:122;;;3724:79;;:::i;:::-;3683:122;3848:11;3840:6;3836:24;3886:58;3940:3;3928:10;3886:58;:::i;:::-;3881:3;3874:71;3974:4;3969:3;3965:14;3958:21;;4008:4;4003:3;3999:14;3992:21;;3626:397;;3613:1;3610;3606:9;3601:14;;3566:457;;;3570:14;3180:849;;3057:972;;;;;:::o;4091:1014::-;4216:5;4241:110;4257:93;4343:6;4257:93;:::i;:::-;4241:110;:::i;:::-;4232:119;;4371:5;4400:6;4393:5;4386:21;4434:4;4427:5;4423:16;4416:23;;4460:6;4510:3;4502:4;4494:6;4490:17;4485:3;4481:27;4478:36;4475:143;;;4529:79;;:::i;:::-;4475:143;4642:1;4627:472;4652:6;4649:1;4646:13;4627:472;;;4734:3;4721:17;4770:18;4757:11;4754:35;4751:122;;;4792:79;;:::i;:::-;4751:122;4916:11;4908:6;4904:24;4954:66;5016:3;5004:10;4954:66;:::i;:::-;4949:3;4942:79;5050:4;5045:3;5041:14;5034:21;;5084:4;5079:3;5075:14;5068:21;;4687:412;;4674:1;4671;4667:9;4662:14;;4627:472;;;4631:14;4222:883;;4091:1014;;;;;:::o;5127:741::-;5233:5;5258:80;5274:63;5330:6;5274:63;:::i;:::-;5258:80;:::i;:::-;5249:89;;5358:5;5387:6;5380:5;5373:21;5421:4;5414:5;5410:16;5403:23;;5447:6;5497:3;5489:4;5481:6;5477:17;5472:3;5468:27;5465:36;5462:143;;;5516:79;;:::i;:::-;5462:143;5629:1;5614:248;5639:6;5636:1;5633:13;5614:248;;;5707:3;5736:47;5779:3;5767:10;5736:47;:::i;:::-;5731:3;5724:60;5813:4;5808:3;5804:14;5797:21;;5847:4;5842:3;5838:14;5831:21;;5674:188;5661:1;5658;5654:9;5649:14;;5614:248;;;5618:14;5239:629;;5127:741;;;;;:::o;5874:410::-;5951:5;5976:65;5992:48;6033:6;5992:48;:::i;:::-;5976:65;:::i;:::-;5967:74;;6064:6;6057:5;6050:21;6102:4;6095:5;6091:16;6140:3;6131:6;6126:3;6122:16;6119:25;6116:112;;;6147:79;;:::i;:::-;6116:112;6237:41;6271:6;6266:3;6261;6237:41;:::i;:::-;5957:327;5874:410;;;;;:::o;6290:419::-;6378:5;6403:65;6419:48;6460:6;6419:48;:::i;:::-;6403:65;:::i;:::-;6394:74;;6491:6;6484:5;6477:21;6529:4;6522:5;6518:16;6567:3;6558:6;6553:3;6549:16;6546:25;6543:112;;;6574:79;;:::i;:::-;6543:112;6664:39;6696:6;6691:3;6686;6664:39;:::i;:::-;6384:325;6290:419;;;;;:::o;6715:421::-;6804:5;6829:66;6845:49;6887:6;6845:49;:::i;:::-;6829:66;:::i;:::-;6820:75;;6918:6;6911:5;6904:21;6956:4;6949:5;6945:16;6994:3;6985:6;6980:3;6976:16;6973:25;6970:112;;;7001:79;;:::i;:::-;6970:112;7091:39;7123:6;7118:3;7113;7091:39;:::i;:::-;6810:326;6715:421;;;;;:::o;7142:139::-;7188:5;7226:6;7213:20;7204:29;;7242:33;7269:5;7242:33;:::i;:::-;7142:139;;;;:::o;7287:143::-;7344:5;7375:6;7369:13;7360:22;;7391:33;7418:5;7391:33;:::i;:::-;7287:143;;;;:::o;7453:370::-;7524:5;7573:3;7566:4;7558:6;7554:17;7550:27;7540:122;;7581:79;;:::i;:::-;7540:122;7698:6;7685:20;7723:94;7813:3;7805:6;7798:4;7790:6;7786:17;7723:94;:::i;:::-;7714:103;;7530:293;7453:370;;;;:::o;7846:385::-;7928:5;7977:3;7970:4;7962:6;7958:17;7954:27;7944:122;;7985:79;;:::i;:::-;7944:122;8095:6;8089:13;8120:105;8221:3;8213:6;8206:4;8198:6;8194:17;8120:105;:::i;:::-;8111:114;;7934:297;7846:385;;;;:::o;8253:383::-;8334:5;8383:3;8376:4;8368:6;8364:17;8360:27;8350:122;;8391:79;;:::i;:::-;8350:122;8501:6;8495:13;8526:104;8626:3;8618:6;8611:4;8603:6;8599:17;8526:104;:::i;:::-;8517:113;;8340:296;8253:383;;;;:::o;8657:381::-;8737:5;8786:3;8779:4;8771:6;8767:17;8763:27;8753:122;;8794:79;;:::i;:::-;8753:122;8904:6;8898:13;8929:103;9028:3;9020:6;9013:4;9005:6;9001:17;8929:103;:::i;:::-;8920:112;;8743:295;8657:381;;;;:::o;9060:405::-;9152:5;9201:3;9194:4;9186:6;9182:17;9178:27;9168:122;;9209:79;;:::i;:::-;9168:122;9319:6;9313:13;9344:115;9455:3;9447:6;9440:4;9432:6;9428:17;9344:115;:::i;:::-;9335:124;;9158:307;9060:405;;;;:::o;9527:428::-;9627:5;9676:3;9669:4;9661:6;9657:17;9653:27;9643:122;;9684:79;;:::i;:::-;9643:122;9801:6;9788:20;9826:123;9945:3;9937:6;9930:4;9922:6;9918:17;9826:123;:::i;:::-;9817:132;;9633:322;9527:428;;;;:::o;9977:383::-;10058:5;10107:3;10100:4;10092:6;10088:17;10084:27;10074:122;;10115:79;;:::i;:::-;10074:122;10225:6;10219:13;10250:104;10350:3;10342:6;10335:4;10327:6;10323:17;10250:104;:::i;:::-;10241:113;;10064:296;9977:383;;;;:::o;10366:133::-;10409:5;10447:6;10434:20;10425:29;;10463:30;10487:5;10463:30;:::i;:::-;10366:133;;;;:::o;10505:137::-;10559:5;10590:6;10584:13;10575:22;;10606:30;10630:5;10606:30;:::i;:::-;10505:137;;;;:::o;10648:139::-;10694:5;10732:6;10719:20;10710:29;;10748:33;10775:5;10748:33;:::i;:::-;10648:139;;;;:::o;10793:143::-;10850:5;10881:6;10875:13;10866:22;;10897:33;10924:5;10897:33;:::i;:::-;10793:143;;;;:::o;10955:552::-;11012:8;11022:6;11072:3;11065:4;11057:6;11053:17;11049:27;11039:122;;11080:79;;:::i;:::-;11039:122;11193:6;11180:20;11170:30;;11223:18;11215:6;11212:30;11209:117;;;11245:79;;:::i;:::-;11209:117;11359:4;11351:6;11347:17;11335:29;;11413:3;11405:4;11397:6;11393:17;11383:8;11379:32;11376:41;11373:128;;;11420:79;;:::i;:::-;11373:128;10955:552;;;;;:::o;11526:338::-;11581:5;11630:3;11623:4;11615:6;11611:17;11607:27;11597:122;;11638:79;;:::i;:::-;11597:122;11755:6;11742:20;11780:78;11854:3;11846:6;11839:4;11831:6;11827:17;11780:78;:::i;:::-;11771:87;;11587:277;11526:338;;;;:::o;11883:353::-;11949:5;11998:3;11991:4;11983:6;11979:17;11975:27;11965:122;;12006:79;;:::i;:::-;11965:122;12116:6;12110:13;12141:89;12226:3;12218:6;12211:4;12203:6;12199:17;12141:89;:::i;:::-;12132:98;;11955:281;11883:353;;;;:::o;12242:185::-;12311:5;12349:6;12336:20;12327:29;;12365:56;12415:5;12365:56;:::i;:::-;12242:185;;;;:::o;12433:173::-;12505:5;12536:6;12530:13;12521:22;;12552:48;12594:5;12552:48;:::i;:::-;12433:173;;;;:::o;12612:141::-;12668:5;12699:6;12693:13;12684:22;;12715:32;12741:5;12715:32;:::i;:::-;12612:141;;;;:::o;12759:139::-;12814:5;12845:6;12839:13;12830:22;;12861:31;12886:5;12861:31;:::i;:::-;12759:139;;;;:::o;12918:355::-;12985:5;13034:3;13027:4;13019:6;13015:17;13011:27;13001:122;;13042:79;;:::i;:::-;13001:122;13152:6;13146:13;13177:90;13263:3;13255:6;13248:4;13240:6;13236:17;13177:90;:::i;:::-;13168:99;;12991:282;12918:355;;;;:::o;13333:1086::-;13411:5;13455:4;13443:9;13438:3;13434:19;13430:30;13427:117;;;13463:79;;:::i;:::-;13427:117;13562:21;13578:4;13562:21;:::i;:::-;13553:30;;13645:1;13685:49;13730:3;13721:6;13710:9;13706:22;13685:49;:::i;:::-;13678:4;13671:5;13667:16;13660:75;13593:153;13810:2;13851:49;13896:3;13887:6;13876:9;13872:22;13851:49;:::i;:::-;13844:4;13837:5;13833:16;13826:75;13756:156;13975:2;14016:49;14061:3;14052:6;14041:9;14037:22;14016:49;:::i;:::-;14009:4;14002:5;13998:16;13991:75;13922:155;14169:2;14158:9;14154:18;14141:32;14200:18;14192:6;14189:30;14186:117;;;14222:79;;:::i;:::-;14186:117;14342:58;14396:3;14387:6;14376:9;14372:22;14342:58;:::i;:::-;14335:4;14328:5;14324:16;14317:84;14087:325;13333:1086;;;;:::o;14453:743::-;14526:5;14570:4;14558:9;14553:3;14549:19;14545:30;14542:117;;;14578:79;;:::i;:::-;14542:117;14677:21;14693:4;14677:21;:::i;:::-;14668:30;;14785:1;14774:9;14770:17;14757:31;14815:18;14807:6;14804:30;14801:117;;;14837:79;;:::i;:::-;14801:117;14957:58;15011:3;15002:6;14991:9;14987:22;14957:58;:::i;:::-;14950:4;14943:5;14939:16;14932:84;14708:319;15088:2;15129:48;15173:3;15164:6;15153:9;15149:22;15129:48;:::i;:::-;15122:4;15115:5;15111:16;15104:74;15037:152;14453:743;;;;:::o;15230:769::-;15314:5;15358:4;15346:9;15341:3;15337:19;15333:30;15330:117;;;15366:79;;:::i;:::-;15330:117;15465:21;15481:4;15465:21;:::i;:::-;15456:30;;15566:1;15555:9;15551:17;15545:24;15596:18;15588:6;15585:30;15582:117;;;15618:79;;:::i;:::-;15582:117;15738:69;15803:3;15794:6;15783:9;15779:22;15738:69;:::i;:::-;15731:4;15724:5;15720:16;15713:95;15496:323;15880:2;15921:59;15976:3;15967:6;15956:9;15952:22;15921:59;:::i;:::-;15914:4;15907:5;15903:16;15896:85;15829:163;15230:769;;;;:::o;16031:1422::-;16102:5;16146:4;16134:9;16129:3;16125:19;16121:30;16118:117;;;16154:79;;:::i;:::-;16118:117;16253:21;16269:4;16253:21;:::i;:::-;16244:30;;16363:1;16352:9;16348:17;16335:31;16393:18;16385:6;16382:30;16379:117;;;16415:79;;:::i;:::-;16379:117;16535:73;16604:3;16595:6;16584:9;16580:22;16535:73;:::i;:::-;16528:4;16521:5;16517:16;16510:99;16284:336;16686:2;16727:47;16770:3;16761:6;16750:9;16746:22;16727:47;:::i;:::-;16720:4;16713:5;16709:16;16702:73;16630:156;16850:2;16891:47;16934:3;16925:6;16914:9;16910:22;16891:47;:::i;:::-;16884:4;16877:5;16873:16;16866:73;16796:154;17026:2;17067:47;17110:3;17101:6;17090:9;17086:22;17067:47;:::i;:::-;17060:4;17053:5;17049:16;17042:73;16960:166;17184:3;17226:48;17270:3;17261:6;17250:9;17246:22;17226:48;:::i;:::-;17219:4;17212:5;17208:16;17201:74;17136:150;17344:3;17386:48;17430:3;17421:6;17410:9;17406:22;17386:48;:::i;:::-;17379:4;17372:5;17368:16;17361:74;17296:150;16031:1422;;;;:::o;17485:1492::-;17567:5;17611:4;17599:9;17594:3;17590:19;17586:30;17583:117;;;17619:79;;:::i;:::-;17583:117;17718:21;17734:4;17718:21;:::i;:::-;17709:30;;17821:1;17810:9;17806:17;17800:24;17851:18;17843:6;17840:30;17837:117;;;17873:79;;:::i;:::-;17837:117;17993:84;18073:3;18064:6;18053:9;18049:22;17993:84;:::i;:::-;17986:4;17979:5;17975:16;17968:110;17749:340;18155:2;18196:58;18250:3;18241:6;18230:9;18226:22;18196:58;:::i;:::-;18189:4;18182:5;18178:16;18171:84;18099:167;18330:2;18371:58;18425:3;18416:6;18405:9;18401:22;18371:58;:::i;:::-;18364:4;18357:5;18353:16;18346:84;18276:165;18517:2;18558:58;18612:3;18603:6;18592:9;18588:22;18558:58;:::i;:::-;18551:4;18544:5;18540:16;18533:84;18451:177;18686:3;18728:59;18783:3;18774:6;18763:9;18759:22;18728:59;:::i;:::-;18721:4;18714:5;18710:16;18703:85;18638:161;18857:3;18899:59;18954:3;18945:6;18934:9;18930:22;18899:59;:::i;:::-;18892:4;18885:5;18881:16;18874:85;18809:161;17485:1492;;;;:::o;19011:756::-;19084:5;19128:4;19116:9;19111:3;19107:19;19103:30;19100:117;;;19136:79;;:::i;:::-;19100:117;19235:21;19251:4;19235:21;:::i;:::-;19226:30;;19318:1;19358:46;19400:3;19391:6;19380:9;19376:22;19358:46;:::i;:::-;19351:4;19344:5;19340:16;19333:72;19266:150;19504:2;19493:9;19489:18;19476:32;19535:18;19527:6;19524:30;19521:117;;;19557:79;;:::i;:::-;19521:117;19677:71;19744:3;19735:6;19724:9;19720:22;19677:71;:::i;:::-;19670:4;19663:5;19659:16;19652:97;19426:334;19011:756;;;;:::o;19801:782::-;19885:5;19929:4;19917:9;19912:3;19908:19;19904:30;19901:117;;;19937:79;;:::i;:::-;19901:117;20036:21;20052:4;20036:21;:::i;:::-;20027:30;;20119:1;20159:57;20212:3;20203:6;20192:9;20188:22;20159:57;:::i;:::-;20152:4;20145:5;20141:16;20134:83;20067:161;20309:2;20298:9;20294:18;20288:25;20340:18;20332:6;20329:30;20326:117;;;20362:79;;:::i;:::-;20326:117;20482:82;20560:3;20551:6;20540:9;20536:22;20482:82;:::i;:::-;20475:4;20468:5;20464:16;20457:108;20238:338;19801:782;;;;:::o;20589:139::-;20635:5;20673:6;20660:20;20651:29;;20689:33;20716:5;20689:33;:::i;:::-;20589:139;;;;:::o;20734:137::-;20779:5;20817:6;20804:20;20795:29;;20833:32;20859:5;20833:32;:::i;:::-;20734:137;;;;:::o;20877:141::-;20933:5;20964:6;20958:13;20949:22;;20980:32;21006:5;20980:32;:::i;:::-;20877:141;;;;:::o;21024:137::-;21069:5;21107:6;21094:20;21085:29;;21123:32;21149:5;21123:32;:::i;:::-;21024:137;;;;:::o;21167:141::-;21223:5;21254:6;21248:13;21239:22;;21270:32;21296:5;21270:32;:::i;:::-;21167:141;;;;:::o;21314:135::-;21358:5;21396:6;21383:20;21374:29;;21412:31;21437:5;21412:31;:::i;:::-;21314:135;;;;:::o;21455:139::-;21510:5;21541:6;21535:13;21526:22;;21557:31;21582:5;21557:31;:::i;:::-;21455:139;;;;:::o;21600:329::-;21659:6;21708:2;21696:9;21687:7;21683:23;21679:32;21676:119;;;21714:79;;:::i;:::-;21676:119;21834:1;21859:53;21904:7;21895:6;21884:9;21880:22;21859:53;:::i;:::-;21849:63;;21805:117;21600:329;;;;:::o;21935:539::-;22019:6;22068:2;22056:9;22047:7;22043:23;22039:32;22036:119;;;22074:79;;:::i;:::-;22036:119;22222:1;22211:9;22207:17;22194:31;22252:18;22244:6;22241:30;22238:117;;;22274:79;;:::i;:::-;22238:117;22379:78;22449:7;22440:6;22429:9;22425:22;22379:78;:::i;:::-;22369:88;;22165:302;21935:539;;;;:::o;22480:554::-;22575:6;22624:2;22612:9;22603:7;22599:23;22595:32;22592:119;;;22630:79;;:::i;:::-;22592:119;22771:1;22760:9;22756:17;22750:24;22801:18;22793:6;22790:30;22787:117;;;22823:79;;:::i;:::-;22787:117;22928:89;23009:7;23000:6;22989:9;22985:22;22928:89;:::i;:::-;22918:99;;22721:306;22480:554;;;;:::o;23040:552::-;23134:6;23183:2;23171:9;23162:7;23158:23;23154:32;23151:119;;;23189:79;;:::i;:::-;23151:119;23330:1;23319:9;23315:17;23309:24;23360:18;23352:6;23349:30;23346:117;;;23382:79;;:::i;:::-;23346:117;23487:88;23567:7;23558:6;23547:9;23543:22;23487:88;:::i;:::-;23477:98;;23280:305;23040:552;;;;:::o;23598:550::-;23691:6;23740:2;23728:9;23719:7;23715:23;23711:32;23708:119;;;23746:79;;:::i;:::-;23708:119;23887:1;23876:9;23872:17;23866:24;23917:18;23909:6;23906:30;23903:117;;;23939:79;;:::i;:::-;23903:117;24044:87;24123:7;24114:6;24103:9;24099:22;24044:87;:::i;:::-;24034:97;;23837:304;23598:550;;;;:::o;24154:574::-;24259:6;24308:2;24296:9;24287:7;24283:23;24279:32;24276:119;;;24314:79;;:::i;:::-;24276:119;24455:1;24444:9;24440:17;24434:24;24485:18;24477:6;24474:30;24471:117;;;24507:79;;:::i;:::-;24471:117;24612:99;24703:7;24694:6;24683:9;24679:22;24612:99;:::i;:::-;24602:109;;24405:316;24154:574;;;;:::o;24734:736::-;24853:6;24861;24910:2;24898:9;24889:7;24885:23;24881:32;24878:119;;;24916:79;;:::i;:::-;24878:119;25064:1;25053:9;25049:17;25036:31;25094:18;25086:6;25083:30;25080:117;;;25116:79;;:::i;:::-;25080:117;25221:107;25320:7;25311:6;25300:9;25296:22;25221:107;:::i;:::-;25211:117;;25007:331;25377:2;25403:50;25445:7;25436:6;25425:9;25421:22;25403:50;:::i;:::-;25393:60;;25348:115;24734:736;;;;;:::o;25476:552::-;25570:6;25619:2;25607:9;25598:7;25594:23;25590:32;25587:119;;;25625:79;;:::i;:::-;25587:119;25766:1;25755:9;25751:17;25745:24;25796:18;25788:6;25785:30;25782:117;;;25818:79;;:::i;:::-;25782:117;25923:88;26003:7;25994:6;25983:9;25979:22;25923:88;:::i;:::-;25913:98;;25716:305;25476:552;;;;:::o;26034:345::-;26101:6;26150:2;26138:9;26129:7;26125:23;26121:32;26118:119;;;26156:79;;:::i;:::-;26118:119;26276:1;26301:61;26354:7;26345:6;26334:9;26330:22;26301:61;:::i;:::-;26291:71;;26247:125;26034:345;;;;:::o;26385:351::-;26455:6;26504:2;26492:9;26483:7;26479:23;26475:32;26472:119;;;26510:79;;:::i;:::-;26472:119;26630:1;26655:64;26711:7;26702:6;26691:9;26687:22;26655:64;:::i;:::-;26645:74;;26601:128;26385:351;;;;:::o;26742:507::-;26810:6;26859:2;26847:9;26838:7;26834:23;26830:32;26827:119;;;26865:79;;:::i;:::-;26827:119;27013:1;27002:9;26998:17;26985:31;27043:18;27035:6;27032:30;27029:117;;;27065:79;;:::i;:::-;27029:117;27170:62;27224:7;27215:6;27204:9;27200:22;27170:62;:::i;:::-;27160:72;;26956:286;26742:507;;;;:::o;27255:522::-;27334:6;27383:2;27371:9;27362:7;27358:23;27354:32;27351:119;;;27389:79;;:::i;:::-;27351:119;27530:1;27519:9;27515:17;27509:24;27560:18;27552:6;27549:30;27546:117;;;27582:79;;:::i;:::-;27546:117;27687:73;27752:7;27743:6;27732:9;27728:22;27687:73;:::i;:::-;27677:83;;27480:290;27255:522;;;;:::o;27783:375::-;27865:6;27914:2;27902:9;27893:7;27889:23;27885:32;27882:119;;;27920:79;;:::i;:::-;27882:119;28040:1;28065:76;28133:7;28124:6;28113:9;28109:22;28065:76;:::i;:::-;28055:86;;28011:140;27783:375;;;;:::o;28164:381::-;28249:6;28298:2;28286:9;28277:7;28273:23;28269:32;28266:119;;;28304:79;;:::i;:::-;28266:119;28424:1;28449:79;28520:7;28511:6;28500:9;28496:22;28449:79;:::i;:::-;28439:89;;28395:143;28164:381;;;;:::o;28551:710::-;28655:6;28663;28712:2;28700:9;28691:7;28687:23;28683:32;28680:119;;;28718:79;;:::i;:::-;28680:119;28838:1;28863:79;28934:7;28925:6;28914:9;28910:22;28863:79;:::i;:::-;28853:89;;28809:143;29012:2;29001:9;28997:18;28991:25;29043:18;29035:6;29032:30;29029:117;;;29065:79;;:::i;:::-;29029:117;29170:74;29236:7;29227:6;29216:9;29212:22;29170:74;:::i;:::-;29160:84;;28962:292;28551:710;;;;;:::o;29267:349::-;29336:6;29385:2;29373:9;29364:7;29360:23;29356:32;29353:119;;;29391:79;;:::i;:::-;29353:119;29511:1;29536:63;29591:7;29582:6;29571:9;29567:22;29536:63;:::i;:::-;29526:73;;29482:127;29267:349;;;;:::o;29622:347::-;29690:6;29739:2;29727:9;29718:7;29714:23;29710:32;29707:119;;;29745:79;;:::i;:::-;29707:119;29865:1;29890:62;29944:7;29935:6;29924:9;29920:22;29890:62;:::i;:::-;29880:72;;29836:126;29622:347;;;;:::o;29975:524::-;30055:6;30104:2;30092:9;30083:7;30079:23;30075:32;30072:119;;;30110:79;;:::i;:::-;30072:119;30251:1;30240:9;30236:17;30230:24;30281:18;30273:6;30270:30;30267:117;;;30303:79;;:::i;:::-;30267:117;30408:74;30474:7;30465:6;30454:9;30450:22;30408:74;:::i;:::-;30398:84;;30201:291;29975:524;;;;:::o;30505:533::-;30586:6;30635:2;30623:9;30614:7;30610:23;30606:32;30603:119;;;30641:79;;:::i;:::-;30603:119;30789:1;30778:9;30774:17;30761:31;30819:18;30811:6;30808:30;30805:117;;;30841:79;;:::i;:::-;30805:117;30946:75;31013:7;31004:6;30993:9;30989:22;30946:75;:::i;:::-;30936:85;;30732:299;30505:533;;;;:::o;31044:537::-;31127:6;31176:2;31164:9;31155:7;31151:23;31147:32;31144:119;;;31182:79;;:::i;:::-;31144:119;31330:1;31319:9;31315:17;31302:31;31360:18;31352:6;31349:30;31346:117;;;31382:79;;:::i;:::-;31346:117;31487:77;31556:7;31547:6;31536:9;31532:22;31487:77;:::i;:::-;31477:87;;31273:301;31044:537;;;;:::o;31587:552::-;31681:6;31730:2;31718:9;31709:7;31705:23;31701:32;31698:119;;;31736:79;;:::i;:::-;31698:119;31877:1;31866:9;31862:17;31856:24;31907:18;31899:6;31896:30;31893:117;;;31929:79;;:::i;:::-;31893:117;32034:88;32114:7;32105:6;32094:9;32090:22;32034:88;:::i;:::-;32024:98;;31827:305;31587:552;;;;:::o;32145:329::-;32204:6;32253:2;32241:9;32232:7;32228:23;32224:32;32221:119;;;32259:79;;:::i;:::-;32221:119;32379:1;32404:53;32449:7;32440:6;32429:9;32425:22;32404:53;:::i;:::-;32394:63;;32350:117;32145:329;;;;:::o;32480:817::-;32568:6;32576;32584;32592;32641:2;32629:9;32620:7;32616:23;32612:32;32609:119;;;32647:79;;:::i;:::-;32609:119;32767:1;32792:53;32837:7;32828:6;32817:9;32813:22;32792:53;:::i;:::-;32782:63;;32738:117;32894:2;32920:53;32965:7;32956:6;32945:9;32941:22;32920:53;:::i;:::-;32910:63;;32865:118;33050:2;33039:9;33035:18;33022:32;33081:18;33073:6;33070:30;33067:117;;;33103:79;;:::i;:::-;33067:117;33216:64;33272:7;33263:6;33252:9;33248:22;33216:64;:::i;:::-;33198:82;;;;32993:297;32480:817;;;;;;;:::o;33303:963::-;33400:6;33408;33416;33424;33432;33481:3;33469:9;33460:7;33456:23;33452:33;33449:120;;;33488:79;;:::i;:::-;33449:120;33608:1;33633:53;33678:7;33669:6;33658:9;33654:22;33633:53;:::i;:::-;33623:63;;33579:117;33735:2;33761:53;33806:7;33797:6;33786:9;33782:22;33761:53;:::i;:::-;33751:63;;33706:118;33863:2;33889:53;33934:7;33925:6;33914:9;33910:22;33889:53;:::i;:::-;33879:63;;33834:118;34019:2;34008:9;34004:18;33991:32;34050:18;34042:6;34039:30;34036:117;;;34072:79;;:::i;:::-;34036:117;34185:64;34241:7;34232:6;34221:9;34217:22;34185:64;:::i;:::-;34167:82;;;;33962:297;33303:963;;;;;;;;:::o;34272:349::-;34341:6;34390:2;34378:9;34369:7;34365:23;34361:32;34358:119;;;34396:79;;:::i;:::-;34358:119;34516:1;34541:63;34596:7;34587:6;34576:9;34572:22;34541:63;:::i;:::-;34531:73;;34487:127;34272:349;;;;:::o;34627:179::-;34696:10;34717:46;34759:3;34751:6;34717:46;:::i;:::-;34795:4;34790:3;34786:14;34772:28;;34627:179;;;;:::o;34812:175::-;34879:10;34900:44;34940:3;34932:6;34900:44;:::i;:::-;34976:4;34971:3;34967:14;34953:28;;34812:175;;;;:::o;34993:171::-;35058:10;35079:42;35117:3;35109:6;35079:42;:::i;:::-;35153:4;35148:3;35144:14;35130:28;;34993:171;;;;:::o;35170:196::-;35259:10;35294:66;35356:3;35348:6;35294:66;:::i;:::-;35280:80;;35170:196;;;;:::o;35372:175::-;35439:10;35460:44;35500:3;35492:6;35460:44;:::i;:::-;35536:4;35531:3;35527:14;35513:28;;35372:175;;;;:::o;35553:108::-;35630:24;35648:5;35630:24;:::i;:::-;35625:3;35618:37;35553:108;;:::o;35667:118::-;35754:24;35772:5;35754:24;:::i;:::-;35749:3;35742:37;35667:118;;:::o;35821:732::-;35940:3;35969:54;36017:5;35969:54;:::i;:::-;36039:86;36118:6;36113:3;36039:86;:::i;:::-;36032:93;;36149:56;36199:5;36149:56;:::i;:::-;36228:7;36259:1;36244:284;36269:6;36266:1;36263:13;36244:284;;;36345:6;36339:13;36372:63;36431:3;36416:13;36372:63;:::i;:::-;36365:70;;36458:60;36511:6;36458:60;:::i;:::-;36448:70;;36304:224;36291:1;36288;36284:9;36279:14;;36244:284;;;36248:14;36544:3;36537:10;;35945:608;;;35821:732;;;;:::o;36587:724::-;36704:3;36733:53;36780:5;36733:53;:::i;:::-;36802:85;36880:6;36875:3;36802:85;:::i;:::-;36795:92;;36911:55;36960:5;36911:55;:::i;:::-;36989:7;37020:1;37005:281;37030:6;37027:1;37024:13;37005:281;;;37106:6;37100:13;37133:61;37190:3;37175:13;37133:61;:::i;:::-;37126:68;;37217:59;37269:6;37217:59;:::i;:::-;37207:69;;37065:221;37052:1;37049;37045:9;37040:14;;37005:281;;;37009:14;37302:3;37295:10;;36709:602;;;36587:724;;;;:::o;37343:716::-;37458:3;37487:52;37533:5;37487:52;:::i;:::-;37555:84;37632:6;37627:3;37555:84;:::i;:::-;37548:91;;37663:54;37711:5;37663:54;:::i;:::-;37740:7;37771:1;37756:278;37781:6;37778:1;37775:13;37756:278;;;37857:6;37851:13;37884:59;37939:3;37924:13;37884:59;:::i;:::-;37877:66;;37966:58;38017:6;37966:58;:::i;:::-;37956:68;;37816:218;37803:1;37800;37796:9;37791:14;;37756:278;;;37760:14;38050:3;38043:10;;37463:596;;;37343:716;;;;:::o;38093:991::-;38232:3;38261:64;38319:5;38261:64;:::i;:::-;38341:96;38430:6;38425:3;38341:96;:::i;:::-;38334:103;;38463:3;38508:4;38500:6;38496:17;38491:3;38487:27;38538:66;38598:5;38538:66;:::i;:::-;38627:7;38658:1;38643:396;38668:6;38665:1;38662:13;38643:396;;;38739:9;38733:4;38729:20;38724:3;38717:33;38790:6;38784:13;38818:84;38897:4;38882:13;38818:84;:::i;:::-;38810:92;;38925:70;38988:6;38925:70;:::i;:::-;38915:80;;39024:4;39019:3;39015:14;39008:21;;38703:336;38690:1;38687;38683:9;38678:14;;38643:396;;;38647:14;39055:4;39048:11;;39075:3;39068:10;;38237:847;;;;;38093:991;;;;:::o;39118:724::-;39235:3;39264:53;39311:5;39264:53;:::i;:::-;39333:85;39411:6;39406:3;39333:85;:::i;:::-;39326:92;;39442:55;39491:5;39442:55;:::i;:::-;39520:7;39551:1;39536:281;39561:6;39558:1;39555:13;39536:281;;;39637:6;39631:13;39664:61;39721:3;39706:13;39664:61;:::i;:::-;39657:68;;39748:59;39800:6;39748:59;:::i;:::-;39738:69;;39596:221;39583:1;39580;39576:9;39571:14;;39536:281;;;39540:14;39833:3;39826:10;;39240:602;;;39118:724;;;;:::o;39848:99::-;39919:21;39934:5;39919:21;:::i;:::-;39914:3;39907:34;39848:99;;:::o;39953:109::-;40034:21;40049:5;40034:21;:::i;:::-;40029:3;40022:34;39953:109;;:::o;40068:107::-;40147:21;40162:5;40147:21;:::i;:::-;40142:3;40135:34;40068:107;;:::o;40181:108::-;40258:24;40276:5;40258:24;:::i;:::-;40253:3;40246:37;40181:108;;:::o;40295:118::-;40382:24;40400:5;40382:24;:::i;:::-;40377:3;40370:37;40295:118;;:::o;40419:340::-;40495:3;40523:38;40555:5;40523:38;:::i;:::-;40577:60;40630:6;40625:3;40577:60;:::i;:::-;40570:67;;40646:52;40691:6;40686:3;40679:4;40672:5;40668:16;40646:52;:::i;:::-;40723:29;40745:6;40723:29;:::i;:::-;40718:3;40714:39;40707:46;;40499:260;40419:340;;;;:::o;40765:360::-;40851:3;40879:38;40911:5;40879:38;:::i;:::-;40933:70;40996:6;40991:3;40933:70;:::i;:::-;40926:77;;41012:52;41057:6;41052:3;41045:4;41038:5;41034:16;41012:52;:::i;:::-;41089:29;41111:6;41089:29;:::i;:::-;41084:3;41080:39;41073:46;;40855:270;40765:360;;;;:::o;41131:376::-;41225:3;41253:38;41285:5;41253:38;:::i;:::-;41307:78;41378:6;41373:3;41307:78;:::i;:::-;41300:85;;41394:52;41439:6;41434:3;41427:4;41420:5;41416:16;41394:52;:::i;:::-;41471:29;41493:6;41471:29;:::i;:::-;41466:3;41462:39;41455:46;;41229:278;41131:376;;;;:::o;41513:356::-;41597:3;41625:38;41657:5;41625:38;:::i;:::-;41679:68;41740:6;41735:3;41679:68;:::i;:::-;41672:75;;41756:52;41801:6;41796:3;41789:4;41782:5;41778:16;41756:52;:::i;:::-;41833:29;41855:6;41833:29;:::i;:::-;41828:3;41824:39;41817:46;;41601:268;41513:356;;;;:::o;41875:373::-;41979:3;42007:38;42039:5;42007:38;:::i;:::-;42061:88;42142:6;42137:3;42061:88;:::i;:::-;42054:95;;42158:52;42203:6;42198:3;42191:4;42184:5;42180:16;42158:52;:::i;:::-;42235:6;42230:3;42226:16;42219:23;;41983:265;41875:373;;;;:::o;42276:814::-;42367:3;42404:5;42398:12;42433:36;42459:9;42433:36;:::i;:::-;42485:78;42556:6;42551:3;42485:78;:::i;:::-;42478:85;;42594:1;42583:9;42579:17;42610:1;42605:135;;;;42754:1;42749:335;;;;42572:512;;42605:135;42689:4;42685:9;42674;42670:25;42665:3;42658:38;42725:4;42720:3;42716:14;42709:21;;42605:135;;42749:335;42816:37;42847:5;42816:37;:::i;:::-;42875:1;42889:154;42903:6;42900:1;42897:13;42889:154;;;42977:7;42971:14;42967:1;42962:3;42958:11;42951:35;43027:1;43018:7;43014:15;43003:26;;42925:4;42922:1;42918:12;42913:17;;42889:154;;;43072:1;43067:3;43063:11;43056:18;;42756:328;;42572:512;;42371:719;;42276:814;;;;:::o;43096:161::-;43198:52;43244:5;43198:52;:::i;:::-;43193:3;43186:65;43096:161;;:::o;43263:167::-;43363:60;43417:5;43363:60;:::i;:::-;43358:3;43351:73;43263:167;;:::o;43436:157::-;43536:50;43580:5;43536:50;:::i;:::-;43531:3;43524:63;43436:157;;:::o;43599:159::-;43700:51;43745:5;43700:51;:::i;:::-;43695:3;43688:64;43599:159;;:::o;43764:105::-;43839:23;43856:5;43839:23;:::i;:::-;43834:3;43827:36;43764:105;;:::o;43875:115::-;43960:23;43977:5;43960:23;:::i;:::-;43955:3;43948:36;43875:115;;:::o;43996:102::-;44069:22;44085:5;44069:22;:::i;:::-;44064:3;44057:35;43996:102;;:::o;44104:112::-;44187:22;44203:5;44187:22;:::i;:::-;44182:3;44175:35;44104:112;;:::o;44222:344::-;44300:3;44328:39;44361:5;44328:39;:::i;:::-;44383:61;44437:6;44432:3;44383:61;:::i;:::-;44376:68;;44453:52;44498:6;44493:3;44486:4;44479:5;44475:16;44453:52;:::i;:::-;44530:29;44552:6;44530:29;:::i;:::-;44525:3;44521:39;44514:46;;44304:262;44222:344;;;;:::o;44572:364::-;44660:3;44688:39;44721:5;44688:39;:::i;:::-;44743:71;44807:6;44802:3;44743:71;:::i;:::-;44736:78;;44823:52;44868:6;44863:3;44856:4;44849:5;44845:16;44823:52;:::i;:::-;44900:29;44922:6;44900:29;:::i;:::-;44895:3;44891:39;44884:46;;44664:272;44572:364;;;;:::o;44942:366::-;45084:3;45105:67;45169:2;45164:3;45105:67;:::i;:::-;45098:74;;45181:93;45270:3;45181:93;:::i;:::-;45299:2;45294:3;45290:12;45283:19;;44942:366;;;:::o;45314:::-;45456:3;45477:67;45541:2;45536:3;45477:67;:::i;:::-;45470:74;;45553:93;45642:3;45553:93;:::i;:::-;45671:2;45666:3;45662:12;45655:19;;45314:366;;;:::o;45686:::-;45828:3;45849:67;45913:2;45908:3;45849:67;:::i;:::-;45842:74;;45925:93;46014:3;45925:93;:::i;:::-;46043:2;46038:3;46034:12;46027:19;;45686:366;;;:::o;46058:::-;46200:3;46221:67;46285:2;46280:3;46221:67;:::i;:::-;46214:74;;46297:93;46386:3;46297:93;:::i;:::-;46415:2;46410:3;46406:12;46399:19;;46058:366;;;:::o;46430:::-;46572:3;46593:67;46657:2;46652:3;46593:67;:::i;:::-;46586:74;;46669:93;46758:3;46669:93;:::i;:::-;46787:2;46782:3;46778:12;46771:19;;46430:366;;;:::o;46802:::-;46944:3;46965:67;47029:2;47024:3;46965:67;:::i;:::-;46958:74;;47041:93;47130:3;47041:93;:::i;:::-;47159:2;47154:3;47150:12;47143:19;;46802:366;;;:::o;47174:::-;47316:3;47337:67;47401:2;47396:3;47337:67;:::i;:::-;47330:74;;47413:93;47502:3;47413:93;:::i;:::-;47531:2;47526:3;47522:12;47515:19;;47174:366;;;:::o;47546:::-;47688:3;47709:67;47773:2;47768:3;47709:67;:::i;:::-;47702:74;;47785:93;47874:3;47785:93;:::i;:::-;47903:2;47898:3;47894:12;47887:19;;47546:366;;;:::o;47918:::-;48060:3;48081:67;48145:2;48140:3;48081:67;:::i;:::-;48074:74;;48157:93;48246:3;48157:93;:::i;:::-;48275:2;48270:3;48266:12;48259:19;;47918:366;;;:::o;48290:::-;48432:3;48453:67;48517:2;48512:3;48453:67;:::i;:::-;48446:74;;48529:93;48618:3;48529:93;:::i;:::-;48647:2;48642:3;48638:12;48631:19;;48290:366;;;:::o;48662:::-;48804:3;48825:67;48889:2;48884:3;48825:67;:::i;:::-;48818:74;;48901:93;48990:3;48901:93;:::i;:::-;49019:2;49014:3;49010:12;49003:19;;48662:366;;;:::o;49034:::-;49176:3;49197:67;49261:2;49256:3;49197:67;:::i;:::-;49190:74;;49273:93;49362:3;49273:93;:::i;:::-;49391:2;49386:3;49382:12;49375:19;;49034:366;;;:::o;49406:::-;49548:3;49569:67;49633:2;49628:3;49569:67;:::i;:::-;49562:74;;49645:93;49734:3;49645:93;:::i;:::-;49763:2;49758:3;49754:12;49747:19;;49406:366;;;:::o;49778:::-;49920:3;49941:67;50005:2;50000:3;49941:67;:::i;:::-;49934:74;;50017:93;50106:3;50017:93;:::i;:::-;50135:2;50130:3;50126:12;50119:19;;49778:366;;;:::o;50150:::-;50292:3;50313:67;50377:2;50372:3;50313:67;:::i;:::-;50306:74;;50389:93;50478:3;50389:93;:::i;:::-;50507:2;50502:3;50498:12;50491:19;;50150:366;;;:::o;50522:::-;50664:3;50685:67;50749:2;50744:3;50685:67;:::i;:::-;50678:74;;50761:93;50850:3;50761:93;:::i;:::-;50879:2;50874:3;50870:12;50863:19;;50522:366;;;:::o;50894:::-;51036:3;51057:67;51121:2;51116:3;51057:67;:::i;:::-;51050:74;;51133:93;51222:3;51133:93;:::i;:::-;51251:2;51246:3;51242:12;51235:19;;50894:366;;;:::o;51266:::-;51408:3;51429:67;51493:2;51488:3;51429:67;:::i;:::-;51422:74;;51505:93;51594:3;51505:93;:::i;:::-;51623:2;51618:3;51614:12;51607:19;;51266:366;;;:::o;51638:::-;51780:3;51801:67;51865:2;51860:3;51801:67;:::i;:::-;51794:74;;51877:93;51966:3;51877:93;:::i;:::-;51995:2;51990:3;51986:12;51979:19;;51638:366;;;:::o;52062:592::-;52169:3;52205:4;52200:3;52196:14;52292:4;52285:5;52281:16;52275:23;52345:3;52339:4;52335:14;52328:4;52323:3;52319:14;52312:38;52371:71;52437:4;52423:12;52371:71;:::i;:::-;52363:79;;52220:233;52537:4;52530:5;52526:16;52520:23;52556:61;52611:4;52606:3;52602:14;52588:12;52556:61;:::i;:::-;52463:164;52644:4;52637:11;;52174:480;52062:592;;;;:::o;52712:616::-;52827:3;52863:4;52858:3;52854:14;52950:4;52943:5;52939:16;52933:23;53003:3;52997:4;52993:14;52986:4;52981:3;52977:14;52970:38;53029:79;53103:4;53089:12;53029:79;:::i;:::-;53021:87;;52878:241;53203:4;53196:5;53192:16;53186:23;53222:69;53285:4;53280:3;53276:14;53262:12;53222:69;:::i;:::-;53129:172;53318:4;53311:11;;52832:496;52712:616;;;;:::o;53382:1327::-;53485:3;53521:4;53516:3;53512:14;53610:4;53603:5;53599:16;53593:23;53663:3;53657:4;53653:14;53646:4;53641:3;53637:14;53630:38;53689:101;53785:4;53771:12;53689:101;:::i;:::-;53681:109;;53536:265;53890:4;53883:5;53879:16;53873:23;53909:59;53962:4;53957:3;53953:14;53939:12;53909:59;:::i;:::-;53811:167;54065:4;54058:5;54054:16;54048:23;54084:59;54137:4;54132:3;54128:14;54114:12;54084:59;:::i;:::-;53988:165;54252:4;54245:5;54241:16;54235:23;54271:59;54324:4;54319:3;54315:14;54301:12;54271:59;:::i;:::-;54163:177;54421:4;54414:5;54410:16;54404:23;54440:61;54495:4;54490:3;54486:14;54472:12;54440:61;:::i;:::-;54350:161;54592:4;54585:5;54581:16;54575:23;54611:61;54666:4;54661:3;54657:14;54643:12;54611:61;:::i;:::-;54521:161;54699:4;54692:11;;53490:1219;53382:1327;;;;:::o;54763:1393::-;54884:3;54920:4;54915:3;54911:14;55009:4;55002:5;54998:16;54992:23;55062:3;55056:4;55052:14;55045:4;55040:3;55036:14;55029:38;55088:109;55192:4;55178:12;55088:109;:::i;:::-;55080:117;;54935:273;55297:4;55290:5;55286:16;55280:23;55316:67;55377:4;55372:3;55368:14;55354:12;55316:67;:::i;:::-;55218:175;55480:4;55473:5;55469:16;55463:23;55499:67;55560:4;55555:3;55551:14;55537:12;55499:67;:::i;:::-;55403:173;55675:4;55668:5;55664:16;55658:23;55694:67;55755:4;55750:3;55746:14;55732:12;55694:67;:::i;:::-;55586:185;55852:4;55845:5;55841:16;55835:23;55871:69;55934:4;55929:3;55925:14;55911:12;55871:69;:::i;:::-;55781:169;56031:4;56024:5;56020:16;56014:23;56050:69;56113:4;56108:3;56104:14;56090:12;56050:69;:::i;:::-;55960:169;56146:4;56139:11;;54889:1267;54763:1393;;;;:::o;56210:1383::-;56321:3;56357:4;56352:3;56348:14;56446:4;56439:5;56435:16;56429:23;56499:3;56493:4;56489:14;56482:4;56477:3;56473:14;56466:38;56525:109;56629:4;56615:12;56525:109;:::i;:::-;56517:117;;56372:273;56734:4;56727:5;56723:16;56717:23;56753:67;56814:4;56809:3;56805:14;56791:12;56753:67;:::i;:::-;56655:175;56917:4;56910:5;56906:16;56900:23;56936:67;56997:4;56992:3;56988:14;56974:12;56936:67;:::i;:::-;56840:173;57112:4;57105:5;57101:16;57095:23;57131:67;57192:4;57187:3;57183:14;57169:12;57131:67;:::i;:::-;57023:185;57289:4;57282:5;57278:16;57272:23;57308:69;57371:4;57366:3;57362:14;57348:12;57308:69;:::i;:::-;57218:169;57468:4;57461:5;57457:16;57451:23;57487:69;57550:4;57545:3;57541:14;57527:12;57487:69;:::i;:::-;57397:169;57583:4;57576:11;;56326:1267;56210:1383;;;;:::o;57649:865::-;57764:3;57800:4;57795:3;57791:14;57890:4;57883:5;57879:16;57873:23;57909:113;58016:4;58011:3;58007:14;57993:12;57909:113;:::i;:::-;57815:217;58118:4;58111:5;58107:16;58101:23;58171:3;58165:4;58161:14;58154:4;58149:3;58145:14;58138:38;58197:105;58297:4;58283:12;58197:105;:::i;:::-;58189:113;;58042:271;58395:4;58388:5;58384:16;58378:23;58414:63;58471:4;58466:3;58462:14;58448:12;58414:63;:::i;:::-;58323:164;58504:4;58497:11;;57769:745;57649:865;;;;:::o;58574:1053::-;58711:4;58706:3;58702:14;58798:4;58791:5;58787:16;58781:23;58817:86;58897:4;58892:3;58888:14;58874:12;58817:86;:::i;:::-;58726:187;59000:4;58993:5;58989:16;58983:23;59019:63;59076:4;59071:3;59067:14;59053:12;59019:63;:::i;:::-;58923:169;59174:4;59167:5;59163:16;59157:23;59193:63;59250:4;59245:3;59241:14;59227:12;59193:63;:::i;:::-;59102:164;59352:4;59345:5;59341:16;59335:23;59371:63;59428:4;59423:3;59419:14;59405:12;59371:63;:::i;:::-;59276:168;59528:4;59521:5;59517:16;59511:23;59547:63;59604:4;59599:3;59595:14;59581:12;59547:63;:::i;:::-;59454:166;58680:947;58574:1053;;:::o;59687:1063::-;59834:4;59829:3;59825:14;59921:4;59914:5;59910:16;59904:23;59940:86;60020:4;60015:3;60011:14;59997:12;59940:86;:::i;:::-;59849:187;60123:4;60116:5;60112:16;60106:23;60142:63;60199:4;60194:3;60190:14;60176:12;60142:63;:::i;:::-;60046:169;60297:4;60290:5;60286:16;60280:23;60316:63;60373:4;60368:3;60364:14;60350:12;60316:63;:::i;:::-;60225:164;60475:4;60468:5;60464:16;60458:23;60494:63;60551:4;60546:3;60542:14;60528:12;60494:63;:::i;:::-;60399:168;60651:4;60644:5;60640:16;60634:23;60670:63;60727:4;60722:3;60718:14;60704:12;60670:63;:::i;:::-;60577:166;59803:947;59687:1063;;:::o;60812:962::-;60923:3;60959:4;60954:3;60950:14;61050:4;61043:5;61039:16;61033:23;61069:63;61126:4;61121:3;61117:14;61103:12;61069:63;:::i;:::-;60974:168;61229:4;61222:5;61218:16;61212:23;61248:63;61305:4;61300:3;61296:14;61282:12;61248:63;:::i;:::-;61152:169;61407:4;61400:5;61396:16;61390:23;61426:63;61483:4;61478:3;61474:14;61460:12;61426:63;:::i;:::-;61331:168;61586:4;61579:5;61575:16;61569:23;61639:3;61633:4;61629:14;61622:4;61617:3;61613:14;61606:38;61665:71;61731:4;61717:12;61665:71;:::i;:::-;61657:79;;61509:238;61764:4;61757:11;;60928:846;60812:962;;;;:::o;61836:972::-;61957:3;61993:4;61988:3;61984:14;62084:4;62077:5;62073:16;62067:23;62103:63;62160:4;62155:3;62151:14;62137:12;62103:63;:::i;:::-;62008:168;62263:4;62256:5;62252:16;62246:23;62282:63;62339:4;62334:3;62330:14;62316:12;62282:63;:::i;:::-;62186:169;62441:4;62434:5;62430:16;62424:23;62460:63;62517:4;62512:3;62508:14;62494:12;62460:63;:::i;:::-;62365:168;62620:4;62613:5;62609:16;62603:23;62673:3;62667:4;62663:14;62656:4;62651:3;62647:14;62640:38;62699:71;62765:4;62751:12;62699:71;:::i;:::-;62691:79;;62543:238;62798:4;62791:11;;61962:846;61836:972;;;;:::o;62866:626::-;62983:3;63019:4;63014:3;63010:14;63109:4;63102:5;63098:16;63092:23;63128:57;63179:4;63174:3;63170:14;63156:12;63128:57;:::i;:::-;63034:161;63278:4;63271:5;63267:16;63261:23;63331:3;63325:4;63321:14;63314:4;63309:3;63305:14;63298:38;63357:97;63449:4;63435:12;63357:97;:::i;:::-;63349:105;;63205:260;63482:4;63475:11;;62988:504;62866:626;;;;:::o;63550:650::-;63675:3;63711:4;63706:3;63702:14;63801:4;63794:5;63790:16;63784:23;63820:65;63879:4;63874:3;63870:14;63856:12;63820:65;:::i;:::-;63726:169;63978:4;63971:5;63967:16;63961:23;64031:3;64025:4;64021:14;64014:4;64009:3;64005:14;63998:38;64057:105;64157:4;64143:12;64057:105;:::i;:::-;64049:113;;63905:268;64190:4;64183:11;;63680:520;63550:650;;;;:::o;64206:108::-;64283:24;64301:5;64283:24;:::i;:::-;64278:3;64271:37;64206:108;;:::o;64320:118::-;64407:24;64425:5;64407:24;:::i;:::-;64402:3;64395:37;64320:118;;:::o;64444:105::-;64519:23;64536:5;64519:23;:::i;:::-;64514:3;64507:36;64444:105;;:::o;64555:113::-;64638:23;64655:5;64638:23;:::i;:::-;64633:3;64626:36;64555:113;;:::o;64674:105::-;64749:23;64766:5;64749:23;:::i;:::-;64744:3;64737:36;64674:105;;:::o;64785:115::-;64870:23;64887:5;64870:23;:::i;:::-;64865:3;64858:36;64785:115;;:::o;64906:113::-;64989:23;65006:5;64989:23;:::i;:::-;64984:3;64977:36;64906:113;;:::o;65025:102::-;65098:22;65114:5;65098:22;:::i;:::-;65093:3;65086:35;65025:102;;:::o;65133:110::-;65214:22;65230:5;65214:22;:::i;:::-;65209:3;65202:35;65133:110;;:::o;65249:271::-;65379:3;65401:93;65490:3;65481:6;65401:93;:::i;:::-;65394:100;;65511:3;65504:10;;65249:271;;;;:::o;65526:222::-;65619:4;65657:2;65646:9;65642:18;65634:26;;65670:71;65738:1;65727:9;65723:17;65714:6;65670:71;:::i;:::-;65526:222;;;;:::o;65754:373::-;65897:4;65935:2;65924:9;65920:18;65912:26;;65984:9;65978:4;65974:20;65970:1;65959:9;65955:17;65948:47;66012:108;66115:4;66106:6;66012:108;:::i;:::-;66004:116;;65754:373;;;;:::o;66133:369::-;66274:4;66312:2;66301:9;66297:18;66289:26;;66361:9;66355:4;66351:20;66347:1;66336:9;66332:17;66325:47;66389:106;66490:4;66481:6;66389:106;:::i;:::-;66381:114;;66133:369;;;;:::o;66508:365::-;66647:4;66685:2;66674:9;66670:18;66662:26;;66734:9;66728:4;66724:20;66720:1;66709:9;66705:17;66698:47;66762:104;66861:4;66852:6;66762:104;:::i;:::-;66754:112;;66508:365;;;;:::o;66879:413::-;67042:4;67080:2;67069:9;67065:18;67057:26;;67129:9;67123:4;67119:20;67115:1;67104:9;67100:17;67093:47;67157:128;67280:4;67271:6;67157:128;:::i;:::-;67149:136;;66879:413;;;;:::o;67298:369::-;67439:4;67477:2;67466:9;67462:18;67454:26;;67526:9;67520:4;67516:20;67512:1;67501:9;67497:17;67490:47;67554:106;67655:4;67646:6;67554:106;:::i;:::-;67546:114;;67298:369;;;;:::o;67673:210::-;67760:4;67798:2;67787:9;67783:18;67775:26;;67811:65;67873:1;67862:9;67858:17;67849:6;67811:65;:::i;:::-;67673:210;;;;:::o;67889:222::-;67982:4;68020:2;68009:9;68005:18;67997:26;;68033:71;68101:1;68090:9;68086:17;68077:6;68033:71;:::i;:::-;67889:222;;;;:::o;68117:325::-;68236:4;68274:2;68263:9;68259:18;68251:26;;68323:9;68317:4;68313:20;68309:1;68298:9;68294:17;68287:47;68351:84;68430:4;68421:6;68351:84;:::i;:::-;68343:92;;68117:325;;;;:::o;68448:309::-;68559:4;68597:2;68586:9;68582:18;68574:26;;68646:9;68640:4;68636:20;68632:1;68621:9;68617:17;68610:47;68674:76;68745:4;68736:6;68674:76;:::i;:::-;68666:84;;68448:309;;;;:::o;68763:319::-;68879:4;68917:2;68906:9;68902:18;68894:26;;68966:9;68960:4;68956:20;68952:1;68941:9;68937:17;68930:47;68994:81;69070:4;69061:6;68994:81;:::i;:::-;68986:89;;68763:319;;;;:::o;69088:252::-;69196:4;69234:2;69223:9;69219:18;69211:26;;69247:86;69330:1;69319:9;69315:17;69306:6;69247:86;:::i;:::-;69088:252;;;;:::o;69346:248::-;69452:4;69490:2;69479:9;69475:18;69467:26;;69503:84;69584:1;69573:9;69569:17;69560:6;69503:84;:::i;:::-;69346:248;;;;:::o;69600:449::-;69754:4;69792:2;69781:9;69777:18;69769:26;;69805:84;69886:1;69875:9;69871:17;69862:6;69805:84;:::i;:::-;69936:9;69930:4;69926:20;69921:2;69910:9;69906:18;69899:48;69964:78;70037:4;70028:6;69964:78;:::i;:::-;69956:86;;69600:449;;;;;:::o;70055:250::-;70162:4;70200:2;70189:9;70185:18;70177:26;;70213:85;70295:1;70284:9;70280:17;70271:6;70213:85;:::i;:::-;70055:250;;;;:::o;70311:218::-;70402:4;70440:2;70429:9;70425:18;70417:26;;70453:69;70519:1;70508:9;70504:17;70495:6;70453:69;:::i;:::-;70311:218;;;;:::o;70535:214::-;70624:4;70662:2;70651:9;70647:18;70639:26;;70675:67;70739:1;70728:9;70724:17;70715:6;70675:67;:::i;:::-;70535:214;;;;:::o;70755:313::-;70868:4;70906:2;70895:9;70891:18;70883:26;;70955:9;70949:4;70945:20;70941:1;70930:9;70926:17;70919:47;70983:78;71056:4;71047:6;70983:78;:::i;:::-;70975:86;;70755:313;;;;:::o;71074:419::-;71240:4;71278:2;71267:9;71263:18;71255:26;;71327:9;71321:4;71317:20;71313:1;71302:9;71298:17;71291:47;71355:131;71481:4;71355:131;:::i;:::-;71347:139;;71074:419;;;:::o;71499:::-;71665:4;71703:2;71692:9;71688:18;71680:26;;71752:9;71746:4;71742:20;71738:1;71727:9;71723:17;71716:47;71780:131;71906:4;71780:131;:::i;:::-;71772:139;;71499:419;;;:::o;71924:::-;72090:4;72128:2;72117:9;72113:18;72105:26;;72177:9;72171:4;72167:20;72163:1;72152:9;72148:17;72141:47;72205:131;72331:4;72205:131;:::i;:::-;72197:139;;71924:419;;;:::o;72349:::-;72515:4;72553:2;72542:9;72538:18;72530:26;;72602:9;72596:4;72592:20;72588:1;72577:9;72573:17;72566:47;72630:131;72756:4;72630:131;:::i;:::-;72622:139;;72349:419;;;:::o;72774:::-;72940:4;72978:2;72967:9;72963:18;72955:26;;73027:9;73021:4;73017:20;73013:1;73002:9;72998:17;72991:47;73055:131;73181:4;73055:131;:::i;:::-;73047:139;;72774:419;;;:::o;73199:::-;73365:4;73403:2;73392:9;73388:18;73380:26;;73452:9;73446:4;73442:20;73438:1;73427:9;73423:17;73416:47;73480:131;73606:4;73480:131;:::i;:::-;73472:139;;73199:419;;;:::o;73624:::-;73790:4;73828:2;73817:9;73813:18;73805:26;;73877:9;73871:4;73867:20;73863:1;73852:9;73848:17;73841:47;73905:131;74031:4;73905:131;:::i;:::-;73897:139;;73624:419;;;:::o;74049:::-;74215:4;74253:2;74242:9;74238:18;74230:26;;74302:9;74296:4;74292:20;74288:1;74277:9;74273:17;74266:47;74330:131;74456:4;74330:131;:::i;:::-;74322:139;;74049:419;;;:::o;74474:::-;74640:4;74678:2;74667:9;74663:18;74655:26;;74727:9;74721:4;74717:20;74713:1;74702:9;74698:17;74691:47;74755:131;74881:4;74755:131;:::i;:::-;74747:139;;74474:419;;;:::o;74899:::-;75065:4;75103:2;75092:9;75088:18;75080:26;;75152:9;75146:4;75142:20;75138:1;75127:9;75123:17;75116:47;75180:131;75306:4;75180:131;:::i;:::-;75172:139;;74899:419;;;:::o;75324:::-;75490:4;75528:2;75517:9;75513:18;75505:26;;75577:9;75571:4;75567:20;75563:1;75552:9;75548:17;75541:47;75605:131;75731:4;75605:131;:::i;:::-;75597:139;;75324:419;;;:::o;75749:::-;75915:4;75953:2;75942:9;75938:18;75930:26;;76002:9;75996:4;75992:20;75988:1;75977:9;75973:17;75966:47;76030:131;76156:4;76030:131;:::i;:::-;76022:139;;75749:419;;;:::o;76174:::-;76340:4;76378:2;76367:9;76363:18;76355:26;;76427:9;76421:4;76417:20;76413:1;76402:9;76398:17;76391:47;76455:131;76581:4;76455:131;:::i;:::-;76447:139;;76174:419;;;:::o;76599:::-;76765:4;76803:2;76792:9;76788:18;76780:26;;76852:9;76846:4;76842:20;76838:1;76827:9;76823:17;76816:47;76880:131;77006:4;76880:131;:::i;:::-;76872:139;;76599:419;;;:::o;77024:::-;77190:4;77228:2;77217:9;77213:18;77205:26;;77277:9;77271:4;77267:20;77263:1;77252:9;77248:17;77241:47;77305:131;77431:4;77305:131;:::i;:::-;77297:139;;77024:419;;;:::o;77449:377::-;77594:4;77632:2;77621:9;77617:18;77609:26;;77681:9;77675:4;77671:20;77667:1;77656:9;77652:17;77645:47;77709:110;77814:4;77805:6;77709:110;:::i;:::-;77701:118;;77449:377;;;;:::o;77832:365::-;77971:4;78009:2;77998:9;77994:18;77986:26;;78058:9;78052:4;78048:20;78044:1;78033:9;78029:17;78022:47;78086:104;78185:4;78176:6;78086:104;:::i;:::-;78078:112;;77832:365;;;;:::o;78203:323::-;78346:4;78384:3;78373:9;78369:19;78361:27;;78398:121;78516:1;78505:9;78501:17;78492:6;78398:121;:::i;:::-;78203:323;;;;:::o;78532:377::-;78677:4;78715:2;78704:9;78700:18;78692:26;;78764:9;78758:4;78754:20;78750:1;78739:9;78735:17;78728:47;78792:110;78897:4;78888:6;78792:110;:::i;:::-;78784:118;;78532:377;;;;:::o;78915:385::-;79064:4;79102:2;79091:9;79087:18;79079:26;;79151:9;79145:4;79141:20;79137:1;79126:9;79122:17;79115:47;79179:114;79288:4;79279:6;79179:114;:::i;:::-;79171:122;;78915:385;;;;:::o;79306:369::-;79447:4;79485:2;79474:9;79470:18;79462:26;;79534:9;79528:4;79524:20;79520:1;79509:9;79505:17;79498:47;79562:106;79663:4;79654:6;79562:106;:::i;:::-;79554:114;;79306:369;;;;:::o;79681:222::-;79774:4;79812:2;79801:9;79797:18;79789:26;;79825:71;79893:1;79882:9;79878:17;79869:6;79825:71;:::i;:::-;79681:222;;;;:::o;79909:332::-;80030:4;80068:2;80057:9;80053:18;80045:26;;80081:71;80149:1;80138:9;80134:17;80125:6;80081:71;:::i;:::-;80162:72;80230:2;80219:9;80215:18;80206:6;80162:72;:::i;:::-;79909:332;;;;;:::o;80247:529::-;80441:4;80479:2;80468:9;80464:18;80456:26;;80492:71;80560:1;80549:9;80545:17;80536:6;80492:71;:::i;:::-;80610:9;80604:4;80600:20;80595:2;80584:9;80580:18;80573:48;80638:131;80764:4;80638:131;:::i;:::-;80630:139;;80247:529;;;;:::o;80782:::-;80976:4;81014:2;81003:9;80999:18;80991:26;;81027:71;81095:1;81084:9;81080:17;81071:6;81027:71;:::i;:::-;81145:9;81139:4;81135:20;81130:2;81119:9;81115:18;81108:48;81173:131;81299:4;81173:131;:::i;:::-;81165:139;;80782:529;;;;:::o;81317:::-;81511:4;81549:2;81538:9;81534:18;81526:26;;81562:71;81630:1;81619:9;81615:17;81606:6;81562:71;:::i;:::-;81680:9;81674:4;81670:20;81665:2;81654:9;81650:18;81643:48;81708:131;81834:4;81708:131;:::i;:::-;81700:139;;81317:529;;;;:::o;81852:::-;82046:4;82084:2;82073:9;82069:18;82061:26;;82097:71;82165:1;82154:9;82150:17;82141:6;82097:71;:::i;:::-;82215:9;82209:4;82205:20;82200:2;82189:9;82185:18;82178:48;82243:131;82369:4;82243:131;:::i;:::-;82235:139;;81852:529;;;;:::o;82387:218::-;82478:4;82516:2;82505:9;82501:18;82493:26;;82529:69;82595:1;82584:9;82580:17;82571:6;82529:69;:::i;:::-;82387:218;;;;:::o;82611:129::-;82645:6;82672:20;;:::i;:::-;82662:30;;82701:33;82729:4;82721:6;82701:33;:::i;:::-;82611:129;;;:::o;82746:75::-;82779:6;82812:2;82806:9;82796:19;;82746:75;:::o;82827:311::-;82904:4;82994:18;82986:6;82983:30;82980:56;;;83016:18;;:::i;:::-;82980:56;83066:4;83058:6;83054:17;83046:25;;83126:4;83120;83116:15;83108:23;;82827:311;;;:::o;83144:310::-;83220:4;83310:18;83302:6;83299:30;83296:56;;;83332:18;;:::i;:::-;83296:56;83382:4;83374:6;83370:17;83362:25;;83442:4;83436;83432:15;83424:23;;83144:310;;;:::o;83460:309::-;83535:4;83625:18;83617:6;83614:30;83611:56;;;83647:18;;:::i;:::-;83611:56;83697:4;83689:6;83685:17;83677:25;;83757:4;83751;83747:15;83739:23;;83460:309;;;:::o;83775:321::-;83862:4;83952:18;83944:6;83941:30;83938:56;;;83974:18;;:::i;:::-;83938:56;84024:4;84016:6;84012:17;84004:25;;84084:4;84078;84074:15;84066:23;;83775:321;;;:::o;84102:340::-;84208:4;84298:18;84290:6;84287:30;84284:56;;;84320:18;;:::i;:::-;84284:56;84370:4;84362:6;84358:17;84350:25;;84430:4;84424;84420:15;84412:23;;84102:340;;;:::o;84448:310::-;84524:4;84614:18;84606:6;84603:30;84600:56;;;84636:18;;:::i;:::-;84600:56;84686:4;84678:6;84674:17;84666:25;;84746:4;84740;84736:15;84728:23;;84448:310;;;:::o;84764:307::-;84825:4;84915:18;84907:6;84904:30;84901:56;;;84937:18;;:::i;:::-;84901:56;84975:29;84997:6;84975:29;:::i;:::-;84967:37;;85059:4;85053;85049:15;85041:23;;84764:307;;;:::o;85077:308::-;85139:4;85229:18;85221:6;85218:30;85215:56;;;85251:18;;:::i;:::-;85215:56;85289:29;85311:6;85289:29;:::i;:::-;85281:37;;85373:4;85367;85363:15;85355:23;;85077:308;;;:::o;85391:132::-;85458:4;85481:3;85473:11;;85511:4;85506:3;85502:14;85494:22;;85391:132;;;:::o;85529:131::-;85595:4;85618:3;85610:11;;85648:4;85643:3;85639:14;85631:22;;85529:131;;;:::o;85666:130::-;85731:4;85754:3;85746:11;;85784:4;85779:3;85775:14;85767:22;;85666:130;;;:::o;85802:142::-;85879:4;85902:3;85894:11;;85932:4;85927:3;85923:14;85915:22;;85802:142;;;:::o;85950:131::-;86016:4;86039:3;86031:11;;86069:4;86064:3;86060:14;86052:22;;85950:131;;;:::o;86087:140::-;86135:4;86158:3;86150:11;;86181:3;86178:1;86171:14;86215:4;86212:1;86202:18;86194:26;;86087:140;;;:::o;86233:114::-;86300:6;86334:5;86328:12;86318:22;;86233:114;;;:::o;86353:113::-;86419:6;86453:5;86447:12;86437:22;;86353:113;;;:::o;86472:112::-;86537:6;86571:5;86565:12;86555:22;;86472:112;;;:::o;86590:124::-;86667:6;86701:5;86695:12;86685:22;;86590:124;;;:::o;86720:113::-;86786:6;86820:5;86814:12;86804:22;;86720:113;;;:::o;86839:98::-;86890:6;86924:5;86918:12;86908:22;;86839:98;;;:::o;86943:99::-;86995:6;87029:5;87023:12;87013:22;;86943:99;;;:::o;87048:113::-;87118:4;87150;87145:3;87141:14;87133:22;;87048:113;;;:::o;87167:112::-;87236:4;87268;87263:3;87259:14;87251:22;;87167:112;;;:::o;87285:111::-;87353:4;87385;87380:3;87376:14;87368:22;;87285:111;;;:::o;87402:123::-;87482:4;87514;87509:3;87505:14;87497:22;;87402:123;;;:::o;87531:112::-;87600:4;87632;87627:3;87623:14;87615:22;;87531:112;;;:::o;87649:184::-;87748:11;87782:6;87777:3;87770:19;87822:4;87817:3;87813:14;87798:29;;87649:184;;;;:::o;87839:183::-;87937:11;87971:6;87966:3;87959:19;88011:4;88006:3;88002:14;87987:29;;87839:183;;;;:::o;88028:182::-;88125:11;88159:6;88154:3;88147:19;88199:4;88194:3;88190:14;88175:29;;88028:182;;;;:::o;88216:194::-;88325:11;88359:6;88354:3;88347:19;88399:4;88394:3;88390:14;88375:29;;88216:194;;;;:::o;88416:183::-;88514:11;88548:6;88543:3;88536:19;88588:4;88583:3;88579:14;88564:29;;88416:183;;;;:::o;88605:158::-;88678:11;88712:6;88707:3;88700:19;88752:4;88747:3;88743:14;88728:29;;88605:158;;;;:::o;88769:168::-;88852:11;88886:6;88881:3;88874:19;88926:4;88921:3;88917:14;88902:29;;88769:168;;;;:::o;88943:176::-;89034:11;89068:6;89063:3;89056:19;89108:4;89103:3;89099:14;89084:29;;88943:176;;;;:::o;89125:166::-;89206:11;89240:6;89235:3;89228:19;89280:4;89275:3;89271:14;89256:29;;89125:166;;;;:::o;89297:147::-;89398:11;89435:3;89420:18;;89297:147;;;;:::o;89450:159::-;89524:11;89558:6;89553:3;89546:19;89598:4;89593:3;89589:14;89574:29;;89450:159;;;;:::o;89615:169::-;89699:11;89733:6;89728:3;89721:19;89773:4;89768:3;89764:14;89749:29;;89615:169;;;;:::o;89790:305::-;89830:3;89849:20;89867:1;89849:20;:::i;:::-;89844:25;;89883:20;89901:1;89883:20;:::i;:::-;89878:25;;90037:1;89969:66;89965:74;89962:1;89959:81;89956:107;;;90043:18;;:::i;:::-;89956:107;90087:1;90084;90080:9;90073:16;;89790:305;;;;:::o;90101:348::-;90141:7;90164:20;90182:1;90164:20;:::i;:::-;90159:25;;90198:20;90216:1;90198:20;:::i;:::-;90193:25;;90386:1;90318:66;90314:74;90311:1;90308:81;90303:1;90296:9;90289:17;90285:105;90282:131;;;90393:18;;:::i;:::-;90282:131;90441:1;90438;90434:9;90423:20;;90101:348;;;;:::o;90455:96::-;90492:7;90521:24;90539:5;90521:24;:::i;:::-;90510:35;;90455:96;;;:::o;90557:90::-;90591:7;90634:5;90627:13;90620:21;90609:32;;90557:90;;;:::o;90653:77::-;90690:7;90719:5;90708:16;;90653:77;;;:::o;90736:119::-;90796:7;90825:24;90843:5;90825:24;:::i;:::-;90814:35;;90736:119;;;:::o;90861:141::-;90913:7;90942:5;90931:16;;90948:48;90990:5;90948:48;:::i;:::-;90861:141;;;:::o;91008:143::-;91061:7;91090:5;91079:16;;91096:49;91139:5;91096:49;:::i;:::-;91008:143;;;:::o;91157:92::-;91193:7;91237:5;91233:2;91222:21;91211:32;;91157:92;;;:::o;91255:90::-;91290:7;91333:5;91330:1;91319:20;91308:31;;91255:90;;;:::o;91351:126::-;91388:7;91428:42;91421:5;91417:54;91406:65;;91351:126;;;:::o;91483:77::-;91520:7;91549:5;91538:16;;91483:77;;;:::o;91566:93::-;91602:7;91642:10;91635:5;91631:22;91620:33;;91566:93;;;:::o;91665:101::-;91701:7;91741:18;91734:5;91730:30;91719:41;;91665:101;;;:::o;91772:86::-;91807:7;91847:4;91840:5;91836:16;91825:27;;91772:86;;;:::o;91864:141::-;91929:9;91962:37;91993:5;91962:37;:::i;:::-;91949:50;;91864:141;;;:::o;92011:149::-;92084:9;92117:37;92148:5;92117:37;:::i;:::-;92104:50;;92011:149;;;:::o;92166:141::-;92229:9;92262:39;92295:5;92262:39;:::i;:::-;92249:52;;92166:141;;;:::o;92313:143::-;92377:9;92410:40;92444:5;92410:40;:::i;:::-;92397:53;;92313:143;;;:::o;92462:126::-;92512:9;92545:37;92576:5;92545:37;:::i;:::-;92532:50;;92462:126;;;:::o;92594:113::-;92644:9;92677:24;92695:5;92677:24;:::i;:::-;92664:37;;92594:113;;;:::o;92713:154::-;92797:6;92792:3;92787;92774:30;92859:1;92850:6;92845:3;92841:16;92834:27;92713:154;;;:::o;92873:307::-;92941:1;92951:113;92965:6;92962:1;92959:13;92951:113;;;93050:1;93045:3;93041:11;93035:18;93031:1;93026:3;93022:11;93015:39;92987:2;92984:1;92980:10;92975:15;;92951:113;;;93082:6;93079:1;93076:13;93073:101;;;93162:1;93153:6;93148:3;93144:16;93137:27;93073:101;92922:258;92873:307;;;:::o;93186:320::-;93230:6;93267:1;93261:4;93257:12;93247:22;;93314:1;93308:4;93304:12;93335:18;93325:81;;93391:4;93383:6;93379:17;93369:27;;93325:81;93453:2;93445:6;93442:14;93422:18;93419:38;93416:84;;;93472:18;;:::i;:::-;93416:84;93237:269;93186:320;;;:::o;93512:281::-;93595:27;93617:4;93595:27;:::i;:::-;93587:6;93583:40;93725:6;93713:10;93710:22;93689:18;93677:10;93674:34;93671:62;93668:88;;;93736:18;;:::i;:::-;93668:88;93776:10;93772:2;93765:22;93555:238;93512:281;;:::o;93799:233::-;93838:3;93861:24;93879:5;93861:24;:::i;:::-;93852:33;;93907:66;93900:5;93897:77;93894:103;;;93977:18;;:::i;:::-;93894:103;94024:1;94017:5;94013:13;94006:20;;93799:233;;;:::o;94038:180::-;94086:77;94083:1;94076:88;94183:4;94180:1;94173:15;94207:4;94204:1;94197:15;94224:180;94272:77;94269:1;94262:88;94369:4;94366:1;94359:15;94393:4;94390:1;94383:15;94410:180;94458:77;94455:1;94448:88;94555:4;94552:1;94545:15;94579:4;94576:1;94569:15;94596:180;94644:77;94641:1;94634:88;94741:4;94738:1;94731:15;94765:4;94762:1;94755:15;94782:180;94830:77;94827:1;94820:88;94927:4;94924:1;94917:15;94951:4;94948:1;94941:15;94968:183;95003:3;95041:1;95023:16;95020:23;95017:128;;;95079:1;95076;95073;95058:23;95101:34;95132:1;95126:8;95101:34;:::i;:::-;95094:41;;95017:128;94968:183;:::o;95157:117::-;95266:1;95263;95256:12;95280:117;95389:1;95386;95379:12;95403:117;95512:1;95509;95502:12;95526:117;95635:1;95632;95625:12;95649:117;95758:1;95755;95748:12;95772:117;95881:1;95878;95871:12;95895:117;96004:1;96001;95994:12;96018:117;96127:1;96124;96117:12;96141:102;96182:6;96233:2;96229:7;96224:2;96217:5;96213:14;96209:28;96199:38;;96141:102;;;:::o;96249:106::-;96293:8;96342:5;96337:3;96333:15;96312:36;;96249:106;;;:::o;96361:231::-;96501:34;96497:1;96489:6;96485:14;96478:58;96570:14;96565:2;96557:6;96553:15;96546:39;96361:231;:::o;96598:228::-;96738:34;96734:1;96726:6;96722:14;96715:58;96807:11;96802:2;96794:6;96790:15;96783:36;96598:228;:::o;96832:233::-;96972:34;96968:1;96960:6;96956:14;96949:58;97041:16;97036:2;97028:6;97024:15;97017:41;96832:233;:::o;97071:177::-;97211:29;97207:1;97199:6;97195:14;97188:53;97071:177;:::o;97254:236::-;97394:34;97390:1;97382:6;97378:14;97371:58;97463:19;97458:2;97450:6;97446:15;97439:44;97254:236;:::o;97496:231::-;97636:34;97632:1;97624:6;97620:14;97613:58;97705:14;97700:2;97692:6;97688:15;97681:39;97496:231;:::o;97733:232::-;97873:34;97869:1;97861:6;97857:14;97850:58;97942:15;97937:2;97929:6;97925:15;97918:40;97733:232;:::o;97971:234::-;98111:34;98107:1;98099:6;98095:14;98088:58;98180:17;98175:2;98167:6;98163:15;98156:42;97971:234;:::o;98211:::-;98351:34;98347:1;98339:6;98335:14;98328:58;98420:17;98415:2;98407:6;98403:15;98396:42;98211:234;:::o;98451:250::-;98591:34;98587:1;98579:6;98575:14;98568:58;98660:33;98655:2;98647:6;98643:15;98636:58;98451:250;:::o;98707:290::-;98847:34;98843:1;98835:6;98831:14;98824:58;98916:34;98911:2;98903:6;98899:15;98892:59;98985:4;98980:2;98972:6;98968:15;98961:29;98707:290;:::o;99003:229::-;99143:34;99139:1;99131:6;99127:14;99120:58;99212:12;99207:2;99199:6;99195:15;99188:37;99003:229;:::o;99238:232::-;99378:34;99374:1;99366:6;99362:14;99355:58;99447:15;99442:2;99434:6;99430:15;99423:40;99238:232;:::o;99476:245::-;99616:34;99612:1;99604:6;99600:14;99593:58;99685:28;99680:2;99672:6;99668:15;99661:53;99476:245;:::o;99727:239::-;99867:34;99863:1;99855:6;99851:14;99844:58;99936:22;99931:2;99923:6;99919:15;99912:47;99727:239;:::o;99972:230::-;100112:34;100108:1;100100:6;100096:14;100089:58;100181:13;100176:2;100168:6;100164:15;100157:38;99972:230;:::o;100208:233::-;100348:34;100344:1;100336:6;100332:14;100325:58;100417:16;100412:2;100404:6;100400:15;100393:41;100208:233;:::o;100447:234::-;100587:34;100583:1;100575:6;100571:14;100564:58;100656:17;100651:2;100643:6;100639:15;100632:42;100447:234;:::o;100687:236::-;100827:34;100823:1;100815:6;100811:14;100804:58;100896:19;100891:2;100883:6;100879:15;100872:44;100687:236;:::o;100929:711::-;100968:3;101006:4;100988:16;100985:26;100982:39;;;101014:5;;100982:39;101043:20;;:::i;:::-;101118:1;101100:16;101096:24;101093:1;101087:4;101072:49;101151:4;101145:11;101250:16;101243:4;101235:6;101231:17;101228:39;101195:18;101187:6;101184:30;101168:113;101165:146;;;101296:5;;;;101165:146;101342:6;101336:4;101332:17;101378:3;101372:10;101405:18;101397:6;101394:30;101391:43;;;101427:5;;;;;;101391:43;101475:6;101468:4;101463:3;101459:14;101455:27;101534:1;101516:16;101512:24;101506:4;101502:35;101497:3;101494:44;101491:57;;;101541:5;;;;;;;101491:57;101558;101606:6;101600:4;101596:17;101588:6;101584:30;101578:4;101558:57;:::i;:::-;101631:3;101624:10;;100972:668;;;;;100929:711;;:::o;101646:122::-;101734:3;101727:5;101724:14;101714:48;;101742:18;;:::i;:::-;101714:48;101646:122;:::o;101774:121::-;101863:1;101856:5;101853:12;101843:46;;101869:18;;:::i;:::-;101843:46;101774:121;:::o;101901:122::-;101974:24;101992:5;101974:24;:::i;:::-;101967:5;101964:35;101954:63;;102013:1;102010;102003:12;101954:63;101901:122;:::o;102029:116::-;102099:21;102114:5;102099:21;:::i;:::-;102092:5;102089:32;102079:60;;102135:1;102132;102125:12;102079:60;102029:116;:::o;102151:122::-;102224:24;102242:5;102224:24;:::i;:::-;102217:5;102214:35;102204:63;;102263:1;102260;102253:12;102204:63;102151:122;:::o;102279:168::-;102375:47;102416:5;102375:47;:::i;:::-;102368:5;102365:58;102355:86;;102437:1;102434;102427:12;102355:86;102279:168;:::o;102453:116::-;102541:3;102534:5;102531:14;102521:42;;102559:1;102556;102549:12;102521:42;102453:116;:::o;102575:120::-;102647:23;102664:5;102647:23;:::i;:::-;102640:5;102637:34;102627:62;;102685:1;102682;102675:12;102627:62;102575:120;:::o;102701:118::-;102772:22;102788:5;102772:22;:::i;:::-;102765:5;102762:33;102752:61;;102809:1;102806;102799:12;102752:61;102701:118;:::o;102825:122::-;102898:24;102916:5;102898:24;:::i;:::-;102891:5;102888:35;102878:63;;102937:1;102934;102927:12;102878:63;102825:122;:::o;102953:120::-;103025:23;103042:5;103025:23;:::i;:::-;103018:5;103015:34;103005:62;;103063:1;103060;103053:12;103005:62;102953:120;:::o;103079:::-;103151:23;103168:5;103151:23;:::i;:::-;103144:5;103141:34;103131:62;;103189:1;103186;103179:12;103131:62;103079:120;:::o;103205:118::-;103276:22;103292:5;103276:22;:::i;:::-;103269:5;103266:33;103256:61;;103313:1;103310;103303:12;103256:61;103205:118;:::o"},"gasEstimates":{"creation":{"codeDepositCost":"6310800","executionCost":"infinite","totalCost":"infinite"},"external":{"":"581","asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"infinite","asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"infinite","asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"infinite","asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"infinite","asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"infinite","asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"infinite","asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"infinite","asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"infinite","asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"infinite","asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"infinite","asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"infinite","asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"infinite","asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"infinite","asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"infinite","base()":"infinite","codehash()":"infinite","currency()":"infinite","deleteQuery(uint256)":"infinite","destruct()":"30066","estimateReward(uint256)":"infinite","getNextQueryId()":"infinite","getQueryData(uint256)":"infinite","getQueryStatus(uint256)":"infinite","initialize(bytes)":"infinite","isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"infinite","isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"infinite","isReporter(address)":"2971","isUpgradable()":"infinite","isUpgradableFrom(address)":"infinite","owner()":"2675","postRequest(address)":"infinite","proxiableUUID()":"499","readRequest(uint256)":"infinite","readRequestBytecode(uint256)":"infinite","readRequestGasPrice(uint256)":"infinite","readRequestReward(uint256)":"infinite","readResponse(uint256)":"infinite","readResponseDrTxHash(uint256)":"infinite","readResponseReporter(uint256)":"infinite","readResponseResult(uint256)":"infinite","readResponseTimestamp(uint256)":"infinite","reportResult(uint256,bytes32,bytes)":"infinite","reportResult(uint256,uint256,bytes32,bytes)":"infinite","reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)":"infinite","resultFromCborBytes(bytes)":"infinite","resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))":"infinite","setReporters(address[])":"infinite","transferOwnership(address)":"infinite","unsetReporters(address[])":"infinite","upgradeReward(uint256)":"infinite","version()":"infinite"},"internal":{"_getGasPrice()":"22","_getMsgValue()":"22","_safeTransferTo(address payable,uint256)":"infinite"}},"methodIdentifiers":{"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"d4ced132","asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"c683b465","asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"cf62d115","asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"db04f16d","asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"d74803be","asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"2241f2db","asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"0f572d2c","asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"2b905fbb","asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"07e66852","asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"b0768328","asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"109a0e3c","asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"c87d969e","asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"bc7e25ff","asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"4dcffaf3","base()":"5001f3b5","codehash()":"a9e954b9","currency()":"e5a6b10f","deleteQuery(uint256)":"7c1fbda3","destruct()":"2b68b9c6","estimateReward(uint256)":"d2e87561","getNextQueryId()":"c805dd0f","getQueryData(uint256)":"c2485ebd","getQueryStatus(uint256)":"6f07abcc","initialize(bytes)":"439fab91","isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"7780cde1","isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"a8604c1a","isReporter(address)":"044ad7be","isUpgradable()":"5479d940","isUpgradableFrom(address)":"6b58960a","owner()":"8da5cb5b","postRequest(address)":"b281a7bd","proxiableUUID()":"52d1902d","readRequest(uint256)":"99f65804","readRequestBytecode(uint256)":"3b885f2a","readRequestGasPrice(uint256)":"3ae97295","readRequestReward(uint256)":"1dd27daf","readResponse(uint256)":"754e5bea","readResponseDrTxHash(uint256)":"dc3c71cd","readResponseReporter(uint256)":"9d96fced","readResponseResult(uint256)":"d4da69ac","readResponseTimestamp(uint256)":"20f9241e","reportResult(uint256,bytes32,bytes)":"6280bce8","reportResult(uint256,uint256,bytes32,bytes)":"c8f5cdd5","reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)":"81a398b5","resultFromCborBytes(bytes)":"e99e47f3","resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))":"2565082b","setReporters(address[])":"4c9f72e3","transferOwnership(address)":"f2fde38b","unsetReporters(address[])":"28a78d9b","upgradeReward(uint256)":"66bfdc75","version()":"54fd4d50"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_upgradable\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"_versionTag\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_reportResultGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"BatchReportError\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"DeletedQuery\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"PostedRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"PostedResult\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Received\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"reporters\",\"type\":\"address[]\"}],\"name\":\"ReportersSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"reporters\",\"type\":\"address[]\"}],\"name\":\"ReportersUnset\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"baseAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"baseCodehash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"versionTag\",\"type\":\"bytes32\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asErrorCode\",\"outputs\":[{\"internalType\":\"enum Witnet.ErrorCodes\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asErrorMessage\",\"outputs\":[{\"internalType\":\"enum Witnet.ErrorCodes\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asFixed16\",\"outputs\":[{\"internalType\":\"int32\",\"name\":\"\",\"type\":\"int32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asFixed16Array\",\"outputs\":[{\"internalType\":\"int32[]\",\"name\":\"\",\"type\":\"int32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asInt128\",\"outputs\":[{\"internalType\":\"int128\",\"name\":\"\",\"type\":\"int128\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asInt128Array\",\"outputs\":[{\"internalType\":\"int128[]\",\"name\":\"\",\"type\":\"int128[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asRawError\",\"outputs\":[{\"internalType\":\"uint64[]\",\"name\":\"\",\"type\":\"uint64[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asUint64\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asUint64Array\",\"outputs\":[{\"internalType\":\"uint64[]\",\"name\":\"\",\"type\":\"uint64[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"base\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"codehash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_codehash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currency\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"deleteQuery\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.Response\",\"name\":\"_response\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"destruct\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_gasPrice\",\"type\":\"uint256\"}],\"name\":\"estimateReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNextQueryId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryData\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"contract IWitnetRequest\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"gasprice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"}],\"internalType\":\"struct Witnet.Request\",\"name\":\"request\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.Response\",\"name\":\"response\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"internalType\":\"struct Witnet.Query\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryStatus\",\"outputs\":[{\"internalType\":\"enum Witnet.QueryStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_initData\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"isError\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"isOk\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reporter\",\"type\":\"address\"}],\"name\":\"isReporter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isUpgradable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"}],\"name\":\"isUpgradableFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IWitnetRequest\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"postRequest\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readRequest\",\"outputs\":[{\"components\":[{\"internalType\":\"contract IWitnetRequest\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"gasprice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"}],\"internalType\":\"struct Witnet.Request\",\"name\":\"_request\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readRequestBytecode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"_bytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readRequestGasPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readRequestReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponse\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.Response\",\"name\":\"_response\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponseDrTxHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponseReporter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponseResult\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponseTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_cborBytes\",\"type\":\"bytes\"}],\"name\":\"reportResult\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_cborBytes\",\"type\":\"bytes\"}],\"name\":\"reportResult\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct IWitnetRequestBoardReporter.BatchResult[]\",\"name\":\"_batchResults\",\"type\":\"tuple[]\"},{\"internalType\":\"bool\",\"name\":\"_verbose\",\"type\":\"bool\"}],\"name\":\"reportResultBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_cborBytes\",\"type\":\"bytes\"}],\"name\":\"resultFromCborBytes\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"_cborValue\",\"type\":\"tuple\"}],\"name\":\"resultFromCborValue\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_reporters\",\"type\":\"address[]\"}],\"name\":\"setReporters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_exReporters\",\"type\":\"address[]\"}],\"name\":\"unsetReporters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"upgradeReward\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"The Witnet Foundation\",\"details\":\"This contract enables posting requests that Witnet bridges will insert into the Witnet network. The result of the requests will be posted back to this contract by the bridge nodes too.\",\"kind\":\"dev\",\"methods\":{\"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `bool` decoded from the Witnet.Result.\"}},\"asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `bytes` decoded from the Witnet.Result.\"}},\"asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `bytes32` decoded from the Witnet.Result.\"}},\"asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of `Witnet.Result`.\"},\"returns\":{\"_0\":\"The `CBORValue.Error memory` decoded from the Witnet.Result.\"}},\"asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"details\":\"WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\",\"params\":{\"_result\":\"An instance of `Witnet.Result`.\"},\"returns\":{\"_0\":\"A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\"}},\"asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"details\":\"Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values. by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`. use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\",\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128` decoded from the Witnet.Result.\"}},\"asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128[]` decoded from the Witnet.Result.\"}},\"asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128` decoded from the Witnet.Result.\"}},\"asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128[]` decoded from the Witnet.Result.\"}},\"asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of `Witnet.Result`.\"},\"returns\":{\"_0\":\"The `uint64[]` raw error as decoded from the `Witnet.Result`.\"}},\"asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `string` decoded from the Witnet.Result.\"}},\"asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `string[]` decoded from the Witnet.Result.\"}},\"asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `uint64` decoded from the Witnet.Result.\"}},\"asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `uint64[]` decoded from the Witnet.Result.\"}},\"base()\":{\"details\":\"Retrieves base contract. Differs from address(this) when via delegate-proxy pattern.\"},\"codehash()\":{\"details\":\"Retrieves the immutable codehash of this contract, even if invoked as delegatecall.\",\"returns\":{\"_codehash\":\"This contracts immutable codehash.\"}},\"deleteQuery(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status, or called from an address different tothe one that actually posted the given request.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"estimateReward(uint256)\":{\"params\":{\"_gasPrice\":\"The gas price for which we need to calculate the rewards.\"}},\"initialize(bytes)\":{\"details\":\"Must fail when trying to initialize same instance more than once.\"},\"isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"`true` if errored, `false` if successful.\"}},\"isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"`true` if successful, `false` if errored.\"}},\"isReporter(address)\":{\"params\":{\"_reporter\":\"The address to be checked.\"}},\"isUpgradable()\":{\"details\":\"Determines whether current instance allows being upgraded.Returned value should be invariant from whoever is calling.\"},\"postRequest(address)\":{\"details\":\"Fails if:- provided reward is too low.- provided script is zero address.- provided script bytecode is empty.\",\"params\":{\"_addr\":\"The address of a IWitnetRequest contract, containing the actual Data Request seralized bytecode.\"},\"returns\":{\"_queryId\":\"An unique query identifier.\"}},\"proxiableUUID()\":{\"details\":\"Gets immutable \\\"heritage blood line\\\" (ie. genotype) as a Proxiable, and eventually Upgradable, contract.      If implemented as an Upgradable touch, upgrading this contract to another one with a different       `proxiableUUID()` value should fail.\"},\"readRequest(uint256)\":{\"details\":\"Fails if the `_queryId` is not valid or, if it has already been reportedor deleted.\",\"params\":{\"_queryId\":\"The unique identifier of a previously posted query.\"}},\"readRequestBytecode(uint256)\":{\"details\":\"Fails if the `_queryId` is not valid, or if the related script bytecode got changed after being posted. Returns empty array once it gets reported, or deleted.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"readRequestGasPrice(uint256)\":{\"details\":\"Fails if the `_queryId` is not valid or, if it has already been reported, or deleted. \",\"params\":{\"_queryId\":\"The unique query identifier\"}},\"readRequestReward(uint256)\":{\"details\":\"Fails if the `_queryId` is not valid or, if it has already been reported, or deleted. \",\"params\":{\"_queryId\":\"The unique query identifier\"}},\"readResponse(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier\"}},\"readResponseDrTxHash(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"readResponseReporter(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier\"}},\"readResponseResult(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier\"}},\"readResponseTimestamp(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"reportResult(uint256,bytes32,bytes)\":{\"details\":\"Will assume `block.timestamp` as the timestamp at which the request was solved.Fails if:- the `_queryId` is not in 'Posted' status.- provided `_drTxHash` is zero;- length of provided `_result` is zero.\",\"params\":{\"_cborBytes\":\"The result itself as bytes.\",\"_drTxHash\":\"The hash of the solving tally transaction in Witnet.\",\"_queryId\":\"The unique identifier of the data request.\"}},\"reportResult(uint256,uint256,bytes32,bytes)\":{\"details\":\"Fails if:- called from unauthorized address;- the `_queryId` is not in 'Posted' status.- provided `_drTxHash` is zero;- length of provided `_result` is zero.\",\"params\":{\"_cborBytes\":\"The result itself as bytes.\",\"_drTxHash\":\"The hash of the solving tally transaction in Witnet.\",\"_queryId\":\"The unique query identifier\",\"_timestamp\":\"The timestamp of the solving tally transaction in Witnet.\"}},\"reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)\":{\"details\":\"Fails if called from unauthorized address.Emits a PostedResult event for every succesfully reported result, if any.\",\"params\":{\"_batchResults\":\"Array of BatchedResult structs, every one containing:         - unique query identifier;         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;         - hash of the corresponding data request tx at the Witnet side-chain level;         - data request result in raw bytes.\",\"_verbose\":\"If true, emits a BatchReportError event for every failing report, if any. \"}},\"resultFromCborBytes(bytes)\":{\"params\":{\"_cborBytes\":\"Raw bytes representing a CBOR-encoded value.\"},\"returns\":{\"_0\":\"A `Witnet.Result` instance.\"}},\"resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))\":{\"params\":{\"_cborValue\":\"An instance of `Witnet.CBOR`.\"},\"returns\":{\"_0\":\"A `Witnet.Result` instance.\"}},\"setReporters(address[])\":{\"details\":\"Can only be called from the owner address.Emits the `ReportersSet` event. \",\"params\":{\"_reporters\":\"List of addresses to be added to the active reporters control list.\"}},\"unsetReporters(address[])\":{\"details\":\"Can only be called from the owner address.Emits the `ReportersUnset` event. \",\"params\":{\"_exReporters\":\"List of addresses to be added to the active reporters control list.\"}},\"upgradeReward(uint256)\":{\"details\":\"Updates request `gasPrice` in case this method is called with a higher gas price value than the one used in previous calls to `postRequest` or`upgradeReward`. Fails if the `_queryId` is not in 'Posted' status.Fails also in case the request `gasPrice` is increased, and the new reward value gets below new recalculated threshold. \",\"params\":{\"_queryId\":\"The unique query identifier.\"}}},\"title\":\"Witnet Request Board \\\"trustable\\\" implementation contract.\",\"version\":1},\"userdoc\":{\"events\":{\"DeletedQuery(uint256,address)\":{\"notice\":\"Emitted when all data related to given query is deleted from the WRB.\"},\"PostedRequest(uint256,address)\":{\"notice\":\"Emitted when a Witnet Data Request is posted to the WRB.\"},\"PostedResult(uint256,address)\":{\"notice\":\"Emitted when a Witnet-solved result is reported to the WRB.\"},\"Upgraded(address,address,bytes32,bytes32)\":{\"notice\":\"Emitted every time the contract gets upgraded.\"}},\"kind\":\"user\",\"methods\":{\"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a boolean value from a Witnet.Result as an `bool` value.\"},\"asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a bytes value from a Witnet.Result as a `bytes` value.\"},\"asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a bytes value from a Witnet.Result as a `bytes32` value.\"},\"asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\"},\"asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\"},\"asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\"},\"asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\"},\"asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a integer numeric value from a Witnet.Result as an `int128` value.\"},\"asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\"},\"asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a raw error from a `Witnet.Result` as a `uint64[]`.\"},\"asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a string value from a Witnet.Result as a `string` value.\"},\"asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an array of string values from a Witnet.Result as a `string[]` value.\"},\"asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a natural numeric value from a Witnet.Result as a `uint64` value.\"},\"asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\"},\"deleteQuery(uint256)\":{\"notice\":\"Retrieves copy of all response data related to a previously posted request, removing the whole query from storage.\"},\"destruct()\":{\"notice\":\"Destroys current instance. Only callable by the owner.\"},\"estimateReward(uint256)\":{\"notice\":\"Estimates the amount of reward we need to insert for a given gas price.\"},\"getNextQueryId()\":{\"notice\":\"Returns next request id to be generated by the Witnet Request Board.\"},\"getQueryData(uint256)\":{\"notice\":\"Gets the whole Query data contents, if any, no matter its current status.\"},\"getQueryStatus(uint256)\":{\"notice\":\"Gets current status of given query.\"},\"initialize(bytes)\":{\"notice\":\"Initialize storage-context when invoked as delegatecall. \"},\"isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Tell if a Witnet.Result is errored.\"},\"isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Tell if a Witnet.Result is successful.\"},\"isReporter(address)\":{\"notice\":\"Tells whether given address is included in the active reporters control list.\"},\"isUpgradableFrom(address)\":{\"notice\":\"Tells whether provided address could eventually upgrade the contract.\"},\"owner()\":{\"notice\":\"Gets admin/owner address.\"},\"postRequest(address)\":{\"notice\":\"Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided  result to this request.\"},\"readRequest(uint256)\":{\"notice\":\"Retrieves the whole Request record posted to the Witnet Request Board.\"},\"readRequestBytecode(uint256)\":{\"notice\":\"Retrieves the serialized bytecode of a previously posted Witnet Data Request.\"},\"readRequestGasPrice(uint256)\":{\"notice\":\"Retrieves the gas price that any assigned reporter will have to pay when reporting  result to a previously posted Witnet data request.\"},\"readRequestReward(uint256)\":{\"notice\":\"Retrieves the reward currently set for a previously posted request.\"},\"readResponse(uint256)\":{\"notice\":\"Retrieves the Witnet-provided result, and metadata, to a previously posted request.    \"},\"readResponseDrTxHash(uint256)\":{\"notice\":\"Retrieves the hash of the Witnet transaction that actually solved the referred query.\"},\"readResponseReporter(uint256)\":{\"notice\":\"Retrieves the address that reported the result to a previously-posted request.\"},\"readResponseResult(uint256)\":{\"notice\":\"Retrieves the Witnet-provided CBOR-bytes result of a previously posted request.\"},\"readResponseTimestamp(uint256)\":{\"notice\":\"Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON.\"},\"reportResult(uint256,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provided result to a previously posted request. \"},\"reportResult(uint256,uint256,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provided result to a previously posted request.\"},\"reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)\":{\"notice\":\"Reports Witnet-provided results to multiple requests within a single EVM tx.\"},\"resultFromCborBytes(bytes)\":{\"notice\":\"Decode raw CBOR bytes into a Witnet.Result instance.\"},\"resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))\":{\"notice\":\"Decode a CBOR value into a Witnet.Result instance.\"},\"setReporters(address[])\":{\"notice\":\"Adds given addresses to the active reporters control list.\"},\"transferOwnership(address)\":{\"notice\":\"Transfers ownership.\"},\"unsetReporters(address[])\":{\"notice\":\"Removes given addresses from the active reporters control list.\"},\"upgradeReward(uint256)\":{\"notice\":\"Increments the reward of a previously posted request by adding the transaction value to it.\"},\"version()\":{\"notice\":\"Retrieves human-readable version tag of current implementation.\"}},\"notice\":\"Contract to bridge requests to Witnet Decentralized Oracle Network.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableDefault.sol\":\"WitnetRequestBoardTrustableDefault\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/WitnetRequestBoard.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./interfaces/IWitnetRequestBoardEvents.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardReporter.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardRequestor.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardView.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestParser.sol\\\";\\n\\n/// @title Witnet Request Board functionality base contract.\\n/// @author The Witnet Foundation.\\nabstract contract WitnetRequestBoard is\\n    IWitnetRequestBoardEvents,\\n    IWitnetRequestBoardReporter,\\n    IWitnetRequestBoardRequestor,\\n    IWitnetRequestBoardView,\\n    IWitnetRequestParser\\n{\\n    receive() external payable {\\n        revert(\\\"WitnetRequestBoard: no transfers accepted\\\");\\n    }\\n}\\n\",\"keccak256\":\"0xb04deadd6e24568accfcbb7b76f1c03cb925933aee189115b5b23badc5b6e9ab\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/data/WitnetBoardData.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Request Board base data model. \\n/// @author The Witnet Foundation.\\nabstract contract WitnetBoardData {  \\n\\n    bytes32 internal constant _WITNET_BOARD_DATA_SLOTHASH =\\n        /* keccak256(\\\"io.witnet.boards.data\\\") */\\n        0xf595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183;\\n\\n    struct WitnetBoardState {\\n        address base;\\n        address owner;    \\n        uint256 numQueries;\\n        mapping (uint => Witnet.Query) queries;\\n    }\\n\\n    constructor() {\\n        _state().owner = msg.sender;\\n    }\\n\\n    /// Asserts the given query is currently in the given status.\\n    modifier inStatus(uint256 _queryId, Witnet.QueryStatus _status) {\\n      require(\\n          _getQueryStatus(_queryId) == _status,\\n          _getQueryStatusRevertMessage(_status)\\n        );\\n      _;\\n    }\\n\\n    /// Asserts the given query was previously posted and that it was not yet deleted.\\n    modifier notDeleted(uint256 _queryId) {\\n        require(_queryId > 0 && _queryId <= _state().numQueries, \\\"WitnetBoardData: not yet posted\\\");\\n        require(_getRequester(_queryId) != address(0), \\\"WitnetBoardData: deleted\\\");\\n        _;\\n    }\\n\\n    /// Asserts caller corresponds to the current owner. \\n    modifier onlyOwner {\\n        require(msg.sender == _state().owner, \\\"WitnetBoardData: only owner\\\");\\n        _;    \\n    }\\n\\n    /// Asserts the give query was actually posted before calling this method.\\n    modifier wasPosted(uint256 _queryId) {\\n        require(_queryId > 0 && _queryId <= _state().numQueries, \\\"WitnetBoardData: not yet posted\\\");\\n        _;\\n    }\\n\\n    // ================================================================================================================\\n    // --- Internal functions -----------------------------------------------------------------------------------------\\n\\n    /// Gets current status of given query.\\n    function _getQueryStatus(uint256 _queryId)\\n      internal view\\n      returns (Witnet.QueryStatus)\\n    {\\n      if (_queryId == 0 || _queryId > _state().numQueries) {\\n        // \\\"Unknown\\\" status if queryId is out of range:\\n        return Witnet.QueryStatus.Unknown;\\n      }\\n      else {\\n        Witnet.Query storage _query = _state().queries[_queryId];\\n        if (_query.response.drTxHash != 0) {\\n          // Query is in \\\"Reported\\\" status as soon as the hash of the\\n          // Witnet transaction that solved the query is reported\\n          // back from a Witnet bridge:\\n          return Witnet.QueryStatus.Reported;\\n        }\\n        else if (_query.from != address(0)) {\\n          // Otherwise, while address from which the query was posted\\n          // is kept in storage, the query remains in \\\"Posted\\\" status:\\n          return Witnet.QueryStatus.Posted;\\n        }\\n        else {\\n          // Requester's address is removed from storage only if\\n          // the query gets \\\"Deleted\\\" by its requester.\\n          return Witnet.QueryStatus.Deleted;\\n        }\\n      }\\n    }\\n\\n    function _getQueryStatusRevertMessage(Witnet.QueryStatus _status)\\n      internal pure\\n      returns (string memory)\\n    {\\n      if (_status == Witnet.QueryStatus.Posted) {\\n        return \\\"WitnetBoardData: not in Posted status\\\";\\n      } else if (_status == Witnet.QueryStatus.Reported) {\\n        return \\\"WitnetBoardData: not in Reported status\\\";\\n      } else if (_status == Witnet.QueryStatus.Deleted) {\\n        return \\\"WitnetBoardData: not in Deleted status\\\";\\n      } else {\\n        return \\\"WitnetBoardData: bad mood\\\";\\n      }\\n    }\\n\\n    /// Gets from of a given query.\\n    function _getRequester(uint256 _queryId)\\n      internal view\\n      returns (address)\\n    {\\n      return _state().queries[_queryId].from;\\n    }\\n\\n    /// Gets the Witnet.Request part of a given query.\\n    function _getRequestData(uint256 _queryId)\\n      internal view\\n      returns (Witnet.Request storage)\\n    {\\n        return _state().queries[_queryId].request;\\n    }\\n\\n    /// Gets the Witnet.Result part of a given query.\\n    function _getResponseData(uint256 _queryId)\\n      internal view\\n      returns (Witnet.Response storage)\\n    {\\n        return _state().queries[_queryId].response;\\n    }\\n\\n    /// Returns storage pointer to contents of 'WitnetBoardState' struct.\\n    function _state()\\n      internal pure\\n      returns (WitnetBoardState storage _ptr)\\n    {\\n        assembly {\\n            _ptr.slot := _WITNET_BOARD_DATA_SLOTHASH\\n        }\\n    }\\n\\n}\\n\",\"keccak256\":\"0x0c78c9981103e9ed35ace4e5f886a848f9dfe2aa26928adc0d37dabeff6a19db\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/data/WitnetBoardDataACLs.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"./WitnetBoardData.sol\\\";\\n\\n/// @title Witnet Access Control Lists storage layout, for Witnet-trusted request boards.\\n/// @author The Witnet Foundation.\\nabstract contract WitnetBoardDataACLs\\n    is\\n        WitnetBoardData\\n{\\n    bytes32 internal constant _WITNET_BOARD_ACLS_SLOTHASH =\\n        /* keccak256(\\\"io.witnet.boards.data.acls\\\") */\\n        0xa6db7263983f337bae2c9fb315730227961d1c1153ae1e10a56b5791465dd6fd;\\n\\n    struct WitnetBoardACLs {\\n        mapping (address => bool) isReporter_;\\n    }\\n\\n    constructor() {\\n        _acls().isReporter_[msg.sender] = true;\\n    }\\n\\n    modifier onlyReporters {\\n        require(\\n            _acls().isReporter_[msg.sender],\\n            \\\"WitnetBoardDataACLs: unauthorized reporter\\\"\\n        );\\n        _;\\n    } \\n\\n    // ================================================================================================================\\n    // --- Internal functions -----------------------------------------------------------------------------------------\\n\\n    function _acls() internal pure returns (WitnetBoardACLs storage _struct) {\\n        assembly {\\n            _struct.slot := _WITNET_BOARD_ACLS_SLOTHASH\\n        }\\n    }\\n}\\n\",\"keccak256\":\"0x558f28fc690d2f7180da9393bc49083da4857aa8480f044f68355a61ebf21257\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/impls/WitnetProxy.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../patterns/Upgradable.sol\\\";\\n\\n/// @title WitnetProxy: upgradable delegate-proxy contract that routes Witnet data requests coming from a \\n/// `UsingWitnet`-inheriting contract to a currently active `WitnetRequestBoard` implementation. \\n/// @author The Witnet Foundation.\\ncontract WitnetProxy {\\n\\n    struct WitnetProxySlot {\\n        address implementation;\\n    }\\n\\n    /// Event emitted every time the implementation gets updated.\\n    event Upgraded(address indexed implementation);  \\n\\n    /// Constructor with no params as to ease eventual support of Singleton pattern (i.e. ERC-2470).\\n    constructor () {}\\n\\n    /// WitnetProxies will never accept direct transfer of ETHs.\\n    receive() external payable {\\n        revert(\\\"WitnetProxy: no transfers accepted\\\");\\n    }\\n\\n    /// Payable fallback accepts delegating calls to payable functions.  \\n    fallback() external payable { /* solhint-disable no-complex-fallback */\\n        address _implementation = implementation();\\n\\n        assembly { /* solhint-disable avoid-low-level-calls */\\n            // Gas optimized delegate call to 'implementation' contract.\\n            // Note: `msg.data`, `msg.sender` and `msg.value` will be passed over \\n            //       to actual implementation of `msg.sig` within `implementation` contract.\\n            let ptr := mload(0x40)\\n            calldatacopy(ptr, 0, calldatasize())\\n            let result := delegatecall(gas(), _implementation, ptr, calldatasize(), 0, 0)\\n            let size := returndatasize()\\n            returndatacopy(ptr, 0, size)\\n            switch result\\n                case 0  { \\n                    // pass back revert message:\\n                    revert(ptr, size) \\n                }\\n                default {\\n                  // pass back same data as returned by 'implementation' contract:\\n                  return(ptr, size) \\n                }\\n        }\\n    }\\n\\n    /// Returns proxy's current implementation address.\\n    function implementation() public view returns (address) {\\n        return _proxySlot().implementation;\\n    }\\n\\n    /// Upgrades the `implementation` address.\\n    /// @param _newImplementation New implementation address.\\n    /// @param _initData Raw data with which new implementation will be initialized.\\n    /// @return Returns whether new implementation would be further upgradable, or not.\\n    function upgradeTo(address _newImplementation, bytes memory _initData)\\n        public returns (bool)\\n    {\\n        // New implementation cannot be null:\\n        require(_newImplementation != address(0), \\\"WitnetProxy: null implementation\\\");\\n\\n        address _oldImplementation = implementation();\\n        if (_oldImplementation != address(0)) {\\n            // New implementation address must differ from current one:\\n            require(_newImplementation != _oldImplementation, \\\"WitnetProxy: nothing to upgrade\\\");\\n\\n            // Assert whether current implementation is intrinsically upgradable:\\n            try Upgradable(_oldImplementation).isUpgradable() returns (bool _isUpgradable) {\\n                require(_isUpgradable, \\\"WitnetProxy: not upgradable\\\");\\n            } catch {\\n                revert(\\\"WitnetProxy: unable to check upgradability\\\");\\n            }\\n\\n            // Assert whether current implementation allows `msg.sender` to upgrade the proxy:\\n            (bool _wasCalled, bytes memory _result) = _oldImplementation.delegatecall(\\n                abi.encodeWithSignature(\\n                    \\\"isUpgradableFrom(address)\\\",\\n                    msg.sender\\n                )\\n            );\\n            require(_wasCalled, \\\"WitnetProxy: not compliant\\\");\\n            require(abi.decode(_result, (bool)), \\\"WitnetProxy: not authorized\\\");\\n            require(\\n                Upgradable(_oldImplementation).proxiableUUID() == Upgradable(_newImplementation).proxiableUUID(),\\n                \\\"WitnetProxy: proxiableUUIDs mismatch\\\"\\n            );\\n        }\\n\\n        // Initialize new implementation within proxy-context storage:\\n        (bool _wasInitialized,) = _newImplementation.delegatecall(\\n            abi.encodeWithSignature(\\n                \\\"initialize(bytes)\\\",\\n                _initData\\n            )\\n        );\\n        require(_wasInitialized, \\\"WitnetProxy: unable to initialize\\\");\\n\\n        // If all checks and initialization pass, update implementation address:\\n        _proxySlot().implementation = _newImplementation;\\n        emit Upgraded(_newImplementation);\\n\\n        // Asserts new implementation complies w/ minimal implementation of Upgradable interface:\\n        try Upgradable(_newImplementation).isUpgradable() returns (bool _isUpgradable) {\\n            return _isUpgradable;\\n        }\\n        catch {\\n            revert (\\\"WitnetProxy: not compliant\\\");\\n        }\\n    }\\n\\n    /// @dev Complying with EIP-1967, retrieves storage struct containing proxy's current implementation address.\\n    function _proxySlot() private pure returns (WitnetProxySlot storage _slot) {\\n        assembly {\\n            // bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)\\n            _slot.slot := 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\\n        }\\n    }\\n\\n}\\n\",\"keccak256\":\"0xcfdb698b63b9300631b046ecd8e16dbff90e8b4e84fdf1d629195ad17c8234d0\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/impls/WitnetRequestBoardUpgradableBase.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\n/* solhint-disable var-name-mixedcase */\\n\\n// Inherits from:\\nimport \\\"../WitnetRequestBoard.sol\\\";\\nimport \\\"../patterns/Proxiable.sol\\\";\\nimport \\\"../patterns/Upgradable.sol\\\";\\n\\n// Eventual deployment dependencies:\\nimport \\\"./WitnetProxy.sol\\\";\\n\\n/// @title Witnet Request Board base contract, with an Upgradable (and Destructible) touch.\\n/// @author The Witnet Foundation.\\nabstract contract WitnetRequestBoardUpgradableBase\\n    is\\n        Proxiable,\\n        Upgradable,\\n        WitnetRequestBoard\\n{\\n    bytes32 internal immutable _VERSION;\\n\\n    constructor(\\n            bool _upgradable,\\n            bytes32 _versionTag\\n        )\\n        Upgradable(_upgradable)\\n    {\\n        _VERSION = _versionTag;\\n    }\\n\\n    /// @dev Reverts if proxy delegatecalls to unexistent method.\\n    fallback() external payable {\\n        revert(\\\"WitnetRequestBoardUpgradableBase: not implemented\\\");\\n    }\\n\\n    // ================================================================================================================\\n    // --- Overrides 'Proxiable' --------------------------------------------------------------------------------------\\n\\n    /// @dev Gets immutable \\\"heritage blood line\\\" (ie. genotype) as a Proxiable, and eventually Upgradable, contract.\\n    ///      If implemented as an Upgradable touch, upgrading this contract to another one with a different \\n    ///      `proxiableUUID()` value should fail.\\n    function proxiableUUID() external pure override returns (bytes32) {\\n        return (\\n            /* keccak256(\\\"io.witnet.proxiable.board\\\") */\\n            0x9969c6aff411c5e5f0807500693e8f819ce88529615cfa6cab569b24788a1018\\n        );\\n    }   \\n\\n    // ================================================================================================================\\n    // --- Overrides 'Upgradable' --------------------------------------------------------------------------------------\\n\\n    /// Retrieves human-readable version tag of current implementation.\\n    function version() public view override returns (bytes32) {\\n        return _VERSION;\\n    }\\n\\n}\\n\",\"keccak256\":\"0x0930557dfafb03730e716e0af67ba7637a562f304ead6f2cedfa2c0eee91a65c\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableBase.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../WitnetRequestBoardUpgradableBase.sol\\\";\\nimport \\\"../../data/WitnetBoardDataACLs.sol\\\";\\nimport \\\"../../interfaces/IWitnetRequestBoardAdmin.sol\\\";\\nimport \\\"../../interfaces/IWitnetRequestBoardAdminACLs.sol\\\";\\nimport \\\"../../libs/WitnetParserLib.sol\\\";\\nimport \\\"../../patterns/Payable.sol\\\";\\n\\n/// @title Witnet Request Board \\\"trustable\\\" base implementation contract.\\n/// @notice Contract to bridge requests to Witnet Decentralized Oracle Network.\\n/// @dev This contract enables posting requests that Witnet bridges will insert into the Witnet network.\\n/// The result of the requests will be posted back to this contract by the bridge nodes too.\\n/// @author The Witnet Foundation\\nabstract contract WitnetRequestBoardTrustableBase\\n    is \\n        Payable,\\n        IWitnetRequestBoardAdmin,\\n        IWitnetRequestBoardAdminACLs,        \\n        WitnetBoardDataACLs,\\n        WitnetRequestBoardUpgradableBase        \\n{\\n    using Witnet for bytes;\\n    using WitnetParserLib for Witnet.Result;\\n    \\n    constructor(bool _upgradable, bytes32 _versionTag, address _currency)\\n        Payable(_currency)\\n        WitnetRequestBoardUpgradableBase(_upgradable, _versionTag)\\n    {}\\n\\n\\n    // ================================================================================================================\\n    // --- Overrides 'Upgradable' -------------------------------------------------------------------------------------\\n\\n    /// Initialize storage-context when invoked as delegatecall. \\n    /// @dev Must fail when trying to initialize same instance more than once.\\n    function initialize(bytes memory _initData) virtual external override {\\n        address _owner = _state().owner;\\n        if (_owner == address(0)) {\\n            // set owner if none set yet\\n            _owner = msg.sender;\\n            _state().owner = _owner;\\n        } else {\\n            // only owner can initialize:\\n            require(msg.sender == _owner, \\\"WitnetRequestBoardTrustableBase: only owner\\\");\\n        }        \\n\\n        if (_state().base != address(0)) {\\n            // current implementation cannot be initialized more than once:\\n            require(_state().base != base(), \\\"WitnetRequestBoardTrustableBase: already initialized\\\");\\n        }        \\n        _state().base = base();\\n\\n        emit Upgraded(msg.sender, base(), codehash(), version());\\n\\n        // Do actual base initialization:\\n        setReporters(abi.decode(_initData, (address[])));\\n    }\\n\\n    /// Tells whether provided address could eventually upgrade the contract.\\n    function isUpgradableFrom(address _from) external view override returns (bool) {\\n        address _owner = _state().owner;\\n        return (\\n            // false if the WRB is intrinsically not upgradable, or `_from` is no owner\\n            isUpgradable()\\n                && _owner == _from\\n        );\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestBoardAdmin' ----------------------------------------------------------\\n\\n    /// Gets admin/owner address.\\n    function owner()\\n        public view\\n        override\\n        returns (address)\\n    {\\n        return _state().owner;\\n    }\\n\\n    /// Transfers ownership.\\n    function transferOwnership(address _newOwner)\\n        external\\n        virtual override\\n        onlyOwner\\n    {\\n        address _owner = _state().owner;\\n        if (_newOwner != _owner) {\\n            _state().owner = _newOwner;\\n            emit OwnershipTransferred(_owner, _newOwner);\\n        }\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestBoardAdminACLs' ------------------------------------------------------\\n\\n    /// Tells whether given address is included in the active reporters control list.\\n    /// @param _reporter The address to be checked.\\n    function isReporter(address _reporter) public view override returns (bool) {\\n        return _acls().isReporter_[_reporter];\\n    }\\n\\n    /// Adds given addresses to the active reporters control list.\\n    /// @dev Can only be called from the owner address.\\n    /// @dev Emits the `ReportersSet` event. \\n    /// @param _reporters List of addresses to be added to the active reporters control list.\\n    function setReporters(address[] memory _reporters)\\n        public\\n        override\\n        onlyOwner\\n    {\\n        for (uint ix = 0; ix < _reporters.length; ix ++) {\\n            address _reporter = _reporters[ix];\\n            _acls().isReporter_[_reporter] = true;\\n        }\\n        emit ReportersSet(_reporters);\\n    }\\n\\n    /// Removes given addresses from the active reporters control list.\\n    /// @dev Can only be called from the owner address.\\n    /// @dev Emits the `ReportersUnset` event. \\n    /// @param _exReporters List of addresses to be added to the active reporters control list.\\n    function unsetReporters(address[] memory _exReporters)\\n        public\\n        override\\n        onlyOwner\\n    {\\n        for (uint ix = 0; ix < _exReporters.length; ix ++) {\\n            address _reporter = _exReporters[ix];\\n            _acls().isReporter_[_reporter] = false;\\n        }\\n        emit ReportersUnset(_exReporters);\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestBoardReporter' -------------------------------------------------------\\n\\n    /// Reports the Witnet-provided result to a previously posted request. \\n    /// @dev Will assume `block.timestamp` as the timestamp at which the request was solved.\\n    /// @dev Fails if:\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique identifier of the data request.\\n    /// @param _drTxHash The hash of the solving tally transaction in Witnet.\\n    /// @param _cborBytes The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            bytes32 _drTxHash,\\n            bytes calldata _cborBytes\\n        )\\n        external\\n        override\\n        onlyReporters\\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n    {\\n        require(_drTxHash != 0, \\\"WitnetRequestBoardTrustableDefault: Witnet drTxHash cannot be zero\\\");\\n        // Ensures the result bytes do not have zero length\\n        // This would not be a valid encoding with CBOR and could trigger a reentrancy attack\\n        require(_cborBytes.length != 0, \\\"WitnetRequestBoardTrustableDefault: result cannot be empty\\\");\\n        // solhint-disable not-rely-on-time\\n        _safeTransferTo(\\n            payable(msg.sender),\\n            __reportResult(\\n                _queryId,\\n                block.timestamp,\\n                _drTxHash,\\n                _cborBytes\\n            )\\n        );\\n        emit PostedResult(_queryId, msg.sender);\\n    }\\n\\n    /// Reports the Witnet-provided result to a previously posted request.\\n    /// @dev Fails if:\\n    /// @dev - called from unauthorized address;\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique query identifier\\n    /// @param _timestamp The timestamp of the solving tally transaction in Witnet.\\n    /// @param _drTxHash The hash of the solving tally transaction in Witnet.\\n    /// @param _cborBytes The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            uint256 _timestamp,\\n            bytes32 _drTxHash,\\n            bytes calldata _cborBytes\\n        )\\n        external\\n        override\\n        onlyReporters\\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n    {\\n        require(_timestamp <= block.timestamp, \\\"WitnetRequestBoardTrustableDefault: bad timestamp\\\");\\n        require(_drTxHash != 0, \\\"WitnetRequestBoardTrustableDefault: Witnet drTxHash cannot be zero\\\");\\n        // Ensures the result bytes do not have zero length\\n        // This would not be a valid encoding with CBOR and could trigger a reentrancy attack\\n        require(_cborBytes.length != 0, \\\"WitnetRequestBoardTrustableDefault: result cannot be empty\\\");\\n        _safeTransferTo(\\n            payable(msg.sender),\\n            __reportResult(\\n                _queryId,\\n                _timestamp,\\n                _drTxHash,\\n                _cborBytes\\n            )\\n        );\\n        emit PostedResult(_queryId, msg.sender);\\n    }\\n\\n    /// Reports Witnet-provided results to multiple requests within a single EVM tx.\\n    /// @dev Fails if called from unauthorized address.\\n    /// @dev Emits a PostedResult event for every succesfully reported result, if any.\\n    /// @param _batchResults Array of BatchedResult structs, every one containing:\\n    ///         - unique query identifier;\\n    ///         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;\\n    ///         - hash of the corresponding data request tx at the Witnet side-chain level;\\n    ///         - data request result in raw bytes.\\n    /// @param _verbose If true, emits a BatchReportError event for every failing report, if any. \\n    function reportResultBatch(\\n            BatchResult[] memory _batchResults,\\n            bool _verbose\\n        )\\n        external\\n        override\\n        onlyReporters\\n    {\\n        uint _batchReward;\\n        uint _batchSize = _batchResults.length;\\n        for ( uint _i = 0; _i < _batchSize; _i ++) {\\n            BatchResult memory _result = _batchResults[_i];\\n            if (_getQueryStatus(_result.queryId) != Witnet.QueryStatus.Posted) {\\n                if (_verbose) {\\n                    emit BatchReportError(\\n                        _result.queryId,\\n                        \\\"WitnetRequestBoardTrustableBase: bad queryId\\\"\\n                    );\\n                }\\n            } else if (_result.drTxHash == 0) {\\n                if (_verbose) {\\n                    emit BatchReportError(\\n                        _result.queryId,\\n                        \\\"WitnetRequestBoardTrustableBase: bad drTxHash\\\"\\n                    );\\n                }\\n            } else if (_result.cborBytes.length == 0) {\\n                if (_verbose) {\\n                    emit BatchReportError(\\n                        _result.queryId, \\n                        \\\"WitnetRequestBoardTrustableBase: bad cborBytes\\\"\\n                    );\\n                }\\n            } else if (_result.timestamp > 0 && _result.timestamp > block.timestamp) {\\n                if (_verbose) {\\n                    emit BatchReportError(\\n                        _result.queryId,\\n                        \\\"WitnetRequestBoardTrustableBase: bad timestamp\\\"\\n                    );\\n                }\\n            } else {\\n                _batchReward += __reportResult(\\n                    _result.queryId,\\n                    _result.timestamp == 0 ? block.timestamp : _result.timestamp,\\n                    _result.drTxHash,\\n                    _result.cborBytes\\n                );\\n                emit PostedResult(\\n                    _result.queryId,\\n                    msg.sender\\n                );\\n            }\\n        }   \\n        // Transfer all successful rewards in one single shot to the authorized reporter, if any:\\n        if (_batchReward > 0) {\\n            _safeTransferTo(\\n                payable(msg.sender),\\n                _batchReward\\n            );\\n        }\\n    }\\n    \\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestBoardRequestor' ------------------------------------------------------\\n\\n    /// Retrieves copy of all response data related to a previously posted request, removing the whole query from storage.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status, or called from an address different to\\n    /// @dev the one that actually posted the given request.\\n    /// @param _queryId The unique query identifier.\\n    function deleteQuery(uint256 _queryId)\\n        public\\n        virtual override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (Witnet.Response memory _response)\\n    {\\n        Witnet.Query storage __query = _state().queries[_queryId];\\n        require(\\n            msg.sender == __query.from,\\n            \\\"WitnetRequestBoardTrustableBase: only requester\\\"\\n        );\\n        _response = __query.response;\\n        delete _state().queries[_queryId];\\n        emit DeletedQuery(_queryId, msg.sender);\\n    }\\n\\n    /// Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON.\\n    /// A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided \\n    /// result to this request.\\n    /// @dev Fails if:\\n    /// @dev - provided reward is too low.\\n    /// @dev - provided script is zero address.\\n    /// @dev - provided script bytecode is empty.\\n    /// @param _addr The address of a IWitnetRequest contract, containing the actual Data Request seralized bytecode.\\n    /// @return _queryId An unique query identifier.\\n    function postRequest(IWitnetRequest _addr)\\n        public payable\\n        virtual override\\n        returns (uint256 _queryId)\\n    {\\n        uint256 _value = _getMsgValue();\\n        uint256 _gasPrice = _getGasPrice();\\n\\n        // Checks the tally reward is covering gas cost\\n        uint256 minResultReward = estimateReward(_gasPrice);\\n        require(_value >= minResultReward, \\\"WitnetRequestBoardTrustableBase: reward too low\\\");\\n\\n        // Validates provided script:\\n        require(address(_addr) != address(0), \\\"WitnetRequestBoardTrustableBase: null script\\\");\\n        bytes memory _bytecode = _addr.bytecode();\\n        require(_bytecode.length > 0, \\\"WitnetRequestBoardTrustableBase: empty script\\\");\\n\\n        _queryId = ++ _state().numQueries;\\n        _state().queries[_queryId].from = msg.sender;\\n\\n        Witnet.Request storage _request = _getRequestData(_queryId);\\n        _request.addr = _addr;\\n        _request.hash = _bytecode.hash();\\n        _request.gasprice = _gasPrice;\\n        _request.reward = _value;\\n\\n        // Let observers know that a new request has been posted\\n        emit PostedRequest(_queryId, msg.sender);\\n    }\\n    \\n    /// Increments the reward of a previously posted request by adding the transaction value to it.\\n    /// @dev Updates request `gasPrice` in case this method is called with a higher \\n    /// @dev gas price value than the one used in previous calls to `postRequest` or\\n    /// @dev `upgradeReward`. \\n    /// @dev Fails if the `_queryId` is not in 'Posted' status.\\n    /// @dev Fails also in case the request `gasPrice` is increased, and the new \\n    /// @dev reward value gets below new recalculated threshold. \\n    /// @param _queryId The unique query identifier.\\n    function upgradeReward(uint256 _queryId)\\n        public payable\\n        virtual override      \\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n    {\\n        Witnet.Request storage _request = _getRequestData(_queryId);\\n\\n        uint256 _newReward = _request.reward + _getMsgValue();\\n        uint256 _newGasPrice = _getGasPrice();\\n\\n        // If gas price is increased, then check if new rewards cover gas costs\\n        if (_newGasPrice > _request.gasprice) {\\n            // Checks the reward is covering gas cost\\n            uint256 _minResultReward = estimateReward(_newGasPrice);\\n            require(\\n                _newReward >= _minResultReward,\\n                \\\"WitnetRequestBoardTrustableBase: reward too low\\\"\\n            );\\n            _request.gasprice = _newGasPrice;\\n        }\\n        _request.reward = _newReward;\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestBoardView' -----------------------------------------------------------\\n\\n    /// Estimates the amount of reward we need to insert for a given gas price.\\n    /// @param _gasPrice The gas price for which we need to calculate the rewards.\\n    function estimateReward(uint256 _gasPrice)\\n        public view\\n        virtual override\\n        returns (uint256);\\n\\n    /// Returns next request id to be generated by the Witnet Request Board.\\n    function getNextQueryId()\\n        external view \\n        override\\n        returns (uint256)\\n    {\\n        return _state().numQueries + 1;\\n    }\\n\\n    /// Gets the whole Query data contents, if any, no matter its current status.\\n    function getQueryData(uint256 _queryId)\\n      external view\\n      override\\n      returns (Witnet.Query memory)\\n    {\\n        return _state().queries[_queryId];\\n    }\\n\\n    /// Gets current status of given query.\\n    function getQueryStatus(uint256 _queryId)\\n        external view\\n        override\\n        returns (Witnet.QueryStatus)\\n    {\\n        return _getQueryStatus(_queryId);\\n\\n    }\\n\\n    /// Retrieves the whole Request record posted to the Witnet Request Board.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been reported\\n    /// @dev or deleted.\\n    /// @param _queryId The unique identifier of a previously posted query.\\n    function readRequest(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n        returns (Witnet.Request memory _request)\\n    {\\n        Witnet.Query storage __query = _state().queries[_queryId];\\n        _request = __query.request;\\n        if (__query.from != address(0)) {\\n            _request.requester = __query.from;\\n        }\\n    }\\n    \\n    /// Retrieves the serialized bytecode of a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not valid, or if the related script bytecode \\n    /// @dev got changed after being posted. Returns empty array once it gets reported, \\n    /// @dev or deleted.\\n    /// @param _queryId The unique query identifier.\\n    function readRequestBytecode(uint256 _queryId)\\n        external view\\n        override\\n        returns (bytes memory _bytecode)\\n    {\\n        require(\\n            _getQueryStatus(_queryId) != Witnet.QueryStatus.Unknown,\\n            \\\"WitnetRequestBoardTrustableBase: not yet posted\\\"\\n        );\\n        Witnet.Request storage _request = _getRequestData(_queryId);\\n        if (address(_request.addr) != address(0)) {\\n            // if DR's request contract address is not zero,\\n            // we assume the DR has not been deleted, so\\n            // DR's bytecode can still be fetched:\\n            _bytecode = _request.addr.bytecode();\\n            require(\\n                _bytecode.hash() == _request.hash,\\n                \\\"WitnetRequestBoardTrustableBase: bytecode changed after posting\\\"\\n            );\\n        } \\n    }\\n\\n    /// Retrieves the gas price that any assigned reporter will have to pay when reporting \\n    /// result to a previously posted Witnet data request.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifier\\n    function readRequestGasPrice(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n        returns (uint256)\\n    {\\n        return _state().queries[_queryId].request.gasprice;\\n    }\\n\\n    /// Retrieves the reward currently set for a previously posted request.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifier\\n    function readRequestReward(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Posted)\\n        returns (uint256)\\n    {\\n        return _state().queries[_queryId].request.reward;\\n    }\\n\\n    /// Retrieves the Witnet-provided result, and metadata, to a previously posted request.    \\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier\\n    function readResponse(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (Witnet.Response memory _response)\\n    {\\n        return _getResponseData(_queryId);\\n    }\\n\\n    /// Retrieves the hash of the Witnet transaction that actually solved the referred query.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseDrTxHash(uint256 _queryId)\\n        external view        \\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (bytes32)\\n    {\\n        return _getResponseData(_queryId).drTxHash;\\n    }\\n\\n    /// Retrieves the address that reported the result to a previously-posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier\\n    function readResponseReporter(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (address)\\n    {\\n        return _getResponseData(_queryId).reporter;\\n    }\\n\\n    /// Retrieves the Witnet-provided CBOR-bytes result of a previously posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier\\n    function readResponseResult(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (Witnet.Result memory)\\n    {\\n        Witnet.Response storage _response = _getResponseData(_queryId);\\n        return WitnetParserLib.resultFromCborBytes(_response.cborBytes);\\n    }\\n\\n    /// Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseTimestamp(uint256 _queryId)\\n        external view\\n        override\\n        inStatus(_queryId, Witnet.QueryStatus.Reported)\\n        returns (uint256)\\n    {\\n        return _getResponseData(_queryId).timestamp;\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Full implementation of 'IWitnetRequestParser' interface ----------------------------------------------------\\n\\n    /// Decode raw CBOR bytes into a Witnet.Result instance.\\n    /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborBytes(bytes memory _cborBytes)\\n        external pure\\n        override\\n        returns (Witnet.Result memory)\\n    {\\n        return WitnetParserLib.resultFromCborBytes(_cborBytes);\\n    }\\n\\n    /// Decode a CBOR value into a Witnet.Result instance.\\n    /// @param _cborValue An instance of `Witnet.CBOR`.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborValue(Witnet.CBOR memory _cborValue)\\n        external pure\\n        override\\n        returns (Witnet.Result memory)\\n    {\\n        return WitnetParserLib.resultFromCborValue(_cborValue);\\n    }\\n\\n    /// Tell if a Witnet.Result is successful.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if successful, `false` if errored.\\n    function isOk(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (bool)\\n    {\\n        return _result.isOk();\\n    }\\n\\n    /// Tell if a Witnet.Result is errored.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if errored, `false` if successful.\\n    function isError(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (bool)\\n    {\\n        return _result.isError();\\n    }\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes` decoded from the Witnet.Result.\\n    function asBytes(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (bytes memory)\\n    {\\n        return _result.asBytes();\\n    }\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes32` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes32` decoded from the Witnet.Result.\\n    function asBytes32(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (bytes32)\\n    {\\n        return _result.asBytes32();\\n    }\\n\\n    /// Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `CBORValue.Error memory` decoded from the Witnet.Result.\\n    function asErrorCode(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (Witnet.ErrorCodes)\\n    {\\n        return _result.asErrorCode();\\n    }\\n\\n    /// Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\\n    /// @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\\n    function asErrorMessage(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (Witnet.ErrorCodes, string memory)\\n    {\\n        try _result.asErrorMessage() returns (Witnet.ErrorCodes _code, string memory _message) {\\n            return (_code, _message);\\n        } \\n        catch Error(string memory _reason) {\\n            return (Witnet.ErrorCodes.Unknown, _reason);\\n        }\\n        catch (bytes memory) {\\n            return (Witnet.ErrorCodes.UnhandledIntercept, \\\"WitnetRequestBoardTrustableBase: failing assert\\\");\\n        }\\n    }\\n\\n    /// Decode a raw error from a `Witnet.Result` as a `uint64[]`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `uint64[]` raw error as decoded from the `Witnet.Result`.\\n    function asRawError(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns(uint64[] memory)\\n    {\\n        return _result.asRawError();\\n    }\\n\\n    /// Decode a boolean value from a Witnet.Result as an `bool` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bool` decoded from the Witnet.Result.\\n    function asBool(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (bool)\\n    {\\n        return _result.asBool();\\n    }\\n\\n    /// Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\\n    /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\\n    /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\\n    /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asFixed16(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (int32)\\n    {\\n        return _result.asFixed16();\\n    }\\n\\n    /// Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asFixed16Array(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (int32[] memory)\\n    {\\n        return _result.asFixed16Array();\\n    }\\n\\n    /// Decode a integer numeric value from a Witnet.Result as an `int128` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asInt128(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (int128)\\n    {\\n        return _result.asInt128();\\n    }\\n\\n    /// Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asInt128Array(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (int128[] memory)\\n    {\\n        return _result.asInt128Array();\\n    }\\n\\n    /// Decode a string value from a Witnet.Result as a `string` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string` decoded from the Witnet.Result.\\n    function asString(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (string memory)\\n    {\\n        return _result.asString();\\n    }\\n\\n    /// Decode an array of string values from a Witnet.Result as a `string[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string[]` decoded from the Witnet.Result.\\n    function asStringArray(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (string[] memory)\\n    {\\n        return _result.asStringArray();\\n    }\\n\\n    /// Decode a natural numeric value from a Witnet.Result as a `uint64` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64` decoded from the Witnet.Result.\\n    function asUint64(Witnet.Result memory _result)\\n        external pure \\n        override\\n        returns(uint64)\\n    {\\n        return _result.asUint64();\\n    }\\n\\n    /// Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64[]` decoded from the Witnet.Result.\\n    function asUint64Array(Witnet.Result memory _result)\\n        external pure\\n        override\\n        returns (uint64[] memory)\\n    {\\n        return _result.asUint64Array();\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Internal functions -----------------------------------------------------------------------------------------\\n\\n    function __reportResult(\\n            uint256 _queryId,\\n            uint256 _timestamp,\\n            bytes32 _drTxHash,\\n            bytes memory _cborBytes\\n        )\\n        internal\\n        returns (uint256 _reward)\\n    {\\n        Witnet.Query storage __query = _state().queries[_queryId];\\n        Witnet.Request storage __request = __query.request;\\n        Witnet.Response storage __response = __query.response;\\n\\n        // solhint-disable not-rely-on-time\\n        __response.timestamp = _timestamp;\\n        __response.drTxHash = _drTxHash;\\n        __response.reporter = msg.sender;\\n        __response.cborBytes = _cborBytes;\\n\\n        // return request latest reward\\n        _reward = __request.reward;\\n\\n        // Request data won't be needed anymore, so it can just get deleted right now:  \\n        delete __query.request;\\n    }\\n}\\n\",\"keccak256\":\"0x6b6ccba7e686a69bf0847b9c541e3997f14f3f91246c63fbadd412ba78c4a8d4\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/impls/trustable/WitnetRequestBoardTrustableDefault.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\n/* solhint-disable var-name-mixedcase */\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./WitnetRequestBoardTrustableBase.sol\\\";\\nimport \\\"../../patterns/Destructible.sol\\\";\\n\\n/// @title Witnet Request Board \\\"trustable\\\" implementation contract.\\n/// @notice Contract to bridge requests to Witnet Decentralized Oracle Network.\\n/// @dev This contract enables posting requests that Witnet bridges will insert into the Witnet network.\\n/// The result of the requests will be posted back to this contract by the bridge nodes too.\\n/// @author The Witnet Foundation\\ncontract WitnetRequestBoardTrustableDefault\\n    is \\n        Destructible,\\n        WitnetRequestBoardTrustableBase\\n{  \\n    uint256 internal immutable _ESTIMATED_REPORT_RESULT_GAS;\\n\\n    constructor(\\n        bool _upgradable,\\n        bytes32 _versionTag,\\n        uint256 _reportResultGasLimit\\n    )\\n        WitnetRequestBoardTrustableBase(_upgradable, _versionTag, address(0))\\n    {\\n        _ESTIMATED_REPORT_RESULT_GAS = _reportResultGasLimit;\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Overrides implementation of 'IWitnetRequestBoardView' ------------------------------------------------------\\n\\n    /// Estimates the amount of reward we need to insert for a given gas price.\\n    /// @param _gasPrice The gas price for which we need to calculate the rewards.\\n    function estimateReward(uint256 _gasPrice)\\n        public view\\n        virtual override\\n        returns (uint256)\\n    {\\n        return _gasPrice * _ESTIMATED_REPORT_RESULT_GAS;\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Overrides 'Destructible' -----------------------------------------------------------------------------------\\n\\n    /// Destroys current instance. Only callable by the owner.\\n    function destruct() external override onlyOwner {\\n        selfdestruct(payable(msg.sender));\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- Overrides 'Payable' ----------------------------------------------------------------------------------------\\n\\n    /// Gets current transaction price.\\n    function _getGasPrice()\\n        internal view\\n        override\\n        returns (uint256)\\n    {\\n        return tx.gasprice;\\n    }\\n\\n    /// Gets current payment value.\\n    function _getMsgValue()\\n        internal view\\n        override\\n        returns (uint256)\\n    {\\n        return msg.value;\\n    }\\n\\n    /// Transfers ETHs to given address.\\n    /// @param _to Recipient address.\\n    /// @param _amount Amount of ETHs to transfer.\\n    function _safeTransferTo(address payable _to, uint256 _amount)\\n        internal\\n        override\\n    {\\n        payable(_to).transfer(_amount);\\n    }   \\n}\\n\",\"keccak256\":\"0xc89e1a65e9045323dda045c8552adc0a329697e2f144911b4059c68673999f9c\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IERC20.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/**\\n * @dev Interface of the ERC20 standard as defined in the EIP.\\n */\\ninterface IERC20 {\\n    /// Returns the amount of tokens in existence.\\n    function totalSupply() external view returns (uint256);\\n\\n    /// Returns the amount of tokens owned by `_account`.\\n    function balanceOf(address _account) external view returns (uint256);\\n\\n    /// Moves `_amount` tokens from the caller's account to `_recipient`.\\n    /// Returns a boolean value indicating whether the operation succeeded.\\n    /// Emits a {Transfer} event.\\n    function transfer(address _recipient, uint256 _amount) external returns (bool);\\n\\n    /// Returns the remaining number of tokens that `_spender` will be\\n    /// allowed to spend on behalf of `_owner` through {transferFrom}. This is\\n    /// zero by default.\\n    /// This value changes when {approve} or {transferFrom} are called.\\n    function allowance(address _owner, address _spender) external view returns (uint256);\\n\\n    /// Sets `_amount` as the allowance of `_spender` over the caller's tokens.\\n    /// Returns a boolean value indicating whether the operation succeeded.\\n    /// \\n    /// IMPORTANT: Beware that changing an allowance with this method brings the risk\\n    /// that someone may use both the old and the new allowance by unfortunate\\n    /// transaction ordering. One possible solution to mitigate this race\\n    /// condition is to first reduce the spender's allowance to 0 and set the\\n    /// desired value afterwards:\\n    /// https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\\n    ///\\n    /// Emits an {Approval} event.     \\n    function approve(address _spender, uint256 _amount) external returns (bool);\\n\\n    /// Moves `amount` tokens from `_sender` to `_recipient` using the\\n    /// allowance mechanism. `amount` is then deducted from the caller's\\n    /// allowance.\\n    /// Returns a boolean value indicating whether the operation succeeded.\\n    /// Emits a {Transfer} event. \\n    function transferFrom(\\n        address _sender,\\n        address _recipient,\\n        uint256 _amount\\n    ) external returns (bool);\\n\\n    /// Emitted when `value` tokens are moved from one account (`from`) to\\n    /// another (`to`).\\n    /// Note that `:value` may be zero.\\n    event Transfer(address indexed from, address indexed to, uint256 value);\\n\\n    /// Emitted when the allowance of a `spender` for an `owner` is set by\\n    /// a call to {approve}. `value` is the new allowance.\\n    event Approval(address indexed owner, address indexed spender, uint256 value);\\n}\\n\",\"keccak256\":\"0xd6b25613fab1f6172ca58e377371a0b708f1af8982961364fecf9da196213f48\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardAdmin.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title Witnet Request Board basic administration interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardAdmin {\\n    event OwnershipTransferred(address indexed from, address indexed to);\\n\\n    /// Gets admin/owner address.\\n    function owner() external view returns (address);\\n\\n    /// Transfers ownership.\\n    function transferOwnership(address) external;\\n}\\n\",\"keccak256\":\"0xa88e828c55cb4e2c1ef02c9204e367d3034fc2e35cc881581d898942b9715d50\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardAdminACLs.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title Witnet Request Board ACLs administration interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardAdminACLs {\\n    event ReportersSet(address[] reporters);\\n    event ReportersUnset(address[] reporters);\\n\\n    /// Tells whether given address is included in the active reporters control list.\\n    function isReporter(address) external view returns (bool);\\n\\n    /// Adds given addresses to the active reporters control list.\\n    /// @dev Can only be called from the owner address.\\n    /// @dev Emits the `ReportersSet` event. \\n    function setReporters(address[] calldata reporters) external;\\n\\n    /// Removes given addresses from the active reporters control list.\\n    /// @dev Can only be called from the owner address.\\n    /// @dev Emits the `ReportersUnset` event. \\n    function unsetReporters(address[] calldata reporters) external;\\n}\\n\",\"keccak256\":\"0xafcd6f01a977d597032b341fec291ea7e26b1dac3eb13eced8b37d89eb76e4ff\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardEvents.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title Witnet Request Board emitting events interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardEvents {\\n    /// Emitted when a Witnet Data Request is posted to the WRB.\\n    event PostedRequest(uint256 queryId, address from);\\n\\n    /// Emitted when a Witnet-solved result is reported to the WRB.\\n    event PostedResult(uint256 queryId, address from);\\n\\n    /// Emitted when all data related to given query is deleted from the WRB.\\n    event DeletedQuery(uint256 queryId, address from);\\n}\\n\",\"keccak256\":\"0xe2cb1369ba158db394c0380231f99174a88d62a66b0e7f8be14179b8c2fbd12f\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardReporter.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Request Board Reporter interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardReporter {\\n    /// Reports the Witnet-provided result to a previously posted request. \\n    /// @dev Will assume `block.timestamp` as the timestamp at which the request was solved.\\n    /// @dev Fails if:\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique identifier of the data request.\\n    /// @param _drTxHash The hash of the corresponding data request transaction in Witnet.\\n    /// @param _result The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            bytes32 _drTxHash,\\n            bytes calldata _result\\n        ) external;\\n\\n    /// Reports the Witnet-provided result to a previously posted request.\\n    /// @dev Fails if:\\n    /// @dev - called from unauthorized address;\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique query identifier\\n    /// @param _timestamp The timestamp of the solving tally transaction in Witnet.\\n    /// @param _drTxHash The hash of the corresponding data request transaction in Witnet.\\n    /// @param _result The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            uint256 _timestamp,\\n            bytes32 _drTxHash,\\n            bytes calldata _result\\n        ) external;\\n\\n    /// Reports Witnet-provided results to multiple requests within a single EVM tx.\\n    /// @dev Must emit a PostedResult event for every succesfully reported result.\\n    /// @param _batchResults Array of BatchResult structs, every one containing:\\n    ///         - unique query identifier;\\n    ///         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;\\n    ///         - hash of the corresponding data request tx at the Witnet side-chain level;\\n    ///         - data request result in raw bytes.\\n    /// @param _verbose If true, must emit a BatchReportError event for every failing report, if any. \\n    function reportResultBatch(BatchResult[] calldata _batchResults, bool _verbose) external;\\n        \\n        struct BatchResult {\\n            uint256 queryId;\\n            uint256 timestamp;\\n            bytes32 drTxHash;\\n            bytes   cborBytes;\\n        }\\n\\n        event BatchReportError(uint256 queryId, string reason);\\n}\\n\",\"keccak256\":\"0x70655a9a394143ac1f03477a2cca5e2d1773523832bf127b9e9971596c105812\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardRequestor.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Requestor Interface\\n/// @notice It defines how to interact with the Witnet Request Board in order to:\\n///   - request the execution of Witnet Radon scripts (data request);\\n///   - upgrade the resolution reward of any previously posted request, in case gas price raises in mainnet;\\n///   - read the result of any previously posted request, eventually reported by the Witnet DON.\\n///   - remove from storage all data related to past and solved data requests, and results.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardRequestor {\\n    /// Retrieves a copy of all Witnet-provided data related to a previously posted request, removing the whole query from the WRB storage.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status, or called from an address different to\\n    /// @dev the one that actually posted the given request.\\n    /// @param _queryId The unique query identifier.\\n    function deleteQuery(uint256 _queryId) external returns (Witnet.Response memory);\\n\\n    /// Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON.\\n    /// A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided \\n    /// result to this request.\\n    /// @dev Fails if:\\n    /// @dev - provided reward is too low.\\n    /// @dev - provided script is zero address.\\n    /// @dev - provided script bytecode is empty.\\n    /// @param _addr The address of the IWitnetRequest contract that can provide the actual Data Request bytecode.\\n    /// @return _queryId An unique query identifier.\\n    function postRequest(IWitnetRequest _addr) external payable returns (uint256 _queryId);\\n\\n    /// Increments the reward of a previously posted request by adding the transaction value to it.\\n    /// @dev Updates request `gasPrice` in case this method is called with a higher \\n    /// @dev gas price value than the one used in previous calls to `postRequest` or\\n    /// @dev `upgradeReward`. \\n    /// @dev Fails if the `_queryId` is not in 'Posted' status.\\n    /// @dev Fails also in case the request `gasPrice` is increased, and the new \\n    /// @dev reward value gets below new recalculated threshold. \\n    /// @param _queryId The unique query identifier.\\n    function upgradeReward(uint256 _queryId) external payable;\\n}\\n\",\"keccak256\":\"0x7c7a991de5f087102b1931d5d8b2e3716d7a90354b3cbafef95d2509a0643453\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardView.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Request Board info interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardView {\\n    /// Estimates the amount of reward we need to insert for a given gas price.\\n    /// @param _gasPrice The gas price for which we need to calculate the rewards.\\n    function estimateReward(uint256 _gasPrice) external view returns (uint256);\\n\\n    /// Returns next query id to be generated by the Witnet Request Board.\\n    function getNextQueryId() external view returns (uint256);\\n\\n    /// Gets the whole Query data contents, if any, no matter its current status.\\n    function getQueryData(uint256 _queryId) external view returns (Witnet.Query memory);\\n\\n    /// Gets current status of given query.\\n    function getQueryStatus(uint256 _queryId) external view returns (Witnet.QueryStatus);\\n\\n    /// Retrieves the whole Request record posted to the Witnet Request Board.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been reported\\n    /// @dev or deleted.\\n    /// @param _queryId The unique identifier of a previously posted query.\\n    function readRequest(uint256 _queryId) external view returns (Witnet.Request memory);\\n\\n    /// Retrieves the serialized bytecode of a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not valid, or if the related script bytecode \\n    /// @dev got changed after being posted. Returns empty array once it gets reported, \\n    /// @dev or deleted.\\n    /// @param _queryId The unique query identifier.\\n    function readRequestBytecode(uint256 _queryId) external view returns (bytes memory);\\n\\n    /// Retrieves the gas price that any assigned reporter will have to pay when reporting \\n    /// result to a previously posted Witnet data request.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifie\\n    function readRequestGasPrice(uint256 _queryId) external view returns (uint256);\\n\\n    /// Retrieves the reward currently set for the referred query.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifier.\\n    function readRequestReward(uint256 _queryId) external view returns (uint256);\\n\\n    /// Retrieves the whole `Witnet.Response` record referred to a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponse(uint256 _queryId) external view returns (Witnet.Response memory);\\n\\n    /// Retrieves the hash of the Witnet transaction hash that actually solved the referred query.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseDrTxHash(uint256 _queryId) external view returns (bytes32);    \\n\\n    /// Retrieves the address that reported the result to a previously-posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseReporter(uint256 _queryId) external view returns (address);\\n\\n    /// Retrieves the Witnet-provided CBOR-bytes result of a previously posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseResult(uint256 _queryId) external view returns (Witnet.Result memory);\\n\\n    /// Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseTimestamp(uint256 _queryId) external view returns (uint256);\\n}\\n\",\"keccak256\":\"0x782ec2ff166948f5d097765c0190b352793d8b8887af5f8384d875d63cff4e9b\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestParser.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title The Witnet interface for decoding Witnet-provided request to Data Requests.\\n/// This interface exposes functions to check for the success/failure of\\n/// a Witnet-provided result, as well as to parse and convert result into\\n/// Solidity types suitable to the application level. \\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestParser {\\n\\n    /// Decode raw CBOR bytes into a Witnet.Result instance.\\n    /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborBytes(bytes memory _cborBytes) external pure returns (Witnet.Result memory);\\n\\n    /// Decode a CBOR value into a Witnet.Result instance.\\n    /// @param _cborValue An instance of `Witnet.CBOR`.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborValue(Witnet.CBOR memory _cborValue) external pure returns (Witnet.Result memory);\\n\\n    /// Tell if a Witnet.Result is successful.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if successful, `false` if errored.\\n    function isOk(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Tell if a Witnet.Result is errored.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if errored, `false` if successful.\\n    function isError(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes` decoded from the Witnet.Result.\\n    function asBytes(Witnet.Result memory _result) external pure returns (bytes memory);\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes32` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes32` decoded from the Witnet.Result.\\n    function asBytes32(Witnet.Result memory _result) external pure returns (bytes32);\\n\\n    /// Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `CBORValue.Error memory` decoded from the Witnet.Result.\\n    function asErrorCode(Witnet.Result memory _result) external pure returns (Witnet.ErrorCodes);\\n\\n\\n    /// Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\\n    /// @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\\n    function asErrorMessage(Witnet.Result memory _result) external pure returns (Witnet.ErrorCodes, string memory);\\n\\n    /// Decode a raw error from a `Witnet.Result` as a `uint64[]`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `uint64[]` raw error as decoded from the `Witnet.Result`.\\n    function asRawError(Witnet.Result memory _result) external pure returns(uint64[] memory);\\n\\n    /// Decode a boolean value from a Witnet.Result as an `bool` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bool` decoded from the Witnet.Result.\\n    function asBool(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\\n    /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\\n    /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\\n    /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asFixed16(Witnet.Result memory _result) external pure returns (int32);\\n\\n    /// Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asFixed16Array(Witnet.Result memory _result) external pure returns (int32[] memory);\\n\\n    /// Decode a integer numeric value from a Witnet.Result as an `int128` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asInt128(Witnet.Result memory _result) external pure returns (int128);\\n\\n    /// Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asInt128Array(Witnet.Result memory _result) external pure returns (int128[] memory);\\n\\n    /// Decode a string value from a Witnet.Result as a `string` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string` decoded from the Witnet.Result.\\n    function asString(Witnet.Result memory _result) external pure returns (string memory);\\n\\n    /// Decode an array of string values from a Witnet.Result as a `string[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string[]` decoded from the Witnet.Result.\\n    function asStringArray(Witnet.Result memory _result) external pure returns (string[] memory);\\n\\n    /// Decode a natural numeric value from a Witnet.Result as a `uint64` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64` decoded from the Witnet.Result.\\n    function asUint64(Witnet.Result memory _result) external pure returns(uint64);\\n\\n    /// Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64[]` decoded from the Witnet.Result.\\n    function asUint64Array(Witnet.Result memory _result) external pure returns (uint64[] memory);\\n\\n}\\n\",\"keccak256\":\"0xe7c24475babac7d21172d37d976a97b81053739e81b4697be39decfe2aa90945\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/WitnetBuffer.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"./Witnet.sol\\\";\\n\\n/// @title A convenient wrapper around the `bytes memory` type that exposes a buffer-like interface\\n/// @notice The buffer has an inner cursor that tracks the final offset of every read, i.e. any subsequent read will\\n/// start with the byte that goes right after the last one in the previous read.\\n/// @dev `uint32` is used here for `cursor` because `uint16` would only enable seeking up to 8KB, which could in some\\n/// theoretical use cases be exceeded. Conversely, `uint32` supports up to 512MB, which cannot credibly be exceeded.\\n/// @author The Witnet Foundation.\\nlibrary WitnetBuffer {\\n\\n  // Ensures we access an existing index in an array\\n  modifier notOutOfBounds(uint32 index, uint256 length) {\\n    require(index < length, \\\"WitnetBuffer: Tried to read from a consumed Buffer (must rewind it first)\\\");\\n    _;\\n  }\\n\\n  /// @notice Read and consume a certain amount of bytes from the buffer.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @param _length How many bytes to read and consume from the buffer.\\n  /// @return A `bytes memory` containing the first `_length` bytes from the buffer, counting from the cursor position.\\n  function read(Witnet.Buffer memory _buffer, uint32 _length) internal pure returns (bytes memory) {\\n    // Make sure not to read out of the bounds of the original bytes\\n    require(_buffer.cursor + _length <= _buffer.data.length, \\\"WitnetBuffer: Not enough bytes in buffer when reading\\\");\\n\\n    // Create a new `bytes memory destination` value\\n    bytes memory destination = new bytes(_length);\\n\\n    // Early return in case that bytes length is 0\\n    if (_length != 0) {\\n      bytes memory source = _buffer.data;\\n      uint32 offset = _buffer.cursor;\\n\\n      // Get raw pointers for source and destination\\n      uint sourcePointer;\\n      uint destinationPointer;\\n      assembly {\\n        sourcePointer := add(add(source, 32), offset)\\n        destinationPointer := add(destination, 32)\\n      }\\n      // Copy `_length` bytes from source to destination\\n      memcpy(destinationPointer, sourcePointer, uint(_length));\\n\\n      // Move the cursor forward by `_length` bytes\\n      seek(_buffer, _length, true);\\n    }\\n    return destination;\\n  }\\n\\n  /// @notice Read and consume the next byte from the buffer.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The next byte in the buffer counting from the cursor position.\\n  function next(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor, _buffer.data.length) returns (bytes1) {\\n    // Return the byte at the position marked by the cursor and advance the cursor all at once\\n    return _buffer.data[_buffer.cursor++];\\n  }\\n\\n  /// @notice Move the inner cursor of the buffer to a relative or absolute position.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @param _offset How many bytes to move the cursor forward.\\n  /// @param _relative Whether to count `_offset` from the last position of the cursor (`true`) or the beginning of the\\n  /// buffer (`true`).\\n  /// @return The final position of the cursor (will equal `_offset` if `_relative` is `false`).\\n  // solium-disable-next-line security/no-assign-params\\n  function seek(Witnet.Buffer memory _buffer, uint32 _offset, bool _relative) internal pure returns (uint32) {\\n    // Deal with relative offsets\\n    if (_relative) {\\n      require(_offset + _buffer.cursor > _offset, \\\"WitnetBuffer: Integer overflow when seeking\\\");\\n      _offset += _buffer.cursor;\\n    }\\n    // Make sure not to read out of the bounds of the original bytes\\n    require(_offset <= _buffer.data.length, \\\"WitnetBuffer: Not enough bytes in buffer when seeking\\\");\\n    _buffer.cursor = _offset;\\n    return _buffer.cursor;\\n  }\\n\\n  /// @notice Move the inner cursor a number of bytes forward.\\n  /// @dev This is a simple wrapper around the relative offset case of `seek()`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @param _relativeOffset How many bytes to move the cursor forward.\\n  /// @return The final position of the cursor.\\n  function seek(Witnet.Buffer memory _buffer, uint32 _relativeOffset) internal pure returns (uint32) {\\n    return seek(_buffer, _relativeOffset, true);\\n  }\\n\\n  /// @notice Move the inner cursor back to the first byte in the buffer.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  function rewind(Witnet.Buffer memory _buffer) internal pure {\\n    _buffer.cursor = 0;\\n  }\\n\\n  /// @notice Read and consume the next byte from the buffer as an `uint8`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint8` value of the next byte in the buffer counting from the cursor position.\\n  function readUint8(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor, _buffer.data.length) returns (uint8) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint8 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 1), offset))\\n    }\\n    _buffer.cursor++;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 2 bytes from the buffer as an `uint16`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint16` value of the next 2 bytes in the buffer counting from the cursor position.\\n  function readUint16(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 1, _buffer.data.length) returns (uint16) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint16 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 2), offset))\\n    }\\n    _buffer.cursor += 2;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 4 bytes from the buffer as an `uint32`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint32` value of the next 4 bytes in the buffer counting from the cursor position.\\n  function readUint32(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 3, _buffer.data.length) returns (uint32) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint32 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 4), offset))\\n    }\\n    _buffer.cursor += 4;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 8 bytes from the buffer as an `uint64`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint64` value of the next 8 bytes in the buffer counting from the cursor position.\\n  function readUint64(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 7, _buffer.data.length) returns (uint64) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint64 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 8), offset))\\n    }\\n    _buffer.cursor += 8;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 16 bytes from the buffer as an `uint128`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint128` value of the next 16 bytes in the buffer counting from the cursor position.\\n  function readUint128(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 15, _buffer.data.length) returns (uint128) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint128 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 16), offset))\\n    }\\n    _buffer.cursor += 16;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 32 bytes from the buffer as an `uint256`.\\n  /// @return The `uint256` value of the next 32 bytes in the buffer counting from the cursor position.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  function readUint256(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 31, _buffer.data.length) returns (uint256) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint256 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 32), offset))\\n    }\\n    _buffer.cursor += 32;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 2 bytes from the buffer as an IEEE 754-2008 floating point number enclosed in an\\n  /// `int32`.\\n  /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values\\n  /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `float16`\\n  /// use cases. In other words, the integer output of this method is 10,000 times the actual value. The input bytes are\\n  /// expected to follow the 16-bit base-2 format (a.k.a. `binary16`) in the IEEE 754-2008 standard.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint32` value of the next 4 bytes in the buffer counting from the cursor position.\\n  function readFloat16(Witnet.Buffer memory _buffer) internal pure returns (int32) {\\n    uint32 bytesValue = readUint16(_buffer);\\n    // Get bit at position 0\\n    uint32 sign = bytesValue & 0x8000;\\n    // Get bits 1 to 5, then normalize to the [-14, 15] range so as to counterweight the IEEE 754 exponent bias\\n    int32 exponent = (int32(bytesValue & 0x7c00) >> 10) - 15;\\n    // Get bits 6 to 15\\n    int32 significand = int32(bytesValue & 0x03ff);\\n\\n    // Add 1024 to the fraction if the exponent is 0\\n    if (exponent == 15) {\\n      significand |= 0x400;\\n    }\\n\\n    // Compute `2 ^ exponent \\u00b7 (1 + fraction / 1024)`\\n    int32 result = 0;\\n    if (exponent >= 0) {\\n      result = int32((int256(1 << uint256(int256(exponent))) * 10000 * int256(uint256(int256(significand)) | 0x400)) >> 10);\\n    } else {\\n      result = int32(((int256(uint256(int256(significand)) | 0x400) * 10000) / int256(1 << uint256(int256(- exponent)))) >> 10);\\n    }\\n\\n    // Make the result negative if the sign bit is not 0\\n    if (sign != 0) {\\n      result *= - 1;\\n    }\\n    return result;\\n  }\\n\\n  /// @notice Copy bytes from one memory address into another.\\n  /// @dev This function was borrowed from Nick Johnson's `solidity-stringutils` lib, and reproduced here under the terms\\n  /// of [Apache License 2.0](https://github.com/Arachnid/solidity-stringutils/blob/master/LICENSE).\\n  /// @param _dest Address of the destination memory.\\n  /// @param _src Address to the source memory.\\n  /// @param _len How many bytes to copy.\\n  // solium-disable-next-line security/no-assign-params\\n  function memcpy(uint _dest, uint _src, uint _len) private pure {\\n    require(_len > 0, \\\"WitnetBuffer: Cannot copy 0 bytes\\\");\\n\\n    // Copy word-length chunks while possible\\n    for (; _len >= 32; _len -= 32) {\\n      assembly {\\n        mstore(_dest, mload(_src))\\n      }\\n      _dest += 32;\\n      _src += 32;\\n    }\\n    if (_len > 0) {\\n      // Copy remaining bytes\\n      uint mask = 256 ** (32 - _len) - 1;\\n      assembly {\\n        let srcpart := and(mload(_src), not(mask))\\n        let destpart := and(mload(_dest), mask)\\n        mstore(_dest, or(destpart, srcpart))\\n      }\\n    }\\n  }\\n\\n}\\n\",\"keccak256\":\"0x7ef46325fb4d37649e8ef4c2250240ea63c32720d44d7e4da5a7b412fb348524\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/WitnetDecoderLib.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./WitnetBuffer.sol\\\";\\n\\n/// @title A minimalistic implementation of \\u201cRFC 7049 Concise Binary Object Representation\\u201d\\n/// @notice This library leverages a buffer-like structure for step-by-step decoding of bytes so as to minimize\\n/// the gas cost of decoding them into a useful native type.\\n/// @dev Most of the logic has been borrowed from Patrick Gansterer\\u2019s cbor.js library: https://github.com/paroga/cbor-js\\n/// @author The Witnet Foundation.\\n/// \\n/// TODO: add support for Array (majorType = 4)\\n/// TODO: add support for Map (majorType = 5)\\n/// TODO: add support for Float32 (majorType = 7, additionalInformation = 26)\\n/// TODO: add support for Float64 (majorType = 7, additionalInformation = 27) \\n\\nlibrary WitnetDecoderLib {\\n\\n  using WitnetBuffer for Witnet.Buffer;\\n\\n  uint32 constant internal _UINT32_MAX = type(uint32).max;\\n  uint64 constant internal _UINT64_MAX = type(uint64).max;\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `bool` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as a `bool` value.\\n  function decodeBool(Witnet.CBOR memory _cborValue) public pure returns(bool) {\\n    _cborValue.len = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(_cborValue.majorType == 7, \\\"WitnetDecoderLib: Tried to read a `bool` value from a `Witnet.CBOR` with majorType != 7\\\");\\n    if (_cborValue.len == 20) {\\n      return false;\\n    } else if (_cborValue.len == 21) {\\n      return true;\\n    } else {\\n      revert(\\\"WitnetDecoderLib: Tried to read `bool` from a `Witnet.CBOR` with len different than 20 or 21\\\");\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `bytes` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as a `bytes` value.   \\n  function decodeBytes(Witnet.CBOR memory _cborValue) public pure returns(bytes memory) {\\n    _cborValue.len = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    if (_cborValue.len == _UINT32_MAX) {\\n      bytes memory bytesData;\\n\\n      // These checks look repetitive but the equivalent loop would be more expensive.\\n      uint32 itemLength = uint32(readIndefiniteStringLength(_cborValue.buffer, _cborValue.majorType));\\n      if (itemLength < _UINT32_MAX) {\\n        bytesData = abi.encodePacked(bytesData, _cborValue.buffer.read(itemLength));\\n        itemLength = uint32(readIndefiniteStringLength(_cborValue.buffer, _cborValue.majorType));\\n        if (itemLength < _UINT32_MAX) {\\n          bytesData = abi.encodePacked(bytesData, _cborValue.buffer.read(itemLength));\\n        }\\n      }\\n      return bytesData;\\n    } else {\\n      return _cborValue.buffer.read(uint32(_cborValue.len));\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `bytes32` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return _bytes32 The value represented by the input, as a `bytes32` value.\\n  function decodeBytes32(Witnet.CBOR memory _cborValue) public pure returns(bytes32 _bytes32) {\\n    bytes memory _bb = decodeBytes(_cborValue);\\n    uint _len = _bb.length > 32 ? 32 : _bb.length;\\n    for (uint _i = 0; _i < _len; _i ++) {\\n        _bytes32 |= bytes32(_bb[_i] & 0xff) >> (_i * 8);\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a `fixed16` value.\\n  /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values\\n  /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`\\n  /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128` value.\\n  function decodeFixed16(Witnet.CBOR memory _cborValue) public pure returns(int32) {\\n    require(_cborValue.majorType == 7, \\\"WitnetDecoderLib: Tried to read a `fixed` value from a `WT.CBOR` with majorType != 7\\\");\\n    require(_cborValue.additionalInformation == 25, \\\"WitnetDecoderLib: Tried to read `fixed16` from a `WT.CBOR` with additionalInformation != 25\\\");\\n    return _cborValue.buffer.readFloat16();\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `int128[]` value whose inner values follow the same convention.\\n  /// as explained in `decodeFixed16`.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128[]` value.\\n  function decodeFixed16Array(Witnet.CBOR memory _cborValue) external pure returns(int32[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `int128[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    int32[] memory array = new int32[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeFixed16(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `int128` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128` value.\\n  function decodeInt128(Witnet.CBOR memory _cborValue) public pure returns(int128) {\\n    if (_cborValue.majorType == 1) {\\n      uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n      return int128(-1) - int128(uint128(length));\\n    } else if (_cborValue.majorType == 0) {\\n      // Any `uint64` can be safely casted to `int128`, so this method supports majorType 1 as well so as to have offer\\n      // a uniform API for positive and negative numbers\\n      return int128(uint128(decodeUint64(_cborValue)));\\n    }\\n    revert(\\\"WitnetDecoderLib: Tried to read `int128` from a `Witnet.CBOR` with majorType not 0 or 1\\\");\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `int128[]` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128[]` value.\\n  function decodeInt128Array(Witnet.CBOR memory _cborValue) external pure returns(int128[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `int128[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    int128[] memory array = new int128[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeInt128(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `string` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as a `string` value.\\n  function decodeString(Witnet.CBOR memory _cborValue) public pure returns(string memory) {\\n    _cborValue.len = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    if (_cborValue.len == _UINT64_MAX) {\\n      bytes memory textData;\\n      bool done;\\n      while (!done) {\\n        uint64 itemLength = readIndefiniteStringLength(_cborValue.buffer, _cborValue.majorType);\\n        if (itemLength < _UINT64_MAX) {\\n          textData = abi.encodePacked(textData, readText(_cborValue.buffer, itemLength / 4));\\n        } else {\\n          done = true;\\n        }\\n      }\\n      return string(textData);\\n    } else {\\n      return string(readText(_cborValue.buffer, _cborValue.len));\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `string[]` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `string[]` value.\\n  function decodeStringArray(Witnet.CBOR memory _cborValue) external pure returns(string[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `string[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    string[] memory array = new string[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeString(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `uint64` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `uint64` value.\\n  function decodeUint64(Witnet.CBOR memory _cborValue) public pure returns(uint64) {\\n    require(_cborValue.majorType == 0, \\\"WitnetDecoderLib: Tried to read `uint64` from a `Witnet.CBOR` with majorType != 0\\\");\\n    return readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `uint64[]` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `uint64[]` value.\\n  function decodeUint64Array(Witnet.CBOR memory _cborValue) external pure returns(uint64[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `uint64[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    uint64[] memory array = new uint64[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeUint64(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a Witnet.CBOR structure from raw bytes.\\n  /// @dev This is the main factory for Witnet.CBOR instances, which can be later decoded into native EVM types.\\n  /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n  /// @return A `Witnet.CBOR` instance containing a partially decoded value.\\n  function valueFromBytes(bytes memory _cborBytes) external pure returns(Witnet.CBOR memory) {\\n    Witnet.Buffer memory buffer = Witnet.Buffer(_cborBytes, 0);\\n\\n    return valueFromBuffer(buffer);\\n  }\\n\\n  /// @notice Decode a Witnet.CBOR structure from raw bytes.\\n  /// @dev This is an alternate factory for Witnet.CBOR instances, which can be later decoded into native EVM types.\\n  /// @param _buffer A Buffer structure representing a CBOR-encoded value.\\n  /// @return A `Witnet.CBOR` instance containing a partially decoded value.\\n  function valueFromBuffer(Witnet.Buffer memory _buffer) public pure returns(Witnet.CBOR memory) {\\n    require(_buffer.data.length > 0, \\\"WitnetDecoderLib: Found empty buffer when parsing CBOR value\\\");\\n\\n    uint8 initialByte;\\n    uint8 majorType = 255;\\n    uint8 additionalInformation;\\n    uint64 tag = _UINT64_MAX;\\n\\n    bool isTagged = true;\\n    while (isTagged) {\\n      // Extract basic CBOR properties from input bytes\\n      initialByte = _buffer.readUint8();\\n      majorType = initialByte >> 5;\\n      additionalInformation = initialByte & 0x1f;\\n\\n      // Early CBOR tag parsing.\\n      if (majorType == 6) {\\n        tag = readLength(_buffer, additionalInformation);\\n      } else {\\n        isTagged = false;\\n      }\\n    }\\n\\n    require(majorType <= 7, \\\"WitnetDecoderLib: Invalid CBOR major type\\\");\\n\\n    return Witnet.CBOR(\\n      _buffer,\\n      initialByte,\\n      majorType,\\n      additionalInformation,\\n      0,\\n      tag);\\n  }\\n\\n  /// Reads the length of the next CBOR item from a buffer, consuming a different number of bytes depending on the\\n  /// value of the `additionalInformation` argument.\\n  function readLength(Witnet.Buffer memory _buffer, uint8 additionalInformation) private pure returns(uint64) {\\n    if (additionalInformation < 24) {\\n      return additionalInformation;\\n    }\\n    if (additionalInformation == 24) {\\n      return _buffer.readUint8();\\n    }\\n    if (additionalInformation == 25) {\\n      return _buffer.readUint16();\\n    }\\n    if (additionalInformation == 26) {\\n      return _buffer.readUint32();\\n    }\\n    if (additionalInformation == 27) {\\n      return _buffer.readUint64();\\n    }\\n    if (additionalInformation == 31) {\\n      return _UINT64_MAX;\\n    }\\n    revert(\\\"WitnetDecoderLib: Invalid length encoding (non-existent additionalInformation value)\\\");\\n  }\\n\\n  /// Read the length of a CBOR indifinite-length item (arrays, maps, byte strings and text) from a buffer, consuming\\n  /// as many bytes as specified by the first byte.\\n  function readIndefiniteStringLength(Witnet.Buffer memory _buffer, uint8 majorType) private pure returns(uint64) {\\n    uint8 initialByte = _buffer.readUint8();\\n    if (initialByte == 0xff) {\\n      return _UINT64_MAX;\\n    }\\n    uint64 length = readLength(_buffer, initialByte & 0x1f);\\n    require(length < _UINT64_MAX && (initialByte >> 5) == majorType, \\\"WitnetDecoderLib: Invalid indefinite length\\\");\\n    return length;\\n  }\\n\\n  /// Read a text string of a given length from a buffer. Returns a `bytes memory` value for the sake of genericness,\\n  /// but it can be easily casted into a string with `string(result)`.\\n  // solium-disable-next-line security/no-assign-params\\n  function readText(Witnet.Buffer memory _buffer, uint64 _length) private pure returns(bytes memory) {\\n    bytes memory result;\\n    for (uint64 index = 0; index < _length; index++) {\\n      uint8 value = _buffer.readUint8();\\n      if (value & 0x80 != 0) {\\n        if (value < 0xe0) {\\n          value = (value & 0x1f) << 6 |\\n            (_buffer.readUint8() & 0x3f);\\n          _length -= 1;\\n        } else if (value < 0xf0) {\\n          value = (value & 0x0f) << 12 |\\n            (_buffer.readUint8() & 0x3f) << 6 |\\n            (_buffer.readUint8() & 0x3f);\\n          _length -= 2;\\n        } else {\\n          value = (value & 0x0f) << 18 |\\n            (_buffer.readUint8() & 0x3f) << 12 |\\n            (_buffer.readUint8() & 0x3f) << 6  |\\n            (_buffer.readUint8() & 0x3f);\\n          _length -= 3;\\n        }\\n      }\\n      result = abi.encodePacked(result, value);\\n    }\\n    return result;\\n  }\\n}\\n\",\"keccak256\":\"0xb8f5b618ebae15a7f5d21870ac8ba7034afe5dce876b53a1a81572378a817c32\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/WitnetParserLib.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./WitnetDecoderLib.sol\\\";\\n\\n/// @title A library for decoding Witnet request results\\n/// @notice The library exposes functions to check the Witnet request success.\\n/// and retrieve Witnet results from CBOR values into solidity types.\\n/// @author The Witnet Foundation.\\nlibrary WitnetParserLib {\\n\\n    using WitnetDecoderLib for bytes;\\n    using WitnetDecoderLib for Witnet.CBOR;\\n\\n    /// @notice Decode raw CBOR bytes into a Witnet.Result instance.\\n    /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborBytes(bytes calldata _cborBytes)\\n        external pure\\n        returns (Witnet.Result memory)\\n    {\\n        Witnet.CBOR memory cborValue = _cborBytes.valueFromBytes();\\n        return resultFromCborValue(cborValue);\\n    }\\n\\n    /// @notice Decode a CBOR value into a Witnet.Result instance.\\n    /// @param _cborValue An instance of `Witnet.Value`.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborValue(Witnet.CBOR memory _cborValue)\\n        public pure\\n        returns (Witnet.Result memory)    \\n    {\\n        // Witnet uses CBOR tag 39 to represent RADON error code identifiers.\\n        // [CBOR tag 39] Identifiers for CBOR: https://github.com/lucas-clemente/cbor-specs/blob/master/id.md\\n        bool success = _cborValue.tag != 39;\\n        return Witnet.Result(success, _cborValue);\\n    }\\n\\n    /// @notice Tell if a Witnet.Result is successful.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if successful, `false` if errored.\\n    function isOk(Witnet.Result memory _result)\\n        external pure\\n        returns (bool)\\n    {\\n        return _result.success;\\n    }\\n\\n    /// @notice Tell if a Witnet.Result is errored.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if errored, `false` if successful.\\n    function isError(Witnet.Result memory _result)\\n      external pure\\n      returns (bool)\\n    {\\n        return !_result.success;\\n    }\\n\\n    /// @notice Decode a bytes value from a Witnet.Result as a `bytes` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes` decoded from the Witnet.Result.\\n    function asBytes(Witnet.Result memory _result)\\n        external pure\\n        returns(bytes memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read bytes value from errored Witnet.Result\\\");\\n        return _result.value.decodeBytes();\\n    }\\n\\n    /// @notice Decode a bytes value from a Witnet.Result as a `bytes32` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes32` decoded from the Witnet.Result.\\n    function asBytes32(Witnet.Result memory _result)\\n        external pure\\n        returns(bytes32)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: tried to read bytes32 value from errored Witnet.Result\\\");\\n        return _result.value.decodeBytes32();\\n    }\\n\\n    /// @notice Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `CBORValue.Error memory` decoded from the Witnet.Result.\\n    function asErrorCode(Witnet.Result memory _result)\\n        external pure\\n        returns (Witnet.ErrorCodes)\\n    {\\n        uint64[] memory error = asRawError(_result);\\n        if (error.length == 0) {\\n            return Witnet.ErrorCodes.Unknown;\\n        }\\n        return _supportedErrorOrElseUnknown(error[0]);\\n    }\\n\\n    /// @notice Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\\n    /// @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\\n    function asErrorMessage(Witnet.Result memory _result)\\n      public pure\\n      returns (Witnet.ErrorCodes, string memory)\\n    {\\n        uint64[] memory error = asRawError(_result);\\n        if (error.length == 0) {\\n            return (Witnet.ErrorCodes.Unknown, \\\"Unknown error (no error code)\\\");\\n        }\\n        Witnet.ErrorCodes errorCode = _supportedErrorOrElseUnknown(error[0]);\\n        bytes memory errorMessage;\\n\\n        if (errorCode == Witnet.ErrorCodes.SourceScriptNotCBOR && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Source script #\\\",\\n                _utoa(error[1]),\\n                \\\" was not a valid CBOR value\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.SourceScriptNotArray && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"The CBOR value in script #\\\",\\n                _utoa(error[1]),\\n                \\\" was not an Array of calls\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.SourceScriptNotRADON && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"The CBOR value in script #\\\",\\n                _utoa(error[1]),\\n                \\\" was not a valid Data Request\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.RequestTooManySources && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"The request contained too many sources (\\\", \\n                _utoa(error[1]), \\n                \\\")\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.ScriptTooManyCalls && error.length >= 4) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Script #\\\",\\n                _utoa(error[2]),\\n                \\\" from the \\\",\\n                stageName(error[1]),\\n                \\\" stage contained too many calls (\\\",\\n                _utoa(error[3]),\\n                \\\")\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.UnsupportedOperator && error.length >= 5) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Operator code 0x\\\",\\n                _utohex(error[4]),\\n                \\\" found at call #\\\",\\n                _utoa(error[3]),\\n                \\\" in script #\\\",\\n                _utoa(error[2]),\\n                \\\" from \\\",\\n                stageName(error[1]),\\n                \\\" stage is not supported\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.HTTP && error.length >= 3) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Source #\\\",\\n                _utoa(error[1]),\\n                \\\" could not be retrieved. Failed with HTTP error code: \\\",\\n                _utoa(error[2] / 100),\\n                _utoa(error[2] % 100 / 10),\\n                _utoa(error[2] % 10)\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.RetrievalTimeout && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Source #\\\",\\n                _utoa(error[1]),\\n                \\\" could not be retrieved because of a timeout\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.Underflow && error.length >= 5) {\\n              errorMessage = abi.encodePacked(\\n                \\\"Underflow at operator code 0x\\\",\\n                _utohex(error[4]),\\n                \\\" found at call #\\\",\\n                _utoa(error[3]),\\n                \\\" in script #\\\",\\n                _utoa(error[2]),\\n                \\\" from \\\",\\n                stageName(error[1]),\\n                \\\" stage\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.Overflow && error.length >= 5) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Overflow at operator code 0x\\\",\\n                _utohex(error[4]),\\n                \\\" found at call #\\\",\\n                _utoa(error[3]),\\n                \\\" in script #\\\",\\n                _utoa(error[2]),\\n                \\\" from \\\",\\n                stageName(error[1]),\\n                \\\" stage\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.DivisionByZero && error.length >= 5) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Division by zero at operator code 0x\\\",\\n                _utohex(error[4]),\\n                \\\" found at call #\\\",\\n                _utoa(error[3]),\\n                \\\" in script #\\\",\\n                _utoa(error[2]),\\n                \\\" from \\\",\\n                stageName(error[1]),\\n                \\\" stage\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.BridgeMalformedRequest) {\\n            errorMessage = \\\"The structure of the request is invalid and it cannot be parsed\\\";\\n        } else if (errorCode == Witnet.ErrorCodes.BridgePoorIncentives) {\\n            errorMessage = \\\"The request has been rejected by the bridge node due to poor incentives\\\";\\n        } else if (errorCode == Witnet.ErrorCodes.BridgeOversizedResult) {\\n            errorMessage = \\\"The request result length exceeds a bridge contract defined limit\\\";\\n        } else {\\n            errorMessage = abi.encodePacked(\\\"Unknown error (0x\\\", _utohex(error[0]), \\\")\\\");\\n        }\\n        return (errorCode, string(errorMessage));\\n    }\\n\\n    /// @notice Decode a raw error from a `Witnet.Result` as a `uint64[]`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `uint64[]` raw error as decoded from the `Witnet.Result`.\\n    function asRawError(Witnet.Result memory _result)\\n        public pure\\n        returns(uint64[] memory)\\n    {\\n        require(\\n            !_result.success,\\n            \\\"WitnetParserLib: Tried to read error code from successful Witnet.Result\\\"\\n        );\\n        return _result.value.decodeUint64Array();\\n    }\\n\\n    /// @notice Decode a boolean value from a Witnet.Result as an `bool` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bool` decoded from the Witnet.Result.\\n    function asBool(Witnet.Result memory _result)\\n        external pure\\n        returns (bool)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `bool` value from errored Witnet.Result\\\");\\n        return _result.value.decodeBool();\\n    }\\n\\n    /// @notice Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\\n    /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\\n    /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\\n    /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asFixed16(Witnet.Result memory _result)\\n        external pure\\n        returns (int32)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `fixed16` value from errored Witnet.Result\\\");\\n        return _result.value.decodeFixed16();\\n    }\\n\\n    /// @notice Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asFixed16Array(Witnet.Result memory _result)\\n        external pure\\n        returns (int32[] memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `fixed16[]` value from errored Witnet.Result\\\");\\n        return _result.value.decodeFixed16Array();\\n    }\\n\\n    /// @notice Decode a integer numeric value from a Witnet.Result as an `int128` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asInt128(Witnet.Result memory _result)\\n      external pure\\n      returns (int128)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `int128` value from errored Witnet.Result\\\");\\n        return _result.value.decodeInt128();\\n    }\\n\\n    /// @notice Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asInt128Array(Witnet.Result memory _result)\\n        external pure\\n        returns (int128[] memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `int128[]` value from errored Witnet.Result\\\");\\n        return _result.value.decodeInt128Array();\\n    }\\n\\n    /// @notice Decode a string value from a Witnet.Result as a `string` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string` decoded from the Witnet.Result.\\n    function asString(Witnet.Result memory _result)\\n        external pure\\n        returns(string memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `string` value from errored Witnet.Result\\\");\\n        return _result.value.decodeString();\\n    }\\n\\n    /// @notice Decode an array of string values from a Witnet.Result as a `string[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string[]` decoded from the Witnet.Result.\\n    function asStringArray(Witnet.Result memory _result)\\n        external pure\\n        returns (string[] memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `string[]` value from errored Witnet.Result\\\");\\n        return _result.value.decodeStringArray();\\n    }\\n\\n    /// @notice Decode a natural numeric value from a Witnet.Result as a `uint64` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64` decoded from the Witnet.Result.\\n    function asUint64(Witnet.Result memory _result)\\n        external pure\\n        returns(uint64)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `uint64` value from errored Witnet.Result\\\");\\n        return _result.value.decodeUint64();\\n    }\\n\\n    /// @notice Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64[]` decoded from the Witnet.Result.\\n    function asUint64Array(Witnet.Result memory _result)\\n        external pure\\n        returns (uint64[] memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `uint64[]` value from errored Witnet.Result\\\");\\n        return _result.value.decodeUint64Array();\\n    }\\n\\n    /// @notice Convert a stage index number into the name of the matching Witnet request stage.\\n    /// @param _stageIndex A `uint64` identifying the index of one of the Witnet request stages.\\n    /// @return The name of the matching stage.\\n    function stageName(uint64 _stageIndex)\\n        public pure\\n        returns (string memory)\\n    {\\n        if (_stageIndex == 0) {\\n            return \\\"retrieval\\\";\\n        } else if (_stageIndex == 1) {\\n            return \\\"aggregation\\\";\\n        } else if (_stageIndex == 2) {\\n            return \\\"tally\\\";\\n        } else {\\n            return \\\"unknown\\\";\\n        }\\n    }\\n\\n    /// @notice Get an `Witnet.ErrorCodes` item from its `uint64` discriminant.\\n    /// @param _discriminant The numeric identifier of an error.\\n    /// @return A member of `Witnet.ErrorCodes`.\\n    function _supportedErrorOrElseUnknown(uint64 _discriminant)\\n        private pure\\n        returns (Witnet.ErrorCodes)\\n    {\\n        return Witnet.ErrorCodes(_discriminant);\\n    }\\n\\n    /// @notice Convert a `uint64` into a 1, 2 or 3 characters long `string` representing its.\\n    /// three less significant decimal values.\\n    /// @param _u A `uint64` value.\\n    /// @return The `string` representing its decimal value.\\n    function _utoa(uint64 _u)\\n        private pure\\n        returns (string memory)\\n    {\\n        if (_u < 10) {\\n            bytes memory b1 = new bytes(1);\\n            b1[0] = bytes1(uint8(_u) + 48);\\n            return string(b1);\\n        } else if (_u < 100) {\\n            bytes memory b2 = new bytes(2);\\n            b2[0] = bytes1(uint8(_u / 10) + 48);\\n            b2[1] = bytes1(uint8(_u % 10) + 48);\\n            return string(b2);\\n        } else {\\n            bytes memory b3 = new bytes(3);\\n            b3[0] = bytes1(uint8(_u / 100) + 48);\\n            b3[1] = bytes1(uint8(_u % 100 / 10) + 48);\\n            b3[2] = bytes1(uint8(_u % 10) + 48);\\n            return string(b3);\\n        }\\n    }\\n\\n    /// @notice Convert a `uint64` into a 2 characters long `string` representing its two less significant hexadecimal values.\\n    /// @param _u A `uint64` value.\\n    /// @return The `string` representing its hexadecimal value.\\n    function _utohex(uint64 _u)\\n        private pure\\n        returns (string memory)\\n    {\\n        bytes memory b2 = new bytes(2);\\n        uint8 d0 = uint8(_u / 16) + 48;\\n        uint8 d1 = uint8(_u % 16) + 48;\\n        if (d0 > 57)\\n            d0 += 7;\\n        if (d1 > 57)\\n            d1 += 7;\\n        b2[0] = bytes1(d0);\\n        b2[1] = bytes1(d1);\\n        return string(b2);\\n    }\\n}\\n\",\"keccak256\":\"0x250634a50e7ad8aaa9f3dde002ca3718de06a65b93be86896011331b996403f0\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Destructible.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Destructible {\\n    /// @dev Self-destruct the whole contract.\\n    function destruct() external;\\n}\\n\",\"keccak256\":\"0x58c9296ad2920fd26779933226ac807a70d6d70963965b781780e53f69625c87\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Initializable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Initializable {\\n    /// @dev Initialize contract's storage context.\\n    function initialize(bytes calldata) external;\\n}\\n\",\"keccak256\":\"0x17c2e66648596deb4f71dbaaa4b95293c99536431e7697f3b69d205a09796f0e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Payable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\nimport \\\"../interfaces/IERC20.sol\\\";\\n\\nabstract contract Payable {\\n    IERC20 public immutable currency;\\n\\n    event Received(address from, uint256 amount);\\n    event Transfer(address to, uint256 amount);\\n\\n    constructor(address _currency) {\\n        currency = IERC20(_currency);\\n    }\\n\\n    /// Gets current transaction price.\\n    function _getGasPrice() internal view virtual returns (uint256);\\n\\n    /// Gets current payment value.\\n    function _getMsgValue() internal view virtual returns (uint256);\\n\\n    /// Perform safe transfer or whatever token is used for paying rewards.\\n    function _safeTransferTo(address payable, uint256) internal virtual;\\n}\\n\",\"keccak256\":\"0xc7f50e489030643b7f061512ad0d8430abc87351941a77589f6b06376c5831b9\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Proxiable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Proxiable {\\n    /// @dev Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1822.\\n    function proxiableUUID() external pure returns (bytes32);\\n}\\n\",\"keccak256\":\"0x3ed71dc147c30cd8aa1ca248a045217b6ea513bae96c4c76d66496af4b8d6ff1\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Upgradable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\n/* solhint-disable var-name-mixedcase */\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\nimport \\\"./Initializable.sol\\\";\\nimport \\\"./Proxiable.sol\\\";\\n\\nabstract contract Upgradable is Initializable, Proxiable {\\n\\n    address internal immutable _BASE;\\n    bytes32 internal immutable _CODEHASH;\\n    bool internal immutable _UPGRADABLE;\\n\\n    /// Emitted every time the contract gets upgraded.\\n    /// @param from The address who ordered the upgrading. Namely, the WRB operator in \\\"trustable\\\" implementations.\\n    /// @param baseAddr The address of the new implementation contract.\\n    /// @param baseCodehash The EVM-codehash of the new implementation contract.\\n    /// @param versionTag Ascii-encoded version literal with which the implementation deployer decided to tag it.\\n    event Upgraded(\\n        address indexed from,\\n        address indexed baseAddr,\\n        bytes32 indexed baseCodehash,\\n        bytes32 versionTag\\n    );\\n\\n    constructor (bool _isUpgradable) {\\n        address _base = address(this);\\n        bytes32 _codehash;        \\n        assembly {\\n            _codehash := extcodehash(_base)\\n        }\\n        _BASE = _base;\\n        _CODEHASH = _codehash;        \\n        _UPGRADABLE = _isUpgradable;\\n    }\\n\\n    /// @dev Tells whether provided address could eventually upgrade the contract.\\n    function isUpgradableFrom(address from) virtual external view returns (bool);\\n\\n\\n    /// TODO: the following methods should be all declared as pure \\n    ///       whenever this Solidity's PR gets merged and released: \\n    ///       https://github.com/ethereum/solidity/pull/10240\\n\\n    /// @dev Retrieves base contract. Differs from address(this) when via delegate-proxy pattern.\\n    function base() public view returns (address) {\\n        return _BASE;\\n    }\\n\\n    /// @dev Retrieves the immutable codehash of this contract, even if invoked as delegatecall.\\n    /// @return _codehash This contracts immutable codehash.\\n    function codehash() public view returns (bytes32 _codehash) {\\n        return _CODEHASH;\\n    }\\n    \\n    /// @dev Determines whether current instance allows being upgraded.\\n    /// @dev Returned value should be invariant from whoever is calling.\\n    function isUpgradable() public view returns (bool) {        \\n        return _UPGRADABLE;\\n    }\\n\\n    /// @dev Retrieves human-redable named version of current implementation.\\n    function version() virtual public view returns (bytes32); \\n}\",\"keccak256\":\"0x91a8c88f85a691bafab375a8a38361f1dae551530755989636531468870ead98\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"events":{"DeletedQuery(uint256,address)":{"notice":"Emitted when all data related to given query is deleted from the WRB."},"PostedRequest(uint256,address)":{"notice":"Emitted when a Witnet Data Request is posted to the WRB."},"PostedResult(uint256,address)":{"notice":"Emitted when a Witnet-solved result is reported to the WRB."},"Upgraded(address,address,bytes32,bytes32)":{"notice":"Emitted every time the contract gets upgraded."}},"kind":"user","methods":{"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a boolean value from a Witnet.Result as an `bool` value."},"asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a bytes value from a Witnet.Result as a `bytes` value."},"asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a bytes value from a Witnet.Result as a `bytes32` value."},"asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`."},"asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments."},"asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value."},"asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value."},"asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a integer numeric value from a Witnet.Result as an `int128` value."},"asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value."},"asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a raw error from a `Witnet.Result` as a `uint64[]`."},"asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a string value from a Witnet.Result as a `string` value."},"asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an array of string values from a Witnet.Result as a `string[]` value."},"asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a natural numeric value from a Witnet.Result as a `uint64` value."},"asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value."},"deleteQuery(uint256)":{"notice":"Retrieves copy of all response data related to a previously posted request, removing the whole query from storage."},"destruct()":{"notice":"Destroys current instance. Only callable by the owner."},"estimateReward(uint256)":{"notice":"Estimates the amount of reward we need to insert for a given gas price."},"getNextQueryId()":{"notice":"Returns next request id to be generated by the Witnet Request Board."},"getQueryData(uint256)":{"notice":"Gets the whole Query data contents, if any, no matter its current status."},"getQueryStatus(uint256)":{"notice":"Gets current status of given query."},"initialize(bytes)":{"notice":"Initialize storage-context when invoked as delegatecall. "},"isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Tell if a Witnet.Result is errored."},"isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Tell if a Witnet.Result is successful."},"isReporter(address)":{"notice":"Tells whether given address is included in the active reporters control list."},"isUpgradableFrom(address)":{"notice":"Tells whether provided address could eventually upgrade the contract."},"owner()":{"notice":"Gets admin/owner address."},"postRequest(address)":{"notice":"Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided  result to this request."},"readRequest(uint256)":{"notice":"Retrieves the whole Request record posted to the Witnet Request Board."},"readRequestBytecode(uint256)":{"notice":"Retrieves the serialized bytecode of a previously posted Witnet Data Request."},"readRequestGasPrice(uint256)":{"notice":"Retrieves the gas price that any assigned reporter will have to pay when reporting  result to a previously posted Witnet data request."},"readRequestReward(uint256)":{"notice":"Retrieves the reward currently set for a previously posted request."},"readResponse(uint256)":{"notice":"Retrieves the Witnet-provided result, and metadata, to a previously posted request.    "},"readResponseDrTxHash(uint256)":{"notice":"Retrieves the hash of the Witnet transaction that actually solved the referred query."},"readResponseReporter(uint256)":{"notice":"Retrieves the address that reported the result to a previously-posted request."},"readResponseResult(uint256)":{"notice":"Retrieves the Witnet-provided CBOR-bytes result of a previously posted request."},"readResponseTimestamp(uint256)":{"notice":"Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON."},"reportResult(uint256,bytes32,bytes)":{"notice":"Reports the Witnet-provided result to a previously posted request. "},"reportResult(uint256,uint256,bytes32,bytes)":{"notice":"Reports the Witnet-provided result to a previously posted request."},"reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)":{"notice":"Reports Witnet-provided results to multiple requests within a single EVM tx."},"resultFromCborBytes(bytes)":{"notice":"Decode raw CBOR bytes into a Witnet.Result instance."},"resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))":{"notice":"Decode a CBOR value into a Witnet.Result instance."},"setReporters(address[])":{"notice":"Adds given addresses to the active reporters control list."},"transferOwnership(address)":{"notice":"Transfers ownership."},"unsetReporters(address[])":{"notice":"Removes given addresses from the active reporters control list."},"upgradeReward(uint256)":{"notice":"Increments the reward of a previously posted request by adding the transaction value to it."},"version()":{"notice":"Retrieves human-readable version tag of current implementation."}},"notice":"Contract to bridge requests to Witnet Decentralized Oracle Network.","version":1}}},"witnet-solidity-bridge/contracts/interfaces/IERC165.sol":{"IERC165":{"abi":[{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"devdoc":{"details":"Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.","kind":"dev","methods":{"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."}},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/interfaces/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/interfaces/IERC165.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/**\\n * @dev Interface of the ERC165 standard, as defined in the\\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\\n *\\n * Implementers can declare support of contract interfaces, which can then be\\n * queried by others ({ERC165Checker}).\\n *\\n * For an implementation, see {ERC165}.\\n */\\ninterface IERC165 {\\n    /**\\n     * @dev Returns true if this contract implements the interface defined by\\n     * `interfaceId`. See the corresponding\\n     * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\\n     * to learn more about how these ids are created.\\n     *\\n     * This function call must use less than 30 000 gas.\\n     */\\n    function supportsInterface(bytes4 interfaceId) external view returns (bool);\\n}\\n\",\"keccak256\":\"0x14a404607f920aa7ce19e17a0abce07d317c95b427fd8ca7b4aaf0b2999d4847\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"version":1}}},"witnet-solidity-bridge/contracts/interfaces/IERC20.sol":{"IERC20":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_sender","type":"address"},{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"details":"Interface of the ERC20 standard as defined in the EIP.","kind":"dev","methods":{},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"notice\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"notice\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `:value` may be zero.\"}},\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `_spender` will be allowed to spend on behalf of `_owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"notice\":\"Sets `_amount` as the allowance of `_spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded.  IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.     \"},\"balanceOf(address)\":{\"notice\":\"Returns the amount of tokens owned by `_account`.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `_amount` tokens from the caller's account to `_recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `_sender` to `_recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event. \"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/interfaces/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/interfaces/IERC20.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/**\\n * @dev Interface of the ERC20 standard as defined in the EIP.\\n */\\ninterface IERC20 {\\n    /// Returns the amount of tokens in existence.\\n    function totalSupply() external view returns (uint256);\\n\\n    /// Returns the amount of tokens owned by `_account`.\\n    function balanceOf(address _account) external view returns (uint256);\\n\\n    /// Moves `_amount` tokens from the caller's account to `_recipient`.\\n    /// Returns a boolean value indicating whether the operation succeeded.\\n    /// Emits a {Transfer} event.\\n    function transfer(address _recipient, uint256 _amount) external returns (bool);\\n\\n    /// Returns the remaining number of tokens that `_spender` will be\\n    /// allowed to spend on behalf of `_owner` through {transferFrom}. This is\\n    /// zero by default.\\n    /// This value changes when {approve} or {transferFrom} are called.\\n    function allowance(address _owner, address _spender) external view returns (uint256);\\n\\n    /// Sets `_amount` as the allowance of `_spender` over the caller's tokens.\\n    /// Returns a boolean value indicating whether the operation succeeded.\\n    /// \\n    /// IMPORTANT: Beware that changing an allowance with this method brings the risk\\n    /// that someone may use both the old and the new allowance by unfortunate\\n    /// transaction ordering. One possible solution to mitigate this race\\n    /// condition is to first reduce the spender's allowance to 0 and set the\\n    /// desired value afterwards:\\n    /// https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\\n    ///\\n    /// Emits an {Approval} event.     \\n    function approve(address _spender, uint256 _amount) external returns (bool);\\n\\n    /// Moves `amount` tokens from `_sender` to `_recipient` using the\\n    /// allowance mechanism. `amount` is then deducted from the caller's\\n    /// allowance.\\n    /// Returns a boolean value indicating whether the operation succeeded.\\n    /// Emits a {Transfer} event. \\n    function transferFrom(\\n        address _sender,\\n        address _recipient,\\n        uint256 _amount\\n    ) external returns (bool);\\n\\n    /// Emitted when `value` tokens are moved from one account (`from`) to\\n    /// another (`to`).\\n    /// Note that `:value` may be zero.\\n    event Transfer(address indexed from, address indexed to, uint256 value);\\n\\n    /// Emitted when the allowance of a `spender` for an `owner` is set by\\n    /// a call to {approve}. `value` is the new allowance.\\n    event Approval(address indexed owner, address indexed spender, uint256 value);\\n}\\n\",\"keccak256\":\"0xd6b25613fab1f6172ca58e377371a0b708f1af8982961364fecf9da196213f48\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"events":{"Approval(address,address,uint256)":{"notice":"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance."},"Transfer(address,address,uint256)":{"notice":"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `:value` may be zero."}},"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `_spender` will be allowed to spend on behalf of `_owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"notice":"Sets `_amount` as the allowance of `_spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded.  IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.     "},"balanceOf(address)":{"notice":"Returns the amount of tokens owned by `_account`."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `_amount` tokens from the caller's account to `_recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `_sender` to `_recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event. "}},"version":1}}},"witnet-solidity-bridge/contracts/interfaces/IWitnetPriceRouter.sol":{"IWitnetPriceRouter":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"erc2362ID","type":"bytes32"},{"indexed":false,"internalType":"contract IERC165","name":"pricefeed","type":"address"}],"name":"CurrencyPairSet","type":"event"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"currencyPairId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_erc2362id","type":"bytes32"}],"name":"getPriceFeed","outputs":[{"internalType":"contract IERC165","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC165","name":"","type":"address"}],"name":"getPriceFeedCaption","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_erc2362id","type":"bytes32"}],"name":"lookupERC2362ID","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC165","name":"_pricefeed","type":"address"},{"internalType":"uint256","name":"_decimals","type":"uint256"},{"internalType":"string","name":"_base","type":"string"},{"internalType":"string","name":"_quote","type":"string"}],"name":"setPriceFeed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"supportedCurrencyPairs","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_erc2362id","type":"bytes32"}],"name":"supportsCurrencyPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC165","name":"_priceFeed","type":"address"}],"name":"supportsPriceFeed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_id","type":"bytes32"}],"name":"valueFor","outputs":[{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"devdoc":{"author":"The Witnet Foundation.","details":"Guides implementation of price feeds aggregation contracts.","events":{"CurrencyPairSet(bytes32,address)":{"details":"See https://github.com/adoracles/ADOIPs/blob/main/adoip-0010.md to learn how these ids are created."}},"kind":"dev","methods":{"getPriceFeedCaption(address)":{"details":"Should fail if the given price feed contract address is not currentlyregistered in the router."},"setPriceFeed(address,uint256,string,string)":{"details":"Setting zero address to a currency pair implies that it will not be served any longer.Otherwise, should fail if the price feed contract does not support the `IWitnetPriceFeed` interface,or if given price feed is already serving another currency pair (within this WitnetPriceRouter instance)."},"valueFor(bytes32)":{"details":"Exposed function pertaining to EIP standards","params":{"_id":"bytes32 ID of the query"},"returns":{"_0":"int,uint,uint returns the value, timestamp, and status code of query"}}},"title":"The Witnet Price Router basic interface.","version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"currencyPairId(string)":"835262f5","getPriceFeed(bytes32)":"8c0adf62","getPriceFeedCaption(address)":"bbfa8118","lookupERC2362ID(bytes32)":"99d32a04","setPriceFeed(address,uint256,string,string)":"77021267","supportedCurrencyPairs()":"3fd29ebd","supportsCurrencyPair(bytes32)":"ca64c540","supportsPriceFeed(address)":"a027ad15","valueFor(bytes32)":"f78eea83"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"erc2362ID\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"contract IERC165\",\"name\":\"pricefeed\",\"type\":\"address\"}],\"name\":\"CurrencyPairSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"currencyPairId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_erc2362id\",\"type\":\"bytes32\"}],\"name\":\"getPriceFeed\",\"outputs\":[{\"internalType\":\"contract IERC165\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC165\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getPriceFeedCaption\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_erc2362id\",\"type\":\"bytes32\"}],\"name\":\"lookupERC2362ID\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC165\",\"name\":\"_pricefeed\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_base\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_quote\",\"type\":\"string\"}],\"name\":\"setPriceFeed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"supportedCurrencyPairs\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_erc2362id\",\"type\":\"bytes32\"}],\"name\":\"supportsCurrencyPair\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC165\",\"name\":\"_priceFeed\",\"type\":\"address\"}],\"name\":\"supportsPriceFeed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_id\",\"type\":\"bytes32\"}],\"name\":\"valueFor\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"details\":\"Guides implementation of price feeds aggregation contracts.\",\"events\":{\"CurrencyPairSet(bytes32,address)\":{\"details\":\"See https://github.com/adoracles/ADOIPs/blob/main/adoip-0010.md to learn how these ids are created.\"}},\"kind\":\"dev\",\"methods\":{\"getPriceFeedCaption(address)\":{\"details\":\"Should fail if the given price feed contract address is not currentlyregistered in the router.\"},\"setPriceFeed(address,uint256,string,string)\":{\"details\":\"Setting zero address to a currency pair implies that it will not be served any longer.Otherwise, should fail if the price feed contract does not support the `IWitnetPriceFeed` interface,or if given price feed is already serving another currency pair (within this WitnetPriceRouter instance).\"},\"valueFor(bytes32)\":{\"details\":\"Exposed function pertaining to EIP standards\",\"params\":{\"_id\":\"bytes32 ID of the query\"},\"returns\":{\"_0\":\"int,uint,uint returns the value, timestamp, and status code of query\"}}},\"title\":\"The Witnet Price Router basic interface.\",\"version\":1},\"userdoc\":{\"events\":{\"CurrencyPairSet(bytes32,address)\":{\"notice\":\"Emitted everytime a currency pair is attached to a new price feed contract\"}},\"kind\":\"user\",\"methods\":{\"currencyPairId(string)\":{\"notice\":\"Helper pure function: returns hash of the provided ERC2362-compliant currency pair caption (aka ID).\"},\"getPriceFeed(bytes32)\":{\"notice\":\"Returns the ERC-165-compliant price feed contract currently serving  updates on the given currency pair.\"},\"getPriceFeedCaption(address)\":{\"notice\":\"Returns human-readable ERC2362-based caption of the currency pair being served by the given price feed contract address. \"},\"lookupERC2362ID(bytes32)\":{\"notice\":\"Returns human-readable caption of the ERC2362-based currency pair identifier, if known.\"},\"setPriceFeed(address,uint256,string,string)\":{\"notice\":\"Register a price feed contract that will serve updates for the given currency pair.\"},\"supportedCurrencyPairs()\":{\"notice\":\"Returns list of known currency pairs IDs.\"},\"supportsCurrencyPair(bytes32)\":{\"notice\":\"Returns `true` if given pair is currently being served by a compliant price feed contract.\"},\"supportsPriceFeed(address)\":{\"notice\":\"Returns `true` if given price feed contract is currently serving updates to any known currency pair. \"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetPriceRouter.sol\":\"IWitnetPriceRouter\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"ado-contracts/contracts/interfaces/IERC2362.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.5.0 <0.9.0;\\n\\n/**\\n* @dev EIP2362 Interface for pull oracles\\n* https://github.com/adoracles/EIPs/blob/erc-2362/EIPS/eip-2362.md\\n*/\\ninterface IERC2362\\n{\\n\\t/**\\n\\t * @dev Exposed function pertaining to EIP standards\\n\\t * @param _id bytes32 ID of the query\\n\\t * @return int,uint,uint returns the value, timestamp, and status code of query\\n\\t */\\n\\tfunction valueFor(bytes32 _id) external view returns(int256,uint256,uint256);\\n}\",\"keccak256\":\"0x4df66aa83b94d7c3d52aba3522b6eeafc19f2c45299b7c871ef46eb199ee4f6b\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IERC165.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/**\\n * @dev Interface of the ERC165 standard, as defined in the\\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\\n *\\n * Implementers can declare support of contract interfaces, which can then be\\n * queried by others ({ERC165Checker}).\\n *\\n * For an implementation, see {ERC165}.\\n */\\ninterface IERC165 {\\n    /**\\n     * @dev Returns true if this contract implements the interface defined by\\n     * `interfaceId`. See the corresponding\\n     * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\\n     * to learn more about how these ids are created.\\n     *\\n     * This function call must use less than 30 000 gas.\\n     */\\n    function supportsInterface(bytes4 interfaceId) external view returns (bool);\\n}\\n\",\"keccak256\":\"0x14a404607f920aa7ce19e17a0abce07d317c95b427fd8ca7b4aaf0b2999d4847\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetPriceRouter.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"ado-contracts/contracts/interfaces/IERC2362.sol\\\";\\nimport \\\"./IERC165.sol\\\";\\n\\n/// @title The Witnet Price Router basic interface.\\n/// @dev Guides implementation of price feeds aggregation contracts.\\n/// @author The Witnet Foundation.\\nabstract contract IWitnetPriceRouter\\n    is\\n        IERC2362 \\n{\\n    /// Emitted everytime a currency pair is attached to a new price feed contract\\n    /// @dev See https://github.com/adoracles/ADOIPs/blob/main/adoip-0010.md \\n    /// @dev to learn how these ids are created.\\n    event CurrencyPairSet(bytes32 indexed erc2362ID, IERC165 pricefeed);\\n\\n    /// Helper pure function: returns hash of the provided ERC2362-compliant currency pair caption (aka ID).\\n    function currencyPairId(string memory) external pure virtual returns (bytes32);\\n\\n    /// Returns the ERC-165-compliant price feed contract currently serving \\n    /// updates on the given currency pair.\\n    function getPriceFeed(bytes32 _erc2362id) external view virtual returns (IERC165);\\n\\n    /// Returns human-readable ERC2362-based caption of the currency pair being\\n    /// served by the given price feed contract address. \\n    /// @dev Should fail if the given price feed contract address is not currently\\n    /// @dev registered in the router.\\n    function getPriceFeedCaption(IERC165) external view virtual returns (string memory);\\n\\n    /// Returns human-readable caption of the ERC2362-based currency pair identifier, if known.\\n    function lookupERC2362ID(bytes32 _erc2362id) external view virtual returns (string memory);\\n\\n    /// Register a price feed contract that will serve updates for the given currency pair.\\n    /// @dev Setting zero address to a currency pair implies that it will not be served any longer.\\n    /// @dev Otherwise, should fail if the price feed contract does not support the `IWitnetPriceFeed` interface,\\n    /// @dev or if given price feed is already serving another currency pair (within this WitnetPriceRouter instance).\\n    function setPriceFeed(\\n            IERC165 _pricefeed,\\n            uint256 _decimals,\\n            string calldata _base,\\n            string calldata _quote\\n        )\\n        external virtual;\\n\\n    /// Returns list of known currency pairs IDs.\\n    function supportedCurrencyPairs() external view virtual returns (bytes32[] memory);\\n\\n    /// Returns `true` if given pair is currently being served by a compliant price feed contract.\\n    function supportsCurrencyPair(bytes32 _erc2362id) external view virtual returns (bool);\\n\\n    /// Returns `true` if given price feed contract is currently serving updates to any known currency pair. \\n    function supportsPriceFeed(IERC165 _priceFeed) external view virtual returns (bool);\\n}\\n\",\"keccak256\":\"0xeabd84fc5a5676dc88de213245b7199e50bc11af174ebb1a5ef460ba262a7276\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"events":{"CurrencyPairSet(bytes32,address)":{"notice":"Emitted everytime a currency pair is attached to a new price feed contract"}},"kind":"user","methods":{"currencyPairId(string)":{"notice":"Helper pure function: returns hash of the provided ERC2362-compliant currency pair caption (aka ID)."},"getPriceFeed(bytes32)":{"notice":"Returns the ERC-165-compliant price feed contract currently serving  updates on the given currency pair."},"getPriceFeedCaption(address)":{"notice":"Returns human-readable ERC2362-based caption of the currency pair being served by the given price feed contract address. "},"lookupERC2362ID(bytes32)":{"notice":"Returns human-readable caption of the ERC2362-based currency pair identifier, if known."},"setPriceFeed(address,uint256,string,string)":{"notice":"Register a price feed contract that will serve updates for the given currency pair."},"supportedCurrencyPairs()":{"notice":"Returns list of known currency pairs IDs."},"supportsCurrencyPair(bytes32)":{"notice":"Returns `true` if given pair is currently being served by a compliant price feed contract."},"supportsPriceFeed(address)":{"notice":"Returns `true` if given price feed contract is currently serving updates to any known currency pair. "}},"version":1}}},"witnet-solidity-bridge/contracts/interfaces/IWitnetRandomness.sol":{"IWitnetRandomness":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"uint256","name":"prevBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"witnetQueryId","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"witnetRequestHash","type":"bytes32"}],"name":"Randomized","type":"event"},{"inputs":[{"internalType":"uint256","name":"_gasPrice","type":"uint256"}],"name":"estimateRandomizeFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_block","type":"uint256"}],"name":"getRandomizeData","outputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"uint256","name":"_prevBlock","type":"uint256"},{"internalType":"uint256","name":"_nextBlock","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_block","type":"uint256"}],"name":"getRandomnessAfter","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_block","type":"uint256"}],"name":"getRandomnessNextBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_block","type":"uint256"}],"name":"getRandomnessPrevBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_block","type":"uint256"}],"name":"isRandomized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestRandomizeBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_range","type":"uint32"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"uint256","name":"_block","type":"uint256"}],"name":"random","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_range","type":"uint32"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"bytes32","name":"_seed","type":"bytes32"}],"name":"random","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"randomize","outputs":[{"internalType":"uint256","name":"_usedFunds","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_block","type":"uint256"}],"name":"upgradeRandomizeFee","outputs":[{"internalType":"uint256","name":"_usedFunds","type":"uint256"}],"stateMutability":"payable","type":"function"}],"devdoc":{"author":"Witnet Foundation.","events":{"Randomized(address,uint256,uint256,bytes32)":{"params":{"from":"Address from which the randomize() function was called. ","prevBlock":"Block number in which a randomness request got posted just before this one. 0 if none.","witnetQueryId":"Unique query id assigned to this request by the WRB.","witnetRequestHash":"SHA-256 hash of the WitnetRandomnessRequest actual bytecode just posted to the WRB."}}},"kind":"dev","methods":{"getRandomizeData(uint256)":{"details":"Returns zero values if no randomness request was actually posted within a given block.","params":{"_block":"Block number whose randomness request is being queried for."},"returns":{"_from":"Address from which the latest randomness request was posted.","_id":"Unique request identifier as provided by the WRB.","_nextBlock":"Block number in which a randomness request got posted just after this one, 0 if none.","_prevBlock":"Block number in which a randomness request got posted just before this one. 0 if none."}},"getRandomnessAfter(uint256)":{"details":"Fails if:i.   no `randomize()` was not called in either the given block, or afterwards.ii.  a request posted in/after given block does exist, but no result has been provided yet.iii. all requests in/after the given block were solved with errors.","params":{"_block":"Block number from which the search will start."}},"getRandomnessNextBlock(uint256)":{"params":{"_block":"Block number from which the search will start."},"returns":{"_0":"Number of the first block found after the given one, or `0` otherwise."}},"getRandomnessPrevBlock(uint256)":{"params":{"_block":"Block number from which the search will start."},"returns":{"_0":"First block found before the given one, or `0` otherwise."}},"random(uint32,uint256,bytes32)":{"params":{"_nonce":"Nonce value enabling multiple random numbers from the same randomness value.","_range":"Range within which the uniformly-distributed random number will be generated.","_seed":"Seed value used as entropy source."}},"random(uint32,uint256,uint256)":{"details":"Fails under same conditions as `getRandomnessAfter(uint256)` may do.","params":{"_block":"Block number from which the search will start.","_nonce":"Nonce value enabling multiple random numbers from the same randomness value.","_range":"Range within which the uniformly-distributed random number will be generated."}},"randomize()":{"returns":{"_usedFunds":"Amount of funds actually used from those provided by the tx sender."}},"upgradeRandomizeFee(uint256)":{"returns":{"_usedFunds":"Amount of dunds actually used from those provided by the tx sender."}}},"title":"The Witnet Randomness generator interface.","version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"estimateRandomizeFee(uint256)":"a60ee268","getRandomizeData(uint256)":"a3252f68","getRandomnessAfter(uint256)":"fb476cad","getRandomnessNextBlock(uint256)":"40b41daa","getRandomnessPrevBlock(uint256)":"36b651bb","isRandomized(uint256)":"9bc86fec","latestRandomizeBlock()":"9938fd0c","random(uint32,uint256,bytes32)":"e7d4a016","random(uint32,uint256,uint256)":"24cbbfc1","randomize()":"699b328a","upgradeRandomizeFee(uint256)":"e35329f8"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"prevBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"witnetQueryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"witnetRequestHash\",\"type\":\"bytes32\"}],\"name\":\"Randomized\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_gasPrice\",\"type\":\"uint256\"}],\"name\":\"estimateRandomizeFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_block\",\"type\":\"uint256\"}],\"name\":\"getRandomizeData\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_prevBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nextBlock\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_block\",\"type\":\"uint256\"}],\"name\":\"getRandomnessAfter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_block\",\"type\":\"uint256\"}],\"name\":\"getRandomnessNextBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_block\",\"type\":\"uint256\"}],\"name\":\"getRandomnessPrevBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_block\",\"type\":\"uint256\"}],\"name\":\"isRandomized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestRandomizeBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_range\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_block\",\"type\":\"uint256\"}],\"name\":\"random\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_range\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_seed\",\"type\":\"bytes32\"}],\"name\":\"random\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_usedFunds\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_block\",\"type\":\"uint256\"}],\"name\":\"upgradeRandomizeFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_usedFunds\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Witnet Foundation.\",\"events\":{\"Randomized(address,uint256,uint256,bytes32)\":{\"params\":{\"from\":\"Address from which the randomize() function was called. \",\"prevBlock\":\"Block number in which a randomness request got posted just before this one. 0 if none.\",\"witnetQueryId\":\"Unique query id assigned to this request by the WRB.\",\"witnetRequestHash\":\"SHA-256 hash of the WitnetRandomnessRequest actual bytecode just posted to the WRB.\"}}},\"kind\":\"dev\",\"methods\":{\"getRandomizeData(uint256)\":{\"details\":\"Returns zero values if no randomness request was actually posted within a given block.\",\"params\":{\"_block\":\"Block number whose randomness request is being queried for.\"},\"returns\":{\"_from\":\"Address from which the latest randomness request was posted.\",\"_id\":\"Unique request identifier as provided by the WRB.\",\"_nextBlock\":\"Block number in which a randomness request got posted just after this one, 0 if none.\",\"_prevBlock\":\"Block number in which a randomness request got posted just before this one. 0 if none.\"}},\"getRandomnessAfter(uint256)\":{\"details\":\"Fails if:i.   no `randomize()` was not called in either the given block, or afterwards.ii.  a request posted in/after given block does exist, but no result has been provided yet.iii. all requests in/after the given block were solved with errors.\",\"params\":{\"_block\":\"Block number from which the search will start.\"}},\"getRandomnessNextBlock(uint256)\":{\"params\":{\"_block\":\"Block number from which the search will start.\"},\"returns\":{\"_0\":\"Number of the first block found after the given one, or `0` otherwise.\"}},\"getRandomnessPrevBlock(uint256)\":{\"params\":{\"_block\":\"Block number from which the search will start.\"},\"returns\":{\"_0\":\"First block found before the given one, or `0` otherwise.\"}},\"random(uint32,uint256,bytes32)\":{\"params\":{\"_nonce\":\"Nonce value enabling multiple random numbers from the same randomness value.\",\"_range\":\"Range within which the uniformly-distributed random number will be generated.\",\"_seed\":\"Seed value used as entropy source.\"}},\"random(uint32,uint256,uint256)\":{\"details\":\"Fails under same conditions as `getRandomnessAfter(uint256)` may do.\",\"params\":{\"_block\":\"Block number from which the search will start.\",\"_nonce\":\"Nonce value enabling multiple random numbers from the same randomness value.\",\"_range\":\"Range within which the uniformly-distributed random number will be generated.\"}},\"randomize()\":{\"returns\":{\"_usedFunds\":\"Amount of funds actually used from those provided by the tx sender.\"}},\"upgradeRandomizeFee(uint256)\":{\"returns\":{\"_usedFunds\":\"Amount of dunds actually used from those provided by the tx sender.\"}}},\"title\":\"The Witnet Randomness generator interface.\",\"version\":1},\"userdoc\":{\"events\":{\"Randomized(address,uint256,uint256,bytes32)\":{\"notice\":\"Thrown every time a new WitnetRandomnessRequest gets succesfully posted to the WitnetRequestBoard.\"}},\"kind\":\"user\",\"methods\":{\"estimateRandomizeFee(uint256)\":{\"notice\":\"Returns amount of wei required to be paid as a fee when requesting randomization with a  transaction gas price as the one given.\"},\"getRandomizeData(uint256)\":{\"notice\":\"Retrieves data of a randomization request that got successfully posted to the WRB within a given block.\"},\"getRandomnessAfter(uint256)\":{\"notice\":\"Retrieves the randomness generated upon solving a request that was posted within a given block, if any, or to the _first_ request posted after that block, otherwise. Should the intended  request happen to be finalized with errors on the Witnet oracle network side, this function  will recursively try to return randomness from the next non-faulty randomization request found  in storage, if any. \"},\"getRandomnessNextBlock(uint256)\":{\"notice\":\"Tells what is the number of the next block in which a randomization request was posted after the given one. \"},\"getRandomnessPrevBlock(uint256)\":{\"notice\":\"Gets previous block in which a randomness request was posted before the given one.\"},\"isRandomized(uint256)\":{\"notice\":\"Returns `true` only when the randomness request that got posted within given block was already reported back from the Witnet oracle, either successfully or with an error of any kind.\"},\"latestRandomizeBlock()\":{\"notice\":\"Returns latest block in which a randomness request got sucessfully posted to the WRB.\"},\"random(uint32,uint256,bytes32)\":{\"notice\":\"Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using  the given `_nonce` value and the given `_seed` as a source of entropy.\"},\"random(uint32,uint256,uint256)\":{\"notice\":\"Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using  the given `_nonce` value and the randomness returned by `getRandomnessAfter(_block)`. \"},\"randomize()\":{\"notice\":\"Requests the Witnet oracle to generate an EVM-agnostic and trustless source of randomness.  Only one randomness request per block will be actually posted to the WRB. Should there  already be a posted request within current block, it will try to upgrade Witnet fee of current's  block randomness request according to current gas price. In both cases, all unused funds shall  be transfered back to the tx sender.\"},\"upgradeRandomizeFee(uint256)\":{\"notice\":\"Increases Witnet fee related to a pending-to-be-solved randomness request, as much as it may be required in proportion to how much bigger the current tx gas price is with respect the  highest gas price that was paid in either previous fee upgrades, or when the given randomness  request was posted. All unused funds shall be transferred back to the tx sender.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRandomness.sol\":\"IWitnetRandomness\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRandomness.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title The Witnet Randomness generator interface.\\n/// @author Witnet Foundation.\\ninterface IWitnetRandomness {\\n\\n    /// Thrown every time a new WitnetRandomnessRequest gets succesfully posted to the WitnetRequestBoard.\\n    /// @param from Address from which the randomize() function was called. \\n    /// @param prevBlock Block number in which a randomness request got posted just before this one. 0 if none.\\n    /// @param witnetQueryId Unique query id assigned to this request by the WRB.\\n    /// @param witnetRequestHash SHA-256 hash of the WitnetRandomnessRequest actual bytecode just posted to the WRB.\\n    event Randomized(\\n        address indexed from,\\n        uint256 indexed prevBlock,\\n        uint256 witnetQueryId,\\n        bytes32 witnetRequestHash\\n    );\\n\\n    /// Returns amount of wei required to be paid as a fee when requesting randomization with a \\n    /// transaction gas price as the one given.\\n    function estimateRandomizeFee(uint256 _gasPrice) external view returns (uint256);\\n\\n    /// Retrieves data of a randomization request that got successfully posted to the WRB within a given block.\\n    /// @dev Returns zero values if no randomness request was actually posted within a given block.\\n    /// @param _block Block number whose randomness request is being queried for.\\n    /// @return _from Address from which the latest randomness request was posted.\\n    /// @return _id Unique request identifier as provided by the WRB.\\n    /// @return _prevBlock Block number in which a randomness request got posted just before this one. 0 if none.\\n    /// @return _nextBlock Block number in which a randomness request got posted just after this one, 0 if none.\\n    function getRandomizeData(uint256 _block)\\n        external view returns (address _from, uint256 _id, uint256 _prevBlock, uint256 _nextBlock);\\n\\n    /// Retrieves the randomness generated upon solving a request that was posted within a given block,\\n    /// if any, or to the _first_ request posted after that block, otherwise. Should the intended \\n    /// request happen to be finalized with errors on the Witnet oracle network side, this function \\n    /// will recursively try to return randomness from the next non-faulty randomization request found \\n    /// in storage, if any. \\n    /// @dev Fails if:\\n    /// @dev   i.   no `randomize()` was not called in either the given block, or afterwards.\\n    /// @dev   ii.  a request posted in/after given block does exist, but no result has been provided yet.\\n    /// @dev   iii. all requests in/after the given block were solved with errors.\\n    /// @param _block Block number from which the search will start.\\n    function getRandomnessAfter(uint256 _block) external view returns (bytes32); \\n\\n    /// Tells what is the number of the next block in which a randomization request was posted after the given one. \\n    /// @param _block Block number from which the search will start.\\n    /// @return Number of the first block found after the given one, or `0` otherwise.\\n    function getRandomnessNextBlock(uint256 _block) external view returns (uint256); \\n\\n    /// Gets previous block in which a randomness request was posted before the given one.\\n    /// @param _block Block number from which the search will start.\\n    /// @return First block found before the given one, or `0` otherwise.\\n    function getRandomnessPrevBlock(uint256 _block) external view returns (uint256);\\n\\n    /// Returns `true` only when the randomness request that got posted within given block was already\\n    /// reported back from the Witnet oracle, either successfully or with an error of any kind.\\n    function isRandomized(uint256 _block) external view returns (bool);\\n\\n    /// Returns latest block in which a randomness request got sucessfully posted to the WRB.\\n    function latestRandomizeBlock() external view returns (uint256);\\n\\n    /// Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using \\n    /// the given `_nonce` value and the randomness returned by `getRandomnessAfter(_block)`. \\n    /// @dev Fails under same conditions as `getRandomnessAfter(uint256)` may do.\\n    /// @param _range Range within which the uniformly-distributed random number will be generated.\\n    /// @param _nonce Nonce value enabling multiple random numbers from the same randomness value.\\n    /// @param _block Block number from which the search will start.\\n    function random(uint32 _range, uint256 _nonce, uint256 _block) external view returns (uint32);\\n\\n    /// Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using \\n    /// the given `_nonce` value and the given `_seed` as a source of entropy.\\n    /// @param _range Range within which the uniformly-distributed random number will be generated.\\n    /// @param _nonce Nonce value enabling multiple random numbers from the same randomness value.\\n    /// @param _seed Seed value used as entropy source.\\n    function random(uint32 _range, uint256 _nonce, bytes32 _seed) external pure returns (uint32);\\n\\n    /// Requests the Witnet oracle to generate an EVM-agnostic and trustless source of randomness. \\n    /// Only one randomness request per block will be actually posted to the WRB. Should there \\n    /// already be a posted request within current block, it will try to upgrade Witnet fee of current's \\n    /// block randomness request according to current gas price. In both cases, all unused funds shall \\n    /// be transfered back to the tx sender.\\n    /// @return _usedFunds Amount of funds actually used from those provided by the tx sender.\\n    function randomize() external payable returns (uint256 _usedFunds);\\n\\n    /// Increases Witnet fee related to a pending-to-be-solved randomness request, as much as it\\n    /// may be required in proportion to how much bigger the current tx gas price is with respect the \\n    /// highest gas price that was paid in either previous fee upgrades, or when the given randomness \\n    /// request was posted. All unused funds shall be transferred back to the tx sender.\\n    /// @return _usedFunds Amount of dunds actually used from those provided by the tx sender.\\n    function upgradeRandomizeFee(uint256 _block) external payable returns (uint256 _usedFunds);\\n}\\n\",\"keccak256\":\"0x67868d08fe2406086cdd9a3860614201911a1ad16e3d34a94151fad721a12934\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"events":{"Randomized(address,uint256,uint256,bytes32)":{"notice":"Thrown every time a new WitnetRandomnessRequest gets succesfully posted to the WitnetRequestBoard."}},"kind":"user","methods":{"estimateRandomizeFee(uint256)":{"notice":"Returns amount of wei required to be paid as a fee when requesting randomization with a  transaction gas price as the one given."},"getRandomizeData(uint256)":{"notice":"Retrieves data of a randomization request that got successfully posted to the WRB within a given block."},"getRandomnessAfter(uint256)":{"notice":"Retrieves the randomness generated upon solving a request that was posted within a given block, if any, or to the _first_ request posted after that block, otherwise. Should the intended  request happen to be finalized with errors on the Witnet oracle network side, this function  will recursively try to return randomness from the next non-faulty randomization request found  in storage, if any. "},"getRandomnessNextBlock(uint256)":{"notice":"Tells what is the number of the next block in which a randomization request was posted after the given one. "},"getRandomnessPrevBlock(uint256)":{"notice":"Gets previous block in which a randomness request was posted before the given one."},"isRandomized(uint256)":{"notice":"Returns `true` only when the randomness request that got posted within given block was already reported back from the Witnet oracle, either successfully or with an error of any kind."},"latestRandomizeBlock()":{"notice":"Returns latest block in which a randomness request got sucessfully posted to the WRB."},"random(uint32,uint256,bytes32)":{"notice":"Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using  the given `_nonce` value and the given `_seed` as a source of entropy."},"random(uint32,uint256,uint256)":{"notice":"Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using  the given `_nonce` value and the randomness returned by `getRandomnessAfter(_block)`. "},"randomize()":{"notice":"Requests the Witnet oracle to generate an EVM-agnostic and trustless source of randomness.  Only one randomness request per block will be actually posted to the WRB. Should there  already be a posted request within current block, it will try to upgrade Witnet fee of current's  block randomness request according to current gas price. In both cases, all unused funds shall  be transfered back to the tx sender."},"upgradeRandomizeFee(uint256)":{"notice":"Increases Witnet fee related to a pending-to-be-solved randomness request, as much as it may be required in proportion to how much bigger the current tx gas price is with respect the  highest gas price that was paid in either previous fee upgrades, or when the given randomness  request was posted. All unused funds shall be transferred back to the tx sender."}},"version":1}}},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol":{"IWitnetRequest":{"abi":[{"inputs":[],"name":"bytecode","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}],"devdoc":{"author":"The Witnet Foundation.","kind":"dev","methods":{},"title":"The Witnet Data Request basic interface.","version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"bytecode()":"f0940002","hash()":"09bd5a60"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"bytecode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"The Witnet Data Request basic interface.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"bytecode()\":{\"notice\":\"A `IWitnetRequest` is constructed around a `bytes` value containing  a well-formed Witnet Data Request using Protocol Buffers.\"},\"hash()\":{\"notice\":\"Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":\"IWitnetRequest\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{"bytecode()":{"notice":"A `IWitnetRequest` is constructed around a `bytes` value containing  a well-formed Witnet Data Request using Protocol Buffers."},"hash()":{"notice":"Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes."}},"version":1}}},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardAdmin.sol":{"IWitnetRequestBoardAdmin":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"author":"The Witnet Foundation.","kind":"dev","methods":{},"title":"Witnet Request Board basic administration interface.","version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"owner()":"8da5cb5b","transferOwnership(address)":"f2fde38b"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Witnet Request Board basic administration interface.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"owner()\":{\"notice\":\"Gets admin/owner address.\"},\"transferOwnership(address)\":{\"notice\":\"Transfers ownership.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardAdmin.sol\":\"IWitnetRequestBoardAdmin\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardAdmin.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title Witnet Request Board basic administration interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardAdmin {\\n    event OwnershipTransferred(address indexed from, address indexed to);\\n\\n    /// Gets admin/owner address.\\n    function owner() external view returns (address);\\n\\n    /// Transfers ownership.\\n    function transferOwnership(address) external;\\n}\\n\",\"keccak256\":\"0xa88e828c55cb4e2c1ef02c9204e367d3034fc2e35cc881581d898942b9715d50\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{"owner()":{"notice":"Gets admin/owner address."},"transferOwnership(address)":{"notice":"Transfers ownership."}},"version":1}}},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardAdminACLs.sol":{"IWitnetRequestBoardAdminACLs":{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"reporters","type":"address[]"}],"name":"ReportersSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"reporters","type":"address[]"}],"name":"ReportersUnset","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isReporter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"reporters","type":"address[]"}],"name":"setReporters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"reporters","type":"address[]"}],"name":"unsetReporters","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"author":"The Witnet Foundation.","kind":"dev","methods":{"setReporters(address[])":{"details":"Can only be called from the owner address.Emits the `ReportersSet` event. "},"unsetReporters(address[])":{"details":"Can only be called from the owner address.Emits the `ReportersUnset` event. "}},"title":"Witnet Request Board ACLs administration interface.","version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"isReporter(address)":"044ad7be","setReporters(address[])":"4c9f72e3","unsetReporters(address[])":"28a78d9b"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"reporters\",\"type\":\"address[]\"}],\"name\":\"ReportersSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"reporters\",\"type\":\"address[]\"}],\"name\":\"ReportersUnset\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isReporter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"reporters\",\"type\":\"address[]\"}],\"name\":\"setReporters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"reporters\",\"type\":\"address[]\"}],\"name\":\"unsetReporters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"kind\":\"dev\",\"methods\":{\"setReporters(address[])\":{\"details\":\"Can only be called from the owner address.Emits the `ReportersSet` event. \"},\"unsetReporters(address[])\":{\"details\":\"Can only be called from the owner address.Emits the `ReportersUnset` event. \"}},\"title\":\"Witnet Request Board ACLs administration interface.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"isReporter(address)\":{\"notice\":\"Tells whether given address is included in the active reporters control list.\"},\"setReporters(address[])\":{\"notice\":\"Adds given addresses to the active reporters control list.\"},\"unsetReporters(address[])\":{\"notice\":\"Removes given addresses from the active reporters control list.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardAdminACLs.sol\":\"IWitnetRequestBoardAdminACLs\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardAdminACLs.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title Witnet Request Board ACLs administration interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardAdminACLs {\\n    event ReportersSet(address[] reporters);\\n    event ReportersUnset(address[] reporters);\\n\\n    /// Tells whether given address is included in the active reporters control list.\\n    function isReporter(address) external view returns (bool);\\n\\n    /// Adds given addresses to the active reporters control list.\\n    /// @dev Can only be called from the owner address.\\n    /// @dev Emits the `ReportersSet` event. \\n    function setReporters(address[] calldata reporters) external;\\n\\n    /// Removes given addresses from the active reporters control list.\\n    /// @dev Can only be called from the owner address.\\n    /// @dev Emits the `ReportersUnset` event. \\n    function unsetReporters(address[] calldata reporters) external;\\n}\\n\",\"keccak256\":\"0xafcd6f01a977d597032b341fec291ea7e26b1dac3eb13eced8b37d89eb76e4ff\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{"isReporter(address)":{"notice":"Tells whether given address is included in the active reporters control list."},"setReporters(address[])":{"notice":"Adds given addresses to the active reporters control list."},"unsetReporters(address[])":{"notice":"Removes given addresses from the active reporters control list."}},"version":1}}},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardEvents.sol":{"IWitnetRequestBoardEvents":{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"queryId","type":"uint256"},{"indexed":false,"internalType":"address","name":"from","type":"address"}],"name":"DeletedQuery","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"queryId","type":"uint256"},{"indexed":false,"internalType":"address","name":"from","type":"address"}],"name":"PostedRequest","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"queryId","type":"uint256"},{"indexed":false,"internalType":"address","name":"from","type":"address"}],"name":"PostedResult","type":"event"}],"devdoc":{"author":"The Witnet Foundation.","kind":"dev","methods":{},"title":"Witnet Request Board emitting events interface.","version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"DeletedQuery\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"PostedRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"PostedResult\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Witnet Request Board emitting events interface.\",\"version\":1},\"userdoc\":{\"events\":{\"DeletedQuery(uint256,address)\":{\"notice\":\"Emitted when all data related to given query is deleted from the WRB.\"},\"PostedRequest(uint256,address)\":{\"notice\":\"Emitted when a Witnet Data Request is posted to the WRB.\"},\"PostedResult(uint256,address)\":{\"notice\":\"Emitted when a Witnet-solved result is reported to the WRB.\"}},\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardEvents.sol\":\"IWitnetRequestBoardEvents\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardEvents.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title Witnet Request Board emitting events interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardEvents {\\n    /// Emitted when a Witnet Data Request is posted to the WRB.\\n    event PostedRequest(uint256 queryId, address from);\\n\\n    /// Emitted when a Witnet-solved result is reported to the WRB.\\n    event PostedResult(uint256 queryId, address from);\\n\\n    /// Emitted when all data related to given query is deleted from the WRB.\\n    event DeletedQuery(uint256 queryId, address from);\\n}\\n\",\"keccak256\":\"0xe2cb1369ba158db394c0380231f99174a88d62a66b0e7f8be14179b8c2fbd12f\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"events":{"DeletedQuery(uint256,address)":{"notice":"Emitted when all data related to given query is deleted from the WRB."},"PostedRequest(uint256,address)":{"notice":"Emitted when a Witnet Data Request is posted to the WRB."},"PostedResult(uint256,address)":{"notice":"Emitted when a Witnet-solved result is reported to the WRB."}},"kind":"user","methods":{},"version":1}}},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardReporter.sol":{"IWitnetRequestBoardReporter":{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"queryId","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"BatchReportError","type":"event"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"},{"internalType":"bytes32","name":"_drTxHash","type":"bytes32"},{"internalType":"bytes","name":"_result","type":"bytes"}],"name":"reportResult","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"},{"internalType":"uint256","name":"_timestamp","type":"uint256"},{"internalType":"bytes32","name":"_drTxHash","type":"bytes32"},{"internalType":"bytes","name":"_result","type":"bytes"}],"name":"reportResult","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"queryId","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct IWitnetRequestBoardReporter.BatchResult[]","name":"_batchResults","type":"tuple[]"},{"internalType":"bool","name":"_verbose","type":"bool"}],"name":"reportResultBatch","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"author":"The Witnet Foundation.","kind":"dev","methods":{"reportResult(uint256,bytes32,bytes)":{"details":"Will assume `block.timestamp` as the timestamp at which the request was solved.Fails if:- the `_queryId` is not in 'Posted' status.- provided `_drTxHash` is zero;- length of provided `_result` is zero.","params":{"_drTxHash":"The hash of the corresponding data request transaction in Witnet.","_queryId":"The unique identifier of the data request.","_result":"The result itself as bytes."}},"reportResult(uint256,uint256,bytes32,bytes)":{"details":"Fails if:- called from unauthorized address;- the `_queryId` is not in 'Posted' status.- provided `_drTxHash` is zero;- length of provided `_result` is zero.","params":{"_drTxHash":"The hash of the corresponding data request transaction in Witnet.","_queryId":"The unique query identifier","_result":"The result itself as bytes.","_timestamp":"The timestamp of the solving tally transaction in Witnet."}},"reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)":{"details":"Must emit a PostedResult event for every succesfully reported result.","params":{"_batchResults":"Array of BatchResult structs, every one containing:         - unique query identifier;         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;         - hash of the corresponding data request tx at the Witnet side-chain level;         - data request result in raw bytes.","_verbose":"If true, must emit a BatchReportError event for every failing report, if any. "}}},"title":"The Witnet Request Board Reporter interface.","version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"reportResult(uint256,bytes32,bytes)":"6280bce8","reportResult(uint256,uint256,bytes32,bytes)":"c8f5cdd5","reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)":"81a398b5"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"BatchReportError\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_result\",\"type\":\"bytes\"}],\"name\":\"reportResult\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_result\",\"type\":\"bytes\"}],\"name\":\"reportResult\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct IWitnetRequestBoardReporter.BatchResult[]\",\"name\":\"_batchResults\",\"type\":\"tuple[]\"},{\"internalType\":\"bool\",\"name\":\"_verbose\",\"type\":\"bool\"}],\"name\":\"reportResultBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"kind\":\"dev\",\"methods\":{\"reportResult(uint256,bytes32,bytes)\":{\"details\":\"Will assume `block.timestamp` as the timestamp at which the request was solved.Fails if:- the `_queryId` is not in 'Posted' status.- provided `_drTxHash` is zero;- length of provided `_result` is zero.\",\"params\":{\"_drTxHash\":\"The hash of the corresponding data request transaction in Witnet.\",\"_queryId\":\"The unique identifier of the data request.\",\"_result\":\"The result itself as bytes.\"}},\"reportResult(uint256,uint256,bytes32,bytes)\":{\"details\":\"Fails if:- called from unauthorized address;- the `_queryId` is not in 'Posted' status.- provided `_drTxHash` is zero;- length of provided `_result` is zero.\",\"params\":{\"_drTxHash\":\"The hash of the corresponding data request transaction in Witnet.\",\"_queryId\":\"The unique query identifier\",\"_result\":\"The result itself as bytes.\",\"_timestamp\":\"The timestamp of the solving tally transaction in Witnet.\"}},\"reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)\":{\"details\":\"Must emit a PostedResult event for every succesfully reported result.\",\"params\":{\"_batchResults\":\"Array of BatchResult structs, every one containing:         - unique query identifier;         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;         - hash of the corresponding data request tx at the Witnet side-chain level;         - data request result in raw bytes.\",\"_verbose\":\"If true, must emit a BatchReportError event for every failing report, if any. \"}}},\"title\":\"The Witnet Request Board Reporter interface.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"reportResult(uint256,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provided result to a previously posted request. \"},\"reportResult(uint256,uint256,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provided result to a previously posted request.\"},\"reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)\":{\"notice\":\"Reports Witnet-provided results to multiple requests within a single EVM tx.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardReporter.sol\":\"IWitnetRequestBoardReporter\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardReporter.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Request Board Reporter interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardReporter {\\n    /// Reports the Witnet-provided result to a previously posted request. \\n    /// @dev Will assume `block.timestamp` as the timestamp at which the request was solved.\\n    /// @dev Fails if:\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique identifier of the data request.\\n    /// @param _drTxHash The hash of the corresponding data request transaction in Witnet.\\n    /// @param _result The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            bytes32 _drTxHash,\\n            bytes calldata _result\\n        ) external;\\n\\n    /// Reports the Witnet-provided result to a previously posted request.\\n    /// @dev Fails if:\\n    /// @dev - called from unauthorized address;\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique query identifier\\n    /// @param _timestamp The timestamp of the solving tally transaction in Witnet.\\n    /// @param _drTxHash The hash of the corresponding data request transaction in Witnet.\\n    /// @param _result The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            uint256 _timestamp,\\n            bytes32 _drTxHash,\\n            bytes calldata _result\\n        ) external;\\n\\n    /// Reports Witnet-provided results to multiple requests within a single EVM tx.\\n    /// @dev Must emit a PostedResult event for every succesfully reported result.\\n    /// @param _batchResults Array of BatchResult structs, every one containing:\\n    ///         - unique query identifier;\\n    ///         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;\\n    ///         - hash of the corresponding data request tx at the Witnet side-chain level;\\n    ///         - data request result in raw bytes.\\n    /// @param _verbose If true, must emit a BatchReportError event for every failing report, if any. \\n    function reportResultBatch(BatchResult[] calldata _batchResults, bool _verbose) external;\\n        \\n        struct BatchResult {\\n            uint256 queryId;\\n            uint256 timestamp;\\n            bytes32 drTxHash;\\n            bytes   cborBytes;\\n        }\\n\\n        event BatchReportError(uint256 queryId, string reason);\\n}\\n\",\"keccak256\":\"0x70655a9a394143ac1f03477a2cca5e2d1773523832bf127b9e9971596c105812\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{"reportResult(uint256,bytes32,bytes)":{"notice":"Reports the Witnet-provided result to a previously posted request. "},"reportResult(uint256,uint256,bytes32,bytes)":{"notice":"Reports the Witnet-provided result to a previously posted request."},"reportResultBatch((uint256,uint256,bytes32,bytes)[],bool)":{"notice":"Reports Witnet-provided results to multiple requests within a single EVM tx."}},"version":1}}},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardRequestor.sol":{"IWitnetRequestBoardRequestor":{"abi":[{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"deleteQuery","outputs":[{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct Witnet.Response","name":"","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IWitnetRequest","name":"_addr","type":"address"}],"name":"postRequest","outputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"upgradeReward","outputs":[],"stateMutability":"payable","type":"function"}],"devdoc":{"author":"The Witnet Foundation.","kind":"dev","methods":{"deleteQuery(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status, or called from an address different tothe one that actually posted the given request.","params":{"_queryId":"The unique query identifier."}},"postRequest(address)":{"details":"Fails if:- provided reward is too low.- provided script is zero address.- provided script bytecode is empty.","params":{"_addr":"The address of the IWitnetRequest contract that can provide the actual Data Request bytecode."},"returns":{"_queryId":"An unique query identifier."}},"upgradeReward(uint256)":{"details":"Updates request `gasPrice` in case this method is called with a higher gas price value than the one used in previous calls to `postRequest` or`upgradeReward`. Fails if the `_queryId` is not in 'Posted' status.Fails also in case the request `gasPrice` is increased, and the new reward value gets below new recalculated threshold. ","params":{"_queryId":"The unique query identifier."}}},"title":"Witnet Requestor Interface","version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"deleteQuery(uint256)":"7c1fbda3","postRequest(address)":"b281a7bd","upgradeReward(uint256)":"66bfdc75"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"deleteQuery\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.Response\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IWitnetRequest\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"postRequest\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"upgradeReward\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"kind\":\"dev\",\"methods\":{\"deleteQuery(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status, or called from an address different tothe one that actually posted the given request.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"postRequest(address)\":{\"details\":\"Fails if:- provided reward is too low.- provided script is zero address.- provided script bytecode is empty.\",\"params\":{\"_addr\":\"The address of the IWitnetRequest contract that can provide the actual Data Request bytecode.\"},\"returns\":{\"_queryId\":\"An unique query identifier.\"}},\"upgradeReward(uint256)\":{\"details\":\"Updates request `gasPrice` in case this method is called with a higher gas price value than the one used in previous calls to `postRequest` or`upgradeReward`. Fails if the `_queryId` is not in 'Posted' status.Fails also in case the request `gasPrice` is increased, and the new reward value gets below new recalculated threshold. \",\"params\":{\"_queryId\":\"The unique query identifier.\"}}},\"title\":\"Witnet Requestor Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deleteQuery(uint256)\":{\"notice\":\"Retrieves a copy of all Witnet-provided data related to a previously posted request, removing the whole query from the WRB storage.\"},\"postRequest(address)\":{\"notice\":\"Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided  result to this request.\"},\"upgradeReward(uint256)\":{\"notice\":\"Increments the reward of a previously posted request by adding the transaction value to it.\"}},\"notice\":\"It defines how to interact with the Witnet Request Board in order to:   - request the execution of Witnet Radon scripts (data request);   - upgrade the resolution reward of any previously posted request, in case gas price raises in mainnet;   - read the result of any previously posted request, eventually reported by the Witnet DON.   - remove from storage all data related to past and solved data requests, and results.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardRequestor.sol\":\"IWitnetRequestBoardRequestor\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardRequestor.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Requestor Interface\\n/// @notice It defines how to interact with the Witnet Request Board in order to:\\n///   - request the execution of Witnet Radon scripts (data request);\\n///   - upgrade the resolution reward of any previously posted request, in case gas price raises in mainnet;\\n///   - read the result of any previously posted request, eventually reported by the Witnet DON.\\n///   - remove from storage all data related to past and solved data requests, and results.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardRequestor {\\n    /// Retrieves a copy of all Witnet-provided data related to a previously posted request, removing the whole query from the WRB storage.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status, or called from an address different to\\n    /// @dev the one that actually posted the given request.\\n    /// @param _queryId The unique query identifier.\\n    function deleteQuery(uint256 _queryId) external returns (Witnet.Response memory);\\n\\n    /// Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON.\\n    /// A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided \\n    /// result to this request.\\n    /// @dev Fails if:\\n    /// @dev - provided reward is too low.\\n    /// @dev - provided script is zero address.\\n    /// @dev - provided script bytecode is empty.\\n    /// @param _addr The address of the IWitnetRequest contract that can provide the actual Data Request bytecode.\\n    /// @return _queryId An unique query identifier.\\n    function postRequest(IWitnetRequest _addr) external payable returns (uint256 _queryId);\\n\\n    /// Increments the reward of a previously posted request by adding the transaction value to it.\\n    /// @dev Updates request `gasPrice` in case this method is called with a higher \\n    /// @dev gas price value than the one used in previous calls to `postRequest` or\\n    /// @dev `upgradeReward`. \\n    /// @dev Fails if the `_queryId` is not in 'Posted' status.\\n    /// @dev Fails also in case the request `gasPrice` is increased, and the new \\n    /// @dev reward value gets below new recalculated threshold. \\n    /// @param _queryId The unique query identifier.\\n    function upgradeReward(uint256 _queryId) external payable;\\n}\\n\",\"keccak256\":\"0x7c7a991de5f087102b1931d5d8b2e3716d7a90354b3cbafef95d2509a0643453\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{"deleteQuery(uint256)":{"notice":"Retrieves a copy of all Witnet-provided data related to a previously posted request, removing the whole query from the WRB storage."},"postRequest(address)":{"notice":"Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided  result to this request."},"upgradeReward(uint256)":{"notice":"Increments the reward of a previously posted request by adding the transaction value to it."}},"notice":"It defines how to interact with the Witnet Request Board in order to:   - request the execution of Witnet Radon scripts (data request);   - upgrade the resolution reward of any previously posted request, in case gas price raises in mainnet;   - read the result of any previously posted request, eventually reported by the Witnet DON.   - remove from storage all data related to past and solved data requests, and results.","version":1}}},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardView.sol":{"IWitnetRequestBoardView":{"abi":[{"inputs":[{"internalType":"uint256","name":"_gasPrice","type":"uint256"}],"name":"estimateReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNextQueryId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryData","outputs":[{"components":[{"components":[{"internalType":"contract IWitnetRequest","name":"addr","type":"address"},{"internalType":"address","name":"requester","type":"address"},{"internalType":"bytes32","name":"hash","type":"bytes32"},{"internalType":"uint256","name":"gasprice","type":"uint256"},{"internalType":"uint256","name":"reward","type":"uint256"}],"internalType":"struct Witnet.Request","name":"request","type":"tuple"},{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct Witnet.Response","name":"response","type":"tuple"},{"internalType":"address","name":"from","type":"address"}],"internalType":"struct Witnet.Query","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryStatus","outputs":[{"internalType":"enum Witnet.QueryStatus","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readRequest","outputs":[{"components":[{"internalType":"contract IWitnetRequest","name":"addr","type":"address"},{"internalType":"address","name":"requester","type":"address"},{"internalType":"bytes32","name":"hash","type":"bytes32"},{"internalType":"uint256","name":"gasprice","type":"uint256"},{"internalType":"uint256","name":"reward","type":"uint256"}],"internalType":"struct Witnet.Request","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readRequestBytecode","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readRequestGasPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readRequestReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponse","outputs":[{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct Witnet.Response","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponseDrTxHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponseReporter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponseResult","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"readResponseTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"devdoc":{"author":"The Witnet Foundation.","kind":"dev","methods":{"estimateReward(uint256)":{"params":{"_gasPrice":"The gas price for which we need to calculate the rewards."}},"readRequest(uint256)":{"details":"Fails if the `_queryId` is not valid or, if it has already been reportedor deleted.","params":{"_queryId":"The unique identifier of a previously posted query."}},"readRequestBytecode(uint256)":{"details":"Fails if the `_queryId` is not valid, or if the related script bytecode got changed after being posted. Returns empty array once it gets reported, or deleted.","params":{"_queryId":"The unique query identifier."}},"readRequestGasPrice(uint256)":{"details":"Fails if the `_queryId` is not valid or, if it has already been reported, or deleted. ","params":{"_queryId":"The unique query identifie"}},"readRequestReward(uint256)":{"details":"Fails if the `_queryId` is not valid or, if it has already been reported, or deleted. ","params":{"_queryId":"The unique query identifier."}},"readResponse(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier."}},"readResponseDrTxHash(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier."}},"readResponseReporter(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier."}},"readResponseResult(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier."}},"readResponseTimestamp(uint256)":{"details":"Fails if the `_queryId` is not in 'Reported' status.","params":{"_queryId":"The unique query identifier."}}},"title":"Witnet Request Board info interface.","version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"estimateReward(uint256)":"d2e87561","getNextQueryId()":"c805dd0f","getQueryData(uint256)":"c2485ebd","getQueryStatus(uint256)":"6f07abcc","readRequest(uint256)":"99f65804","readRequestBytecode(uint256)":"3b885f2a","readRequestGasPrice(uint256)":"3ae97295","readRequestReward(uint256)":"1dd27daf","readResponse(uint256)":"754e5bea","readResponseDrTxHash(uint256)":"dc3c71cd","readResponseReporter(uint256)":"9d96fced","readResponseResult(uint256)":"d4da69ac","readResponseTimestamp(uint256)":"20f9241e"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_gasPrice\",\"type\":\"uint256\"}],\"name\":\"estimateReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNextQueryId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryData\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"contract IWitnetRequest\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"gasprice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"}],\"internalType\":\"struct Witnet.Request\",\"name\":\"request\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.Response\",\"name\":\"response\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"internalType\":\"struct Witnet.Query\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryStatus\",\"outputs\":[{\"internalType\":\"enum Witnet.QueryStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readRequest\",\"outputs\":[{\"components\":[{\"internalType\":\"contract IWitnetRequest\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"gasprice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"}],\"internalType\":\"struct Witnet.Request\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readRequestBytecode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readRequestGasPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readRequestReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponse\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.Response\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponseDrTxHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponseReporter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponseResult\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"readResponseTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"kind\":\"dev\",\"methods\":{\"estimateReward(uint256)\":{\"params\":{\"_gasPrice\":\"The gas price for which we need to calculate the rewards.\"}},\"readRequest(uint256)\":{\"details\":\"Fails if the `_queryId` is not valid or, if it has already been reportedor deleted.\",\"params\":{\"_queryId\":\"The unique identifier of a previously posted query.\"}},\"readRequestBytecode(uint256)\":{\"details\":\"Fails if the `_queryId` is not valid, or if the related script bytecode got changed after being posted. Returns empty array once it gets reported, or deleted.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"readRequestGasPrice(uint256)\":{\"details\":\"Fails if the `_queryId` is not valid or, if it has already been reported, or deleted. \",\"params\":{\"_queryId\":\"The unique query identifie\"}},\"readRequestReward(uint256)\":{\"details\":\"Fails if the `_queryId` is not valid or, if it has already been reported, or deleted. \",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"readResponse(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"readResponseDrTxHash(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"readResponseReporter(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"readResponseResult(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"readResponseTimestamp(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}}},\"title\":\"Witnet Request Board info interface.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"estimateReward(uint256)\":{\"notice\":\"Estimates the amount of reward we need to insert for a given gas price.\"},\"getNextQueryId()\":{\"notice\":\"Returns next query id to be generated by the Witnet Request Board.\"},\"getQueryData(uint256)\":{\"notice\":\"Gets the whole Query data contents, if any, no matter its current status.\"},\"getQueryStatus(uint256)\":{\"notice\":\"Gets current status of given query.\"},\"readRequest(uint256)\":{\"notice\":\"Retrieves the whole Request record posted to the Witnet Request Board.\"},\"readRequestBytecode(uint256)\":{\"notice\":\"Retrieves the serialized bytecode of a previously posted Witnet Data Request.\"},\"readRequestGasPrice(uint256)\":{\"notice\":\"Retrieves the gas price that any assigned reporter will have to pay when reporting  result to a previously posted Witnet data request.\"},\"readRequestReward(uint256)\":{\"notice\":\"Retrieves the reward currently set for the referred query.\"},\"readResponse(uint256)\":{\"notice\":\"Retrieves the whole `Witnet.Response` record referred to a previously posted Witnet Data Request.\"},\"readResponseDrTxHash(uint256)\":{\"notice\":\"Retrieves the hash of the Witnet transaction hash that actually solved the referred query.\"},\"readResponseReporter(uint256)\":{\"notice\":\"Retrieves the address that reported the result to a previously-posted request.\"},\"readResponseResult(uint256)\":{\"notice\":\"Retrieves the Witnet-provided CBOR-bytes result of a previously posted request.\"},\"readResponseTimestamp(uint256)\":{\"notice\":\"Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardView.sol\":\"IWitnetRequestBoardView\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardView.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Request Board info interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardView {\\n    /// Estimates the amount of reward we need to insert for a given gas price.\\n    /// @param _gasPrice The gas price for which we need to calculate the rewards.\\n    function estimateReward(uint256 _gasPrice) external view returns (uint256);\\n\\n    /// Returns next query id to be generated by the Witnet Request Board.\\n    function getNextQueryId() external view returns (uint256);\\n\\n    /// Gets the whole Query data contents, if any, no matter its current status.\\n    function getQueryData(uint256 _queryId) external view returns (Witnet.Query memory);\\n\\n    /// Gets current status of given query.\\n    function getQueryStatus(uint256 _queryId) external view returns (Witnet.QueryStatus);\\n\\n    /// Retrieves the whole Request record posted to the Witnet Request Board.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been reported\\n    /// @dev or deleted.\\n    /// @param _queryId The unique identifier of a previously posted query.\\n    function readRequest(uint256 _queryId) external view returns (Witnet.Request memory);\\n\\n    /// Retrieves the serialized bytecode of a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not valid, or if the related script bytecode \\n    /// @dev got changed after being posted. Returns empty array once it gets reported, \\n    /// @dev or deleted.\\n    /// @param _queryId The unique query identifier.\\n    function readRequestBytecode(uint256 _queryId) external view returns (bytes memory);\\n\\n    /// Retrieves the gas price that any assigned reporter will have to pay when reporting \\n    /// result to a previously posted Witnet data request.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifie\\n    function readRequestGasPrice(uint256 _queryId) external view returns (uint256);\\n\\n    /// Retrieves the reward currently set for the referred query.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifier.\\n    function readRequestReward(uint256 _queryId) external view returns (uint256);\\n\\n    /// Retrieves the whole `Witnet.Response` record referred to a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponse(uint256 _queryId) external view returns (Witnet.Response memory);\\n\\n    /// Retrieves the hash of the Witnet transaction hash that actually solved the referred query.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseDrTxHash(uint256 _queryId) external view returns (bytes32);    \\n\\n    /// Retrieves the address that reported the result to a previously-posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseReporter(uint256 _queryId) external view returns (address);\\n\\n    /// Retrieves the Witnet-provided CBOR-bytes result of a previously posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseResult(uint256 _queryId) external view returns (Witnet.Result memory);\\n\\n    /// Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseTimestamp(uint256 _queryId) external view returns (uint256);\\n}\\n\",\"keccak256\":\"0x782ec2ff166948f5d097765c0190b352793d8b8887af5f8384d875d63cff4e9b\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{"estimateReward(uint256)":{"notice":"Estimates the amount of reward we need to insert for a given gas price."},"getNextQueryId()":{"notice":"Returns next query id to be generated by the Witnet Request Board."},"getQueryData(uint256)":{"notice":"Gets the whole Query data contents, if any, no matter its current status."},"getQueryStatus(uint256)":{"notice":"Gets current status of given query."},"readRequest(uint256)":{"notice":"Retrieves the whole Request record posted to the Witnet Request Board."},"readRequestBytecode(uint256)":{"notice":"Retrieves the serialized bytecode of a previously posted Witnet Data Request."},"readRequestGasPrice(uint256)":{"notice":"Retrieves the gas price that any assigned reporter will have to pay when reporting  result to a previously posted Witnet data request."},"readRequestReward(uint256)":{"notice":"Retrieves the reward currently set for the referred query."},"readResponse(uint256)":{"notice":"Retrieves the whole `Witnet.Response` record referred to a previously posted Witnet Data Request."},"readResponseDrTxHash(uint256)":{"notice":"Retrieves the hash of the Witnet transaction hash that actually solved the referred query."},"readResponseReporter(uint256)":{"notice":"Retrieves the address that reported the result to a previously-posted request."},"readResponseResult(uint256)":{"notice":"Retrieves the Witnet-provided CBOR-bytes result of a previously posted request."},"readResponseTimestamp(uint256)":{"notice":"Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON."}},"version":1}}},"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestParser.sol":{"IWitnetRequestParser":{"abi":[{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asBool","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asBytes32","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asErrorCode","outputs":[{"internalType":"enum Witnet.ErrorCodes","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asErrorMessage","outputs":[{"internalType":"enum Witnet.ErrorCodes","name":"","type":"uint8"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asFixed16","outputs":[{"internalType":"int32","name":"","type":"int32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asFixed16Array","outputs":[{"internalType":"int32[]","name":"","type":"int32[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asInt128","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asInt128Array","outputs":[{"internalType":"int128[]","name":"","type":"int128[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asRawError","outputs":[{"internalType":"uint64[]","name":"","type":"uint64[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asString","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asStringArray","outputs":[{"internalType":"string[]","name":"","type":"string[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asUint64","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asUint64Array","outputs":[{"internalType":"uint64[]","name":"","type":"uint64[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"isError","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"isOk","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"_cborBytes","type":"bytes"}],"name":"resultFromCborBytes","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"","type":"tuple"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"_cborValue","type":"tuple"}],"name":"resultFromCborValue","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"","type":"tuple"}],"stateMutability":"pure","type":"function"}],"devdoc":{"author":"The Witnet Foundation.","kind":"dev","methods":{"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `bool` decoded from the Witnet.Result."}},"asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `bytes` decoded from the Witnet.Result."}},"asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `bytes32` decoded from the Witnet.Result."}},"asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of `Witnet.Result`."},"returns":{"_0":"The `CBORValue.Error memory` decoded from the Witnet.Result."}},"asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"details":"WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function","params":{"_result":"An instance of `Witnet.Result`."},"returns":{"_0":"A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message."}},"asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"details":"Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values. by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`. use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.","params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128` decoded from the Witnet.Result."}},"asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128[]` decoded from the Witnet.Result."}},"asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128` decoded from the Witnet.Result."}},"asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128[]` decoded from the Witnet.Result."}},"asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of `Witnet.Result`."},"returns":{"_0":"The `uint64[]` raw error as decoded from the `Witnet.Result`."}},"asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `string` decoded from the Witnet.Result."}},"asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `string[]` decoded from the Witnet.Result."}},"asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `uint64` decoded from the Witnet.Result."}},"asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `uint64[]` decoded from the Witnet.Result."}},"isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"`true` if errored, `false` if successful."}},"isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"`true` if successful, `false` if errored."}},"resultFromCborBytes(bytes)":{"params":{"_cborBytes":"Raw bytes representing a CBOR-encoded value."},"returns":{"_0":"A `Witnet.Result` instance."}},"resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))":{"params":{"_cborValue":"An instance of `Witnet.CBOR`."},"returns":{"_0":"A `Witnet.Result` instance."}}},"title":"The Witnet interface for decoding Witnet-provided request to Data Requests. This interface exposes functions to check for the success/failure of a Witnet-provided result, as well as to parse and convert result into Solidity types suitable to the application level. ","version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"d4ced132","asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"c683b465","asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"cf62d115","asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"db04f16d","asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"d74803be","asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"2241f2db","asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"0f572d2c","asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"2b905fbb","asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"07e66852","asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"b0768328","asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"109a0e3c","asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"c87d969e","asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"bc7e25ff","asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"4dcffaf3","isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"7780cde1","isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":"a8604c1a","resultFromCborBytes(bytes)":"e99e47f3","resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))":"2565082b"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asErrorCode\",\"outputs\":[{\"internalType\":\"enum Witnet.ErrorCodes\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asErrorMessage\",\"outputs\":[{\"internalType\":\"enum Witnet.ErrorCodes\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asFixed16\",\"outputs\":[{\"internalType\":\"int32\",\"name\":\"\",\"type\":\"int32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asFixed16Array\",\"outputs\":[{\"internalType\":\"int32[]\",\"name\":\"\",\"type\":\"int32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asInt128\",\"outputs\":[{\"internalType\":\"int128\",\"name\":\"\",\"type\":\"int128\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asInt128Array\",\"outputs\":[{\"internalType\":\"int128[]\",\"name\":\"\",\"type\":\"int128[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asRawError\",\"outputs\":[{\"internalType\":\"uint64[]\",\"name\":\"\",\"type\":\"uint64[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asUint64\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asUint64Array\",\"outputs\":[{\"internalType\":\"uint64[]\",\"name\":\"\",\"type\":\"uint64[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"isError\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"isOk\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_cborBytes\",\"type\":\"bytes\"}],\"name\":\"resultFromCborBytes\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"_cborValue\",\"type\":\"tuple\"}],\"name\":\"resultFromCborValue\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"kind\":\"dev\",\"methods\":{\"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `bool` decoded from the Witnet.Result.\"}},\"asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `bytes` decoded from the Witnet.Result.\"}},\"asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `bytes32` decoded from the Witnet.Result.\"}},\"asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of `Witnet.Result`.\"},\"returns\":{\"_0\":\"The `CBORValue.Error memory` decoded from the Witnet.Result.\"}},\"asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"details\":\"WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\",\"params\":{\"_result\":\"An instance of `Witnet.Result`.\"},\"returns\":{\"_0\":\"A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\"}},\"asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"details\":\"Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values. by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`. use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\",\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128` decoded from the Witnet.Result.\"}},\"asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128[]` decoded from the Witnet.Result.\"}},\"asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128` decoded from the Witnet.Result.\"}},\"asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128[]` decoded from the Witnet.Result.\"}},\"asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of `Witnet.Result`.\"},\"returns\":{\"_0\":\"The `uint64[]` raw error as decoded from the `Witnet.Result`.\"}},\"asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `string` decoded from the Witnet.Result.\"}},\"asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `string[]` decoded from the Witnet.Result.\"}},\"asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `uint64` decoded from the Witnet.Result.\"}},\"asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `uint64[]` decoded from the Witnet.Result.\"}},\"isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"`true` if errored, `false` if successful.\"}},\"isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"`true` if successful, `false` if errored.\"}},\"resultFromCborBytes(bytes)\":{\"params\":{\"_cborBytes\":\"Raw bytes representing a CBOR-encoded value.\"},\"returns\":{\"_0\":\"A `Witnet.Result` instance.\"}},\"resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))\":{\"params\":{\"_cborValue\":\"An instance of `Witnet.CBOR`.\"},\"returns\":{\"_0\":\"A `Witnet.Result` instance.\"}}},\"title\":\"The Witnet interface for decoding Witnet-provided request to Data Requests. This interface exposes functions to check for the success/failure of a Witnet-provided result, as well as to parse and convert result into Solidity types suitable to the application level. \",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a boolean value from a Witnet.Result as an `bool` value.\"},\"asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a bytes value from a Witnet.Result as a `bytes` value.\"},\"asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a bytes value from a Witnet.Result as a `bytes32` value.\"},\"asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\"},\"asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\"},\"asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\"},\"asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\"},\"asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a integer numeric value from a Witnet.Result as an `int128` value.\"},\"asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\"},\"asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a raw error from a `Witnet.Result` as a `uint64[]`.\"},\"asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a string value from a Witnet.Result as a `string` value.\"},\"asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an array of string values from a Witnet.Result as a `string[]` value.\"},\"asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode a natural numeric value from a Witnet.Result as a `uint64` value.\"},\"asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\"},\"isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Tell if a Witnet.Result is errored.\"},\"isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))\":{\"notice\":\"Tell if a Witnet.Result is successful.\"},\"resultFromCborBytes(bytes)\":{\"notice\":\"Decode raw CBOR bytes into a Witnet.Result instance.\"},\"resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))\":{\"notice\":\"Decode a CBOR value into a Witnet.Result instance.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestParser.sol\":\"IWitnetRequestParser\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestParser.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title The Witnet interface for decoding Witnet-provided request to Data Requests.\\n/// This interface exposes functions to check for the success/failure of\\n/// a Witnet-provided result, as well as to parse and convert result into\\n/// Solidity types suitable to the application level. \\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestParser {\\n\\n    /// Decode raw CBOR bytes into a Witnet.Result instance.\\n    /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborBytes(bytes memory _cborBytes) external pure returns (Witnet.Result memory);\\n\\n    /// Decode a CBOR value into a Witnet.Result instance.\\n    /// @param _cborValue An instance of `Witnet.CBOR`.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborValue(Witnet.CBOR memory _cborValue) external pure returns (Witnet.Result memory);\\n\\n    /// Tell if a Witnet.Result is successful.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if successful, `false` if errored.\\n    function isOk(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Tell if a Witnet.Result is errored.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if errored, `false` if successful.\\n    function isError(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes` decoded from the Witnet.Result.\\n    function asBytes(Witnet.Result memory _result) external pure returns (bytes memory);\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes32` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes32` decoded from the Witnet.Result.\\n    function asBytes32(Witnet.Result memory _result) external pure returns (bytes32);\\n\\n    /// Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `CBORValue.Error memory` decoded from the Witnet.Result.\\n    function asErrorCode(Witnet.Result memory _result) external pure returns (Witnet.ErrorCodes);\\n\\n\\n    /// Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\\n    /// @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\\n    function asErrorMessage(Witnet.Result memory _result) external pure returns (Witnet.ErrorCodes, string memory);\\n\\n    /// Decode a raw error from a `Witnet.Result` as a `uint64[]`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `uint64[]` raw error as decoded from the `Witnet.Result`.\\n    function asRawError(Witnet.Result memory _result) external pure returns(uint64[] memory);\\n\\n    /// Decode a boolean value from a Witnet.Result as an `bool` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bool` decoded from the Witnet.Result.\\n    function asBool(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\\n    /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\\n    /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\\n    /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asFixed16(Witnet.Result memory _result) external pure returns (int32);\\n\\n    /// Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asFixed16Array(Witnet.Result memory _result) external pure returns (int32[] memory);\\n\\n    /// Decode a integer numeric value from a Witnet.Result as an `int128` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asInt128(Witnet.Result memory _result) external pure returns (int128);\\n\\n    /// Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asInt128Array(Witnet.Result memory _result) external pure returns (int128[] memory);\\n\\n    /// Decode a string value from a Witnet.Result as a `string` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string` decoded from the Witnet.Result.\\n    function asString(Witnet.Result memory _result) external pure returns (string memory);\\n\\n    /// Decode an array of string values from a Witnet.Result as a `string[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string[]` decoded from the Witnet.Result.\\n    function asStringArray(Witnet.Result memory _result) external pure returns (string[] memory);\\n\\n    /// Decode a natural numeric value from a Witnet.Result as a `uint64` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64` decoded from the Witnet.Result.\\n    function asUint64(Witnet.Result memory _result) external pure returns(uint64);\\n\\n    /// Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64[]` decoded from the Witnet.Result.\\n    function asUint64Array(Witnet.Result memory _result) external pure returns (uint64[] memory);\\n\\n}\\n\",\"keccak256\":\"0xe7c24475babac7d21172d37d976a97b81053739e81b4697be39decfe2aa90945\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{"asBool((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a boolean value from a Witnet.Result as an `bool` value."},"asBytes((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a bytes value from a Witnet.Result as a `bytes` value."},"asBytes32((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a bytes value from a Witnet.Result as a `bytes32` value."},"asErrorCode((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`."},"asErrorMessage((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments."},"asFixed16((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value."},"asFixed16Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value."},"asInt128((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a integer numeric value from a Witnet.Result as an `int128` value."},"asInt128Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value."},"asRawError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a raw error from a `Witnet.Result` as a `uint64[]`."},"asString((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a string value from a Witnet.Result as a `string` value."},"asStringArray((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an array of string values from a Witnet.Result as a `string[]` value."},"asUint64((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode a natural numeric value from a Witnet.Result as a `uint64` value."},"asUint64Array((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value."},"isError((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Tell if a Witnet.Result is errored."},"isOk((bool,((bytes,uint32),uint8,uint8,uint8,uint64,uint64)))":{"notice":"Tell if a Witnet.Result is successful."},"resultFromCborBytes(bytes)":{"notice":"Decode raw CBOR bytes into a Witnet.Result instance."},"resultFromCborValue(((bytes,uint32),uint8,uint8,uint8,uint64,uint64))":{"notice":"Decode a CBOR value into a Witnet.Result instance."}},"version":1}}},"witnet-solidity-bridge/contracts/libs/Witnet.sol":{"Witnet":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f44cdb5f6da1e305c920597467bac9972ea95d73cbcbdd4aac6907349f6c412364736f6c63430008070033","opcodes":"PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DELEGATECALL 0x4C 0xDB 0x5F PUSH14 0xA1E305C920597467BAC9972EA95D PUSH20 0xCBCBDD4AAC6907349F6C412364736F6C63430008 SMOD STOP CALLER ","sourceMap":"144:10937:50:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f44cdb5f6da1e305c920597467bac9972ea95d73cbcbdd4aac6907349f6c412364736f6c63430008070033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DELEGATECALL 0x4C 0xDB 0x5F PUSH14 0xA1E305C920597467BAC9972EA95D PUSH20 0xCBCBDD4AAC6907349F6C412364736F6C63430008 SMOD STOP CALLER ","sourceMap":"144:10937:50:-:0;;;;;;;;"},"gasEstimates":{"creation":{"codeDepositCost":"17200","executionCost":"97","totalCost":"17297"},"internal":{"hash(bytes memory)":"infinite"}},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":\"Witnet\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"version":1}}},"witnet-solidity-bridge/contracts/libs/WitnetBuffer.sol":{"WitnetBuffer":{"abi":[],"devdoc":{"author":"The Witnet Foundation.","details":"`uint32` is used here for `cursor` because `uint16` would only enable seeking up to 8KB, which could in some theoretical use cases be exceeded. Conversely, `uint32` supports up to 512MB, which cannot credibly be exceeded.","kind":"dev","methods":{},"title":"A convenient wrapper around the `bytes memory` type that exposes a buffer-like interface","version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a2ae8f580b3a1f373e9fbacb203fba73234a63bbed5739fbc03fe9e410e981dc64736f6c63430008070033","opcodes":"PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG2 0xAE DUP16 PC SIGNEXTEND GASPRICE 0x1F CALLDATACOPY RETURNDATACOPY SWAP16 0xBA 0xCB KECCAK256 EXTCODEHASH 0xBA PUSH20 0x234A63BBED5739FBC03FE9E410E981DC64736F6C PUSH4 0x43000807 STOP CALLER ","sourceMap":"658:10287:51:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a2ae8f580b3a1f373e9fbacb203fba73234a63bbed5739fbc03fe9e410e981dc64736f6c63430008070033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG2 0xAE DUP16 PC SIGNEXTEND GASPRICE 0x1F CALLDATACOPY RETURNDATACOPY SWAP16 0xBA 0xCB KECCAK256 EXTCODEHASH 0xBA PUSH20 0x234A63BBED5739FBC03FE9E410E981DC64736F6C PUSH4 0x43000807 STOP CALLER ","sourceMap":"658:10287:51:-:0;;;;;;;;"},"gasEstimates":{"creation":{"codeDepositCost":"17200","executionCost":"97","totalCost":"17297"},"internal":{"memcpy(uint256,uint256,uint256)":"infinite","next(struct Witnet.Buffer memory)":"infinite","read(struct Witnet.Buffer memory,uint32)":"infinite","readFloat16(struct Witnet.Buffer memory)":"infinite","readUint128(struct Witnet.Buffer memory)":"infinite","readUint16(struct Witnet.Buffer memory)":"infinite","readUint256(struct Witnet.Buffer memory)":"infinite","readUint32(struct Witnet.Buffer memory)":"infinite","readUint64(struct Witnet.Buffer memory)":"infinite","readUint8(struct Witnet.Buffer memory)":"infinite","rewind(struct Witnet.Buffer memory)":"infinite","seek(struct Witnet.Buffer memory,uint32)":"infinite","seek(struct Witnet.Buffer memory,uint32,bool)":"infinite"}},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"details\":\"`uint32` is used here for `cursor` because `uint16` would only enable seeking up to 8KB, which could in some theoretical use cases be exceeded. Conversely, `uint32` supports up to 512MB, which cannot credibly be exceeded.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"A convenient wrapper around the `bytes memory` type that exposes a buffer-like interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"The buffer has an inner cursor that tracks the final offset of every read, i.e. any subsequent read will start with the byte that goes right after the last one in the previous read.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/libs/WitnetBuffer.sol\":\"WitnetBuffer\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/WitnetBuffer.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"./Witnet.sol\\\";\\n\\n/// @title A convenient wrapper around the `bytes memory` type that exposes a buffer-like interface\\n/// @notice The buffer has an inner cursor that tracks the final offset of every read, i.e. any subsequent read will\\n/// start with the byte that goes right after the last one in the previous read.\\n/// @dev `uint32` is used here for `cursor` because `uint16` would only enable seeking up to 8KB, which could in some\\n/// theoretical use cases be exceeded. Conversely, `uint32` supports up to 512MB, which cannot credibly be exceeded.\\n/// @author The Witnet Foundation.\\nlibrary WitnetBuffer {\\n\\n  // Ensures we access an existing index in an array\\n  modifier notOutOfBounds(uint32 index, uint256 length) {\\n    require(index < length, \\\"WitnetBuffer: Tried to read from a consumed Buffer (must rewind it first)\\\");\\n    _;\\n  }\\n\\n  /// @notice Read and consume a certain amount of bytes from the buffer.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @param _length How many bytes to read and consume from the buffer.\\n  /// @return A `bytes memory` containing the first `_length` bytes from the buffer, counting from the cursor position.\\n  function read(Witnet.Buffer memory _buffer, uint32 _length) internal pure returns (bytes memory) {\\n    // Make sure not to read out of the bounds of the original bytes\\n    require(_buffer.cursor + _length <= _buffer.data.length, \\\"WitnetBuffer: Not enough bytes in buffer when reading\\\");\\n\\n    // Create a new `bytes memory destination` value\\n    bytes memory destination = new bytes(_length);\\n\\n    // Early return in case that bytes length is 0\\n    if (_length != 0) {\\n      bytes memory source = _buffer.data;\\n      uint32 offset = _buffer.cursor;\\n\\n      // Get raw pointers for source and destination\\n      uint sourcePointer;\\n      uint destinationPointer;\\n      assembly {\\n        sourcePointer := add(add(source, 32), offset)\\n        destinationPointer := add(destination, 32)\\n      }\\n      // Copy `_length` bytes from source to destination\\n      memcpy(destinationPointer, sourcePointer, uint(_length));\\n\\n      // Move the cursor forward by `_length` bytes\\n      seek(_buffer, _length, true);\\n    }\\n    return destination;\\n  }\\n\\n  /// @notice Read and consume the next byte from the buffer.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The next byte in the buffer counting from the cursor position.\\n  function next(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor, _buffer.data.length) returns (bytes1) {\\n    // Return the byte at the position marked by the cursor and advance the cursor all at once\\n    return _buffer.data[_buffer.cursor++];\\n  }\\n\\n  /// @notice Move the inner cursor of the buffer to a relative or absolute position.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @param _offset How many bytes to move the cursor forward.\\n  /// @param _relative Whether to count `_offset` from the last position of the cursor (`true`) or the beginning of the\\n  /// buffer (`true`).\\n  /// @return The final position of the cursor (will equal `_offset` if `_relative` is `false`).\\n  // solium-disable-next-line security/no-assign-params\\n  function seek(Witnet.Buffer memory _buffer, uint32 _offset, bool _relative) internal pure returns (uint32) {\\n    // Deal with relative offsets\\n    if (_relative) {\\n      require(_offset + _buffer.cursor > _offset, \\\"WitnetBuffer: Integer overflow when seeking\\\");\\n      _offset += _buffer.cursor;\\n    }\\n    // Make sure not to read out of the bounds of the original bytes\\n    require(_offset <= _buffer.data.length, \\\"WitnetBuffer: Not enough bytes in buffer when seeking\\\");\\n    _buffer.cursor = _offset;\\n    return _buffer.cursor;\\n  }\\n\\n  /// @notice Move the inner cursor a number of bytes forward.\\n  /// @dev This is a simple wrapper around the relative offset case of `seek()`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @param _relativeOffset How many bytes to move the cursor forward.\\n  /// @return The final position of the cursor.\\n  function seek(Witnet.Buffer memory _buffer, uint32 _relativeOffset) internal pure returns (uint32) {\\n    return seek(_buffer, _relativeOffset, true);\\n  }\\n\\n  /// @notice Move the inner cursor back to the first byte in the buffer.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  function rewind(Witnet.Buffer memory _buffer) internal pure {\\n    _buffer.cursor = 0;\\n  }\\n\\n  /// @notice Read and consume the next byte from the buffer as an `uint8`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint8` value of the next byte in the buffer counting from the cursor position.\\n  function readUint8(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor, _buffer.data.length) returns (uint8) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint8 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 1), offset))\\n    }\\n    _buffer.cursor++;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 2 bytes from the buffer as an `uint16`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint16` value of the next 2 bytes in the buffer counting from the cursor position.\\n  function readUint16(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 1, _buffer.data.length) returns (uint16) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint16 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 2), offset))\\n    }\\n    _buffer.cursor += 2;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 4 bytes from the buffer as an `uint32`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint32` value of the next 4 bytes in the buffer counting from the cursor position.\\n  function readUint32(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 3, _buffer.data.length) returns (uint32) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint32 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 4), offset))\\n    }\\n    _buffer.cursor += 4;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 8 bytes from the buffer as an `uint64`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint64` value of the next 8 bytes in the buffer counting from the cursor position.\\n  function readUint64(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 7, _buffer.data.length) returns (uint64) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint64 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 8), offset))\\n    }\\n    _buffer.cursor += 8;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 16 bytes from the buffer as an `uint128`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint128` value of the next 16 bytes in the buffer counting from the cursor position.\\n  function readUint128(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 15, _buffer.data.length) returns (uint128) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint128 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 16), offset))\\n    }\\n    _buffer.cursor += 16;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 32 bytes from the buffer as an `uint256`.\\n  /// @return The `uint256` value of the next 32 bytes in the buffer counting from the cursor position.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  function readUint256(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 31, _buffer.data.length) returns (uint256) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint256 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 32), offset))\\n    }\\n    _buffer.cursor += 32;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 2 bytes from the buffer as an IEEE 754-2008 floating point number enclosed in an\\n  /// `int32`.\\n  /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values\\n  /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `float16`\\n  /// use cases. In other words, the integer output of this method is 10,000 times the actual value. The input bytes are\\n  /// expected to follow the 16-bit base-2 format (a.k.a. `binary16`) in the IEEE 754-2008 standard.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint32` value of the next 4 bytes in the buffer counting from the cursor position.\\n  function readFloat16(Witnet.Buffer memory _buffer) internal pure returns (int32) {\\n    uint32 bytesValue = readUint16(_buffer);\\n    // Get bit at position 0\\n    uint32 sign = bytesValue & 0x8000;\\n    // Get bits 1 to 5, then normalize to the [-14, 15] range so as to counterweight the IEEE 754 exponent bias\\n    int32 exponent = (int32(bytesValue & 0x7c00) >> 10) - 15;\\n    // Get bits 6 to 15\\n    int32 significand = int32(bytesValue & 0x03ff);\\n\\n    // Add 1024 to the fraction if the exponent is 0\\n    if (exponent == 15) {\\n      significand |= 0x400;\\n    }\\n\\n    // Compute `2 ^ exponent \\u00b7 (1 + fraction / 1024)`\\n    int32 result = 0;\\n    if (exponent >= 0) {\\n      result = int32((int256(1 << uint256(int256(exponent))) * 10000 * int256(uint256(int256(significand)) | 0x400)) >> 10);\\n    } else {\\n      result = int32(((int256(uint256(int256(significand)) | 0x400) * 10000) / int256(1 << uint256(int256(- exponent)))) >> 10);\\n    }\\n\\n    // Make the result negative if the sign bit is not 0\\n    if (sign != 0) {\\n      result *= - 1;\\n    }\\n    return result;\\n  }\\n\\n  /// @notice Copy bytes from one memory address into another.\\n  /// @dev This function was borrowed from Nick Johnson's `solidity-stringutils` lib, and reproduced here under the terms\\n  /// of [Apache License 2.0](https://github.com/Arachnid/solidity-stringutils/blob/master/LICENSE).\\n  /// @param _dest Address of the destination memory.\\n  /// @param _src Address to the source memory.\\n  /// @param _len How many bytes to copy.\\n  // solium-disable-next-line security/no-assign-params\\n  function memcpy(uint _dest, uint _src, uint _len) private pure {\\n    require(_len > 0, \\\"WitnetBuffer: Cannot copy 0 bytes\\\");\\n\\n    // Copy word-length chunks while possible\\n    for (; _len >= 32; _len -= 32) {\\n      assembly {\\n        mstore(_dest, mload(_src))\\n      }\\n      _dest += 32;\\n      _src += 32;\\n    }\\n    if (_len > 0) {\\n      // Copy remaining bytes\\n      uint mask = 256 ** (32 - _len) - 1;\\n      assembly {\\n        let srcpart := and(mload(_src), not(mask))\\n        let destpart := and(mload(_dest), mask)\\n        mstore(_dest, or(destpart, srcpart))\\n      }\\n    }\\n  }\\n\\n}\\n\",\"keccak256\":\"0x7ef46325fb4d37649e8ef4c2250240ea63c32720d44d7e4da5a7b412fb348524\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"notice":"The buffer has an inner cursor that tracks the final offset of every read, i.e. any subsequent read will start with the byte that goes right after the last one in the previous read.","version":1}}},"witnet-solidity-bridge/contracts/libs/WitnetDecoderLib.sol":{"WitnetDecoderLib":{"abi":[{"inputs":[{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"_cborValue","type":"tuple"}],"name":"decodeBool","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"_cborValue","type":"tuple"}],"name":"decodeBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"_cborValue","type":"tuple"}],"name":"decodeBytes32","outputs":[{"internalType":"bytes32","name":"_bytes32","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"_cborValue","type":"tuple"}],"name":"decodeFixed16","outputs":[{"internalType":"int32","name":"","type":"int32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"_cborValue","type":"tuple"}],"name":"decodeFixed16Array","outputs":[{"internalType":"int32[]","name":"","type":"int32[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"_cborValue","type":"tuple"}],"name":"decodeInt128","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"_cborValue","type":"tuple"}],"name":"decodeInt128Array","outputs":[{"internalType":"int128[]","name":"","type":"int128[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"_cborValue","type":"tuple"}],"name":"decodeString","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"_cborValue","type":"tuple"}],"name":"decodeStringArray","outputs":[{"internalType":"string[]","name":"","type":"string[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"_cborValue","type":"tuple"}],"name":"decodeUint64","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"_cborValue","type":"tuple"}],"name":"decodeUint64Array","outputs":[{"internalType":"uint64[]","name":"","type":"uint64[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"_buffer","type":"tuple"}],"name":"valueFromBuffer","outputs":[{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"","type":"tuple"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"_cborBytes","type":"bytes"}],"name":"valueFromBytes","outputs":[{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"","type":"tuple"}],"stateMutability":"pure","type":"function"}],"devdoc":{"author":"The Witnet Foundation.  TODO: add support for Array (majorType = 4) TODO: add support for Map (majorType = 5) TODO: add support for Float32 (majorType = 7, additionalInformation = 26) TODO: add support for Float64 (majorType = 7, additionalInformation = 27) ","details":"Most of the logic has been borrowed from Patrick Gansterer’s cbor.js library: https://github.com/paroga/cbor-js","kind":"dev","methods":{"decodeBool(Witnet.CBOR)":{"params":{"_cborValue":"An instance of `Witnet.CBOR`."},"returns":{"_0":"The value represented by the input, as a `bool` value."}},"decodeBytes(Witnet.CBOR)":{"params":{"_cborValue":"An instance of `Witnet.CBOR`."},"returns":{"_0":"The value represented by the input, as a `bytes` value.   "}},"decodeBytes32(Witnet.CBOR)":{"params":{"_cborValue":"An instance of `Witnet.CBOR`."},"returns":{"_bytes32":"The value represented by the input, as a `bytes32` value."}},"decodeFixed16(Witnet.CBOR)":{"details":"Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16` use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.","params":{"_cborValue":"An instance of `Witnet.CBOR`."},"returns":{"_0":"The value represented by the input, as an `int128` value."}},"decodeFixed16Array(Witnet.CBOR)":{"params":{"_cborValue":"An instance of `Witnet.CBOR`."},"returns":{"_0":"The value represented by the input, as an `int128[]` value."}},"decodeInt128(Witnet.CBOR)":{"params":{"_cborValue":"An instance of `Witnet.CBOR`."},"returns":{"_0":"The value represented by the input, as an `int128` value."}},"decodeInt128Array(Witnet.CBOR)":{"params":{"_cborValue":"An instance of `Witnet.CBOR`."},"returns":{"_0":"The value represented by the input, as an `int128[]` value."}},"decodeString(Witnet.CBOR)":{"params":{"_cborValue":"An instance of `Witnet.CBOR`."},"returns":{"_0":"The value represented by the input, as a `string` value."}},"decodeStringArray(Witnet.CBOR)":{"params":{"_cborValue":"An instance of `Witnet.CBOR`."},"returns":{"_0":"The value represented by the input, as an `string[]` value."}},"decodeUint64(Witnet.CBOR)":{"params":{"_cborValue":"An instance of `Witnet.CBOR`."},"returns":{"_0":"The value represented by the input, as an `uint64` value."}},"decodeUint64Array(Witnet.CBOR)":{"params":{"_cborValue":"An instance of `Witnet.CBOR`."},"returns":{"_0":"The value represented by the input, as an `uint64[]` value."}},"valueFromBuffer(Witnet.Buffer)":{"details":"This is an alternate factory for Witnet.CBOR instances, which can be later decoded into native EVM types.","params":{"_buffer":"A Buffer structure representing a CBOR-encoded value."},"returns":{"_0":"A `Witnet.CBOR` instance containing a partially decoded value."}},"valueFromBytes(bytes)":{"details":"This is the main factory for Witnet.CBOR instances, which can be later decoded into native EVM types.","params":{"_cborBytes":"Raw bytes representing a CBOR-encoded value."},"returns":{"_0":"A `Witnet.CBOR` instance containing a partially decoded value."}}},"title":"A minimalistic implementation of “RFC 7049 Concise Binary Object Representation”","version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"613c0d610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100d95760003560e01c806394863ea411610096578063c5e88ff211610070578063c5e88ff21461028e578063dfca5d34146102be578063e67c5bd1146102ee578063f8a597d31461031e576100d9565b806394863ea4146101fe5780639eee60ca1461022e578063bb6ef6cf1461025e576100d9565b806308c05c33146100de5780633380d8161461010e578063531f4ba71461013e5780637a8acab11461016e5780637f3fb7ca1461019e5780638138799a146101ce575b600080fd5b6100f860048036038101906100f39190611d88565b61034e565b60405161010591906125cc565b60405180910390f35b61012860048036038101906101239190611d88565b6103f2565b6040516101359190612529565b60405180910390f35b61015860048036038101906101539190611d88565b61058a565b604051610165919061254b565b60405180910390f35b61018860048036038101906101839190611d88565b610722565b60405161019591906128e3565b60405180910390f35b6101b860048036038101906101b39190611d3f565b610786565b6040516101c591906128c1565b60405180910390f35b6101e860048036038101906101e39190611d88565b6108d8565b6040516101f59190612624565b60405180910390f35b61021860048036038101906102139190611d88565b610982565b6040516102259190612609565b60405180910390f35b61024860048036038101906102439190611d88565b610a52565b60405161025591906125b1565b60405180910390f35b61027860048036038101906102739190611d88565b610b4f565b60405161028591906125e7565b60405180910390f35b6102a860048036038101906102a39190611d88565b610c95565b6040516102b5919061256d565b60405180910390f35b6102d860048036038101906102d39190611cf6565b610e29565b6040516102e591906128c1565b60405180910390f35b61030860048036038101906103039190611d88565b610e62565b604051610315919061263f565b60405180910390f35b61033860048036038101906103339190611d88565b610f62565b604051610345919061258f565b60405180910390f35b60008061035a83610b4f565b90506000602082511161036e578151610371565b60205b905060005b818110156103ea5760088161038b9190612f40565b60ff60f81b8483815181106103a3576103a2613346565b5b602001015160f81c60f81b167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c8417935080806103e2906131e6565b915050610376565b505050919050565b60606004826040015160ff161461043e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043590612761565b60405180910390fd5b600061045283600001518460600151611108565b905067ffffffffffffffff80168167ffffffffffffffff16106104aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a190612721565b60405180910390fd5b60008167ffffffffffffffff1667ffffffffffffffff8111156104d0576104cf613375565b5b6040519080825280602002602001820160405280156104fe5781602001602082028036833780820191505090505b50905060005b8267ffffffffffffffff168167ffffffffffffffff16101561057f57600061052f8660000151610786565b905061053a81610982565b838367ffffffffffffffff168151811061055757610556613346565b5b6020026020010190600f0b9081600f0b815250505080806105779061325c565b915050610504565b508092505050919050565b60606004826040015160ff16146105d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105cd90612761565b60405180910390fd5b60006105ea83600001518460600151611108565b905067ffffffffffffffff80168167ffffffffffffffff1610610642576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063990612721565b60405180910390fd5b60008167ffffffffffffffff1667ffffffffffffffff81111561066857610667613375565b5b6040519080825280602002602001820160405280156106965781602001602082028036833780820191505090505b50905060005b8267ffffffffffffffff168167ffffffffffffffff1610156107175760006106c78660000151610786565b90506106d2816108d8565b838367ffffffffffffffff16815181106106ef576106ee613346565b5b602002602001019060030b908160030b8152505050808061070f9061325c565b91505061069c565b508092505050919050565b600080826040015160ff161461076d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610764906126a1565b60405180910390fd5b61077f82600001518360600151611108565b9050919050565b61078e611aa6565b6000826000015151116107d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cd906127a1565b60405180910390fd5b60008060ff905060008067ffffffffffffffff90506000600190505b801561083a57610801876111fb565b945060058560ff16901c9350601f8516925060068460ff161415610830576108298784611108565b9150610835565b600090505b6107f2565b60078460ff161115610881576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610878906127e1565b60405180910390fd5b6040518060c001604052808881526020018660ff1681526020018560ff1681526020018460ff168152602001600067ffffffffffffffff1681526020018367ffffffffffffffff1681525095505050505050919050565b60006007826040015160ff1614610924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091b90612681565b60405180910390fd5b6019826060015160ff161461096e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096590612881565b60405180910390fd5b61097b826000015161129c565b9050919050565b60006001826040015160ff1614156109e85760006109a883600001518460600151611108565b90508067ffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6109e09190612f9a565b915050610a4d565b6000826040015160ff161415610a1257610a0182610722565b67ffffffffffffffff169050610a4d565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4490612841565b60405180910390fd5b919050565b6000610a6682600001518360600151611108565b826080019067ffffffffffffffff16908167ffffffffffffffff16815250506007826040015160ff1614610acf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac690612741565b60405180910390fd5b6014826080015167ffffffffffffffff161415610aef5760009050610b4a565b6015826080015167ffffffffffffffff161415610b0f5760019050610b4a565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4190612801565b60405180910390fd5b919050565b6060610b6382600001518360600151611108565b826080019067ffffffffffffffff16908167ffffffffffffffff168152505063ffffffff8016826080015167ffffffffffffffff161415610c725760606000610bb4846000015185604001516113af565b905063ffffffff80168163ffffffff161015610c685781610be282866000015161146590919063ffffffff16565b604051602001610bf39291906124dd565b6040516020818303038152906040529150610c16846000015185604001516113af565b905063ffffffff80168163ffffffff161015610c675781610c4482866000015161146590919063ffffffff16565b604051602001610c559291906124dd565b60405160208183030381529060405291505b5b8192505050610c90565b610c8d8260800151836000015161146590919063ffffffff16565b90505b919050565b60606004826040015160ff1614610ce1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd890612861565b60405180910390fd5b6000610cf583600001518460600151611108565b905067ffffffffffffffff80168167ffffffffffffffff1610610d4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4490612721565b60405180910390fd5b60008167ffffffffffffffff1667ffffffffffffffff811115610d7357610d72613375565b5b604051908082528060200260200182016040528015610da657816020015b6060815260200190600190039081610d915790505b50905060005b8267ffffffffffffffff168167ffffffffffffffff161015610e1e576000610dd78660000151610786565b9050610de281610e62565b838367ffffffffffffffff1681518110610dff57610dfe613346565b5b6020026020010181905250508080610e169061325c565b915050610dac565b508092505050919050565b610e31611aa6565b60006040518060400160405280848152602001600063ffffffff168152509050610e5a81610786565b915050919050565b6060610e7682600001518360600151611108565b826080019067ffffffffffffffff16908167ffffffffffffffff168152505067ffffffffffffffff8016826080015167ffffffffffffffff161415610f4857606060005b80610f3e576000610ed3856000015186604001516113af565b905067ffffffffffffffff80168167ffffffffffffffff161015610f335782610f0c8660000151600484610f079190612ba8565b611579565b604051602001610f1d9291906124dd565b6040516020818303038152906040529250610f38565b600191505b50610eba565b8192505050610f5d565b610f5a82600001518360800151611579565b90505b919050565b60606004826040015160ff1614610fae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa5906127c1565b60405180910390fd5b6000610fc283600001518460600151611108565b905067ffffffffffffffff80168167ffffffffffffffff161061101a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101190612721565b60405180910390fd5b60008167ffffffffffffffff1667ffffffffffffffff8111156110405761103f613375565b5b60405190808252806020026020018201604052801561106e5781602001602082028036833780820191505090505b50905060005b8267ffffffffffffffff168167ffffffffffffffff1610156110fd57600061109f8660000151610786565b90506110aa81610722565b838367ffffffffffffffff16815181106110c7576110c6613346565b5b602002602001019067ffffffffffffffff16908167ffffffffffffffff16815250505080806110f59061325c565b915050611074565b508092505050919050565b600060188260ff161015611121578160ff1690506111f5565b60188260ff16141561114057611136836111fb565b60ff1690506111f5565b60198260ff16141561116057611155836116d5565b61ffff1690506111f5565b601a8260ff1614156111825761117583611788565b63ffffffff1690506111f5565b601b8260ff16141561119e576111978361183b565b90506111f5565b601f8260ff1614156111ba5767ffffffffffffffff90506111f5565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec906126e1565b60405180910390fd5b92915050565b60008160200151826000015151808263ffffffff1610611250576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611247906126c1565b60405180910390fd5b600084600001519050600085602001519050600081600184010151905086602001805180919061127f9061322f565b63ffffffff1663ffffffff16815250508095505050505050919050565b6000806112a8836116d5565b61ffff1690506000618000821690506000600f600a617c00851660030b901d6112d1919061301e565b905060006103ff84169050600f8260030b14156112f057610400811790505b6000808360030b1261132e57600a6104008360030b176127108560030b6001901b61131b9190612d4a565b6113259190612d4a565b901d9050611365565b600a8361133a9061329f565b60030b6001901b6127106104008560030b176113569190612d4a565b6113609190612b3e565b901d90505b60008463ffffffff16146113a2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8161139f9190612e61565b90505b8095505050505050919050565b6000806113bb846111fb565b905060ff8160ff1614156113da5767ffffffffffffffff91505061145f565b60006113e985601f8416611108565b905067ffffffffffffffff80168167ffffffffffffffff1610801561141a57508360ff1660058360ff16901c60ff16145b611459576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145090612781565b60405180910390fd5b80925050505b92915050565b606082600001515182846020015161147d9190612b04565b63ffffffff1611156114c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bb90612701565b60405180910390fd5b60008263ffffffff1667ffffffffffffffff8111156114e6576114e5613375565b5b6040519080825280601f01601f1916602001820160405280156115185781602001600182028036833780820191505090505b50905060008363ffffffff161461156f57600084600001519050600085602001519050600080826020850101915060208501905061155d81838963ffffffff166118ee565b611569888860016119ba565b50505050505b8091505092915050565b60608060005b8367ffffffffffffffff168167ffffffffffffffff1610156116ca5760006115a6866111fb565b905060006080821660ff16146116925760e08160ff1610156115f057603f6115cd876111fb565b166006601f831660ff16901b1790506001856115e991906130ca565b9450611691565b60f08160ff16101561163e57603f611607876111fb565b166006603f611615896111fb565b1660ff16901b600c600f841660ff16901b1717905060028561163791906130ca565b9450611690565b603f611649876111fb565b166006603f611657896111fb565b1660ff16901b600c603f61166a8a6111fb565b1660ff16901b6012600f851660ff16901b171717905060038561168d91906130ca565b94505b5b5b82816040516020016116a5929190612501565b60405160208183030381529060405292505080806116c29061325c565b91505061157f565b508091505092915050565b6000600182602001516116e89190612b04565b826000015151808263ffffffff1610611736576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172d906126c1565b60405180910390fd5b60008460000151905060008560200151905060008160028401015190506002876020018181516117669190612b04565b91509063ffffffff16908163ffffffff16815250508095505050505050919050565b60006003826020015161179b9190612b04565b826000015151808263ffffffff16106117e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e0906126c1565b60405180910390fd5b60008460000151905060008560200151905060008160048401015190506004876020018181516118199190612b04565b91509063ffffffff16908163ffffffff16815250508095505050505050919050565b60006007826020015161184e9190612b04565b826000015151808263ffffffff161061189c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611893906126c1565b60405180910390fd5b60008460000151905060008560200151905060008160088401015190506008876020018181516118cc9190612b04565b91509063ffffffff16908163ffffffff16815250508095505050505050919050565b60008111611931576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192890612821565b60405180910390fd5b5b60208110611970578151835260208361194b9190612aae565b925060208261195a9190612aae565b91506020816119699190613096565b9050611932565b60008111156119b5576000600182602061198a9190613096565b6101006119979190612c2c565b6119a19190613096565b905080198351168185511681811786525050505b505050565b60008115611a32578263ffffffff168460200151846119d99190612b04565b63ffffffff1611611a1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a16906128a1565b60405180910390fd5b836020015183611a2f9190612b04565b92505b8360000151518363ffffffff161115611a80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7790612661565b60405180910390fd5b82846020019063ffffffff16908163ffffffff1681525050836020015190509392505050565b6040518060c00160405280611ab9611aff565b8152602001600060ff168152602001600060ff168152602001600060ff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff1681525090565b604051806040016040528060608152602001600063ffffffff1681525090565b6000611b32611b2d84612923565b6128fe565b905082815260208101848484011115611b4e57611b4d6133b3565b5b611b59848285613173565b509392505050565b600082601f830112611b7657611b756133a4565b5b8135611b86848260208601611b1f565b91505092915050565b600060408284031215611ba557611ba46133a9565b5b611baf60406128fe565b9050600082013567ffffffffffffffff811115611bcf57611bce6133ae565b5b611bdb84828501611b61565b6000830152506020611bef84828501611cb7565b60208301525092915050565b600060c08284031215611c1157611c106133a9565b5b611c1b60c06128fe565b9050600082013567ffffffffffffffff811115611c3b57611c3a6133ae565b5b611c4784828501611b8f565b6000830152506020611c5b84828501611ce1565b6020830152506040611c6f84828501611ce1565b6040830152506060611c8384828501611ce1565b6060830152506080611c9784828501611ccc565b60808301525060a0611cab84828501611ccc565b60a08301525092915050565b600081359050611cc681613b92565b92915050565b600081359050611cdb81613ba9565b92915050565b600081359050611cf081613bc0565b92915050565b600060208284031215611d0c57611d0b6133bd565b5b600082013567ffffffffffffffff811115611d2a57611d296133b8565b5b611d3684828501611b61565b91505092915050565b600060208284031215611d5557611d546133bd565b5b600082013567ffffffffffffffff811115611d7357611d726133b8565b5b611d7f84828501611b8f565b91505092915050565b600060208284031215611d9e57611d9d6133bd565b5b600082013567ffffffffffffffff811115611dbc57611dbb6133b8565b5b611dc884828501611bfb565b91505092915050565b6000611ddd838361208c565b60208301905092915050565b6000611df583836120aa565b60208301905092915050565b6000611e0d83836120f2565b905092915050565b6000611e2183836124a8565b60208301905092915050565b6000611e3882612994565b611e428185612a0a565b9350611e4d83612954565b8060005b83811015611e7e578151611e658882611dd1565b9750611e70836129d6565b925050600181019050611e51565b5085935050505092915050565b6000611e968261299f565b611ea08185612a1b565b9350611eab83612964565b8060005b83811015611edc578151611ec38882611de9565b9750611ece836129e3565b925050600181019050611eaf565b5085935050505092915050565b6000611ef4826129aa565b611efe8185612a2c565b935083602082028501611f1085612974565b8060005b85811015611f4c5784840389528151611f2d8582611e01565b9450611f38836129f0565b925060208a01995050600181019050611f14565b50829750879550505050505092915050565b6000611f69826129b5565b611f738185612a3d565b9350611f7e83612984565b8060005b83811015611faf578151611f968882611e15565b9750611fa1836129fd565b925050600181019050611f82565b5085935050505092915050565b611fc5816130fe565b82525050565b611fd48161310a565b82525050565b6000611fe5826129c0565b611fef8185612a4e565b9350611fff818560208601613182565b612008816133c2565b840191505092915050565b600061201e826129c0565b6120288185612a5f565b9350612038818560208601613182565b612041816133c2565b840191505092915050565b6000612057826129c0565b6120618185612a70565b9350612071818560208601613182565b80840191505092915050565b61208681613114565b82525050565b61209581613114565b82525050565b6120a48161312b565b82525050565b6120b38161312b565b82525050565b60006120c4826129cb565b6120ce8185612a8c565b93506120de818560208601613182565b6120e7816133c2565b840191505092915050565b60006120fd826129cb565b6121078185612a9d565b9350612117818560208601613182565b612120816133c2565b840191505092915050565b6000612138603583612a7b565b9150612143826133ed565b604082019050919050565b600061215b605483612a7b565b91506121668261343c565b606082019050919050565b600061217e605183612a7b565b9150612189826134b1565b606082019050919050565b60006121a1604983612a7b565b91506121ac82613526565b606082019050919050565b60006121c4605483612a7b565b91506121cf8261359b565b606082019050919050565b60006121e7603583612a7b565b91506121f282613610565b604082019050919050565b600061220a604183612a7b565b91506122158261365f565b606082019050919050565b600061222d605783612a7b565b9150612238826136d4565b606082019050919050565b6000612250605383612a7b565b915061225b82613749565b606082019050919050565b6000612273602b83612a7b565b915061227e826137be565b604082019050919050565b6000612296603c83612a7b565b91506122a18261380d565b604082019050919050565b60006122b9605383612a7b565b91506122c48261385c565b606082019050919050565b60006122dc602983612a7b565b91506122e7826138d1565b604082019050919050565b60006122ff605c83612a7b565b915061230a82613920565b606082019050919050565b6000612322602183612a7b565b915061232d82613995565b604082019050919050565b6000612345605783612a7b565b9150612350826139e4565b606082019050919050565b6000612368605383612a7b565b915061237382613a59565b606082019050919050565b600061238b605b83612a7b565b915061239682613ace565b606082019050919050565b60006123ae602b83612a7b565b91506123b982613b43565b604082019050919050565b600060408301600083015184820360008601526123e18282612013565b91505060208301516123f6602086018261248a565b508091505092915050565b600060c083016000830151848203600086015261241e82826123c4565b915050602083015161243360208601826124b7565b50604083015161244660408601826124b7565b50606083015161245960608601826124b7565b50608083015161246c60808601826124a8565b5060a083015161247f60a08601826124a8565b508091505092915050565b61249381613142565b82525050565b6124a281613152565b82525050565b6124b181613152565b82525050565b6124c081613166565b82525050565b6124d76124d282613166565b61328d565b82525050565b60006124e9828561204c565b91506124f5828461204c565b91508190509392505050565b600061250d828561204c565b915061251982846124c6565b6001820191508190509392505050565b600060208201905081810360008301526125438184611e2d565b905092915050565b600060208201905081810360008301526125658184611e8b565b905092915050565b600060208201905081810360008301526125878184611ee9565b905092915050565b600060208201905081810360008301526125a98184611f5e565b905092915050565b60006020820190506125c66000830184611fbc565b92915050565b60006020820190506125e16000830184611fcb565b92915050565b600060208201905081810360008301526126018184611fda565b905092915050565b600060208201905061261e600083018461207d565b92915050565b6000602082019050612639600083018461209b565b92915050565b6000602082019050818103600083015261265981846120b9565b905092915050565b6000602082019050818103600083015261267a8161212b565b9050919050565b6000602082019050818103600083015261269a8161214e565b9050919050565b600060208201905081810360008301526126ba81612171565b9050919050565b600060208201905081810360008301526126da81612194565b9050919050565b600060208201905081810360008301526126fa816121b7565b9050919050565b6000602082019050818103600083015261271a816121da565b9050919050565b6000602082019050818103600083015261273a816121fd565b9050919050565b6000602082019050818103600083015261275a81612220565b9050919050565b6000602082019050818103600083015261277a81612243565b9050919050565b6000602082019050818103600083015261279a81612266565b9050919050565b600060208201905081810360008301526127ba81612289565b9050919050565b600060208201905081810360008301526127da816122ac565b9050919050565b600060208201905081810360008301526127fa816122cf565b9050919050565b6000602082019050818103600083015261281a816122f2565b9050919050565b6000602082019050818103600083015261283a81612315565b9050919050565b6000602082019050818103600083015261285a81612338565b9050919050565b6000602082019050818103600083015261287a8161235b565b9050919050565b6000602082019050818103600083015261289a8161237e565b9050919050565b600060208201905081810360008301526128ba816123a1565b9050919050565b600060208201905081810360008301526128db8184612401565b905092915050565b60006020820190506128f86000830184612499565b92915050565b6000612908612919565b905061291482826131b5565b919050565b6000604051905090565b600067ffffffffffffffff82111561293e5761293d613375565b5b612947826133c2565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612ab982613138565b9150612ac483613138565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612af957612af86132e8565b5b828201905092915050565b6000612b0f82613142565b9150612b1a83613142565b92508263ffffffff03821115612b3357612b326132e8565b5b828201905092915050565b6000612b4982613121565b9150612b5483613121565b925082612b6457612b63613317565b5b600160000383147f800000000000000000000000000000000000000000000000000000000000000083141615612b9d57612b9c6132e8565b5b828205905092915050565b6000612bb382613152565b9150612bbe83613152565b925082612bce57612bcd613317565b5b828204905092915050565b6000808291508390505b6001851115612c2357808604811115612bff57612bfe6132e8565b5b6001851615612c0e5780820291505b8081029050612c1c856133e0565b9450612be3565b94509492505050565b6000612c3782613138565b9150612c4283613138565b9250612c6f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612c77565b905092915050565b600082612c875760019050612d43565b81612c955760009050612d43565b8160018114612cab5760028114612cb557612ce4565b6001915050612d43565b60ff841115612cc757612cc66132e8565b5b8360020a915084821115612cde57612cdd6132e8565b5b50612d43565b5060208310610133831016604e8410600b8410161715612d195782820a905083811115612d1457612d136132e8565b5b612d43565b612d268484846001612bd9565b92509050818404811115612d3d57612d3c6132e8565b5b81810290505b9392505050565b6000612d5582613121565b9150612d6083613121565b9250827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482116000841360008413161615612d9f57612d9e6132e8565b5b817f80000000000000000000000000000000000000000000000000000000000000000583126000841260008413161615612ddc57612ddb6132e8565b5b827f80000000000000000000000000000000000000000000000000000000000000000582126000841360008412161615612e1957612e186132e8565b5b827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0582126000841260008412161615612e5657612e556132e8565b5b828202905092915050565b6000612e6c8261312b565b9150612e778361312b565b925082637fffffff0482116000841360008413161615612e9a57612e996132e8565b5b817fffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000583126000841260008413161615612ed757612ed66132e8565b5b827fffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000582126000841360008412161615612f1457612f136132e8565b5b82637fffffff0582126000841260008412161615612f3557612f346132e8565b5b828202905092915050565b6000612f4b82613138565b9150612f5683613138565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f8f57612f8e6132e8565b5b828202905092915050565b6000612fa582613114565b9150612fb083613114565b9250827fffffffffffffffffffffffffffffffff8000000000000000000000000000000001821260008412151615612feb57612fea6132e8565b5b826f7fffffffffffffffffffffffffffffff018213600084121615613013576130126132e8565b5b828203905092915050565b60006130298261312b565b91506130348361312b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000182126000841215161561306f5761306e6132e8565b5b82637fffffff01821360008412161561308b5761308a6132e8565b5b828203905092915050565b60006130a182613138565b91506130ac83613138565b9250828210156130bf576130be6132e8565b5b828203905092915050565b60006130d582613152565b91506130e083613152565b9250828210156130f3576130f26132e8565b5b828203905092915050565b60008115159050919050565b6000819050919050565b600081600f0b9050919050565b6000819050919050565b60008160030b9050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b838110156131a0578082015181840152602081019050613185565b838111156131af576000848401525b50505050565b6131be826133c2565b810181811067ffffffffffffffff821117156131dd576131dc613375565b5b80604052505050565b60006131f182613138565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613224576132236132e8565b5b600182019050919050565b600061323a82613142565b915063ffffffff821415613251576132506132e8565b5b600182019050919050565b600061326782613152565b915067ffffffffffffffff821415613282576132816132e8565b5b600182019050919050565b6000613298826133d3565b9050919050565b60006132aa8261312b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000008214156132dd576132dc6132e8565b5b816000039050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160f81b9050919050565b60008160011c9050919050565b7f5769746e65744275666665723a204e6f7420656e6f756768206279746573206960008201527f6e20627566666572207768656e207365656b696e670000000000000000000000602082015250565b7f5769746e65744465636f6465724c69623a20547269656420746f20726561642060008201527f6120606669786564602076616c75652066726f6d2061206057542e43424f526060208201527f2077697468206d616a6f725479706520213d2037000000000000000000000000604082015250565b7f5769746e65744465636f6465724c69623a20547269656420746f20726561642060008201527f6075696e743634602066726f6d206120605769746e65742e43424f526020776960208201527f7468206d616a6f725479706520213d2030000000000000000000000000000000604082015250565b7f5769746e65744275666665723a20547269656420746f20726561642066726f6d60008201527f206120636f6e73756d65642042756666657220286d75737420726577696e642060208201527f6974206669727374290000000000000000000000000000000000000000000000604082015250565b7f5769746e65744465636f6465724c69623a20496e76616c6964206c656e67746860008201527f20656e636f64696e6720286e6f6e2d6578697374656e74206164646974696f6e60208201527f616c496e666f726d6174696f6e2076616c756529000000000000000000000000604082015250565b7f5769746e65744275666665723a204e6f7420656e6f756768206279746573206960008201527f6e20627566666572207768656e2072656164696e670000000000000000000000602082015250565b7f5769746e65744465636f6465724c69623a20496e646566696e6974652d6c656e60008201527f6774682043424f522061727261797320617265206e6f7420737570706f72746560208201527f6400000000000000000000000000000000000000000000000000000000000000604082015250565b7f5769746e65744465636f6465724c69623a20547269656420746f20726561642060008201527f612060626f6f6c602076616c75652066726f6d206120605769746e65742e434260208201527f4f52602077697468206d616a6f725479706520213d2037000000000000000000604082015250565b7f5769746e65744465636f6465724c69623a20547269656420746f20726561642060008201527f60696e743132385b5d602066726f6d206120605769746e65742e43424f52602060208201527f77697468206d616a6f725479706520213d203400000000000000000000000000604082015250565b7f5769746e65744465636f6465724c69623a20496e76616c696420696e6465666960008201527f6e697465206c656e677468000000000000000000000000000000000000000000602082015250565b7f5769746e65744465636f6465724c69623a20466f756e6420656d70747920627560008201527f66666572207768656e2070617273696e672043424f522076616c756500000000602082015250565b7f5769746e65744465636f6465724c69623a20547269656420746f20726561642060008201527f6075696e7436345b5d602066726f6d206120605769746e65742e43424f52602060208201527f77697468206d616a6f725479706520213d203400000000000000000000000000604082015250565b7f5769746e65744465636f6465724c69623a20496e76616c69642043424f52206d60008201527f616a6f7220747970650000000000000000000000000000000000000000000000602082015250565b7f5769746e65744465636f6465724c69623a20547269656420746f20726561642060008201527f60626f6f6c602066726f6d206120605769746e65742e43424f5260207769746860208201527f206c656e20646966666572656e74207468616e203230206f7220323100000000604082015250565b7f5769746e65744275666665723a2043616e6e6f7420636f70792030206279746560008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f5769746e65744465636f6465724c69623a20547269656420746f20726561642060008201527f60696e74313238602066726f6d206120605769746e65742e43424f526020776960208201527f7468206d616a6f7254797065206e6f742030206f722031000000000000000000604082015250565b7f5769746e65744465636f6465724c69623a20547269656420746f20726561642060008201527f60737472696e675b5d602066726f6d206120605769746e65742e43424f52602060208201527f77697468206d616a6f725479706520213d203400000000000000000000000000604082015250565b7f5769746e65744465636f6465724c69623a20547269656420746f20726561642060008201527f6066697865643136602066726f6d2061206057542e43424f526020776974682060208201527f6164646974696f6e616c496e666f726d6174696f6e20213d2032350000000000604082015250565b7f5769746e65744275666665723a20496e7465676572206f766572666c6f77207760008201527f68656e207365656b696e67000000000000000000000000000000000000000000602082015250565b613b9b81613142565b8114613ba657600080fd5b50565b613bb281613152565b8114613bbd57600080fd5b50565b613bc981613166565b8114613bd457600080fd5b5056fea2646970667358221220a4d4d110e1ca9e6f5fbecbc2cd493e629dfa4ae32d005565f69c63361d2074fd64736f6c63430008070033","opcodes":"PUSH2 0x3C0D PUSH2 0x53 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x46 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xD9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x94863EA4 GT PUSH2 0x96 JUMPI DUP1 PUSH4 0xC5E88FF2 GT PUSH2 0x70 JUMPI DUP1 PUSH4 0xC5E88FF2 EQ PUSH2 0x28E JUMPI DUP1 PUSH4 0xDFCA5D34 EQ PUSH2 0x2BE JUMPI DUP1 PUSH4 0xE67C5BD1 EQ PUSH2 0x2EE JUMPI DUP1 PUSH4 0xF8A597D3 EQ PUSH2 0x31E JUMPI PUSH2 0xD9 JUMP JUMPDEST DUP1 PUSH4 0x94863EA4 EQ PUSH2 0x1FE JUMPI DUP1 PUSH4 0x9EEE60CA EQ PUSH2 0x22E JUMPI DUP1 PUSH4 0xBB6EF6CF EQ PUSH2 0x25E JUMPI PUSH2 0xD9 JUMP JUMPDEST DUP1 PUSH4 0x8C05C33 EQ PUSH2 0xDE JUMPI DUP1 PUSH4 0x3380D816 EQ PUSH2 0x10E JUMPI DUP1 PUSH4 0x531F4BA7 EQ PUSH2 0x13E JUMPI DUP1 PUSH4 0x7A8ACAB1 EQ PUSH2 0x16E JUMPI DUP1 PUSH4 0x7F3FB7CA EQ PUSH2 0x19E JUMPI DUP1 PUSH4 0x8138799A EQ PUSH2 0x1CE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF3 SWAP2 SWAP1 PUSH2 0x1D88 JUMP JUMPDEST PUSH2 0x34E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x105 SWAP2 SWAP1 PUSH2 0x25CC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x128 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x123 SWAP2 SWAP1 PUSH2 0x1D88 JUMP JUMPDEST PUSH2 0x3F2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x135 SWAP2 SWAP1 PUSH2 0x2529 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x158 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x153 SWAP2 SWAP1 PUSH2 0x1D88 JUMP JUMPDEST PUSH2 0x58A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x165 SWAP2 SWAP1 PUSH2 0x254B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x188 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x183 SWAP2 SWAP1 PUSH2 0x1D88 JUMP JUMPDEST PUSH2 0x722 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x195 SWAP2 SWAP1 PUSH2 0x28E3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1B3 SWAP2 SWAP1 PUSH2 0x1D3F JUMP JUMPDEST PUSH2 0x786 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C5 SWAP2 SWAP1 PUSH2 0x28C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1E8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E3 SWAP2 SWAP1 PUSH2 0x1D88 JUMP JUMPDEST PUSH2 0x8D8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F5 SWAP2 SWAP1 PUSH2 0x2624 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x218 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x213 SWAP2 SWAP1 PUSH2 0x1D88 JUMP JUMPDEST PUSH2 0x982 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x225 SWAP2 SWAP1 PUSH2 0x2609 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x248 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x243 SWAP2 SWAP1 PUSH2 0x1D88 JUMP JUMPDEST PUSH2 0xA52 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP2 SWAP1 PUSH2 0x25B1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x278 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x273 SWAP2 SWAP1 PUSH2 0x1D88 JUMP JUMPDEST PUSH2 0xB4F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x285 SWAP2 SWAP1 PUSH2 0x25E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2A8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2A3 SWAP2 SWAP1 PUSH2 0x1D88 JUMP JUMPDEST PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2B5 SWAP2 SWAP1 PUSH2 0x256D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2D8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2D3 SWAP2 SWAP1 PUSH2 0x1CF6 JUMP JUMPDEST PUSH2 0xE29 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2E5 SWAP2 SWAP1 PUSH2 0x28C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x308 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x303 SWAP2 SWAP1 PUSH2 0x1D88 JUMP JUMPDEST PUSH2 0xE62 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x315 SWAP2 SWAP1 PUSH2 0x263F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x338 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x333 SWAP2 SWAP1 PUSH2 0x1D88 JUMP JUMPDEST PUSH2 0xF62 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x345 SWAP2 SWAP1 PUSH2 0x258F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x35A DUP4 PUSH2 0xB4F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x20 DUP3 MLOAD GT PUSH2 0x36E JUMPI DUP2 MLOAD PUSH2 0x371 JUMP JUMPDEST PUSH1 0x20 JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3EA JUMPI PUSH1 0x8 DUP2 PUSH2 0x38B SWAP2 SWAP1 PUSH2 0x2F40 JUMP JUMPDEST PUSH1 0xFF PUSH1 0xF8 SHL DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x3A3 JUMPI PUSH2 0x3A2 PUSH2 0x3346 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL AND PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 SHR DUP5 OR SWAP4 POP DUP1 DUP1 PUSH2 0x3E2 SWAP1 PUSH2 0x31E6 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x376 JUMP JUMPDEST POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP3 PUSH1 0x40 ADD MLOAD PUSH1 0xFF AND EQ PUSH2 0x43E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x435 SWAP1 PUSH2 0x2761 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x452 DUP4 PUSH1 0x0 ADD MLOAD DUP5 PUSH1 0x60 ADD MLOAD PUSH2 0x1108 JUMP JUMPDEST SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP1 AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT PUSH2 0x4AA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4A1 SWAP1 PUSH2 0x2721 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4D0 JUMPI PUSH2 0x4CF PUSH2 0x3375 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x4FE JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x57F JUMPI PUSH1 0x0 PUSH2 0x52F DUP7 PUSH1 0x0 ADD MLOAD PUSH2 0x786 JUMP JUMPDEST SWAP1 POP PUSH2 0x53A DUP2 PUSH2 0x982 JUMP JUMPDEST DUP4 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MLOAD DUP2 LT PUSH2 0x557 JUMPI PUSH2 0x556 PUSH2 0x3346 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD SWAP1 PUSH1 0xF SIGNEXTEND SWAP1 DUP2 PUSH1 0xF SIGNEXTEND DUP2 MSTORE POP POP POP DUP1 DUP1 PUSH2 0x577 SWAP1 PUSH2 0x325C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x504 JUMP JUMPDEST POP DUP1 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP3 PUSH1 0x40 ADD MLOAD PUSH1 0xFF AND EQ PUSH2 0x5D6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5CD SWAP1 PUSH2 0x2761 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x5EA DUP4 PUSH1 0x0 ADD MLOAD DUP5 PUSH1 0x60 ADD MLOAD PUSH2 0x1108 JUMP JUMPDEST SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP1 AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT PUSH2 0x642 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x639 SWAP1 PUSH2 0x2721 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x668 JUMPI PUSH2 0x667 PUSH2 0x3375 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x696 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x717 JUMPI PUSH1 0x0 PUSH2 0x6C7 DUP7 PUSH1 0x0 ADD MLOAD PUSH2 0x786 JUMP JUMPDEST SWAP1 POP PUSH2 0x6D2 DUP2 PUSH2 0x8D8 JUMP JUMPDEST DUP4 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MLOAD DUP2 LT PUSH2 0x6EF JUMPI PUSH2 0x6EE PUSH2 0x3346 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x3 SIGNEXTEND SWAP1 DUP2 PUSH1 0x3 SIGNEXTEND DUP2 MSTORE POP POP POP DUP1 DUP1 PUSH2 0x70F SWAP1 PUSH2 0x325C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x69C JUMP JUMPDEST POP DUP1 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x40 ADD MLOAD PUSH1 0xFF AND EQ PUSH2 0x76D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x764 SWAP1 PUSH2 0x26A1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x77F DUP3 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x60 ADD MLOAD PUSH2 0x1108 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x78E PUSH2 0x1AA6 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x0 ADD MLOAD MLOAD GT PUSH2 0x7D6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7CD SWAP1 PUSH2 0x27A1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0xFF SWAP1 POP PUSH1 0x0 DUP1 PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 POP PUSH1 0x0 PUSH1 0x1 SWAP1 POP JUMPDEST DUP1 ISZERO PUSH2 0x83A JUMPI PUSH2 0x801 DUP8 PUSH2 0x11FB JUMP JUMPDEST SWAP5 POP PUSH1 0x5 DUP6 PUSH1 0xFF AND SWAP1 SHR SWAP4 POP PUSH1 0x1F DUP6 AND SWAP3 POP PUSH1 0x6 DUP5 PUSH1 0xFF AND EQ ISZERO PUSH2 0x830 JUMPI PUSH2 0x829 DUP8 DUP5 PUSH2 0x1108 JUMP JUMPDEST SWAP2 POP PUSH2 0x835 JUMP JUMPDEST PUSH1 0x0 SWAP1 POP JUMPDEST PUSH2 0x7F2 JUMP JUMPDEST PUSH1 0x7 DUP5 PUSH1 0xFF AND GT ISZERO PUSH2 0x881 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x878 SWAP1 PUSH2 0x27E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 DUP9 DUP2 MSTORE PUSH1 0x20 ADD DUP7 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP6 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP SWAP6 POP POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x7 DUP3 PUSH1 0x40 ADD MLOAD PUSH1 0xFF AND EQ PUSH2 0x924 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x91B SWAP1 PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x19 DUP3 PUSH1 0x60 ADD MLOAD PUSH1 0xFF AND EQ PUSH2 0x96E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x965 SWAP1 PUSH2 0x2881 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x97B DUP3 PUSH1 0x0 ADD MLOAD PUSH2 0x129C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 PUSH1 0x40 ADD MLOAD PUSH1 0xFF AND EQ ISZERO PUSH2 0x9E8 JUMPI PUSH1 0x0 PUSH2 0x9A8 DUP4 PUSH1 0x0 ADD MLOAD DUP5 PUSH1 0x60 ADD MLOAD PUSH2 0x1108 JUMP JUMPDEST SWAP1 POP DUP1 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x9E0 SWAP2 SWAP1 PUSH2 0x2F9A JUMP JUMPDEST SWAP2 POP POP PUSH2 0xA4D JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x40 ADD MLOAD PUSH1 0xFF AND EQ ISZERO PUSH2 0xA12 JUMPI PUSH2 0xA01 DUP3 PUSH2 0x722 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH2 0xA4D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA44 SWAP1 PUSH2 0x2841 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA66 DUP3 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x60 ADD MLOAD PUSH2 0x1108 JUMP JUMPDEST DUP3 PUSH1 0x80 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH1 0x7 DUP3 PUSH1 0x40 ADD MLOAD PUSH1 0xFF AND EQ PUSH2 0xACF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAC6 SWAP1 PUSH2 0x2741 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x14 DUP3 PUSH1 0x80 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xAEF JUMPI PUSH1 0x0 SWAP1 POP PUSH2 0xB4A JUMP JUMPDEST PUSH1 0x15 DUP3 PUSH1 0x80 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xB0F JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0xB4A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB41 SWAP1 PUSH2 0x2801 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0xB63 DUP3 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x60 ADD MLOAD PUSH2 0x1108 JUMP JUMPDEST DUP3 PUSH1 0x80 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH4 0xFFFFFFFF DUP1 AND DUP3 PUSH1 0x80 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xC72 JUMPI PUSH1 0x60 PUSH1 0x0 PUSH2 0xBB4 DUP5 PUSH1 0x0 ADD MLOAD DUP6 PUSH1 0x40 ADD MLOAD PUSH2 0x13AF JUMP JUMPDEST SWAP1 POP PUSH4 0xFFFFFFFF DUP1 AND DUP2 PUSH4 0xFFFFFFFF AND LT ISZERO PUSH2 0xC68 JUMPI DUP2 PUSH2 0xBE2 DUP3 DUP7 PUSH1 0x0 ADD MLOAD PUSH2 0x1465 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xBF3 SWAP3 SWAP2 SWAP1 PUSH2 0x24DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP2 POP PUSH2 0xC16 DUP5 PUSH1 0x0 ADD MLOAD DUP6 PUSH1 0x40 ADD MLOAD PUSH2 0x13AF JUMP JUMPDEST SWAP1 POP PUSH4 0xFFFFFFFF DUP1 AND DUP2 PUSH4 0xFFFFFFFF AND LT ISZERO PUSH2 0xC67 JUMPI DUP2 PUSH2 0xC44 DUP3 DUP7 PUSH1 0x0 ADD MLOAD PUSH2 0x1465 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xC55 SWAP3 SWAP2 SWAP1 PUSH2 0x24DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP2 POP JUMPDEST JUMPDEST DUP2 SWAP3 POP POP POP PUSH2 0xC90 JUMP JUMPDEST PUSH2 0xC8D DUP3 PUSH1 0x80 ADD MLOAD DUP4 PUSH1 0x0 ADD MLOAD PUSH2 0x1465 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP3 PUSH1 0x40 ADD MLOAD PUSH1 0xFF AND EQ PUSH2 0xCE1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCD8 SWAP1 PUSH2 0x2861 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xCF5 DUP4 PUSH1 0x0 ADD MLOAD DUP5 PUSH1 0x60 ADD MLOAD PUSH2 0x1108 JUMP JUMPDEST SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP1 AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT PUSH2 0xD4D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD44 SWAP1 PUSH2 0x2721 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xD73 JUMPI PUSH2 0xD72 PUSH2 0x3375 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xDA6 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0xD91 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0xE1E JUMPI PUSH1 0x0 PUSH2 0xDD7 DUP7 PUSH1 0x0 ADD MLOAD PUSH2 0x786 JUMP JUMPDEST SWAP1 POP PUSH2 0xDE2 DUP2 PUSH2 0xE62 JUMP JUMPDEST DUP4 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MLOAD DUP2 LT PUSH2 0xDFF JUMPI PUSH2 0xDFE PUSH2 0x3346 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP POP DUP1 DUP1 PUSH2 0xE16 SWAP1 PUSH2 0x325C JUMP JUMPDEST SWAP2 POP POP PUSH2 0xDAC JUMP JUMPDEST POP DUP1 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE31 PUSH2 0x1AA6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP SWAP1 POP PUSH2 0xE5A DUP2 PUSH2 0x786 JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0xE76 DUP3 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x60 ADD MLOAD PUSH2 0x1108 JUMP JUMPDEST DUP3 PUSH1 0x80 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH8 0xFFFFFFFFFFFFFFFF DUP1 AND DUP3 PUSH1 0x80 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xF48 JUMPI PUSH1 0x60 PUSH1 0x0 JUMPDEST DUP1 PUSH2 0xF3E JUMPI PUSH1 0x0 PUSH2 0xED3 DUP6 PUSH1 0x0 ADD MLOAD DUP7 PUSH1 0x40 ADD MLOAD PUSH2 0x13AF JUMP JUMPDEST SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP1 AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0xF33 JUMPI DUP3 PUSH2 0xF0C DUP7 PUSH1 0x0 ADD MLOAD PUSH1 0x4 DUP5 PUSH2 0xF07 SWAP2 SWAP1 PUSH2 0x2BA8 JUMP JUMPDEST PUSH2 0x1579 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xF1D SWAP3 SWAP2 SWAP1 PUSH2 0x24DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP PUSH2 0xF38 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP JUMPDEST POP PUSH2 0xEBA JUMP JUMPDEST DUP2 SWAP3 POP POP POP PUSH2 0xF5D JUMP JUMPDEST PUSH2 0xF5A DUP3 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x80 ADD MLOAD PUSH2 0x1579 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP3 PUSH1 0x40 ADD MLOAD PUSH1 0xFF AND EQ PUSH2 0xFAE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFA5 SWAP1 PUSH2 0x27C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xFC2 DUP4 PUSH1 0x0 ADD MLOAD DUP5 PUSH1 0x60 ADD MLOAD PUSH2 0x1108 JUMP JUMPDEST SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP1 AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT PUSH2 0x101A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1011 SWAP1 PUSH2 0x2721 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1040 JUMPI PUSH2 0x103F PUSH2 0x3375 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x106E JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x10FD JUMPI PUSH1 0x0 PUSH2 0x109F DUP7 PUSH1 0x0 ADD MLOAD PUSH2 0x786 JUMP JUMPDEST SWAP1 POP PUSH2 0x10AA DUP2 PUSH2 0x722 JUMP JUMPDEST DUP4 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MLOAD DUP2 LT PUSH2 0x10C7 JUMPI PUSH2 0x10C6 PUSH2 0x3346 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP POP DUP1 DUP1 PUSH2 0x10F5 SWAP1 PUSH2 0x325C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1074 JUMP JUMPDEST POP DUP1 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x18 DUP3 PUSH1 0xFF AND LT ISZERO PUSH2 0x1121 JUMPI DUP2 PUSH1 0xFF AND SWAP1 POP PUSH2 0x11F5 JUMP JUMPDEST PUSH1 0x18 DUP3 PUSH1 0xFF AND EQ ISZERO PUSH2 0x1140 JUMPI PUSH2 0x1136 DUP4 PUSH2 0x11FB JUMP JUMPDEST PUSH1 0xFF AND SWAP1 POP PUSH2 0x11F5 JUMP JUMPDEST PUSH1 0x19 DUP3 PUSH1 0xFF AND EQ ISZERO PUSH2 0x1160 JUMPI PUSH2 0x1155 DUP4 PUSH2 0x16D5 JUMP JUMPDEST PUSH2 0xFFFF AND SWAP1 POP PUSH2 0x11F5 JUMP JUMPDEST PUSH1 0x1A DUP3 PUSH1 0xFF AND EQ ISZERO PUSH2 0x1182 JUMPI PUSH2 0x1175 DUP4 PUSH2 0x1788 JUMP JUMPDEST PUSH4 0xFFFFFFFF AND SWAP1 POP PUSH2 0x11F5 JUMP JUMPDEST PUSH1 0x1B DUP3 PUSH1 0xFF AND EQ ISZERO PUSH2 0x119E JUMPI PUSH2 0x1197 DUP4 PUSH2 0x183B JUMP JUMPDEST SWAP1 POP PUSH2 0x11F5 JUMP JUMPDEST PUSH1 0x1F DUP3 PUSH1 0xFF AND EQ ISZERO PUSH2 0x11BA JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 POP PUSH2 0x11F5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11EC SWAP1 PUSH2 0x26E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x20 ADD MLOAD DUP3 PUSH1 0x0 ADD MLOAD MLOAD DUP1 DUP3 PUSH4 0xFFFFFFFF AND LT PUSH2 0x1250 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1247 SWAP1 PUSH2 0x26C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x0 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP6 PUSH1 0x20 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 DUP5 ADD ADD MLOAD SWAP1 POP DUP7 PUSH1 0x20 ADD DUP1 MLOAD DUP1 SWAP2 SWAP1 PUSH2 0x127F SWAP1 PUSH2 0x322F JUMP JUMPDEST PUSH4 0xFFFFFFFF AND PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP POP DUP1 SWAP6 POP POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x12A8 DUP4 PUSH2 0x16D5 JUMP JUMPDEST PUSH2 0xFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0x8000 DUP3 AND SWAP1 POP PUSH1 0x0 PUSH1 0xF PUSH1 0xA PUSH2 0x7C00 DUP6 AND PUSH1 0x3 SIGNEXTEND SWAP1 SAR PUSH2 0x12D1 SWAP2 SWAP1 PUSH2 0x301E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x3FF DUP5 AND SWAP1 POP PUSH1 0xF DUP3 PUSH1 0x3 SIGNEXTEND EQ ISZERO PUSH2 0x12F0 JUMPI PUSH2 0x400 DUP2 OR SWAP1 POP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x3 SIGNEXTEND SLT PUSH2 0x132E JUMPI PUSH1 0xA PUSH2 0x400 DUP4 PUSH1 0x3 SIGNEXTEND OR PUSH2 0x2710 DUP6 PUSH1 0x3 SIGNEXTEND PUSH1 0x1 SWAP1 SHL PUSH2 0x131B SWAP2 SWAP1 PUSH2 0x2D4A JUMP JUMPDEST PUSH2 0x1325 SWAP2 SWAP1 PUSH2 0x2D4A JUMP JUMPDEST SWAP1 SAR SWAP1 POP PUSH2 0x1365 JUMP JUMPDEST PUSH1 0xA DUP4 PUSH2 0x133A SWAP1 PUSH2 0x329F JUMP JUMPDEST PUSH1 0x3 SIGNEXTEND PUSH1 0x1 SWAP1 SHL PUSH2 0x2710 PUSH2 0x400 DUP6 PUSH1 0x3 SIGNEXTEND OR PUSH2 0x1356 SWAP2 SWAP1 PUSH2 0x2D4A JUMP JUMPDEST PUSH2 0x1360 SWAP2 SWAP1 PUSH2 0x2B3E JUMP JUMPDEST SWAP1 SAR SWAP1 POP JUMPDEST PUSH1 0x0 DUP5 PUSH4 0xFFFFFFFF AND EQ PUSH2 0x13A2 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 PUSH2 0x139F SWAP2 SWAP1 PUSH2 0x2E61 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x13BB DUP5 PUSH2 0x11FB JUMP JUMPDEST SWAP1 POP PUSH1 0xFF DUP2 PUSH1 0xFF AND EQ ISZERO PUSH2 0x13DA JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP2 POP POP PUSH2 0x145F JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13E9 DUP6 PUSH1 0x1F DUP5 AND PUSH2 0x1108 JUMP JUMPDEST SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP1 AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT DUP1 ISZERO PUSH2 0x141A JUMPI POP DUP4 PUSH1 0xFF AND PUSH1 0x5 DUP4 PUSH1 0xFF AND SWAP1 SHR PUSH1 0xFF AND EQ JUMPDEST PUSH2 0x1459 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1450 SWAP1 PUSH2 0x2781 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP3 POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH1 0x0 ADD MLOAD MLOAD DUP3 DUP5 PUSH1 0x20 ADD MLOAD PUSH2 0x147D SWAP2 SWAP1 PUSH2 0x2B04 JUMP JUMPDEST PUSH4 0xFFFFFFFF AND GT ISZERO PUSH2 0x14C4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14BB SWAP1 PUSH2 0x2701 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH4 0xFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x14E6 JUMPI PUSH2 0x14E5 PUSH2 0x3375 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1518 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP4 PUSH4 0xFFFFFFFF AND EQ PUSH2 0x156F JUMPI PUSH1 0x0 DUP5 PUSH1 0x0 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP6 PUSH1 0x20 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP1 DUP3 PUSH1 0x20 DUP6 ADD ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP1 POP PUSH2 0x155D DUP2 DUP4 DUP10 PUSH4 0xFFFFFFFF AND PUSH2 0x18EE JUMP JUMPDEST PUSH2 0x1569 DUP9 DUP9 PUSH1 0x1 PUSH2 0x19BA JUMP JUMPDEST POP POP POP POP POP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x0 JUMPDEST DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x16CA JUMPI PUSH1 0x0 PUSH2 0x15A6 DUP7 PUSH2 0x11FB JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x80 DUP3 AND PUSH1 0xFF AND EQ PUSH2 0x1692 JUMPI PUSH1 0xE0 DUP2 PUSH1 0xFF AND LT ISZERO PUSH2 0x15F0 JUMPI PUSH1 0x3F PUSH2 0x15CD DUP8 PUSH2 0x11FB JUMP JUMPDEST AND PUSH1 0x6 PUSH1 0x1F DUP4 AND PUSH1 0xFF AND SWAP1 SHL OR SWAP1 POP PUSH1 0x1 DUP6 PUSH2 0x15E9 SWAP2 SWAP1 PUSH2 0x30CA JUMP JUMPDEST SWAP5 POP PUSH2 0x1691 JUMP JUMPDEST PUSH1 0xF0 DUP2 PUSH1 0xFF AND LT ISZERO PUSH2 0x163E JUMPI PUSH1 0x3F PUSH2 0x1607 DUP8 PUSH2 0x11FB JUMP JUMPDEST AND PUSH1 0x6 PUSH1 0x3F PUSH2 0x1615 DUP10 PUSH2 0x11FB JUMP JUMPDEST AND PUSH1 0xFF AND SWAP1 SHL PUSH1 0xC PUSH1 0xF DUP5 AND PUSH1 0xFF AND SWAP1 SHL OR OR SWAP1 POP PUSH1 0x2 DUP6 PUSH2 0x1637 SWAP2 SWAP1 PUSH2 0x30CA JUMP JUMPDEST SWAP5 POP PUSH2 0x1690 JUMP JUMPDEST PUSH1 0x3F PUSH2 0x1649 DUP8 PUSH2 0x11FB JUMP JUMPDEST AND PUSH1 0x6 PUSH1 0x3F PUSH2 0x1657 DUP10 PUSH2 0x11FB JUMP JUMPDEST AND PUSH1 0xFF AND SWAP1 SHL PUSH1 0xC PUSH1 0x3F PUSH2 0x166A DUP11 PUSH2 0x11FB JUMP JUMPDEST AND PUSH1 0xFF AND SWAP1 SHL PUSH1 0x12 PUSH1 0xF DUP6 AND PUSH1 0xFF AND SWAP1 SHL OR OR OR SWAP1 POP PUSH1 0x3 DUP6 PUSH2 0x168D SWAP2 SWAP1 PUSH2 0x30CA JUMP JUMPDEST SWAP5 POP JUMPDEST JUMPDEST JUMPDEST DUP3 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x16A5 SWAP3 SWAP2 SWAP1 PUSH2 0x2501 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP POP DUP1 DUP1 PUSH2 0x16C2 SWAP1 PUSH2 0x325C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x157F JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 PUSH1 0x20 ADD MLOAD PUSH2 0x16E8 SWAP2 SWAP1 PUSH2 0x2B04 JUMP JUMPDEST DUP3 PUSH1 0x0 ADD MLOAD MLOAD DUP1 DUP3 PUSH4 0xFFFFFFFF AND LT PUSH2 0x1736 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x172D SWAP1 PUSH2 0x26C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x0 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP6 PUSH1 0x20 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x2 DUP5 ADD ADD MLOAD SWAP1 POP PUSH1 0x2 DUP8 PUSH1 0x20 ADD DUP2 DUP2 MLOAD PUSH2 0x1766 SWAP2 SWAP1 PUSH2 0x2B04 JUMP JUMPDEST SWAP2 POP SWAP1 PUSH4 0xFFFFFFFF AND SWAP1 DUP2 PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP POP DUP1 SWAP6 POP POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 DUP3 PUSH1 0x20 ADD MLOAD PUSH2 0x179B SWAP2 SWAP1 PUSH2 0x2B04 JUMP JUMPDEST DUP3 PUSH1 0x0 ADD MLOAD MLOAD DUP1 DUP3 PUSH4 0xFFFFFFFF AND LT PUSH2 0x17E9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x17E0 SWAP1 PUSH2 0x26C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x0 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP6 PUSH1 0x20 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x4 DUP5 ADD ADD MLOAD SWAP1 POP PUSH1 0x4 DUP8 PUSH1 0x20 ADD DUP2 DUP2 MLOAD PUSH2 0x1819 SWAP2 SWAP1 PUSH2 0x2B04 JUMP JUMPDEST SWAP2 POP SWAP1 PUSH4 0xFFFFFFFF AND SWAP1 DUP2 PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP POP DUP1 SWAP6 POP POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x7 DUP3 PUSH1 0x20 ADD MLOAD PUSH2 0x184E SWAP2 SWAP1 PUSH2 0x2B04 JUMP JUMPDEST DUP3 PUSH1 0x0 ADD MLOAD MLOAD DUP1 DUP3 PUSH4 0xFFFFFFFF AND LT PUSH2 0x189C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1893 SWAP1 PUSH2 0x26C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x0 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP6 PUSH1 0x20 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x8 DUP5 ADD ADD MLOAD SWAP1 POP PUSH1 0x8 DUP8 PUSH1 0x20 ADD DUP2 DUP2 MLOAD PUSH2 0x18CC SWAP2 SWAP1 PUSH2 0x2B04 JUMP JUMPDEST SWAP2 POP SWAP1 PUSH4 0xFFFFFFFF AND SWAP1 DUP2 PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP POP DUP1 SWAP6 POP POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 GT PUSH2 0x1931 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1928 SWAP1 PUSH2 0x2821 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST PUSH1 0x20 DUP2 LT PUSH2 0x1970 JUMPI DUP2 MLOAD DUP4 MSTORE PUSH1 0x20 DUP4 PUSH2 0x194B SWAP2 SWAP1 PUSH2 0x2AAE JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP3 PUSH2 0x195A SWAP2 SWAP1 PUSH2 0x2AAE JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP2 PUSH2 0x1969 SWAP2 SWAP1 PUSH2 0x3096 JUMP JUMPDEST SWAP1 POP PUSH2 0x1932 JUMP JUMPDEST PUSH1 0x0 DUP2 GT ISZERO PUSH2 0x19B5 JUMPI PUSH1 0x0 PUSH1 0x1 DUP3 PUSH1 0x20 PUSH2 0x198A SWAP2 SWAP1 PUSH2 0x3096 JUMP JUMPDEST PUSH2 0x100 PUSH2 0x1997 SWAP2 SWAP1 PUSH2 0x2C2C JUMP JUMPDEST PUSH2 0x19A1 SWAP2 SWAP1 PUSH2 0x3096 JUMP JUMPDEST SWAP1 POP DUP1 NOT DUP4 MLOAD AND DUP2 DUP6 MLOAD AND DUP2 DUP2 OR DUP7 MSTORE POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO PUSH2 0x1A32 JUMPI DUP3 PUSH4 0xFFFFFFFF AND DUP5 PUSH1 0x20 ADD MLOAD DUP5 PUSH2 0x19D9 SWAP2 SWAP1 PUSH2 0x2B04 JUMP JUMPDEST PUSH4 0xFFFFFFFF AND GT PUSH2 0x1A1F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A16 SWAP1 PUSH2 0x28A1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH1 0x20 ADD MLOAD DUP4 PUSH2 0x1A2F SWAP2 SWAP1 PUSH2 0x2B04 JUMP JUMPDEST SWAP3 POP JUMPDEST DUP4 PUSH1 0x0 ADD MLOAD MLOAD DUP4 PUSH4 0xFFFFFFFF AND GT ISZERO PUSH2 0x1A80 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A77 SWAP1 PUSH2 0x2661 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 DUP5 PUSH1 0x20 ADD SWAP1 PUSH4 0xFFFFFFFF AND SWAP1 DUP2 PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP POP DUP4 PUSH1 0x20 ADD MLOAD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH2 0x1AB9 PUSH2 0x1AFF JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B32 PUSH2 0x1B2D DUP5 PUSH2 0x2923 JUMP JUMPDEST PUSH2 0x28FE JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1B4E JUMPI PUSH2 0x1B4D PUSH2 0x33B3 JUMP JUMPDEST JUMPDEST PUSH2 0x1B59 DUP5 DUP3 DUP6 PUSH2 0x3173 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1B76 JUMPI PUSH2 0x1B75 PUSH2 0x33A4 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1B86 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1B1F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1BA5 JUMPI PUSH2 0x1BA4 PUSH2 0x33A9 JUMP JUMPDEST JUMPDEST PUSH2 0x1BAF PUSH1 0x40 PUSH2 0x28FE JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1BCF JUMPI PUSH2 0x1BCE PUSH2 0x33AE JUMP JUMPDEST JUMPDEST PUSH2 0x1BDB DUP5 DUP3 DUP6 ADD PUSH2 0x1B61 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x1BEF DUP5 DUP3 DUP6 ADD PUSH2 0x1CB7 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1C11 JUMPI PUSH2 0x1C10 PUSH2 0x33A9 JUMP JUMPDEST JUMPDEST PUSH2 0x1C1B PUSH1 0xC0 PUSH2 0x28FE JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1C3B JUMPI PUSH2 0x1C3A PUSH2 0x33AE JUMP JUMPDEST JUMPDEST PUSH2 0x1C47 DUP5 DUP3 DUP6 ADD PUSH2 0x1B8F JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x1C5B DUP5 DUP3 DUP6 ADD PUSH2 0x1CE1 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 PUSH2 0x1C6F DUP5 DUP3 DUP6 ADD PUSH2 0x1CE1 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 PUSH2 0x1C83 DUP5 DUP3 DUP6 ADD PUSH2 0x1CE1 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 PUSH2 0x1C97 DUP5 DUP3 DUP6 ADD PUSH2 0x1CCC JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 PUSH2 0x1CAB DUP5 DUP3 DUP6 ADD PUSH2 0x1CCC JUMP JUMPDEST PUSH1 0xA0 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1CC6 DUP2 PUSH2 0x3B92 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1CDB DUP2 PUSH2 0x3BA9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1CF0 DUP2 PUSH2 0x3BC0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D0C JUMPI PUSH2 0x1D0B PUSH2 0x33BD JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D2A JUMPI PUSH2 0x1D29 PUSH2 0x33B8 JUMP JUMPDEST JUMPDEST PUSH2 0x1D36 DUP5 DUP3 DUP6 ADD PUSH2 0x1B61 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D55 JUMPI PUSH2 0x1D54 PUSH2 0x33BD JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D73 JUMPI PUSH2 0x1D72 PUSH2 0x33B8 JUMP JUMPDEST JUMPDEST PUSH2 0x1D7F DUP5 DUP3 DUP6 ADD PUSH2 0x1B8F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D9E JUMPI PUSH2 0x1D9D PUSH2 0x33BD JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1DBC JUMPI PUSH2 0x1DBB PUSH2 0x33B8 JUMP JUMPDEST JUMPDEST PUSH2 0x1DC8 DUP5 DUP3 DUP6 ADD PUSH2 0x1BFB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DDD DUP4 DUP4 PUSH2 0x208C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DF5 DUP4 DUP4 PUSH2 0x20AA JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E0D DUP4 DUP4 PUSH2 0x20F2 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E21 DUP4 DUP4 PUSH2 0x24A8 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E38 DUP3 PUSH2 0x2994 JUMP JUMPDEST PUSH2 0x1E42 DUP2 DUP6 PUSH2 0x2A0A JUMP JUMPDEST SWAP4 POP PUSH2 0x1E4D DUP4 PUSH2 0x2954 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1E7E JUMPI DUP2 MLOAD PUSH2 0x1E65 DUP9 DUP3 PUSH2 0x1DD1 JUMP JUMPDEST SWAP8 POP PUSH2 0x1E70 DUP4 PUSH2 0x29D6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1E51 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E96 DUP3 PUSH2 0x299F JUMP JUMPDEST PUSH2 0x1EA0 DUP2 DUP6 PUSH2 0x2A1B JUMP JUMPDEST SWAP4 POP PUSH2 0x1EAB DUP4 PUSH2 0x2964 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1EDC JUMPI DUP2 MLOAD PUSH2 0x1EC3 DUP9 DUP3 PUSH2 0x1DE9 JUMP JUMPDEST SWAP8 POP PUSH2 0x1ECE DUP4 PUSH2 0x29E3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1EAF JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EF4 DUP3 PUSH2 0x29AA JUMP JUMPDEST PUSH2 0x1EFE DUP2 DUP6 PUSH2 0x2A2C JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x1F10 DUP6 PUSH2 0x2974 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x1F4C JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x1F2D DUP6 DUP3 PUSH2 0x1E01 JUMP JUMPDEST SWAP5 POP PUSH2 0x1F38 DUP4 PUSH2 0x29F0 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1F14 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F69 DUP3 PUSH2 0x29B5 JUMP JUMPDEST PUSH2 0x1F73 DUP2 DUP6 PUSH2 0x2A3D JUMP JUMPDEST SWAP4 POP PUSH2 0x1F7E DUP4 PUSH2 0x2984 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1FAF JUMPI DUP2 MLOAD PUSH2 0x1F96 DUP9 DUP3 PUSH2 0x1E15 JUMP JUMPDEST SWAP8 POP PUSH2 0x1FA1 DUP4 PUSH2 0x29FD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1F82 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1FC5 DUP2 PUSH2 0x30FE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1FD4 DUP2 PUSH2 0x310A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FE5 DUP3 PUSH2 0x29C0 JUMP JUMPDEST PUSH2 0x1FEF DUP2 DUP6 PUSH2 0x2A4E JUMP JUMPDEST SWAP4 POP PUSH2 0x1FFF DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x3182 JUMP JUMPDEST PUSH2 0x2008 DUP2 PUSH2 0x33C2 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x201E DUP3 PUSH2 0x29C0 JUMP JUMPDEST PUSH2 0x2028 DUP2 DUP6 PUSH2 0x2A5F JUMP JUMPDEST SWAP4 POP PUSH2 0x2038 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x3182 JUMP JUMPDEST PUSH2 0x2041 DUP2 PUSH2 0x33C2 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2057 DUP3 PUSH2 0x29C0 JUMP JUMPDEST PUSH2 0x2061 DUP2 DUP6 PUSH2 0x2A70 JUMP JUMPDEST SWAP4 POP PUSH2 0x2071 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x3182 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2086 DUP2 PUSH2 0x3114 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2095 DUP2 PUSH2 0x3114 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x20A4 DUP2 PUSH2 0x312B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x20B3 DUP2 PUSH2 0x312B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20C4 DUP3 PUSH2 0x29CB JUMP JUMPDEST PUSH2 0x20CE DUP2 DUP6 PUSH2 0x2A8C JUMP JUMPDEST SWAP4 POP PUSH2 0x20DE DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x3182 JUMP JUMPDEST PUSH2 0x20E7 DUP2 PUSH2 0x33C2 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20FD DUP3 PUSH2 0x29CB JUMP JUMPDEST PUSH2 0x2107 DUP2 DUP6 PUSH2 0x2A9D JUMP JUMPDEST SWAP4 POP PUSH2 0x2117 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x3182 JUMP JUMPDEST PUSH2 0x2120 DUP2 PUSH2 0x33C2 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2138 PUSH1 0x35 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x2143 DUP3 PUSH2 0x33ED JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x215B PUSH1 0x54 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x2166 DUP3 PUSH2 0x343C JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x217E PUSH1 0x51 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x2189 DUP3 PUSH2 0x34B1 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21A1 PUSH1 0x49 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x21AC DUP3 PUSH2 0x3526 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21C4 PUSH1 0x54 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x21CF DUP3 PUSH2 0x359B JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21E7 PUSH1 0x35 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x21F2 DUP3 PUSH2 0x3610 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x220A PUSH1 0x41 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x2215 DUP3 PUSH2 0x365F JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x222D PUSH1 0x57 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x2238 DUP3 PUSH2 0x36D4 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2250 PUSH1 0x53 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x225B DUP3 PUSH2 0x3749 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2273 PUSH1 0x2B DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x227E DUP3 PUSH2 0x37BE JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2296 PUSH1 0x3C DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x22A1 DUP3 PUSH2 0x380D JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22B9 PUSH1 0x53 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x22C4 DUP3 PUSH2 0x385C JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22DC PUSH1 0x29 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x22E7 DUP3 PUSH2 0x38D1 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22FF PUSH1 0x5C DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x230A DUP3 PUSH2 0x3920 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2322 PUSH1 0x21 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x232D DUP3 PUSH2 0x3995 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2345 PUSH1 0x57 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x2350 DUP3 PUSH2 0x39E4 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2368 PUSH1 0x53 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x2373 DUP3 PUSH2 0x3A59 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x238B PUSH1 0x5B DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x2396 DUP3 PUSH2 0x3ACE JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23AE PUSH1 0x2B DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x23B9 DUP3 PUSH2 0x3B43 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x23E1 DUP3 DUP3 PUSH2 0x2013 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x23F6 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x248A JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x241E DUP3 DUP3 PUSH2 0x23C4 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x2433 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x24B7 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x2446 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x24B7 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x2459 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x24B7 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x246C PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x24A8 JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x247F PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x24A8 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2493 DUP2 PUSH2 0x3142 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x24A2 DUP2 PUSH2 0x3152 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x24B1 DUP2 PUSH2 0x3152 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x24C0 DUP2 PUSH2 0x3166 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x24D7 PUSH2 0x24D2 DUP3 PUSH2 0x3166 JUMP JUMPDEST PUSH2 0x328D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24E9 DUP3 DUP6 PUSH2 0x204C JUMP JUMPDEST SWAP2 POP PUSH2 0x24F5 DUP3 DUP5 PUSH2 0x204C JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x250D DUP3 DUP6 PUSH2 0x204C JUMP JUMPDEST SWAP2 POP PUSH2 0x2519 DUP3 DUP5 PUSH2 0x24C6 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2543 DUP2 DUP5 PUSH2 0x1E2D JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2565 DUP2 DUP5 PUSH2 0x1E8B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2587 DUP2 DUP5 PUSH2 0x1EE9 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x25A9 DUP2 DUP5 PUSH2 0x1F5E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x25C6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1FBC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x25E1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1FCB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2601 DUP2 DUP5 PUSH2 0x1FDA JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x261E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x207D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2639 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x209B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2659 DUP2 DUP5 PUSH2 0x20B9 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x267A DUP2 PUSH2 0x212B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x269A DUP2 PUSH2 0x214E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x26BA DUP2 PUSH2 0x2171 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x26DA DUP2 PUSH2 0x2194 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x26FA DUP2 PUSH2 0x21B7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x271A DUP2 PUSH2 0x21DA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x273A DUP2 PUSH2 0x21FD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x275A DUP2 PUSH2 0x2220 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x277A DUP2 PUSH2 0x2243 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x279A DUP2 PUSH2 0x2266 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x27BA DUP2 PUSH2 0x2289 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x27DA DUP2 PUSH2 0x22AC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x27FA DUP2 PUSH2 0x22CF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x281A DUP2 PUSH2 0x22F2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x283A DUP2 PUSH2 0x2315 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x285A DUP2 PUSH2 0x2338 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x287A DUP2 PUSH2 0x235B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x289A DUP2 PUSH2 0x237E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x28BA DUP2 PUSH2 0x23A1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x28DB DUP2 DUP5 PUSH2 0x2401 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x28F8 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2499 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2908 PUSH2 0x2919 JUMP JUMPDEST SWAP1 POP PUSH2 0x2914 DUP3 DUP3 PUSH2 0x31B5 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x293E JUMPI PUSH2 0x293D PUSH2 0x3375 JUMP JUMPDEST JUMPDEST PUSH2 0x2947 DUP3 PUSH2 0x33C2 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AB9 DUP3 PUSH2 0x3138 JUMP JUMPDEST SWAP2 POP PUSH2 0x2AC4 DUP4 PUSH2 0x3138 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x2AF9 JUMPI PUSH2 0x2AF8 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B0F DUP3 PUSH2 0x3142 JUMP JUMPDEST SWAP2 POP PUSH2 0x2B1A DUP4 PUSH2 0x3142 JUMP JUMPDEST SWAP3 POP DUP3 PUSH4 0xFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x2B33 JUMPI PUSH2 0x2B32 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B49 DUP3 PUSH2 0x3121 JUMP JUMPDEST SWAP2 POP PUSH2 0x2B54 DUP4 PUSH2 0x3121 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x2B64 JUMPI PUSH2 0x2B63 PUSH2 0x3317 JUMP JUMPDEST JUMPDEST PUSH1 0x1 PUSH1 0x0 SUB DUP4 EQ PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 DUP4 EQ AND ISZERO PUSH2 0x2B9D JUMPI PUSH2 0x2B9C PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SDIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BB3 DUP3 PUSH2 0x3152 JUMP JUMPDEST SWAP2 POP PUSH2 0x2BBE DUP4 PUSH2 0x3152 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x2BCE JUMPI PUSH2 0x2BCD PUSH2 0x3317 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP2 POP DUP4 SWAP1 POP JUMPDEST PUSH1 0x1 DUP6 GT ISZERO PUSH2 0x2C23 JUMPI DUP1 DUP7 DIV DUP2 GT ISZERO PUSH2 0x2BFF JUMPI PUSH2 0x2BFE PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP6 AND ISZERO PUSH2 0x2C0E JUMPI DUP1 DUP3 MUL SWAP2 POP JUMPDEST DUP1 DUP2 MUL SWAP1 POP PUSH2 0x2C1C DUP6 PUSH2 0x33E0 JUMP JUMPDEST SWAP5 POP PUSH2 0x2BE3 JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C37 DUP3 PUSH2 0x3138 JUMP JUMPDEST SWAP2 POP PUSH2 0x2C42 DUP4 PUSH2 0x3138 JUMP JUMPDEST SWAP3 POP PUSH2 0x2C6F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 DUP5 PUSH2 0x2C77 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2C87 JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x2D43 JUMP JUMPDEST DUP2 PUSH2 0x2C95 JUMPI PUSH1 0x0 SWAP1 POP PUSH2 0x2D43 JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x2CAB JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x2CB5 JUMPI PUSH2 0x2CE4 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x2D43 JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x2CC7 JUMPI PUSH2 0x2CC6 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP4 PUSH1 0x2 EXP SWAP2 POP DUP5 DUP3 GT ISZERO PUSH2 0x2CDE JUMPI PUSH2 0x2CDD PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST POP PUSH2 0x2D43 JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x2D19 JUMPI DUP3 DUP3 EXP SWAP1 POP DUP4 DUP2 GT ISZERO PUSH2 0x2D14 JUMPI PUSH2 0x2D13 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST PUSH2 0x2D43 JUMP JUMPDEST PUSH2 0x2D26 DUP5 DUP5 DUP5 PUSH1 0x1 PUSH2 0x2BD9 JUMP JUMPDEST SWAP3 POP SWAP1 POP DUP2 DUP5 DIV DUP2 GT ISZERO PUSH2 0x2D3D JUMPI PUSH2 0x2D3C PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP2 DUP2 MUL SWAP1 POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D55 DUP3 PUSH2 0x3121 JUMP JUMPDEST SWAP2 POP PUSH2 0x2D60 DUP4 PUSH2 0x3121 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP3 GT PUSH1 0x0 DUP5 SGT PUSH1 0x0 DUP5 SGT AND AND ISZERO PUSH2 0x2D9F JUMPI PUSH2 0x2D9E PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP2 PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 SDIV DUP4 SLT PUSH1 0x0 DUP5 SLT PUSH1 0x0 DUP5 SGT AND AND ISZERO PUSH2 0x2DDC JUMPI PUSH2 0x2DDB PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 SDIV DUP3 SLT PUSH1 0x0 DUP5 SGT PUSH1 0x0 DUP5 SLT AND AND ISZERO PUSH2 0x2E19 JUMPI PUSH2 0x2E18 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SDIV DUP3 SLT PUSH1 0x0 DUP5 SLT PUSH1 0x0 DUP5 SLT AND AND ISZERO PUSH2 0x2E56 JUMPI PUSH2 0x2E55 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E6C DUP3 PUSH2 0x312B JUMP JUMPDEST SWAP2 POP PUSH2 0x2E77 DUP4 PUSH2 0x312B JUMP JUMPDEST SWAP3 POP DUP3 PUSH4 0x7FFFFFFF DIV DUP3 GT PUSH1 0x0 DUP5 SGT PUSH1 0x0 DUP5 SGT AND AND ISZERO PUSH2 0x2E9A JUMPI PUSH2 0x2E99 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80000000 SDIV DUP4 SLT PUSH1 0x0 DUP5 SLT PUSH1 0x0 DUP5 SGT AND AND ISZERO PUSH2 0x2ED7 JUMPI PUSH2 0x2ED6 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80000000 SDIV DUP3 SLT PUSH1 0x0 DUP5 SGT PUSH1 0x0 DUP5 SLT AND AND ISZERO PUSH2 0x2F14 JUMPI PUSH2 0x2F13 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 PUSH4 0x7FFFFFFF SDIV DUP3 SLT PUSH1 0x0 DUP5 SLT PUSH1 0x0 DUP5 SLT AND AND ISZERO PUSH2 0x2F35 JUMPI PUSH2 0x2F34 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F4B DUP3 PUSH2 0x3138 JUMP JUMPDEST SWAP2 POP PUSH2 0x2F56 DUP4 PUSH2 0x3138 JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x2F8F JUMPI PUSH2 0x2F8E PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FA5 DUP3 PUSH2 0x3114 JUMP JUMPDEST SWAP2 POP PUSH2 0x2FB0 DUP4 PUSH2 0x3114 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80000000000000000000000000000000 ADD DUP3 SLT PUSH1 0x0 DUP5 SLT ISZERO AND ISZERO PUSH2 0x2FEB JUMPI PUSH2 0x2FEA PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 PUSH16 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ADD DUP3 SGT PUSH1 0x0 DUP5 SLT AND ISZERO PUSH2 0x3013 JUMPI PUSH2 0x3012 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3029 DUP3 PUSH2 0x312B JUMP JUMPDEST SWAP2 POP PUSH2 0x3034 DUP4 PUSH2 0x312B JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80000000 ADD DUP3 SLT PUSH1 0x0 DUP5 SLT ISZERO AND ISZERO PUSH2 0x306F JUMPI PUSH2 0x306E PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 PUSH4 0x7FFFFFFF ADD DUP3 SGT PUSH1 0x0 DUP5 SLT AND ISZERO PUSH2 0x308B JUMPI PUSH2 0x308A PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x30A1 DUP3 PUSH2 0x3138 JUMP JUMPDEST SWAP2 POP PUSH2 0x30AC DUP4 PUSH2 0x3138 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x30BF JUMPI PUSH2 0x30BE PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x30D5 DUP3 PUSH2 0x3152 JUMP JUMPDEST SWAP2 POP PUSH2 0x30E0 DUP4 PUSH2 0x3152 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x30F3 JUMPI PUSH2 0x30F2 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0xF SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x3 SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x31A0 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x3185 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x31AF JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x31BE DUP3 PUSH2 0x33C2 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x31DD JUMPI PUSH2 0x31DC PUSH2 0x3375 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x31F1 DUP3 PUSH2 0x3138 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x3224 JUMPI PUSH2 0x3223 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x323A DUP3 PUSH2 0x3142 JUMP JUMPDEST SWAP2 POP PUSH4 0xFFFFFFFF DUP3 EQ ISZERO PUSH2 0x3251 JUMPI PUSH2 0x3250 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3267 DUP3 PUSH2 0x3152 JUMP JUMPDEST SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x3282 JUMPI PUSH2 0x3281 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3298 DUP3 PUSH2 0x33D3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32AA DUP3 PUSH2 0x312B JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80000000 DUP3 EQ ISZERO PUSH2 0x32DD JUMPI PUSH2 0x32DC PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP2 PUSH1 0x0 SUB SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0xF8 SHL SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 SHR SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x5769746E65744275666665723A204E6F7420656E6F7567682062797465732069 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6E20627566666572207768656E207365656B696E670000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20547269656420746F207265616420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6120606669786564602076616C75652066726F6D2061206057542E43424F5260 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x2077697468206D616A6F725479706520213D2037000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20547269656420746F207265616420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6075696E743634602066726F6D206120605769746E65742E43424F5260207769 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x7468206D616A6F725479706520213D2030000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744275666665723A20547269656420746F20726561642066726F6D PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206120636F6E73756D65642042756666657220286D75737420726577696E6420 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x6974206669727374290000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20496E76616C6964206C656E677468 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20656E636F64696E6720286E6F6E2D6578697374656E74206164646974696F6E PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x616C496E666F726D6174696F6E2076616C756529000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744275666665723A204E6F7420656E6F7567682062797465732069 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6E20627566666572207768656E2072656164696E670000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20496E646566696E6974652D6C656E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6774682043424F522061727261797320617265206E6F7420737570706F727465 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x6400000000000000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20547269656420746F207265616420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x612060626F6F6C602076616C75652066726F6D206120605769746E65742E4342 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4F52602077697468206D616A6F725479706520213D2037000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20547269656420746F207265616420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x60696E743132385B5D602066726F6D206120605769746E65742E43424F526020 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x77697468206D616A6F725479706520213D203400000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20496E76616C696420696E64656669 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6E697465206C656E677468000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20466F756E6420656D707479206275 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x66666572207768656E2070617273696E672043424F522076616C756500000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20547269656420746F207265616420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6075696E7436345B5D602066726F6D206120605769746E65742E43424F526020 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x77697468206D616A6F725479706520213D203400000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20496E76616C69642043424F52206D PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x616A6F7220747970650000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20547269656420746F207265616420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x60626F6F6C602066726F6D206120605769746E65742E43424F52602077697468 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x206C656E20646966666572656E74207468616E203230206F7220323100000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744275666665723A2043616E6E6F7420636F707920302062797465 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7300000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20547269656420746F207265616420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x60696E74313238602066726F6D206120605769746E65742E43424F5260207769 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x7468206D616A6F7254797065206E6F742030206F722031000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20547269656420746F207265616420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x60737472696E675B5D602066726F6D206120605769746E65742E43424F526020 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x77697468206D616A6F725479706520213D203400000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20547269656420746F207265616420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6066697865643136602066726F6D2061206057542E43424F5260207769746820 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x6164646974696F6E616C496E666F726D6174696F6E20213D2032350000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744275666665723A20496E7465676572206F766572666C6F772077 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x68656E207365656B696E67000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x3B9B DUP2 PUSH2 0x3142 JUMP JUMPDEST DUP2 EQ PUSH2 0x3BA6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3BB2 DUP2 PUSH2 0x3152 JUMP JUMPDEST DUP2 EQ PUSH2 0x3BBD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3BC9 DUP2 PUSH2 0x3166 JUMP JUMPDEST DUP2 EQ PUSH2 0x3BD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG4 0xD4 0xD1 LT 0xE1 0xCA SWAP15 PUSH16 0x5FBECBC2CD493E629DFA4AE32D005565 0xF6 SWAP13 PUSH4 0x361D2074 REVERT PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ","sourceMap":"814:13642:52:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@decodeBool_9015":{"entryPoint":2642,"id":9015,"parameterSlots":1,"returnSlots":1},"@decodeBytes32_9171":{"entryPoint":846,"id":9171,"parameterSlots":1,"returnSlots":1},"@decodeBytes_9116":{"entryPoint":2895,"id":9116,"parameterSlots":1,"returnSlots":1},"@decodeFixed16Array_9280":{"entryPoint":1418,"id":9280,"parameterSlots":1,"returnSlots":1},"@decodeFixed16_9202":{"entryPoint":2264,"id":9202,"parameterSlots":1,"returnSlots":1},"@decodeInt128Array_9417":{"entryPoint":1010,"id":9417,"parameterSlots":1,"returnSlots":1},"@decodeInt128_9339":{"entryPoint":2434,"id":9339,"parameterSlots":1,"returnSlots":1},"@decodeStringArray_9581":{"entryPoint":3221,"id":9581,"parameterSlots":1,"returnSlots":1},"@decodeString_9503":{"entryPoint":3682,"id":9503,"parameterSlots":1,"returnSlots":1},"@decodeUint64Array_9684":{"entryPoint":3938,"id":9684,"parameterSlots":1,"returnSlots":1},"@decodeUint64_9606":{"entryPoint":1826,"id":9606,"parameterSlots":1,"returnSlots":1},"@memcpy_8941":{"entryPoint":6382,"id":8941,"parameterSlots":3,"returnSlots":0},"@readFloat16_8888":{"entryPoint":4764,"id":8888,"parameterSlots":1,"returnSlots":1},"@readIndefiniteStringLength_9918":{"entryPoint":5039,"id":9918,"parameterSlots":2,"returnSlots":1},"@readLength_9868":{"entryPoint":4360,"id":9868,"parameterSlots":2,"returnSlots":1},"@readText_10066":{"entryPoint":5497,"id":10066,"parameterSlots":2,"returnSlots":1},"@readUint16_8574":{"entryPoint":5845,"id":8574,"parameterSlots":1,"returnSlots":1},"@readUint32_8615":{"entryPoint":6024,"id":8615,"parameterSlots":1,"returnSlots":1},"@readUint64_8656":{"entryPoint":6203,"id":8656,"parameterSlots":1,"returnSlots":1},"@readUint8_8533":{"entryPoint":4603,"id":8533,"parameterSlots":1,"returnSlots":1},"@read_8389":{"entryPoint":5221,"id":8389,"parameterSlots":2,"returnSlots":1},"@seek_8463":{"entryPoint":6586,"id":8463,"parameterSlots":3,"returnSlots":1},"@valueFromBuffer_9802":{"entryPoint":1926,"id":9802,"parameterSlots":1,"returnSlots":1},"@valueFromBytes_9709":{"entryPoint":3625,"id":9709,"parameterSlots":1,"returnSlots":1},"abi_decode_available_length_t_bytes_memory_ptr":{"entryPoint":6943,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_bytes_memory_ptr":{"entryPoint":7009,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_Buffer_$8042_memory_ptr":{"entryPoint":7055,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_CBOR_$8037_memory_ptr":{"entryPoint":7163,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint32":{"entryPoint":7351,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint64":{"entryPoint":7372,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint8":{"entryPoint":7393,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes_memory_ptr":{"entryPoint":7414,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_Buffer_$8042_memory_ptr":{"entryPoint":7487,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_CBOR_$8037_memory_ptr":{"entryPoint":7560,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_int128_to_t_int128_library":{"entryPoint":7633,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_int32_to_t_int32_library":{"entryPoint":7657,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr_library":{"entryPoint":7681,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_uint64_to_t_uint64_library":{"entryPoint":7701,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_array$_t_int128_$dyn_memory_ptr_to_t_array$_t_int128_$dyn_memory_ptr_fromStack_library":{"entryPoint":7725,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_array$_t_int32_$dyn_memory_ptr_to_t_array$_t_int32_$dyn_memory_ptr_fromStack_library":{"entryPoint":7819,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack_library":{"entryPoint":7913,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_array$_t_uint64_$dyn_memory_ptr_to_t_array$_t_uint64_$dyn_memory_ptr_fromStack_library":{"entryPoint":8030,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bool_to_t_bool_fromStack_library":{"entryPoint":8124,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes32_to_t_bytes32_fromStack_library":{"entryPoint":8139,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library":{"entryPoint":8154,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_library":{"entryPoint":8211,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":8268,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_int128_to_t_int128_fromStack_library":{"entryPoint":8317,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_int128_to_t_int128_library":{"entryPoint":8332,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_int32_to_t_int32_fromStack_library":{"entryPoint":8347,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_int32_to_t_int32_library":{"entryPoint":8362,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack_library":{"entryPoint":8377,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_library":{"entryPoint":8434,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_stringliteral_176e0278706c18b0f8b18b90e4c6a39b596c662775310463aa4a908b1de17758_to_t_string_memory_ptr_fromStack":{"entryPoint":8491,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_285621fe75046b25304c843ac968cca285ae3e6ef8abb770c7120426284fcb4e_to_t_string_memory_ptr_fromStack":{"entryPoint":8526,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_3375c6645e382185e0fe278f193075512d535b9f2ca7e1b37510b35efdd2bcc0_to_t_string_memory_ptr_fromStack":{"entryPoint":8561,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_41357bbf50a90e645d713b09dbcf193b280250cde8009c0b4d3449c28ea5d804_to_t_string_memory_ptr_fromStack":{"entryPoint":8596,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_6f8489a006fc2ddb7b8db45a240c2e1340f979031aa674bc2c0d9a032007f865_to_t_string_memory_ptr_fromStack":{"entryPoint":8631,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_76a21b1d3f42fbbea0475f624e30017f9081c603496816db3d90283ad65ae271_to_t_string_memory_ptr_fromStack":{"entryPoint":8666,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_875d0a02937cb9909e45a20585fcb051fe02c5f86d796a9b1cf43ce04fc2ba90_to_t_string_memory_ptr_fromStack":{"entryPoint":8701,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_9a60def7724db28748dda2f528e627b4b6898ecc35ff8814364e5a7e676b1567_to_t_string_memory_ptr_fromStack":{"entryPoint":8736,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_c6093a9e0138c29641f4112ca84a6353e3b8189a75c60c086711495d7d1b05cf_to_t_string_memory_ptr_fromStack":{"entryPoint":8771,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_c9a3baade484e18c7b6c7f334d58082e2c6f48547df2aecdef5e238f396eceb8_to_t_string_memory_ptr_fromStack":{"entryPoint":8806,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_cb594b582c4c4c10df3423239223a3962931d31e3d9cc15d65f361d94596911d_to_t_string_memory_ptr_fromStack":{"entryPoint":8841,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_d33a5d2b5ed5d95cc7a9c6c198ab7dad558642e7b6ddd2bf019b8e6e207e2bb1_to_t_string_memory_ptr_fromStack":{"entryPoint":8876,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_d4ffc38b1bd3ce07b73162c5cd58b3f5d16fe42393d05d185bef3b883bb0a175_to_t_string_memory_ptr_fromStack":{"entryPoint":8911,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_e9d15dd9ef51c465dc7e4a1f1786baf0f5f1727522e4d18358f6412b81e0ad73_to_t_string_memory_ptr_fromStack":{"entryPoint":8946,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_ed3d615850988e92ac3bb7e19fc8fd4a6d0fd5efa663c85800c4ba4a146272ea_to_t_string_memory_ptr_fromStack":{"entryPoint":8981,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_f6afe1efc379e8204fb4d566f3cf5efe5c0e9e878fa8fd3072ffc04e712b2dae_to_t_string_memory_ptr_fromStack":{"entryPoint":9016,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_f7e883759414212463f7e83fadd2b6f4fb58ed904f3a29f20bce3e92bd7c399c_to_t_string_memory_ptr_fromStack":{"entryPoint":9051,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_fa1a41235d50d998fd1fa31f165df15dc31bd75a237078965072481881f7d8ad_to_t_string_memory_ptr_fromStack":{"entryPoint":9086,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_fdadce3169751a65fe8fe5febc7dcb4198322ee12bc3662f33fae802c9673e4b_to_t_string_memory_ptr_fromStack":{"entryPoint":9121,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr_library":{"entryPoint":9156,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_fromStack_library":{"entryPoint":9217,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_uint32_to_t_uint32_library":{"entryPoint":9354,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint64_to_t_uint64_fromStack_library":{"entryPoint":9369,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint64_to_t_uint64_library":{"entryPoint":9384,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint8_to_t_uint8_library":{"entryPoint":9399,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint8_to_t_uint8_nonPadded_inplace_fromStack":{"entryPoint":9414,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":9437,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr_t_uint8__to_t_bytes_memory_ptr_t_uint8__nonPadded_inplace_fromStack_reversed":{"entryPoint":9473,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_int128_$dyn_memory_ptr__to_t_array$_t_int128_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":9513,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_int32_$dyn_memory_ptr__to_t_array$_t_int32_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":9547,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":9581,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_uint64_$dyn_memory_ptr__to_t_array$_t_uint64_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":9615,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed":{"entryPoint":9649,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_library_reversed":{"entryPoint":9676,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed":{"entryPoint":9703,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_int128__to_t_int128__fromStack_library_reversed":{"entryPoint":9737,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_int32__to_t_int32__fromStack_library_reversed":{"entryPoint":9764,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed":{"entryPoint":9791,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_176e0278706c18b0f8b18b90e4c6a39b596c662775310463aa4a908b1de17758__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":9825,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_285621fe75046b25304c843ac968cca285ae3e6ef8abb770c7120426284fcb4e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":9857,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3375c6645e382185e0fe278f193075512d535b9f2ca7e1b37510b35efdd2bcc0__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":9889,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_41357bbf50a90e645d713b09dbcf193b280250cde8009c0b4d3449c28ea5d804__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":9921,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6f8489a006fc2ddb7b8db45a240c2e1340f979031aa674bc2c0d9a032007f865__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":9953,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_76a21b1d3f42fbbea0475f624e30017f9081c603496816db3d90283ad65ae271__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":9985,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_875d0a02937cb9909e45a20585fcb051fe02c5f86d796a9b1cf43ce04fc2ba90__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10017,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9a60def7724db28748dda2f528e627b4b6898ecc35ff8814364e5a7e676b1567__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10049,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c6093a9e0138c29641f4112ca84a6353e3b8189a75c60c086711495d7d1b05cf__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10081,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c9a3baade484e18c7b6c7f334d58082e2c6f48547df2aecdef5e238f396eceb8__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10113,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_cb594b582c4c4c10df3423239223a3962931d31e3d9cc15d65f361d94596911d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10145,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d33a5d2b5ed5d95cc7a9c6c198ab7dad558642e7b6ddd2bf019b8e6e207e2bb1__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10177,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d4ffc38b1bd3ce07b73162c5cd58b3f5d16fe42393d05d185bef3b883bb0a175__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10209,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e9d15dd9ef51c465dc7e4a1f1786baf0f5f1727522e4d18358f6412b81e0ad73__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10241,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ed3d615850988e92ac3bb7e19fc8fd4a6d0fd5efa663c85800c4ba4a146272ea__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10273,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f6afe1efc379e8204fb4d566f3cf5efe5c0e9e878fa8fd3072ffc04e712b2dae__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10305,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f7e883759414212463f7e83fadd2b6f4fb58ed904f3a29f20bce3e92bd7c399c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10337,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_fa1a41235d50d998fd1fa31f165df15dc31bd75a237078965072481881f7d8ad__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10369,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_fdadce3169751a65fe8fe5febc7dcb4198322ee12bc3662f33fae802c9673e4b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10401,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_CBOR_$8037_memory_ptr__to_t_struct$_CBOR_$8037_memory_ptr__fromStack_library_reversed":{"entryPoint":10433,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_library_reversed":{"entryPoint":10467,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":10494,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":10521,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_bytes_memory_ptr":{"entryPoint":10531,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_array$_t_int128_$dyn_memory_ptr":{"entryPoint":10580,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_array$_t_int32_$dyn_memory_ptr":{"entryPoint":10596,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr":{"entryPoint":10612,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_array$_t_uint64_$dyn_memory_ptr":{"entryPoint":10628,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_array$_t_int128_$dyn_memory_ptr":{"entryPoint":10644,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_array$_t_int32_$dyn_memory_ptr":{"entryPoint":10655,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr":{"entryPoint":10666,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_array$_t_uint64_$dyn_memory_ptr":{"entryPoint":10677,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_bytes_memory_ptr":{"entryPoint":10688,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_string_memory_ptr":{"entryPoint":10699,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_int128_$dyn_memory_ptr":{"entryPoint":10710,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_int32_$dyn_memory_ptr":{"entryPoint":10723,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr":{"entryPoint":10736,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_uint64_$dyn_memory_ptr":{"entryPoint":10749,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_int128_$dyn_memory_ptr_fromStack_library":{"entryPoint":10762,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_int32_$dyn_memory_ptr_fromStack_library":{"entryPoint":10779,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack_library":{"entryPoint":10796,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_uint64_$dyn_memory_ptr_fromStack_library":{"entryPoint":10813,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library":{"entryPoint":10830,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_library":{"entryPoint":10847,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":10864,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_fromStack":{"entryPoint":10875,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library":{"entryPoint":10892,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_library":{"entryPoint":10909,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":10926,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint32":{"entryPoint":11012,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_int256":{"entryPoint":11070,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint64":{"entryPoint":11176,"id":null,"parameterSlots":2,"returnSlots":1},"checked_exp_helper":{"entryPoint":11225,"id":null,"parameterSlots":4,"returnSlots":2},"checked_exp_t_uint256_t_uint256":{"entryPoint":11308,"id":null,"parameterSlots":2,"returnSlots":1},"checked_exp_unsigned":{"entryPoint":11383,"id":null,"parameterSlots":3,"returnSlots":1},"checked_mul_t_int256":{"entryPoint":11594,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_int32":{"entryPoint":11873,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":12096,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_int128":{"entryPoint":12186,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_int32":{"entryPoint":12318,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":12438,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint64":{"entryPoint":12490,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_bool":{"entryPoint":12542,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":12554,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_int128":{"entryPoint":12564,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_int256":{"entryPoint":12577,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_int32":{"entryPoint":12587,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":12600,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint32":{"entryPoint":12610,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint64":{"entryPoint":12626,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint8":{"entryPoint":12646,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory":{"entryPoint":12659,"id":null,"parameterSlots":3,"returnSlots":0},"copy_memory_to_memory":{"entryPoint":12674,"id":null,"parameterSlots":3,"returnSlots":0},"finalize_allocation":{"entryPoint":12725,"id":null,"parameterSlots":2,"returnSlots":0},"increment_t_uint256":{"entryPoint":12774,"id":null,"parameterSlots":1,"returnSlots":1},"increment_t_uint32":{"entryPoint":12847,"id":null,"parameterSlots":1,"returnSlots":1},"increment_t_uint64":{"entryPoint":12892,"id":null,"parameterSlots":1,"returnSlots":1},"leftAlign_t_uint8":{"entryPoint":12941,"id":null,"parameterSlots":1,"returnSlots":1},"negate_t_int32":{"entryPoint":12959,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":13032,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":13079,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":13126,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":13173,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":13220,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f":{"entryPoint":13225,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421":{"entryPoint":13230,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae":{"entryPoint":13235,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":13240,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":13245,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":13250,"id":null,"parameterSlots":1,"returnSlots":1},"shift_left_248":{"entryPoint":13267,"id":null,"parameterSlots":1,"returnSlots":1},"shift_right_1_unsigned":{"entryPoint":13280,"id":null,"parameterSlots":1,"returnSlots":1},"store_literal_in_memory_176e0278706c18b0f8b18b90e4c6a39b596c662775310463aa4a908b1de17758":{"entryPoint":13293,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_285621fe75046b25304c843ac968cca285ae3e6ef8abb770c7120426284fcb4e":{"entryPoint":13372,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_3375c6645e382185e0fe278f193075512d535b9f2ca7e1b37510b35efdd2bcc0":{"entryPoint":13489,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_41357bbf50a90e645d713b09dbcf193b280250cde8009c0b4d3449c28ea5d804":{"entryPoint":13606,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_6f8489a006fc2ddb7b8db45a240c2e1340f979031aa674bc2c0d9a032007f865":{"entryPoint":13723,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_76a21b1d3f42fbbea0475f624e30017f9081c603496816db3d90283ad65ae271":{"entryPoint":13840,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_875d0a02937cb9909e45a20585fcb051fe02c5f86d796a9b1cf43ce04fc2ba90":{"entryPoint":13919,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_9a60def7724db28748dda2f528e627b4b6898ecc35ff8814364e5a7e676b1567":{"entryPoint":14036,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_c6093a9e0138c29641f4112ca84a6353e3b8189a75c60c086711495d7d1b05cf":{"entryPoint":14153,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_c9a3baade484e18c7b6c7f334d58082e2c6f48547df2aecdef5e238f396eceb8":{"entryPoint":14270,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_cb594b582c4c4c10df3423239223a3962931d31e3d9cc15d65f361d94596911d":{"entryPoint":14349,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_d33a5d2b5ed5d95cc7a9c6c198ab7dad558642e7b6ddd2bf019b8e6e207e2bb1":{"entryPoint":14428,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_d4ffc38b1bd3ce07b73162c5cd58b3f5d16fe42393d05d185bef3b883bb0a175":{"entryPoint":14545,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_e9d15dd9ef51c465dc7e4a1f1786baf0f5f1727522e4d18358f6412b81e0ad73":{"entryPoint":14624,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_ed3d615850988e92ac3bb7e19fc8fd4a6d0fd5efa663c85800c4ba4a146272ea":{"entryPoint":14741,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_f6afe1efc379e8204fb4d566f3cf5efe5c0e9e878fa8fd3072ffc04e712b2dae":{"entryPoint":14820,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_f7e883759414212463f7e83fadd2b6f4fb58ed904f3a29f20bce3e92bd7c399c":{"entryPoint":14937,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_fa1a41235d50d998fd1fa31f165df15dc31bd75a237078965072481881f7d8ad":{"entryPoint":15054,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_fdadce3169751a65fe8fe5febc7dcb4198322ee12bc3662f33fae802c9673e4b":{"entryPoint":15171,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint32":{"entryPoint":15250,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint64":{"entryPoint":15273,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint8":{"entryPoint":15296,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:55636:67","statements":[{"body":{"nodeType":"YulBlock","src":"90:327:67","statements":[{"nodeType":"YulAssignment","src":"100:74:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"166:6:67"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"125:40:67"},"nodeType":"YulFunctionCall","src":"125:48:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"109:15:67"},"nodeType":"YulFunctionCall","src":"109:65:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"100:5:67"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"190:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"197:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"183:6:67"},"nodeType":"YulFunctionCall","src":"183:21:67"},"nodeType":"YulExpressionStatement","src":"183:21:67"},{"nodeType":"YulVariableDeclaration","src":"213:27:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"228:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"235:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"224:3:67"},"nodeType":"YulFunctionCall","src":"224:16:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"217:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"278:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulIdentifier","src":"280:77:67"},"nodeType":"YulFunctionCall","src":"280:79:67"},"nodeType":"YulExpressionStatement","src":"280:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"259:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"264:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"255:3:67"},"nodeType":"YulFunctionCall","src":"255:16:67"},{"name":"end","nodeType":"YulIdentifier","src":"273:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"252:2:67"},"nodeType":"YulFunctionCall","src":"252:25:67"},"nodeType":"YulIf","src":"249:112:67"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"394:3:67"},{"name":"dst","nodeType":"YulIdentifier","src":"399:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"404:6:67"}],"functionName":{"name":"copy_calldata_to_memory","nodeType":"YulIdentifier","src":"370:23:67"},"nodeType":"YulFunctionCall","src":"370:41:67"},"nodeType":"YulExpressionStatement","src":"370:41:67"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"63:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"68:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"76:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"84:5:67","type":""}],"src":"7:410:67"},{"body":{"nodeType":"YulBlock","src":"497:277:67","statements":[{"body":{"nodeType":"YulBlock","src":"546:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"548:77:67"},"nodeType":"YulFunctionCall","src":"548:79:67"},"nodeType":"YulExpressionStatement","src":"548:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"525:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"533:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"521:3:67"},"nodeType":"YulFunctionCall","src":"521:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"540:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"517:3:67"},"nodeType":"YulFunctionCall","src":"517:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"510:6:67"},"nodeType":"YulFunctionCall","src":"510:35:67"},"nodeType":"YulIf","src":"507:122:67"},{"nodeType":"YulVariableDeclaration","src":"638:34:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"665:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"652:12:67"},"nodeType":"YulFunctionCall","src":"652:20:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"642:6:67","type":""}]},{"nodeType":"YulAssignment","src":"681:87:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"741:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"749:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"737:3:67"},"nodeType":"YulFunctionCall","src":"737:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"756:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"764:3:67"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"690:46:67"},"nodeType":"YulFunctionCall","src":"690:78:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"681:5:67"}]}]},"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"475:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"483:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"491:5:67","type":""}],"src":"436:338:67"},{"body":{"nodeType":"YulBlock","src":"887:664:67","statements":[{"body":{"nodeType":"YulBlock","src":"931:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f","nodeType":"YulIdentifier","src":"933:77:67"},"nodeType":"YulFunctionCall","src":"933:79:67"},"nodeType":"YulExpressionStatement","src":"933:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"908:3:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"913:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"904:3:67"},"nodeType":"YulFunctionCall","src":"904:19:67"},{"kind":"number","nodeType":"YulLiteral","src":"925:4:67","type":"","value":"0x40"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"900:3:67"},"nodeType":"YulFunctionCall","src":"900:30:67"},"nodeType":"YulIf","src":"897:117:67"},{"nodeType":"YulAssignment","src":"1023:30:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1048:4:67","type":"","value":"0x40"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"1032:15:67"},"nodeType":"YulFunctionCall","src":"1032:21:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1023:5:67"}]},{"nodeType":"YulBlock","src":"1063:319:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1098:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1129:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"1140:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1125:3:67"},"nodeType":"YulFunctionCall","src":"1125:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1112:12:67"},"nodeType":"YulFunctionCall","src":"1112:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1102:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"1190:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421","nodeType":"YulIdentifier","src":"1192:77:67"},"nodeType":"YulFunctionCall","src":"1192:79:67"},"nodeType":"YulExpressionStatement","src":"1192:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1162:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1170:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1159:2:67"},"nodeType":"YulFunctionCall","src":"1159:30:67"},"nodeType":"YulIf","src":"1156:117:67"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1298:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"1305:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1294:3:67"},"nodeType":"YulFunctionCall","src":"1294:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1346:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1357:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1342:3:67"},"nodeType":"YulFunctionCall","src":"1342:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"1366:3:67"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"1312:29:67"},"nodeType":"YulFunctionCall","src":"1312:58:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1287:6:67"},"nodeType":"YulFunctionCall","src":"1287:84:67"},"nodeType":"YulExpressionStatement","src":"1287:84:67"}]},{"nodeType":"YulBlock","src":"1392:152:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1429:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1443:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1433:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1470:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"1477:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1466:3:67"},"nodeType":"YulFunctionCall","src":"1466:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1508:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1519:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1504:3:67"},"nodeType":"YulFunctionCall","src":"1504:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"1528:3:67"}],"functionName":{"name":"abi_decode_t_uint32","nodeType":"YulIdentifier","src":"1484:19:67"},"nodeType":"YulFunctionCall","src":"1484:48:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1459:6:67"},"nodeType":"YulFunctionCall","src":"1459:74:67"},"nodeType":"YulExpressionStatement","src":"1459:74:67"}]}]},"name":"abi_decode_t_struct$_Buffer_$8042_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"862:9:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"873:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"881:5:67","type":""}],"src":"808:743:67"},{"body":{"nodeType":"YulBlock","src":"1660:1345:67","statements":[{"body":{"nodeType":"YulBlock","src":"1704:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f","nodeType":"YulIdentifier","src":"1706:77:67"},"nodeType":"YulFunctionCall","src":"1706:79:67"},"nodeType":"YulExpressionStatement","src":"1706:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"1681:3:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"1686:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1677:3:67"},"nodeType":"YulFunctionCall","src":"1677:19:67"},{"kind":"number","nodeType":"YulLiteral","src":"1698:4:67","type":"","value":"0xc0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1673:3:67"},"nodeType":"YulFunctionCall","src":"1673:30:67"},"nodeType":"YulIf","src":"1670:117:67"},{"nodeType":"YulAssignment","src":"1796:30:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1821:4:67","type":"","value":"0xc0"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"1805:15:67"},"nodeType":"YulFunctionCall","src":"1805:21:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1796:5:67"}]},{"nodeType":"YulBlock","src":"1836:336:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1873:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1904:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"1915:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1900:3:67"},"nodeType":"YulFunctionCall","src":"1900:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1887:12:67"},"nodeType":"YulFunctionCall","src":"1887:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1877:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"1965:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421","nodeType":"YulIdentifier","src":"1967:77:67"},"nodeType":"YulFunctionCall","src":"1967:79:67"},"nodeType":"YulExpressionStatement","src":"1967:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1937:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1945:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1934:2:67"},"nodeType":"YulFunctionCall","src":"1934:30:67"},"nodeType":"YulIf","src":"1931:117:67"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2073:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"2080:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2069:3:67"},"nodeType":"YulFunctionCall","src":"2069:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2136:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2147:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2132:3:67"},"nodeType":"YulFunctionCall","src":"2132:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"2156:3:67"}],"functionName":{"name":"abi_decode_t_struct$_Buffer_$8042_memory_ptr","nodeType":"YulIdentifier","src":"2087:44:67"},"nodeType":"YulFunctionCall","src":"2087:73:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2062:6:67"},"nodeType":"YulFunctionCall","src":"2062:99:67"},"nodeType":"YulExpressionStatement","src":"2062:99:67"}]},{"nodeType":"YulBlock","src":"2182:156:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2224:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"2238:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2228:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2265:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"2272:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2261:3:67"},"nodeType":"YulFunctionCall","src":"2261:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2302:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2313:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2298:3:67"},"nodeType":"YulFunctionCall","src":"2298:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"2322:3:67"}],"functionName":{"name":"abi_decode_t_uint8","nodeType":"YulIdentifier","src":"2279:18:67"},"nodeType":"YulFunctionCall","src":"2279:47:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2254:6:67"},"nodeType":"YulFunctionCall","src":"2254:73:67"},"nodeType":"YulExpressionStatement","src":"2254:73:67"}]},{"nodeType":"YulBlock","src":"2348:154:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2388:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"2402:2:67","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2392:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2429:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"2436:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2425:3:67"},"nodeType":"YulFunctionCall","src":"2425:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2466:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2477:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2462:3:67"},"nodeType":"YulFunctionCall","src":"2462:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"2486:3:67"}],"functionName":{"name":"abi_decode_t_uint8","nodeType":"YulIdentifier","src":"2443:18:67"},"nodeType":"YulFunctionCall","src":"2443:47:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2418:6:67"},"nodeType":"YulFunctionCall","src":"2418:73:67"},"nodeType":"YulExpressionStatement","src":"2418:73:67"}]},{"nodeType":"YulBlock","src":"2512:166:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2564:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"2578:2:67","type":"","value":"96"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2568:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2605:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"2612:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2601:3:67"},"nodeType":"YulFunctionCall","src":"2601:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2642:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2653:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2638:3:67"},"nodeType":"YulFunctionCall","src":"2638:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"2662:3:67"}],"functionName":{"name":"abi_decode_t_uint8","nodeType":"YulIdentifier","src":"2619:18:67"},"nodeType":"YulFunctionCall","src":"2619:47:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2594:6:67"},"nodeType":"YulFunctionCall","src":"2594:73:67"},"nodeType":"YulExpressionStatement","src":"2594:73:67"}]},{"nodeType":"YulBlock","src":"2688:150:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2722:17:67","value":{"kind":"number","nodeType":"YulLiteral","src":"2736:3:67","type":"","value":"128"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2726:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2764:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"2771:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2760:3:67"},"nodeType":"YulFunctionCall","src":"2760:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2802:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2813:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2798:3:67"},"nodeType":"YulFunctionCall","src":"2798:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"2822:3:67"}],"functionName":{"name":"abi_decode_t_uint64","nodeType":"YulIdentifier","src":"2778:19:67"},"nodeType":"YulFunctionCall","src":"2778:48:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2753:6:67"},"nodeType":"YulFunctionCall","src":"2753:74:67"},"nodeType":"YulExpressionStatement","src":"2753:74:67"}]},{"nodeType":"YulBlock","src":"2848:150:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2882:17:67","value":{"kind":"number","nodeType":"YulLiteral","src":"2896:3:67","type":"","value":"160"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2886:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2924:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"2931:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2920:3:67"},"nodeType":"YulFunctionCall","src":"2920:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2962:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2973:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2958:3:67"},"nodeType":"YulFunctionCall","src":"2958:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"2982:3:67"}],"functionName":{"name":"abi_decode_t_uint64","nodeType":"YulIdentifier","src":"2938:19:67"},"nodeType":"YulFunctionCall","src":"2938:48:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2913:6:67"},"nodeType":"YulFunctionCall","src":"2913:74:67"},"nodeType":"YulExpressionStatement","src":"2913:74:67"}]}]},"name":"abi_decode_t_struct$_CBOR_$8037_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1635:9:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1646:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1654:5:67","type":""}],"src":"1583:1422:67"},{"body":{"nodeType":"YulBlock","src":"3062:86:67","statements":[{"nodeType":"YulAssignment","src":"3072:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3094:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3081:12:67"},"nodeType":"YulFunctionCall","src":"3081:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"3072:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3136:5:67"}],"functionName":{"name":"validator_revert_t_uint32","nodeType":"YulIdentifier","src":"3110:25:67"},"nodeType":"YulFunctionCall","src":"3110:32:67"},"nodeType":"YulExpressionStatement","src":"3110:32:67"}]},"name":"abi_decode_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3040:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"3048:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"3056:5:67","type":""}],"src":"3011:137:67"},{"body":{"nodeType":"YulBlock","src":"3205:86:67","statements":[{"nodeType":"YulAssignment","src":"3215:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3237:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3224:12:67"},"nodeType":"YulFunctionCall","src":"3224:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"3215:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3279:5:67"}],"functionName":{"name":"validator_revert_t_uint64","nodeType":"YulIdentifier","src":"3253:25:67"},"nodeType":"YulFunctionCall","src":"3253:32:67"},"nodeType":"YulExpressionStatement","src":"3253:32:67"}]},"name":"abi_decode_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3183:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"3191:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"3199:5:67","type":""}],"src":"3154:137:67"},{"body":{"nodeType":"YulBlock","src":"3347:85:67","statements":[{"nodeType":"YulAssignment","src":"3357:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3379:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3366:12:67"},"nodeType":"YulFunctionCall","src":"3366:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"3357:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3420:5:67"}],"functionName":{"name":"validator_revert_t_uint8","nodeType":"YulIdentifier","src":"3395:24:67"},"nodeType":"YulFunctionCall","src":"3395:31:67"},"nodeType":"YulExpressionStatement","src":"3395:31:67"}]},"name":"abi_decode_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3325:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"3333:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"3341:5:67","type":""}],"src":"3297:135:67"},{"body":{"nodeType":"YulBlock","src":"3513:432:67","statements":[{"body":{"nodeType":"YulBlock","src":"3559:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"3561:77:67"},"nodeType":"YulFunctionCall","src":"3561:79:67"},"nodeType":"YulExpressionStatement","src":"3561:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3534:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"3543:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3530:3:67"},"nodeType":"YulFunctionCall","src":"3530:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"3555:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3526:3:67"},"nodeType":"YulFunctionCall","src":"3526:32:67"},"nodeType":"YulIf","src":"3523:119:67"},{"nodeType":"YulBlock","src":"3652:286:67","statements":[{"nodeType":"YulVariableDeclaration","src":"3667:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3698:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"3709:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3694:3:67"},"nodeType":"YulFunctionCall","src":"3694:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3681:12:67"},"nodeType":"YulFunctionCall","src":"3681:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3671:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"3759:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"3761:77:67"},"nodeType":"YulFunctionCall","src":"3761:79:67"},"nodeType":"YulExpressionStatement","src":"3761:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3731:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"3739:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3728:2:67"},"nodeType":"YulFunctionCall","src":"3728:30:67"},"nodeType":"YulIf","src":"3725:117:67"},{"nodeType":"YulAssignment","src":"3856:72:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3900:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"3911:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3896:3:67"},"nodeType":"YulFunctionCall","src":"3896:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3920:7:67"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"3866:29:67"},"nodeType":"YulFunctionCall","src":"3866:62:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3856:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3483:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3494:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3506:6:67","type":""}],"src":"3438:507:67"},{"body":{"nodeType":"YulBlock","src":"4041:447:67","statements":[{"body":{"nodeType":"YulBlock","src":"4087:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"4089:77:67"},"nodeType":"YulFunctionCall","src":"4089:79:67"},"nodeType":"YulExpressionStatement","src":"4089:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4062:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"4071:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4058:3:67"},"nodeType":"YulFunctionCall","src":"4058:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"4083:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4054:3:67"},"nodeType":"YulFunctionCall","src":"4054:32:67"},"nodeType":"YulIf","src":"4051:119:67"},{"nodeType":"YulBlock","src":"4180:301:67","statements":[{"nodeType":"YulVariableDeclaration","src":"4195:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4226:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"4237:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4222:3:67"},"nodeType":"YulFunctionCall","src":"4222:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4209:12:67"},"nodeType":"YulFunctionCall","src":"4209:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4199:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"4287:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"4289:77:67"},"nodeType":"YulFunctionCall","src":"4289:79:67"},"nodeType":"YulExpressionStatement","src":"4289:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4259:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"4267:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4256:2:67"},"nodeType":"YulFunctionCall","src":"4256:30:67"},"nodeType":"YulIf","src":"4253:117:67"},{"nodeType":"YulAssignment","src":"4384:87:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4443:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"4454:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4439:3:67"},"nodeType":"YulFunctionCall","src":"4439:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4463:7:67"}],"functionName":{"name":"abi_decode_t_struct$_Buffer_$8042_memory_ptr","nodeType":"YulIdentifier","src":"4394:44:67"},"nodeType":"YulFunctionCall","src":"4394:77:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4384:6:67"}]}]}]},"name":"abi_decode_tuple_t_struct$_Buffer_$8042_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4011:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4022:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4034:6:67","type":""}],"src":"3951:537:67"},{"body":{"nodeType":"YulBlock","src":"4582:445:67","statements":[{"body":{"nodeType":"YulBlock","src":"4628:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"4630:77:67"},"nodeType":"YulFunctionCall","src":"4630:79:67"},"nodeType":"YulExpressionStatement","src":"4630:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4603:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"4612:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4599:3:67"},"nodeType":"YulFunctionCall","src":"4599:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"4624:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4595:3:67"},"nodeType":"YulFunctionCall","src":"4595:32:67"},"nodeType":"YulIf","src":"4592:119:67"},{"nodeType":"YulBlock","src":"4721:299:67","statements":[{"nodeType":"YulVariableDeclaration","src":"4736:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4767:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"4778:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4763:3:67"},"nodeType":"YulFunctionCall","src":"4763:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4750:12:67"},"nodeType":"YulFunctionCall","src":"4750:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4740:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"4828:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"4830:77:67"},"nodeType":"YulFunctionCall","src":"4830:79:67"},"nodeType":"YulExpressionStatement","src":"4830:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4800:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"4808:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4797:2:67"},"nodeType":"YulFunctionCall","src":"4797:30:67"},"nodeType":"YulIf","src":"4794:117:67"},{"nodeType":"YulAssignment","src":"4925:85:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4982:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"4993:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4978:3:67"},"nodeType":"YulFunctionCall","src":"4978:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5002:7:67"}],"functionName":{"name":"abi_decode_t_struct$_CBOR_$8037_memory_ptr","nodeType":"YulIdentifier","src":"4935:42:67"},"nodeType":"YulFunctionCall","src":"4935:75:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4925:6:67"}]}]}]},"name":"abi_decode_tuple_t_struct$_CBOR_$8037_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4552:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4563:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4575:6:67","type":""}],"src":"4494:533:67"},{"body":{"nodeType":"YulBlock","src":"5119:105:67","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5169:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"5177:3:67"}],"functionName":{"name":"abi_encode_t_int128_to_t_int128_library","nodeType":"YulIdentifier","src":"5129:39:67"},"nodeType":"YulFunctionCall","src":"5129:52:67"},"nodeType":"YulExpressionStatement","src":"5129:52:67"},{"nodeType":"YulAssignment","src":"5190:28:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5208:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5213:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5204:3:67"},"nodeType":"YulFunctionCall","src":"5204:14:67"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"5190:10:67"}]}]},"name":"abi_encodeUpdatedPos_t_int128_to_t_int128_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"5092:6:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5100:3:67","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"5108:10:67","type":""}],"src":"5033:191:67"},{"body":{"nodeType":"YulBlock","src":"5314:103:67","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5362:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"5370:3:67"}],"functionName":{"name":"abi_encode_t_int32_to_t_int32_library","nodeType":"YulIdentifier","src":"5324:37:67"},"nodeType":"YulFunctionCall","src":"5324:50:67"},"nodeType":"YulExpressionStatement","src":"5324:50:67"},{"nodeType":"YulAssignment","src":"5383:28:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5401:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5406:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5397:3:67"},"nodeType":"YulFunctionCall","src":"5397:14:67"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"5383:10:67"}]}]},"name":"abi_encodeUpdatedPos_t_int32_to_t_int32_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"5287:6:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5295:3:67","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"5303:10:67","type":""}],"src":"5230:187:67"},{"body":{"nodeType":"YulBlock","src":"5531:104:67","statements":[{"nodeType":"YulAssignment","src":"5541:88:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5617:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"5625:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_library","nodeType":"YulIdentifier","src":"5555:61:67"},"nodeType":"YulFunctionCall","src":"5555:74:67"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"5541:10:67"}]}]},"name":"abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"5504:6:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5512:3:67","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"5520:10:67","type":""}],"src":"5423:212:67"},{"body":{"nodeType":"YulBlock","src":"5727:105:67","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5777:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"5785:3:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_library","nodeType":"YulIdentifier","src":"5737:39:67"},"nodeType":"YulFunctionCall","src":"5737:52:67"},"nodeType":"YulExpressionStatement","src":"5737:52:67"},{"nodeType":"YulAssignment","src":"5798:28:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5816:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5821:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5812:3:67"},"nodeType":"YulFunctionCall","src":"5812:14:67"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"5798:10:67"}]}]},"name":"abi_encodeUpdatedPos_t_uint64_to_t_uint64_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"5700:6:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5708:3:67","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"5716:10:67","type":""}],"src":"5641:191:67"},{"body":{"nodeType":"YulBlock","src":"5996:618:67","statements":[{"nodeType":"YulVariableDeclaration","src":"6006:67:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6067:5:67"}],"functionName":{"name":"array_length_t_array$_t_int128_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"6020:46:67"},"nodeType":"YulFunctionCall","src":"6020:53:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"6010:6:67","type":""}]},{"nodeType":"YulAssignment","src":"6082:100:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6170:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"6175:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_int128_$dyn_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"6089:80:67"},"nodeType":"YulFunctionCall","src":"6089:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6082:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"6191:70:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6255:5:67"}],"functionName":{"name":"array_dataslot_t_array$_t_int128_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"6206:48:67"},"nodeType":"YulFunctionCall","src":"6206:55:67"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"6195:7:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6270:21:67","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"6284:7:67"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"6274:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"6360:229:67","statements":[{"nodeType":"YulVariableDeclaration","src":"6374:34:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"6401:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6395:5:67"},"nodeType":"YulFunctionCall","src":"6395:13:67"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"6378:13:67","type":""}]},{"nodeType":"YulAssignment","src":"6421:76:67","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"6478:13:67"},{"name":"pos","nodeType":"YulIdentifier","src":"6493:3:67"}],"functionName":{"name":"abi_encodeUpdatedPos_t_int128_to_t_int128_library","nodeType":"YulIdentifier","src":"6428:49:67"},"nodeType":"YulFunctionCall","src":"6428:69:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6421:3:67"}]},{"nodeType":"YulAssignment","src":"6510:69:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"6572:6:67"}],"functionName":{"name":"array_nextElement_t_array$_t_int128_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"6520:51:67"},"nodeType":"YulFunctionCall","src":"6520:59:67"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"6510:6:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6322:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"6325:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6319:2:67"},"nodeType":"YulFunctionCall","src":"6319:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"6333:18:67","statements":[{"nodeType":"YulAssignment","src":"6335:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6344:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"6347:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6340:3:67"},"nodeType":"YulFunctionCall","src":"6340:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"6335:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"6304:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"6306:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"6315:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"6310:1:67","type":""}]}]},"src":"6300:289:67"},{"nodeType":"YulAssignment","src":"6598:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"6605:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"6598:3:67"}]}]},"name":"abi_encode_t_array$_t_int128_$dyn_memory_ptr_to_t_array$_t_int128_$dyn_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5975:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5982:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"5991:3:67","type":""}],"src":"5866:748:67"},{"body":{"nodeType":"YulBlock","src":"6774:612:67","statements":[{"nodeType":"YulVariableDeclaration","src":"6784:66:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6844:5:67"}],"functionName":{"name":"array_length_t_array$_t_int32_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"6798:45:67"},"nodeType":"YulFunctionCall","src":"6798:52:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"6788:6:67","type":""}]},{"nodeType":"YulAssignment","src":"6859:99:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6946:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"6951:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_int32_$dyn_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"6866:79:67"},"nodeType":"YulFunctionCall","src":"6866:92:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6859:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"6967:69:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7030:5:67"}],"functionName":{"name":"array_dataslot_t_array$_t_int32_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"6982:47:67"},"nodeType":"YulFunctionCall","src":"6982:54:67"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"6971:7:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7045:21:67","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"7059:7:67"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"7049:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"7135:226:67","statements":[{"nodeType":"YulVariableDeclaration","src":"7149:34:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7176:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7170:5:67"},"nodeType":"YulFunctionCall","src":"7170:13:67"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"7153:13:67","type":""}]},{"nodeType":"YulAssignment","src":"7196:74:67","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"7251:13:67"},{"name":"pos","nodeType":"YulIdentifier","src":"7266:3:67"}],"functionName":{"name":"abi_encodeUpdatedPos_t_int32_to_t_int32_library","nodeType":"YulIdentifier","src":"7203:47:67"},"nodeType":"YulFunctionCall","src":"7203:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7196:3:67"}]},{"nodeType":"YulAssignment","src":"7283:68:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7344:6:67"}],"functionName":{"name":"array_nextElement_t_array$_t_int32_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"7293:50:67"},"nodeType":"YulFunctionCall","src":"7293:58:67"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7283:6:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7097:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"7100:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7094:2:67"},"nodeType":"YulFunctionCall","src":"7094:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"7108:18:67","statements":[{"nodeType":"YulAssignment","src":"7110:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7119:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"7122:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7115:3:67"},"nodeType":"YulFunctionCall","src":"7115:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"7110:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"7079:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"7081:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"7090:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"7085:1:67","type":""}]}]},"src":"7075:286:67"},{"nodeType":"YulAssignment","src":"7370:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"7377:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7370:3:67"}]}]},"name":"abi_encode_t_array$_t_int32_$dyn_memory_ptr_to_t_array$_t_int32_$dyn_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6753:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6760:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"6769:3:67","type":""}],"src":"6646:740:67"},{"body":{"nodeType":"YulBlock","src":"7572:863:67","statements":[{"nodeType":"YulVariableDeclaration","src":"7582:78:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7654:5:67"}],"functionName":{"name":"array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"7596:57:67"},"nodeType":"YulFunctionCall","src":"7596:64:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"7586:6:67","type":""}]},{"nodeType":"YulAssignment","src":"7669:111:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7768:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"7773:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"7676:91:67"},"nodeType":"YulFunctionCall","src":"7676:104:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7669:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"7789:20:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"7806:3:67"},"variables":[{"name":"headStart","nodeType":"YulTypedName","src":"7793:9:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7818:39:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7834:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"7843:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"7851:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"7839:3:67"},"nodeType":"YulFunctionCall","src":"7839:17:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7830:3:67"},"nodeType":"YulFunctionCall","src":"7830:27:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"7822:4:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7866:81:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7941:5:67"}],"functionName":{"name":"array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"7881:59:67"},"nodeType":"YulFunctionCall","src":"7881:66:67"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"7870:7:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7956:21:67","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"7970:7:67"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"7960:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"8046:344:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8067:3:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"8076:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"8082:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8072:3:67"},"nodeType":"YulFunctionCall","src":"8072:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8060:6:67"},"nodeType":"YulFunctionCall","src":"8060:33:67"},"nodeType":"YulExpressionStatement","src":"8060:33:67"},{"nodeType":"YulVariableDeclaration","src":"8106:34:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"8133:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8127:5:67"},"nodeType":"YulFunctionCall","src":"8127:13:67"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"8110:13:67","type":""}]},{"nodeType":"YulAssignment","src":"8153:100:67","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"8233:13:67"},{"name":"tail","nodeType":"YulIdentifier","src":"8248:4:67"}],"functionName":{"name":"abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr_library","nodeType":"YulIdentifier","src":"8161:71:67"},"nodeType":"YulFunctionCall","src":"8161:92:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8153:4:67"}]},{"nodeType":"YulAssignment","src":"8266:80:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"8339:6:67"}],"functionName":{"name":"array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"8276:62:67"},"nodeType":"YulFunctionCall","src":"8276:70:67"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"8266:6:67"}]},{"nodeType":"YulAssignment","src":"8359:21:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8370:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"8375:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8366:3:67"},"nodeType":"YulFunctionCall","src":"8366:14:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"8359:3:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"8008:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"8011:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"8005:2:67"},"nodeType":"YulFunctionCall","src":"8005:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"8019:18:67","statements":[{"nodeType":"YulAssignment","src":"8021:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"8030:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"8033:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8026:3:67"},"nodeType":"YulFunctionCall","src":"8026:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"8021:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"7990:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"7992:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"8001:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"7996:1:67","type":""}]}]},"src":"7986:404:67"},{"nodeType":"YulAssignment","src":"8399:11:67","value":{"name":"tail","nodeType":"YulIdentifier","src":"8406:4:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"8399:3:67"}]},{"nodeType":"YulAssignment","src":"8419:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"8426:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"8419:3:67"}]}]},"name":"abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7551:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"7558:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7567:3:67","type":""}],"src":"7420:1015:67"},{"body":{"nodeType":"YulBlock","src":"8599:618:67","statements":[{"nodeType":"YulVariableDeclaration","src":"8609:67:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8670:5:67"}],"functionName":{"name":"array_length_t_array$_t_uint64_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"8623:46:67"},"nodeType":"YulFunctionCall","src":"8623:53:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"8613:6:67","type":""}]},{"nodeType":"YulAssignment","src":"8685:100:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8773:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"8778:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_uint64_$dyn_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"8692:80:67"},"nodeType":"YulFunctionCall","src":"8692:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"8685:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"8794:70:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8858:5:67"}],"functionName":{"name":"array_dataslot_t_array$_t_uint64_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"8809:48:67"},"nodeType":"YulFunctionCall","src":"8809:55:67"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"8798:7:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8873:21:67","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"8887:7:67"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"8877:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"8963:229:67","statements":[{"nodeType":"YulVariableDeclaration","src":"8977:34:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"9004:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8998:5:67"},"nodeType":"YulFunctionCall","src":"8998:13:67"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"8981:13:67","type":""}]},{"nodeType":"YulAssignment","src":"9024:76:67","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"9081:13:67"},{"name":"pos","nodeType":"YulIdentifier","src":"9096:3:67"}],"functionName":{"name":"abi_encodeUpdatedPos_t_uint64_to_t_uint64_library","nodeType":"YulIdentifier","src":"9031:49:67"},"nodeType":"YulFunctionCall","src":"9031:69:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9024:3:67"}]},{"nodeType":"YulAssignment","src":"9113:69:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"9175:6:67"}],"functionName":{"name":"array_nextElement_t_array$_t_uint64_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"9123:51:67"},"nodeType":"YulFunctionCall","src":"9123:59:67"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"9113:6:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"8925:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"8928:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"8922:2:67"},"nodeType":"YulFunctionCall","src":"8922:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"8936:18:67","statements":[{"nodeType":"YulAssignment","src":"8938:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"8947:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"8950:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8943:3:67"},"nodeType":"YulFunctionCall","src":"8943:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"8938:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"8907:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"8909:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"8918:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"8913:1:67","type":""}]}]},"src":"8903:289:67"},{"nodeType":"YulAssignment","src":"9201:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"9208:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"9201:3:67"}]}]},"name":"abi_encode_t_array$_t_uint64_$dyn_memory_ptr_to_t_array$_t_uint64_$dyn_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8578:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"8585:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8594:3:67","type":""}],"src":"8469:748:67"},{"body":{"nodeType":"YulBlock","src":"9290:50:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9307:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9327:5:67"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"9312:14:67"},"nodeType":"YulFunctionCall","src":"9312:21:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9300:6:67"},"nodeType":"YulFunctionCall","src":"9300:34:67"},"nodeType":"YulExpressionStatement","src":"9300:34:67"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9278:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"9285:3:67","type":""}],"src":"9223:117:67"},{"body":{"nodeType":"YulBlock","src":"9419:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9436:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9459:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"9441:17:67"},"nodeType":"YulFunctionCall","src":"9441:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9429:6:67"},"nodeType":"YulFunctionCall","src":"9429:37:67"},"nodeType":"YulExpressionStatement","src":"9429:37:67"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9407:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"9414:3:67","type":""}],"src":"9346:126:67"},{"body":{"nodeType":"YulBlock","src":"9576:278:67","statements":[{"nodeType":"YulVariableDeclaration","src":"9586:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9632:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"9600:31:67"},"nodeType":"YulFunctionCall","src":"9600:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"9590:6:67","type":""}]},{"nodeType":"YulAssignment","src":"9647:85:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9720:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"9725:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"9654:65:67"},"nodeType":"YulFunctionCall","src":"9654:78:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9647:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9767:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"9774:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9763:3:67"},"nodeType":"YulFunctionCall","src":"9763:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"9781:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"9786:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"9741:21:67"},"nodeType":"YulFunctionCall","src":"9741:52:67"},"nodeType":"YulExpressionStatement","src":"9741:52:67"},{"nodeType":"YulAssignment","src":"9802:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9813:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"9840:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"9818:21:67"},"nodeType":"YulFunctionCall","src":"9818:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9809:3:67"},"nodeType":"YulFunctionCall","src":"9809:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"9802:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9557:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"9564:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"9572:3:67","type":""}],"src":"9478:376:67"},{"body":{"nodeType":"YulBlock","src":"9948:268:67","statements":[{"nodeType":"YulVariableDeclaration","src":"9958:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10004:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"9972:31:67"},"nodeType":"YulFunctionCall","src":"9972:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"9962:6:67","type":""}]},{"nodeType":"YulAssignment","src":"10019:75:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10082:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"10087:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_library","nodeType":"YulIdentifier","src":"10026:55:67"},"nodeType":"YulFunctionCall","src":"10026:68:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"10019:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10129:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"10136:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10125:3:67"},"nodeType":"YulFunctionCall","src":"10125:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"10143:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"10148:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"10103:21:67"},"nodeType":"YulFunctionCall","src":"10103:52:67"},"nodeType":"YulExpressionStatement","src":"10103:52:67"},{"nodeType":"YulAssignment","src":"10164:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10175:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"10202:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"10180:21:67"},"nodeType":"YulFunctionCall","src":"10180:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10171:3:67"},"nodeType":"YulFunctionCall","src":"10171:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"10164:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9929:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"9936:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"9944:3:67","type":""}],"src":"9860:356:67"},{"body":{"nodeType":"YulBlock","src":"10330:265:67","statements":[{"nodeType":"YulVariableDeclaration","src":"10340:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10386:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"10354:31:67"},"nodeType":"YulFunctionCall","src":"10354:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"10344:6:67","type":""}]},{"nodeType":"YulAssignment","src":"10401:95:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10484:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"10489:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"10408:75:67"},"nodeType":"YulFunctionCall","src":"10408:88:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"10401:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10531:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"10538:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10527:3:67"},"nodeType":"YulFunctionCall","src":"10527:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"10545:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"10550:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"10505:21:67"},"nodeType":"YulFunctionCall","src":"10505:52:67"},"nodeType":"YulExpressionStatement","src":"10505:52:67"},{"nodeType":"YulAssignment","src":"10566:23:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10577:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"10582:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10573:3:67"},"nodeType":"YulFunctionCall","src":"10573:16:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"10566:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10311:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10318:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10326:3:67","type":""}],"src":"10222:373:67"},{"body":{"nodeType":"YulBlock","src":"10672:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10689:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10711:5:67"}],"functionName":{"name":"cleanup_t_int128","nodeType":"YulIdentifier","src":"10694:16:67"},"nodeType":"YulFunctionCall","src":"10694:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10682:6:67"},"nodeType":"YulFunctionCall","src":"10682:36:67"},"nodeType":"YulExpressionStatement","src":"10682:36:67"}]},"name":"abi_encode_t_int128_to_t_int128_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10660:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10667:3:67","type":""}],"src":"10601:123:67"},{"body":{"nodeType":"YulBlock","src":"10791:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10808:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10830:5:67"}],"functionName":{"name":"cleanup_t_int128","nodeType":"YulIdentifier","src":"10813:16:67"},"nodeType":"YulFunctionCall","src":"10813:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10801:6:67"},"nodeType":"YulFunctionCall","src":"10801:36:67"},"nodeType":"YulExpressionStatement","src":"10801:36:67"}]},"name":"abi_encode_t_int128_to_t_int128_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10779:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10786:3:67","type":""}],"src":"10730:113:67"},{"body":{"nodeType":"YulBlock","src":"10918:51:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10935:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10956:5:67"}],"functionName":{"name":"cleanup_t_int32","nodeType":"YulIdentifier","src":"10940:15:67"},"nodeType":"YulFunctionCall","src":"10940:22:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10928:6:67"},"nodeType":"YulFunctionCall","src":"10928:35:67"},"nodeType":"YulExpressionStatement","src":"10928:35:67"}]},"name":"abi_encode_t_int32_to_t_int32_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10906:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10913:3:67","type":""}],"src":"10849:120:67"},{"body":{"nodeType":"YulBlock","src":"11034:51:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11051:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11072:5:67"}],"functionName":{"name":"cleanup_t_int32","nodeType":"YulIdentifier","src":"11056:15:67"},"nodeType":"YulFunctionCall","src":"11056:22:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11044:6:67"},"nodeType":"YulFunctionCall","src":"11044:35:67"},"nodeType":"YulExpressionStatement","src":"11044:35:67"}]},"name":"abi_encode_t_int32_to_t_int32_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11022:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11029:3:67","type":""}],"src":"10975:110:67"},{"body":{"nodeType":"YulBlock","src":"11191:280:67","statements":[{"nodeType":"YulVariableDeclaration","src":"11201:53:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11248:5:67"}],"functionName":{"name":"array_length_t_string_memory_ptr","nodeType":"YulIdentifier","src":"11215:32:67"},"nodeType":"YulFunctionCall","src":"11215:39:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"11205:6:67","type":""}]},{"nodeType":"YulAssignment","src":"11263:86:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11337:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"11342:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"11270:66:67"},"nodeType":"YulFunctionCall","src":"11270:79:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"11263:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11384:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"11391:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11380:3:67"},"nodeType":"YulFunctionCall","src":"11380:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"11398:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"11403:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"11358:21:67"},"nodeType":"YulFunctionCall","src":"11358:52:67"},"nodeType":"YulExpressionStatement","src":"11358:52:67"},{"nodeType":"YulAssignment","src":"11419:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11430:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"11457:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"11435:21:67"},"nodeType":"YulFunctionCall","src":"11435:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11426:3:67"},"nodeType":"YulFunctionCall","src":"11426:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"11419:3:67"}]}]},"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11172:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11179:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"11187:3:67","type":""}],"src":"11091:380:67"},{"body":{"nodeType":"YulBlock","src":"11567:270:67","statements":[{"nodeType":"YulVariableDeclaration","src":"11577:53:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11624:5:67"}],"functionName":{"name":"array_length_t_string_memory_ptr","nodeType":"YulIdentifier","src":"11591:32:67"},"nodeType":"YulFunctionCall","src":"11591:39:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"11581:6:67","type":""}]},{"nodeType":"YulAssignment","src":"11639:76:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11703:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"11708:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_library","nodeType":"YulIdentifier","src":"11646:56:67"},"nodeType":"YulFunctionCall","src":"11646:69:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"11639:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11750:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"11757:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11746:3:67"},"nodeType":"YulFunctionCall","src":"11746:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"11764:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"11769:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"11724:21:67"},"nodeType":"YulFunctionCall","src":"11724:52:67"},"nodeType":"YulExpressionStatement","src":"11724:52:67"},{"nodeType":"YulAssignment","src":"11785:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11796:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"11823:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"11801:21:67"},"nodeType":"YulFunctionCall","src":"11801:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11792:3:67"},"nodeType":"YulFunctionCall","src":"11792:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"11785:3:67"}]}]},"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11548:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11555:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"11563:3:67","type":""}],"src":"11477:360:67"},{"body":{"nodeType":"YulBlock","src":"11989:220:67","statements":[{"nodeType":"YulAssignment","src":"11999:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12065:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"12070:2:67","type":"","value":"53"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"12006:58:67"},"nodeType":"YulFunctionCall","src":"12006:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"11999:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12171:3:67"}],"functionName":{"name":"store_literal_in_memory_176e0278706c18b0f8b18b90e4c6a39b596c662775310463aa4a908b1de17758","nodeType":"YulIdentifier","src":"12082:88:67"},"nodeType":"YulFunctionCall","src":"12082:93:67"},"nodeType":"YulExpressionStatement","src":"12082:93:67"},{"nodeType":"YulAssignment","src":"12184:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12195:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"12200:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12191:3:67"},"nodeType":"YulFunctionCall","src":"12191:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"12184:3:67"}]}]},"name":"abi_encode_t_stringliteral_176e0278706c18b0f8b18b90e4c6a39b596c662775310463aa4a908b1de17758_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"11977:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"11985:3:67","type":""}],"src":"11843:366:67"},{"body":{"nodeType":"YulBlock","src":"12361:220:67","statements":[{"nodeType":"YulAssignment","src":"12371:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12437:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"12442:2:67","type":"","value":"84"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"12378:58:67"},"nodeType":"YulFunctionCall","src":"12378:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"12371:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12543:3:67"}],"functionName":{"name":"store_literal_in_memory_285621fe75046b25304c843ac968cca285ae3e6ef8abb770c7120426284fcb4e","nodeType":"YulIdentifier","src":"12454:88:67"},"nodeType":"YulFunctionCall","src":"12454:93:67"},"nodeType":"YulExpressionStatement","src":"12454:93:67"},{"nodeType":"YulAssignment","src":"12556:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12567:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"12572:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12563:3:67"},"nodeType":"YulFunctionCall","src":"12563:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"12556:3:67"}]}]},"name":"abi_encode_t_stringliteral_285621fe75046b25304c843ac968cca285ae3e6ef8abb770c7120426284fcb4e_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"12349:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"12357:3:67","type":""}],"src":"12215:366:67"},{"body":{"nodeType":"YulBlock","src":"12733:220:67","statements":[{"nodeType":"YulAssignment","src":"12743:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12809:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"12814:2:67","type":"","value":"81"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"12750:58:67"},"nodeType":"YulFunctionCall","src":"12750:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"12743:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12915:3:67"}],"functionName":{"name":"store_literal_in_memory_3375c6645e382185e0fe278f193075512d535b9f2ca7e1b37510b35efdd2bcc0","nodeType":"YulIdentifier","src":"12826:88:67"},"nodeType":"YulFunctionCall","src":"12826:93:67"},"nodeType":"YulExpressionStatement","src":"12826:93:67"},{"nodeType":"YulAssignment","src":"12928:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12939:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"12944:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12935:3:67"},"nodeType":"YulFunctionCall","src":"12935:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"12928:3:67"}]}]},"name":"abi_encode_t_stringliteral_3375c6645e382185e0fe278f193075512d535b9f2ca7e1b37510b35efdd2bcc0_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"12721:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"12729:3:67","type":""}],"src":"12587:366:67"},{"body":{"nodeType":"YulBlock","src":"13105:220:67","statements":[{"nodeType":"YulAssignment","src":"13115:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13181:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"13186:2:67","type":"","value":"73"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"13122:58:67"},"nodeType":"YulFunctionCall","src":"13122:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13115:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13287:3:67"}],"functionName":{"name":"store_literal_in_memory_41357bbf50a90e645d713b09dbcf193b280250cde8009c0b4d3449c28ea5d804","nodeType":"YulIdentifier","src":"13198:88:67"},"nodeType":"YulFunctionCall","src":"13198:93:67"},"nodeType":"YulExpressionStatement","src":"13198:93:67"},{"nodeType":"YulAssignment","src":"13300:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13311:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"13316:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13307:3:67"},"nodeType":"YulFunctionCall","src":"13307:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"13300:3:67"}]}]},"name":"abi_encode_t_stringliteral_41357bbf50a90e645d713b09dbcf193b280250cde8009c0b4d3449c28ea5d804_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"13093:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"13101:3:67","type":""}],"src":"12959:366:67"},{"body":{"nodeType":"YulBlock","src":"13477:220:67","statements":[{"nodeType":"YulAssignment","src":"13487:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13553:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"13558:2:67","type":"","value":"84"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"13494:58:67"},"nodeType":"YulFunctionCall","src":"13494:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13487:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13659:3:67"}],"functionName":{"name":"store_literal_in_memory_6f8489a006fc2ddb7b8db45a240c2e1340f979031aa674bc2c0d9a032007f865","nodeType":"YulIdentifier","src":"13570:88:67"},"nodeType":"YulFunctionCall","src":"13570:93:67"},"nodeType":"YulExpressionStatement","src":"13570:93:67"},{"nodeType":"YulAssignment","src":"13672:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13683:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"13688:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13679:3:67"},"nodeType":"YulFunctionCall","src":"13679:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"13672:3:67"}]}]},"name":"abi_encode_t_stringliteral_6f8489a006fc2ddb7b8db45a240c2e1340f979031aa674bc2c0d9a032007f865_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"13465:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"13473:3:67","type":""}],"src":"13331:366:67"},{"body":{"nodeType":"YulBlock","src":"13849:220:67","statements":[{"nodeType":"YulAssignment","src":"13859:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13925:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"13930:2:67","type":"","value":"53"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"13866:58:67"},"nodeType":"YulFunctionCall","src":"13866:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13859:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14031:3:67"}],"functionName":{"name":"store_literal_in_memory_76a21b1d3f42fbbea0475f624e30017f9081c603496816db3d90283ad65ae271","nodeType":"YulIdentifier","src":"13942:88:67"},"nodeType":"YulFunctionCall","src":"13942:93:67"},"nodeType":"YulExpressionStatement","src":"13942:93:67"},{"nodeType":"YulAssignment","src":"14044:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14055:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"14060:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14051:3:67"},"nodeType":"YulFunctionCall","src":"14051:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"14044:3:67"}]}]},"name":"abi_encode_t_stringliteral_76a21b1d3f42fbbea0475f624e30017f9081c603496816db3d90283ad65ae271_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"13837:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"13845:3:67","type":""}],"src":"13703:366:67"},{"body":{"nodeType":"YulBlock","src":"14221:220:67","statements":[{"nodeType":"YulAssignment","src":"14231:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14297:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"14302:2:67","type":"","value":"65"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"14238:58:67"},"nodeType":"YulFunctionCall","src":"14238:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"14231:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14403:3:67"}],"functionName":{"name":"store_literal_in_memory_875d0a02937cb9909e45a20585fcb051fe02c5f86d796a9b1cf43ce04fc2ba90","nodeType":"YulIdentifier","src":"14314:88:67"},"nodeType":"YulFunctionCall","src":"14314:93:67"},"nodeType":"YulExpressionStatement","src":"14314:93:67"},{"nodeType":"YulAssignment","src":"14416:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14427:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"14432:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14423:3:67"},"nodeType":"YulFunctionCall","src":"14423:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"14416:3:67"}]}]},"name":"abi_encode_t_stringliteral_875d0a02937cb9909e45a20585fcb051fe02c5f86d796a9b1cf43ce04fc2ba90_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"14209:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"14217:3:67","type":""}],"src":"14075:366:67"},{"body":{"nodeType":"YulBlock","src":"14593:220:67","statements":[{"nodeType":"YulAssignment","src":"14603:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14669:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"14674:2:67","type":"","value":"87"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"14610:58:67"},"nodeType":"YulFunctionCall","src":"14610:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"14603:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14775:3:67"}],"functionName":{"name":"store_literal_in_memory_9a60def7724db28748dda2f528e627b4b6898ecc35ff8814364e5a7e676b1567","nodeType":"YulIdentifier","src":"14686:88:67"},"nodeType":"YulFunctionCall","src":"14686:93:67"},"nodeType":"YulExpressionStatement","src":"14686:93:67"},{"nodeType":"YulAssignment","src":"14788:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14799:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"14804:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14795:3:67"},"nodeType":"YulFunctionCall","src":"14795:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"14788:3:67"}]}]},"name":"abi_encode_t_stringliteral_9a60def7724db28748dda2f528e627b4b6898ecc35ff8814364e5a7e676b1567_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"14581:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"14589:3:67","type":""}],"src":"14447:366:67"},{"body":{"nodeType":"YulBlock","src":"14965:220:67","statements":[{"nodeType":"YulAssignment","src":"14975:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15041:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"15046:2:67","type":"","value":"83"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"14982:58:67"},"nodeType":"YulFunctionCall","src":"14982:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"14975:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15147:3:67"}],"functionName":{"name":"store_literal_in_memory_c6093a9e0138c29641f4112ca84a6353e3b8189a75c60c086711495d7d1b05cf","nodeType":"YulIdentifier","src":"15058:88:67"},"nodeType":"YulFunctionCall","src":"15058:93:67"},"nodeType":"YulExpressionStatement","src":"15058:93:67"},{"nodeType":"YulAssignment","src":"15160:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15171:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"15176:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15167:3:67"},"nodeType":"YulFunctionCall","src":"15167:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"15160:3:67"}]}]},"name":"abi_encode_t_stringliteral_c6093a9e0138c29641f4112ca84a6353e3b8189a75c60c086711495d7d1b05cf_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"14953:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"14961:3:67","type":""}],"src":"14819:366:67"},{"body":{"nodeType":"YulBlock","src":"15337:220:67","statements":[{"nodeType":"YulAssignment","src":"15347:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15413:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"15418:2:67","type":"","value":"43"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"15354:58:67"},"nodeType":"YulFunctionCall","src":"15354:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"15347:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15519:3:67"}],"functionName":{"name":"store_literal_in_memory_c9a3baade484e18c7b6c7f334d58082e2c6f48547df2aecdef5e238f396eceb8","nodeType":"YulIdentifier","src":"15430:88:67"},"nodeType":"YulFunctionCall","src":"15430:93:67"},"nodeType":"YulExpressionStatement","src":"15430:93:67"},{"nodeType":"YulAssignment","src":"15532:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15543:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"15548:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15539:3:67"},"nodeType":"YulFunctionCall","src":"15539:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"15532:3:67"}]}]},"name":"abi_encode_t_stringliteral_c9a3baade484e18c7b6c7f334d58082e2c6f48547df2aecdef5e238f396eceb8_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"15325:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"15333:3:67","type":""}],"src":"15191:366:67"},{"body":{"nodeType":"YulBlock","src":"15709:220:67","statements":[{"nodeType":"YulAssignment","src":"15719:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15785:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"15790:2:67","type":"","value":"60"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"15726:58:67"},"nodeType":"YulFunctionCall","src":"15726:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"15719:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15891:3:67"}],"functionName":{"name":"store_literal_in_memory_cb594b582c4c4c10df3423239223a3962931d31e3d9cc15d65f361d94596911d","nodeType":"YulIdentifier","src":"15802:88:67"},"nodeType":"YulFunctionCall","src":"15802:93:67"},"nodeType":"YulExpressionStatement","src":"15802:93:67"},{"nodeType":"YulAssignment","src":"15904:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15915:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"15920:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15911:3:67"},"nodeType":"YulFunctionCall","src":"15911:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"15904:3:67"}]}]},"name":"abi_encode_t_stringliteral_cb594b582c4c4c10df3423239223a3962931d31e3d9cc15d65f361d94596911d_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"15697:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"15705:3:67","type":""}],"src":"15563:366:67"},{"body":{"nodeType":"YulBlock","src":"16081:220:67","statements":[{"nodeType":"YulAssignment","src":"16091:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16157:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"16162:2:67","type":"","value":"83"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"16098:58:67"},"nodeType":"YulFunctionCall","src":"16098:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"16091:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16263:3:67"}],"functionName":{"name":"store_literal_in_memory_d33a5d2b5ed5d95cc7a9c6c198ab7dad558642e7b6ddd2bf019b8e6e207e2bb1","nodeType":"YulIdentifier","src":"16174:88:67"},"nodeType":"YulFunctionCall","src":"16174:93:67"},"nodeType":"YulExpressionStatement","src":"16174:93:67"},{"nodeType":"YulAssignment","src":"16276:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16287:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"16292:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16283:3:67"},"nodeType":"YulFunctionCall","src":"16283:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"16276:3:67"}]}]},"name":"abi_encode_t_stringliteral_d33a5d2b5ed5d95cc7a9c6c198ab7dad558642e7b6ddd2bf019b8e6e207e2bb1_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"16069:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"16077:3:67","type":""}],"src":"15935:366:67"},{"body":{"nodeType":"YulBlock","src":"16453:220:67","statements":[{"nodeType":"YulAssignment","src":"16463:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16529:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"16534:2:67","type":"","value":"41"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"16470:58:67"},"nodeType":"YulFunctionCall","src":"16470:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"16463:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16635:3:67"}],"functionName":{"name":"store_literal_in_memory_d4ffc38b1bd3ce07b73162c5cd58b3f5d16fe42393d05d185bef3b883bb0a175","nodeType":"YulIdentifier","src":"16546:88:67"},"nodeType":"YulFunctionCall","src":"16546:93:67"},"nodeType":"YulExpressionStatement","src":"16546:93:67"},{"nodeType":"YulAssignment","src":"16648:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16659:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"16664:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16655:3:67"},"nodeType":"YulFunctionCall","src":"16655:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"16648:3:67"}]}]},"name":"abi_encode_t_stringliteral_d4ffc38b1bd3ce07b73162c5cd58b3f5d16fe42393d05d185bef3b883bb0a175_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"16441:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"16449:3:67","type":""}],"src":"16307:366:67"},{"body":{"nodeType":"YulBlock","src":"16825:220:67","statements":[{"nodeType":"YulAssignment","src":"16835:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16901:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"16906:2:67","type":"","value":"92"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"16842:58:67"},"nodeType":"YulFunctionCall","src":"16842:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"16835:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17007:3:67"}],"functionName":{"name":"store_literal_in_memory_e9d15dd9ef51c465dc7e4a1f1786baf0f5f1727522e4d18358f6412b81e0ad73","nodeType":"YulIdentifier","src":"16918:88:67"},"nodeType":"YulFunctionCall","src":"16918:93:67"},"nodeType":"YulExpressionStatement","src":"16918:93:67"},{"nodeType":"YulAssignment","src":"17020:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17031:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"17036:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17027:3:67"},"nodeType":"YulFunctionCall","src":"17027:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"17020:3:67"}]}]},"name":"abi_encode_t_stringliteral_e9d15dd9ef51c465dc7e4a1f1786baf0f5f1727522e4d18358f6412b81e0ad73_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"16813:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"16821:3:67","type":""}],"src":"16679:366:67"},{"body":{"nodeType":"YulBlock","src":"17197:220:67","statements":[{"nodeType":"YulAssignment","src":"17207:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17273:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"17278:2:67","type":"","value":"33"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"17214:58:67"},"nodeType":"YulFunctionCall","src":"17214:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"17207:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17379:3:67"}],"functionName":{"name":"store_literal_in_memory_ed3d615850988e92ac3bb7e19fc8fd4a6d0fd5efa663c85800c4ba4a146272ea","nodeType":"YulIdentifier","src":"17290:88:67"},"nodeType":"YulFunctionCall","src":"17290:93:67"},"nodeType":"YulExpressionStatement","src":"17290:93:67"},{"nodeType":"YulAssignment","src":"17392:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17403:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"17408:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17399:3:67"},"nodeType":"YulFunctionCall","src":"17399:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"17392:3:67"}]}]},"name":"abi_encode_t_stringliteral_ed3d615850988e92ac3bb7e19fc8fd4a6d0fd5efa663c85800c4ba4a146272ea_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"17185:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"17193:3:67","type":""}],"src":"17051:366:67"},{"body":{"nodeType":"YulBlock","src":"17569:220:67","statements":[{"nodeType":"YulAssignment","src":"17579:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17645:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"17650:2:67","type":"","value":"87"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"17586:58:67"},"nodeType":"YulFunctionCall","src":"17586:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"17579:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17751:3:67"}],"functionName":{"name":"store_literal_in_memory_f6afe1efc379e8204fb4d566f3cf5efe5c0e9e878fa8fd3072ffc04e712b2dae","nodeType":"YulIdentifier","src":"17662:88:67"},"nodeType":"YulFunctionCall","src":"17662:93:67"},"nodeType":"YulExpressionStatement","src":"17662:93:67"},{"nodeType":"YulAssignment","src":"17764:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17775:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"17780:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17771:3:67"},"nodeType":"YulFunctionCall","src":"17771:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"17764:3:67"}]}]},"name":"abi_encode_t_stringliteral_f6afe1efc379e8204fb4d566f3cf5efe5c0e9e878fa8fd3072ffc04e712b2dae_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"17557:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"17565:3:67","type":""}],"src":"17423:366:67"},{"body":{"nodeType":"YulBlock","src":"17941:220:67","statements":[{"nodeType":"YulAssignment","src":"17951:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18017:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"18022:2:67","type":"","value":"83"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"17958:58:67"},"nodeType":"YulFunctionCall","src":"17958:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"17951:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18123:3:67"}],"functionName":{"name":"store_literal_in_memory_f7e883759414212463f7e83fadd2b6f4fb58ed904f3a29f20bce3e92bd7c399c","nodeType":"YulIdentifier","src":"18034:88:67"},"nodeType":"YulFunctionCall","src":"18034:93:67"},"nodeType":"YulExpressionStatement","src":"18034:93:67"},{"nodeType":"YulAssignment","src":"18136:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18147:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"18152:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18143:3:67"},"nodeType":"YulFunctionCall","src":"18143:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"18136:3:67"}]}]},"name":"abi_encode_t_stringliteral_f7e883759414212463f7e83fadd2b6f4fb58ed904f3a29f20bce3e92bd7c399c_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"17929:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"17937:3:67","type":""}],"src":"17795:366:67"},{"body":{"nodeType":"YulBlock","src":"18313:220:67","statements":[{"nodeType":"YulAssignment","src":"18323:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18389:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"18394:2:67","type":"","value":"91"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"18330:58:67"},"nodeType":"YulFunctionCall","src":"18330:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"18323:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18495:3:67"}],"functionName":{"name":"store_literal_in_memory_fa1a41235d50d998fd1fa31f165df15dc31bd75a237078965072481881f7d8ad","nodeType":"YulIdentifier","src":"18406:88:67"},"nodeType":"YulFunctionCall","src":"18406:93:67"},"nodeType":"YulExpressionStatement","src":"18406:93:67"},{"nodeType":"YulAssignment","src":"18508:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18519:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"18524:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18515:3:67"},"nodeType":"YulFunctionCall","src":"18515:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"18508:3:67"}]}]},"name":"abi_encode_t_stringliteral_fa1a41235d50d998fd1fa31f165df15dc31bd75a237078965072481881f7d8ad_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"18301:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"18309:3:67","type":""}],"src":"18167:366:67"},{"body":{"nodeType":"YulBlock","src":"18685:220:67","statements":[{"nodeType":"YulAssignment","src":"18695:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18761:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"18766:2:67","type":"","value":"43"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"18702:58:67"},"nodeType":"YulFunctionCall","src":"18702:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"18695:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18867:3:67"}],"functionName":{"name":"store_literal_in_memory_fdadce3169751a65fe8fe5febc7dcb4198322ee12bc3662f33fae802c9673e4b","nodeType":"YulIdentifier","src":"18778:88:67"},"nodeType":"YulFunctionCall","src":"18778:93:67"},"nodeType":"YulExpressionStatement","src":"18778:93:67"},{"nodeType":"YulAssignment","src":"18880:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18891:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"18896:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18887:3:67"},"nodeType":"YulFunctionCall","src":"18887:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"18880:3:67"}]}]},"name":"abi_encode_t_stringliteral_fdadce3169751a65fe8fe5febc7dcb4198322ee12bc3662f33fae802c9673e4b_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"18673:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"18681:3:67","type":""}],"src":"18539:366:67"},{"body":{"nodeType":"YulBlock","src":"19083:496:67","statements":[{"nodeType":"YulVariableDeclaration","src":"19093:26:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19109:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"19114:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19105:3:67"},"nodeType":"YulFunctionCall","src":"19105:14:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"19097:4:67","type":""}]},{"nodeType":"YulBlock","src":"19129:241:67","statements":[{"nodeType":"YulVariableDeclaration","src":"19164:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19194:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"19201:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19190:3:67"},"nodeType":"YulFunctionCall","src":"19190:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19184:5:67"},"nodeType":"YulFunctionCall","src":"19184:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"19168:12:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19232:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"19237:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19228:3:67"},"nodeType":"YulFunctionCall","src":"19228:14:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"19248:4:67"},{"name":"pos","nodeType":"YulIdentifier","src":"19254:3:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19244:3:67"},"nodeType":"YulFunctionCall","src":"19244:14:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19221:6:67"},"nodeType":"YulFunctionCall","src":"19221:38:67"},"nodeType":"YulExpressionStatement","src":"19221:38:67"},{"nodeType":"YulAssignment","src":"19272:87:67","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"19340:12:67"},{"name":"tail","nodeType":"YulIdentifier","src":"19354:4:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_library","nodeType":"YulIdentifier","src":"19280:59:67"},"nodeType":"YulFunctionCall","src":"19280:79:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19272:4:67"}]}]},{"nodeType":"YulBlock","src":"19380:172:67","statements":[{"nodeType":"YulVariableDeclaration","src":"19417:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19447:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"19454:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19443:3:67"},"nodeType":"YulFunctionCall","src":"19443:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19437:5:67"},"nodeType":"YulFunctionCall","src":"19437:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"19421:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"19513:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19531:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"19536:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19527:3:67"},"nodeType":"YulFunctionCall","src":"19527:14:67"}],"functionName":{"name":"abi_encode_t_uint32_to_t_uint32_library","nodeType":"YulIdentifier","src":"19473:39:67"},"nodeType":"YulFunctionCall","src":"19473:69:67"},"nodeType":"YulExpressionStatement","src":"19473:69:67"}]},{"nodeType":"YulAssignment","src":"19562:11:67","value":{"name":"tail","nodeType":"YulIdentifier","src":"19569:4:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"19562:3:67"}]}]},"name":"abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19062:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"19069:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"19078:3:67","type":""}],"src":"18963:616:67"},{"body":{"nodeType":"YulBlock","src":"19759:1267:67","statements":[{"nodeType":"YulVariableDeclaration","src":"19769:26:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19785:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"19790:4:67","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19781:3:67"},"nodeType":"YulFunctionCall","src":"19781:14:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"19773:4:67","type":""}]},{"nodeType":"YulBlock","src":"19805:273:67","statements":[{"nodeType":"YulVariableDeclaration","src":"19842:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19872:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"19879:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19868:3:67"},"nodeType":"YulFunctionCall","src":"19868:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19862:5:67"},"nodeType":"YulFunctionCall","src":"19862:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"19846:12:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19910:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"19915:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19906:3:67"},"nodeType":"YulFunctionCall","src":"19906:14:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"19926:4:67"},{"name":"pos","nodeType":"YulIdentifier","src":"19932:3:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19922:3:67"},"nodeType":"YulFunctionCall","src":"19922:14:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19899:6:67"},"nodeType":"YulFunctionCall","src":"19899:38:67"},"nodeType":"YulExpressionStatement","src":"19899:38:67"},{"nodeType":"YulAssignment","src":"19950:117:67","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"20048:12:67"},{"name":"tail","nodeType":"YulIdentifier","src":"20062:4:67"}],"functionName":{"name":"abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr_library","nodeType":"YulIdentifier","src":"19958:89:67"},"nodeType":"YulFunctionCall","src":"19958:109:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19950:4:67"}]}]},{"nodeType":"YulBlock","src":"20088:175:67","statements":[{"nodeType":"YulVariableDeclaration","src":"20130:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20160:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"20167:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20156:3:67"},"nodeType":"YulFunctionCall","src":"20156:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20150:5:67"},"nodeType":"YulFunctionCall","src":"20150:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"20134:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"20224:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"20242:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"20247:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20238:3:67"},"nodeType":"YulFunctionCall","src":"20238:14:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_library","nodeType":"YulIdentifier","src":"20186:37:67"},"nodeType":"YulFunctionCall","src":"20186:67:67"},"nodeType":"YulExpressionStatement","src":"20186:67:67"}]},{"nodeType":"YulBlock","src":"20273:173:67","statements":[{"nodeType":"YulVariableDeclaration","src":"20313:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20343:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"20350:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20339:3:67"},"nodeType":"YulFunctionCall","src":"20339:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20333:5:67"},"nodeType":"YulFunctionCall","src":"20333:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"20317:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"20407:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"20425:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"20430:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20421:3:67"},"nodeType":"YulFunctionCall","src":"20421:14:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_library","nodeType":"YulIdentifier","src":"20369:37:67"},"nodeType":"YulFunctionCall","src":"20369:67:67"},"nodeType":"YulExpressionStatement","src":"20369:67:67"}]},{"nodeType":"YulBlock","src":"20456:185:67","statements":[{"nodeType":"YulVariableDeclaration","src":"20508:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20538:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"20545:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20534:3:67"},"nodeType":"YulFunctionCall","src":"20534:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20528:5:67"},"nodeType":"YulFunctionCall","src":"20528:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"20512:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"20602:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"20620:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"20625:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20616:3:67"},"nodeType":"YulFunctionCall","src":"20616:14:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_library","nodeType":"YulIdentifier","src":"20564:37:67"},"nodeType":"YulFunctionCall","src":"20564:67:67"},"nodeType":"YulExpressionStatement","src":"20564:67:67"}]},{"nodeType":"YulBlock","src":"20651:169:67","statements":[{"nodeType":"YulVariableDeclaration","src":"20685:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20715:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"20722:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20711:3:67"},"nodeType":"YulFunctionCall","src":"20711:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20705:5:67"},"nodeType":"YulFunctionCall","src":"20705:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"20689:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"20781:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"20799:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"20804:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20795:3:67"},"nodeType":"YulFunctionCall","src":"20795:14:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_library","nodeType":"YulIdentifier","src":"20741:39:67"},"nodeType":"YulFunctionCall","src":"20741:69:67"},"nodeType":"YulExpressionStatement","src":"20741:69:67"}]},{"nodeType":"YulBlock","src":"20830:169:67","statements":[{"nodeType":"YulVariableDeclaration","src":"20864:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20894:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"20901:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20890:3:67"},"nodeType":"YulFunctionCall","src":"20890:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20884:5:67"},"nodeType":"YulFunctionCall","src":"20884:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"20868:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"20960:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"20978:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"20983:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20974:3:67"},"nodeType":"YulFunctionCall","src":"20974:14:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_library","nodeType":"YulIdentifier","src":"20920:39:67"},"nodeType":"YulFunctionCall","src":"20920:69:67"},"nodeType":"YulExpressionStatement","src":"20920:69:67"}]},{"nodeType":"YulAssignment","src":"21009:11:67","value":{"name":"tail","nodeType":"YulIdentifier","src":"21016:4:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"21009:3:67"}]}]},"name":"abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19738:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"19745:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"19754:3:67","type":""}],"src":"19633:1393:67"},{"body":{"nodeType":"YulBlock","src":"21093:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21110:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21132:5:67"}],"functionName":{"name":"cleanup_t_uint32","nodeType":"YulIdentifier","src":"21115:16:67"},"nodeType":"YulFunctionCall","src":"21115:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21103:6:67"},"nodeType":"YulFunctionCall","src":"21103:36:67"},"nodeType":"YulExpressionStatement","src":"21103:36:67"}]},"name":"abi_encode_t_uint32_to_t_uint32_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21081:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"21088:3:67","type":""}],"src":"21032:113:67"},{"body":{"nodeType":"YulBlock","src":"21222:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21239:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21261:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"21244:16:67"},"nodeType":"YulFunctionCall","src":"21244:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21232:6:67"},"nodeType":"YulFunctionCall","src":"21232:36:67"},"nodeType":"YulExpressionStatement","src":"21232:36:67"}]},"name":"abi_encode_t_uint64_to_t_uint64_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21210:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"21217:3:67","type":""}],"src":"21151:123:67"},{"body":{"nodeType":"YulBlock","src":"21341:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21358:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21380:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"21363:16:67"},"nodeType":"YulFunctionCall","src":"21363:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21351:6:67"},"nodeType":"YulFunctionCall","src":"21351:36:67"},"nodeType":"YulExpressionStatement","src":"21351:36:67"}]},"name":"abi_encode_t_uint64_to_t_uint64_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21329:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"21336:3:67","type":""}],"src":"21280:113:67"},{"body":{"nodeType":"YulBlock","src":"21458:51:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21475:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21496:5:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"21480:15:67"},"nodeType":"YulFunctionCall","src":"21480:22:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21468:6:67"},"nodeType":"YulFunctionCall","src":"21468:35:67"},"nodeType":"YulExpressionStatement","src":"21468:35:67"}]},"name":"abi_encode_t_uint8_to_t_uint8_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21446:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"21453:3:67","type":""}],"src":"21399:110:67"},{"body":{"nodeType":"YulBlock","src":"21594:70:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21611:3:67"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21650:5:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"21634:15:67"},"nodeType":"YulFunctionCall","src":"21634:22:67"}],"functionName":{"name":"leftAlign_t_uint8","nodeType":"YulIdentifier","src":"21616:17:67"},"nodeType":"YulFunctionCall","src":"21616:41:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21604:6:67"},"nodeType":"YulFunctionCall","src":"21604:54:67"},"nodeType":"YulExpressionStatement","src":"21604:54:67"}]},"name":"abi_encode_t_uint8_to_t_uint8_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21582:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"21589:3:67","type":""}],"src":"21515:149:67"},{"body":{"nodeType":"YulBlock","src":"21850:247:67","statements":[{"nodeType":"YulAssignment","src":"21861:100:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"21948:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"21957:3:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"21868:79:67"},"nodeType":"YulFunctionCall","src":"21868:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"21861:3:67"}]},{"nodeType":"YulAssignment","src":"21971:100:67","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"22058:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"22067:3:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"21978:79:67"},"nodeType":"YulFunctionCall","src":"21978:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"21971:3:67"}]},{"nodeType":"YulAssignment","src":"22081:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"22088:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"22081:3:67"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"21821:3:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"21827:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"21835:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"21846:3:67","type":""}],"src":"21670:427:67"},{"body":{"nodeType":"YulBlock","src":"22261:245:67","statements":[{"nodeType":"YulAssignment","src":"22272:100:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22359:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"22368:3:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"22279:79:67"},"nodeType":"YulFunctionCall","src":"22279:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"22272:3:67"}]},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"22440:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"22449:3:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"22382:57:67"},"nodeType":"YulFunctionCall","src":"22382:71:67"},"nodeType":"YulExpressionStatement","src":"22382:71:67"},{"nodeType":"YulAssignment","src":"22462:18:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22473:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"22478:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22469:3:67"},"nodeType":"YulFunctionCall","src":"22469:11:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"22462:3:67"}]},{"nodeType":"YulAssignment","src":"22490:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"22497:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"22490:3:67"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr_t_uint8__to_t_bytes_memory_ptr_t_uint8__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"22232:3:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"22238:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22246:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"22257:3:67","type":""}],"src":"22103:403:67"},{"body":{"nodeType":"YulBlock","src":"22666:231:67","statements":[{"nodeType":"YulAssignment","src":"22676:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22688:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"22699:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22684:3:67"},"nodeType":"YulFunctionCall","src":"22684:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22676:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22723:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"22734:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22719:3:67"},"nodeType":"YulFunctionCall","src":"22719:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"22742:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"22748:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22738:3:67"},"nodeType":"YulFunctionCall","src":"22738:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22712:6:67"},"nodeType":"YulFunctionCall","src":"22712:47:67"},"nodeType":"YulExpressionStatement","src":"22712:47:67"},{"nodeType":"YulAssignment","src":"22768:122:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22876:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"22885:4:67"}],"functionName":{"name":"abi_encode_t_array$_t_int128_$dyn_memory_ptr_to_t_array$_t_int128_$dyn_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"22776:99:67"},"nodeType":"YulFunctionCall","src":"22776:114:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22768:4:67"}]}]},"name":"abi_encode_tuple_t_array$_t_int128_$dyn_memory_ptr__to_t_array$_t_int128_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22638:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22650:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22661:4:67","type":""}],"src":"22512:385:67"},{"body":{"nodeType":"YulBlock","src":"23055:229:67","statements":[{"nodeType":"YulAssignment","src":"23065:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23077:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"23088:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23073:3:67"},"nodeType":"YulFunctionCall","src":"23073:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23065:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23112:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"23123:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23108:3:67"},"nodeType":"YulFunctionCall","src":"23108:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"23131:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"23137:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23127:3:67"},"nodeType":"YulFunctionCall","src":"23127:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23101:6:67"},"nodeType":"YulFunctionCall","src":"23101:47:67"},"nodeType":"YulExpressionStatement","src":"23101:47:67"},{"nodeType":"YulAssignment","src":"23157:120:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"23263:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"23272:4:67"}],"functionName":{"name":"abi_encode_t_array$_t_int32_$dyn_memory_ptr_to_t_array$_t_int32_$dyn_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"23165:97:67"},"nodeType":"YulFunctionCall","src":"23165:112:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23157:4:67"}]}]},"name":"abi_encode_tuple_t_array$_t_int32_$dyn_memory_ptr__to_t_array$_t_int32_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23027:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23039:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23050:4:67","type":""}],"src":"22903:381:67"},{"body":{"nodeType":"YulBlock","src":"23466:253:67","statements":[{"nodeType":"YulAssignment","src":"23476:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23488:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"23499:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23484:3:67"},"nodeType":"YulFunctionCall","src":"23484:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23476:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23523:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"23534:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23519:3:67"},"nodeType":"YulFunctionCall","src":"23519:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"23542:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"23548:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23538:3:67"},"nodeType":"YulFunctionCall","src":"23538:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23512:6:67"},"nodeType":"YulFunctionCall","src":"23512:47:67"},"nodeType":"YulExpressionStatement","src":"23512:47:67"},{"nodeType":"YulAssignment","src":"23568:144:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"23698:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"23707:4:67"}],"functionName":{"name":"abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"23576:121:67"},"nodeType":"YulFunctionCall","src":"23576:136:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23568:4:67"}]}]},"name":"abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23438:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23450:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23461:4:67","type":""}],"src":"23290:429:67"},{"body":{"nodeType":"YulBlock","src":"23879:231:67","statements":[{"nodeType":"YulAssignment","src":"23889:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23901:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"23912:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23897:3:67"},"nodeType":"YulFunctionCall","src":"23897:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23889:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23936:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"23947:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23932:3:67"},"nodeType":"YulFunctionCall","src":"23932:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"23955:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"23961:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23951:3:67"},"nodeType":"YulFunctionCall","src":"23951:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23925:6:67"},"nodeType":"YulFunctionCall","src":"23925:47:67"},"nodeType":"YulExpressionStatement","src":"23925:47:67"},{"nodeType":"YulAssignment","src":"23981:122:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"24089:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"24098:4:67"}],"functionName":{"name":"abi_encode_t_array$_t_uint64_$dyn_memory_ptr_to_t_array$_t_uint64_$dyn_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"23989:99:67"},"nodeType":"YulFunctionCall","src":"23989:114:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23981:4:67"}]}]},"name":"abi_encode_tuple_t_array$_t_uint64_$dyn_memory_ptr__to_t_array$_t_uint64_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23851:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23863:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23874:4:67","type":""}],"src":"23725:385:67"},{"body":{"nodeType":"YulBlock","src":"24216:126:67","statements":[{"nodeType":"YulAssignment","src":"24226:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24238:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"24249:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24234:3:67"},"nodeType":"YulFunctionCall","src":"24234:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24226:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"24308:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24321:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"24332:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24317:3:67"},"nodeType":"YulFunctionCall","src":"24317:17:67"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack_library","nodeType":"YulIdentifier","src":"24262:45:67"},"nodeType":"YulFunctionCall","src":"24262:73:67"},"nodeType":"YulExpressionStatement","src":"24262:73:67"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24188:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"24200:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24211:4:67","type":""}],"src":"24116:226:67"},{"body":{"nodeType":"YulBlock","src":"24454:132:67","statements":[{"nodeType":"YulAssignment","src":"24464:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24476:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"24487:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24472:3:67"},"nodeType":"YulFunctionCall","src":"24472:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24464:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"24552:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24565:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"24576:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24561:3:67"},"nodeType":"YulFunctionCall","src":"24561:17:67"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack_library","nodeType":"YulIdentifier","src":"24500:51:67"},"nodeType":"YulFunctionCall","src":"24500:79:67"},"nodeType":"YulExpressionStatement","src":"24500:79:67"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24426:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"24438:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24449:4:67","type":""}],"src":"24348:238:67"},{"body":{"nodeType":"YulBlock","src":"24716:201:67","statements":[{"nodeType":"YulAssignment","src":"24726:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24738:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"24749:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24734:3:67"},"nodeType":"YulFunctionCall","src":"24734:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24726:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24773:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"24784:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24769:3:67"},"nodeType":"YulFunctionCall","src":"24769:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"24792:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"24798:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24788:3:67"},"nodeType":"YulFunctionCall","src":"24788:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24762:6:67"},"nodeType":"YulFunctionCall","src":"24762:47:67"},"nodeType":"YulExpressionStatement","src":"24762:47:67"},{"nodeType":"YulAssignment","src":"24818:92:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"24896:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"24905:4:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"24826:69:67"},"nodeType":"YulFunctionCall","src":"24826:84:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24818:4:67"}]}]},"name":"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24688:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"24700:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24711:4:67","type":""}],"src":"24592:325:67"},{"body":{"nodeType":"YulBlock","src":"25027:130:67","statements":[{"nodeType":"YulAssignment","src":"25037:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25049:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"25060:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25045:3:67"},"nodeType":"YulFunctionCall","src":"25045:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25037:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"25123:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25136:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"25147:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25132:3:67"},"nodeType":"YulFunctionCall","src":"25132:17:67"}],"functionName":{"name":"abi_encode_t_int128_to_t_int128_fromStack_library","nodeType":"YulIdentifier","src":"25073:49:67"},"nodeType":"YulFunctionCall","src":"25073:77:67"},"nodeType":"YulExpressionStatement","src":"25073:77:67"}]},"name":"abi_encode_tuple_t_int128__to_t_int128__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24999:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"25011:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25022:4:67","type":""}],"src":"24923:234:67"},{"body":{"nodeType":"YulBlock","src":"25265:128:67","statements":[{"nodeType":"YulAssignment","src":"25275:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25287:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"25298:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25283:3:67"},"nodeType":"YulFunctionCall","src":"25283:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25275:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"25359:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25372:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"25383:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25368:3:67"},"nodeType":"YulFunctionCall","src":"25368:17:67"}],"functionName":{"name":"abi_encode_t_int32_to_t_int32_fromStack_library","nodeType":"YulIdentifier","src":"25311:47:67"},"nodeType":"YulFunctionCall","src":"25311:75:67"},"nodeType":"YulExpressionStatement","src":"25311:75:67"}]},"name":"abi_encode_tuple_t_int32__to_t_int32__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25237:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"25249:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25260:4:67","type":""}],"src":"25163:230:67"},{"body":{"nodeType":"YulBlock","src":"25525:203:67","statements":[{"nodeType":"YulAssignment","src":"25535:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25547:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"25558:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25543:3:67"},"nodeType":"YulFunctionCall","src":"25543:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25535:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25582:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"25593:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25578:3:67"},"nodeType":"YulFunctionCall","src":"25578:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"25601:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"25607:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25597:3:67"},"nodeType":"YulFunctionCall","src":"25597:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25571:6:67"},"nodeType":"YulFunctionCall","src":"25571:47:67"},"nodeType":"YulExpressionStatement","src":"25571:47:67"},{"nodeType":"YulAssignment","src":"25627:94:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"25707:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"25716:4:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"25635:71:67"},"nodeType":"YulFunctionCall","src":"25635:86:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25627:4:67"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25497:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"25509:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25520:4:67","type":""}],"src":"25399:329:67"},{"body":{"nodeType":"YulBlock","src":"25905:248:67","statements":[{"nodeType":"YulAssignment","src":"25915:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25927:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"25938:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25923:3:67"},"nodeType":"YulFunctionCall","src":"25923:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25915:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25962:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"25973:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25958:3:67"},"nodeType":"YulFunctionCall","src":"25958:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"25981:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"25987:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25977:3:67"},"nodeType":"YulFunctionCall","src":"25977:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25951:6:67"},"nodeType":"YulFunctionCall","src":"25951:47:67"},"nodeType":"YulExpressionStatement","src":"25951:47:67"},{"nodeType":"YulAssignment","src":"26007:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"26141:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_176e0278706c18b0f8b18b90e4c6a39b596c662775310463aa4a908b1de17758_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"26015:124:67"},"nodeType":"YulFunctionCall","src":"26015:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26007:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_176e0278706c18b0f8b18b90e4c6a39b596c662775310463aa4a908b1de17758__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25885:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25900:4:67","type":""}],"src":"25734:419:67"},{"body":{"nodeType":"YulBlock","src":"26330:248:67","statements":[{"nodeType":"YulAssignment","src":"26340:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26352:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"26363:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26348:3:67"},"nodeType":"YulFunctionCall","src":"26348:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26340:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26387:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"26398:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26383:3:67"},"nodeType":"YulFunctionCall","src":"26383:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"26406:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"26412:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"26402:3:67"},"nodeType":"YulFunctionCall","src":"26402:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26376:6:67"},"nodeType":"YulFunctionCall","src":"26376:47:67"},"nodeType":"YulExpressionStatement","src":"26376:47:67"},{"nodeType":"YulAssignment","src":"26432:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"26566:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_285621fe75046b25304c843ac968cca285ae3e6ef8abb770c7120426284fcb4e_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"26440:124:67"},"nodeType":"YulFunctionCall","src":"26440:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26432:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_285621fe75046b25304c843ac968cca285ae3e6ef8abb770c7120426284fcb4e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26310:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26325:4:67","type":""}],"src":"26159:419:67"},{"body":{"nodeType":"YulBlock","src":"26755:248:67","statements":[{"nodeType":"YulAssignment","src":"26765:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26777:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"26788:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26773:3:67"},"nodeType":"YulFunctionCall","src":"26773:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26765:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26812:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"26823:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26808:3:67"},"nodeType":"YulFunctionCall","src":"26808:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"26831:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"26837:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"26827:3:67"},"nodeType":"YulFunctionCall","src":"26827:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26801:6:67"},"nodeType":"YulFunctionCall","src":"26801:47:67"},"nodeType":"YulExpressionStatement","src":"26801:47:67"},{"nodeType":"YulAssignment","src":"26857:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"26991:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_3375c6645e382185e0fe278f193075512d535b9f2ca7e1b37510b35efdd2bcc0_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"26865:124:67"},"nodeType":"YulFunctionCall","src":"26865:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26857:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_3375c6645e382185e0fe278f193075512d535b9f2ca7e1b37510b35efdd2bcc0__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26735:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26750:4:67","type":""}],"src":"26584:419:67"},{"body":{"nodeType":"YulBlock","src":"27180:248:67","statements":[{"nodeType":"YulAssignment","src":"27190:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27202:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"27213:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27198:3:67"},"nodeType":"YulFunctionCall","src":"27198:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"27190:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27237:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"27248:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27233:3:67"},"nodeType":"YulFunctionCall","src":"27233:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"27256:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"27262:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"27252:3:67"},"nodeType":"YulFunctionCall","src":"27252:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27226:6:67"},"nodeType":"YulFunctionCall","src":"27226:47:67"},"nodeType":"YulExpressionStatement","src":"27226:47:67"},{"nodeType":"YulAssignment","src":"27282:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"27416:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_41357bbf50a90e645d713b09dbcf193b280250cde8009c0b4d3449c28ea5d804_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"27290:124:67"},"nodeType":"YulFunctionCall","src":"27290:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"27282:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_41357bbf50a90e645d713b09dbcf193b280250cde8009c0b4d3449c28ea5d804__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27160:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"27175:4:67","type":""}],"src":"27009:419:67"},{"body":{"nodeType":"YulBlock","src":"27605:248:67","statements":[{"nodeType":"YulAssignment","src":"27615:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27627:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"27638:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27623:3:67"},"nodeType":"YulFunctionCall","src":"27623:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"27615:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27662:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"27673:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27658:3:67"},"nodeType":"YulFunctionCall","src":"27658:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"27681:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"27687:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"27677:3:67"},"nodeType":"YulFunctionCall","src":"27677:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27651:6:67"},"nodeType":"YulFunctionCall","src":"27651:47:67"},"nodeType":"YulExpressionStatement","src":"27651:47:67"},{"nodeType":"YulAssignment","src":"27707:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"27841:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_6f8489a006fc2ddb7b8db45a240c2e1340f979031aa674bc2c0d9a032007f865_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"27715:124:67"},"nodeType":"YulFunctionCall","src":"27715:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"27707:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_6f8489a006fc2ddb7b8db45a240c2e1340f979031aa674bc2c0d9a032007f865__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27585:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"27600:4:67","type":""}],"src":"27434:419:67"},{"body":{"nodeType":"YulBlock","src":"28030:248:67","statements":[{"nodeType":"YulAssignment","src":"28040:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28052:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"28063:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28048:3:67"},"nodeType":"YulFunctionCall","src":"28048:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"28040:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28087:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"28098:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28083:3:67"},"nodeType":"YulFunctionCall","src":"28083:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"28106:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"28112:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"28102:3:67"},"nodeType":"YulFunctionCall","src":"28102:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28076:6:67"},"nodeType":"YulFunctionCall","src":"28076:47:67"},"nodeType":"YulExpressionStatement","src":"28076:47:67"},{"nodeType":"YulAssignment","src":"28132:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"28266:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_76a21b1d3f42fbbea0475f624e30017f9081c603496816db3d90283ad65ae271_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"28140:124:67"},"nodeType":"YulFunctionCall","src":"28140:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"28132:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_76a21b1d3f42fbbea0475f624e30017f9081c603496816db3d90283ad65ae271__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"28010:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"28025:4:67","type":""}],"src":"27859:419:67"},{"body":{"nodeType":"YulBlock","src":"28455:248:67","statements":[{"nodeType":"YulAssignment","src":"28465:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28477:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"28488:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28473:3:67"},"nodeType":"YulFunctionCall","src":"28473:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"28465:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28512:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"28523:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28508:3:67"},"nodeType":"YulFunctionCall","src":"28508:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"28531:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"28537:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"28527:3:67"},"nodeType":"YulFunctionCall","src":"28527:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28501:6:67"},"nodeType":"YulFunctionCall","src":"28501:47:67"},"nodeType":"YulExpressionStatement","src":"28501:47:67"},{"nodeType":"YulAssignment","src":"28557:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"28691:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_875d0a02937cb9909e45a20585fcb051fe02c5f86d796a9b1cf43ce04fc2ba90_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"28565:124:67"},"nodeType":"YulFunctionCall","src":"28565:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"28557:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_875d0a02937cb9909e45a20585fcb051fe02c5f86d796a9b1cf43ce04fc2ba90__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"28435:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"28450:4:67","type":""}],"src":"28284:419:67"},{"body":{"nodeType":"YulBlock","src":"28880:248:67","statements":[{"nodeType":"YulAssignment","src":"28890:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28902:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"28913:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28898:3:67"},"nodeType":"YulFunctionCall","src":"28898:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"28890:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28937:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"28948:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28933:3:67"},"nodeType":"YulFunctionCall","src":"28933:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"28956:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"28962:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"28952:3:67"},"nodeType":"YulFunctionCall","src":"28952:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28926:6:67"},"nodeType":"YulFunctionCall","src":"28926:47:67"},"nodeType":"YulExpressionStatement","src":"28926:47:67"},{"nodeType":"YulAssignment","src":"28982:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"29116:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_9a60def7724db28748dda2f528e627b4b6898ecc35ff8814364e5a7e676b1567_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"28990:124:67"},"nodeType":"YulFunctionCall","src":"28990:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"28982:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_9a60def7724db28748dda2f528e627b4b6898ecc35ff8814364e5a7e676b1567__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"28860:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"28875:4:67","type":""}],"src":"28709:419:67"},{"body":{"nodeType":"YulBlock","src":"29305:248:67","statements":[{"nodeType":"YulAssignment","src":"29315:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29327:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"29338:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29323:3:67"},"nodeType":"YulFunctionCall","src":"29323:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"29315:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29362:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"29373:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29358:3:67"},"nodeType":"YulFunctionCall","src":"29358:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"29381:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"29387:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"29377:3:67"},"nodeType":"YulFunctionCall","src":"29377:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29351:6:67"},"nodeType":"YulFunctionCall","src":"29351:47:67"},"nodeType":"YulExpressionStatement","src":"29351:47:67"},{"nodeType":"YulAssignment","src":"29407:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"29541:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_c6093a9e0138c29641f4112ca84a6353e3b8189a75c60c086711495d7d1b05cf_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"29415:124:67"},"nodeType":"YulFunctionCall","src":"29415:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"29407:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_c6093a9e0138c29641f4112ca84a6353e3b8189a75c60c086711495d7d1b05cf__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"29285:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"29300:4:67","type":""}],"src":"29134:419:67"},{"body":{"nodeType":"YulBlock","src":"29730:248:67","statements":[{"nodeType":"YulAssignment","src":"29740:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29752:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"29763:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29748:3:67"},"nodeType":"YulFunctionCall","src":"29748:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"29740:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29787:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"29798:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29783:3:67"},"nodeType":"YulFunctionCall","src":"29783:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"29806:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"29812:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"29802:3:67"},"nodeType":"YulFunctionCall","src":"29802:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29776:6:67"},"nodeType":"YulFunctionCall","src":"29776:47:67"},"nodeType":"YulExpressionStatement","src":"29776:47:67"},{"nodeType":"YulAssignment","src":"29832:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"29966:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_c9a3baade484e18c7b6c7f334d58082e2c6f48547df2aecdef5e238f396eceb8_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"29840:124:67"},"nodeType":"YulFunctionCall","src":"29840:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"29832:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_c9a3baade484e18c7b6c7f334d58082e2c6f48547df2aecdef5e238f396eceb8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"29710:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"29725:4:67","type":""}],"src":"29559:419:67"},{"body":{"nodeType":"YulBlock","src":"30155:248:67","statements":[{"nodeType":"YulAssignment","src":"30165:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30177:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"30188:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30173:3:67"},"nodeType":"YulFunctionCall","src":"30173:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30165:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30212:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"30223:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30208:3:67"},"nodeType":"YulFunctionCall","src":"30208:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"30231:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"30237:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"30227:3:67"},"nodeType":"YulFunctionCall","src":"30227:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30201:6:67"},"nodeType":"YulFunctionCall","src":"30201:47:67"},"nodeType":"YulExpressionStatement","src":"30201:47:67"},{"nodeType":"YulAssignment","src":"30257:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"30391:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_cb594b582c4c4c10df3423239223a3962931d31e3d9cc15d65f361d94596911d_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"30265:124:67"},"nodeType":"YulFunctionCall","src":"30265:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30257:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_cb594b582c4c4c10df3423239223a3962931d31e3d9cc15d65f361d94596911d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30135:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30150:4:67","type":""}],"src":"29984:419:67"},{"body":{"nodeType":"YulBlock","src":"30580:248:67","statements":[{"nodeType":"YulAssignment","src":"30590:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30602:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"30613:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30598:3:67"},"nodeType":"YulFunctionCall","src":"30598:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30590:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30637:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"30648:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30633:3:67"},"nodeType":"YulFunctionCall","src":"30633:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"30656:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"30662:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"30652:3:67"},"nodeType":"YulFunctionCall","src":"30652:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30626:6:67"},"nodeType":"YulFunctionCall","src":"30626:47:67"},"nodeType":"YulExpressionStatement","src":"30626:47:67"},{"nodeType":"YulAssignment","src":"30682:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"30816:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_d33a5d2b5ed5d95cc7a9c6c198ab7dad558642e7b6ddd2bf019b8e6e207e2bb1_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"30690:124:67"},"nodeType":"YulFunctionCall","src":"30690:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30682:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_d33a5d2b5ed5d95cc7a9c6c198ab7dad558642e7b6ddd2bf019b8e6e207e2bb1__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30560:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30575:4:67","type":""}],"src":"30409:419:67"},{"body":{"nodeType":"YulBlock","src":"31005:248:67","statements":[{"nodeType":"YulAssignment","src":"31015:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31027:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"31038:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31023:3:67"},"nodeType":"YulFunctionCall","src":"31023:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31015:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31062:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"31073:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31058:3:67"},"nodeType":"YulFunctionCall","src":"31058:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"31081:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"31087:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31077:3:67"},"nodeType":"YulFunctionCall","src":"31077:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31051:6:67"},"nodeType":"YulFunctionCall","src":"31051:47:67"},"nodeType":"YulExpressionStatement","src":"31051:47:67"},{"nodeType":"YulAssignment","src":"31107:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"31241:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_d4ffc38b1bd3ce07b73162c5cd58b3f5d16fe42393d05d185bef3b883bb0a175_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"31115:124:67"},"nodeType":"YulFunctionCall","src":"31115:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31107:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_d4ffc38b1bd3ce07b73162c5cd58b3f5d16fe42393d05d185bef3b883bb0a175__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30985:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31000:4:67","type":""}],"src":"30834:419:67"},{"body":{"nodeType":"YulBlock","src":"31430:248:67","statements":[{"nodeType":"YulAssignment","src":"31440:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31452:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"31463:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31448:3:67"},"nodeType":"YulFunctionCall","src":"31448:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31440:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31487:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"31498:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31483:3:67"},"nodeType":"YulFunctionCall","src":"31483:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"31506:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"31512:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31502:3:67"},"nodeType":"YulFunctionCall","src":"31502:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31476:6:67"},"nodeType":"YulFunctionCall","src":"31476:47:67"},"nodeType":"YulExpressionStatement","src":"31476:47:67"},{"nodeType":"YulAssignment","src":"31532:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"31666:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_e9d15dd9ef51c465dc7e4a1f1786baf0f5f1727522e4d18358f6412b81e0ad73_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"31540:124:67"},"nodeType":"YulFunctionCall","src":"31540:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31532:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_e9d15dd9ef51c465dc7e4a1f1786baf0f5f1727522e4d18358f6412b81e0ad73__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31410:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31425:4:67","type":""}],"src":"31259:419:67"},{"body":{"nodeType":"YulBlock","src":"31855:248:67","statements":[{"nodeType":"YulAssignment","src":"31865:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31877:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"31888:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31873:3:67"},"nodeType":"YulFunctionCall","src":"31873:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31865:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31912:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"31923:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31908:3:67"},"nodeType":"YulFunctionCall","src":"31908:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"31931:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"31937:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31927:3:67"},"nodeType":"YulFunctionCall","src":"31927:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31901:6:67"},"nodeType":"YulFunctionCall","src":"31901:47:67"},"nodeType":"YulExpressionStatement","src":"31901:47:67"},{"nodeType":"YulAssignment","src":"31957:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"32091:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_ed3d615850988e92ac3bb7e19fc8fd4a6d0fd5efa663c85800c4ba4a146272ea_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"31965:124:67"},"nodeType":"YulFunctionCall","src":"31965:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31957:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_ed3d615850988e92ac3bb7e19fc8fd4a6d0fd5efa663c85800c4ba4a146272ea__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31835:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31850:4:67","type":""}],"src":"31684:419:67"},{"body":{"nodeType":"YulBlock","src":"32280:248:67","statements":[{"nodeType":"YulAssignment","src":"32290:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32302:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"32313:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32298:3:67"},"nodeType":"YulFunctionCall","src":"32298:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32290:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32337:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"32348:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32333:3:67"},"nodeType":"YulFunctionCall","src":"32333:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"32356:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"32362:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"32352:3:67"},"nodeType":"YulFunctionCall","src":"32352:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32326:6:67"},"nodeType":"YulFunctionCall","src":"32326:47:67"},"nodeType":"YulExpressionStatement","src":"32326:47:67"},{"nodeType":"YulAssignment","src":"32382:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"32516:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_f6afe1efc379e8204fb4d566f3cf5efe5c0e9e878fa8fd3072ffc04e712b2dae_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"32390:124:67"},"nodeType":"YulFunctionCall","src":"32390:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32382:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_f6afe1efc379e8204fb4d566f3cf5efe5c0e9e878fa8fd3072ffc04e712b2dae__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32260:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32275:4:67","type":""}],"src":"32109:419:67"},{"body":{"nodeType":"YulBlock","src":"32705:248:67","statements":[{"nodeType":"YulAssignment","src":"32715:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32727:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"32738:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32723:3:67"},"nodeType":"YulFunctionCall","src":"32723:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32715:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32762:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"32773:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32758:3:67"},"nodeType":"YulFunctionCall","src":"32758:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"32781:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"32787:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"32777:3:67"},"nodeType":"YulFunctionCall","src":"32777:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32751:6:67"},"nodeType":"YulFunctionCall","src":"32751:47:67"},"nodeType":"YulExpressionStatement","src":"32751:47:67"},{"nodeType":"YulAssignment","src":"32807:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"32941:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_f7e883759414212463f7e83fadd2b6f4fb58ed904f3a29f20bce3e92bd7c399c_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"32815:124:67"},"nodeType":"YulFunctionCall","src":"32815:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32807:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_f7e883759414212463f7e83fadd2b6f4fb58ed904f3a29f20bce3e92bd7c399c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32685:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32700:4:67","type":""}],"src":"32534:419:67"},{"body":{"nodeType":"YulBlock","src":"33130:248:67","statements":[{"nodeType":"YulAssignment","src":"33140:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33152:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"33163:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33148:3:67"},"nodeType":"YulFunctionCall","src":"33148:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33140:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33187:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"33198:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33183:3:67"},"nodeType":"YulFunctionCall","src":"33183:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"33206:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"33212:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"33202:3:67"},"nodeType":"YulFunctionCall","src":"33202:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33176:6:67"},"nodeType":"YulFunctionCall","src":"33176:47:67"},"nodeType":"YulExpressionStatement","src":"33176:47:67"},{"nodeType":"YulAssignment","src":"33232:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"33366:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_fa1a41235d50d998fd1fa31f165df15dc31bd75a237078965072481881f7d8ad_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"33240:124:67"},"nodeType":"YulFunctionCall","src":"33240:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33232:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_fa1a41235d50d998fd1fa31f165df15dc31bd75a237078965072481881f7d8ad__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33110:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33125:4:67","type":""}],"src":"32959:419:67"},{"body":{"nodeType":"YulBlock","src":"33555:248:67","statements":[{"nodeType":"YulAssignment","src":"33565:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33577:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"33588:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33573:3:67"},"nodeType":"YulFunctionCall","src":"33573:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33565:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33612:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"33623:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33608:3:67"},"nodeType":"YulFunctionCall","src":"33608:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"33631:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"33637:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"33627:3:67"},"nodeType":"YulFunctionCall","src":"33627:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33601:6:67"},"nodeType":"YulFunctionCall","src":"33601:47:67"},"nodeType":"YulExpressionStatement","src":"33601:47:67"},{"nodeType":"YulAssignment","src":"33657:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"33791:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_fdadce3169751a65fe8fe5febc7dcb4198322ee12bc3662f33fae802c9673e4b_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"33665:124:67"},"nodeType":"YulFunctionCall","src":"33665:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33657:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_fdadce3169751a65fe8fe5febc7dcb4198322ee12bc3662f33fae802c9673e4b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33535:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33550:4:67","type":""}],"src":"33384:419:67"},{"body":{"nodeType":"YulBlock","src":"33959:227:67","statements":[{"nodeType":"YulAssignment","src":"33969:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33981:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"33992:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33977:3:67"},"nodeType":"YulFunctionCall","src":"33977:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33969:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34016:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"34027:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34012:3:67"},"nodeType":"YulFunctionCall","src":"34012:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"34035:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"34041:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"34031:3:67"},"nodeType":"YulFunctionCall","src":"34031:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34005:6:67"},"nodeType":"YulFunctionCall","src":"34005:47:67"},"nodeType":"YulExpressionStatement","src":"34005:47:67"},{"nodeType":"YulAssignment","src":"34061:118:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"34165:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"34174:4:67"}],"functionName":{"name":"abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"34069:95:67"},"nodeType":"YulFunctionCall","src":"34069:110:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34061:4:67"}]}]},"name":"abi_encode_tuple_t_struct$_CBOR_$8037_memory_ptr__to_t_struct$_CBOR_$8037_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33931:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"33943:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33954:4:67","type":""}],"src":"33809:377:67"},{"body":{"nodeType":"YulBlock","src":"34296:130:67","statements":[{"nodeType":"YulAssignment","src":"34306:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34318:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"34329:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34314:3:67"},"nodeType":"YulFunctionCall","src":"34314:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34306:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"34392:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34405:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"34416:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34401:3:67"},"nodeType":"YulFunctionCall","src":"34401:17:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_fromStack_library","nodeType":"YulIdentifier","src":"34342:49:67"},"nodeType":"YulFunctionCall","src":"34342:77:67"},"nodeType":"YulExpressionStatement","src":"34342:77:67"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34268:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"34280:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"34291:4:67","type":""}],"src":"34192:234:67"},{"body":{"nodeType":"YulBlock","src":"34473:88:67","statements":[{"nodeType":"YulAssignment","src":"34483:30:67","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"34493:18:67"},"nodeType":"YulFunctionCall","src":"34493:20:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"34483:6:67"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"34542:6:67"},{"name":"size","nodeType":"YulIdentifier","src":"34550:4:67"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"34522:19:67"},"nodeType":"YulFunctionCall","src":"34522:33:67"},"nodeType":"YulExpressionStatement","src":"34522:33:67"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"34457:4:67","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"34466:6:67","type":""}],"src":"34432:129:67"},{"body":{"nodeType":"YulBlock","src":"34607:35:67","statements":[{"nodeType":"YulAssignment","src":"34617:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34633:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"34627:5:67"},"nodeType":"YulFunctionCall","src":"34627:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"34617:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"34600:6:67","type":""}],"src":"34567:75:67"},{"body":{"nodeType":"YulBlock","src":"34714:241:67","statements":[{"body":{"nodeType":"YulBlock","src":"34819:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"34821:16:67"},"nodeType":"YulFunctionCall","src":"34821:18:67"},"nodeType":"YulExpressionStatement","src":"34821:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"34791:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"34799:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"34788:2:67"},"nodeType":"YulFunctionCall","src":"34788:30:67"},"nodeType":"YulIf","src":"34785:56:67"},{"nodeType":"YulAssignment","src":"34851:37:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"34881:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"34859:21:67"},"nodeType":"YulFunctionCall","src":"34859:29:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"34851:4:67"}]},{"nodeType":"YulAssignment","src":"34925:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"34937:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"34943:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34933:3:67"},"nodeType":"YulFunctionCall","src":"34933:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"34925:4:67"}]}]},"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"34698:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"34709:4:67","type":""}],"src":"34648:307:67"},{"body":{"nodeType":"YulBlock","src":"35032:60:67","statements":[{"nodeType":"YulAssignment","src":"35042:11:67","value":{"name":"ptr","nodeType":"YulIdentifier","src":"35050:3:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"35042:4:67"}]},{"nodeType":"YulAssignment","src":"35063:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"35075:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"35080:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35071:3:67"},"nodeType":"YulFunctionCall","src":"35071:14:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"35063:4:67"}]}]},"name":"array_dataslot_t_array$_t_int128_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"35019:3:67","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"35027:4:67","type":""}],"src":"34961:131:67"},{"body":{"nodeType":"YulBlock","src":"35168:60:67","statements":[{"nodeType":"YulAssignment","src":"35178:11:67","value":{"name":"ptr","nodeType":"YulIdentifier","src":"35186:3:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"35178:4:67"}]},{"nodeType":"YulAssignment","src":"35199:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"35211:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"35216:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35207:3:67"},"nodeType":"YulFunctionCall","src":"35207:14:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"35199:4:67"}]}]},"name":"array_dataslot_t_array$_t_int32_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"35155:3:67","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"35163:4:67","type":""}],"src":"35098:130:67"},{"body":{"nodeType":"YulBlock","src":"35316:60:67","statements":[{"nodeType":"YulAssignment","src":"35326:11:67","value":{"name":"ptr","nodeType":"YulIdentifier","src":"35334:3:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"35326:4:67"}]},{"nodeType":"YulAssignment","src":"35347:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"35359:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"35364:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35355:3:67"},"nodeType":"YulFunctionCall","src":"35355:14:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"35347:4:67"}]}]},"name":"array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"35303:3:67","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"35311:4:67","type":""}],"src":"35234:142:67"},{"body":{"nodeType":"YulBlock","src":"35453:60:67","statements":[{"nodeType":"YulAssignment","src":"35463:11:67","value":{"name":"ptr","nodeType":"YulIdentifier","src":"35471:3:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"35463:4:67"}]},{"nodeType":"YulAssignment","src":"35484:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"35496:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"35501:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35492:3:67"},"nodeType":"YulFunctionCall","src":"35492:14:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"35484:4:67"}]}]},"name":"array_dataslot_t_array$_t_uint64_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"35440:3:67","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"35448:4:67","type":""}],"src":"35382:131:67"},{"body":{"nodeType":"YulBlock","src":"35592:40:67","statements":[{"nodeType":"YulAssignment","src":"35603:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"35619:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"35613:5:67"},"nodeType":"YulFunctionCall","src":"35613:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"35603:6:67"}]}]},"name":"array_length_t_array$_t_int128_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"35575:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"35585:6:67","type":""}],"src":"35519:113:67"},{"body":{"nodeType":"YulBlock","src":"35710:40:67","statements":[{"nodeType":"YulAssignment","src":"35721:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"35737:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"35731:5:67"},"nodeType":"YulFunctionCall","src":"35731:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"35721:6:67"}]}]},"name":"array_length_t_array$_t_int32_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"35693:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"35703:6:67","type":""}],"src":"35638:112:67"},{"body":{"nodeType":"YulBlock","src":"35840:40:67","statements":[{"nodeType":"YulAssignment","src":"35851:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"35867:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"35861:5:67"},"nodeType":"YulFunctionCall","src":"35861:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"35851:6:67"}]}]},"name":"array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"35823:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"35833:6:67","type":""}],"src":"35756:124:67"},{"body":{"nodeType":"YulBlock","src":"35959:40:67","statements":[{"nodeType":"YulAssignment","src":"35970:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"35986:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"35980:5:67"},"nodeType":"YulFunctionCall","src":"35980:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"35970:6:67"}]}]},"name":"array_length_t_array$_t_uint64_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"35942:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"35952:6:67","type":""}],"src":"35886:113:67"},{"body":{"nodeType":"YulBlock","src":"36063:40:67","statements":[{"nodeType":"YulAssignment","src":"36074:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"36090:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"36084:5:67"},"nodeType":"YulFunctionCall","src":"36084:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"36074:6:67"}]}]},"name":"array_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"36046:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"36056:6:67","type":""}],"src":"36005:98:67"},{"body":{"nodeType":"YulBlock","src":"36168:40:67","statements":[{"nodeType":"YulAssignment","src":"36179:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"36195:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"36189:5:67"},"nodeType":"YulFunctionCall","src":"36189:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"36179:6:67"}]}]},"name":"array_length_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"36151:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"36161:6:67","type":""}],"src":"36109:99:67"},{"body":{"nodeType":"YulBlock","src":"36288:38:67","statements":[{"nodeType":"YulAssignment","src":"36298:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"36310:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"36315:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36306:3:67"},"nodeType":"YulFunctionCall","src":"36306:14:67"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"36298:4:67"}]}]},"name":"array_nextElement_t_array$_t_int128_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"36275:3:67","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"36283:4:67","type":""}],"src":"36214:112:67"},{"body":{"nodeType":"YulBlock","src":"36405:38:67","statements":[{"nodeType":"YulAssignment","src":"36415:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"36427:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"36432:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36423:3:67"},"nodeType":"YulFunctionCall","src":"36423:14:67"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"36415:4:67"}]}]},"name":"array_nextElement_t_array$_t_int32_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"36392:3:67","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"36400:4:67","type":""}],"src":"36332:111:67"},{"body":{"nodeType":"YulBlock","src":"36534:38:67","statements":[{"nodeType":"YulAssignment","src":"36544:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"36556:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"36561:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36552:3:67"},"nodeType":"YulFunctionCall","src":"36552:14:67"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"36544:4:67"}]}]},"name":"array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"36521:3:67","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"36529:4:67","type":""}],"src":"36449:123:67"},{"body":{"nodeType":"YulBlock","src":"36652:38:67","statements":[{"nodeType":"YulAssignment","src":"36662:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"36674:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"36679:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36670:3:67"},"nodeType":"YulFunctionCall","src":"36670:14:67"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"36662:4:67"}]}]},"name":"array_nextElement_t_array$_t_uint64_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"36639:3:67","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"36647:4:67","type":""}],"src":"36578:112:67"},{"body":{"nodeType":"YulBlock","src":"36814:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"36831:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"36836:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36824:6:67"},"nodeType":"YulFunctionCall","src":"36824:19:67"},"nodeType":"YulExpressionStatement","src":"36824:19:67"},{"nodeType":"YulAssignment","src":"36852:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"36871:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"36876:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36867:3:67"},"nodeType":"YulFunctionCall","src":"36867:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"36852:11:67"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_int128_$dyn_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"36786:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"36791:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"36802:11:67","type":""}],"src":"36696:191:67"},{"body":{"nodeType":"YulBlock","src":"37010:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"37027:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"37032:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37020:6:67"},"nodeType":"YulFunctionCall","src":"37020:19:67"},"nodeType":"YulExpressionStatement","src":"37020:19:67"},{"nodeType":"YulAssignment","src":"37048:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"37067:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"37072:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37063:3:67"},"nodeType":"YulFunctionCall","src":"37063:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"37048:11:67"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_int32_$dyn_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"36982:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"36987:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"36998:11:67","type":""}],"src":"36893:190:67"},{"body":{"nodeType":"YulBlock","src":"37218:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"37235:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"37240:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37228:6:67"},"nodeType":"YulFunctionCall","src":"37228:19:67"},"nodeType":"YulExpressionStatement","src":"37228:19:67"},{"nodeType":"YulAssignment","src":"37256:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"37275:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"37280:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37271:3:67"},"nodeType":"YulFunctionCall","src":"37271:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"37256:11:67"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"37190:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"37195:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"37206:11:67","type":""}],"src":"37089:202:67"},{"body":{"nodeType":"YulBlock","src":"37415:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"37432:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"37437:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37425:6:67"},"nodeType":"YulFunctionCall","src":"37425:19:67"},"nodeType":"YulExpressionStatement","src":"37425:19:67"},{"nodeType":"YulAssignment","src":"37453:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"37472:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"37477:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37468:3:67"},"nodeType":"YulFunctionCall","src":"37468:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"37453:11:67"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_uint64_$dyn_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"37387:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"37392:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"37403:11:67","type":""}],"src":"37297:191:67"},{"body":{"nodeType":"YulBlock","src":"37597:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"37614:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"37619:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37607:6:67"},"nodeType":"YulFunctionCall","src":"37607:19:67"},"nodeType":"YulExpressionStatement","src":"37607:19:67"},{"nodeType":"YulAssignment","src":"37635:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"37654:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"37659:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37650:3:67"},"nodeType":"YulFunctionCall","src":"37650:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"37635:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"37569:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"37574:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"37585:11:67","type":""}],"src":"37494:176:67"},{"body":{"nodeType":"YulBlock","src":"37769:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"37786:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"37791:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37779:6:67"},"nodeType":"YulFunctionCall","src":"37779:19:67"},"nodeType":"YulExpressionStatement","src":"37779:19:67"},{"nodeType":"YulAssignment","src":"37807:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"37826:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"37831:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37822:3:67"},"nodeType":"YulFunctionCall","src":"37822:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"37807:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"37741:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"37746:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"37757:11:67","type":""}],"src":"37676:166:67"},{"body":{"nodeType":"YulBlock","src":"37961:34:67","statements":[{"nodeType":"YulAssignment","src":"37971:18:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"37986:3:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"37971:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"37933:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"37938:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"37949:11:67","type":""}],"src":"37848:147:67"},{"body":{"nodeType":"YulBlock","src":"38097:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"38114:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"38119:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38107:6:67"},"nodeType":"YulFunctionCall","src":"38107:19:67"},"nodeType":"YulExpressionStatement","src":"38107:19:67"},{"nodeType":"YulAssignment","src":"38135:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"38154:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"38159:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38150:3:67"},"nodeType":"YulFunctionCall","src":"38150:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"38135:11:67"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"38069:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"38074:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"38085:11:67","type":""}],"src":"38001:169:67"},{"body":{"nodeType":"YulBlock","src":"38280:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"38297:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"38302:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38290:6:67"},"nodeType":"YulFunctionCall","src":"38290:19:67"},"nodeType":"YulExpressionStatement","src":"38290:19:67"},{"nodeType":"YulAssignment","src":"38318:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"38337:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"38342:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38333:3:67"},"nodeType":"YulFunctionCall","src":"38333:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"38318:11:67"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"38252:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"38257:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"38268:11:67","type":""}],"src":"38176:177:67"},{"body":{"nodeType":"YulBlock","src":"38453:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"38470:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"38475:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38463:6:67"},"nodeType":"YulFunctionCall","src":"38463:19:67"},"nodeType":"YulExpressionStatement","src":"38463:19:67"},{"nodeType":"YulAssignment","src":"38491:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"38510:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"38515:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38506:3:67"},"nodeType":"YulFunctionCall","src":"38506:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"38491:11:67"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"38425:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"38430:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"38441:11:67","type":""}],"src":"38359:167:67"},{"body":{"nodeType":"YulBlock","src":"38576:261:67","statements":[{"nodeType":"YulAssignment","src":"38586:25:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"38609:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"38591:17:67"},"nodeType":"YulFunctionCall","src":"38591:20:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"38586:1:67"}]},{"nodeType":"YulAssignment","src":"38620:25:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"38643:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"38625:17:67"},"nodeType":"YulFunctionCall","src":"38625:20:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"38620:1:67"}]},{"body":{"nodeType":"YulBlock","src":"38783:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"38785:16:67"},"nodeType":"YulFunctionCall","src":"38785:18:67"},"nodeType":"YulExpressionStatement","src":"38785:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"38704:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"38711:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"y","nodeType":"YulIdentifier","src":"38779:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"38707:3:67"},"nodeType":"YulFunctionCall","src":"38707:74:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"38701:2:67"},"nodeType":"YulFunctionCall","src":"38701:81:67"},"nodeType":"YulIf","src":"38698:107:67"},{"nodeType":"YulAssignment","src":"38815:16:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"38826:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"38829:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38822:3:67"},"nodeType":"YulFunctionCall","src":"38822:9:67"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"38815:3:67"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"38563:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"38566:1:67","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"38572:3:67","type":""}],"src":"38532:305:67"},{"body":{"nodeType":"YulBlock","src":"38886:203:67","statements":[{"nodeType":"YulAssignment","src":"38896:24:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"38918:1:67"}],"functionName":{"name":"cleanup_t_uint32","nodeType":"YulIdentifier","src":"38901:16:67"},"nodeType":"YulFunctionCall","src":"38901:19:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"38896:1:67"}]},{"nodeType":"YulAssignment","src":"38929:24:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"38951:1:67"}],"functionName":{"name":"cleanup_t_uint32","nodeType":"YulIdentifier","src":"38934:16:67"},"nodeType":"YulFunctionCall","src":"38934:19:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"38929:1:67"}]},{"body":{"nodeType":"YulBlock","src":"39035:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"39037:16:67"},"nodeType":"YulFunctionCall","src":"39037:18:67"},"nodeType":"YulExpressionStatement","src":"39037:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"39012:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"39019:10:67","type":"","value":"0xffffffff"},{"name":"y","nodeType":"YulIdentifier","src":"39031:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"39015:3:67"},"nodeType":"YulFunctionCall","src":"39015:18:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"39009:2:67"},"nodeType":"YulFunctionCall","src":"39009:25:67"},"nodeType":"YulIf","src":"39006:51:67"},{"nodeType":"YulAssignment","src":"39067:16:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"39078:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"39081:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39074:3:67"},"nodeType":"YulFunctionCall","src":"39074:9:67"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"39067:3:67"}]}]},"name":"checked_add_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"38873:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"38876:1:67","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"38882:3:67","type":""}],"src":"38843:246:67"},{"body":{"nodeType":"YulBlock","src":"39136:344:67","statements":[{"nodeType":"YulAssignment","src":"39146:24:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"39168:1:67"}],"functionName":{"name":"cleanup_t_int256","nodeType":"YulIdentifier","src":"39151:16:67"},"nodeType":"YulFunctionCall","src":"39151:19:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"39146:1:67"}]},{"nodeType":"YulAssignment","src":"39179:24:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"39201:1:67"}],"functionName":{"name":"cleanup_t_int256","nodeType":"YulIdentifier","src":"39184:16:67"},"nodeType":"YulFunctionCall","src":"39184:19:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"39179:1:67"}]},{"body":{"nodeType":"YulBlock","src":"39225:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x12","nodeType":"YulIdentifier","src":"39227:16:67"},"nodeType":"YulFunctionCall","src":"39227:18:67"},"nodeType":"YulExpressionStatement","src":"39227:18:67"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"39222:1:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"39215:6:67"},"nodeType":"YulFunctionCall","src":"39215:9:67"},"nodeType":"YulIf","src":"39212:35:67"},{"body":{"nodeType":"YulBlock","src":"39427:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"39429:16:67"},"nodeType":"YulFunctionCall","src":"39429:18:67"},"nodeType":"YulExpressionStatement","src":"39429:18:67"}]},"condition":{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"39316:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"39319:66:67","type":"","value":"0x8000000000000000000000000000000000000000000000000000000000000000"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"39313:2:67"},"nodeType":"YulFunctionCall","src":"39313:73:67"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"39403:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"39410:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"39413:1:67","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"39406:3:67"},"nodeType":"YulFunctionCall","src":"39406:9:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"39400:2:67"},"nodeType":"YulFunctionCall","src":"39400:16:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"39296:3:67"},"nodeType":"YulFunctionCall","src":"39296:130:67"},"nodeType":"YulIf","src":"39293:156:67"},{"nodeType":"YulAssignment","src":"39459:15:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"39469:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"39472:1:67"}],"functionName":{"name":"sdiv","nodeType":"YulIdentifier","src":"39464:4:67"},"nodeType":"YulFunctionCall","src":"39464:10:67"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"39459:1:67"}]}]},"name":"checked_div_t_int256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"39125:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"39128:1:67","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"39134:1:67","type":""}],"src":"39095:385:67"},{"body":{"nodeType":"YulBlock","src":"39527:141:67","statements":[{"nodeType":"YulAssignment","src":"39537:24:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"39559:1:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"39542:16:67"},"nodeType":"YulFunctionCall","src":"39542:19:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"39537:1:67"}]},{"nodeType":"YulAssignment","src":"39570:24:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"39592:1:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"39575:16:67"},"nodeType":"YulFunctionCall","src":"39575:19:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"39570:1:67"}]},{"body":{"nodeType":"YulBlock","src":"39616:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x12","nodeType":"YulIdentifier","src":"39618:16:67"},"nodeType":"YulFunctionCall","src":"39618:18:67"},"nodeType":"YulExpressionStatement","src":"39618:18:67"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"39613:1:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"39606:6:67"},"nodeType":"YulFunctionCall","src":"39606:9:67"},"nodeType":"YulIf","src":"39603:35:67"},{"nodeType":"YulAssignment","src":"39648:14:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"39657:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"39660:1:67"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"39653:3:67"},"nodeType":"YulFunctionCall","src":"39653:9:67"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"39648:1:67"}]}]},"name":"checked_div_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"39516:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"39519:1:67","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"39525:1:67","type":""}],"src":"39486:182:67"},{"body":{"nodeType":"YulBlock","src":"39747:775:67","statements":[{"nodeType":"YulAssignment","src":"39757:15:67","value":{"name":"_power","nodeType":"YulIdentifier","src":"39766:6:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"39757:5:67"}]},{"nodeType":"YulAssignment","src":"39781:14:67","value":{"name":"_base","nodeType":"YulIdentifier","src":"39790:5:67"},"variableNames":[{"name":"base","nodeType":"YulIdentifier","src":"39781:4:67"}]},{"body":{"nodeType":"YulBlock","src":"39839:677:67","statements":[{"body":{"nodeType":"YulBlock","src":"39927:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"39929:16:67"},"nodeType":"YulFunctionCall","src":"39929:18:67"},"nodeType":"YulExpressionStatement","src":"39929:18:67"}]},"condition":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"39905:4:67"},{"arguments":[{"name":"max","nodeType":"YulIdentifier","src":"39915:3:67"},{"name":"base","nodeType":"YulIdentifier","src":"39920:4:67"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"39911:3:67"},"nodeType":"YulFunctionCall","src":"39911:14:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"39902:2:67"},"nodeType":"YulFunctionCall","src":"39902:24:67"},"nodeType":"YulIf","src":"39899:50:67"},{"body":{"nodeType":"YulBlock","src":"39994:419:67","statements":[{"nodeType":"YulAssignment","src":"40374:25:67","value":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"40387:5:67"},{"name":"base","nodeType":"YulIdentifier","src":"40394:4:67"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"40383:3:67"},"nodeType":"YulFunctionCall","src":"40383:16:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"40374:5:67"}]}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"39969:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"39979:1:67","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"39965:3:67"},"nodeType":"YulFunctionCall","src":"39965:16:67"},"nodeType":"YulIf","src":"39962:451:67"},{"nodeType":"YulAssignment","src":"40426:23:67","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"40438:4:67"},{"name":"base","nodeType":"YulIdentifier","src":"40444:4:67"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"40434:3:67"},"nodeType":"YulFunctionCall","src":"40434:15:67"},"variableNames":[{"name":"base","nodeType":"YulIdentifier","src":"40426:4:67"}]},{"nodeType":"YulAssignment","src":"40462:44:67","value":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"40497:8:67"}],"functionName":{"name":"shift_right_1_unsigned","nodeType":"YulIdentifier","src":"40474:22:67"},"nodeType":"YulFunctionCall","src":"40474:32:67"},"variableNames":[{"name":"exponent","nodeType":"YulIdentifier","src":"40462:8:67"}]}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"39815:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"39825:1:67","type":"","value":"1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"39812:2:67"},"nodeType":"YulFunctionCall","src":"39812:15:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"39828:2:67","statements":[]},"pre":{"nodeType":"YulBlock","src":"39808:3:67","statements":[]},"src":"39804:712:67"}]},"name":"checked_exp_helper","nodeType":"YulFunctionDefinition","parameters":[{"name":"_power","nodeType":"YulTypedName","src":"39702:6:67","type":""},{"name":"_base","nodeType":"YulTypedName","src":"39710:5:67","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"39717:8:67","type":""},{"name":"max","nodeType":"YulTypedName","src":"39727:3:67","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"39735:5:67","type":""},{"name":"base","nodeType":"YulTypedName","src":"39742:4:67","type":""}],"src":"39674:848:67"},{"body":{"nodeType":"YulBlock","src":"40594:219:67","statements":[{"nodeType":"YulAssignment","src":"40604:31:67","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"40630:4:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"40612:17:67"},"nodeType":"YulFunctionCall","src":"40612:23:67"},"variableNames":[{"name":"base","nodeType":"YulIdentifier","src":"40604:4:67"}]},{"nodeType":"YulAssignment","src":"40644:39:67","value":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"40674:8:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"40656:17:67"},"nodeType":"YulFunctionCall","src":"40656:27:67"},"variableNames":[{"name":"exponent","nodeType":"YulIdentifier","src":"40644:8:67"}]},{"nodeType":"YulAssignment","src":"40693:113:67","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"40723:4:67"},{"name":"exponent","nodeType":"YulIdentifier","src":"40729:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"40739:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"checked_exp_unsigned","nodeType":"YulIdentifier","src":"40702:20:67"},"nodeType":"YulFunctionCall","src":"40702:104:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"40693:5:67"}]}]},"name":"checked_exp_t_uint256_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"base","nodeType":"YulTypedName","src":"40569:4:67","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"40575:8:67","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"40588:5:67","type":""}],"src":"40528:285:67"},{"body":{"nodeType":"YulBlock","src":"40879:1013:67","statements":[{"body":{"nodeType":"YulBlock","src":"41074:20:67","statements":[{"nodeType":"YulAssignment","src":"41076:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"41085:1:67","type":"","value":"1"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"41076:5:67"}]},{"nodeType":"YulLeave","src":"41087:5:67"}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"41064:8:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"41057:6:67"},"nodeType":"YulFunctionCall","src":"41057:16:67"},"nodeType":"YulIf","src":"41054:40:67"},{"body":{"nodeType":"YulBlock","src":"41119:20:67","statements":[{"nodeType":"YulAssignment","src":"41121:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"41130:1:67","type":"","value":"0"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"41121:5:67"}]},{"nodeType":"YulLeave","src":"41132:5:67"}]},"condition":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"41113:4:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"41106:6:67"},"nodeType":"YulFunctionCall","src":"41106:12:67"},"nodeType":"YulIf","src":"41103:36:67"},{"cases":[{"body":{"nodeType":"YulBlock","src":"41249:20:67","statements":[{"nodeType":"YulAssignment","src":"41251:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"41260:1:67","type":"","value":"1"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"41251:5:67"}]},{"nodeType":"YulLeave","src":"41262:5:67"}]},"nodeType":"YulCase","src":"41242:27:67","value":{"kind":"number","nodeType":"YulLiteral","src":"41247:1:67","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"41293:176:67","statements":[{"body":{"nodeType":"YulBlock","src":"41328:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"41330:16:67"},"nodeType":"YulFunctionCall","src":"41330:18:67"},"nodeType":"YulExpressionStatement","src":"41330:18:67"}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"41313:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"41323:3:67","type":"","value":"255"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"41310:2:67"},"nodeType":"YulFunctionCall","src":"41310:17:67"},"nodeType":"YulIf","src":"41307:43:67"},{"nodeType":"YulAssignment","src":"41363:25:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"41376:1:67","type":"","value":"2"},{"name":"exponent","nodeType":"YulIdentifier","src":"41379:8:67"}],"functionName":{"name":"exp","nodeType":"YulIdentifier","src":"41372:3:67"},"nodeType":"YulFunctionCall","src":"41372:16:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"41363:5:67"}]},{"body":{"nodeType":"YulBlock","src":"41419:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"41421:16:67"},"nodeType":"YulFunctionCall","src":"41421:18:67"},"nodeType":"YulExpressionStatement","src":"41421:18:67"}]},"condition":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"41407:5:67"},{"name":"max","nodeType":"YulIdentifier","src":"41414:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"41404:2:67"},"nodeType":"YulFunctionCall","src":"41404:14:67"},"nodeType":"YulIf","src":"41401:40:67"},{"nodeType":"YulLeave","src":"41454:5:67"}]},"nodeType":"YulCase","src":"41278:191:67","value":{"kind":"number","nodeType":"YulLiteral","src":"41283:1:67","type":"","value":"2"}}],"expression":{"name":"base","nodeType":"YulIdentifier","src":"41199:4:67"},"nodeType":"YulSwitch","src":"41192:277:67"},{"body":{"nodeType":"YulBlock","src":"41601:123:67","statements":[{"nodeType":"YulAssignment","src":"41615:28:67","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"41628:4:67"},{"name":"exponent","nodeType":"YulIdentifier","src":"41634:8:67"}],"functionName":{"name":"exp","nodeType":"YulIdentifier","src":"41624:3:67"},"nodeType":"YulFunctionCall","src":"41624:19:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"41615:5:67"}]},{"body":{"nodeType":"YulBlock","src":"41674:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"41676:16:67"},"nodeType":"YulFunctionCall","src":"41676:18:67"},"nodeType":"YulExpressionStatement","src":"41676:18:67"}]},"condition":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"41662:5:67"},{"name":"max","nodeType":"YulIdentifier","src":"41669:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"41659:2:67"},"nodeType":"YulFunctionCall","src":"41659:14:67"},"nodeType":"YulIf","src":"41656:40:67"},{"nodeType":"YulLeave","src":"41709:5:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"41504:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"41510:2:67","type":"","value":"11"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"41501:2:67"},"nodeType":"YulFunctionCall","src":"41501:12:67"},{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"41518:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"41528:2:67","type":"","value":"78"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"41515:2:67"},"nodeType":"YulFunctionCall","src":"41515:16:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"41497:3:67"},"nodeType":"YulFunctionCall","src":"41497:35:67"},{"arguments":[{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"41553:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"41559:3:67","type":"","value":"307"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"41550:2:67"},"nodeType":"YulFunctionCall","src":"41550:13:67"},{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"41568:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"41578:2:67","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"41565:2:67"},"nodeType":"YulFunctionCall","src":"41565:16:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"41546:3:67"},"nodeType":"YulFunctionCall","src":"41546:36:67"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"41481:2:67"},"nodeType":"YulFunctionCall","src":"41481:111:67"},"nodeType":"YulIf","src":"41478:246:67"},{"nodeType":"YulAssignment","src":"41734:57:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"41768:1:67","type":"","value":"1"},{"name":"base","nodeType":"YulIdentifier","src":"41771:4:67"},{"name":"exponent","nodeType":"YulIdentifier","src":"41777:8:67"},{"name":"max","nodeType":"YulIdentifier","src":"41787:3:67"}],"functionName":{"name":"checked_exp_helper","nodeType":"YulIdentifier","src":"41749:18:67"},"nodeType":"YulFunctionCall","src":"41749:42:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"41734:5:67"},{"name":"base","nodeType":"YulIdentifier","src":"41741:4:67"}]},{"body":{"nodeType":"YulBlock","src":"41830:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"41832:16:67"},"nodeType":"YulFunctionCall","src":"41832:18:67"},"nodeType":"YulExpressionStatement","src":"41832:18:67"}]},"condition":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"41807:5:67"},{"arguments":[{"name":"max","nodeType":"YulIdentifier","src":"41818:3:67"},{"name":"base","nodeType":"YulIdentifier","src":"41823:4:67"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"41814:3:67"},"nodeType":"YulFunctionCall","src":"41814:14:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"41804:2:67"},"nodeType":"YulFunctionCall","src":"41804:25:67"},"nodeType":"YulIf","src":"41801:51:67"},{"nodeType":"YulAssignment","src":"41861:25:67","value":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"41874:5:67"},{"name":"base","nodeType":"YulIdentifier","src":"41881:4:67"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"41870:3:67"},"nodeType":"YulFunctionCall","src":"41870:16:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"41861:5:67"}]}]},"name":"checked_exp_unsigned","nodeType":"YulFunctionDefinition","parameters":[{"name":"base","nodeType":"YulTypedName","src":"40849:4:67","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"40855:8:67","type":""},{"name":"max","nodeType":"YulTypedName","src":"40865:3:67","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"40873:5:67","type":""}],"src":"40819:1073:67"},{"body":{"nodeType":"YulBlock","src":"41945:944:67","statements":[{"nodeType":"YulAssignment","src":"41955:24:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"41977:1:67"}],"functionName":{"name":"cleanup_t_int256","nodeType":"YulIdentifier","src":"41960:16:67"},"nodeType":"YulFunctionCall","src":"41960:19:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"41955:1:67"}]},{"nodeType":"YulAssignment","src":"41988:24:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"42010:1:67"}],"functionName":{"name":"cleanup_t_int256","nodeType":"YulIdentifier","src":"41993:16:67"},"nodeType":"YulFunctionCall","src":"41993:19:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"41988:1:67"}]},{"body":{"nodeType":"YulBlock","src":"42199:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"42201:16:67"},"nodeType":"YulFunctionCall","src":"42201:18:67"},"nodeType":"YulExpressionStatement","src":"42201:18:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"42097:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"42100:1:67","type":"","value":"0"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"42093:3:67"},"nodeType":"YulFunctionCall","src":"42093:9:67"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"42108:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"42111:1:67","type":"","value":"0"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"42104:3:67"},"nodeType":"YulFunctionCall","src":"42104:9:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"42089:3:67"},"nodeType":"YulFunctionCall","src":"42089:25:67"},{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"42119:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42126:66:67","type":"","value":"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"y","nodeType":"YulIdentifier","src":"42194:1:67"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"42122:3:67"},"nodeType":"YulFunctionCall","src":"42122:74:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"42116:2:67"},"nodeType":"YulFunctionCall","src":"42116:81:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"42085:3:67"},"nodeType":"YulFunctionCall","src":"42085:113:67"},"nodeType":"YulIf","src":"42082:139:67"},{"body":{"nodeType":"YulBlock","src":"42410:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"42412:16:67"},"nodeType":"YulFunctionCall","src":"42412:18:67"},"nodeType":"YulExpressionStatement","src":"42412:18:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"42306:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"42309:1:67","type":"","value":"0"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"42302:3:67"},"nodeType":"YulFunctionCall","src":"42302:9:67"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"42317:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"42320:1:67","type":"","value":"0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"42313:3:67"},"nodeType":"YulFunctionCall","src":"42313:9:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"42298:3:67"},"nodeType":"YulFunctionCall","src":"42298:25:67"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"42329:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42337:66:67","type":"","value":"0x8000000000000000000000000000000000000000000000000000000000000000"},{"name":"x","nodeType":"YulIdentifier","src":"42405:1:67"}],"functionName":{"name":"sdiv","nodeType":"YulIdentifier","src":"42332:4:67"},"nodeType":"YulFunctionCall","src":"42332:75:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"42325:3:67"},"nodeType":"YulFunctionCall","src":"42325:83:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"42294:3:67"},"nodeType":"YulFunctionCall","src":"42294:115:67"},"nodeType":"YulIf","src":"42291:141:67"},{"body":{"nodeType":"YulBlock","src":"42621:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"42623:16:67"},"nodeType":"YulFunctionCall","src":"42623:18:67"},"nodeType":"YulExpressionStatement","src":"42623:18:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"42517:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"42520:1:67","type":"","value":"0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"42513:3:67"},"nodeType":"YulFunctionCall","src":"42513:9:67"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"42528:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"42531:1:67","type":"","value":"0"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"42524:3:67"},"nodeType":"YulFunctionCall","src":"42524:9:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"42509:3:67"},"nodeType":"YulFunctionCall","src":"42509:25:67"},{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"42540:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42548:66:67","type":"","value":"0x8000000000000000000000000000000000000000000000000000000000000000"},{"name":"y","nodeType":"YulIdentifier","src":"42616:1:67"}],"functionName":{"name":"sdiv","nodeType":"YulIdentifier","src":"42543:4:67"},"nodeType":"YulFunctionCall","src":"42543:75:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"42536:3:67"},"nodeType":"YulFunctionCall","src":"42536:83:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"42505:3:67"},"nodeType":"YulFunctionCall","src":"42505:115:67"},"nodeType":"YulIf","src":"42502:141:67"},{"body":{"nodeType":"YulBlock","src":"42831:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"42833:16:67"},"nodeType":"YulFunctionCall","src":"42833:18:67"},"nodeType":"YulExpressionStatement","src":"42833:18:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"42727:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"42730:1:67","type":"","value":"0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"42723:3:67"},"nodeType":"YulFunctionCall","src":"42723:9:67"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"42738:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"42741:1:67","type":"","value":"0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"42734:3:67"},"nodeType":"YulFunctionCall","src":"42734:9:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"42719:3:67"},"nodeType":"YulFunctionCall","src":"42719:25:67"},{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"42750:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42758:66:67","type":"","value":"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"y","nodeType":"YulIdentifier","src":"42826:1:67"}],"functionName":{"name":"sdiv","nodeType":"YulIdentifier","src":"42753:4:67"},"nodeType":"YulFunctionCall","src":"42753:75:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"42746:3:67"},"nodeType":"YulFunctionCall","src":"42746:83:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"42715:3:67"},"nodeType":"YulFunctionCall","src":"42715:115:67"},"nodeType":"YulIf","src":"42712:141:67"},{"nodeType":"YulAssignment","src":"42863:20:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"42878:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"42881:1:67"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"42874:3:67"},"nodeType":"YulFunctionCall","src":"42874:9:67"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"42863:7:67"}]}]},"name":"checked_mul_t_int256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"41928:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"41931:1:67","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"41937:7:67","type":""}],"src":"41898:991:67"},{"body":{"nodeType":"YulBlock","src":"42941:830:67","statements":[{"nodeType":"YulAssignment","src":"42951:23:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"42972:1:67"}],"functionName":{"name":"cleanup_t_int32","nodeType":"YulIdentifier","src":"42956:15:67"},"nodeType":"YulFunctionCall","src":"42956:18:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"42951:1:67"}]},{"nodeType":"YulAssignment","src":"42983:23:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"43004:1:67"}],"functionName":{"name":"cleanup_t_int32","nodeType":"YulIdentifier","src":"42988:15:67"},"nodeType":"YulFunctionCall","src":"42988:18:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"42983:1:67"}]},{"body":{"nodeType":"YulBlock","src":"43137:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"43139:16:67"},"nodeType":"YulFunctionCall","src":"43139:18:67"},"nodeType":"YulExpressionStatement","src":"43139:18:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"43091:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"43094:1:67","type":"","value":"0"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"43087:3:67"},"nodeType":"YulFunctionCall","src":"43087:9:67"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"43102:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"43105:1:67","type":"","value":"0"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"43098:3:67"},"nodeType":"YulFunctionCall","src":"43098:9:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"43083:3:67"},"nodeType":"YulFunctionCall","src":"43083:25:67"},{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"43113:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43120:10:67","type":"","value":"0x7fffffff"},{"name":"y","nodeType":"YulIdentifier","src":"43132:1:67"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"43116:3:67"},"nodeType":"YulFunctionCall","src":"43116:18:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"43110:2:67"},"nodeType":"YulFunctionCall","src":"43110:25:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"43079:3:67"},"nodeType":"YulFunctionCall","src":"43079:57:67"},"nodeType":"YulIf","src":"43076:83:67"},{"body":{"nodeType":"YulBlock","src":"43348:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"43350:16:67"},"nodeType":"YulFunctionCall","src":"43350:18:67"},"nodeType":"YulExpressionStatement","src":"43350:18:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"43244:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"43247:1:67","type":"","value":"0"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"43240:3:67"},"nodeType":"YulFunctionCall","src":"43240:9:67"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"43255:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"43258:1:67","type":"","value":"0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"43251:3:67"},"nodeType":"YulFunctionCall","src":"43251:9:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"43236:3:67"},"nodeType":"YulFunctionCall","src":"43236:25:67"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"43267:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43275:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000"},{"name":"x","nodeType":"YulIdentifier","src":"43343:1:67"}],"functionName":{"name":"sdiv","nodeType":"YulIdentifier","src":"43270:4:67"},"nodeType":"YulFunctionCall","src":"43270:75:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"43263:3:67"},"nodeType":"YulFunctionCall","src":"43263:83:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"43232:3:67"},"nodeType":"YulFunctionCall","src":"43232:115:67"},"nodeType":"YulIf","src":"43229:141:67"},{"body":{"nodeType":"YulBlock","src":"43559:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"43561:16:67"},"nodeType":"YulFunctionCall","src":"43561:18:67"},"nodeType":"YulExpressionStatement","src":"43561:18:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"43455:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"43458:1:67","type":"","value":"0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"43451:3:67"},"nodeType":"YulFunctionCall","src":"43451:9:67"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"43466:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"43469:1:67","type":"","value":"0"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"43462:3:67"},"nodeType":"YulFunctionCall","src":"43462:9:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"43447:3:67"},"nodeType":"YulFunctionCall","src":"43447:25:67"},{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"43478:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43486:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000"},{"name":"y","nodeType":"YulIdentifier","src":"43554:1:67"}],"functionName":{"name":"sdiv","nodeType":"YulIdentifier","src":"43481:4:67"},"nodeType":"YulFunctionCall","src":"43481:75:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"43474:3:67"},"nodeType":"YulFunctionCall","src":"43474:83:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"43443:3:67"},"nodeType":"YulFunctionCall","src":"43443:115:67"},"nodeType":"YulIf","src":"43440:141:67"},{"body":{"nodeType":"YulBlock","src":"43713:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"43715:16:67"},"nodeType":"YulFunctionCall","src":"43715:18:67"},"nodeType":"YulExpressionStatement","src":"43715:18:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"43665:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"43668:1:67","type":"","value":"0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"43661:3:67"},"nodeType":"YulFunctionCall","src":"43661:9:67"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"43676:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"43679:1:67","type":"","value":"0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"43672:3:67"},"nodeType":"YulFunctionCall","src":"43672:9:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"43657:3:67"},"nodeType":"YulFunctionCall","src":"43657:25:67"},{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"43688:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43696:10:67","type":"","value":"0x7fffffff"},{"name":"y","nodeType":"YulIdentifier","src":"43708:1:67"}],"functionName":{"name":"sdiv","nodeType":"YulIdentifier","src":"43691:4:67"},"nodeType":"YulFunctionCall","src":"43691:19:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"43684:3:67"},"nodeType":"YulFunctionCall","src":"43684:27:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"43653:3:67"},"nodeType":"YulFunctionCall","src":"43653:59:67"},"nodeType":"YulIf","src":"43650:85:67"},{"nodeType":"YulAssignment","src":"43745:20:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"43760:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"43763:1:67"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"43756:3:67"},"nodeType":"YulFunctionCall","src":"43756:9:67"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"43745:7:67"}]}]},"name":"checked_mul_t_int32","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"42924:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"42927:1:67","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"42933:7:67","type":""}],"src":"42895:876:67"},{"body":{"nodeType":"YulBlock","src":"43825:300:67","statements":[{"nodeType":"YulAssignment","src":"43835:25:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"43858:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"43840:17:67"},"nodeType":"YulFunctionCall","src":"43840:20:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"43835:1:67"}]},{"nodeType":"YulAssignment","src":"43869:25:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"43892:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"43874:17:67"},"nodeType":"YulFunctionCall","src":"43874:20:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"43869:1:67"}]},{"body":{"nodeType":"YulBlock","src":"44067:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"44069:16:67"},"nodeType":"YulFunctionCall","src":"44069:18:67"},"nodeType":"YulExpressionStatement","src":"44069:18:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"43979:1:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"43972:6:67"},"nodeType":"YulFunctionCall","src":"43972:9:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"43965:6:67"},"nodeType":"YulFunctionCall","src":"43965:17:67"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"43987:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43994:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"x","nodeType":"YulIdentifier","src":"44062:1:67"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"43990:3:67"},"nodeType":"YulFunctionCall","src":"43990:74:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"43984:2:67"},"nodeType":"YulFunctionCall","src":"43984:81:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"43961:3:67"},"nodeType":"YulFunctionCall","src":"43961:105:67"},"nodeType":"YulIf","src":"43958:131:67"},{"nodeType":"YulAssignment","src":"44099:20:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"44114:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"44117:1:67"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"44110:3:67"},"nodeType":"YulFunctionCall","src":"44110:9:67"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"44099:7:67"}]}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"43808:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"43811:1:67","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"43817:7:67","type":""}],"src":"43777:348:67"},{"body":{"nodeType":"YulBlock","src":"44175:451:67","statements":[{"nodeType":"YulAssignment","src":"44185:24:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"44207:1:67"}],"functionName":{"name":"cleanup_t_int128","nodeType":"YulIdentifier","src":"44190:16:67"},"nodeType":"YulFunctionCall","src":"44190:19:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"44185:1:67"}]},{"nodeType":"YulAssignment","src":"44218:24:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"44240:1:67"}],"functionName":{"name":"cleanup_t_int128","nodeType":"YulIdentifier","src":"44223:16:67"},"nodeType":"YulFunctionCall","src":"44223:19:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"44218:1:67"}]},{"body":{"nodeType":"YulBlock","src":"44417:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"44419:16:67"},"nodeType":"YulFunctionCall","src":"44419:18:67"},"nodeType":"YulExpressionStatement","src":"44419:18:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"44325:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"44328:1:67","type":"","value":"0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"44321:3:67"},"nodeType":"YulFunctionCall","src":"44321:9:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"44314:6:67"},"nodeType":"YulFunctionCall","src":"44314:17:67"},{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"44337:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"44344:66:67","type":"","value":"0xffffffffffffffffffffffffffffffff80000000000000000000000000000000"},{"name":"y","nodeType":"YulIdentifier","src":"44412:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44340:3:67"},"nodeType":"YulFunctionCall","src":"44340:74:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"44333:3:67"},"nodeType":"YulFunctionCall","src":"44333:82:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"44310:3:67"},"nodeType":"YulFunctionCall","src":"44310:106:67"},"nodeType":"YulIf","src":"44307:132:67"},{"body":{"nodeType":"YulBlock","src":"44571:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"44573:16:67"},"nodeType":"YulFunctionCall","src":"44573:18:67"},"nodeType":"YulExpressionStatement","src":"44573:18:67"}]},"condition":{"arguments":[{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"44512:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"44515:1:67","type":"","value":"0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"44508:3:67"},"nodeType":"YulFunctionCall","src":"44508:9:67"},{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"44523:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"44530:34:67","type":"","value":"0x7fffffffffffffffffffffffffffffff"},{"name":"y","nodeType":"YulIdentifier","src":"44566:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44526:3:67"},"nodeType":"YulFunctionCall","src":"44526:42:67"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"44519:3:67"},"nodeType":"YulFunctionCall","src":"44519:50:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"44504:3:67"},"nodeType":"YulFunctionCall","src":"44504:66:67"},"nodeType":"YulIf","src":"44501:92:67"},{"nodeType":"YulAssignment","src":"44603:17:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"44615:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"44618:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"44611:3:67"},"nodeType":"YulFunctionCall","src":"44611:9:67"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"44603:4:67"}]}]},"name":"checked_sub_t_int128","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"44161:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"44164:1:67","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"44170:4:67","type":""}],"src":"44131:495:67"},{"body":{"nodeType":"YulBlock","src":"44675:425:67","statements":[{"nodeType":"YulAssignment","src":"44685:23:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"44706:1:67"}],"functionName":{"name":"cleanup_t_int32","nodeType":"YulIdentifier","src":"44690:15:67"},"nodeType":"YulFunctionCall","src":"44690:18:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"44685:1:67"}]},{"nodeType":"YulAssignment","src":"44717:23:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"44738:1:67"}],"functionName":{"name":"cleanup_t_int32","nodeType":"YulIdentifier","src":"44722:15:67"},"nodeType":"YulFunctionCall","src":"44722:18:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"44717:1:67"}]},{"body":{"nodeType":"YulBlock","src":"44915:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"44917:16:67"},"nodeType":"YulFunctionCall","src":"44917:18:67"},"nodeType":"YulExpressionStatement","src":"44917:18:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"44823:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"44826:1:67","type":"","value":"0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"44819:3:67"},"nodeType":"YulFunctionCall","src":"44819:9:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"44812:6:67"},"nodeType":"YulFunctionCall","src":"44812:17:67"},{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"44835:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"44842:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000"},{"name":"y","nodeType":"YulIdentifier","src":"44910:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44838:3:67"},"nodeType":"YulFunctionCall","src":"44838:74:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"44831:3:67"},"nodeType":"YulFunctionCall","src":"44831:82:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"44808:3:67"},"nodeType":"YulFunctionCall","src":"44808:106:67"},"nodeType":"YulIf","src":"44805:132:67"},{"body":{"nodeType":"YulBlock","src":"45045:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"45047:16:67"},"nodeType":"YulFunctionCall","src":"45047:18:67"},"nodeType":"YulExpressionStatement","src":"45047:18:67"}]},"condition":{"arguments":[{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"45010:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"45013:1:67","type":"","value":"0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"45006:3:67"},"nodeType":"YulFunctionCall","src":"45006:9:67"},{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"45021:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"45028:10:67","type":"","value":"0x7fffffff"},{"name":"y","nodeType":"YulIdentifier","src":"45040:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45024:3:67"},"nodeType":"YulFunctionCall","src":"45024:18:67"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"45017:3:67"},"nodeType":"YulFunctionCall","src":"45017:26:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"45002:3:67"},"nodeType":"YulFunctionCall","src":"45002:42:67"},"nodeType":"YulIf","src":"44999:68:67"},{"nodeType":"YulAssignment","src":"45077:17:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"45089:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"45092:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"45085:3:67"},"nodeType":"YulFunctionCall","src":"45085:9:67"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"45077:4:67"}]}]},"name":"checked_sub_t_int32","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"44661:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"44664:1:67","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"44670:4:67","type":""}],"src":"44632:468:67"},{"body":{"nodeType":"YulBlock","src":"45151:146:67","statements":[{"nodeType":"YulAssignment","src":"45161:25:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"45184:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"45166:17:67"},"nodeType":"YulFunctionCall","src":"45166:20:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"45161:1:67"}]},{"nodeType":"YulAssignment","src":"45195:25:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"45218:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"45200:17:67"},"nodeType":"YulFunctionCall","src":"45200:20:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"45195:1:67"}]},{"body":{"nodeType":"YulBlock","src":"45242:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"45244:16:67"},"nodeType":"YulFunctionCall","src":"45244:18:67"},"nodeType":"YulExpressionStatement","src":"45244:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"45236:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"45239:1:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"45233:2:67"},"nodeType":"YulFunctionCall","src":"45233:8:67"},"nodeType":"YulIf","src":"45230:34:67"},{"nodeType":"YulAssignment","src":"45274:17:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"45286:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"45289:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"45282:3:67"},"nodeType":"YulFunctionCall","src":"45282:9:67"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"45274:4:67"}]}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"45137:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"45140:1:67","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"45146:4:67","type":""}],"src":"45106:191:67"},{"body":{"nodeType":"YulBlock","src":"45347:144:67","statements":[{"nodeType":"YulAssignment","src":"45357:24:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"45379:1:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"45362:16:67"},"nodeType":"YulFunctionCall","src":"45362:19:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"45357:1:67"}]},{"nodeType":"YulAssignment","src":"45390:24:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"45412:1:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"45395:16:67"},"nodeType":"YulFunctionCall","src":"45395:19:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"45390:1:67"}]},{"body":{"nodeType":"YulBlock","src":"45436:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"45438:16:67"},"nodeType":"YulFunctionCall","src":"45438:18:67"},"nodeType":"YulExpressionStatement","src":"45438:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"45430:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"45433:1:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"45427:2:67"},"nodeType":"YulFunctionCall","src":"45427:8:67"},"nodeType":"YulIf","src":"45424:34:67"},{"nodeType":"YulAssignment","src":"45468:17:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"45480:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"45483:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"45476:3:67"},"nodeType":"YulFunctionCall","src":"45476:9:67"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"45468:4:67"}]}]},"name":"checked_sub_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"45333:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"45336:1:67","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"45342:4:67","type":""}],"src":"45303:188:67"},{"body":{"nodeType":"YulBlock","src":"45539:48:67","statements":[{"nodeType":"YulAssignment","src":"45549:32:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"45574:5:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"45567:6:67"},"nodeType":"YulFunctionCall","src":"45567:13:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"45560:6:67"},"nodeType":"YulFunctionCall","src":"45560:21:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"45549:7:67"}]}]},"name":"cleanup_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"45521:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"45531:7:67","type":""}],"src":"45497:90:67"},{"body":{"nodeType":"YulBlock","src":"45638:32:67","statements":[{"nodeType":"YulAssignment","src":"45648:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"45659:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"45648:7:67"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"45620:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"45630:7:67","type":""}],"src":"45593:77:67"},{"body":{"nodeType":"YulBlock","src":"45720:48:67","statements":[{"nodeType":"YulAssignment","src":"45730:32:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"45752:2:67","type":"","value":"15"},{"name":"value","nodeType":"YulIdentifier","src":"45756:5:67"}],"functionName":{"name":"signextend","nodeType":"YulIdentifier","src":"45741:10:67"},"nodeType":"YulFunctionCall","src":"45741:21:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"45730:7:67"}]}]},"name":"cleanup_t_int128","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"45702:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"45712:7:67","type":""}],"src":"45676:92:67"},{"body":{"nodeType":"YulBlock","src":"45818:32:67","statements":[{"nodeType":"YulAssignment","src":"45828:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"45839:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"45828:7:67"}]}]},"name":"cleanup_t_int256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"45800:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"45810:7:67","type":""}],"src":"45774:76:67"},{"body":{"nodeType":"YulBlock","src":"45899:47:67","statements":[{"nodeType":"YulAssignment","src":"45909:31:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"45931:1:67","type":"","value":"3"},{"name":"value","nodeType":"YulIdentifier","src":"45934:5:67"}],"functionName":{"name":"signextend","nodeType":"YulIdentifier","src":"45920:10:67"},"nodeType":"YulFunctionCall","src":"45920:20:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"45909:7:67"}]}]},"name":"cleanup_t_int32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"45881:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"45891:7:67","type":""}],"src":"45856:90:67"},{"body":{"nodeType":"YulBlock","src":"45997:32:67","statements":[{"nodeType":"YulAssignment","src":"46007:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"46018:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"46007:7:67"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"45979:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"45989:7:67","type":""}],"src":"45952:77:67"},{"body":{"nodeType":"YulBlock","src":"46079:49:67","statements":[{"nodeType":"YulAssignment","src":"46089:33:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"46104:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"46111:10:67","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"46100:3:67"},"nodeType":"YulFunctionCall","src":"46100:22:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"46089:7:67"}]}]},"name":"cleanup_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"46061:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"46071:7:67","type":""}],"src":"46035:93:67"},{"body":{"nodeType":"YulBlock","src":"46178:57:67","statements":[{"nodeType":"YulAssignment","src":"46188:41:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"46203:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"46210:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"46199:3:67"},"nodeType":"YulFunctionCall","src":"46199:30:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"46188:7:67"}]}]},"name":"cleanup_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"46160:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"46170:7:67","type":""}],"src":"46134:101:67"},{"body":{"nodeType":"YulBlock","src":"46284:43:67","statements":[{"nodeType":"YulAssignment","src":"46294:27:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"46309:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"46316:4:67","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"46305:3:67"},"nodeType":"YulFunctionCall","src":"46305:16:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"46294:7:67"}]}]},"name":"cleanup_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"46266:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"46276:7:67","type":""}],"src":"46241:86:67"},{"body":{"nodeType":"YulBlock","src":"46384:103:67","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"46407:3:67"},{"name":"src","nodeType":"YulIdentifier","src":"46412:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"46417:6:67"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"46394:12:67"},"nodeType":"YulFunctionCall","src":"46394:30:67"},"nodeType":"YulExpressionStatement","src":"46394:30:67"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"46465:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"46470:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46461:3:67"},"nodeType":"YulFunctionCall","src":"46461:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"46479:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"46454:6:67"},"nodeType":"YulFunctionCall","src":"46454:27:67"},"nodeType":"YulExpressionStatement","src":"46454:27:67"}]},"name":"copy_calldata_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"46366:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"46371:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"46376:6:67","type":""}],"src":"46333:154:67"},{"body":{"nodeType":"YulBlock","src":"46542:258:67","statements":[{"nodeType":"YulVariableDeclaration","src":"46552:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"46561:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"46556:1:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"46621:63:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"46646:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"46651:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46642:3:67"},"nodeType":"YulFunctionCall","src":"46642:11:67"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"46665:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"46670:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46661:3:67"},"nodeType":"YulFunctionCall","src":"46661:11:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"46655:5:67"},"nodeType":"YulFunctionCall","src":"46655:18:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"46635:6:67"},"nodeType":"YulFunctionCall","src":"46635:39:67"},"nodeType":"YulExpressionStatement","src":"46635:39:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"46582:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"46585:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"46579:2:67"},"nodeType":"YulFunctionCall","src":"46579:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"46593:19:67","statements":[{"nodeType":"YulAssignment","src":"46595:15:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"46604:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"46607:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46600:3:67"},"nodeType":"YulFunctionCall","src":"46600:10:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"46595:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"46575:3:67","statements":[]},"src":"46571:113:67"},{"body":{"nodeType":"YulBlock","src":"46718:76:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"46768:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"46773:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46764:3:67"},"nodeType":"YulFunctionCall","src":"46764:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"46782:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"46757:6:67"},"nodeType":"YulFunctionCall","src":"46757:27:67"},"nodeType":"YulExpressionStatement","src":"46757:27:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"46699:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"46702:6:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"46696:2:67"},"nodeType":"YulFunctionCall","src":"46696:13:67"},"nodeType":"YulIf","src":"46693:101:67"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"46524:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"46529:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"46534:6:67","type":""}],"src":"46493:307:67"},{"body":{"nodeType":"YulBlock","src":"46849:238:67","statements":[{"nodeType":"YulVariableDeclaration","src":"46859:58:67","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"46881:6:67"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"46911:4:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"46889:21:67"},"nodeType":"YulFunctionCall","src":"46889:27:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46877:3:67"},"nodeType":"YulFunctionCall","src":"46877:40:67"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"46863:10:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"47028:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"47030:16:67"},"nodeType":"YulFunctionCall","src":"47030:18:67"},"nodeType":"YulExpressionStatement","src":"47030:18:67"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"46971:10:67"},{"kind":"number","nodeType":"YulLiteral","src":"46983:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"46968:2:67"},"nodeType":"YulFunctionCall","src":"46968:34:67"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"47007:10:67"},{"name":"memPtr","nodeType":"YulIdentifier","src":"47019:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"47004:2:67"},"nodeType":"YulFunctionCall","src":"47004:22:67"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"46965:2:67"},"nodeType":"YulFunctionCall","src":"46965:62:67"},"nodeType":"YulIf","src":"46962:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"47066:2:67","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"47070:10:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"47059:6:67"},"nodeType":"YulFunctionCall","src":"47059:22:67"},"nodeType":"YulExpressionStatement","src":"47059:22:67"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"46835:6:67","type":""},{"name":"size","nodeType":"YulTypedName","src":"46843:4:67","type":""}],"src":"46806:281:67"},{"body":{"nodeType":"YulBlock","src":"47136:190:67","statements":[{"nodeType":"YulAssignment","src":"47146:33:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"47173:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"47155:17:67"},"nodeType":"YulFunctionCall","src":"47155:24:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"47146:5:67"}]},{"body":{"nodeType":"YulBlock","src":"47269:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"47271:16:67"},"nodeType":"YulFunctionCall","src":"47271:18:67"},"nodeType":"YulExpressionStatement","src":"47271:18:67"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"47194:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"47201:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"47191:2:67"},"nodeType":"YulFunctionCall","src":"47191:77:67"},"nodeType":"YulIf","src":"47188:103:67"},{"nodeType":"YulAssignment","src":"47300:20:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"47311:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"47318:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"47307:3:67"},"nodeType":"YulFunctionCall","src":"47307:13:67"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"47300:3:67"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"47122:5:67","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"47132:3:67","type":""}],"src":"47093:233:67"},{"body":{"nodeType":"YulBlock","src":"47374:133:67","statements":[{"nodeType":"YulAssignment","src":"47384:32:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"47410:5:67"}],"functionName":{"name":"cleanup_t_uint32","nodeType":"YulIdentifier","src":"47393:16:67"},"nodeType":"YulFunctionCall","src":"47393:23:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"47384:5:67"}]},{"body":{"nodeType":"YulBlock","src":"47450:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"47452:16:67"},"nodeType":"YulFunctionCall","src":"47452:18:67"},"nodeType":"YulExpressionStatement","src":"47452:18:67"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"47431:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"47438:10:67","type":"","value":"0xffffffff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"47428:2:67"},"nodeType":"YulFunctionCall","src":"47428:21:67"},"nodeType":"YulIf","src":"47425:47:67"},{"nodeType":"YulAssignment","src":"47481:20:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"47492:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"47499:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"47488:3:67"},"nodeType":"YulFunctionCall","src":"47488:13:67"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"47481:3:67"}]}]},"name":"increment_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"47360:5:67","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"47370:3:67","type":""}],"src":"47332:175:67"},{"body":{"nodeType":"YulBlock","src":"47555:141:67","statements":[{"nodeType":"YulAssignment","src":"47565:32:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"47591:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"47574:16:67"},"nodeType":"YulFunctionCall","src":"47574:23:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"47565:5:67"}]},{"body":{"nodeType":"YulBlock","src":"47639:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"47641:16:67"},"nodeType":"YulFunctionCall","src":"47641:18:67"},"nodeType":"YulExpressionStatement","src":"47641:18:67"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"47612:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"47619:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"47609:2:67"},"nodeType":"YulFunctionCall","src":"47609:29:67"},"nodeType":"YulIf","src":"47606:55:67"},{"nodeType":"YulAssignment","src":"47670:20:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"47681:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"47688:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"47677:3:67"},"nodeType":"YulFunctionCall","src":"47677:13:67"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"47670:3:67"}]}]},"name":"increment_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"47541:5:67","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"47551:3:67","type":""}],"src":"47513:183:67"},{"body":{"nodeType":"YulBlock","src":"47747:48:67","statements":[{"nodeType":"YulAssignment","src":"47757:32:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"47783:5:67"}],"functionName":{"name":"shift_left_248","nodeType":"YulIdentifier","src":"47768:14:67"},"nodeType":"YulFunctionCall","src":"47768:21:67"},"variableNames":[{"name":"aligned","nodeType":"YulIdentifier","src":"47757:7:67"}]}]},"name":"leftAlign_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"47729:5:67","type":""}],"returnVariables":[{"name":"aligned","nodeType":"YulTypedName","src":"47739:7:67","type":""}],"src":"47702:93:67"},{"body":{"nodeType":"YulBlock","src":"47839:188:67","statements":[{"nodeType":"YulAssignment","src":"47849:31:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"47874:5:67"}],"functionName":{"name":"cleanup_t_int32","nodeType":"YulIdentifier","src":"47858:15:67"},"nodeType":"YulFunctionCall","src":"47858:22:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"47849:5:67"}]},{"body":{"nodeType":"YulBlock","src":"47970:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"47972:16:67"},"nodeType":"YulFunctionCall","src":"47972:18:67"},"nodeType":"YulExpressionStatement","src":"47972:18:67"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"47895:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"47902:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"47892:2:67"},"nodeType":"YulFunctionCall","src":"47892:77:67"},"nodeType":"YulIf","src":"47889:103:67"},{"nodeType":"YulAssignment","src":"48001:20:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"48012:1:67","type":"","value":"0"},{"name":"value","nodeType":"YulIdentifier","src":"48015:5:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"48008:3:67"},"nodeType":"YulFunctionCall","src":"48008:13:67"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"48001:3:67"}]}]},"name":"negate_t_int32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"47825:5:67","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"47835:3:67","type":""}],"src":"47801:226:67"},{"body":{"nodeType":"YulBlock","src":"48061:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"48078:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"48081:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"48071:6:67"},"nodeType":"YulFunctionCall","src":"48071:88:67"},"nodeType":"YulExpressionStatement","src":"48071:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"48175:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"48178:4:67","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"48168:6:67"},"nodeType":"YulFunctionCall","src":"48168:15:67"},"nodeType":"YulExpressionStatement","src":"48168:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"48199:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"48202:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"48192:6:67"},"nodeType":"YulFunctionCall","src":"48192:15:67"},"nodeType":"YulExpressionStatement","src":"48192:15:67"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"48033:180:67"},{"body":{"nodeType":"YulBlock","src":"48247:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"48264:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"48267:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"48257:6:67"},"nodeType":"YulFunctionCall","src":"48257:88:67"},"nodeType":"YulExpressionStatement","src":"48257:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"48361:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"48364:4:67","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"48354:6:67"},"nodeType":"YulFunctionCall","src":"48354:15:67"},"nodeType":"YulExpressionStatement","src":"48354:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"48385:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"48388:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"48378:6:67"},"nodeType":"YulFunctionCall","src":"48378:15:67"},"nodeType":"YulExpressionStatement","src":"48378:15:67"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"48219:180:67"},{"body":{"nodeType":"YulBlock","src":"48433:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"48450:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"48453:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"48443:6:67"},"nodeType":"YulFunctionCall","src":"48443:88:67"},"nodeType":"YulExpressionStatement","src":"48443:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"48547:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"48550:4:67","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"48540:6:67"},"nodeType":"YulFunctionCall","src":"48540:15:67"},"nodeType":"YulExpressionStatement","src":"48540:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"48571:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"48574:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"48564:6:67"},"nodeType":"YulFunctionCall","src":"48564:15:67"},"nodeType":"YulExpressionStatement","src":"48564:15:67"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"48405:180:67"},{"body":{"nodeType":"YulBlock","src":"48619:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"48636:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"48639:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"48629:6:67"},"nodeType":"YulFunctionCall","src":"48629:88:67"},"nodeType":"YulExpressionStatement","src":"48629:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"48733:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"48736:4:67","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"48726:6:67"},"nodeType":"YulFunctionCall","src":"48726:15:67"},"nodeType":"YulExpressionStatement","src":"48726:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"48757:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"48760:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"48750:6:67"},"nodeType":"YulFunctionCall","src":"48750:15:67"},"nodeType":"YulExpressionStatement","src":"48750:15:67"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"48591:180:67"},{"body":{"nodeType":"YulBlock","src":"48866:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"48883:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"48886:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"48876:6:67"},"nodeType":"YulFunctionCall","src":"48876:12:67"},"nodeType":"YulExpressionStatement","src":"48876:12:67"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"48777:117:67"},{"body":{"nodeType":"YulBlock","src":"48989:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"49006:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"49009:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"48999:6:67"},"nodeType":"YulFunctionCall","src":"48999:12:67"},"nodeType":"YulExpressionStatement","src":"48999:12:67"}]},"name":"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f","nodeType":"YulFunctionDefinition","src":"48900:117:67"},{"body":{"nodeType":"YulBlock","src":"49112:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"49129:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"49132:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"49122:6:67"},"nodeType":"YulFunctionCall","src":"49122:12:67"},"nodeType":"YulExpressionStatement","src":"49122:12:67"}]},"name":"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421","nodeType":"YulFunctionDefinition","src":"49023:117:67"},{"body":{"nodeType":"YulBlock","src":"49235:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"49252:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"49255:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"49245:6:67"},"nodeType":"YulFunctionCall","src":"49245:12:67"},"nodeType":"YulExpressionStatement","src":"49245:12:67"}]},"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulFunctionDefinition","src":"49146:117:67"},{"body":{"nodeType":"YulBlock","src":"49358:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"49375:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"49378:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"49368:6:67"},"nodeType":"YulFunctionCall","src":"49368:12:67"},"nodeType":"YulExpressionStatement","src":"49368:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"49269:117:67"},{"body":{"nodeType":"YulBlock","src":"49481:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"49498:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"49501:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"49491:6:67"},"nodeType":"YulFunctionCall","src":"49491:12:67"},"nodeType":"YulExpressionStatement","src":"49491:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"49392:117:67"},{"body":{"nodeType":"YulBlock","src":"49563:54:67","statements":[{"nodeType":"YulAssignment","src":"49573:38:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"49591:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"49598:2:67","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"49587:3:67"},"nodeType":"YulFunctionCall","src":"49587:14:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"49607:2:67","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"49603:3:67"},"nodeType":"YulFunctionCall","src":"49603:7:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"49583:3:67"},"nodeType":"YulFunctionCall","src":"49583:28:67"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"49573:6:67"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"49546:5:67","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"49556:6:67","type":""}],"src":"49515:102:67"},{"body":{"nodeType":"YulBlock","src":"49666:53:67","statements":[{"nodeType":"YulAssignment","src":"49676:36:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"49701:3:67","type":"","value":"248"},{"name":"value","nodeType":"YulIdentifier","src":"49706:5:67"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"49697:3:67"},"nodeType":"YulFunctionCall","src":"49697:15:67"},"variableNames":[{"name":"newValue","nodeType":"YulIdentifier","src":"49676:8:67"}]}]},"name":"shift_left_248","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"49647:5:67","type":""}],"returnVariables":[{"name":"newValue","nodeType":"YulTypedName","src":"49657:8:67","type":""}],"src":"49623:96:67"},{"body":{"nodeType":"YulBlock","src":"49776:51:67","statements":[{"nodeType":"YulAssignment","src":"49786:34:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"49811:1:67","type":"","value":"1"},{"name":"value","nodeType":"YulIdentifier","src":"49814:5:67"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"49807:3:67"},"nodeType":"YulFunctionCall","src":"49807:13:67"},"variableNames":[{"name":"newValue","nodeType":"YulIdentifier","src":"49786:8:67"}]}]},"name":"shift_right_1_unsigned","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"49757:5:67","type":""}],"returnVariables":[{"name":"newValue","nodeType":"YulTypedName","src":"49767:8:67","type":""}],"src":"49725:102:67"},{"body":{"nodeType":"YulBlock","src":"49939:134:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"49961:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"49969:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"49957:3:67"},"nodeType":"YulFunctionCall","src":"49957:14:67"},{"hexValue":"5769746e65744275666665723a204e6f7420656e6f7567682062797465732069","kind":"string","nodeType":"YulLiteral","src":"49973:34:67","type":"","value":"WitnetBuffer: Not enough bytes i"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"49950:6:67"},"nodeType":"YulFunctionCall","src":"49950:58:67"},"nodeType":"YulExpressionStatement","src":"49950:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"50029:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"50037:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"50025:3:67"},"nodeType":"YulFunctionCall","src":"50025:15:67"},{"hexValue":"6e20627566666572207768656e207365656b696e67","kind":"string","nodeType":"YulLiteral","src":"50042:23:67","type":"","value":"n buffer when seeking"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"50018:6:67"},"nodeType":"YulFunctionCall","src":"50018:48:67"},"nodeType":"YulExpressionStatement","src":"50018:48:67"}]},"name":"store_literal_in_memory_176e0278706c18b0f8b18b90e4c6a39b596c662775310463aa4a908b1de17758","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"49931:6:67","type":""}],"src":"49833:240:67"},{"body":{"nodeType":"YulBlock","src":"50185:202:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"50207:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"50215:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"50203:3:67"},"nodeType":"YulFunctionCall","src":"50203:14:67"},{"hexValue":"5769746e65744465636f6465724c69623a20547269656420746f207265616420","kind":"string","nodeType":"YulLiteral","src":"50219:34:67","type":"","value":"WitnetDecoderLib: Tried to read "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"50196:6:67"},"nodeType":"YulFunctionCall","src":"50196:58:67"},"nodeType":"YulExpressionStatement","src":"50196:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"50275:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"50283:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"50271:3:67"},"nodeType":"YulFunctionCall","src":"50271:15:67"},{"hexValue":"6120606669786564602076616c75652066726f6d2061206057542e43424f5260","kind":"string","nodeType":"YulLiteral","src":"50288:34:67","type":"","value":"a `fixed` value from a `WT.CBOR`"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"50264:6:67"},"nodeType":"YulFunctionCall","src":"50264:59:67"},"nodeType":"YulExpressionStatement","src":"50264:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"50344:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"50352:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"50340:3:67"},"nodeType":"YulFunctionCall","src":"50340:15:67"},{"hexValue":"2077697468206d616a6f725479706520213d2037","kind":"string","nodeType":"YulLiteral","src":"50357:22:67","type":"","value":" with majorType != 7"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"50333:6:67"},"nodeType":"YulFunctionCall","src":"50333:47:67"},"nodeType":"YulExpressionStatement","src":"50333:47:67"}]},"name":"store_literal_in_memory_285621fe75046b25304c843ac968cca285ae3e6ef8abb770c7120426284fcb4e","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"50177:6:67","type":""}],"src":"50079:308:67"},{"body":{"nodeType":"YulBlock","src":"50499:199:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"50521:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"50529:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"50517:3:67"},"nodeType":"YulFunctionCall","src":"50517:14:67"},{"hexValue":"5769746e65744465636f6465724c69623a20547269656420746f207265616420","kind":"string","nodeType":"YulLiteral","src":"50533:34:67","type":"","value":"WitnetDecoderLib: Tried to read "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"50510:6:67"},"nodeType":"YulFunctionCall","src":"50510:58:67"},"nodeType":"YulExpressionStatement","src":"50510:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"50589:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"50597:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"50585:3:67"},"nodeType":"YulFunctionCall","src":"50585:15:67"},{"hexValue":"6075696e743634602066726f6d206120605769746e65742e43424f5260207769","kind":"string","nodeType":"YulLiteral","src":"50602:34:67","type":"","value":"`uint64` from a `Witnet.CBOR` wi"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"50578:6:67"},"nodeType":"YulFunctionCall","src":"50578:59:67"},"nodeType":"YulExpressionStatement","src":"50578:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"50658:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"50666:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"50654:3:67"},"nodeType":"YulFunctionCall","src":"50654:15:67"},{"hexValue":"7468206d616a6f725479706520213d2030","kind":"string","nodeType":"YulLiteral","src":"50671:19:67","type":"","value":"th majorType != 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"50647:6:67"},"nodeType":"YulFunctionCall","src":"50647:44:67"},"nodeType":"YulExpressionStatement","src":"50647:44:67"}]},"name":"store_literal_in_memory_3375c6645e382185e0fe278f193075512d535b9f2ca7e1b37510b35efdd2bcc0","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"50491:6:67","type":""}],"src":"50393:305:67"},{"body":{"nodeType":"YulBlock","src":"50810:191:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"50832:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"50840:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"50828:3:67"},"nodeType":"YulFunctionCall","src":"50828:14:67"},{"hexValue":"5769746e65744275666665723a20547269656420746f20726561642066726f6d","kind":"string","nodeType":"YulLiteral","src":"50844:34:67","type":"","value":"WitnetBuffer: Tried to read from"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"50821:6:67"},"nodeType":"YulFunctionCall","src":"50821:58:67"},"nodeType":"YulExpressionStatement","src":"50821:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"50900:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"50908:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"50896:3:67"},"nodeType":"YulFunctionCall","src":"50896:15:67"},{"hexValue":"206120636f6e73756d65642042756666657220286d75737420726577696e6420","kind":"string","nodeType":"YulLiteral","src":"50913:34:67","type":"","value":" a consumed Buffer (must rewind "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"50889:6:67"},"nodeType":"YulFunctionCall","src":"50889:59:67"},"nodeType":"YulExpressionStatement","src":"50889:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"50969:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"50977:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"50965:3:67"},"nodeType":"YulFunctionCall","src":"50965:15:67"},{"hexValue":"697420666972737429","kind":"string","nodeType":"YulLiteral","src":"50982:11:67","type":"","value":"it first)"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"50958:6:67"},"nodeType":"YulFunctionCall","src":"50958:36:67"},"nodeType":"YulExpressionStatement","src":"50958:36:67"}]},"name":"store_literal_in_memory_41357bbf50a90e645d713b09dbcf193b280250cde8009c0b4d3449c28ea5d804","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"50802:6:67","type":""}],"src":"50704:297:67"},{"body":{"nodeType":"YulBlock","src":"51113:202:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"51135:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"51143:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"51131:3:67"},"nodeType":"YulFunctionCall","src":"51131:14:67"},{"hexValue":"5769746e65744465636f6465724c69623a20496e76616c6964206c656e677468","kind":"string","nodeType":"YulLiteral","src":"51147:34:67","type":"","value":"WitnetDecoderLib: Invalid length"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"51124:6:67"},"nodeType":"YulFunctionCall","src":"51124:58:67"},"nodeType":"YulExpressionStatement","src":"51124:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"51203:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"51211:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"51199:3:67"},"nodeType":"YulFunctionCall","src":"51199:15:67"},{"hexValue":"20656e636f64696e6720286e6f6e2d6578697374656e74206164646974696f6e","kind":"string","nodeType":"YulLiteral","src":"51216:34:67","type":"","value":" encoding (non-existent addition"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"51192:6:67"},"nodeType":"YulFunctionCall","src":"51192:59:67"},"nodeType":"YulExpressionStatement","src":"51192:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"51272:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"51280:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"51268:3:67"},"nodeType":"YulFunctionCall","src":"51268:15:67"},{"hexValue":"616c496e666f726d6174696f6e2076616c756529","kind":"string","nodeType":"YulLiteral","src":"51285:22:67","type":"","value":"alInformation value)"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"51261:6:67"},"nodeType":"YulFunctionCall","src":"51261:47:67"},"nodeType":"YulExpressionStatement","src":"51261:47:67"}]},"name":"store_literal_in_memory_6f8489a006fc2ddb7b8db45a240c2e1340f979031aa674bc2c0d9a032007f865","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"51105:6:67","type":""}],"src":"51007:308:67"},{"body":{"nodeType":"YulBlock","src":"51427:134:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"51449:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"51457:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"51445:3:67"},"nodeType":"YulFunctionCall","src":"51445:14:67"},{"hexValue":"5769746e65744275666665723a204e6f7420656e6f7567682062797465732069","kind":"string","nodeType":"YulLiteral","src":"51461:34:67","type":"","value":"WitnetBuffer: Not enough bytes i"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"51438:6:67"},"nodeType":"YulFunctionCall","src":"51438:58:67"},"nodeType":"YulExpressionStatement","src":"51438:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"51517:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"51525:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"51513:3:67"},"nodeType":"YulFunctionCall","src":"51513:15:67"},{"hexValue":"6e20627566666572207768656e2072656164696e67","kind":"string","nodeType":"YulLiteral","src":"51530:23:67","type":"","value":"n buffer when reading"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"51506:6:67"},"nodeType":"YulFunctionCall","src":"51506:48:67"},"nodeType":"YulExpressionStatement","src":"51506:48:67"}]},"name":"store_literal_in_memory_76a21b1d3f42fbbea0475f624e30017f9081c603496816db3d90283ad65ae271","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"51419:6:67","type":""}],"src":"51321:240:67"},{"body":{"nodeType":"YulBlock","src":"51673:183:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"51695:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"51703:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"51691:3:67"},"nodeType":"YulFunctionCall","src":"51691:14:67"},{"hexValue":"5769746e65744465636f6465724c69623a20496e646566696e6974652d6c656e","kind":"string","nodeType":"YulLiteral","src":"51707:34:67","type":"","value":"WitnetDecoderLib: Indefinite-len"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"51684:6:67"},"nodeType":"YulFunctionCall","src":"51684:58:67"},"nodeType":"YulExpressionStatement","src":"51684:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"51763:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"51771:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"51759:3:67"},"nodeType":"YulFunctionCall","src":"51759:15:67"},{"hexValue":"6774682043424f522061727261797320617265206e6f7420737570706f727465","kind":"string","nodeType":"YulLiteral","src":"51776:34:67","type":"","value":"gth CBOR arrays are not supporte"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"51752:6:67"},"nodeType":"YulFunctionCall","src":"51752:59:67"},"nodeType":"YulExpressionStatement","src":"51752:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"51832:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"51840:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"51828:3:67"},"nodeType":"YulFunctionCall","src":"51828:15:67"},{"hexValue":"64","kind":"string","nodeType":"YulLiteral","src":"51845:3:67","type":"","value":"d"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"51821:6:67"},"nodeType":"YulFunctionCall","src":"51821:28:67"},"nodeType":"YulExpressionStatement","src":"51821:28:67"}]},"name":"store_literal_in_memory_875d0a02937cb9909e45a20585fcb051fe02c5f86d796a9b1cf43ce04fc2ba90","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"51665:6:67","type":""}],"src":"51567:289:67"},{"body":{"nodeType":"YulBlock","src":"51968:205:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"51990:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"51998:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"51986:3:67"},"nodeType":"YulFunctionCall","src":"51986:14:67"},{"hexValue":"5769746e65744465636f6465724c69623a20547269656420746f207265616420","kind":"string","nodeType":"YulLiteral","src":"52002:34:67","type":"","value":"WitnetDecoderLib: Tried to read "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"51979:6:67"},"nodeType":"YulFunctionCall","src":"51979:58:67"},"nodeType":"YulExpressionStatement","src":"51979:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"52058:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"52066:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52054:3:67"},"nodeType":"YulFunctionCall","src":"52054:15:67"},{"hexValue":"612060626f6f6c602076616c75652066726f6d206120605769746e65742e4342","kind":"string","nodeType":"YulLiteral","src":"52071:34:67","type":"","value":"a `bool` value from a `Witnet.CB"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"52047:6:67"},"nodeType":"YulFunctionCall","src":"52047:59:67"},"nodeType":"YulExpressionStatement","src":"52047:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"52127:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"52135:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52123:3:67"},"nodeType":"YulFunctionCall","src":"52123:15:67"},{"hexValue":"4f52602077697468206d616a6f725479706520213d2037","kind":"string","nodeType":"YulLiteral","src":"52140:25:67","type":"","value":"OR` with majorType != 7"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"52116:6:67"},"nodeType":"YulFunctionCall","src":"52116:50:67"},"nodeType":"YulExpressionStatement","src":"52116:50:67"}]},"name":"store_literal_in_memory_9a60def7724db28748dda2f528e627b4b6898ecc35ff8814364e5a7e676b1567","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"51960:6:67","type":""}],"src":"51862:311:67"},{"body":{"nodeType":"YulBlock","src":"52285:201:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"52307:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"52315:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52303:3:67"},"nodeType":"YulFunctionCall","src":"52303:14:67"},{"hexValue":"5769746e65744465636f6465724c69623a20547269656420746f207265616420","kind":"string","nodeType":"YulLiteral","src":"52319:34:67","type":"","value":"WitnetDecoderLib: Tried to read "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"52296:6:67"},"nodeType":"YulFunctionCall","src":"52296:58:67"},"nodeType":"YulExpressionStatement","src":"52296:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"52375:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"52383:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52371:3:67"},"nodeType":"YulFunctionCall","src":"52371:15:67"},{"hexValue":"60696e743132385b5d602066726f6d206120605769746e65742e43424f526020","kind":"string","nodeType":"YulLiteral","src":"52388:34:67","type":"","value":"`int128[]` from a `Witnet.CBOR` "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"52364:6:67"},"nodeType":"YulFunctionCall","src":"52364:59:67"},"nodeType":"YulExpressionStatement","src":"52364:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"52444:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"52452:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52440:3:67"},"nodeType":"YulFunctionCall","src":"52440:15:67"},{"hexValue":"77697468206d616a6f725479706520213d2034","kind":"string","nodeType":"YulLiteral","src":"52457:21:67","type":"","value":"with majorType != 4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"52433:6:67"},"nodeType":"YulFunctionCall","src":"52433:46:67"},"nodeType":"YulExpressionStatement","src":"52433:46:67"}]},"name":"store_literal_in_memory_c6093a9e0138c29641f4112ca84a6353e3b8189a75c60c086711495d7d1b05cf","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"52277:6:67","type":""}],"src":"52179:307:67"},{"body":{"nodeType":"YulBlock","src":"52598:124:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"52620:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"52628:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52616:3:67"},"nodeType":"YulFunctionCall","src":"52616:14:67"},{"hexValue":"5769746e65744465636f6465724c69623a20496e76616c696420696e64656669","kind":"string","nodeType":"YulLiteral","src":"52632:34:67","type":"","value":"WitnetDecoderLib: Invalid indefi"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"52609:6:67"},"nodeType":"YulFunctionCall","src":"52609:58:67"},"nodeType":"YulExpressionStatement","src":"52609:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"52688:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"52696:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52684:3:67"},"nodeType":"YulFunctionCall","src":"52684:15:67"},{"hexValue":"6e697465206c656e677468","kind":"string","nodeType":"YulLiteral","src":"52701:13:67","type":"","value":"nite length"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"52677:6:67"},"nodeType":"YulFunctionCall","src":"52677:38:67"},"nodeType":"YulExpressionStatement","src":"52677:38:67"}]},"name":"store_literal_in_memory_c9a3baade484e18c7b6c7f334d58082e2c6f48547df2aecdef5e238f396eceb8","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"52590:6:67","type":""}],"src":"52492:230:67"},{"body":{"nodeType":"YulBlock","src":"52834:141:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"52856:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"52864:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52852:3:67"},"nodeType":"YulFunctionCall","src":"52852:14:67"},{"hexValue":"5769746e65744465636f6465724c69623a20466f756e6420656d707479206275","kind":"string","nodeType":"YulLiteral","src":"52868:34:67","type":"","value":"WitnetDecoderLib: Found empty bu"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"52845:6:67"},"nodeType":"YulFunctionCall","src":"52845:58:67"},"nodeType":"YulExpressionStatement","src":"52845:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"52924:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"52932:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52920:3:67"},"nodeType":"YulFunctionCall","src":"52920:15:67"},{"hexValue":"66666572207768656e2070617273696e672043424f522076616c7565","kind":"string","nodeType":"YulLiteral","src":"52937:30:67","type":"","value":"ffer when parsing CBOR value"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"52913:6:67"},"nodeType":"YulFunctionCall","src":"52913:55:67"},"nodeType":"YulExpressionStatement","src":"52913:55:67"}]},"name":"store_literal_in_memory_cb594b582c4c4c10df3423239223a3962931d31e3d9cc15d65f361d94596911d","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"52826:6:67","type":""}],"src":"52728:247:67"},{"body":{"nodeType":"YulBlock","src":"53087:201:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"53109:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"53117:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53105:3:67"},"nodeType":"YulFunctionCall","src":"53105:14:67"},{"hexValue":"5769746e65744465636f6465724c69623a20547269656420746f207265616420","kind":"string","nodeType":"YulLiteral","src":"53121:34:67","type":"","value":"WitnetDecoderLib: Tried to read "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"53098:6:67"},"nodeType":"YulFunctionCall","src":"53098:58:67"},"nodeType":"YulExpressionStatement","src":"53098:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"53177:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"53185:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53173:3:67"},"nodeType":"YulFunctionCall","src":"53173:15:67"},{"hexValue":"6075696e7436345b5d602066726f6d206120605769746e65742e43424f526020","kind":"string","nodeType":"YulLiteral","src":"53190:34:67","type":"","value":"`uint64[]` from a `Witnet.CBOR` "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"53166:6:67"},"nodeType":"YulFunctionCall","src":"53166:59:67"},"nodeType":"YulExpressionStatement","src":"53166:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"53246:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"53254:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53242:3:67"},"nodeType":"YulFunctionCall","src":"53242:15:67"},{"hexValue":"77697468206d616a6f725479706520213d2034","kind":"string","nodeType":"YulLiteral","src":"53259:21:67","type":"","value":"with majorType != 4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"53235:6:67"},"nodeType":"YulFunctionCall","src":"53235:46:67"},"nodeType":"YulExpressionStatement","src":"53235:46:67"}]},"name":"store_literal_in_memory_d33a5d2b5ed5d95cc7a9c6c198ab7dad558642e7b6ddd2bf019b8e6e207e2bb1","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"53079:6:67","type":""}],"src":"52981:307:67"},{"body":{"nodeType":"YulBlock","src":"53400:122:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"53422:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"53430:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53418:3:67"},"nodeType":"YulFunctionCall","src":"53418:14:67"},{"hexValue":"5769746e65744465636f6465724c69623a20496e76616c69642043424f52206d","kind":"string","nodeType":"YulLiteral","src":"53434:34:67","type":"","value":"WitnetDecoderLib: Invalid CBOR m"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"53411:6:67"},"nodeType":"YulFunctionCall","src":"53411:58:67"},"nodeType":"YulExpressionStatement","src":"53411:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"53490:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"53498:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53486:3:67"},"nodeType":"YulFunctionCall","src":"53486:15:67"},{"hexValue":"616a6f722074797065","kind":"string","nodeType":"YulLiteral","src":"53503:11:67","type":"","value":"ajor type"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"53479:6:67"},"nodeType":"YulFunctionCall","src":"53479:36:67"},"nodeType":"YulExpressionStatement","src":"53479:36:67"}]},"name":"store_literal_in_memory_d4ffc38b1bd3ce07b73162c5cd58b3f5d16fe42393d05d185bef3b883bb0a175","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"53392:6:67","type":""}],"src":"53294:228:67"},{"body":{"nodeType":"YulBlock","src":"53634:210:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"53656:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"53664:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53652:3:67"},"nodeType":"YulFunctionCall","src":"53652:14:67"},{"hexValue":"5769746e65744465636f6465724c69623a20547269656420746f207265616420","kind":"string","nodeType":"YulLiteral","src":"53668:34:67","type":"","value":"WitnetDecoderLib: Tried to read "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"53645:6:67"},"nodeType":"YulFunctionCall","src":"53645:58:67"},"nodeType":"YulExpressionStatement","src":"53645:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"53724:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"53732:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53720:3:67"},"nodeType":"YulFunctionCall","src":"53720:15:67"},{"hexValue":"60626f6f6c602066726f6d206120605769746e65742e43424f52602077697468","kind":"string","nodeType":"YulLiteral","src":"53737:34:67","type":"","value":"`bool` from a `Witnet.CBOR` with"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"53713:6:67"},"nodeType":"YulFunctionCall","src":"53713:59:67"},"nodeType":"YulExpressionStatement","src":"53713:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"53793:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"53801:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53789:3:67"},"nodeType":"YulFunctionCall","src":"53789:15:67"},{"hexValue":"206c656e20646966666572656e74207468616e203230206f72203231","kind":"string","nodeType":"YulLiteral","src":"53806:30:67","type":"","value":" len different than 20 or 21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"53782:6:67"},"nodeType":"YulFunctionCall","src":"53782:55:67"},"nodeType":"YulExpressionStatement","src":"53782:55:67"}]},"name":"store_literal_in_memory_e9d15dd9ef51c465dc7e4a1f1786baf0f5f1727522e4d18358f6412b81e0ad73","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"53626:6:67","type":""}],"src":"53528:316:67"},{"body":{"nodeType":"YulBlock","src":"53956:114:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"53978:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"53986:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53974:3:67"},"nodeType":"YulFunctionCall","src":"53974:14:67"},{"hexValue":"5769746e65744275666665723a2043616e6e6f7420636f707920302062797465","kind":"string","nodeType":"YulLiteral","src":"53990:34:67","type":"","value":"WitnetBuffer: Cannot copy 0 byte"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"53967:6:67"},"nodeType":"YulFunctionCall","src":"53967:58:67"},"nodeType":"YulExpressionStatement","src":"53967:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"54046:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"54054:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"54042:3:67"},"nodeType":"YulFunctionCall","src":"54042:15:67"},{"hexValue":"73","kind":"string","nodeType":"YulLiteral","src":"54059:3:67","type":"","value":"s"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"54035:6:67"},"nodeType":"YulFunctionCall","src":"54035:28:67"},"nodeType":"YulExpressionStatement","src":"54035:28:67"}]},"name":"store_literal_in_memory_ed3d615850988e92ac3bb7e19fc8fd4a6d0fd5efa663c85800c4ba4a146272ea","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"53948:6:67","type":""}],"src":"53850:220:67"},{"body":{"nodeType":"YulBlock","src":"54182:205:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"54204:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"54212:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"54200:3:67"},"nodeType":"YulFunctionCall","src":"54200:14:67"},{"hexValue":"5769746e65744465636f6465724c69623a20547269656420746f207265616420","kind":"string","nodeType":"YulLiteral","src":"54216:34:67","type":"","value":"WitnetDecoderLib: Tried to read "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"54193:6:67"},"nodeType":"YulFunctionCall","src":"54193:58:67"},"nodeType":"YulExpressionStatement","src":"54193:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"54272:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"54280:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"54268:3:67"},"nodeType":"YulFunctionCall","src":"54268:15:67"},{"hexValue":"60696e74313238602066726f6d206120605769746e65742e43424f5260207769","kind":"string","nodeType":"YulLiteral","src":"54285:34:67","type":"","value":"`int128` from a `Witnet.CBOR` wi"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"54261:6:67"},"nodeType":"YulFunctionCall","src":"54261:59:67"},"nodeType":"YulExpressionStatement","src":"54261:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"54341:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"54349:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"54337:3:67"},"nodeType":"YulFunctionCall","src":"54337:15:67"},{"hexValue":"7468206d616a6f7254797065206e6f742030206f722031","kind":"string","nodeType":"YulLiteral","src":"54354:25:67","type":"","value":"th majorType not 0 or 1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"54330:6:67"},"nodeType":"YulFunctionCall","src":"54330:50:67"},"nodeType":"YulExpressionStatement","src":"54330:50:67"}]},"name":"store_literal_in_memory_f6afe1efc379e8204fb4d566f3cf5efe5c0e9e878fa8fd3072ffc04e712b2dae","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"54174:6:67","type":""}],"src":"54076:311:67"},{"body":{"nodeType":"YulBlock","src":"54499:201:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"54521:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"54529:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"54517:3:67"},"nodeType":"YulFunctionCall","src":"54517:14:67"},{"hexValue":"5769746e65744465636f6465724c69623a20547269656420746f207265616420","kind":"string","nodeType":"YulLiteral","src":"54533:34:67","type":"","value":"WitnetDecoderLib: Tried to read "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"54510:6:67"},"nodeType":"YulFunctionCall","src":"54510:58:67"},"nodeType":"YulExpressionStatement","src":"54510:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"54589:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"54597:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"54585:3:67"},"nodeType":"YulFunctionCall","src":"54585:15:67"},{"hexValue":"60737472696e675b5d602066726f6d206120605769746e65742e43424f526020","kind":"string","nodeType":"YulLiteral","src":"54602:34:67","type":"","value":"`string[]` from a `Witnet.CBOR` "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"54578:6:67"},"nodeType":"YulFunctionCall","src":"54578:59:67"},"nodeType":"YulExpressionStatement","src":"54578:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"54658:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"54666:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"54654:3:67"},"nodeType":"YulFunctionCall","src":"54654:15:67"},{"hexValue":"77697468206d616a6f725479706520213d2034","kind":"string","nodeType":"YulLiteral","src":"54671:21:67","type":"","value":"with majorType != 4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"54647:6:67"},"nodeType":"YulFunctionCall","src":"54647:46:67"},"nodeType":"YulExpressionStatement","src":"54647:46:67"}]},"name":"store_literal_in_memory_f7e883759414212463f7e83fadd2b6f4fb58ed904f3a29f20bce3e92bd7c399c","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"54491:6:67","type":""}],"src":"54393:307:67"},{"body":{"nodeType":"YulBlock","src":"54812:209:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"54834:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"54842:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"54830:3:67"},"nodeType":"YulFunctionCall","src":"54830:14:67"},{"hexValue":"5769746e65744465636f6465724c69623a20547269656420746f207265616420","kind":"string","nodeType":"YulLiteral","src":"54846:34:67","type":"","value":"WitnetDecoderLib: Tried to read "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"54823:6:67"},"nodeType":"YulFunctionCall","src":"54823:58:67"},"nodeType":"YulExpressionStatement","src":"54823:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"54902:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"54910:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"54898:3:67"},"nodeType":"YulFunctionCall","src":"54898:15:67"},{"hexValue":"6066697865643136602066726f6d2061206057542e43424f5260207769746820","kind":"string","nodeType":"YulLiteral","src":"54915:34:67","type":"","value":"`fixed16` from a `WT.CBOR` with "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"54891:6:67"},"nodeType":"YulFunctionCall","src":"54891:59:67"},"nodeType":"YulExpressionStatement","src":"54891:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"54971:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"54979:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"54967:3:67"},"nodeType":"YulFunctionCall","src":"54967:15:67"},{"hexValue":"6164646974696f6e616c496e666f726d6174696f6e20213d203235","kind":"string","nodeType":"YulLiteral","src":"54984:29:67","type":"","value":"additionalInformation != 25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"54960:6:67"},"nodeType":"YulFunctionCall","src":"54960:54:67"},"nodeType":"YulExpressionStatement","src":"54960:54:67"}]},"name":"store_literal_in_memory_fa1a41235d50d998fd1fa31f165df15dc31bd75a237078965072481881f7d8ad","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"54804:6:67","type":""}],"src":"54706:315:67"},{"body":{"nodeType":"YulBlock","src":"55133:124:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"55155:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"55163:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"55151:3:67"},"nodeType":"YulFunctionCall","src":"55151:14:67"},{"hexValue":"5769746e65744275666665723a20496e7465676572206f766572666c6f772077","kind":"string","nodeType":"YulLiteral","src":"55167:34:67","type":"","value":"WitnetBuffer: Integer overflow w"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"55144:6:67"},"nodeType":"YulFunctionCall","src":"55144:58:67"},"nodeType":"YulExpressionStatement","src":"55144:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"55223:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"55231:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"55219:3:67"},"nodeType":"YulFunctionCall","src":"55219:15:67"},{"hexValue":"68656e207365656b696e67","kind":"string","nodeType":"YulLiteral","src":"55236:13:67","type":"","value":"hen seeking"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"55212:6:67"},"nodeType":"YulFunctionCall","src":"55212:38:67"},"nodeType":"YulExpressionStatement","src":"55212:38:67"}]},"name":"store_literal_in_memory_fdadce3169751a65fe8fe5febc7dcb4198322ee12bc3662f33fae802c9673e4b","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"55125:6:67","type":""}],"src":"55027:230:67"},{"body":{"nodeType":"YulBlock","src":"55305:78:67","statements":[{"body":{"nodeType":"YulBlock","src":"55361:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"55370:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"55373:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"55363:6:67"},"nodeType":"YulFunctionCall","src":"55363:12:67"},"nodeType":"YulExpressionStatement","src":"55363:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"55328:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"55352:5:67"}],"functionName":{"name":"cleanup_t_uint32","nodeType":"YulIdentifier","src":"55335:16:67"},"nodeType":"YulFunctionCall","src":"55335:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"55325:2:67"},"nodeType":"YulFunctionCall","src":"55325:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"55318:6:67"},"nodeType":"YulFunctionCall","src":"55318:42:67"},"nodeType":"YulIf","src":"55315:62:67"}]},"name":"validator_revert_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"55298:5:67","type":""}],"src":"55263:120:67"},{"body":{"nodeType":"YulBlock","src":"55431:78:67","statements":[{"body":{"nodeType":"YulBlock","src":"55487:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"55496:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"55499:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"55489:6:67"},"nodeType":"YulFunctionCall","src":"55489:12:67"},"nodeType":"YulExpressionStatement","src":"55489:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"55454:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"55478:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"55461:16:67"},"nodeType":"YulFunctionCall","src":"55461:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"55451:2:67"},"nodeType":"YulFunctionCall","src":"55451:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"55444:6:67"},"nodeType":"YulFunctionCall","src":"55444:42:67"},"nodeType":"YulIf","src":"55441:62:67"}]},"name":"validator_revert_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"55424:5:67","type":""}],"src":"55389:120:67"},{"body":{"nodeType":"YulBlock","src":"55556:77:67","statements":[{"body":{"nodeType":"YulBlock","src":"55611:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"55620:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"55623:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"55613:6:67"},"nodeType":"YulFunctionCall","src":"55613:12:67"},"nodeType":"YulExpressionStatement","src":"55613:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"55579:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"55602:5:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"55586:15:67"},"nodeType":"YulFunctionCall","src":"55586:22:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"55576:2:67"},"nodeType":"YulFunctionCall","src":"55576:33:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"55569:6:67"},"nodeType":"YulFunctionCall","src":"55569:41:67"},"nodeType":"YulIf","src":"55566:61:67"}]},"name":"validator_revert_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"55549:5:67","type":""}],"src":"55515:118:67"}]},"contents":"{\n\n    function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n        mstore(array, length)\n        let dst := add(array, 0x20)\n        if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n        copy_calldata_to_memory(src, dst, length)\n    }\n\n    // bytes\n    function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := calldataload(offset)\n        array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n    }\n\n    // struct Witnet.Buffer\n    function abi_decode_t_struct$_Buffer_$8042_memory_ptr(headStart, end) -> value {\n        if slt(sub(end, headStart), 0x40) { revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() }\n        value := allocate_memory(0x40)\n\n        {\n            // data\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() }\n\n            mstore(add(value, 0x00), abi_decode_t_bytes_memory_ptr(add(headStart, offset), end))\n\n        }\n\n        {\n            // cursor\n\n            let offset := 32\n\n            mstore(add(value, 0x20), abi_decode_t_uint32(add(headStart, offset), end))\n\n        }\n\n    }\n\n    // struct Witnet.CBOR\n    function abi_decode_t_struct$_CBOR_$8037_memory_ptr(headStart, end) -> value {\n        if slt(sub(end, headStart), 0xc0) { revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() }\n        value := allocate_memory(0xc0)\n\n        {\n            // buffer\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() }\n\n            mstore(add(value, 0x00), abi_decode_t_struct$_Buffer_$8042_memory_ptr(add(headStart, offset), end))\n\n        }\n\n        {\n            // initialByte\n\n            let offset := 32\n\n            mstore(add(value, 0x20), abi_decode_t_uint8(add(headStart, offset), end))\n\n        }\n\n        {\n            // majorType\n\n            let offset := 64\n\n            mstore(add(value, 0x40), abi_decode_t_uint8(add(headStart, offset), end))\n\n        }\n\n        {\n            // additionalInformation\n\n            let offset := 96\n\n            mstore(add(value, 0x60), abi_decode_t_uint8(add(headStart, offset), end))\n\n        }\n\n        {\n            // len\n\n            let offset := 128\n\n            mstore(add(value, 0x80), abi_decode_t_uint64(add(headStart, offset), end))\n\n        }\n\n        {\n            // tag\n\n            let offset := 160\n\n            mstore(add(value, 0xa0), abi_decode_t_uint64(add(headStart, offset), end))\n\n        }\n\n    }\n\n    function abi_decode_t_uint32(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint32(value)\n    }\n\n    function abi_decode_t_uint64(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint64(value)\n    }\n\n    function abi_decode_t_uint8(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint8(value)\n    }\n\n    function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_struct$_Buffer_$8042_memory_ptr(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_struct$_Buffer_$8042_memory_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_struct$_CBOR_$8037_memory_ptr(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_struct$_CBOR_$8037_memory_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_encodeUpdatedPos_t_int128_to_t_int128_library(value0, pos) -> updatedPos {\n        abi_encode_t_int128_to_t_int128_library(value0, pos)\n        updatedPos := add(pos, 0x20)\n    }\n\n    function abi_encodeUpdatedPos_t_int32_to_t_int32_library(value0, pos) -> updatedPos {\n        abi_encode_t_int32_to_t_int32_library(value0, pos)\n        updatedPos := add(pos, 0x20)\n    }\n\n    function abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr_library(value0, pos) -> updatedPos {\n        updatedPos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_library(value0, pos)\n    }\n\n    function abi_encodeUpdatedPos_t_uint64_to_t_uint64_library(value0, pos) -> updatedPos {\n        abi_encode_t_uint64_to_t_uint64_library(value0, pos)\n        updatedPos := add(pos, 0x20)\n    }\n\n    // int128[] -> int128[]\n    function abi_encode_t_array$_t_int128_$dyn_memory_ptr_to_t_array$_t_int128_$dyn_memory_ptr_fromStack_library(value, pos)  -> end  {\n        let length := array_length_t_array$_t_int128_$dyn_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_array$_t_int128_$dyn_memory_ptr_fromStack_library(pos, length)\n        let baseRef := array_dataslot_t_array$_t_int128_$dyn_memory_ptr(value)\n        let srcPtr := baseRef\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n            let elementValue0 := mload(srcPtr)\n            pos := abi_encodeUpdatedPos_t_int128_to_t_int128_library(elementValue0, pos)\n            srcPtr := array_nextElement_t_array$_t_int128_$dyn_memory_ptr(srcPtr)\n        }\n        end := pos\n    }\n\n    // int32[] -> int32[]\n    function abi_encode_t_array$_t_int32_$dyn_memory_ptr_to_t_array$_t_int32_$dyn_memory_ptr_fromStack_library(value, pos)  -> end  {\n        let length := array_length_t_array$_t_int32_$dyn_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_array$_t_int32_$dyn_memory_ptr_fromStack_library(pos, length)\n        let baseRef := array_dataslot_t_array$_t_int32_$dyn_memory_ptr(value)\n        let srcPtr := baseRef\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n            let elementValue0 := mload(srcPtr)\n            pos := abi_encodeUpdatedPos_t_int32_to_t_int32_library(elementValue0, pos)\n            srcPtr := array_nextElement_t_array$_t_int32_$dyn_memory_ptr(srcPtr)\n        }\n        end := pos\n    }\n\n    // string[] -> string[]\n    function abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack_library(value, pos)  -> end  {\n        let length := array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack_library(pos, length)\n        let headStart := pos\n        let tail := add(pos, mul(length, 0x20))\n        let baseRef := array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value)\n        let srcPtr := baseRef\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, sub(tail, headStart))\n            let elementValue0 := mload(srcPtr)\n            tail := abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr_library(elementValue0, tail)\n            srcPtr := array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr(srcPtr)\n            pos := add(pos, 0x20)\n        }\n        pos := tail\n        end := pos\n    }\n\n    // uint64[] -> uint64[]\n    function abi_encode_t_array$_t_uint64_$dyn_memory_ptr_to_t_array$_t_uint64_$dyn_memory_ptr_fromStack_library(value, pos)  -> end  {\n        let length := array_length_t_array$_t_uint64_$dyn_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_array$_t_uint64_$dyn_memory_ptr_fromStack_library(pos, length)\n        let baseRef := array_dataslot_t_array$_t_uint64_$dyn_memory_ptr(value)\n        let srcPtr := baseRef\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n            let elementValue0 := mload(srcPtr)\n            pos := abi_encodeUpdatedPos_t_uint64_to_t_uint64_library(elementValue0, pos)\n            srcPtr := array_nextElement_t_array$_t_uint64_$dyn_memory_ptr(srcPtr)\n        }\n        end := pos\n    }\n\n    function abi_encode_t_bool_to_t_bool_fromStack_library(value, pos) {\n        mstore(pos, cleanup_t_bool(value))\n    }\n\n    function abi_encode_t_bytes32_to_t_bytes32_fromStack_library(value, pos) {\n        mstore(pos, cleanup_t_bytes32(value))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_library(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_library(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, length)\n    }\n\n    function abi_encode_t_int128_to_t_int128_fromStack_library(value, pos) {\n        mstore(pos, cleanup_t_int128(value))\n    }\n\n    function abi_encode_t_int128_to_t_int128_library(value, pos) {\n        mstore(pos, cleanup_t_int128(value))\n    }\n\n    function abi_encode_t_int32_to_t_int32_fromStack_library(value, pos) {\n        mstore(pos, cleanup_t_int32(value))\n    }\n\n    function abi_encode_t_int32_to_t_int32_library(value, pos) {\n        mstore(pos, cleanup_t_int32(value))\n    }\n\n    function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack_library(value, pos) -> end {\n        let length := array_length_t_string_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_library(value, pos) -> end {\n        let length := array_length_t_string_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_library(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_stringliteral_176e0278706c18b0f8b18b90e4c6a39b596c662775310463aa4a908b1de17758_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 53)\n        store_literal_in_memory_176e0278706c18b0f8b18b90e4c6a39b596c662775310463aa4a908b1de17758(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_285621fe75046b25304c843ac968cca285ae3e6ef8abb770c7120426284fcb4e_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 84)\n        store_literal_in_memory_285621fe75046b25304c843ac968cca285ae3e6ef8abb770c7120426284fcb4e(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_3375c6645e382185e0fe278f193075512d535b9f2ca7e1b37510b35efdd2bcc0_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 81)\n        store_literal_in_memory_3375c6645e382185e0fe278f193075512d535b9f2ca7e1b37510b35efdd2bcc0(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_41357bbf50a90e645d713b09dbcf193b280250cde8009c0b4d3449c28ea5d804_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 73)\n        store_literal_in_memory_41357bbf50a90e645d713b09dbcf193b280250cde8009c0b4d3449c28ea5d804(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_6f8489a006fc2ddb7b8db45a240c2e1340f979031aa674bc2c0d9a032007f865_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 84)\n        store_literal_in_memory_6f8489a006fc2ddb7b8db45a240c2e1340f979031aa674bc2c0d9a032007f865(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_76a21b1d3f42fbbea0475f624e30017f9081c603496816db3d90283ad65ae271_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 53)\n        store_literal_in_memory_76a21b1d3f42fbbea0475f624e30017f9081c603496816db3d90283ad65ae271(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_875d0a02937cb9909e45a20585fcb051fe02c5f86d796a9b1cf43ce04fc2ba90_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 65)\n        store_literal_in_memory_875d0a02937cb9909e45a20585fcb051fe02c5f86d796a9b1cf43ce04fc2ba90(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_9a60def7724db28748dda2f528e627b4b6898ecc35ff8814364e5a7e676b1567_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 87)\n        store_literal_in_memory_9a60def7724db28748dda2f528e627b4b6898ecc35ff8814364e5a7e676b1567(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_c6093a9e0138c29641f4112ca84a6353e3b8189a75c60c086711495d7d1b05cf_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 83)\n        store_literal_in_memory_c6093a9e0138c29641f4112ca84a6353e3b8189a75c60c086711495d7d1b05cf(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_c9a3baade484e18c7b6c7f334d58082e2c6f48547df2aecdef5e238f396eceb8_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 43)\n        store_literal_in_memory_c9a3baade484e18c7b6c7f334d58082e2c6f48547df2aecdef5e238f396eceb8(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_cb594b582c4c4c10df3423239223a3962931d31e3d9cc15d65f361d94596911d_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 60)\n        store_literal_in_memory_cb594b582c4c4c10df3423239223a3962931d31e3d9cc15d65f361d94596911d(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_d33a5d2b5ed5d95cc7a9c6c198ab7dad558642e7b6ddd2bf019b8e6e207e2bb1_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 83)\n        store_literal_in_memory_d33a5d2b5ed5d95cc7a9c6c198ab7dad558642e7b6ddd2bf019b8e6e207e2bb1(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_d4ffc38b1bd3ce07b73162c5cd58b3f5d16fe42393d05d185bef3b883bb0a175_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n        store_literal_in_memory_d4ffc38b1bd3ce07b73162c5cd58b3f5d16fe42393d05d185bef3b883bb0a175(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_e9d15dd9ef51c465dc7e4a1f1786baf0f5f1727522e4d18358f6412b81e0ad73_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 92)\n        store_literal_in_memory_e9d15dd9ef51c465dc7e4a1f1786baf0f5f1727522e4d18358f6412b81e0ad73(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_ed3d615850988e92ac3bb7e19fc8fd4a6d0fd5efa663c85800c4ba4a146272ea_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n        store_literal_in_memory_ed3d615850988e92ac3bb7e19fc8fd4a6d0fd5efa663c85800c4ba4a146272ea(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_f6afe1efc379e8204fb4d566f3cf5efe5c0e9e878fa8fd3072ffc04e712b2dae_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 87)\n        store_literal_in_memory_f6afe1efc379e8204fb4d566f3cf5efe5c0e9e878fa8fd3072ffc04e712b2dae(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_f7e883759414212463f7e83fadd2b6f4fb58ed904f3a29f20bce3e92bd7c399c_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 83)\n        store_literal_in_memory_f7e883759414212463f7e83fadd2b6f4fb58ed904f3a29f20bce3e92bd7c399c(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_fa1a41235d50d998fd1fa31f165df15dc31bd75a237078965072481881f7d8ad_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 91)\n        store_literal_in_memory_fa1a41235d50d998fd1fa31f165df15dc31bd75a237078965072481881f7d8ad(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_fdadce3169751a65fe8fe5febc7dcb4198322ee12bc3662f33fae802c9673e4b_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 43)\n        store_literal_in_memory_fdadce3169751a65fe8fe5febc7dcb4198322ee12bc3662f33fae802c9673e4b(pos)\n        end := add(pos, 64)\n    }\n\n    // struct Witnet.Buffer -> struct Witnet.Buffer\n    function abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr_library(value, pos)  -> end  {\n        let tail := add(pos, 0x40)\n\n        {\n            // data\n\n            let memberValue0 := mload(add(value, 0x00))\n\n            mstore(add(pos, 0x00), sub(tail, pos))\n            tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_library(memberValue0, tail)\n\n        }\n\n        {\n            // cursor\n\n            let memberValue0 := mload(add(value, 0x20))\n            abi_encode_t_uint32_to_t_uint32_library(memberValue0, add(pos, 0x20))\n        }\n\n        end := tail\n    }\n\n    // struct Witnet.CBOR -> struct Witnet.CBOR\n    function abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_fromStack_library(value, pos)  -> end  {\n        let tail := add(pos, 0xc0)\n\n        {\n            // buffer\n\n            let memberValue0 := mload(add(value, 0x00))\n\n            mstore(add(pos, 0x00), sub(tail, pos))\n            tail := abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr_library(memberValue0, tail)\n\n        }\n\n        {\n            // initialByte\n\n            let memberValue0 := mload(add(value, 0x20))\n            abi_encode_t_uint8_to_t_uint8_library(memberValue0, add(pos, 0x20))\n        }\n\n        {\n            // majorType\n\n            let memberValue0 := mload(add(value, 0x40))\n            abi_encode_t_uint8_to_t_uint8_library(memberValue0, add(pos, 0x40))\n        }\n\n        {\n            // additionalInformation\n\n            let memberValue0 := mload(add(value, 0x60))\n            abi_encode_t_uint8_to_t_uint8_library(memberValue0, add(pos, 0x60))\n        }\n\n        {\n            // len\n\n            let memberValue0 := mload(add(value, 0x80))\n            abi_encode_t_uint64_to_t_uint64_library(memberValue0, add(pos, 0x80))\n        }\n\n        {\n            // tag\n\n            let memberValue0 := mload(add(value, 0xa0))\n            abi_encode_t_uint64_to_t_uint64_library(memberValue0, add(pos, 0xa0))\n        }\n\n        end := tail\n    }\n\n    function abi_encode_t_uint32_to_t_uint32_library(value, pos) {\n        mstore(pos, cleanup_t_uint32(value))\n    }\n\n    function abi_encode_t_uint64_to_t_uint64_fromStack_library(value, pos) {\n        mstore(pos, cleanup_t_uint64(value))\n    }\n\n    function abi_encode_t_uint64_to_t_uint64_library(value, pos) {\n        mstore(pos, cleanup_t_uint64(value))\n    }\n\n    function abi_encode_t_uint8_to_t_uint8_library(value, pos) {\n        mstore(pos, cleanup_t_uint8(value))\n    }\n\n    function abi_encode_t_uint8_to_t_uint8_nonPadded_inplace_fromStack(value, pos) {\n        mstore(pos, leftAlign_t_uint8(cleanup_t_uint8(value)))\n    }\n\n    function abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n        pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value1,  pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_packed_t_bytes_memory_ptr_t_uint8__to_t_bytes_memory_ptr_t_uint8__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n        pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        abi_encode_t_uint8_to_t_uint8_nonPadded_inplace_fromStack(value1,  pos)\n        pos := add(pos, 1)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_t_array$_t_int128_$dyn_memory_ptr__to_t_array$_t_int128_$dyn_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_array$_t_int128_$dyn_memory_ptr_to_t_array$_t_int128_$dyn_memory_ptr_fromStack_library(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_array$_t_int32_$dyn_memory_ptr__to_t_array$_t_int32_$dyn_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_array$_t_int32_$dyn_memory_ptr_to_t_array$_t_int32_$dyn_memory_ptr_fromStack_library(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack_library(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_array$_t_uint64_$dyn_memory_ptr__to_t_array$_t_uint64_$dyn_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_array$_t_uint64_$dyn_memory_ptr_to_t_array$_t_uint64_$dyn_memory_ptr_fromStack_library(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_bool_to_t_bool_fromStack_library(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_bytes32_to_t_bytes32_fromStack_library(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_int128__to_t_int128__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_int128_to_t_int128_fromStack_library(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_int32__to_t_int32__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_int32_to_t_int32_fromStack_library(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack_library(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_176e0278706c18b0f8b18b90e4c6a39b596c662775310463aa4a908b1de17758__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_176e0278706c18b0f8b18b90e4c6a39b596c662775310463aa4a908b1de17758_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_285621fe75046b25304c843ac968cca285ae3e6ef8abb770c7120426284fcb4e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_285621fe75046b25304c843ac968cca285ae3e6ef8abb770c7120426284fcb4e_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_3375c6645e382185e0fe278f193075512d535b9f2ca7e1b37510b35efdd2bcc0__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_3375c6645e382185e0fe278f193075512d535b9f2ca7e1b37510b35efdd2bcc0_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_41357bbf50a90e645d713b09dbcf193b280250cde8009c0b4d3449c28ea5d804__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_41357bbf50a90e645d713b09dbcf193b280250cde8009c0b4d3449c28ea5d804_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_6f8489a006fc2ddb7b8db45a240c2e1340f979031aa674bc2c0d9a032007f865__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_6f8489a006fc2ddb7b8db45a240c2e1340f979031aa674bc2c0d9a032007f865_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_76a21b1d3f42fbbea0475f624e30017f9081c603496816db3d90283ad65ae271__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_76a21b1d3f42fbbea0475f624e30017f9081c603496816db3d90283ad65ae271_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_875d0a02937cb9909e45a20585fcb051fe02c5f86d796a9b1cf43ce04fc2ba90__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_875d0a02937cb9909e45a20585fcb051fe02c5f86d796a9b1cf43ce04fc2ba90_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_9a60def7724db28748dda2f528e627b4b6898ecc35ff8814364e5a7e676b1567__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_9a60def7724db28748dda2f528e627b4b6898ecc35ff8814364e5a7e676b1567_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_c6093a9e0138c29641f4112ca84a6353e3b8189a75c60c086711495d7d1b05cf__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_c6093a9e0138c29641f4112ca84a6353e3b8189a75c60c086711495d7d1b05cf_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_c9a3baade484e18c7b6c7f334d58082e2c6f48547df2aecdef5e238f396eceb8__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_c9a3baade484e18c7b6c7f334d58082e2c6f48547df2aecdef5e238f396eceb8_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_cb594b582c4c4c10df3423239223a3962931d31e3d9cc15d65f361d94596911d__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_cb594b582c4c4c10df3423239223a3962931d31e3d9cc15d65f361d94596911d_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_d33a5d2b5ed5d95cc7a9c6c198ab7dad558642e7b6ddd2bf019b8e6e207e2bb1__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_d33a5d2b5ed5d95cc7a9c6c198ab7dad558642e7b6ddd2bf019b8e6e207e2bb1_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_d4ffc38b1bd3ce07b73162c5cd58b3f5d16fe42393d05d185bef3b883bb0a175__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_d4ffc38b1bd3ce07b73162c5cd58b3f5d16fe42393d05d185bef3b883bb0a175_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_e9d15dd9ef51c465dc7e4a1f1786baf0f5f1727522e4d18358f6412b81e0ad73__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_e9d15dd9ef51c465dc7e4a1f1786baf0f5f1727522e4d18358f6412b81e0ad73_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_ed3d615850988e92ac3bb7e19fc8fd4a6d0fd5efa663c85800c4ba4a146272ea__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_ed3d615850988e92ac3bb7e19fc8fd4a6d0fd5efa663c85800c4ba4a146272ea_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_f6afe1efc379e8204fb4d566f3cf5efe5c0e9e878fa8fd3072ffc04e712b2dae__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_f6afe1efc379e8204fb4d566f3cf5efe5c0e9e878fa8fd3072ffc04e712b2dae_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_f7e883759414212463f7e83fadd2b6f4fb58ed904f3a29f20bce3e92bd7c399c__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_f7e883759414212463f7e83fadd2b6f4fb58ed904f3a29f20bce3e92bd7c399c_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_fa1a41235d50d998fd1fa31f165df15dc31bd75a237078965072481881f7d8ad__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_fa1a41235d50d998fd1fa31f165df15dc31bd75a237078965072481881f7d8ad_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_fdadce3169751a65fe8fe5febc7dcb4198322ee12bc3662f33fae802c9673e4b__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_fdadce3169751a65fe8fe5febc7dcb4198322ee12bc3662f33fae802c9673e4b_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_struct$_CBOR_$8037_memory_ptr__to_t_struct$_CBOR_$8037_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_fromStack_library(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_uint64_to_t_uint64_fromStack_library(value0,  add(headStart, 0))\n\n    }\n\n    function allocate_memory(size) -> memPtr {\n        memPtr := allocate_unbounded()\n        finalize_allocation(memPtr, size)\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := round_up_to_mul_of_32(length)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_dataslot_t_array$_t_int128_$dyn_memory_ptr(ptr) -> data {\n        data := ptr\n\n        data := add(ptr, 0x20)\n\n    }\n\n    function array_dataslot_t_array$_t_int32_$dyn_memory_ptr(ptr) -> data {\n        data := ptr\n\n        data := add(ptr, 0x20)\n\n    }\n\n    function array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr(ptr) -> data {\n        data := ptr\n\n        data := add(ptr, 0x20)\n\n    }\n\n    function array_dataslot_t_array$_t_uint64_$dyn_memory_ptr(ptr) -> data {\n        data := ptr\n\n        data := add(ptr, 0x20)\n\n    }\n\n    function array_length_t_array$_t_int128_$dyn_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_length_t_array$_t_int32_$dyn_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_length_t_array$_t_uint64_$dyn_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_length_t_bytes_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_length_t_string_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_nextElement_t_array$_t_int128_$dyn_memory_ptr(ptr) -> next {\n        next := add(ptr, 0x20)\n    }\n\n    function array_nextElement_t_array$_t_int32_$dyn_memory_ptr(ptr) -> next {\n        next := add(ptr, 0x20)\n    }\n\n    function array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr(ptr) -> next {\n        next := add(ptr, 0x20)\n    }\n\n    function array_nextElement_t_array$_t_uint64_$dyn_memory_ptr(ptr) -> next {\n        next := add(ptr, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_array$_t_int128_$dyn_memory_ptr_fromStack_library(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_array$_t_int32_$dyn_memory_ptr_fromStack_library(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack_library(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_array$_t_uint64_$dyn_memory_ptr_fromStack_library(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_library(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n        updated_pos := pos\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_library(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function checked_add_t_uint256(x, y) -> sum {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        // overflow, if x > (maxValue - y)\n        if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n        sum := add(x, y)\n    }\n\n    function checked_add_t_uint32(x, y) -> sum {\n        x := cleanup_t_uint32(x)\n        y := cleanup_t_uint32(y)\n\n        // overflow, if x > (maxValue - y)\n        if gt(x, sub(0xffffffff, y)) { panic_error_0x11() }\n\n        sum := add(x, y)\n    }\n\n    function checked_div_t_int256(x, y) -> r {\n        x := cleanup_t_int256(x)\n        y := cleanup_t_int256(y)\n        if iszero(y) { panic_error_0x12() }\n\n        // overflow for minVal / -1\n        if and(\n            eq(x, 0x8000000000000000000000000000000000000000000000000000000000000000),\n            eq(y, sub(0, 1))\n        ) { panic_error_0x11() }\n\n        r := sdiv(x, y)\n    }\n\n    function checked_div_t_uint64(x, y) -> r {\n        x := cleanup_t_uint64(x)\n        y := cleanup_t_uint64(y)\n        if iszero(y) { panic_error_0x12() }\n\n        r := div(x, y)\n    }\n\n    function checked_exp_helper(_power, _base, exponent, max) -> power, base {\n        power := _power\n        base  := _base\n        for { } gt(exponent, 1) {}\n        {\n            // overflow check for base * base\n            if gt(base, div(max, base)) { panic_error_0x11() }\n            if and(exponent, 1)\n            {\n                // No checks for power := mul(power, base) needed, because the check\n                // for base * base above is sufficient, since:\n                // |power| <= base (proof by induction) and thus:\n                // |power * base| <= base * base <= max <= |min| (for signed)\n                // (this is equally true for signed and unsigned exp)\n                power := mul(power, base)\n            }\n            base := mul(base, base)\n            exponent := shift_right_1_unsigned(exponent)\n        }\n    }\n\n    function checked_exp_t_uint256_t_uint256(base, exponent) -> power {\n        base := cleanup_t_uint256(base)\n        exponent := cleanup_t_uint256(exponent)\n\n        power := checked_exp_unsigned(base, exponent, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n\n    }\n\n    function checked_exp_unsigned(base, exponent, max) -> power {\n        // This function currently cannot be inlined because of the\n        // \"leave\" statements. We have to improve the optimizer.\n\n        // Note that 0**0 == 1\n        if iszero(exponent) { power := 1 leave }\n        if iszero(base) { power := 0 leave }\n\n        // Specializations for small bases\n        switch base\n        // 0 is handled above\n        case 1 { power := 1 leave }\n        case 2\n        {\n            if gt(exponent, 255) { panic_error_0x11() }\n            power := exp(2, exponent)\n            if gt(power, max) { panic_error_0x11() }\n            leave\n        }\n        if or(\n            and(lt(base, 11), lt(exponent, 78)),\n            and(lt(base, 307), lt(exponent, 32))\n        )\n        {\n            power := exp(base, exponent)\n            if gt(power, max) { panic_error_0x11() }\n            leave\n        }\n\n        power, base := checked_exp_helper(1, base, exponent, max)\n\n        if gt(power, div(max, base)) { panic_error_0x11() }\n        power := mul(power, base)\n    }\n\n    function checked_mul_t_int256(x, y) -> product {\n        x := cleanup_t_int256(x)\n        y := cleanup_t_int256(y)\n\n        // overflow, if x > 0, y > 0 and x > (maxValue / y)\n        if and(and(sgt(x, 0), sgt(y, 0)), gt(x, div(0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y))) { panic_error_0x11() }\n        // underflow, if x > 0, y < 0 and y < (minValue / x)\n        if and(and(sgt(x, 0), slt(y, 0)), slt(y, sdiv(0x8000000000000000000000000000000000000000000000000000000000000000, x))) { panic_error_0x11() }\n        // underflow, if x < 0, y > 0 and x < (minValue / y)\n        if and(and(slt(x, 0), sgt(y, 0)), slt(x, sdiv(0x8000000000000000000000000000000000000000000000000000000000000000, y))) { panic_error_0x11() }\n        // overflow, if x < 0, y < 0 and x < (maxValue / y)\n        if and(and(slt(x, 0), slt(y, 0)), slt(x, sdiv(0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y))) { panic_error_0x11() }\n\n        product := mul(x, y)\n    }\n\n    function checked_mul_t_int32(x, y) -> product {\n        x := cleanup_t_int32(x)\n        y := cleanup_t_int32(y)\n\n        // overflow, if x > 0, y > 0 and x > (maxValue / y)\n        if and(and(sgt(x, 0), sgt(y, 0)), gt(x, div(0x7fffffff, y))) { panic_error_0x11() }\n        // underflow, if x > 0, y < 0 and y < (minValue / x)\n        if and(and(sgt(x, 0), slt(y, 0)), slt(y, sdiv(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000, x))) { panic_error_0x11() }\n        // underflow, if x < 0, y > 0 and x < (minValue / y)\n        if and(and(slt(x, 0), sgt(y, 0)), slt(x, sdiv(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000, y))) { panic_error_0x11() }\n        // overflow, if x < 0, y < 0 and x < (maxValue / y)\n        if and(and(slt(x, 0), slt(y, 0)), slt(x, sdiv(0x7fffffff, y))) { panic_error_0x11() }\n\n        product := mul(x, y)\n    }\n\n    function checked_mul_t_uint256(x, y) -> product {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        // overflow, if x != 0 and y > (maxValue / x)\n        if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n        product := mul(x, y)\n    }\n\n    function checked_sub_t_int128(x, y) -> diff {\n        x := cleanup_t_int128(x)\n        y := cleanup_t_int128(y)\n\n        // underflow, if y >= 0 and x < (minValue + y)\n        if and(iszero(slt(y, 0)), slt(x, add(0xffffffffffffffffffffffffffffffff80000000000000000000000000000000, y))) { panic_error_0x11() }\n        // overflow, if y < 0 and x > (maxValue + y)\n        if and(slt(y, 0), sgt(x, add(0x7fffffffffffffffffffffffffffffff, y))) { panic_error_0x11() }\n\n        diff := sub(x, y)\n    }\n\n    function checked_sub_t_int32(x, y) -> diff {\n        x := cleanup_t_int32(x)\n        y := cleanup_t_int32(y)\n\n        // underflow, if y >= 0 and x < (minValue + y)\n        if and(iszero(slt(y, 0)), slt(x, add(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000, y))) { panic_error_0x11() }\n        // overflow, if y < 0 and x > (maxValue + y)\n        if and(slt(y, 0), sgt(x, add(0x7fffffff, y))) { panic_error_0x11() }\n\n        diff := sub(x, y)\n    }\n\n    function checked_sub_t_uint256(x, y) -> diff {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        if lt(x, y) { panic_error_0x11() }\n\n        diff := sub(x, y)\n    }\n\n    function checked_sub_t_uint64(x, y) -> diff {\n        x := cleanup_t_uint64(x)\n        y := cleanup_t_uint64(y)\n\n        if lt(x, y) { panic_error_0x11() }\n\n        diff := sub(x, y)\n    }\n\n    function cleanup_t_bool(value) -> cleaned {\n        cleaned := iszero(iszero(value))\n    }\n\n    function cleanup_t_bytes32(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_int128(value) -> cleaned {\n        cleaned := signextend(15, value)\n    }\n\n    function cleanup_t_int256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_int32(value) -> cleaned {\n        cleaned := signextend(3, value)\n    }\n\n    function cleanup_t_uint256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_uint32(value) -> cleaned {\n        cleaned := and(value, 0xffffffff)\n    }\n\n    function cleanup_t_uint64(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffff)\n    }\n\n    function cleanup_t_uint8(value) -> cleaned {\n        cleaned := and(value, 0xff)\n    }\n\n    function copy_calldata_to_memory(src, dst, length) {\n        calldatacopy(dst, src, length)\n        // clear end\n        mstore(add(dst, length), 0)\n    }\n\n    function copy_memory_to_memory(src, dst, length) {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        if gt(i, length)\n        {\n            // clear end\n            mstore(add(dst, length), 0)\n        }\n    }\n\n    function finalize_allocation(memPtr, size) {\n        let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n        // protect against overflow\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n\n    function increment_t_uint256(value) -> ret {\n        value := cleanup_t_uint256(value)\n        if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n\n    function increment_t_uint32(value) -> ret {\n        value := cleanup_t_uint32(value)\n        if eq(value, 0xffffffff) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n\n    function increment_t_uint64(value) -> ret {\n        value := cleanup_t_uint64(value)\n        if eq(value, 0xffffffffffffffff) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n\n    function leftAlign_t_uint8(value) -> aligned {\n        aligned := shift_left_248(value)\n    }\n\n    function negate_t_int32(value) -> ret {\n        value := cleanup_t_int32(value)\n        if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000) { panic_error_0x11() }\n        ret := sub(0, value)\n    }\n\n    function panic_error_0x11() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x12() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x32() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x41() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n\n    function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n        revert(0, 0)\n    }\n\n    function revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() {\n        revert(0, 0)\n    }\n\n    function revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() {\n        revert(0, 0)\n    }\n\n    function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n        revert(0, 0)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function round_up_to_mul_of_32(value) -> result {\n        result := and(add(value, 31), not(31))\n    }\n\n    function shift_left_248(value) -> newValue {\n        newValue :=\n\n        shl(248, value)\n\n    }\n\n    function shift_right_1_unsigned(value) -> newValue {\n        newValue :=\n\n        shr(1, value)\n\n    }\n\n    function store_literal_in_memory_176e0278706c18b0f8b18b90e4c6a39b596c662775310463aa4a908b1de17758(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetBuffer: Not enough bytes i\")\n\n        mstore(add(memPtr, 32), \"n buffer when seeking\")\n\n    }\n\n    function store_literal_in_memory_285621fe75046b25304c843ac968cca285ae3e6ef8abb770c7120426284fcb4e(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetDecoderLib: Tried to read \")\n\n        mstore(add(memPtr, 32), \"a `fixed` value from a `WT.CBOR`\")\n\n        mstore(add(memPtr, 64), \" with majorType != 7\")\n\n    }\n\n    function store_literal_in_memory_3375c6645e382185e0fe278f193075512d535b9f2ca7e1b37510b35efdd2bcc0(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetDecoderLib: Tried to read \")\n\n        mstore(add(memPtr, 32), \"`uint64` from a `Witnet.CBOR` wi\")\n\n        mstore(add(memPtr, 64), \"th majorType != 0\")\n\n    }\n\n    function store_literal_in_memory_41357bbf50a90e645d713b09dbcf193b280250cde8009c0b4d3449c28ea5d804(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetBuffer: Tried to read from\")\n\n        mstore(add(memPtr, 32), \" a consumed Buffer (must rewind \")\n\n        mstore(add(memPtr, 64), \"it first)\")\n\n    }\n\n    function store_literal_in_memory_6f8489a006fc2ddb7b8db45a240c2e1340f979031aa674bc2c0d9a032007f865(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetDecoderLib: Invalid length\")\n\n        mstore(add(memPtr, 32), \" encoding (non-existent addition\")\n\n        mstore(add(memPtr, 64), \"alInformation value)\")\n\n    }\n\n    function store_literal_in_memory_76a21b1d3f42fbbea0475f624e30017f9081c603496816db3d90283ad65ae271(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetBuffer: Not enough bytes i\")\n\n        mstore(add(memPtr, 32), \"n buffer when reading\")\n\n    }\n\n    function store_literal_in_memory_875d0a02937cb9909e45a20585fcb051fe02c5f86d796a9b1cf43ce04fc2ba90(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetDecoderLib: Indefinite-len\")\n\n        mstore(add(memPtr, 32), \"gth CBOR arrays are not supporte\")\n\n        mstore(add(memPtr, 64), \"d\")\n\n    }\n\n    function store_literal_in_memory_9a60def7724db28748dda2f528e627b4b6898ecc35ff8814364e5a7e676b1567(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetDecoderLib: Tried to read \")\n\n        mstore(add(memPtr, 32), \"a `bool` value from a `Witnet.CB\")\n\n        mstore(add(memPtr, 64), \"OR` with majorType != 7\")\n\n    }\n\n    function store_literal_in_memory_c6093a9e0138c29641f4112ca84a6353e3b8189a75c60c086711495d7d1b05cf(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetDecoderLib: Tried to read \")\n\n        mstore(add(memPtr, 32), \"`int128[]` from a `Witnet.CBOR` \")\n\n        mstore(add(memPtr, 64), \"with majorType != 4\")\n\n    }\n\n    function store_literal_in_memory_c9a3baade484e18c7b6c7f334d58082e2c6f48547df2aecdef5e238f396eceb8(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetDecoderLib: Invalid indefi\")\n\n        mstore(add(memPtr, 32), \"nite length\")\n\n    }\n\n    function store_literal_in_memory_cb594b582c4c4c10df3423239223a3962931d31e3d9cc15d65f361d94596911d(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetDecoderLib: Found empty bu\")\n\n        mstore(add(memPtr, 32), \"ffer when parsing CBOR value\")\n\n    }\n\n    function store_literal_in_memory_d33a5d2b5ed5d95cc7a9c6c198ab7dad558642e7b6ddd2bf019b8e6e207e2bb1(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetDecoderLib: Tried to read \")\n\n        mstore(add(memPtr, 32), \"`uint64[]` from a `Witnet.CBOR` \")\n\n        mstore(add(memPtr, 64), \"with majorType != 4\")\n\n    }\n\n    function store_literal_in_memory_d4ffc38b1bd3ce07b73162c5cd58b3f5d16fe42393d05d185bef3b883bb0a175(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetDecoderLib: Invalid CBOR m\")\n\n        mstore(add(memPtr, 32), \"ajor type\")\n\n    }\n\n    function store_literal_in_memory_e9d15dd9ef51c465dc7e4a1f1786baf0f5f1727522e4d18358f6412b81e0ad73(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetDecoderLib: Tried to read \")\n\n        mstore(add(memPtr, 32), \"`bool` from a `Witnet.CBOR` with\")\n\n        mstore(add(memPtr, 64), \" len different than 20 or 21\")\n\n    }\n\n    function store_literal_in_memory_ed3d615850988e92ac3bb7e19fc8fd4a6d0fd5efa663c85800c4ba4a146272ea(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetBuffer: Cannot copy 0 byte\")\n\n        mstore(add(memPtr, 32), \"s\")\n\n    }\n\n    function store_literal_in_memory_f6afe1efc379e8204fb4d566f3cf5efe5c0e9e878fa8fd3072ffc04e712b2dae(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetDecoderLib: Tried to read \")\n\n        mstore(add(memPtr, 32), \"`int128` from a `Witnet.CBOR` wi\")\n\n        mstore(add(memPtr, 64), \"th majorType not 0 or 1\")\n\n    }\n\n    function store_literal_in_memory_f7e883759414212463f7e83fadd2b6f4fb58ed904f3a29f20bce3e92bd7c399c(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetDecoderLib: Tried to read \")\n\n        mstore(add(memPtr, 32), \"`string[]` from a `Witnet.CBOR` \")\n\n        mstore(add(memPtr, 64), \"with majorType != 4\")\n\n    }\n\n    function store_literal_in_memory_fa1a41235d50d998fd1fa31f165df15dc31bd75a237078965072481881f7d8ad(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetDecoderLib: Tried to read \")\n\n        mstore(add(memPtr, 32), \"`fixed16` from a `WT.CBOR` with \")\n\n        mstore(add(memPtr, 64), \"additionalInformation != 25\")\n\n    }\n\n    function store_literal_in_memory_fdadce3169751a65fe8fe5febc7dcb4198322ee12bc3662f33fae802c9673e4b(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetBuffer: Integer overflow w\")\n\n        mstore(add(memPtr, 32), \"hen seeking\")\n\n    }\n\n    function validator_revert_t_uint32(value) {\n        if iszero(eq(value, cleanup_t_uint32(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint64(value) {\n        if iszero(eq(value, cleanup_t_uint64(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint8(value) {\n        if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600436106100d95760003560e01c806394863ea411610096578063c5e88ff211610070578063c5e88ff21461028e578063dfca5d34146102be578063e67c5bd1146102ee578063f8a597d31461031e576100d9565b806394863ea4146101fe5780639eee60ca1461022e578063bb6ef6cf1461025e576100d9565b806308c05c33146100de5780633380d8161461010e578063531f4ba71461013e5780637a8acab11461016e5780637f3fb7ca1461019e5780638138799a146101ce575b600080fd5b6100f860048036038101906100f39190611d88565b61034e565b60405161010591906125cc565b60405180910390f35b61012860048036038101906101239190611d88565b6103f2565b6040516101359190612529565b60405180910390f35b61015860048036038101906101539190611d88565b61058a565b604051610165919061254b565b60405180910390f35b61018860048036038101906101839190611d88565b610722565b60405161019591906128e3565b60405180910390f35b6101b860048036038101906101b39190611d3f565b610786565b6040516101c591906128c1565b60405180910390f35b6101e860048036038101906101e39190611d88565b6108d8565b6040516101f59190612624565b60405180910390f35b61021860048036038101906102139190611d88565b610982565b6040516102259190612609565b60405180910390f35b61024860048036038101906102439190611d88565b610a52565b60405161025591906125b1565b60405180910390f35b61027860048036038101906102739190611d88565b610b4f565b60405161028591906125e7565b60405180910390f35b6102a860048036038101906102a39190611d88565b610c95565b6040516102b5919061256d565b60405180910390f35b6102d860048036038101906102d39190611cf6565b610e29565b6040516102e591906128c1565b60405180910390f35b61030860048036038101906103039190611d88565b610e62565b604051610315919061263f565b60405180910390f35b61033860048036038101906103339190611d88565b610f62565b604051610345919061258f565b60405180910390f35b60008061035a83610b4f565b90506000602082511161036e578151610371565b60205b905060005b818110156103ea5760088161038b9190612f40565b60ff60f81b8483815181106103a3576103a2613346565b5b602001015160f81c60f81b167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c8417935080806103e2906131e6565b915050610376565b505050919050565b60606004826040015160ff161461043e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043590612761565b60405180910390fd5b600061045283600001518460600151611108565b905067ffffffffffffffff80168167ffffffffffffffff16106104aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a190612721565b60405180910390fd5b60008167ffffffffffffffff1667ffffffffffffffff8111156104d0576104cf613375565b5b6040519080825280602002602001820160405280156104fe5781602001602082028036833780820191505090505b50905060005b8267ffffffffffffffff168167ffffffffffffffff16101561057f57600061052f8660000151610786565b905061053a81610982565b838367ffffffffffffffff168151811061055757610556613346565b5b6020026020010190600f0b9081600f0b815250505080806105779061325c565b915050610504565b508092505050919050565b60606004826040015160ff16146105d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105cd90612761565b60405180910390fd5b60006105ea83600001518460600151611108565b905067ffffffffffffffff80168167ffffffffffffffff1610610642576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063990612721565b60405180910390fd5b60008167ffffffffffffffff1667ffffffffffffffff81111561066857610667613375565b5b6040519080825280602002602001820160405280156106965781602001602082028036833780820191505090505b50905060005b8267ffffffffffffffff168167ffffffffffffffff1610156107175760006106c78660000151610786565b90506106d2816108d8565b838367ffffffffffffffff16815181106106ef576106ee613346565b5b602002602001019060030b908160030b8152505050808061070f9061325c565b91505061069c565b508092505050919050565b600080826040015160ff161461076d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610764906126a1565b60405180910390fd5b61077f82600001518360600151611108565b9050919050565b61078e611aa6565b6000826000015151116107d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cd906127a1565b60405180910390fd5b60008060ff905060008067ffffffffffffffff90506000600190505b801561083a57610801876111fb565b945060058560ff16901c9350601f8516925060068460ff161415610830576108298784611108565b9150610835565b600090505b6107f2565b60078460ff161115610881576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610878906127e1565b60405180910390fd5b6040518060c001604052808881526020018660ff1681526020018560ff1681526020018460ff168152602001600067ffffffffffffffff1681526020018367ffffffffffffffff1681525095505050505050919050565b60006007826040015160ff1614610924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091b90612681565b60405180910390fd5b6019826060015160ff161461096e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096590612881565b60405180910390fd5b61097b826000015161129c565b9050919050565b60006001826040015160ff1614156109e85760006109a883600001518460600151611108565b90508067ffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6109e09190612f9a565b915050610a4d565b6000826040015160ff161415610a1257610a0182610722565b67ffffffffffffffff169050610a4d565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4490612841565b60405180910390fd5b919050565b6000610a6682600001518360600151611108565b826080019067ffffffffffffffff16908167ffffffffffffffff16815250506007826040015160ff1614610acf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac690612741565b60405180910390fd5b6014826080015167ffffffffffffffff161415610aef5760009050610b4a565b6015826080015167ffffffffffffffff161415610b0f5760019050610b4a565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4190612801565b60405180910390fd5b919050565b6060610b6382600001518360600151611108565b826080019067ffffffffffffffff16908167ffffffffffffffff168152505063ffffffff8016826080015167ffffffffffffffff161415610c725760606000610bb4846000015185604001516113af565b905063ffffffff80168163ffffffff161015610c685781610be282866000015161146590919063ffffffff16565b604051602001610bf39291906124dd565b6040516020818303038152906040529150610c16846000015185604001516113af565b905063ffffffff80168163ffffffff161015610c675781610c4482866000015161146590919063ffffffff16565b604051602001610c559291906124dd565b60405160208183030381529060405291505b5b8192505050610c90565b610c8d8260800151836000015161146590919063ffffffff16565b90505b919050565b60606004826040015160ff1614610ce1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd890612861565b60405180910390fd5b6000610cf583600001518460600151611108565b905067ffffffffffffffff80168167ffffffffffffffff1610610d4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4490612721565b60405180910390fd5b60008167ffffffffffffffff1667ffffffffffffffff811115610d7357610d72613375565b5b604051908082528060200260200182016040528015610da657816020015b6060815260200190600190039081610d915790505b50905060005b8267ffffffffffffffff168167ffffffffffffffff161015610e1e576000610dd78660000151610786565b9050610de281610e62565b838367ffffffffffffffff1681518110610dff57610dfe613346565b5b6020026020010181905250508080610e169061325c565b915050610dac565b508092505050919050565b610e31611aa6565b60006040518060400160405280848152602001600063ffffffff168152509050610e5a81610786565b915050919050565b6060610e7682600001518360600151611108565b826080019067ffffffffffffffff16908167ffffffffffffffff168152505067ffffffffffffffff8016826080015167ffffffffffffffff161415610f4857606060005b80610f3e576000610ed3856000015186604001516113af565b905067ffffffffffffffff80168167ffffffffffffffff161015610f335782610f0c8660000151600484610f079190612ba8565b611579565b604051602001610f1d9291906124dd565b6040516020818303038152906040529250610f38565b600191505b50610eba565b8192505050610f5d565b610f5a82600001518360800151611579565b90505b919050565b60606004826040015160ff1614610fae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa5906127c1565b60405180910390fd5b6000610fc283600001518460600151611108565b905067ffffffffffffffff80168167ffffffffffffffff161061101a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101190612721565b60405180910390fd5b60008167ffffffffffffffff1667ffffffffffffffff8111156110405761103f613375565b5b60405190808252806020026020018201604052801561106e5781602001602082028036833780820191505090505b50905060005b8267ffffffffffffffff168167ffffffffffffffff1610156110fd57600061109f8660000151610786565b90506110aa81610722565b838367ffffffffffffffff16815181106110c7576110c6613346565b5b602002602001019067ffffffffffffffff16908167ffffffffffffffff16815250505080806110f59061325c565b915050611074565b508092505050919050565b600060188260ff161015611121578160ff1690506111f5565b60188260ff16141561114057611136836111fb565b60ff1690506111f5565b60198260ff16141561116057611155836116d5565b61ffff1690506111f5565b601a8260ff1614156111825761117583611788565b63ffffffff1690506111f5565b601b8260ff16141561119e576111978361183b565b90506111f5565b601f8260ff1614156111ba5767ffffffffffffffff90506111f5565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec906126e1565b60405180910390fd5b92915050565b60008160200151826000015151808263ffffffff1610611250576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611247906126c1565b60405180910390fd5b600084600001519050600085602001519050600081600184010151905086602001805180919061127f9061322f565b63ffffffff1663ffffffff16815250508095505050505050919050565b6000806112a8836116d5565b61ffff1690506000618000821690506000600f600a617c00851660030b901d6112d1919061301e565b905060006103ff84169050600f8260030b14156112f057610400811790505b6000808360030b1261132e57600a6104008360030b176127108560030b6001901b61131b9190612d4a565b6113259190612d4a565b901d9050611365565b600a8361133a9061329f565b60030b6001901b6127106104008560030b176113569190612d4a565b6113609190612b3e565b901d90505b60008463ffffffff16146113a2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8161139f9190612e61565b90505b8095505050505050919050565b6000806113bb846111fb565b905060ff8160ff1614156113da5767ffffffffffffffff91505061145f565b60006113e985601f8416611108565b905067ffffffffffffffff80168167ffffffffffffffff1610801561141a57508360ff1660058360ff16901c60ff16145b611459576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145090612781565b60405180910390fd5b80925050505b92915050565b606082600001515182846020015161147d9190612b04565b63ffffffff1611156114c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bb90612701565b60405180910390fd5b60008263ffffffff1667ffffffffffffffff8111156114e6576114e5613375565b5b6040519080825280601f01601f1916602001820160405280156115185781602001600182028036833780820191505090505b50905060008363ffffffff161461156f57600084600001519050600085602001519050600080826020850101915060208501905061155d81838963ffffffff166118ee565b611569888860016119ba565b50505050505b8091505092915050565b60608060005b8367ffffffffffffffff168167ffffffffffffffff1610156116ca5760006115a6866111fb565b905060006080821660ff16146116925760e08160ff1610156115f057603f6115cd876111fb565b166006601f831660ff16901b1790506001856115e991906130ca565b9450611691565b60f08160ff16101561163e57603f611607876111fb565b166006603f611615896111fb565b1660ff16901b600c600f841660ff16901b1717905060028561163791906130ca565b9450611690565b603f611649876111fb565b166006603f611657896111fb565b1660ff16901b600c603f61166a8a6111fb565b1660ff16901b6012600f851660ff16901b171717905060038561168d91906130ca565b94505b5b5b82816040516020016116a5929190612501565b60405160208183030381529060405292505080806116c29061325c565b91505061157f565b508091505092915050565b6000600182602001516116e89190612b04565b826000015151808263ffffffff1610611736576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172d906126c1565b60405180910390fd5b60008460000151905060008560200151905060008160028401015190506002876020018181516117669190612b04565b91509063ffffffff16908163ffffffff16815250508095505050505050919050565b60006003826020015161179b9190612b04565b826000015151808263ffffffff16106117e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e0906126c1565b60405180910390fd5b60008460000151905060008560200151905060008160048401015190506004876020018181516118199190612b04565b91509063ffffffff16908163ffffffff16815250508095505050505050919050565b60006007826020015161184e9190612b04565b826000015151808263ffffffff161061189c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611893906126c1565b60405180910390fd5b60008460000151905060008560200151905060008160088401015190506008876020018181516118cc9190612b04565b91509063ffffffff16908163ffffffff16815250508095505050505050919050565b60008111611931576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192890612821565b60405180910390fd5b5b60208110611970578151835260208361194b9190612aae565b925060208261195a9190612aae565b91506020816119699190613096565b9050611932565b60008111156119b5576000600182602061198a9190613096565b6101006119979190612c2c565b6119a19190613096565b905080198351168185511681811786525050505b505050565b60008115611a32578263ffffffff168460200151846119d99190612b04565b63ffffffff1611611a1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a16906128a1565b60405180910390fd5b836020015183611a2f9190612b04565b92505b8360000151518363ffffffff161115611a80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7790612661565b60405180910390fd5b82846020019063ffffffff16908163ffffffff1681525050836020015190509392505050565b6040518060c00160405280611ab9611aff565b8152602001600060ff168152602001600060ff168152602001600060ff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff1681525090565b604051806040016040528060608152602001600063ffffffff1681525090565b6000611b32611b2d84612923565b6128fe565b905082815260208101848484011115611b4e57611b4d6133b3565b5b611b59848285613173565b509392505050565b600082601f830112611b7657611b756133a4565b5b8135611b86848260208601611b1f565b91505092915050565b600060408284031215611ba557611ba46133a9565b5b611baf60406128fe565b9050600082013567ffffffffffffffff811115611bcf57611bce6133ae565b5b611bdb84828501611b61565b6000830152506020611bef84828501611cb7565b60208301525092915050565b600060c08284031215611c1157611c106133a9565b5b611c1b60c06128fe565b9050600082013567ffffffffffffffff811115611c3b57611c3a6133ae565b5b611c4784828501611b8f565b6000830152506020611c5b84828501611ce1565b6020830152506040611c6f84828501611ce1565b6040830152506060611c8384828501611ce1565b6060830152506080611c9784828501611ccc565b60808301525060a0611cab84828501611ccc565b60a08301525092915050565b600081359050611cc681613b92565b92915050565b600081359050611cdb81613ba9565b92915050565b600081359050611cf081613bc0565b92915050565b600060208284031215611d0c57611d0b6133bd565b5b600082013567ffffffffffffffff811115611d2a57611d296133b8565b5b611d3684828501611b61565b91505092915050565b600060208284031215611d5557611d546133bd565b5b600082013567ffffffffffffffff811115611d7357611d726133b8565b5b611d7f84828501611b8f565b91505092915050565b600060208284031215611d9e57611d9d6133bd565b5b600082013567ffffffffffffffff811115611dbc57611dbb6133b8565b5b611dc884828501611bfb565b91505092915050565b6000611ddd838361208c565b60208301905092915050565b6000611df583836120aa565b60208301905092915050565b6000611e0d83836120f2565b905092915050565b6000611e2183836124a8565b60208301905092915050565b6000611e3882612994565b611e428185612a0a565b9350611e4d83612954565b8060005b83811015611e7e578151611e658882611dd1565b9750611e70836129d6565b925050600181019050611e51565b5085935050505092915050565b6000611e968261299f565b611ea08185612a1b565b9350611eab83612964565b8060005b83811015611edc578151611ec38882611de9565b9750611ece836129e3565b925050600181019050611eaf565b5085935050505092915050565b6000611ef4826129aa565b611efe8185612a2c565b935083602082028501611f1085612974565b8060005b85811015611f4c5784840389528151611f2d8582611e01565b9450611f38836129f0565b925060208a01995050600181019050611f14565b50829750879550505050505092915050565b6000611f69826129b5565b611f738185612a3d565b9350611f7e83612984565b8060005b83811015611faf578151611f968882611e15565b9750611fa1836129fd565b925050600181019050611f82565b5085935050505092915050565b611fc5816130fe565b82525050565b611fd48161310a565b82525050565b6000611fe5826129c0565b611fef8185612a4e565b9350611fff818560208601613182565b612008816133c2565b840191505092915050565b600061201e826129c0565b6120288185612a5f565b9350612038818560208601613182565b612041816133c2565b840191505092915050565b6000612057826129c0565b6120618185612a70565b9350612071818560208601613182565b80840191505092915050565b61208681613114565b82525050565b61209581613114565b82525050565b6120a48161312b565b82525050565b6120b38161312b565b82525050565b60006120c4826129cb565b6120ce8185612a8c565b93506120de818560208601613182565b6120e7816133c2565b840191505092915050565b60006120fd826129cb565b6121078185612a9d565b9350612117818560208601613182565b612120816133c2565b840191505092915050565b6000612138603583612a7b565b9150612143826133ed565b604082019050919050565b600061215b605483612a7b565b91506121668261343c565b606082019050919050565b600061217e605183612a7b565b9150612189826134b1565b606082019050919050565b60006121a1604983612a7b565b91506121ac82613526565b606082019050919050565b60006121c4605483612a7b565b91506121cf8261359b565b606082019050919050565b60006121e7603583612a7b565b91506121f282613610565b604082019050919050565b600061220a604183612a7b565b91506122158261365f565b606082019050919050565b600061222d605783612a7b565b9150612238826136d4565b606082019050919050565b6000612250605383612a7b565b915061225b82613749565b606082019050919050565b6000612273602b83612a7b565b915061227e826137be565b604082019050919050565b6000612296603c83612a7b565b91506122a18261380d565b604082019050919050565b60006122b9605383612a7b565b91506122c48261385c565b606082019050919050565b60006122dc602983612a7b565b91506122e7826138d1565b604082019050919050565b60006122ff605c83612a7b565b915061230a82613920565b606082019050919050565b6000612322602183612a7b565b915061232d82613995565b604082019050919050565b6000612345605783612a7b565b9150612350826139e4565b606082019050919050565b6000612368605383612a7b565b915061237382613a59565b606082019050919050565b600061238b605b83612a7b565b915061239682613ace565b606082019050919050565b60006123ae602b83612a7b565b91506123b982613b43565b604082019050919050565b600060408301600083015184820360008601526123e18282612013565b91505060208301516123f6602086018261248a565b508091505092915050565b600060c083016000830151848203600086015261241e82826123c4565b915050602083015161243360208601826124b7565b50604083015161244660408601826124b7565b50606083015161245960608601826124b7565b50608083015161246c60808601826124a8565b5060a083015161247f60a08601826124a8565b508091505092915050565b61249381613142565b82525050565b6124a281613152565b82525050565b6124b181613152565b82525050565b6124c081613166565b82525050565b6124d76124d282613166565b61328d565b82525050565b60006124e9828561204c565b91506124f5828461204c565b91508190509392505050565b600061250d828561204c565b915061251982846124c6565b6001820191508190509392505050565b600060208201905081810360008301526125438184611e2d565b905092915050565b600060208201905081810360008301526125658184611e8b565b905092915050565b600060208201905081810360008301526125878184611ee9565b905092915050565b600060208201905081810360008301526125a98184611f5e565b905092915050565b60006020820190506125c66000830184611fbc565b92915050565b60006020820190506125e16000830184611fcb565b92915050565b600060208201905081810360008301526126018184611fda565b905092915050565b600060208201905061261e600083018461207d565b92915050565b6000602082019050612639600083018461209b565b92915050565b6000602082019050818103600083015261265981846120b9565b905092915050565b6000602082019050818103600083015261267a8161212b565b9050919050565b6000602082019050818103600083015261269a8161214e565b9050919050565b600060208201905081810360008301526126ba81612171565b9050919050565b600060208201905081810360008301526126da81612194565b9050919050565b600060208201905081810360008301526126fa816121b7565b9050919050565b6000602082019050818103600083015261271a816121da565b9050919050565b6000602082019050818103600083015261273a816121fd565b9050919050565b6000602082019050818103600083015261275a81612220565b9050919050565b6000602082019050818103600083015261277a81612243565b9050919050565b6000602082019050818103600083015261279a81612266565b9050919050565b600060208201905081810360008301526127ba81612289565b9050919050565b600060208201905081810360008301526127da816122ac565b9050919050565b600060208201905081810360008301526127fa816122cf565b9050919050565b6000602082019050818103600083015261281a816122f2565b9050919050565b6000602082019050818103600083015261283a81612315565b9050919050565b6000602082019050818103600083015261285a81612338565b9050919050565b6000602082019050818103600083015261287a8161235b565b9050919050565b6000602082019050818103600083015261289a8161237e565b9050919050565b600060208201905081810360008301526128ba816123a1565b9050919050565b600060208201905081810360008301526128db8184612401565b905092915050565b60006020820190506128f86000830184612499565b92915050565b6000612908612919565b905061291482826131b5565b919050565b6000604051905090565b600067ffffffffffffffff82111561293e5761293d613375565b5b612947826133c2565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612ab982613138565b9150612ac483613138565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612af957612af86132e8565b5b828201905092915050565b6000612b0f82613142565b9150612b1a83613142565b92508263ffffffff03821115612b3357612b326132e8565b5b828201905092915050565b6000612b4982613121565b9150612b5483613121565b925082612b6457612b63613317565b5b600160000383147f800000000000000000000000000000000000000000000000000000000000000083141615612b9d57612b9c6132e8565b5b828205905092915050565b6000612bb382613152565b9150612bbe83613152565b925082612bce57612bcd613317565b5b828204905092915050565b6000808291508390505b6001851115612c2357808604811115612bff57612bfe6132e8565b5b6001851615612c0e5780820291505b8081029050612c1c856133e0565b9450612be3565b94509492505050565b6000612c3782613138565b9150612c4283613138565b9250612c6f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612c77565b905092915050565b600082612c875760019050612d43565b81612c955760009050612d43565b8160018114612cab5760028114612cb557612ce4565b6001915050612d43565b60ff841115612cc757612cc66132e8565b5b8360020a915084821115612cde57612cdd6132e8565b5b50612d43565b5060208310610133831016604e8410600b8410161715612d195782820a905083811115612d1457612d136132e8565b5b612d43565b612d268484846001612bd9565b92509050818404811115612d3d57612d3c6132e8565b5b81810290505b9392505050565b6000612d5582613121565b9150612d6083613121565b9250827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482116000841360008413161615612d9f57612d9e6132e8565b5b817f80000000000000000000000000000000000000000000000000000000000000000583126000841260008413161615612ddc57612ddb6132e8565b5b827f80000000000000000000000000000000000000000000000000000000000000000582126000841360008412161615612e1957612e186132e8565b5b827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0582126000841260008412161615612e5657612e556132e8565b5b828202905092915050565b6000612e6c8261312b565b9150612e778361312b565b925082637fffffff0482116000841360008413161615612e9a57612e996132e8565b5b817fffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000583126000841260008413161615612ed757612ed66132e8565b5b827fffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000582126000841360008412161615612f1457612f136132e8565b5b82637fffffff0582126000841260008412161615612f3557612f346132e8565b5b828202905092915050565b6000612f4b82613138565b9150612f5683613138565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f8f57612f8e6132e8565b5b828202905092915050565b6000612fa582613114565b9150612fb083613114565b9250827fffffffffffffffffffffffffffffffff8000000000000000000000000000000001821260008412151615612feb57612fea6132e8565b5b826f7fffffffffffffffffffffffffffffff018213600084121615613013576130126132e8565b5b828203905092915050565b60006130298261312b565b91506130348361312b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000182126000841215161561306f5761306e6132e8565b5b82637fffffff01821360008412161561308b5761308a6132e8565b5b828203905092915050565b60006130a182613138565b91506130ac83613138565b9250828210156130bf576130be6132e8565b5b828203905092915050565b60006130d582613152565b91506130e083613152565b9250828210156130f3576130f26132e8565b5b828203905092915050565b60008115159050919050565b6000819050919050565b600081600f0b9050919050565b6000819050919050565b60008160030b9050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b838110156131a0578082015181840152602081019050613185565b838111156131af576000848401525b50505050565b6131be826133c2565b810181811067ffffffffffffffff821117156131dd576131dc613375565b5b80604052505050565b60006131f182613138565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613224576132236132e8565b5b600182019050919050565b600061323a82613142565b915063ffffffff821415613251576132506132e8565b5b600182019050919050565b600061326782613152565b915067ffffffffffffffff821415613282576132816132e8565b5b600182019050919050565b6000613298826133d3565b9050919050565b60006132aa8261312b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000008214156132dd576132dc6132e8565b5b816000039050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160f81b9050919050565b60008160011c9050919050565b7f5769746e65744275666665723a204e6f7420656e6f756768206279746573206960008201527f6e20627566666572207768656e207365656b696e670000000000000000000000602082015250565b7f5769746e65744465636f6465724c69623a20547269656420746f20726561642060008201527f6120606669786564602076616c75652066726f6d2061206057542e43424f526060208201527f2077697468206d616a6f725479706520213d2037000000000000000000000000604082015250565b7f5769746e65744465636f6465724c69623a20547269656420746f20726561642060008201527f6075696e743634602066726f6d206120605769746e65742e43424f526020776960208201527f7468206d616a6f725479706520213d2030000000000000000000000000000000604082015250565b7f5769746e65744275666665723a20547269656420746f20726561642066726f6d60008201527f206120636f6e73756d65642042756666657220286d75737420726577696e642060208201527f6974206669727374290000000000000000000000000000000000000000000000604082015250565b7f5769746e65744465636f6465724c69623a20496e76616c6964206c656e67746860008201527f20656e636f64696e6720286e6f6e2d6578697374656e74206164646974696f6e60208201527f616c496e666f726d6174696f6e2076616c756529000000000000000000000000604082015250565b7f5769746e65744275666665723a204e6f7420656e6f756768206279746573206960008201527f6e20627566666572207768656e2072656164696e670000000000000000000000602082015250565b7f5769746e65744465636f6465724c69623a20496e646566696e6974652d6c656e60008201527f6774682043424f522061727261797320617265206e6f7420737570706f72746560208201527f6400000000000000000000000000000000000000000000000000000000000000604082015250565b7f5769746e65744465636f6465724c69623a20547269656420746f20726561642060008201527f612060626f6f6c602076616c75652066726f6d206120605769746e65742e434260208201527f4f52602077697468206d616a6f725479706520213d2037000000000000000000604082015250565b7f5769746e65744465636f6465724c69623a20547269656420746f20726561642060008201527f60696e743132385b5d602066726f6d206120605769746e65742e43424f52602060208201527f77697468206d616a6f725479706520213d203400000000000000000000000000604082015250565b7f5769746e65744465636f6465724c69623a20496e76616c696420696e6465666960008201527f6e697465206c656e677468000000000000000000000000000000000000000000602082015250565b7f5769746e65744465636f6465724c69623a20466f756e6420656d70747920627560008201527f66666572207768656e2070617273696e672043424f522076616c756500000000602082015250565b7f5769746e65744465636f6465724c69623a20547269656420746f20726561642060008201527f6075696e7436345b5d602066726f6d206120605769746e65742e43424f52602060208201527f77697468206d616a6f725479706520213d203400000000000000000000000000604082015250565b7f5769746e65744465636f6465724c69623a20496e76616c69642043424f52206d60008201527f616a6f7220747970650000000000000000000000000000000000000000000000602082015250565b7f5769746e65744465636f6465724c69623a20547269656420746f20726561642060008201527f60626f6f6c602066726f6d206120605769746e65742e43424f5260207769746860208201527f206c656e20646966666572656e74207468616e203230206f7220323100000000604082015250565b7f5769746e65744275666665723a2043616e6e6f7420636f70792030206279746560008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f5769746e65744465636f6465724c69623a20547269656420746f20726561642060008201527f60696e74313238602066726f6d206120605769746e65742e43424f526020776960208201527f7468206d616a6f7254797065206e6f742030206f722031000000000000000000604082015250565b7f5769746e65744465636f6465724c69623a20547269656420746f20726561642060008201527f60737472696e675b5d602066726f6d206120605769746e65742e43424f52602060208201527f77697468206d616a6f725479706520213d203400000000000000000000000000604082015250565b7f5769746e65744465636f6465724c69623a20547269656420746f20726561642060008201527f6066697865643136602066726f6d2061206057542e43424f526020776974682060208201527f6164646974696f6e616c496e666f726d6174696f6e20213d2032350000000000604082015250565b7f5769746e65744275666665723a20496e7465676572206f766572666c6f77207760008201527f68656e207365656b696e67000000000000000000000000000000000000000000602082015250565b613b9b81613142565b8114613ba657600080fd5b50565b613bb281613152565b8114613bbd57600080fd5b50565b613bc981613166565b8114613bd457600080fd5b5056fea2646970667358221220a4d4d110e1ca9e6f5fbecbc2cd493e629dfa4ae32d005565f69c63361d2074fd64736f6c63430008070033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xD9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x94863EA4 GT PUSH2 0x96 JUMPI DUP1 PUSH4 0xC5E88FF2 GT PUSH2 0x70 JUMPI DUP1 PUSH4 0xC5E88FF2 EQ PUSH2 0x28E JUMPI DUP1 PUSH4 0xDFCA5D34 EQ PUSH2 0x2BE JUMPI DUP1 PUSH4 0xE67C5BD1 EQ PUSH2 0x2EE JUMPI DUP1 PUSH4 0xF8A597D3 EQ PUSH2 0x31E JUMPI PUSH2 0xD9 JUMP JUMPDEST DUP1 PUSH4 0x94863EA4 EQ PUSH2 0x1FE JUMPI DUP1 PUSH4 0x9EEE60CA EQ PUSH2 0x22E JUMPI DUP1 PUSH4 0xBB6EF6CF EQ PUSH2 0x25E JUMPI PUSH2 0xD9 JUMP JUMPDEST DUP1 PUSH4 0x8C05C33 EQ PUSH2 0xDE JUMPI DUP1 PUSH4 0x3380D816 EQ PUSH2 0x10E JUMPI DUP1 PUSH4 0x531F4BA7 EQ PUSH2 0x13E JUMPI DUP1 PUSH4 0x7A8ACAB1 EQ PUSH2 0x16E JUMPI DUP1 PUSH4 0x7F3FB7CA EQ PUSH2 0x19E JUMPI DUP1 PUSH4 0x8138799A EQ PUSH2 0x1CE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF3 SWAP2 SWAP1 PUSH2 0x1D88 JUMP JUMPDEST PUSH2 0x34E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x105 SWAP2 SWAP1 PUSH2 0x25CC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x128 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x123 SWAP2 SWAP1 PUSH2 0x1D88 JUMP JUMPDEST PUSH2 0x3F2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x135 SWAP2 SWAP1 PUSH2 0x2529 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x158 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x153 SWAP2 SWAP1 PUSH2 0x1D88 JUMP JUMPDEST PUSH2 0x58A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x165 SWAP2 SWAP1 PUSH2 0x254B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x188 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x183 SWAP2 SWAP1 PUSH2 0x1D88 JUMP JUMPDEST PUSH2 0x722 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x195 SWAP2 SWAP1 PUSH2 0x28E3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1B3 SWAP2 SWAP1 PUSH2 0x1D3F JUMP JUMPDEST PUSH2 0x786 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C5 SWAP2 SWAP1 PUSH2 0x28C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1E8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E3 SWAP2 SWAP1 PUSH2 0x1D88 JUMP JUMPDEST PUSH2 0x8D8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F5 SWAP2 SWAP1 PUSH2 0x2624 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x218 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x213 SWAP2 SWAP1 PUSH2 0x1D88 JUMP JUMPDEST PUSH2 0x982 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x225 SWAP2 SWAP1 PUSH2 0x2609 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x248 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x243 SWAP2 SWAP1 PUSH2 0x1D88 JUMP JUMPDEST PUSH2 0xA52 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP2 SWAP1 PUSH2 0x25B1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x278 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x273 SWAP2 SWAP1 PUSH2 0x1D88 JUMP JUMPDEST PUSH2 0xB4F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x285 SWAP2 SWAP1 PUSH2 0x25E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2A8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2A3 SWAP2 SWAP1 PUSH2 0x1D88 JUMP JUMPDEST PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2B5 SWAP2 SWAP1 PUSH2 0x256D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2D8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2D3 SWAP2 SWAP1 PUSH2 0x1CF6 JUMP JUMPDEST PUSH2 0xE29 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2E5 SWAP2 SWAP1 PUSH2 0x28C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x308 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x303 SWAP2 SWAP1 PUSH2 0x1D88 JUMP JUMPDEST PUSH2 0xE62 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x315 SWAP2 SWAP1 PUSH2 0x263F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x338 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x333 SWAP2 SWAP1 PUSH2 0x1D88 JUMP JUMPDEST PUSH2 0xF62 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x345 SWAP2 SWAP1 PUSH2 0x258F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x35A DUP4 PUSH2 0xB4F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x20 DUP3 MLOAD GT PUSH2 0x36E JUMPI DUP2 MLOAD PUSH2 0x371 JUMP JUMPDEST PUSH1 0x20 JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3EA JUMPI PUSH1 0x8 DUP2 PUSH2 0x38B SWAP2 SWAP1 PUSH2 0x2F40 JUMP JUMPDEST PUSH1 0xFF PUSH1 0xF8 SHL DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x3A3 JUMPI PUSH2 0x3A2 PUSH2 0x3346 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL AND PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 SHR DUP5 OR SWAP4 POP DUP1 DUP1 PUSH2 0x3E2 SWAP1 PUSH2 0x31E6 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x376 JUMP JUMPDEST POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP3 PUSH1 0x40 ADD MLOAD PUSH1 0xFF AND EQ PUSH2 0x43E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x435 SWAP1 PUSH2 0x2761 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x452 DUP4 PUSH1 0x0 ADD MLOAD DUP5 PUSH1 0x60 ADD MLOAD PUSH2 0x1108 JUMP JUMPDEST SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP1 AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT PUSH2 0x4AA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4A1 SWAP1 PUSH2 0x2721 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4D0 JUMPI PUSH2 0x4CF PUSH2 0x3375 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x4FE JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x57F JUMPI PUSH1 0x0 PUSH2 0x52F DUP7 PUSH1 0x0 ADD MLOAD PUSH2 0x786 JUMP JUMPDEST SWAP1 POP PUSH2 0x53A DUP2 PUSH2 0x982 JUMP JUMPDEST DUP4 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MLOAD DUP2 LT PUSH2 0x557 JUMPI PUSH2 0x556 PUSH2 0x3346 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD SWAP1 PUSH1 0xF SIGNEXTEND SWAP1 DUP2 PUSH1 0xF SIGNEXTEND DUP2 MSTORE POP POP POP DUP1 DUP1 PUSH2 0x577 SWAP1 PUSH2 0x325C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x504 JUMP JUMPDEST POP DUP1 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP3 PUSH1 0x40 ADD MLOAD PUSH1 0xFF AND EQ PUSH2 0x5D6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5CD SWAP1 PUSH2 0x2761 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x5EA DUP4 PUSH1 0x0 ADD MLOAD DUP5 PUSH1 0x60 ADD MLOAD PUSH2 0x1108 JUMP JUMPDEST SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP1 AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT PUSH2 0x642 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x639 SWAP1 PUSH2 0x2721 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x668 JUMPI PUSH2 0x667 PUSH2 0x3375 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x696 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x717 JUMPI PUSH1 0x0 PUSH2 0x6C7 DUP7 PUSH1 0x0 ADD MLOAD PUSH2 0x786 JUMP JUMPDEST SWAP1 POP PUSH2 0x6D2 DUP2 PUSH2 0x8D8 JUMP JUMPDEST DUP4 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MLOAD DUP2 LT PUSH2 0x6EF JUMPI PUSH2 0x6EE PUSH2 0x3346 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x3 SIGNEXTEND SWAP1 DUP2 PUSH1 0x3 SIGNEXTEND DUP2 MSTORE POP POP POP DUP1 DUP1 PUSH2 0x70F SWAP1 PUSH2 0x325C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x69C JUMP JUMPDEST POP DUP1 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x40 ADD MLOAD PUSH1 0xFF AND EQ PUSH2 0x76D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x764 SWAP1 PUSH2 0x26A1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x77F DUP3 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x60 ADD MLOAD PUSH2 0x1108 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x78E PUSH2 0x1AA6 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x0 ADD MLOAD MLOAD GT PUSH2 0x7D6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7CD SWAP1 PUSH2 0x27A1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0xFF SWAP1 POP PUSH1 0x0 DUP1 PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 POP PUSH1 0x0 PUSH1 0x1 SWAP1 POP JUMPDEST DUP1 ISZERO PUSH2 0x83A JUMPI PUSH2 0x801 DUP8 PUSH2 0x11FB JUMP JUMPDEST SWAP5 POP PUSH1 0x5 DUP6 PUSH1 0xFF AND SWAP1 SHR SWAP4 POP PUSH1 0x1F DUP6 AND SWAP3 POP PUSH1 0x6 DUP5 PUSH1 0xFF AND EQ ISZERO PUSH2 0x830 JUMPI PUSH2 0x829 DUP8 DUP5 PUSH2 0x1108 JUMP JUMPDEST SWAP2 POP PUSH2 0x835 JUMP JUMPDEST PUSH1 0x0 SWAP1 POP JUMPDEST PUSH2 0x7F2 JUMP JUMPDEST PUSH1 0x7 DUP5 PUSH1 0xFF AND GT ISZERO PUSH2 0x881 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x878 SWAP1 PUSH2 0x27E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 DUP9 DUP2 MSTORE PUSH1 0x20 ADD DUP7 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP6 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP SWAP6 POP POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x7 DUP3 PUSH1 0x40 ADD MLOAD PUSH1 0xFF AND EQ PUSH2 0x924 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x91B SWAP1 PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x19 DUP3 PUSH1 0x60 ADD MLOAD PUSH1 0xFF AND EQ PUSH2 0x96E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x965 SWAP1 PUSH2 0x2881 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x97B DUP3 PUSH1 0x0 ADD MLOAD PUSH2 0x129C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 PUSH1 0x40 ADD MLOAD PUSH1 0xFF AND EQ ISZERO PUSH2 0x9E8 JUMPI PUSH1 0x0 PUSH2 0x9A8 DUP4 PUSH1 0x0 ADD MLOAD DUP5 PUSH1 0x60 ADD MLOAD PUSH2 0x1108 JUMP JUMPDEST SWAP1 POP DUP1 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x9E0 SWAP2 SWAP1 PUSH2 0x2F9A JUMP JUMPDEST SWAP2 POP POP PUSH2 0xA4D JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x40 ADD MLOAD PUSH1 0xFF AND EQ ISZERO PUSH2 0xA12 JUMPI PUSH2 0xA01 DUP3 PUSH2 0x722 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH2 0xA4D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA44 SWAP1 PUSH2 0x2841 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA66 DUP3 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x60 ADD MLOAD PUSH2 0x1108 JUMP JUMPDEST DUP3 PUSH1 0x80 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH1 0x7 DUP3 PUSH1 0x40 ADD MLOAD PUSH1 0xFF AND EQ PUSH2 0xACF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAC6 SWAP1 PUSH2 0x2741 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x14 DUP3 PUSH1 0x80 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xAEF JUMPI PUSH1 0x0 SWAP1 POP PUSH2 0xB4A JUMP JUMPDEST PUSH1 0x15 DUP3 PUSH1 0x80 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xB0F JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0xB4A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB41 SWAP1 PUSH2 0x2801 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0xB63 DUP3 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x60 ADD MLOAD PUSH2 0x1108 JUMP JUMPDEST DUP3 PUSH1 0x80 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH4 0xFFFFFFFF DUP1 AND DUP3 PUSH1 0x80 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xC72 JUMPI PUSH1 0x60 PUSH1 0x0 PUSH2 0xBB4 DUP5 PUSH1 0x0 ADD MLOAD DUP6 PUSH1 0x40 ADD MLOAD PUSH2 0x13AF JUMP JUMPDEST SWAP1 POP PUSH4 0xFFFFFFFF DUP1 AND DUP2 PUSH4 0xFFFFFFFF AND LT ISZERO PUSH2 0xC68 JUMPI DUP2 PUSH2 0xBE2 DUP3 DUP7 PUSH1 0x0 ADD MLOAD PUSH2 0x1465 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xBF3 SWAP3 SWAP2 SWAP1 PUSH2 0x24DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP2 POP PUSH2 0xC16 DUP5 PUSH1 0x0 ADD MLOAD DUP6 PUSH1 0x40 ADD MLOAD PUSH2 0x13AF JUMP JUMPDEST SWAP1 POP PUSH4 0xFFFFFFFF DUP1 AND DUP2 PUSH4 0xFFFFFFFF AND LT ISZERO PUSH2 0xC67 JUMPI DUP2 PUSH2 0xC44 DUP3 DUP7 PUSH1 0x0 ADD MLOAD PUSH2 0x1465 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xC55 SWAP3 SWAP2 SWAP1 PUSH2 0x24DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP2 POP JUMPDEST JUMPDEST DUP2 SWAP3 POP POP POP PUSH2 0xC90 JUMP JUMPDEST PUSH2 0xC8D DUP3 PUSH1 0x80 ADD MLOAD DUP4 PUSH1 0x0 ADD MLOAD PUSH2 0x1465 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP3 PUSH1 0x40 ADD MLOAD PUSH1 0xFF AND EQ PUSH2 0xCE1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCD8 SWAP1 PUSH2 0x2861 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xCF5 DUP4 PUSH1 0x0 ADD MLOAD DUP5 PUSH1 0x60 ADD MLOAD PUSH2 0x1108 JUMP JUMPDEST SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP1 AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT PUSH2 0xD4D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD44 SWAP1 PUSH2 0x2721 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xD73 JUMPI PUSH2 0xD72 PUSH2 0x3375 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xDA6 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0xD91 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0xE1E JUMPI PUSH1 0x0 PUSH2 0xDD7 DUP7 PUSH1 0x0 ADD MLOAD PUSH2 0x786 JUMP JUMPDEST SWAP1 POP PUSH2 0xDE2 DUP2 PUSH2 0xE62 JUMP JUMPDEST DUP4 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MLOAD DUP2 LT PUSH2 0xDFF JUMPI PUSH2 0xDFE PUSH2 0x3346 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP POP DUP1 DUP1 PUSH2 0xE16 SWAP1 PUSH2 0x325C JUMP JUMPDEST SWAP2 POP POP PUSH2 0xDAC JUMP JUMPDEST POP DUP1 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE31 PUSH2 0x1AA6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP SWAP1 POP PUSH2 0xE5A DUP2 PUSH2 0x786 JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0xE76 DUP3 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x60 ADD MLOAD PUSH2 0x1108 JUMP JUMPDEST DUP3 PUSH1 0x80 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH8 0xFFFFFFFFFFFFFFFF DUP1 AND DUP3 PUSH1 0x80 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xF48 JUMPI PUSH1 0x60 PUSH1 0x0 JUMPDEST DUP1 PUSH2 0xF3E JUMPI PUSH1 0x0 PUSH2 0xED3 DUP6 PUSH1 0x0 ADD MLOAD DUP7 PUSH1 0x40 ADD MLOAD PUSH2 0x13AF JUMP JUMPDEST SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP1 AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0xF33 JUMPI DUP3 PUSH2 0xF0C DUP7 PUSH1 0x0 ADD MLOAD PUSH1 0x4 DUP5 PUSH2 0xF07 SWAP2 SWAP1 PUSH2 0x2BA8 JUMP JUMPDEST PUSH2 0x1579 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xF1D SWAP3 SWAP2 SWAP1 PUSH2 0x24DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP PUSH2 0xF38 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP JUMPDEST POP PUSH2 0xEBA JUMP JUMPDEST DUP2 SWAP3 POP POP POP PUSH2 0xF5D JUMP JUMPDEST PUSH2 0xF5A DUP3 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x80 ADD MLOAD PUSH2 0x1579 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP3 PUSH1 0x40 ADD MLOAD PUSH1 0xFF AND EQ PUSH2 0xFAE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFA5 SWAP1 PUSH2 0x27C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xFC2 DUP4 PUSH1 0x0 ADD MLOAD DUP5 PUSH1 0x60 ADD MLOAD PUSH2 0x1108 JUMP JUMPDEST SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP1 AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT PUSH2 0x101A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1011 SWAP1 PUSH2 0x2721 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1040 JUMPI PUSH2 0x103F PUSH2 0x3375 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x106E JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x10FD JUMPI PUSH1 0x0 PUSH2 0x109F DUP7 PUSH1 0x0 ADD MLOAD PUSH2 0x786 JUMP JUMPDEST SWAP1 POP PUSH2 0x10AA DUP2 PUSH2 0x722 JUMP JUMPDEST DUP4 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MLOAD DUP2 LT PUSH2 0x10C7 JUMPI PUSH2 0x10C6 PUSH2 0x3346 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP POP DUP1 DUP1 PUSH2 0x10F5 SWAP1 PUSH2 0x325C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1074 JUMP JUMPDEST POP DUP1 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x18 DUP3 PUSH1 0xFF AND LT ISZERO PUSH2 0x1121 JUMPI DUP2 PUSH1 0xFF AND SWAP1 POP PUSH2 0x11F5 JUMP JUMPDEST PUSH1 0x18 DUP3 PUSH1 0xFF AND EQ ISZERO PUSH2 0x1140 JUMPI PUSH2 0x1136 DUP4 PUSH2 0x11FB JUMP JUMPDEST PUSH1 0xFF AND SWAP1 POP PUSH2 0x11F5 JUMP JUMPDEST PUSH1 0x19 DUP3 PUSH1 0xFF AND EQ ISZERO PUSH2 0x1160 JUMPI PUSH2 0x1155 DUP4 PUSH2 0x16D5 JUMP JUMPDEST PUSH2 0xFFFF AND SWAP1 POP PUSH2 0x11F5 JUMP JUMPDEST PUSH1 0x1A DUP3 PUSH1 0xFF AND EQ ISZERO PUSH2 0x1182 JUMPI PUSH2 0x1175 DUP4 PUSH2 0x1788 JUMP JUMPDEST PUSH4 0xFFFFFFFF AND SWAP1 POP PUSH2 0x11F5 JUMP JUMPDEST PUSH1 0x1B DUP3 PUSH1 0xFF AND EQ ISZERO PUSH2 0x119E JUMPI PUSH2 0x1197 DUP4 PUSH2 0x183B JUMP JUMPDEST SWAP1 POP PUSH2 0x11F5 JUMP JUMPDEST PUSH1 0x1F DUP3 PUSH1 0xFF AND EQ ISZERO PUSH2 0x11BA JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 POP PUSH2 0x11F5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11EC SWAP1 PUSH2 0x26E1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x20 ADD MLOAD DUP3 PUSH1 0x0 ADD MLOAD MLOAD DUP1 DUP3 PUSH4 0xFFFFFFFF AND LT PUSH2 0x1250 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1247 SWAP1 PUSH2 0x26C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x0 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP6 PUSH1 0x20 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 DUP5 ADD ADD MLOAD SWAP1 POP DUP7 PUSH1 0x20 ADD DUP1 MLOAD DUP1 SWAP2 SWAP1 PUSH2 0x127F SWAP1 PUSH2 0x322F JUMP JUMPDEST PUSH4 0xFFFFFFFF AND PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP POP DUP1 SWAP6 POP POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x12A8 DUP4 PUSH2 0x16D5 JUMP JUMPDEST PUSH2 0xFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0x8000 DUP3 AND SWAP1 POP PUSH1 0x0 PUSH1 0xF PUSH1 0xA PUSH2 0x7C00 DUP6 AND PUSH1 0x3 SIGNEXTEND SWAP1 SAR PUSH2 0x12D1 SWAP2 SWAP1 PUSH2 0x301E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x3FF DUP5 AND SWAP1 POP PUSH1 0xF DUP3 PUSH1 0x3 SIGNEXTEND EQ ISZERO PUSH2 0x12F0 JUMPI PUSH2 0x400 DUP2 OR SWAP1 POP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x3 SIGNEXTEND SLT PUSH2 0x132E JUMPI PUSH1 0xA PUSH2 0x400 DUP4 PUSH1 0x3 SIGNEXTEND OR PUSH2 0x2710 DUP6 PUSH1 0x3 SIGNEXTEND PUSH1 0x1 SWAP1 SHL PUSH2 0x131B SWAP2 SWAP1 PUSH2 0x2D4A JUMP JUMPDEST PUSH2 0x1325 SWAP2 SWAP1 PUSH2 0x2D4A JUMP JUMPDEST SWAP1 SAR SWAP1 POP PUSH2 0x1365 JUMP JUMPDEST PUSH1 0xA DUP4 PUSH2 0x133A SWAP1 PUSH2 0x329F JUMP JUMPDEST PUSH1 0x3 SIGNEXTEND PUSH1 0x1 SWAP1 SHL PUSH2 0x2710 PUSH2 0x400 DUP6 PUSH1 0x3 SIGNEXTEND OR PUSH2 0x1356 SWAP2 SWAP1 PUSH2 0x2D4A JUMP JUMPDEST PUSH2 0x1360 SWAP2 SWAP1 PUSH2 0x2B3E JUMP JUMPDEST SWAP1 SAR SWAP1 POP JUMPDEST PUSH1 0x0 DUP5 PUSH4 0xFFFFFFFF AND EQ PUSH2 0x13A2 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 PUSH2 0x139F SWAP2 SWAP1 PUSH2 0x2E61 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x13BB DUP5 PUSH2 0x11FB JUMP JUMPDEST SWAP1 POP PUSH1 0xFF DUP2 PUSH1 0xFF AND EQ ISZERO PUSH2 0x13DA JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP2 POP POP PUSH2 0x145F JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13E9 DUP6 PUSH1 0x1F DUP5 AND PUSH2 0x1108 JUMP JUMPDEST SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP1 AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT DUP1 ISZERO PUSH2 0x141A JUMPI POP DUP4 PUSH1 0xFF AND PUSH1 0x5 DUP4 PUSH1 0xFF AND SWAP1 SHR PUSH1 0xFF AND EQ JUMPDEST PUSH2 0x1459 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1450 SWAP1 PUSH2 0x2781 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP3 POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH1 0x0 ADD MLOAD MLOAD DUP3 DUP5 PUSH1 0x20 ADD MLOAD PUSH2 0x147D SWAP2 SWAP1 PUSH2 0x2B04 JUMP JUMPDEST PUSH4 0xFFFFFFFF AND GT ISZERO PUSH2 0x14C4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14BB SWAP1 PUSH2 0x2701 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH4 0xFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x14E6 JUMPI PUSH2 0x14E5 PUSH2 0x3375 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1518 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP4 PUSH4 0xFFFFFFFF AND EQ PUSH2 0x156F JUMPI PUSH1 0x0 DUP5 PUSH1 0x0 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP6 PUSH1 0x20 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP1 DUP3 PUSH1 0x20 DUP6 ADD ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP1 POP PUSH2 0x155D DUP2 DUP4 DUP10 PUSH4 0xFFFFFFFF AND PUSH2 0x18EE JUMP JUMPDEST PUSH2 0x1569 DUP9 DUP9 PUSH1 0x1 PUSH2 0x19BA JUMP JUMPDEST POP POP POP POP POP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x0 JUMPDEST DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x16CA JUMPI PUSH1 0x0 PUSH2 0x15A6 DUP7 PUSH2 0x11FB JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x80 DUP3 AND PUSH1 0xFF AND EQ PUSH2 0x1692 JUMPI PUSH1 0xE0 DUP2 PUSH1 0xFF AND LT ISZERO PUSH2 0x15F0 JUMPI PUSH1 0x3F PUSH2 0x15CD DUP8 PUSH2 0x11FB JUMP JUMPDEST AND PUSH1 0x6 PUSH1 0x1F DUP4 AND PUSH1 0xFF AND SWAP1 SHL OR SWAP1 POP PUSH1 0x1 DUP6 PUSH2 0x15E9 SWAP2 SWAP1 PUSH2 0x30CA JUMP JUMPDEST SWAP5 POP PUSH2 0x1691 JUMP JUMPDEST PUSH1 0xF0 DUP2 PUSH1 0xFF AND LT ISZERO PUSH2 0x163E JUMPI PUSH1 0x3F PUSH2 0x1607 DUP8 PUSH2 0x11FB JUMP JUMPDEST AND PUSH1 0x6 PUSH1 0x3F PUSH2 0x1615 DUP10 PUSH2 0x11FB JUMP JUMPDEST AND PUSH1 0xFF AND SWAP1 SHL PUSH1 0xC PUSH1 0xF DUP5 AND PUSH1 0xFF AND SWAP1 SHL OR OR SWAP1 POP PUSH1 0x2 DUP6 PUSH2 0x1637 SWAP2 SWAP1 PUSH2 0x30CA JUMP JUMPDEST SWAP5 POP PUSH2 0x1690 JUMP JUMPDEST PUSH1 0x3F PUSH2 0x1649 DUP8 PUSH2 0x11FB JUMP JUMPDEST AND PUSH1 0x6 PUSH1 0x3F PUSH2 0x1657 DUP10 PUSH2 0x11FB JUMP JUMPDEST AND PUSH1 0xFF AND SWAP1 SHL PUSH1 0xC PUSH1 0x3F PUSH2 0x166A DUP11 PUSH2 0x11FB JUMP JUMPDEST AND PUSH1 0xFF AND SWAP1 SHL PUSH1 0x12 PUSH1 0xF DUP6 AND PUSH1 0xFF AND SWAP1 SHL OR OR OR SWAP1 POP PUSH1 0x3 DUP6 PUSH2 0x168D SWAP2 SWAP1 PUSH2 0x30CA JUMP JUMPDEST SWAP5 POP JUMPDEST JUMPDEST JUMPDEST DUP3 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x16A5 SWAP3 SWAP2 SWAP1 PUSH2 0x2501 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP POP DUP1 DUP1 PUSH2 0x16C2 SWAP1 PUSH2 0x325C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x157F JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 PUSH1 0x20 ADD MLOAD PUSH2 0x16E8 SWAP2 SWAP1 PUSH2 0x2B04 JUMP JUMPDEST DUP3 PUSH1 0x0 ADD MLOAD MLOAD DUP1 DUP3 PUSH4 0xFFFFFFFF AND LT PUSH2 0x1736 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x172D SWAP1 PUSH2 0x26C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x0 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP6 PUSH1 0x20 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x2 DUP5 ADD ADD MLOAD SWAP1 POP PUSH1 0x2 DUP8 PUSH1 0x20 ADD DUP2 DUP2 MLOAD PUSH2 0x1766 SWAP2 SWAP1 PUSH2 0x2B04 JUMP JUMPDEST SWAP2 POP SWAP1 PUSH4 0xFFFFFFFF AND SWAP1 DUP2 PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP POP DUP1 SWAP6 POP POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 DUP3 PUSH1 0x20 ADD MLOAD PUSH2 0x179B SWAP2 SWAP1 PUSH2 0x2B04 JUMP JUMPDEST DUP3 PUSH1 0x0 ADD MLOAD MLOAD DUP1 DUP3 PUSH4 0xFFFFFFFF AND LT PUSH2 0x17E9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x17E0 SWAP1 PUSH2 0x26C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x0 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP6 PUSH1 0x20 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x4 DUP5 ADD ADD MLOAD SWAP1 POP PUSH1 0x4 DUP8 PUSH1 0x20 ADD DUP2 DUP2 MLOAD PUSH2 0x1819 SWAP2 SWAP1 PUSH2 0x2B04 JUMP JUMPDEST SWAP2 POP SWAP1 PUSH4 0xFFFFFFFF AND SWAP1 DUP2 PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP POP DUP1 SWAP6 POP POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x7 DUP3 PUSH1 0x20 ADD MLOAD PUSH2 0x184E SWAP2 SWAP1 PUSH2 0x2B04 JUMP JUMPDEST DUP3 PUSH1 0x0 ADD MLOAD MLOAD DUP1 DUP3 PUSH4 0xFFFFFFFF AND LT PUSH2 0x189C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1893 SWAP1 PUSH2 0x26C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x0 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP6 PUSH1 0x20 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x8 DUP5 ADD ADD MLOAD SWAP1 POP PUSH1 0x8 DUP8 PUSH1 0x20 ADD DUP2 DUP2 MLOAD PUSH2 0x18CC SWAP2 SWAP1 PUSH2 0x2B04 JUMP JUMPDEST SWAP2 POP SWAP1 PUSH4 0xFFFFFFFF AND SWAP1 DUP2 PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP POP DUP1 SWAP6 POP POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 GT PUSH2 0x1931 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1928 SWAP1 PUSH2 0x2821 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST PUSH1 0x20 DUP2 LT PUSH2 0x1970 JUMPI DUP2 MLOAD DUP4 MSTORE PUSH1 0x20 DUP4 PUSH2 0x194B SWAP2 SWAP1 PUSH2 0x2AAE JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP3 PUSH2 0x195A SWAP2 SWAP1 PUSH2 0x2AAE JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP2 PUSH2 0x1969 SWAP2 SWAP1 PUSH2 0x3096 JUMP JUMPDEST SWAP1 POP PUSH2 0x1932 JUMP JUMPDEST PUSH1 0x0 DUP2 GT ISZERO PUSH2 0x19B5 JUMPI PUSH1 0x0 PUSH1 0x1 DUP3 PUSH1 0x20 PUSH2 0x198A SWAP2 SWAP1 PUSH2 0x3096 JUMP JUMPDEST PUSH2 0x100 PUSH2 0x1997 SWAP2 SWAP1 PUSH2 0x2C2C JUMP JUMPDEST PUSH2 0x19A1 SWAP2 SWAP1 PUSH2 0x3096 JUMP JUMPDEST SWAP1 POP DUP1 NOT DUP4 MLOAD AND DUP2 DUP6 MLOAD AND DUP2 DUP2 OR DUP7 MSTORE POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO PUSH2 0x1A32 JUMPI DUP3 PUSH4 0xFFFFFFFF AND DUP5 PUSH1 0x20 ADD MLOAD DUP5 PUSH2 0x19D9 SWAP2 SWAP1 PUSH2 0x2B04 JUMP JUMPDEST PUSH4 0xFFFFFFFF AND GT PUSH2 0x1A1F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A16 SWAP1 PUSH2 0x28A1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH1 0x20 ADD MLOAD DUP4 PUSH2 0x1A2F SWAP2 SWAP1 PUSH2 0x2B04 JUMP JUMPDEST SWAP3 POP JUMPDEST DUP4 PUSH1 0x0 ADD MLOAD MLOAD DUP4 PUSH4 0xFFFFFFFF AND GT ISZERO PUSH2 0x1A80 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A77 SWAP1 PUSH2 0x2661 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 DUP5 PUSH1 0x20 ADD SWAP1 PUSH4 0xFFFFFFFF AND SWAP1 DUP2 PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP POP DUP4 PUSH1 0x20 ADD MLOAD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH2 0x1AB9 PUSH2 0x1AFF JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B32 PUSH2 0x1B2D DUP5 PUSH2 0x2923 JUMP JUMPDEST PUSH2 0x28FE JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1B4E JUMPI PUSH2 0x1B4D PUSH2 0x33B3 JUMP JUMPDEST JUMPDEST PUSH2 0x1B59 DUP5 DUP3 DUP6 PUSH2 0x3173 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1B76 JUMPI PUSH2 0x1B75 PUSH2 0x33A4 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1B86 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1B1F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1BA5 JUMPI PUSH2 0x1BA4 PUSH2 0x33A9 JUMP JUMPDEST JUMPDEST PUSH2 0x1BAF PUSH1 0x40 PUSH2 0x28FE JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1BCF JUMPI PUSH2 0x1BCE PUSH2 0x33AE JUMP JUMPDEST JUMPDEST PUSH2 0x1BDB DUP5 DUP3 DUP6 ADD PUSH2 0x1B61 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x1BEF DUP5 DUP3 DUP6 ADD PUSH2 0x1CB7 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1C11 JUMPI PUSH2 0x1C10 PUSH2 0x33A9 JUMP JUMPDEST JUMPDEST PUSH2 0x1C1B PUSH1 0xC0 PUSH2 0x28FE JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1C3B JUMPI PUSH2 0x1C3A PUSH2 0x33AE JUMP JUMPDEST JUMPDEST PUSH2 0x1C47 DUP5 DUP3 DUP6 ADD PUSH2 0x1B8F JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x1C5B DUP5 DUP3 DUP6 ADD PUSH2 0x1CE1 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 PUSH2 0x1C6F DUP5 DUP3 DUP6 ADD PUSH2 0x1CE1 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 PUSH2 0x1C83 DUP5 DUP3 DUP6 ADD PUSH2 0x1CE1 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 PUSH2 0x1C97 DUP5 DUP3 DUP6 ADD PUSH2 0x1CCC JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 PUSH2 0x1CAB DUP5 DUP3 DUP6 ADD PUSH2 0x1CCC JUMP JUMPDEST PUSH1 0xA0 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1CC6 DUP2 PUSH2 0x3B92 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1CDB DUP2 PUSH2 0x3BA9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1CF0 DUP2 PUSH2 0x3BC0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D0C JUMPI PUSH2 0x1D0B PUSH2 0x33BD JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D2A JUMPI PUSH2 0x1D29 PUSH2 0x33B8 JUMP JUMPDEST JUMPDEST PUSH2 0x1D36 DUP5 DUP3 DUP6 ADD PUSH2 0x1B61 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D55 JUMPI PUSH2 0x1D54 PUSH2 0x33BD JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D73 JUMPI PUSH2 0x1D72 PUSH2 0x33B8 JUMP JUMPDEST JUMPDEST PUSH2 0x1D7F DUP5 DUP3 DUP6 ADD PUSH2 0x1B8F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D9E JUMPI PUSH2 0x1D9D PUSH2 0x33BD JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1DBC JUMPI PUSH2 0x1DBB PUSH2 0x33B8 JUMP JUMPDEST JUMPDEST PUSH2 0x1DC8 DUP5 DUP3 DUP6 ADD PUSH2 0x1BFB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DDD DUP4 DUP4 PUSH2 0x208C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DF5 DUP4 DUP4 PUSH2 0x20AA JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E0D DUP4 DUP4 PUSH2 0x20F2 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E21 DUP4 DUP4 PUSH2 0x24A8 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E38 DUP3 PUSH2 0x2994 JUMP JUMPDEST PUSH2 0x1E42 DUP2 DUP6 PUSH2 0x2A0A JUMP JUMPDEST SWAP4 POP PUSH2 0x1E4D DUP4 PUSH2 0x2954 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1E7E JUMPI DUP2 MLOAD PUSH2 0x1E65 DUP9 DUP3 PUSH2 0x1DD1 JUMP JUMPDEST SWAP8 POP PUSH2 0x1E70 DUP4 PUSH2 0x29D6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1E51 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E96 DUP3 PUSH2 0x299F JUMP JUMPDEST PUSH2 0x1EA0 DUP2 DUP6 PUSH2 0x2A1B JUMP JUMPDEST SWAP4 POP PUSH2 0x1EAB DUP4 PUSH2 0x2964 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1EDC JUMPI DUP2 MLOAD PUSH2 0x1EC3 DUP9 DUP3 PUSH2 0x1DE9 JUMP JUMPDEST SWAP8 POP PUSH2 0x1ECE DUP4 PUSH2 0x29E3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1EAF JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EF4 DUP3 PUSH2 0x29AA JUMP JUMPDEST PUSH2 0x1EFE DUP2 DUP6 PUSH2 0x2A2C JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x1F10 DUP6 PUSH2 0x2974 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x1F4C JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x1F2D DUP6 DUP3 PUSH2 0x1E01 JUMP JUMPDEST SWAP5 POP PUSH2 0x1F38 DUP4 PUSH2 0x29F0 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1F14 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F69 DUP3 PUSH2 0x29B5 JUMP JUMPDEST PUSH2 0x1F73 DUP2 DUP6 PUSH2 0x2A3D JUMP JUMPDEST SWAP4 POP PUSH2 0x1F7E DUP4 PUSH2 0x2984 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1FAF JUMPI DUP2 MLOAD PUSH2 0x1F96 DUP9 DUP3 PUSH2 0x1E15 JUMP JUMPDEST SWAP8 POP PUSH2 0x1FA1 DUP4 PUSH2 0x29FD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1F82 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1FC5 DUP2 PUSH2 0x30FE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1FD4 DUP2 PUSH2 0x310A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FE5 DUP3 PUSH2 0x29C0 JUMP JUMPDEST PUSH2 0x1FEF DUP2 DUP6 PUSH2 0x2A4E JUMP JUMPDEST SWAP4 POP PUSH2 0x1FFF DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x3182 JUMP JUMPDEST PUSH2 0x2008 DUP2 PUSH2 0x33C2 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x201E DUP3 PUSH2 0x29C0 JUMP JUMPDEST PUSH2 0x2028 DUP2 DUP6 PUSH2 0x2A5F JUMP JUMPDEST SWAP4 POP PUSH2 0x2038 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x3182 JUMP JUMPDEST PUSH2 0x2041 DUP2 PUSH2 0x33C2 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2057 DUP3 PUSH2 0x29C0 JUMP JUMPDEST PUSH2 0x2061 DUP2 DUP6 PUSH2 0x2A70 JUMP JUMPDEST SWAP4 POP PUSH2 0x2071 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x3182 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2086 DUP2 PUSH2 0x3114 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2095 DUP2 PUSH2 0x3114 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x20A4 DUP2 PUSH2 0x312B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x20B3 DUP2 PUSH2 0x312B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20C4 DUP3 PUSH2 0x29CB JUMP JUMPDEST PUSH2 0x20CE DUP2 DUP6 PUSH2 0x2A8C JUMP JUMPDEST SWAP4 POP PUSH2 0x20DE DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x3182 JUMP JUMPDEST PUSH2 0x20E7 DUP2 PUSH2 0x33C2 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20FD DUP3 PUSH2 0x29CB JUMP JUMPDEST PUSH2 0x2107 DUP2 DUP6 PUSH2 0x2A9D JUMP JUMPDEST SWAP4 POP PUSH2 0x2117 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x3182 JUMP JUMPDEST PUSH2 0x2120 DUP2 PUSH2 0x33C2 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2138 PUSH1 0x35 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x2143 DUP3 PUSH2 0x33ED JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x215B PUSH1 0x54 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x2166 DUP3 PUSH2 0x343C JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x217E PUSH1 0x51 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x2189 DUP3 PUSH2 0x34B1 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21A1 PUSH1 0x49 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x21AC DUP3 PUSH2 0x3526 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21C4 PUSH1 0x54 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x21CF DUP3 PUSH2 0x359B JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21E7 PUSH1 0x35 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x21F2 DUP3 PUSH2 0x3610 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x220A PUSH1 0x41 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x2215 DUP3 PUSH2 0x365F JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x222D PUSH1 0x57 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x2238 DUP3 PUSH2 0x36D4 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2250 PUSH1 0x53 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x225B DUP3 PUSH2 0x3749 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2273 PUSH1 0x2B DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x227E DUP3 PUSH2 0x37BE JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2296 PUSH1 0x3C DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x22A1 DUP3 PUSH2 0x380D JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22B9 PUSH1 0x53 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x22C4 DUP3 PUSH2 0x385C JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22DC PUSH1 0x29 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x22E7 DUP3 PUSH2 0x38D1 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22FF PUSH1 0x5C DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x230A DUP3 PUSH2 0x3920 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2322 PUSH1 0x21 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x232D DUP3 PUSH2 0x3995 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2345 PUSH1 0x57 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x2350 DUP3 PUSH2 0x39E4 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2368 PUSH1 0x53 DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x2373 DUP3 PUSH2 0x3A59 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x238B PUSH1 0x5B DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x2396 DUP3 PUSH2 0x3ACE JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23AE PUSH1 0x2B DUP4 PUSH2 0x2A7B JUMP JUMPDEST SWAP2 POP PUSH2 0x23B9 DUP3 PUSH2 0x3B43 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x23E1 DUP3 DUP3 PUSH2 0x2013 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x23F6 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x248A JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x241E DUP3 DUP3 PUSH2 0x23C4 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x2433 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x24B7 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x2446 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x24B7 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x2459 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x24B7 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x246C PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x24A8 JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x247F PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x24A8 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2493 DUP2 PUSH2 0x3142 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x24A2 DUP2 PUSH2 0x3152 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x24B1 DUP2 PUSH2 0x3152 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x24C0 DUP2 PUSH2 0x3166 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x24D7 PUSH2 0x24D2 DUP3 PUSH2 0x3166 JUMP JUMPDEST PUSH2 0x328D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24E9 DUP3 DUP6 PUSH2 0x204C JUMP JUMPDEST SWAP2 POP PUSH2 0x24F5 DUP3 DUP5 PUSH2 0x204C JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x250D DUP3 DUP6 PUSH2 0x204C JUMP JUMPDEST SWAP2 POP PUSH2 0x2519 DUP3 DUP5 PUSH2 0x24C6 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2543 DUP2 DUP5 PUSH2 0x1E2D JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2565 DUP2 DUP5 PUSH2 0x1E8B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2587 DUP2 DUP5 PUSH2 0x1EE9 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x25A9 DUP2 DUP5 PUSH2 0x1F5E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x25C6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1FBC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x25E1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1FCB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2601 DUP2 DUP5 PUSH2 0x1FDA JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x261E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x207D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2639 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x209B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2659 DUP2 DUP5 PUSH2 0x20B9 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x267A DUP2 PUSH2 0x212B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x269A DUP2 PUSH2 0x214E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x26BA DUP2 PUSH2 0x2171 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x26DA DUP2 PUSH2 0x2194 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x26FA DUP2 PUSH2 0x21B7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x271A DUP2 PUSH2 0x21DA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x273A DUP2 PUSH2 0x21FD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x275A DUP2 PUSH2 0x2220 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x277A DUP2 PUSH2 0x2243 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x279A DUP2 PUSH2 0x2266 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x27BA DUP2 PUSH2 0x2289 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x27DA DUP2 PUSH2 0x22AC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x27FA DUP2 PUSH2 0x22CF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x281A DUP2 PUSH2 0x22F2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x283A DUP2 PUSH2 0x2315 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x285A DUP2 PUSH2 0x2338 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x287A DUP2 PUSH2 0x235B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x289A DUP2 PUSH2 0x237E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x28BA DUP2 PUSH2 0x23A1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x28DB DUP2 DUP5 PUSH2 0x2401 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x28F8 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2499 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2908 PUSH2 0x2919 JUMP JUMPDEST SWAP1 POP PUSH2 0x2914 DUP3 DUP3 PUSH2 0x31B5 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x293E JUMPI PUSH2 0x293D PUSH2 0x3375 JUMP JUMPDEST JUMPDEST PUSH2 0x2947 DUP3 PUSH2 0x33C2 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AB9 DUP3 PUSH2 0x3138 JUMP JUMPDEST SWAP2 POP PUSH2 0x2AC4 DUP4 PUSH2 0x3138 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x2AF9 JUMPI PUSH2 0x2AF8 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B0F DUP3 PUSH2 0x3142 JUMP JUMPDEST SWAP2 POP PUSH2 0x2B1A DUP4 PUSH2 0x3142 JUMP JUMPDEST SWAP3 POP DUP3 PUSH4 0xFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x2B33 JUMPI PUSH2 0x2B32 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B49 DUP3 PUSH2 0x3121 JUMP JUMPDEST SWAP2 POP PUSH2 0x2B54 DUP4 PUSH2 0x3121 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x2B64 JUMPI PUSH2 0x2B63 PUSH2 0x3317 JUMP JUMPDEST JUMPDEST PUSH1 0x1 PUSH1 0x0 SUB DUP4 EQ PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 DUP4 EQ AND ISZERO PUSH2 0x2B9D JUMPI PUSH2 0x2B9C PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SDIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BB3 DUP3 PUSH2 0x3152 JUMP JUMPDEST SWAP2 POP PUSH2 0x2BBE DUP4 PUSH2 0x3152 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x2BCE JUMPI PUSH2 0x2BCD PUSH2 0x3317 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP2 POP DUP4 SWAP1 POP JUMPDEST PUSH1 0x1 DUP6 GT ISZERO PUSH2 0x2C23 JUMPI DUP1 DUP7 DIV DUP2 GT ISZERO PUSH2 0x2BFF JUMPI PUSH2 0x2BFE PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP6 AND ISZERO PUSH2 0x2C0E JUMPI DUP1 DUP3 MUL SWAP2 POP JUMPDEST DUP1 DUP2 MUL SWAP1 POP PUSH2 0x2C1C DUP6 PUSH2 0x33E0 JUMP JUMPDEST SWAP5 POP PUSH2 0x2BE3 JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C37 DUP3 PUSH2 0x3138 JUMP JUMPDEST SWAP2 POP PUSH2 0x2C42 DUP4 PUSH2 0x3138 JUMP JUMPDEST SWAP3 POP PUSH2 0x2C6F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 DUP5 PUSH2 0x2C77 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2C87 JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x2D43 JUMP JUMPDEST DUP2 PUSH2 0x2C95 JUMPI PUSH1 0x0 SWAP1 POP PUSH2 0x2D43 JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x2CAB JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x2CB5 JUMPI PUSH2 0x2CE4 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x2D43 JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x2CC7 JUMPI PUSH2 0x2CC6 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP4 PUSH1 0x2 EXP SWAP2 POP DUP5 DUP3 GT ISZERO PUSH2 0x2CDE JUMPI PUSH2 0x2CDD PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST POP PUSH2 0x2D43 JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x2D19 JUMPI DUP3 DUP3 EXP SWAP1 POP DUP4 DUP2 GT ISZERO PUSH2 0x2D14 JUMPI PUSH2 0x2D13 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST PUSH2 0x2D43 JUMP JUMPDEST PUSH2 0x2D26 DUP5 DUP5 DUP5 PUSH1 0x1 PUSH2 0x2BD9 JUMP JUMPDEST SWAP3 POP SWAP1 POP DUP2 DUP5 DIV DUP2 GT ISZERO PUSH2 0x2D3D JUMPI PUSH2 0x2D3C PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP2 DUP2 MUL SWAP1 POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D55 DUP3 PUSH2 0x3121 JUMP JUMPDEST SWAP2 POP PUSH2 0x2D60 DUP4 PUSH2 0x3121 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP3 GT PUSH1 0x0 DUP5 SGT PUSH1 0x0 DUP5 SGT AND AND ISZERO PUSH2 0x2D9F JUMPI PUSH2 0x2D9E PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP2 PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 SDIV DUP4 SLT PUSH1 0x0 DUP5 SLT PUSH1 0x0 DUP5 SGT AND AND ISZERO PUSH2 0x2DDC JUMPI PUSH2 0x2DDB PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 SDIV DUP3 SLT PUSH1 0x0 DUP5 SGT PUSH1 0x0 DUP5 SLT AND AND ISZERO PUSH2 0x2E19 JUMPI PUSH2 0x2E18 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SDIV DUP3 SLT PUSH1 0x0 DUP5 SLT PUSH1 0x0 DUP5 SLT AND AND ISZERO PUSH2 0x2E56 JUMPI PUSH2 0x2E55 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E6C DUP3 PUSH2 0x312B JUMP JUMPDEST SWAP2 POP PUSH2 0x2E77 DUP4 PUSH2 0x312B JUMP JUMPDEST SWAP3 POP DUP3 PUSH4 0x7FFFFFFF DIV DUP3 GT PUSH1 0x0 DUP5 SGT PUSH1 0x0 DUP5 SGT AND AND ISZERO PUSH2 0x2E9A JUMPI PUSH2 0x2E99 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80000000 SDIV DUP4 SLT PUSH1 0x0 DUP5 SLT PUSH1 0x0 DUP5 SGT AND AND ISZERO PUSH2 0x2ED7 JUMPI PUSH2 0x2ED6 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80000000 SDIV DUP3 SLT PUSH1 0x0 DUP5 SGT PUSH1 0x0 DUP5 SLT AND AND ISZERO PUSH2 0x2F14 JUMPI PUSH2 0x2F13 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 PUSH4 0x7FFFFFFF SDIV DUP3 SLT PUSH1 0x0 DUP5 SLT PUSH1 0x0 DUP5 SLT AND AND ISZERO PUSH2 0x2F35 JUMPI PUSH2 0x2F34 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F4B DUP3 PUSH2 0x3138 JUMP JUMPDEST SWAP2 POP PUSH2 0x2F56 DUP4 PUSH2 0x3138 JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x2F8F JUMPI PUSH2 0x2F8E PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FA5 DUP3 PUSH2 0x3114 JUMP JUMPDEST SWAP2 POP PUSH2 0x2FB0 DUP4 PUSH2 0x3114 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80000000000000000000000000000000 ADD DUP3 SLT PUSH1 0x0 DUP5 SLT ISZERO AND ISZERO PUSH2 0x2FEB JUMPI PUSH2 0x2FEA PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 PUSH16 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ADD DUP3 SGT PUSH1 0x0 DUP5 SLT AND ISZERO PUSH2 0x3013 JUMPI PUSH2 0x3012 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3029 DUP3 PUSH2 0x312B JUMP JUMPDEST SWAP2 POP PUSH2 0x3034 DUP4 PUSH2 0x312B JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80000000 ADD DUP3 SLT PUSH1 0x0 DUP5 SLT ISZERO AND ISZERO PUSH2 0x306F JUMPI PUSH2 0x306E PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 PUSH4 0x7FFFFFFF ADD DUP3 SGT PUSH1 0x0 DUP5 SLT AND ISZERO PUSH2 0x308B JUMPI PUSH2 0x308A PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x30A1 DUP3 PUSH2 0x3138 JUMP JUMPDEST SWAP2 POP PUSH2 0x30AC DUP4 PUSH2 0x3138 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x30BF JUMPI PUSH2 0x30BE PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x30D5 DUP3 PUSH2 0x3152 JUMP JUMPDEST SWAP2 POP PUSH2 0x30E0 DUP4 PUSH2 0x3152 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x30F3 JUMPI PUSH2 0x30F2 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0xF SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x3 SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x31A0 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x3185 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x31AF JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x31BE DUP3 PUSH2 0x33C2 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x31DD JUMPI PUSH2 0x31DC PUSH2 0x3375 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x31F1 DUP3 PUSH2 0x3138 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x3224 JUMPI PUSH2 0x3223 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x323A DUP3 PUSH2 0x3142 JUMP JUMPDEST SWAP2 POP PUSH4 0xFFFFFFFF DUP3 EQ ISZERO PUSH2 0x3251 JUMPI PUSH2 0x3250 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3267 DUP3 PUSH2 0x3152 JUMP JUMPDEST SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x3282 JUMPI PUSH2 0x3281 PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3298 DUP3 PUSH2 0x33D3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32AA DUP3 PUSH2 0x312B JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80000000 DUP3 EQ ISZERO PUSH2 0x32DD JUMPI PUSH2 0x32DC PUSH2 0x32E8 JUMP JUMPDEST JUMPDEST DUP2 PUSH1 0x0 SUB SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0xF8 SHL SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 SHR SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x5769746E65744275666665723A204E6F7420656E6F7567682062797465732069 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6E20627566666572207768656E207365656B696E670000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20547269656420746F207265616420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6120606669786564602076616C75652066726F6D2061206057542E43424F5260 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x2077697468206D616A6F725479706520213D2037000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20547269656420746F207265616420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6075696E743634602066726F6D206120605769746E65742E43424F5260207769 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x7468206D616A6F725479706520213D2030000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744275666665723A20547269656420746F20726561642066726F6D PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206120636F6E73756D65642042756666657220286D75737420726577696E6420 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x6974206669727374290000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20496E76616C6964206C656E677468 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20656E636F64696E6720286E6F6E2D6578697374656E74206164646974696F6E PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x616C496E666F726D6174696F6E2076616C756529000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744275666665723A204E6F7420656E6F7567682062797465732069 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6E20627566666572207768656E2072656164696E670000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20496E646566696E6974652D6C656E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6774682043424F522061727261797320617265206E6F7420737570706F727465 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x6400000000000000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20547269656420746F207265616420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x612060626F6F6C602076616C75652066726F6D206120605769746E65742E4342 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4F52602077697468206D616A6F725479706520213D2037000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20547269656420746F207265616420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x60696E743132385B5D602066726F6D206120605769746E65742E43424F526020 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x77697468206D616A6F725479706520213D203400000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20496E76616C696420696E64656669 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6E697465206C656E677468000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20466F756E6420656D707479206275 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x66666572207768656E2070617273696E672043424F522076616C756500000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20547269656420746F207265616420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6075696E7436345B5D602066726F6D206120605769746E65742E43424F526020 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x77697468206D616A6F725479706520213D203400000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20496E76616C69642043424F52206D PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x616A6F7220747970650000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20547269656420746F207265616420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x60626F6F6C602066726F6D206120605769746E65742E43424F52602077697468 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x206C656E20646966666572656E74207468616E203230206F7220323100000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744275666665723A2043616E6E6F7420636F707920302062797465 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7300000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20547269656420746F207265616420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x60696E74313238602066726F6D206120605769746E65742E43424F5260207769 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x7468206D616A6F7254797065206E6F742030206F722031000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20547269656420746F207265616420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x60737472696E675B5D602066726F6D206120605769746E65742E43424F526020 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x77697468206D616A6F725479706520213D203400000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744465636F6465724C69623A20547269656420746F207265616420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6066697865643136602066726F6D2061206057542E43424F5260207769746820 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x6164646974696F6E616C496E666F726D6174696F6E20213D2032350000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65744275666665723A20496E7465676572206F766572666C6F772077 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x68656E207365656B696E67000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x3B9B DUP2 PUSH2 0x3142 JUMP JUMPDEST DUP2 EQ PUSH2 0x3BA6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3BB2 DUP2 PUSH2 0x3152 JUMP JUMPDEST DUP2 EQ PUSH2 0x3BBD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3BC9 DUP2 PUSH2 0x3166 JUMP JUMPDEST DUP2 EQ PUSH2 0x3BD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG4 0xD4 0xD1 LT 0xE1 0xCA SWAP15 PUSH16 0x5FBECBC2CD493E629DFA4AE32D005565 0xF6 SWAP13 PUSH4 0x361D2074 REVERT PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ","sourceMap":"814:13642:52:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3073:301;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6340:642;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4634:641;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8941:287;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10936:925;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3932:406;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5482:647;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1202:538;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1947:909;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8092:642;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10405:197;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7188:693;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9439:642;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3073:301;3147:16;3171;3190:23;3202:10;3190:11;:23::i;:::-;3171:42;;3219:9;3244:2;3231:3;:10;:15;:33;;3254:3;:10;3231:33;;;3249:2;3231:33;3219:45;;3275:7;3270:100;3293:4;3288:2;:9;3270:100;;;3361:1;3356:2;:6;;;;:::i;:::-;3346:4;3336:14;;:3;3340:2;3336:7;;;;;;;;:::i;:::-;;;;;;;;;;:14;3328:23;;;:35;;3316:47;;;;3299:5;;;;;:::i;:::-;;;;3270:100;;;;3165:209;;3073:301;;;:::o;6340:642::-;6420:15;6475:1;6451:10;:20;;;:25;;;6443:121;;;;;;;;;;;;:::i;:::-;;;;;;;;;6571:13;6587:63;6598:10;:17;;;6617:10;:32;;;6587:10;:63::i;:::-;6571:79;;983:16;6664:20;;:6;:20;;;6656:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;6761:21;6798:6;6785:20;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6761:44;;6816:8;6811:148;6834:6;6830:10;;:1;:10;;;6811:148;;;6855:23;6881:34;6897:10;:17;;;6881:15;:34::i;:::-;6855:60;;6934:18;6947:4;6934:12;:18::i;:::-;6923:5;6929:1;6923:8;;;;;;;;;;:::i;:::-;;;;;;;:29;;;;;;;;;;;6847:112;6842:3;;;;;:::i;:::-;;;;6811:148;;;;6972:5;6965:12;;;;6340:642;;;:::o;4634:641::-;4715:14;4769:1;4745:10;:20;;;:25;;;4737:121;;;;;;;;;;;;:::i;:::-;;;;;;;;;4865:13;4881:63;4892:10;:17;;;4911:10;:32;;;4881:10;:63::i;:::-;4865:79;;983:16;4958:20;;:6;:20;;;4950:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;5055:20;5090:6;5078:19;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5055:42;;5108:8;5103:149;5126:6;5122:10;;:1;:10;;;5103:149;;;5147:23;5173:34;5189:10;:17;;;5173:15;:34::i;:::-;5147:60;;5226:19;5240:4;5226:13;:19::i;:::-;5215:5;5221:1;5215:8;;;;;;;;;;:::i;:::-;;;;;;;:30;;;;;;;;;;;5139:113;5134:3;;;;;:::i;:::-;;;;5103:149;;;;5265:5;5258:12;;;;4634:641;;;:::o;8941:287::-;9014:6;9060:1;9036:10;:20;;;:25;;;9028:119;;;;;;;;;;;;:::i;:::-;;;;;;;;;9160:63;9171:10;:17;;;9190:10;:32;;;9160:10;:63::i;:::-;9153:70;;8941:287;;;:::o;10936:925::-;11011:18;;:::i;:::-;11067:1;11045:7;:12;;;:19;:23;11037:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;11140:17;11163:15;11181:3;11163:21;;11190:27;11223:10;983:16;11223:24;;11254:13;11270:4;11254:20;;11280:376;11287:8;11280:376;;;11375:19;:7;:17;:19::i;:::-;11361:33;;11429:1;11414:11;:16;;;;11402:28;;11476:4;11462:11;:18;11438:42;;11539:1;11526:9;:14;;;11522:128;;;11558:42;11569:7;11578:21;11558:10;:42::i;:::-;11552:48;;11522:128;;;11636:5;11625:16;;11522:128;11280:376;;;11683:1;11670:9;:14;;;;11662:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11744:112;;;;;;;;11763:7;11744:112;;;;11778:11;11744:112;;;;;;11797:9;11744:112;;;;;;11814:21;11744:112;;;;;;11843:1;11744:112;;;;;;11852:3;11744:112;;;;;11737:119;;;;;;;10936:925;;;:::o;3932:406::-;4006:5;4051:1;4027:10;:20;;;:25;;;4019:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;4191:2;4155:10;:32;;;:38;;;4147:142;;;;;;;;;;;;:::i;:::-;;;;;;;;;4302:31;:10;:17;;;:29;:31::i;:::-;4295:38;;3932:406;;;:::o;5482:647::-;5555:6;5597:1;5573:10;:20;;;:25;;;5569:453;;;5608:13;5624:63;5635:10;:17;;;5654:10;:32;;;5624:10;:63::i;:::-;5608:79;;5730:6;5722:15;;5709:2;5702:36;;;;:::i;:::-;5695:43;;;;;5569:453;5779:1;5755:10;:20;;;:25;;;5751:271;;;5989:24;6002:10;5989:12;:24::i;:::-;5981:33;;5967:48;;;;5751:271;6027:97;;;;;;;;;;:::i;:::-;;;;;;;;5482:647;;;;:::o;1202:538::-;1273:4;1302:63;1313:10;:17;;;1332:10;:32;;;1302:10;:63::i;:::-;1285:10;:14;;:80;;;;;;;;;;;1403:1;1379:10;:20;;;:25;;;1371:125;;;;;;;;;;;;:::i;:::-;;;;;;;;;1524:2;1506:10;:14;;;:20;;;1502:234;;;1543:5;1536:12;;;;1502:234;1583:2;1565:10;:14;;;:20;;;1561:175;;;1602:4;1595:11;;;;1561:175;1627:102;;;;;;;;;;:::i;:::-;;;;;;;;1202:538;;;;:::o;1947:909::-;2019:12;2056:63;2067:10;:17;;;2086:10;:32;;;2056:10;:63::i;:::-;2039:10;:14;;:80;;;;;;;;;;;924:16;2129:29;;:10;:14;;;:29;;;2125:727;;;2168:22;2286:17;2313:67;2340:10;:17;;;2359:10;:20;;;2313:26;:67::i;:::-;2286:95;;924:16;2393:24;;:10;:24;;;2389:359;;;2458:9;2469:34;2492:10;2469;:17;;;:22;;:34;;;;:::i;:::-;2441:63;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2429:75;;2534:67;2561:10;:17;;;2580:10;:20;;;2534:26;:67::i;:::-;2514:88;;924:16;2616:24;;:10;:24;;;2612:128;;;2683:9;2694:34;2717:10;2694;:17;;;:22;;:34;;;;:::i;:::-;2666:63;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2654:75;;2612:128;2389:359;2762:9;2755:16;;;;;;2125:727;2799:46;2829:10;:14;;;2799:10;:17;;;:22;;:46;;;;:::i;:::-;2792:53;;1947:909;;;;:::o;8092:642::-;8172:15;8227:1;8203:10;:20;;;:25;;;8195:121;;;;;;;;;;;;:::i;:::-;;;;;;;;;8323:13;8339:63;8350:10;:17;;;8369:10;:32;;;8339:10;:63::i;:::-;8323:79;;983:16;8416:20;;:6;:20;;;8408:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;8513:21;8550:6;8537:20;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8513:44;;8568:8;8563:148;8586:6;8582:10;;:1;:10;;;8563:148;;;8607:23;8633:34;8649:10;:17;;;8633:15;:34::i;:::-;8607:60;;8686:18;8699:4;8686:12;:18::i;:::-;8675:5;8681:1;8675:8;;;;;;;;;;:::i;:::-;;;;;;;:29;;;;8599:112;8594:3;;;;;:::i;:::-;;;;8563:148;;;;8724:5;8717:12;;;;8092:642;;;:::o;10405:197::-;10476:18;;:::i;:::-;10502:27;10532:28;;;;;;;;10546:10;10532:28;;;;10558:1;10532:28;;;;;10502:58;;10574:23;10590:6;10574:15;:23::i;:::-;10567:30;;;10405:197;;;:::o;7188:693::-;7261:13;7299:63;7310:10;:17;;;7329:10;:32;;;7299:10;:63::i;:::-;7282:10;:14;;:80;;;;;;;;;;;983:16;7372:29;;:10;:14;;;:29;;;7368:509;;;7411:21;7440:9;7457:304;7465:4;7457:304;;7481:17;7501:67;7528:10;:17;;;7547:10;:20;;;7501:26;:67::i;:::-;7481:87;;983:16;7582:24;;:10;:24;;;7578:175;;;7648:8;7658:43;7667:10;:17;;;7699:1;7686:10;:14;;;;:::i;:::-;7658:8;:43::i;:::-;7631:71;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7620:82;;7578:175;;;7738:4;7731:11;;7578:175;7471:290;7457:304;;;7782:8;7768:23;;;;;;7368:509;7826:43;7835:10;:17;;;7854:10;:14;;;7826:8;:43::i;:::-;7812:58;;7188:693;;;;:::o;9439:642::-;9519:15;9574:1;9550:10;:20;;;:25;;;9542:121;;;;;;;;;;;;:::i;:::-;;;;;;;;;9670:13;9686:63;9697:10;:17;;;9716:10;:32;;;9686:10;:63::i;:::-;9670:79;;983:16;9763:20;;:6;:20;;;9755:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;9860:21;9897:6;9884:20;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9860:44;;9915:8;9910:148;9933:6;9929:10;;:1;:10;;;9910:148;;;9954:23;9980:34;9996:10;:17;;;9980:15;:34::i;:::-;9954:60;;10033:18;10046:4;10033:12;:18::i;:::-;10022:5;10028:1;10022:8;;;;;;;;;;:::i;:::-;;;;;;;:29;;;;;;;;;;;9946:112;9941:3;;;;;:::i;:::-;;;;9910:148;;;;10071:5;10064:12;;;;9439:642;;;:::o;12033:683::-;12133:6;12175:2;12151:21;:26;;;12147:75;;;12194:21;12187:28;;;;;;12147:75;12256:2;12231:21;:27;;;12227:74;;;12275:19;:7;:17;:19::i;:::-;12268:26;;;;;;12227:74;12335:2;12310:21;:27;;;12306:75;;;12354:20;:7;:18;:20::i;:::-;12347:27;;;;;;12306:75;12415:2;12390:21;:27;;;12386:75;;;12434:20;:7;:18;:20::i;:::-;12427:27;;;;;;12386:75;12495:2;12470:21;:27;;;12466:75;;;12514:20;:7;:18;:20::i;:::-;12507:27;;;;12466:75;12575:2;12550:21;:27;;;12546:66;;;983:16;12587:18;;;;12546:66;12617:94;;;;;;;;;;:::i;:::-;;;;;;;;12033:683;;;;;:::o;4691:349:51:-;4815:5;4769:7;:14;;;4785:7;:12;;;:19;813:6;805:5;:14;;;797:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;4828:23:::1;4854:7;:12;;;4828:38;;4872:13;4888:7;:14;;;4872:30;;4908:11;4981:6;4977:1;4965:10;4961:18;4957:31;4951:38;4942:47;;5000:7;:14;;:16;;;;;;;;:::i;:::-;;;;;;;::::0;::::1;5030:5;5023:12;;;;;4691:349:::0;;;;;:::o;8806:1064::-;8880:5;8893:17;8913:19;8924:7;8913:10;:19::i;:::-;8893:39;;;;8967:11;8994:6;8981:10;:19;8967:33;;9118:14;9172:2;9166;9155:6;9142:10;:19;9136:32;;;;9135:39;;;;:::i;:::-;9118:56;;9204:17;9243:6;9230:10;:19;9204:46;;9326:2;9314:8;:14;;;9310:55;;;9353:5;9338:20;;;;9310:55;9426:12;9464:1;9452:8;:13;;;9448:293;;9589:2;9578:5;9562:11;9555:19;;9547:36;9532:5;9518:8;9511:16;;9498:1;:30;;9491:46;;;;:::i;:::-;:93;;;;:::i;:::-;9490:101;;9475:117;;9448:293;;;9731:2;9715:8;9713:10;;;:::i;:::-;9706:18;;9693:1;:32;;9677:5;9668;9652:11;9645:19;;9637:36;9630:52;;;;:::i;:::-;9629:97;;;;:::i;:::-;9628:105;;9613:121;;9448:293;9816:1;9808:4;:9;;;9804:43;;9837:3;9827:13;;;;;:::i;:::-;;;9804:43;9859:6;9852:13;;;;;;;8806:1064;;;:::o;12890:422:52:-;12994:6;13008:17;13028:19;:7;:17;:19::i;:::-;13008:39;;13072:4;13057:11;:19;;;13053:58;;;983:16;13086:18;;;;;13053:58;13116:13;13132:39;13143:7;13166:4;13152:11;:18;13132:10;:39::i;:::-;13116:55;;983:16;13185:20;;:6;:20;;;:55;;;;;13231:9;13209:31;;13225:1;13210:11;:16;;;;13209:31;;;13185:55;13177:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;13301:6;13294:13;;;;12890:422;;;;;:::o;1233:1032:51:-;1316:12;1441:7;:12;;;:19;1430:7;1413;:14;;;:24;;;;:::i;:::-;:47;;;;1405:113;;;;;;;;;;;;:::i;:::-;;;;;;;;;1578:24;1615:7;1605:18;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1578:45;;1696:1;1685:7;:12;;;1681:556;;1707:19;1729:7;:12;;;1707:34;;1749:13;1765:7;:14;;;1749:30;;1841:18;1867:23;1955:6;1950:2;1942:6;1938:15;1934:28;1917:45;;2010:2;1997:11;1993:20;1971:42;;2085:56;2092:18;2112:13;2132:7;2127:13;;2085:6;:56::i;:::-;2202:28;2207:7;2216;2225:4;2202;:28::i;:::-;;1699:538;;;;1681:556;2249:11;2242:18;;;1233:1032;;;;:::o;13561:893:52:-;13646:12;13666:19;13696:12;13691:740;13722:7;13714:15;;:5;:15;;;13691:740;;;13748:11;13762:19;:7;:17;:19::i;:::-;13748:33;;13809:1;13801:4;13793:5;:12;:17;;;13789:588;;13834:4;13826:5;:12;;;13822:547;;;13917:4;13895:19;:7;:17;:19::i;:::-;:26;13878:1;13869:4;13861:5;:12;13860:19;;;;:62;13852:70;;13945:1;13934:12;;;;;:::i;:::-;;;13822:547;;;13975:4;13967:5;:12;;;13963:406;;;14107:4;14085:19;:7;:17;:19::i;:::-;:26;14068:1;14059:4;14037:19;:7;:17;:19::i;:::-;:26;14036:33;;;;14019:2;14010:4;14002:5;:12;14001:20;;;;:68;:111;13993:119;;14135:1;14124:12;;;;;:::i;:::-;;;13963:406;;;14329:4;14307:19;:7;:17;:19::i;:::-;:26;14289:1;14280:4;14258:19;:7;:17;:19::i;:::-;:26;14257:33;;;;14240:2;14231:4;14209:19;:7;:17;:19::i;:::-;:26;14208:34;;;;14191:2;14182:4;14174:5;:12;14173:20;;;;:69;:117;:161;14165:169;;14357:1;14346:12;;;;;:::i;:::-;;;13963:406;13822:547;13789:588;14410:6;14418:5;14393:31;;;;;;;;;:::i;:::-;;;;;;;;;;;;;14384:40;;13740:691;13731:7;;;;;:::i;:::-;;;;13691:740;;;;14443:6;14436:13;;;13561:893;;;;:::o;5279:359:51:-;5408:6;5375:1;5358:7;:14;;;:18;;;;:::i;:::-;5378:7;:12;;;:19;813:6;805:5;:14;;;797:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;5422:23:::1;5448:7;:12;;;5422:38;;5466:13;5482:7;:14;;;5466:30;;5502:12;5576:6;5572:1;5560:10;5556:18;5552:31;5546:38;5537:47;;5613:1;5595:7;:14;;:19;;;;;;;:::i;:::-;;;;;;;;;;;;::::0;::::1;5628:5;5621:12;;;;;5279:359:::0;;;;;:::o;5877:::-;6006:6;5973:1;5956:7;:14;;;:18;;;;:::i;:::-;5976:7;:12;;;:19;813:6;805:5;:14;;;797:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;6020:23:::1;6046:7;:12;;;6020:38;;6064:13;6080:7;:14;;;6064:30;;6100:12;6174:6;6170:1;6158:10;6154:18;6150:31;6144:38;6135:47;;6211:1;6193:7;:14;;:19;;;;;;;:::i;:::-;;;;;;;;;;;;::::0;::::1;6226:5;6219:12;;;;;5877:359:::0;;;;;:::o;6475:::-;6604:6;6571:1;6554:7;:14;;;:18;;;;:::i;:::-;6574:7;:12;;;:19;813:6;805:5;:14;;;797:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;6618:23:::1;6644:7;:12;;;6618:38;;6662:13;6678:7;:14;;;6662:30;;6698:12;6772:6;6768:1;6756:10;6752:18;6748:31;6742:38;6733:47;;6809:1;6791:7;:14;;:19;;;;;;;:::i;:::-;;;;;;;;;;;;::::0;::::1;6824:5;6817:12;;;;;6475:359:::0;;;;;:::o;10360:582::-;10444:1;10437:4;:8;10429:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;10536:135;10551:2;10543:4;:10;10536:135;;10614:4;10608:11;10601:5;10594:26;10644:2;10635:11;;;;;:::i;:::-;;;10662:2;10654:10;;;;;:::i;:::-;;;10563:2;10555:10;;;;;:::i;:::-;;;10536:135;;;10687:1;10680:4;:8;10676:262;;;10728:9;10761:1;10753:4;10748:2;:9;;;;:::i;:::-;10740:3;:18;;;;:::i;:::-;:22;;;;:::i;:::-;10728:34;;10825:4;10821:9;10814:4;10808:11;10804:27;10874:4;10866:5;10860:12;10856:23;10915:7;10905:8;10902:21;10895:5;10888:36;10779:153;;;10676:262;10360:582;;;:::o;3234:532::-;3333:6;3385:9;3381:153;;;3439:7;3412:34;;3422:7;:14;;;3412:7;:24;;;;:::i;:::-;:34;;;3404:90;;;;;;;;;;;;:::i;:::-;;;;;;;;;3513:7;:14;;;3502:25;;;;;:::i;:::-;;;3381:153;3627:7;:12;;;:19;3616:7;:30;;;;3608:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;3727:7;3710;:14;;:24;;;;;;;;;;;3747:7;:14;;;3740:21;;3234:532;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:410:67:-;84:5;109:65;125:48;166:6;125:48;:::i;:::-;109:65;:::i;:::-;100:74;;197:6;190:5;183:21;235:4;228:5;224:16;273:3;264:6;259:3;255:16;252:25;249:112;;;280:79;;:::i;:::-;249:112;370:41;404:6;399:3;394;370:41;:::i;:::-;90:327;7:410;;;;;:::o;436:338::-;491:5;540:3;533:4;525:6;521:17;517:27;507:122;;548:79;;:::i;:::-;507:122;665:6;652:20;690:78;764:3;756:6;749:4;741:6;737:17;690:78;:::i;:::-;681:87;;497:277;436:338;;;;:::o;808:743::-;881:5;925:4;913:9;908:3;904:19;900:30;897:117;;;933:79;;:::i;:::-;897:117;1032:21;1048:4;1032:21;:::i;:::-;1023:30;;1140:1;1129:9;1125:17;1112:31;1170:18;1162:6;1159:30;1156:117;;;1192:79;;:::i;:::-;1156:117;1312:58;1366:3;1357:6;1346:9;1342:22;1312:58;:::i;:::-;1305:4;1298:5;1294:16;1287:84;1063:319;1443:2;1484:48;1528:3;1519:6;1508:9;1504:22;1484:48;:::i;:::-;1477:4;1470:5;1466:16;1459:74;1392:152;808:743;;;;:::o;1583:1422::-;1654:5;1698:4;1686:9;1681:3;1677:19;1673:30;1670:117;;;1706:79;;:::i;:::-;1670:117;1805:21;1821:4;1805:21;:::i;:::-;1796:30;;1915:1;1904:9;1900:17;1887:31;1945:18;1937:6;1934:30;1931:117;;;1967:79;;:::i;:::-;1931:117;2087:73;2156:3;2147:6;2136:9;2132:22;2087:73;:::i;:::-;2080:4;2073:5;2069:16;2062:99;1836:336;2238:2;2279:47;2322:3;2313:6;2302:9;2298:22;2279:47;:::i;:::-;2272:4;2265:5;2261:16;2254:73;2182:156;2402:2;2443:47;2486:3;2477:6;2466:9;2462:22;2443:47;:::i;:::-;2436:4;2429:5;2425:16;2418:73;2348:154;2578:2;2619:47;2662:3;2653:6;2642:9;2638:22;2619:47;:::i;:::-;2612:4;2605:5;2601:16;2594:73;2512:166;2736:3;2778:48;2822:3;2813:6;2802:9;2798:22;2778:48;:::i;:::-;2771:4;2764:5;2760:16;2753:74;2688:150;2896:3;2938:48;2982:3;2973:6;2962:9;2958:22;2938:48;:::i;:::-;2931:4;2924:5;2920:16;2913:74;2848:150;1583:1422;;;;:::o;3011:137::-;3056:5;3094:6;3081:20;3072:29;;3110:32;3136:5;3110:32;:::i;:::-;3011:137;;;;:::o;3154:::-;3199:5;3237:6;3224:20;3215:29;;3253:32;3279:5;3253:32;:::i;:::-;3154:137;;;;:::o;3297:135::-;3341:5;3379:6;3366:20;3357:29;;3395:31;3420:5;3395:31;:::i;:::-;3297:135;;;;:::o;3438:507::-;3506:6;3555:2;3543:9;3534:7;3530:23;3526:32;3523:119;;;3561:79;;:::i;:::-;3523:119;3709:1;3698:9;3694:17;3681:31;3739:18;3731:6;3728:30;3725:117;;;3761:79;;:::i;:::-;3725:117;3866:62;3920:7;3911:6;3900:9;3896:22;3866:62;:::i;:::-;3856:72;;3652:286;3438:507;;;;:::o;3951:537::-;4034:6;4083:2;4071:9;4062:7;4058:23;4054:32;4051:119;;;4089:79;;:::i;:::-;4051:119;4237:1;4226:9;4222:17;4209:31;4267:18;4259:6;4256:30;4253:117;;;4289:79;;:::i;:::-;4253:117;4394:77;4463:7;4454:6;4443:9;4439:22;4394:77;:::i;:::-;4384:87;;4180:301;3951:537;;;;:::o;4494:533::-;4575:6;4624:2;4612:9;4603:7;4599:23;4595:32;4592:119;;;4630:79;;:::i;:::-;4592:119;4778:1;4767:9;4763:17;4750:31;4808:18;4800:6;4797:30;4794:117;;;4830:79;;:::i;:::-;4794:117;4935:75;5002:7;4993:6;4982:9;4978:22;4935:75;:::i;:::-;4925:85;;4721:299;4494:533;;;;:::o;5033:191::-;5108:10;5129:52;5177:3;5169:6;5129:52;:::i;:::-;5213:4;5208:3;5204:14;5190:28;;5033:191;;;;:::o;5230:187::-;5303:10;5324:50;5370:3;5362:6;5324:50;:::i;:::-;5406:4;5401:3;5397:14;5383:28;;5230:187;;;;:::o;5423:212::-;5520:10;5555:74;5625:3;5617:6;5555:74;:::i;:::-;5541:88;;5423:212;;;;:::o;5641:191::-;5716:10;5737:52;5785:3;5777:6;5737:52;:::i;:::-;5821:4;5816:3;5812:14;5798:28;;5641:191;;;;:::o;5866:748::-;5991:3;6020:53;6067:5;6020:53;:::i;:::-;6089:93;6175:6;6170:3;6089:93;:::i;:::-;6082:100;;6206:55;6255:5;6206:55;:::i;:::-;6284:7;6315:1;6300:289;6325:6;6322:1;6319:13;6300:289;;;6401:6;6395:13;6428:69;6493:3;6478:13;6428:69;:::i;:::-;6421:76;;6520:59;6572:6;6520:59;:::i;:::-;6510:69;;6360:229;6347:1;6344;6340:9;6335:14;;6300:289;;;6304:14;6605:3;6598:10;;5996:618;;;5866:748;;;;:::o;6646:740::-;6769:3;6798:52;6844:5;6798:52;:::i;:::-;6866:92;6951:6;6946:3;6866:92;:::i;:::-;6859:99;;6982:54;7030:5;6982:54;:::i;:::-;7059:7;7090:1;7075:286;7100:6;7097:1;7094:13;7075:286;;;7176:6;7170:13;7203:67;7266:3;7251:13;7203:67;:::i;:::-;7196:74;;7293:58;7344:6;7293:58;:::i;:::-;7283:68;;7135:226;7122:1;7119;7115:9;7110:14;;7075:286;;;7079:14;7377:3;7370:10;;6774:612;;;6646:740;;;;:::o;7420:1015::-;7567:3;7596:64;7654:5;7596:64;:::i;:::-;7676:104;7773:6;7768:3;7676:104;:::i;:::-;7669:111;;7806:3;7851:4;7843:6;7839:17;7834:3;7830:27;7881:66;7941:5;7881:66;:::i;:::-;7970:7;8001:1;7986:404;8011:6;8008:1;8005:13;7986:404;;;8082:9;8076:4;8072:20;8067:3;8060:33;8133:6;8127:13;8161:92;8248:4;8233:13;8161:92;:::i;:::-;8153:100;;8276:70;8339:6;8276:70;:::i;:::-;8266:80;;8375:4;8370:3;8366:14;8359:21;;8046:344;8033:1;8030;8026:9;8021:14;;7986:404;;;7990:14;8406:4;8399:11;;8426:3;8419:10;;7572:863;;;;;7420:1015;;;;:::o;8469:748::-;8594:3;8623:53;8670:5;8623:53;:::i;:::-;8692:93;8778:6;8773:3;8692:93;:::i;:::-;8685:100;;8809:55;8858:5;8809:55;:::i;:::-;8887:7;8918:1;8903:289;8928:6;8925:1;8922:13;8903:289;;;9004:6;8998:13;9031:69;9096:3;9081:13;9031:69;:::i;:::-;9024:76;;9123:59;9175:6;9123:59;:::i;:::-;9113:69;;8963:229;8950:1;8947;8943:9;8938:14;;8903:289;;;8907:14;9208:3;9201:10;;8599:618;;;8469:748;;;;:::o;9223:117::-;9312:21;9327:5;9312:21;:::i;:::-;9307:3;9300:34;9223:117;;:::o;9346:126::-;9441:24;9459:5;9441:24;:::i;:::-;9436:3;9429:37;9346:126;;:::o;9478:376::-;9572:3;9600:38;9632:5;9600:38;:::i;:::-;9654:78;9725:6;9720:3;9654:78;:::i;:::-;9647:85;;9741:52;9786:6;9781:3;9774:4;9767:5;9763:16;9741:52;:::i;:::-;9818:29;9840:6;9818:29;:::i;:::-;9813:3;9809:39;9802:46;;9576:278;9478:376;;;;:::o;9860:356::-;9944:3;9972:38;10004:5;9972:38;:::i;:::-;10026:68;10087:6;10082:3;10026:68;:::i;:::-;10019:75;;10103:52;10148:6;10143:3;10136:4;10129:5;10125:16;10103:52;:::i;:::-;10180:29;10202:6;10180:29;:::i;:::-;10175:3;10171:39;10164:46;;9948:268;9860:356;;;;:::o;10222:373::-;10326:3;10354:38;10386:5;10354:38;:::i;:::-;10408:88;10489:6;10484:3;10408:88;:::i;:::-;10401:95;;10505:52;10550:6;10545:3;10538:4;10531:5;10527:16;10505:52;:::i;:::-;10582:6;10577:3;10573:16;10566:23;;10330:265;10222:373;;;;:::o;10601:123::-;10694:23;10711:5;10694:23;:::i;:::-;10689:3;10682:36;10601:123;;:::o;10730:113::-;10813:23;10830:5;10813:23;:::i;:::-;10808:3;10801:36;10730:113;;:::o;10849:120::-;10940:22;10956:5;10940:22;:::i;:::-;10935:3;10928:35;10849:120;;:::o;10975:110::-;11056:22;11072:5;11056:22;:::i;:::-;11051:3;11044:35;10975:110;;:::o;11091:380::-;11187:3;11215:39;11248:5;11215:39;:::i;:::-;11270:79;11342:6;11337:3;11270:79;:::i;:::-;11263:86;;11358:52;11403:6;11398:3;11391:4;11384:5;11380:16;11358:52;:::i;:::-;11435:29;11457:6;11435:29;:::i;:::-;11430:3;11426:39;11419:46;;11191:280;11091:380;;;;:::o;11477:360::-;11563:3;11591:39;11624:5;11591:39;:::i;:::-;11646:69;11708:6;11703:3;11646:69;:::i;:::-;11639:76;;11724:52;11769:6;11764:3;11757:4;11750:5;11746:16;11724:52;:::i;:::-;11801:29;11823:6;11801:29;:::i;:::-;11796:3;11792:39;11785:46;;11567:270;11477:360;;;;:::o;11843:366::-;11985:3;12006:67;12070:2;12065:3;12006:67;:::i;:::-;11999:74;;12082:93;12171:3;12082:93;:::i;:::-;12200:2;12195:3;12191:12;12184:19;;11843:366;;;:::o;12215:::-;12357:3;12378:67;12442:2;12437:3;12378:67;:::i;:::-;12371:74;;12454:93;12543:3;12454:93;:::i;:::-;12572:2;12567:3;12563:12;12556:19;;12215:366;;;:::o;12587:::-;12729:3;12750:67;12814:2;12809:3;12750:67;:::i;:::-;12743:74;;12826:93;12915:3;12826:93;:::i;:::-;12944:2;12939:3;12935:12;12928:19;;12587:366;;;:::o;12959:::-;13101:3;13122:67;13186:2;13181:3;13122:67;:::i;:::-;13115:74;;13198:93;13287:3;13198:93;:::i;:::-;13316:2;13311:3;13307:12;13300:19;;12959:366;;;:::o;13331:::-;13473:3;13494:67;13558:2;13553:3;13494:67;:::i;:::-;13487:74;;13570:93;13659:3;13570:93;:::i;:::-;13688:2;13683:3;13679:12;13672:19;;13331:366;;;:::o;13703:::-;13845:3;13866:67;13930:2;13925:3;13866:67;:::i;:::-;13859:74;;13942:93;14031:3;13942:93;:::i;:::-;14060:2;14055:3;14051:12;14044:19;;13703:366;;;:::o;14075:::-;14217:3;14238:67;14302:2;14297:3;14238:67;:::i;:::-;14231:74;;14314:93;14403:3;14314:93;:::i;:::-;14432:2;14427:3;14423:12;14416:19;;14075:366;;;:::o;14447:::-;14589:3;14610:67;14674:2;14669:3;14610:67;:::i;:::-;14603:74;;14686:93;14775:3;14686:93;:::i;:::-;14804:2;14799:3;14795:12;14788:19;;14447:366;;;:::o;14819:::-;14961:3;14982:67;15046:2;15041:3;14982:67;:::i;:::-;14975:74;;15058:93;15147:3;15058:93;:::i;:::-;15176:2;15171:3;15167:12;15160:19;;14819:366;;;:::o;15191:::-;15333:3;15354:67;15418:2;15413:3;15354:67;:::i;:::-;15347:74;;15430:93;15519:3;15430:93;:::i;:::-;15548:2;15543:3;15539:12;15532:19;;15191:366;;;:::o;15563:::-;15705:3;15726:67;15790:2;15785:3;15726:67;:::i;:::-;15719:74;;15802:93;15891:3;15802:93;:::i;:::-;15920:2;15915:3;15911:12;15904:19;;15563:366;;;:::o;15935:::-;16077:3;16098:67;16162:2;16157:3;16098:67;:::i;:::-;16091:74;;16174:93;16263:3;16174:93;:::i;:::-;16292:2;16287:3;16283:12;16276:19;;15935:366;;;:::o;16307:::-;16449:3;16470:67;16534:2;16529:3;16470:67;:::i;:::-;16463:74;;16546:93;16635:3;16546:93;:::i;:::-;16664:2;16659:3;16655:12;16648:19;;16307:366;;;:::o;16679:::-;16821:3;16842:67;16906:2;16901:3;16842:67;:::i;:::-;16835:74;;16918:93;17007:3;16918:93;:::i;:::-;17036:2;17031:3;17027:12;17020:19;;16679:366;;;:::o;17051:::-;17193:3;17214:67;17278:2;17273:3;17214:67;:::i;:::-;17207:74;;17290:93;17379:3;17290:93;:::i;:::-;17408:2;17403:3;17399:12;17392:19;;17051:366;;;:::o;17423:::-;17565:3;17586:67;17650:2;17645:3;17586:67;:::i;:::-;17579:74;;17662:93;17751:3;17662:93;:::i;:::-;17780:2;17775:3;17771:12;17764:19;;17423:366;;;:::o;17795:::-;17937:3;17958:67;18022:2;18017:3;17958:67;:::i;:::-;17951:74;;18034:93;18123:3;18034:93;:::i;:::-;18152:2;18147:3;18143:12;18136:19;;17795:366;;;:::o;18167:::-;18309:3;18330:67;18394:2;18389:3;18330:67;:::i;:::-;18323:74;;18406:93;18495:3;18406:93;:::i;:::-;18524:2;18519:3;18515:12;18508:19;;18167:366;;;:::o;18539:::-;18681:3;18702:67;18766:2;18761:3;18702:67;:::i;:::-;18695:74;;18778:93;18867:3;18778:93;:::i;:::-;18896:2;18891:3;18887:12;18880:19;;18539:366;;;:::o;18963:616::-;19078:3;19114:4;19109:3;19105:14;19201:4;19194:5;19190:16;19184:23;19254:3;19248:4;19244:14;19237:4;19232:3;19228:14;19221:38;19280:79;19354:4;19340:12;19280:79;:::i;:::-;19272:87;;19129:241;19454:4;19447:5;19443:16;19437:23;19473:69;19536:4;19531:3;19527:14;19513:12;19473:69;:::i;:::-;19380:172;19569:4;19562:11;;19083:496;18963:616;;;;:::o;19633:1393::-;19754:3;19790:4;19785:3;19781:14;19879:4;19872:5;19868:16;19862:23;19932:3;19926:4;19922:14;19915:4;19910:3;19906:14;19899:38;19958:109;20062:4;20048:12;19958:109;:::i;:::-;19950:117;;19805:273;20167:4;20160:5;20156:16;20150:23;20186:67;20247:4;20242:3;20238:14;20224:12;20186:67;:::i;:::-;20088:175;20350:4;20343:5;20339:16;20333:23;20369:67;20430:4;20425:3;20421:14;20407:12;20369:67;:::i;:::-;20273:173;20545:4;20538:5;20534:16;20528:23;20564:67;20625:4;20620:3;20616:14;20602:12;20564:67;:::i;:::-;20456:185;20722:4;20715:5;20711:16;20705:23;20741:69;20804:4;20799:3;20795:14;20781:12;20741:69;:::i;:::-;20651:169;20901:4;20894:5;20890:16;20884:23;20920:69;20983:4;20978:3;20974:14;20960:12;20920:69;:::i;:::-;20830:169;21016:4;21009:11;;19759:1267;19633:1393;;;;:::o;21032:113::-;21115:23;21132:5;21115:23;:::i;:::-;21110:3;21103:36;21032:113;;:::o;21151:123::-;21244:23;21261:5;21244:23;:::i;:::-;21239:3;21232:36;21151:123;;:::o;21280:113::-;21363:23;21380:5;21363:23;:::i;:::-;21358:3;21351:36;21280:113;;:::o;21399:110::-;21480:22;21496:5;21480:22;:::i;:::-;21475:3;21468:35;21399:110;;:::o;21515:149::-;21616:41;21634:22;21650:5;21634:22;:::i;:::-;21616:41;:::i;:::-;21611:3;21604:54;21515:149;;:::o;21670:427::-;21846:3;21868:93;21957:3;21948:6;21868:93;:::i;:::-;21861:100;;21978:93;22067:3;22058:6;21978:93;:::i;:::-;21971:100;;22088:3;22081:10;;21670:427;;;;;:::o;22103:403::-;22257:3;22279:93;22368:3;22359:6;22279:93;:::i;:::-;22272:100;;22382:71;22449:3;22440:6;22382:71;:::i;:::-;22478:1;22473:3;22469:11;22462:18;;22497:3;22490:10;;22103:403;;;;;:::o;22512:385::-;22661:4;22699:2;22688:9;22684:18;22676:26;;22748:9;22742:4;22738:20;22734:1;22723:9;22719:17;22712:47;22776:114;22885:4;22876:6;22776:114;:::i;:::-;22768:122;;22512:385;;;;:::o;22903:381::-;23050:4;23088:2;23077:9;23073:18;23065:26;;23137:9;23131:4;23127:20;23123:1;23112:9;23108:17;23101:47;23165:112;23272:4;23263:6;23165:112;:::i;:::-;23157:120;;22903:381;;;;:::o;23290:429::-;23461:4;23499:2;23488:9;23484:18;23476:26;;23548:9;23542:4;23538:20;23534:1;23523:9;23519:17;23512:47;23576:136;23707:4;23698:6;23576:136;:::i;:::-;23568:144;;23290:429;;;;:::o;23725:385::-;23874:4;23912:2;23901:9;23897:18;23889:26;;23961:9;23955:4;23951:20;23947:1;23936:9;23932:17;23925:47;23989:114;24098:4;24089:6;23989:114;:::i;:::-;23981:122;;23725:385;;;;:::o;24116:226::-;24211:4;24249:2;24238:9;24234:18;24226:26;;24262:73;24332:1;24321:9;24317:17;24308:6;24262:73;:::i;:::-;24116:226;;;;:::o;24348:238::-;24449:4;24487:2;24476:9;24472:18;24464:26;;24500:79;24576:1;24565:9;24561:17;24552:6;24500:79;:::i;:::-;24348:238;;;;:::o;24592:325::-;24711:4;24749:2;24738:9;24734:18;24726:26;;24798:9;24792:4;24788:20;24784:1;24773:9;24769:17;24762:47;24826:84;24905:4;24896:6;24826:84;:::i;:::-;24818:92;;24592:325;;;;:::o;24923:234::-;25022:4;25060:2;25049:9;25045:18;25037:26;;25073:77;25147:1;25136:9;25132:17;25123:6;25073:77;:::i;:::-;24923:234;;;;:::o;25163:230::-;25260:4;25298:2;25287:9;25283:18;25275:26;;25311:75;25383:1;25372:9;25368:17;25359:6;25311:75;:::i;:::-;25163:230;;;;:::o;25399:329::-;25520:4;25558:2;25547:9;25543:18;25535:26;;25607:9;25601:4;25597:20;25593:1;25582:9;25578:17;25571:47;25635:86;25716:4;25707:6;25635:86;:::i;:::-;25627:94;;25399:329;;;;:::o;25734:419::-;25900:4;25938:2;25927:9;25923:18;25915:26;;25987:9;25981:4;25977:20;25973:1;25962:9;25958:17;25951:47;26015:131;26141:4;26015:131;:::i;:::-;26007:139;;25734:419;;;:::o;26159:::-;26325:4;26363:2;26352:9;26348:18;26340:26;;26412:9;26406:4;26402:20;26398:1;26387:9;26383:17;26376:47;26440:131;26566:4;26440:131;:::i;:::-;26432:139;;26159:419;;;:::o;26584:::-;26750:4;26788:2;26777:9;26773:18;26765:26;;26837:9;26831:4;26827:20;26823:1;26812:9;26808:17;26801:47;26865:131;26991:4;26865:131;:::i;:::-;26857:139;;26584:419;;;:::o;27009:::-;27175:4;27213:2;27202:9;27198:18;27190:26;;27262:9;27256:4;27252:20;27248:1;27237:9;27233:17;27226:47;27290:131;27416:4;27290:131;:::i;:::-;27282:139;;27009:419;;;:::o;27434:::-;27600:4;27638:2;27627:9;27623:18;27615:26;;27687:9;27681:4;27677:20;27673:1;27662:9;27658:17;27651:47;27715:131;27841:4;27715:131;:::i;:::-;27707:139;;27434:419;;;:::o;27859:::-;28025:4;28063:2;28052:9;28048:18;28040:26;;28112:9;28106:4;28102:20;28098:1;28087:9;28083:17;28076:47;28140:131;28266:4;28140:131;:::i;:::-;28132:139;;27859:419;;;:::o;28284:::-;28450:4;28488:2;28477:9;28473:18;28465:26;;28537:9;28531:4;28527:20;28523:1;28512:9;28508:17;28501:47;28565:131;28691:4;28565:131;:::i;:::-;28557:139;;28284:419;;;:::o;28709:::-;28875:4;28913:2;28902:9;28898:18;28890:26;;28962:9;28956:4;28952:20;28948:1;28937:9;28933:17;28926:47;28990:131;29116:4;28990:131;:::i;:::-;28982:139;;28709:419;;;:::o;29134:::-;29300:4;29338:2;29327:9;29323:18;29315:26;;29387:9;29381:4;29377:20;29373:1;29362:9;29358:17;29351:47;29415:131;29541:4;29415:131;:::i;:::-;29407:139;;29134:419;;;:::o;29559:::-;29725:4;29763:2;29752:9;29748:18;29740:26;;29812:9;29806:4;29802:20;29798:1;29787:9;29783:17;29776:47;29840:131;29966:4;29840:131;:::i;:::-;29832:139;;29559:419;;;:::o;29984:::-;30150:4;30188:2;30177:9;30173:18;30165:26;;30237:9;30231:4;30227:20;30223:1;30212:9;30208:17;30201:47;30265:131;30391:4;30265:131;:::i;:::-;30257:139;;29984:419;;;:::o;30409:::-;30575:4;30613:2;30602:9;30598:18;30590:26;;30662:9;30656:4;30652:20;30648:1;30637:9;30633:17;30626:47;30690:131;30816:4;30690:131;:::i;:::-;30682:139;;30409:419;;;:::o;30834:::-;31000:4;31038:2;31027:9;31023:18;31015:26;;31087:9;31081:4;31077:20;31073:1;31062:9;31058:17;31051:47;31115:131;31241:4;31115:131;:::i;:::-;31107:139;;30834:419;;;:::o;31259:::-;31425:4;31463:2;31452:9;31448:18;31440:26;;31512:9;31506:4;31502:20;31498:1;31487:9;31483:17;31476:47;31540:131;31666:4;31540:131;:::i;:::-;31532:139;;31259:419;;;:::o;31684:::-;31850:4;31888:2;31877:9;31873:18;31865:26;;31937:9;31931:4;31927:20;31923:1;31912:9;31908:17;31901:47;31965:131;32091:4;31965:131;:::i;:::-;31957:139;;31684:419;;;:::o;32109:::-;32275:4;32313:2;32302:9;32298:18;32290:26;;32362:9;32356:4;32352:20;32348:1;32337:9;32333:17;32326:47;32390:131;32516:4;32390:131;:::i;:::-;32382:139;;32109:419;;;:::o;32534:::-;32700:4;32738:2;32727:9;32723:18;32715:26;;32787:9;32781:4;32777:20;32773:1;32762:9;32758:17;32751:47;32815:131;32941:4;32815:131;:::i;:::-;32807:139;;32534:419;;;:::o;32959:::-;33125:4;33163:2;33152:9;33148:18;33140:26;;33212:9;33206:4;33202:20;33198:1;33187:9;33183:17;33176:47;33240:131;33366:4;33240:131;:::i;:::-;33232:139;;32959:419;;;:::o;33384:::-;33550:4;33588:2;33577:9;33573:18;33565:26;;33637:9;33631:4;33627:20;33623:1;33612:9;33608:17;33601:47;33665:131;33791:4;33665:131;:::i;:::-;33657:139;;33384:419;;;:::o;33809:377::-;33954:4;33992:2;33981:9;33977:18;33969:26;;34041:9;34035:4;34031:20;34027:1;34016:9;34012:17;34005:47;34069:110;34174:4;34165:6;34069:110;:::i;:::-;34061:118;;33809:377;;;;:::o;34192:234::-;34291:4;34329:2;34318:9;34314:18;34306:26;;34342:77;34416:1;34405:9;34401:17;34392:6;34342:77;:::i;:::-;34192:234;;;;:::o;34432:129::-;34466:6;34493:20;;:::i;:::-;34483:30;;34522:33;34550:4;34542:6;34522:33;:::i;:::-;34432:129;;;:::o;34567:75::-;34600:6;34633:2;34627:9;34617:19;;34567:75;:::o;34648:307::-;34709:4;34799:18;34791:6;34788:30;34785:56;;;34821:18;;:::i;:::-;34785:56;34859:29;34881:6;34859:29;:::i;:::-;34851:37;;34943:4;34937;34933:15;34925:23;;34648:307;;;:::o;34961:131::-;35027:4;35050:3;35042:11;;35080:4;35075:3;35071:14;35063:22;;34961:131;;;:::o;35098:130::-;35163:4;35186:3;35178:11;;35216:4;35211:3;35207:14;35199:22;;35098:130;;;:::o;35234:142::-;35311:4;35334:3;35326:11;;35364:4;35359:3;35355:14;35347:22;;35234:142;;;:::o;35382:131::-;35448:4;35471:3;35463:11;;35501:4;35496:3;35492:14;35484:22;;35382:131;;;:::o;35519:113::-;35585:6;35619:5;35613:12;35603:22;;35519:113;;;:::o;35638:112::-;35703:6;35737:5;35731:12;35721:22;;35638:112;;;:::o;35756:124::-;35833:6;35867:5;35861:12;35851:22;;35756:124;;;:::o;35886:113::-;35952:6;35986:5;35980:12;35970:22;;35886:113;;;:::o;36005:98::-;36056:6;36090:5;36084:12;36074:22;;36005:98;;;:::o;36109:99::-;36161:6;36195:5;36189:12;36179:22;;36109:99;;;:::o;36214:112::-;36283:4;36315;36310:3;36306:14;36298:22;;36214:112;;;:::o;36332:111::-;36400:4;36432;36427:3;36423:14;36415:22;;36332:111;;;:::o;36449:123::-;36529:4;36561;36556:3;36552:14;36544:22;;36449:123;;;:::o;36578:112::-;36647:4;36679;36674:3;36670:14;36662:22;;36578:112;;;:::o;36696:191::-;36802:11;36836:6;36831:3;36824:19;36876:4;36871:3;36867:14;36852:29;;36696:191;;;;:::o;36893:190::-;36998:11;37032:6;37027:3;37020:19;37072:4;37067:3;37063:14;37048:29;;36893:190;;;;:::o;37089:202::-;37206:11;37240:6;37235:3;37228:19;37280:4;37275:3;37271:14;37256:29;;37089:202;;;;:::o;37297:191::-;37403:11;37437:6;37432:3;37425:19;37477:4;37472:3;37468:14;37453:29;;37297:191;;;;:::o;37494:176::-;37585:11;37619:6;37614:3;37607:19;37659:4;37654:3;37650:14;37635:29;;37494:176;;;;:::o;37676:166::-;37757:11;37791:6;37786:3;37779:19;37831:4;37826:3;37822:14;37807:29;;37676:166;;;;:::o;37848:147::-;37949:11;37986:3;37971:18;;37848:147;;;;:::o;38001:169::-;38085:11;38119:6;38114:3;38107:19;38159:4;38154:3;38150:14;38135:29;;38001:169;;;;:::o;38176:177::-;38268:11;38302:6;38297:3;38290:19;38342:4;38337:3;38333:14;38318:29;;38176:177;;;;:::o;38359:167::-;38441:11;38475:6;38470:3;38463:19;38515:4;38510:3;38506:14;38491:29;;38359:167;;;;:::o;38532:305::-;38572:3;38591:20;38609:1;38591:20;:::i;:::-;38586:25;;38625:20;38643:1;38625:20;:::i;:::-;38620:25;;38779:1;38711:66;38707:74;38704:1;38701:81;38698:107;;;38785:18;;:::i;:::-;38698:107;38829:1;38826;38822:9;38815:16;;38532:305;;;;:::o;38843:246::-;38882:3;38901:19;38918:1;38901:19;:::i;:::-;38896:24;;38934:19;38951:1;38934:19;:::i;:::-;38929:24;;39031:1;39019:10;39015:18;39012:1;39009:25;39006:51;;;39037:18;;:::i;:::-;39006:51;39081:1;39078;39074:9;39067:16;;38843:246;;;;:::o;39095:385::-;39134:1;39151:19;39168:1;39151:19;:::i;:::-;39146:24;;39184:19;39201:1;39184:19;:::i;:::-;39179:24;;39222:1;39212:35;;39227:18;;:::i;:::-;39212:35;39413:1;39410;39406:9;39403:1;39400:16;39319:66;39316:1;39313:73;39296:130;39293:156;;;39429:18;;:::i;:::-;39293:156;39472:1;39469;39464:10;39459:15;;39095:385;;;;:::o;39486:182::-;39525:1;39542:19;39559:1;39542:19;:::i;:::-;39537:24;;39575:19;39592:1;39575:19;:::i;:::-;39570:24;;39613:1;39603:35;;39618:18;;:::i;:::-;39603:35;39660:1;39657;39653:9;39648:14;;39486:182;;;;:::o;39674:848::-;39735:5;39742:4;39766:6;39757:15;;39790:5;39781:14;;39804:712;39825:1;39815:8;39812:15;39804:712;;;39920:4;39915:3;39911:14;39905:4;39902:24;39899:50;;;39929:18;;:::i;:::-;39899:50;39979:1;39969:8;39965:16;39962:451;;;40394:4;40387:5;40383:16;40374:25;;39962:451;40444:4;40438;40434:15;40426:23;;40474:32;40497:8;40474:32;:::i;:::-;40462:44;;39804:712;;;39674:848;;;;;;;:::o;40528:285::-;40588:5;40612:23;40630:4;40612:23;:::i;:::-;40604:31;;40656:27;40674:8;40656:27;:::i;:::-;40644:39;;40702:104;40739:66;40729:8;40723:4;40702:104;:::i;:::-;40693:113;;40528:285;;;;:::o;40819:1073::-;40873:5;41064:8;41054:40;;41085:1;41076:10;;41087:5;;41054:40;41113:4;41103:36;;41130:1;41121:10;;41132:5;;41103:36;41199:4;41247:1;41242:27;;;;41283:1;41278:191;;;;41192:277;;41242:27;41260:1;41251:10;;41262:5;;;41278:191;41323:3;41313:8;41310:17;41307:43;;;41330:18;;:::i;:::-;41307:43;41379:8;41376:1;41372:16;41363:25;;41414:3;41407:5;41404:14;41401:40;;;41421:18;;:::i;:::-;41401:40;41454:5;;;41192:277;;41578:2;41568:8;41565:16;41559:3;41553:4;41550:13;41546:36;41528:2;41518:8;41515:16;41510:2;41504:4;41501:12;41497:35;41481:111;41478:246;;;41634:8;41628:4;41624:19;41615:28;;41669:3;41662:5;41659:14;41656:40;;;41676:18;;:::i;:::-;41656:40;41709:5;;41478:246;41749:42;41787:3;41777:8;41771:4;41768:1;41749:42;:::i;:::-;41734:57;;;;41823:4;41818:3;41814:14;41807:5;41804:25;41801:51;;;41832:18;;:::i;:::-;41801:51;41881:4;41874:5;41870:16;41861:25;;40819:1073;;;;;;:::o;41898:991::-;41937:7;41960:19;41977:1;41960:19;:::i;:::-;41955:24;;41993:19;42010:1;41993:19;:::i;:::-;41988:24;;42194:1;42126:66;42122:74;42119:1;42116:81;42111:1;42108;42104:9;42100:1;42097;42093:9;42089:25;42085:113;42082:139;;;42201:18;;:::i;:::-;42082:139;42405:1;42337:66;42332:75;42329:1;42325:83;42320:1;42317;42313:9;42309:1;42306;42302:9;42298:25;42294:115;42291:141;;;42412:18;;:::i;:::-;42291:141;42616:1;42548:66;42543:75;42540:1;42536:83;42531:1;42528;42524:9;42520:1;42517;42513:9;42509:25;42505:115;42502:141;;;42623:18;;:::i;:::-;42502:141;42826:1;42758:66;42753:75;42750:1;42746:83;42741:1;42738;42734:9;42730:1;42727;42723:9;42719:25;42715:115;42712:141;;;42833:18;;:::i;:::-;42712:141;42881:1;42878;42874:9;42863:20;;41898:991;;;;:::o;42895:876::-;42933:7;42956:18;42972:1;42956:18;:::i;:::-;42951:23;;42988:18;43004:1;42988:18;:::i;:::-;42983:23;;43132:1;43120:10;43116:18;43113:1;43110:25;43105:1;43102;43098:9;43094:1;43091;43087:9;43083:25;43079:57;43076:83;;;43139:18;;:::i;:::-;43076:83;43343:1;43275:66;43270:75;43267:1;43263:83;43258:1;43255;43251:9;43247:1;43244;43240:9;43236:25;43232:115;43229:141;;;43350:18;;:::i;:::-;43229:141;43554:1;43486:66;43481:75;43478:1;43474:83;43469:1;43466;43462:9;43458:1;43455;43451:9;43447:25;43443:115;43440:141;;;43561:18;;:::i;:::-;43440:141;43708:1;43696:10;43691:19;43688:1;43684:27;43679:1;43676;43672:9;43668:1;43665;43661:9;43657:25;43653:59;43650:85;;;43715:18;;:::i;:::-;43650:85;43763:1;43760;43756:9;43745:20;;42895:876;;;;:::o;43777:348::-;43817:7;43840:20;43858:1;43840:20;:::i;:::-;43835:25;;43874:20;43892:1;43874:20;:::i;:::-;43869:25;;44062:1;43994:66;43990:74;43987:1;43984:81;43979:1;43972:9;43965:17;43961:105;43958:131;;;44069:18;;:::i;:::-;43958:131;44117:1;44114;44110:9;44099:20;;43777:348;;;;:::o;44131:495::-;44170:4;44190:19;44207:1;44190:19;:::i;:::-;44185:24;;44223:19;44240:1;44223:19;:::i;:::-;44218:24;;44412:1;44344:66;44340:74;44337:1;44333:82;44328:1;44325;44321:9;44314:17;44310:106;44307:132;;;44419:18;;:::i;:::-;44307:132;44566:1;44530:34;44526:42;44523:1;44519:50;44515:1;44512;44508:9;44504:66;44501:92;;;44573:18;;:::i;:::-;44501:92;44618:1;44615;44611:9;44603:17;;44131:495;;;;:::o;44632:468::-;44670:4;44690:18;44706:1;44690:18;:::i;:::-;44685:23;;44722:18;44738:1;44722:18;:::i;:::-;44717:23;;44910:1;44842:66;44838:74;44835:1;44831:82;44826:1;44823;44819:9;44812:17;44808:106;44805:132;;;44917:18;;:::i;:::-;44805:132;45040:1;45028:10;45024:18;45021:1;45017:26;45013:1;45010;45006:9;45002:42;44999:68;;;45047:18;;:::i;:::-;44999:68;45092:1;45089;45085:9;45077:17;;44632:468;;;;:::o;45106:191::-;45146:4;45166:20;45184:1;45166:20;:::i;:::-;45161:25;;45200:20;45218:1;45200:20;:::i;:::-;45195:25;;45239:1;45236;45233:8;45230:34;;;45244:18;;:::i;:::-;45230:34;45289:1;45286;45282:9;45274:17;;45106:191;;;;:::o;45303:188::-;45342:4;45362:19;45379:1;45362:19;:::i;:::-;45357:24;;45395:19;45412:1;45395:19;:::i;:::-;45390:24;;45433:1;45430;45427:8;45424:34;;;45438:18;;:::i;:::-;45424:34;45483:1;45480;45476:9;45468:17;;45303:188;;;;:::o;45497:90::-;45531:7;45574:5;45567:13;45560:21;45549:32;;45497:90;;;:::o;45593:77::-;45630:7;45659:5;45648:16;;45593:77;;;:::o;45676:92::-;45712:7;45756:5;45752:2;45741:21;45730:32;;45676:92;;;:::o;45774:76::-;45810:7;45839:5;45828:16;;45774:76;;;:::o;45856:90::-;45891:7;45934:5;45931:1;45920:20;45909:31;;45856:90;;;:::o;45952:77::-;45989:7;46018:5;46007:16;;45952:77;;;:::o;46035:93::-;46071:7;46111:10;46104:5;46100:22;46089:33;;46035:93;;;:::o;46134:101::-;46170:7;46210:18;46203:5;46199:30;46188:41;;46134:101;;;:::o;46241:86::-;46276:7;46316:4;46309:5;46305:16;46294:27;;46241:86;;;:::o;46333:154::-;46417:6;46412:3;46407;46394:30;46479:1;46470:6;46465:3;46461:16;46454:27;46333:154;;;:::o;46493:307::-;46561:1;46571:113;46585:6;46582:1;46579:13;46571:113;;;46670:1;46665:3;46661:11;46655:18;46651:1;46646:3;46642:11;46635:39;46607:2;46604:1;46600:10;46595:15;;46571:113;;;46702:6;46699:1;46696:13;46693:101;;;46782:1;46773:6;46768:3;46764:16;46757:27;46693:101;46542:258;46493:307;;;:::o;46806:281::-;46889:27;46911:4;46889:27;:::i;:::-;46881:6;46877:40;47019:6;47007:10;47004:22;46983:18;46971:10;46968:34;46965:62;46962:88;;;47030:18;;:::i;:::-;46962:88;47070:10;47066:2;47059:22;46849:238;46806:281;;:::o;47093:233::-;47132:3;47155:24;47173:5;47155:24;:::i;:::-;47146:33;;47201:66;47194:5;47191:77;47188:103;;;47271:18;;:::i;:::-;47188:103;47318:1;47311:5;47307:13;47300:20;;47093:233;;;:::o;47332:175::-;47370:3;47393:23;47410:5;47393:23;:::i;:::-;47384:32;;47438:10;47431:5;47428:21;47425:47;;;47452:18;;:::i;:::-;47425:47;47499:1;47492:5;47488:13;47481:20;;47332:175;;;:::o;47513:183::-;47551:3;47574:23;47591:5;47574:23;:::i;:::-;47565:32;;47619:18;47612:5;47609:29;47606:55;;;47641:18;;:::i;:::-;47606:55;47688:1;47681:5;47677:13;47670:20;;47513:183;;;:::o;47702:93::-;47739:7;47768:21;47783:5;47768:21;:::i;:::-;47757:32;;47702:93;;;:::o;47801:226::-;47835:3;47858:22;47874:5;47858:22;:::i;:::-;47849:31;;47902:66;47895:5;47892:77;47889:103;;;47972:18;;:::i;:::-;47889:103;48015:5;48012:1;48008:13;48001:20;;47801:226;;;:::o;48033:180::-;48081:77;48078:1;48071:88;48178:4;48175:1;48168:15;48202:4;48199:1;48192:15;48219:180;48267:77;48264:1;48257:88;48364:4;48361:1;48354:15;48388:4;48385:1;48378:15;48405:180;48453:77;48450:1;48443:88;48550:4;48547:1;48540:15;48574:4;48571:1;48564:15;48591:180;48639:77;48636:1;48629:88;48736:4;48733:1;48726:15;48760:4;48757:1;48750:15;48777:117;48886:1;48883;48876:12;48900:117;49009:1;49006;48999:12;49023:117;49132:1;49129;49122:12;49146:117;49255:1;49252;49245:12;49269:117;49378:1;49375;49368:12;49392:117;49501:1;49498;49491:12;49515:102;49556:6;49607:2;49603:7;49598:2;49591:5;49587:14;49583:28;49573:38;;49515:102;;;:::o;49623:96::-;49657:8;49706:5;49701:3;49697:15;49676:36;;49623:96;;;:::o;49725:102::-;49767:8;49814:5;49811:1;49807:13;49786:34;;49725:102;;;:::o;49833:240::-;49973:34;49969:1;49961:6;49957:14;49950:58;50042:23;50037:2;50029:6;50025:15;50018:48;49833:240;:::o;50079:308::-;50219:34;50215:1;50207:6;50203:14;50196:58;50288:34;50283:2;50275:6;50271:15;50264:59;50357:22;50352:2;50344:6;50340:15;50333:47;50079:308;:::o;50393:305::-;50533:34;50529:1;50521:6;50517:14;50510:58;50602:34;50597:2;50589:6;50585:15;50578:59;50671:19;50666:2;50658:6;50654:15;50647:44;50393:305;:::o;50704:297::-;50844:34;50840:1;50832:6;50828:14;50821:58;50913:34;50908:2;50900:6;50896:15;50889:59;50982:11;50977:2;50969:6;50965:15;50958:36;50704:297;:::o;51007:308::-;51147:34;51143:1;51135:6;51131:14;51124:58;51216:34;51211:2;51203:6;51199:15;51192:59;51285:22;51280:2;51272:6;51268:15;51261:47;51007:308;:::o;51321:240::-;51461:34;51457:1;51449:6;51445:14;51438:58;51530:23;51525:2;51517:6;51513:15;51506:48;51321:240;:::o;51567:289::-;51707:34;51703:1;51695:6;51691:14;51684:58;51776:34;51771:2;51763:6;51759:15;51752:59;51845:3;51840:2;51832:6;51828:15;51821:28;51567:289;:::o;51862:311::-;52002:34;51998:1;51990:6;51986:14;51979:58;52071:34;52066:2;52058:6;52054:15;52047:59;52140:25;52135:2;52127:6;52123:15;52116:50;51862:311;:::o;52179:307::-;52319:34;52315:1;52307:6;52303:14;52296:58;52388:34;52383:2;52375:6;52371:15;52364:59;52457:21;52452:2;52444:6;52440:15;52433:46;52179:307;:::o;52492:230::-;52632:34;52628:1;52620:6;52616:14;52609:58;52701:13;52696:2;52688:6;52684:15;52677:38;52492:230;:::o;52728:247::-;52868:34;52864:1;52856:6;52852:14;52845:58;52937:30;52932:2;52924:6;52920:15;52913:55;52728:247;:::o;52981:307::-;53121:34;53117:1;53109:6;53105:14;53098:58;53190:34;53185:2;53177:6;53173:15;53166:59;53259:21;53254:2;53246:6;53242:15;53235:46;52981:307;:::o;53294:228::-;53434:34;53430:1;53422:6;53418:14;53411:58;53503:11;53498:2;53490:6;53486:15;53479:36;53294:228;:::o;53528:316::-;53668:34;53664:1;53656:6;53652:14;53645:58;53737:34;53732:2;53724:6;53720:15;53713:59;53806:30;53801:2;53793:6;53789:15;53782:55;53528:316;:::o;53850:220::-;53990:34;53986:1;53978:6;53974:14;53967:58;54059:3;54054:2;54046:6;54042:15;54035:28;53850:220;:::o;54076:311::-;54216:34;54212:1;54204:6;54200:14;54193:58;54285:34;54280:2;54272:6;54268:15;54261:59;54354:25;54349:2;54341:6;54337:15;54330:50;54076:311;:::o;54393:307::-;54533:34;54529:1;54521:6;54517:14;54510:58;54602:34;54597:2;54589:6;54585:15;54578:59;54671:21;54666:2;54658:6;54654:15;54647:46;54393:307;:::o;54706:315::-;54846:34;54842:1;54834:6;54830:14;54823:58;54915:34;54910:2;54902:6;54898:15;54891:59;54984:29;54979:2;54971:6;54967:15;54960:54;54706:315;:::o;55027:230::-;55167:34;55163:1;55155:6;55151:14;55144:58;55236:13;55231:2;55223:6;55219:15;55212:38;55027:230;:::o;55263:120::-;55335:23;55352:5;55335:23;:::i;:::-;55328:5;55325:34;55315:62;;55373:1;55370;55363:12;55315:62;55263:120;:::o;55389:::-;55461:23;55478:5;55461:23;:::i;:::-;55454:5;55451:34;55441:62;;55499:1;55496;55489:12;55441:62;55389:120;:::o;55515:118::-;55586:22;55602:5;55586:22;:::i;:::-;55579:5;55576:33;55566:61;;55623:1;55620;55613:12;55566:61;55515:118;:::o"},"gasEstimates":{"creation":{"codeDepositCost":"3074600","executionCost":"3413","totalCost":"3078013"},"external":{"decodeBool(Witnet.CBOR)":"infinite","decodeBytes(Witnet.CBOR)":"infinite","decodeBytes32(Witnet.CBOR)":"infinite","decodeFixed16(Witnet.CBOR)":"infinite","decodeFixed16Array(Witnet.CBOR)":"infinite","decodeInt128(Witnet.CBOR)":"infinite","decodeInt128Array(Witnet.CBOR)":"infinite","decodeString(Witnet.CBOR)":"infinite","decodeStringArray(Witnet.CBOR)":"infinite","decodeUint64(Witnet.CBOR)":"infinite","decodeUint64Array(Witnet.CBOR)":"infinite","valueFromBuffer(Witnet.Buffer)":"infinite","valueFromBytes(bytes)":"infinite"},"internal":{"readIndefiniteStringLength(struct Witnet.Buffer memory,uint8)":"infinite","readLength(struct Witnet.Buffer memory,uint8)":"infinite","readText(struct Witnet.Buffer memory,uint64)":"infinite"}},"methodIdentifiers":{"decodeBool(Witnet.CBOR)":"9eee60ca","decodeBytes(Witnet.CBOR)":"bb6ef6cf","decodeBytes32(Witnet.CBOR)":"08c05c33","decodeFixed16(Witnet.CBOR)":"8138799a","decodeFixed16Array(Witnet.CBOR)":"531f4ba7","decodeInt128(Witnet.CBOR)":"94863ea4","decodeInt128Array(Witnet.CBOR)":"3380d816","decodeString(Witnet.CBOR)":"e67c5bd1","decodeStringArray(Witnet.CBOR)":"c5e88ff2","decodeUint64(Witnet.CBOR)":"7a8acab1","decodeUint64Array(Witnet.CBOR)":"f8a597d3","valueFromBuffer(Witnet.Buffer)":"7f3fb7ca","valueFromBytes(bytes)":"dfca5d34"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"_cborValue\",\"type\":\"tuple\"}],\"name\":\"decodeBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"_cborValue\",\"type\":\"tuple\"}],\"name\":\"decodeBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"_cborValue\",\"type\":\"tuple\"}],\"name\":\"decodeBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_bytes32\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"_cborValue\",\"type\":\"tuple\"}],\"name\":\"decodeFixed16\",\"outputs\":[{\"internalType\":\"int32\",\"name\":\"\",\"type\":\"int32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"_cborValue\",\"type\":\"tuple\"}],\"name\":\"decodeFixed16Array\",\"outputs\":[{\"internalType\":\"int32[]\",\"name\":\"\",\"type\":\"int32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"_cborValue\",\"type\":\"tuple\"}],\"name\":\"decodeInt128\",\"outputs\":[{\"internalType\":\"int128\",\"name\":\"\",\"type\":\"int128\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"_cborValue\",\"type\":\"tuple\"}],\"name\":\"decodeInt128Array\",\"outputs\":[{\"internalType\":\"int128[]\",\"name\":\"\",\"type\":\"int128[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"_cborValue\",\"type\":\"tuple\"}],\"name\":\"decodeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"_cborValue\",\"type\":\"tuple\"}],\"name\":\"decodeStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"_cborValue\",\"type\":\"tuple\"}],\"name\":\"decodeUint64\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"_cborValue\",\"type\":\"tuple\"}],\"name\":\"decodeUint64Array\",\"outputs\":[{\"internalType\":\"uint64[]\",\"name\":\"\",\"type\":\"uint64[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"_buffer\",\"type\":\"tuple\"}],\"name\":\"valueFromBuffer\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_cborBytes\",\"type\":\"bytes\"}],\"name\":\"valueFromBytes\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"The Witnet Foundation.  TODO: add support for Array (majorType = 4) TODO: add support for Map (majorType = 5) TODO: add support for Float32 (majorType = 7, additionalInformation = 26) TODO: add support for Float64 (majorType = 7, additionalInformation = 27) \",\"details\":\"Most of the logic has been borrowed from Patrick Gansterer\\u2019s cbor.js library: https://github.com/paroga/cbor-js\",\"kind\":\"dev\",\"methods\":{\"decodeBool(Witnet.CBOR)\":{\"params\":{\"_cborValue\":\"An instance of `Witnet.CBOR`.\"},\"returns\":{\"_0\":\"The value represented by the input, as a `bool` value.\"}},\"decodeBytes(Witnet.CBOR)\":{\"params\":{\"_cborValue\":\"An instance of `Witnet.CBOR`.\"},\"returns\":{\"_0\":\"The value represented by the input, as a `bytes` value.   \"}},\"decodeBytes32(Witnet.CBOR)\":{\"params\":{\"_cborValue\":\"An instance of `Witnet.CBOR`.\"},\"returns\":{\"_bytes32\":\"The value represented by the input, as a `bytes32` value.\"}},\"decodeFixed16(Witnet.CBOR)\":{\"details\":\"Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16` use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\",\"params\":{\"_cborValue\":\"An instance of `Witnet.CBOR`.\"},\"returns\":{\"_0\":\"The value represented by the input, as an `int128` value.\"}},\"decodeFixed16Array(Witnet.CBOR)\":{\"params\":{\"_cborValue\":\"An instance of `Witnet.CBOR`.\"},\"returns\":{\"_0\":\"The value represented by the input, as an `int128[]` value.\"}},\"decodeInt128(Witnet.CBOR)\":{\"params\":{\"_cborValue\":\"An instance of `Witnet.CBOR`.\"},\"returns\":{\"_0\":\"The value represented by the input, as an `int128` value.\"}},\"decodeInt128Array(Witnet.CBOR)\":{\"params\":{\"_cborValue\":\"An instance of `Witnet.CBOR`.\"},\"returns\":{\"_0\":\"The value represented by the input, as an `int128[]` value.\"}},\"decodeString(Witnet.CBOR)\":{\"params\":{\"_cborValue\":\"An instance of `Witnet.CBOR`.\"},\"returns\":{\"_0\":\"The value represented by the input, as a `string` value.\"}},\"decodeStringArray(Witnet.CBOR)\":{\"params\":{\"_cborValue\":\"An instance of `Witnet.CBOR`.\"},\"returns\":{\"_0\":\"The value represented by the input, as an `string[]` value.\"}},\"decodeUint64(Witnet.CBOR)\":{\"params\":{\"_cborValue\":\"An instance of `Witnet.CBOR`.\"},\"returns\":{\"_0\":\"The value represented by the input, as an `uint64` value.\"}},\"decodeUint64Array(Witnet.CBOR)\":{\"params\":{\"_cborValue\":\"An instance of `Witnet.CBOR`.\"},\"returns\":{\"_0\":\"The value represented by the input, as an `uint64[]` value.\"}},\"valueFromBuffer(Witnet.Buffer)\":{\"details\":\"This is an alternate factory for Witnet.CBOR instances, which can be later decoded into native EVM types.\",\"params\":{\"_buffer\":\"A Buffer structure representing a CBOR-encoded value.\"},\"returns\":{\"_0\":\"A `Witnet.CBOR` instance containing a partially decoded value.\"}},\"valueFromBytes(bytes)\":{\"details\":\"This is the main factory for Witnet.CBOR instances, which can be later decoded into native EVM types.\",\"params\":{\"_cborBytes\":\"Raw bytes representing a CBOR-encoded value.\"},\"returns\":{\"_0\":\"A `Witnet.CBOR` instance containing a partially decoded value.\"}}},\"title\":\"A minimalistic implementation of \\u201cRFC 7049 Concise Binary Object Representation\\u201d\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"decodeBool(Witnet.CBOR)\":{\"notice\":\"Decode a `Witnet.CBOR` structure into a native `bool` value.\"},\"decodeBytes(Witnet.CBOR)\":{\"notice\":\"Decode a `Witnet.CBOR` structure into a native `bytes` value.\"},\"decodeBytes32(Witnet.CBOR)\":{\"notice\":\"Decode a `Witnet.CBOR` structure into a native `bytes32` value.\"},\"decodeFixed16(Witnet.CBOR)\":{\"notice\":\"Decode a `Witnet.CBOR` structure into a `fixed16` value.\"},\"decodeFixed16Array(Witnet.CBOR)\":{\"notice\":\"Decode a `Witnet.CBOR` structure into a native `int128[]` value whose inner values follow the same convention. as explained in `decodeFixed16`.\"},\"decodeInt128(Witnet.CBOR)\":{\"notice\":\"Decode a `Witnet.CBOR` structure into a native `int128` value.\"},\"decodeInt128Array(Witnet.CBOR)\":{\"notice\":\"Decode a `Witnet.CBOR` structure into a native `int128[]` value.\"},\"decodeString(Witnet.CBOR)\":{\"notice\":\"Decode a `Witnet.CBOR` structure into a native `string` value.\"},\"decodeStringArray(Witnet.CBOR)\":{\"notice\":\"Decode a `Witnet.CBOR` structure into a native `string[]` value.\"},\"decodeUint64(Witnet.CBOR)\":{\"notice\":\"Decode a `Witnet.CBOR` structure into a native `uint64` value.\"},\"decodeUint64Array(Witnet.CBOR)\":{\"notice\":\"Decode a `Witnet.CBOR` structure into a native `uint64[]` value.\"},\"valueFromBuffer(Witnet.Buffer)\":{\"notice\":\"Decode a Witnet.CBOR structure from raw bytes.\"},\"valueFromBytes(bytes)\":{\"notice\":\"Decode a Witnet.CBOR structure from raw bytes.\"}},\"notice\":\"This library leverages a buffer-like structure for step-by-step decoding of bytes so as to minimize the gas cost of decoding them into a useful native type.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/libs/WitnetDecoderLib.sol\":\"WitnetDecoderLib\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/WitnetBuffer.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"./Witnet.sol\\\";\\n\\n/// @title A convenient wrapper around the `bytes memory` type that exposes a buffer-like interface\\n/// @notice The buffer has an inner cursor that tracks the final offset of every read, i.e. any subsequent read will\\n/// start with the byte that goes right after the last one in the previous read.\\n/// @dev `uint32` is used here for `cursor` because `uint16` would only enable seeking up to 8KB, which could in some\\n/// theoretical use cases be exceeded. Conversely, `uint32` supports up to 512MB, which cannot credibly be exceeded.\\n/// @author The Witnet Foundation.\\nlibrary WitnetBuffer {\\n\\n  // Ensures we access an existing index in an array\\n  modifier notOutOfBounds(uint32 index, uint256 length) {\\n    require(index < length, \\\"WitnetBuffer: Tried to read from a consumed Buffer (must rewind it first)\\\");\\n    _;\\n  }\\n\\n  /// @notice Read and consume a certain amount of bytes from the buffer.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @param _length How many bytes to read and consume from the buffer.\\n  /// @return A `bytes memory` containing the first `_length` bytes from the buffer, counting from the cursor position.\\n  function read(Witnet.Buffer memory _buffer, uint32 _length) internal pure returns (bytes memory) {\\n    // Make sure not to read out of the bounds of the original bytes\\n    require(_buffer.cursor + _length <= _buffer.data.length, \\\"WitnetBuffer: Not enough bytes in buffer when reading\\\");\\n\\n    // Create a new `bytes memory destination` value\\n    bytes memory destination = new bytes(_length);\\n\\n    // Early return in case that bytes length is 0\\n    if (_length != 0) {\\n      bytes memory source = _buffer.data;\\n      uint32 offset = _buffer.cursor;\\n\\n      // Get raw pointers for source and destination\\n      uint sourcePointer;\\n      uint destinationPointer;\\n      assembly {\\n        sourcePointer := add(add(source, 32), offset)\\n        destinationPointer := add(destination, 32)\\n      }\\n      // Copy `_length` bytes from source to destination\\n      memcpy(destinationPointer, sourcePointer, uint(_length));\\n\\n      // Move the cursor forward by `_length` bytes\\n      seek(_buffer, _length, true);\\n    }\\n    return destination;\\n  }\\n\\n  /// @notice Read and consume the next byte from the buffer.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The next byte in the buffer counting from the cursor position.\\n  function next(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor, _buffer.data.length) returns (bytes1) {\\n    // Return the byte at the position marked by the cursor and advance the cursor all at once\\n    return _buffer.data[_buffer.cursor++];\\n  }\\n\\n  /// @notice Move the inner cursor of the buffer to a relative or absolute position.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @param _offset How many bytes to move the cursor forward.\\n  /// @param _relative Whether to count `_offset` from the last position of the cursor (`true`) or the beginning of the\\n  /// buffer (`true`).\\n  /// @return The final position of the cursor (will equal `_offset` if `_relative` is `false`).\\n  // solium-disable-next-line security/no-assign-params\\n  function seek(Witnet.Buffer memory _buffer, uint32 _offset, bool _relative) internal pure returns (uint32) {\\n    // Deal with relative offsets\\n    if (_relative) {\\n      require(_offset + _buffer.cursor > _offset, \\\"WitnetBuffer: Integer overflow when seeking\\\");\\n      _offset += _buffer.cursor;\\n    }\\n    // Make sure not to read out of the bounds of the original bytes\\n    require(_offset <= _buffer.data.length, \\\"WitnetBuffer: Not enough bytes in buffer when seeking\\\");\\n    _buffer.cursor = _offset;\\n    return _buffer.cursor;\\n  }\\n\\n  /// @notice Move the inner cursor a number of bytes forward.\\n  /// @dev This is a simple wrapper around the relative offset case of `seek()`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @param _relativeOffset How many bytes to move the cursor forward.\\n  /// @return The final position of the cursor.\\n  function seek(Witnet.Buffer memory _buffer, uint32 _relativeOffset) internal pure returns (uint32) {\\n    return seek(_buffer, _relativeOffset, true);\\n  }\\n\\n  /// @notice Move the inner cursor back to the first byte in the buffer.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  function rewind(Witnet.Buffer memory _buffer) internal pure {\\n    _buffer.cursor = 0;\\n  }\\n\\n  /// @notice Read and consume the next byte from the buffer as an `uint8`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint8` value of the next byte in the buffer counting from the cursor position.\\n  function readUint8(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor, _buffer.data.length) returns (uint8) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint8 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 1), offset))\\n    }\\n    _buffer.cursor++;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 2 bytes from the buffer as an `uint16`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint16` value of the next 2 bytes in the buffer counting from the cursor position.\\n  function readUint16(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 1, _buffer.data.length) returns (uint16) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint16 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 2), offset))\\n    }\\n    _buffer.cursor += 2;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 4 bytes from the buffer as an `uint32`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint32` value of the next 4 bytes in the buffer counting from the cursor position.\\n  function readUint32(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 3, _buffer.data.length) returns (uint32) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint32 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 4), offset))\\n    }\\n    _buffer.cursor += 4;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 8 bytes from the buffer as an `uint64`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint64` value of the next 8 bytes in the buffer counting from the cursor position.\\n  function readUint64(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 7, _buffer.data.length) returns (uint64) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint64 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 8), offset))\\n    }\\n    _buffer.cursor += 8;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 16 bytes from the buffer as an `uint128`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint128` value of the next 16 bytes in the buffer counting from the cursor position.\\n  function readUint128(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 15, _buffer.data.length) returns (uint128) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint128 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 16), offset))\\n    }\\n    _buffer.cursor += 16;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 32 bytes from the buffer as an `uint256`.\\n  /// @return The `uint256` value of the next 32 bytes in the buffer counting from the cursor position.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  function readUint256(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 31, _buffer.data.length) returns (uint256) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint256 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 32), offset))\\n    }\\n    _buffer.cursor += 32;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 2 bytes from the buffer as an IEEE 754-2008 floating point number enclosed in an\\n  /// `int32`.\\n  /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values\\n  /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `float16`\\n  /// use cases. In other words, the integer output of this method is 10,000 times the actual value. The input bytes are\\n  /// expected to follow the 16-bit base-2 format (a.k.a. `binary16`) in the IEEE 754-2008 standard.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint32` value of the next 4 bytes in the buffer counting from the cursor position.\\n  function readFloat16(Witnet.Buffer memory _buffer) internal pure returns (int32) {\\n    uint32 bytesValue = readUint16(_buffer);\\n    // Get bit at position 0\\n    uint32 sign = bytesValue & 0x8000;\\n    // Get bits 1 to 5, then normalize to the [-14, 15] range so as to counterweight the IEEE 754 exponent bias\\n    int32 exponent = (int32(bytesValue & 0x7c00) >> 10) - 15;\\n    // Get bits 6 to 15\\n    int32 significand = int32(bytesValue & 0x03ff);\\n\\n    // Add 1024 to the fraction if the exponent is 0\\n    if (exponent == 15) {\\n      significand |= 0x400;\\n    }\\n\\n    // Compute `2 ^ exponent \\u00b7 (1 + fraction / 1024)`\\n    int32 result = 0;\\n    if (exponent >= 0) {\\n      result = int32((int256(1 << uint256(int256(exponent))) * 10000 * int256(uint256(int256(significand)) | 0x400)) >> 10);\\n    } else {\\n      result = int32(((int256(uint256(int256(significand)) | 0x400) * 10000) / int256(1 << uint256(int256(- exponent)))) >> 10);\\n    }\\n\\n    // Make the result negative if the sign bit is not 0\\n    if (sign != 0) {\\n      result *= - 1;\\n    }\\n    return result;\\n  }\\n\\n  /// @notice Copy bytes from one memory address into another.\\n  /// @dev This function was borrowed from Nick Johnson's `solidity-stringutils` lib, and reproduced here under the terms\\n  /// of [Apache License 2.0](https://github.com/Arachnid/solidity-stringutils/blob/master/LICENSE).\\n  /// @param _dest Address of the destination memory.\\n  /// @param _src Address to the source memory.\\n  /// @param _len How many bytes to copy.\\n  // solium-disable-next-line security/no-assign-params\\n  function memcpy(uint _dest, uint _src, uint _len) private pure {\\n    require(_len > 0, \\\"WitnetBuffer: Cannot copy 0 bytes\\\");\\n\\n    // Copy word-length chunks while possible\\n    for (; _len >= 32; _len -= 32) {\\n      assembly {\\n        mstore(_dest, mload(_src))\\n      }\\n      _dest += 32;\\n      _src += 32;\\n    }\\n    if (_len > 0) {\\n      // Copy remaining bytes\\n      uint mask = 256 ** (32 - _len) - 1;\\n      assembly {\\n        let srcpart := and(mload(_src), not(mask))\\n        let destpart := and(mload(_dest), mask)\\n        mstore(_dest, or(destpart, srcpart))\\n      }\\n    }\\n  }\\n\\n}\\n\",\"keccak256\":\"0x7ef46325fb4d37649e8ef4c2250240ea63c32720d44d7e4da5a7b412fb348524\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/WitnetDecoderLib.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./WitnetBuffer.sol\\\";\\n\\n/// @title A minimalistic implementation of \\u201cRFC 7049 Concise Binary Object Representation\\u201d\\n/// @notice This library leverages a buffer-like structure for step-by-step decoding of bytes so as to minimize\\n/// the gas cost of decoding them into a useful native type.\\n/// @dev Most of the logic has been borrowed from Patrick Gansterer\\u2019s cbor.js library: https://github.com/paroga/cbor-js\\n/// @author The Witnet Foundation.\\n/// \\n/// TODO: add support for Array (majorType = 4)\\n/// TODO: add support for Map (majorType = 5)\\n/// TODO: add support for Float32 (majorType = 7, additionalInformation = 26)\\n/// TODO: add support for Float64 (majorType = 7, additionalInformation = 27) \\n\\nlibrary WitnetDecoderLib {\\n\\n  using WitnetBuffer for Witnet.Buffer;\\n\\n  uint32 constant internal _UINT32_MAX = type(uint32).max;\\n  uint64 constant internal _UINT64_MAX = type(uint64).max;\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `bool` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as a `bool` value.\\n  function decodeBool(Witnet.CBOR memory _cborValue) public pure returns(bool) {\\n    _cborValue.len = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(_cborValue.majorType == 7, \\\"WitnetDecoderLib: Tried to read a `bool` value from a `Witnet.CBOR` with majorType != 7\\\");\\n    if (_cborValue.len == 20) {\\n      return false;\\n    } else if (_cborValue.len == 21) {\\n      return true;\\n    } else {\\n      revert(\\\"WitnetDecoderLib: Tried to read `bool` from a `Witnet.CBOR` with len different than 20 or 21\\\");\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `bytes` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as a `bytes` value.   \\n  function decodeBytes(Witnet.CBOR memory _cborValue) public pure returns(bytes memory) {\\n    _cborValue.len = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    if (_cborValue.len == _UINT32_MAX) {\\n      bytes memory bytesData;\\n\\n      // These checks look repetitive but the equivalent loop would be more expensive.\\n      uint32 itemLength = uint32(readIndefiniteStringLength(_cborValue.buffer, _cborValue.majorType));\\n      if (itemLength < _UINT32_MAX) {\\n        bytesData = abi.encodePacked(bytesData, _cborValue.buffer.read(itemLength));\\n        itemLength = uint32(readIndefiniteStringLength(_cborValue.buffer, _cborValue.majorType));\\n        if (itemLength < _UINT32_MAX) {\\n          bytesData = abi.encodePacked(bytesData, _cborValue.buffer.read(itemLength));\\n        }\\n      }\\n      return bytesData;\\n    } else {\\n      return _cborValue.buffer.read(uint32(_cborValue.len));\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `bytes32` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return _bytes32 The value represented by the input, as a `bytes32` value.\\n  function decodeBytes32(Witnet.CBOR memory _cborValue) public pure returns(bytes32 _bytes32) {\\n    bytes memory _bb = decodeBytes(_cborValue);\\n    uint _len = _bb.length > 32 ? 32 : _bb.length;\\n    for (uint _i = 0; _i < _len; _i ++) {\\n        _bytes32 |= bytes32(_bb[_i] & 0xff) >> (_i * 8);\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a `fixed16` value.\\n  /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values\\n  /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`\\n  /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128` value.\\n  function decodeFixed16(Witnet.CBOR memory _cborValue) public pure returns(int32) {\\n    require(_cborValue.majorType == 7, \\\"WitnetDecoderLib: Tried to read a `fixed` value from a `WT.CBOR` with majorType != 7\\\");\\n    require(_cborValue.additionalInformation == 25, \\\"WitnetDecoderLib: Tried to read `fixed16` from a `WT.CBOR` with additionalInformation != 25\\\");\\n    return _cborValue.buffer.readFloat16();\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `int128[]` value whose inner values follow the same convention.\\n  /// as explained in `decodeFixed16`.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128[]` value.\\n  function decodeFixed16Array(Witnet.CBOR memory _cborValue) external pure returns(int32[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `int128[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    int32[] memory array = new int32[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeFixed16(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `int128` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128` value.\\n  function decodeInt128(Witnet.CBOR memory _cborValue) public pure returns(int128) {\\n    if (_cborValue.majorType == 1) {\\n      uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n      return int128(-1) - int128(uint128(length));\\n    } else if (_cborValue.majorType == 0) {\\n      // Any `uint64` can be safely casted to `int128`, so this method supports majorType 1 as well so as to have offer\\n      // a uniform API for positive and negative numbers\\n      return int128(uint128(decodeUint64(_cborValue)));\\n    }\\n    revert(\\\"WitnetDecoderLib: Tried to read `int128` from a `Witnet.CBOR` with majorType not 0 or 1\\\");\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `int128[]` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128[]` value.\\n  function decodeInt128Array(Witnet.CBOR memory _cborValue) external pure returns(int128[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `int128[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    int128[] memory array = new int128[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeInt128(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `string` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as a `string` value.\\n  function decodeString(Witnet.CBOR memory _cborValue) public pure returns(string memory) {\\n    _cborValue.len = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    if (_cborValue.len == _UINT64_MAX) {\\n      bytes memory textData;\\n      bool done;\\n      while (!done) {\\n        uint64 itemLength = readIndefiniteStringLength(_cborValue.buffer, _cborValue.majorType);\\n        if (itemLength < _UINT64_MAX) {\\n          textData = abi.encodePacked(textData, readText(_cborValue.buffer, itemLength / 4));\\n        } else {\\n          done = true;\\n        }\\n      }\\n      return string(textData);\\n    } else {\\n      return string(readText(_cborValue.buffer, _cborValue.len));\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `string[]` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `string[]` value.\\n  function decodeStringArray(Witnet.CBOR memory _cborValue) external pure returns(string[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `string[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    string[] memory array = new string[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeString(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `uint64` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `uint64` value.\\n  function decodeUint64(Witnet.CBOR memory _cborValue) public pure returns(uint64) {\\n    require(_cborValue.majorType == 0, \\\"WitnetDecoderLib: Tried to read `uint64` from a `Witnet.CBOR` with majorType != 0\\\");\\n    return readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `uint64[]` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `uint64[]` value.\\n  function decodeUint64Array(Witnet.CBOR memory _cborValue) external pure returns(uint64[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `uint64[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    uint64[] memory array = new uint64[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeUint64(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a Witnet.CBOR structure from raw bytes.\\n  /// @dev This is the main factory for Witnet.CBOR instances, which can be later decoded into native EVM types.\\n  /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n  /// @return A `Witnet.CBOR` instance containing a partially decoded value.\\n  function valueFromBytes(bytes memory _cborBytes) external pure returns(Witnet.CBOR memory) {\\n    Witnet.Buffer memory buffer = Witnet.Buffer(_cborBytes, 0);\\n\\n    return valueFromBuffer(buffer);\\n  }\\n\\n  /// @notice Decode a Witnet.CBOR structure from raw bytes.\\n  /// @dev This is an alternate factory for Witnet.CBOR instances, which can be later decoded into native EVM types.\\n  /// @param _buffer A Buffer structure representing a CBOR-encoded value.\\n  /// @return A `Witnet.CBOR` instance containing a partially decoded value.\\n  function valueFromBuffer(Witnet.Buffer memory _buffer) public pure returns(Witnet.CBOR memory) {\\n    require(_buffer.data.length > 0, \\\"WitnetDecoderLib: Found empty buffer when parsing CBOR value\\\");\\n\\n    uint8 initialByte;\\n    uint8 majorType = 255;\\n    uint8 additionalInformation;\\n    uint64 tag = _UINT64_MAX;\\n\\n    bool isTagged = true;\\n    while (isTagged) {\\n      // Extract basic CBOR properties from input bytes\\n      initialByte = _buffer.readUint8();\\n      majorType = initialByte >> 5;\\n      additionalInformation = initialByte & 0x1f;\\n\\n      // Early CBOR tag parsing.\\n      if (majorType == 6) {\\n        tag = readLength(_buffer, additionalInformation);\\n      } else {\\n        isTagged = false;\\n      }\\n    }\\n\\n    require(majorType <= 7, \\\"WitnetDecoderLib: Invalid CBOR major type\\\");\\n\\n    return Witnet.CBOR(\\n      _buffer,\\n      initialByte,\\n      majorType,\\n      additionalInformation,\\n      0,\\n      tag);\\n  }\\n\\n  /// Reads the length of the next CBOR item from a buffer, consuming a different number of bytes depending on the\\n  /// value of the `additionalInformation` argument.\\n  function readLength(Witnet.Buffer memory _buffer, uint8 additionalInformation) private pure returns(uint64) {\\n    if (additionalInformation < 24) {\\n      return additionalInformation;\\n    }\\n    if (additionalInformation == 24) {\\n      return _buffer.readUint8();\\n    }\\n    if (additionalInformation == 25) {\\n      return _buffer.readUint16();\\n    }\\n    if (additionalInformation == 26) {\\n      return _buffer.readUint32();\\n    }\\n    if (additionalInformation == 27) {\\n      return _buffer.readUint64();\\n    }\\n    if (additionalInformation == 31) {\\n      return _UINT64_MAX;\\n    }\\n    revert(\\\"WitnetDecoderLib: Invalid length encoding (non-existent additionalInformation value)\\\");\\n  }\\n\\n  /// Read the length of a CBOR indifinite-length item (arrays, maps, byte strings and text) from a buffer, consuming\\n  /// as many bytes as specified by the first byte.\\n  function readIndefiniteStringLength(Witnet.Buffer memory _buffer, uint8 majorType) private pure returns(uint64) {\\n    uint8 initialByte = _buffer.readUint8();\\n    if (initialByte == 0xff) {\\n      return _UINT64_MAX;\\n    }\\n    uint64 length = readLength(_buffer, initialByte & 0x1f);\\n    require(length < _UINT64_MAX && (initialByte >> 5) == majorType, \\\"WitnetDecoderLib: Invalid indefinite length\\\");\\n    return length;\\n  }\\n\\n  /// Read a text string of a given length from a buffer. Returns a `bytes memory` value for the sake of genericness,\\n  /// but it can be easily casted into a string with `string(result)`.\\n  // solium-disable-next-line security/no-assign-params\\n  function readText(Witnet.Buffer memory _buffer, uint64 _length) private pure returns(bytes memory) {\\n    bytes memory result;\\n    for (uint64 index = 0; index < _length; index++) {\\n      uint8 value = _buffer.readUint8();\\n      if (value & 0x80 != 0) {\\n        if (value < 0xe0) {\\n          value = (value & 0x1f) << 6 |\\n            (_buffer.readUint8() & 0x3f);\\n          _length -= 1;\\n        } else if (value < 0xf0) {\\n          value = (value & 0x0f) << 12 |\\n            (_buffer.readUint8() & 0x3f) << 6 |\\n            (_buffer.readUint8() & 0x3f);\\n          _length -= 2;\\n        } else {\\n          value = (value & 0x0f) << 18 |\\n            (_buffer.readUint8() & 0x3f) << 12 |\\n            (_buffer.readUint8() & 0x3f) << 6  |\\n            (_buffer.readUint8() & 0x3f);\\n          _length -= 3;\\n        }\\n      }\\n      result = abi.encodePacked(result, value);\\n    }\\n    return result;\\n  }\\n}\\n\",\"keccak256\":\"0xb8f5b618ebae15a7f5d21870ac8ba7034afe5dce876b53a1a81572378a817c32\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{"decodeBool(Witnet.CBOR)":{"notice":"Decode a `Witnet.CBOR` structure into a native `bool` value."},"decodeBytes(Witnet.CBOR)":{"notice":"Decode a `Witnet.CBOR` structure into a native `bytes` value."},"decodeBytes32(Witnet.CBOR)":{"notice":"Decode a `Witnet.CBOR` structure into a native `bytes32` value."},"decodeFixed16(Witnet.CBOR)":{"notice":"Decode a `Witnet.CBOR` structure into a `fixed16` value."},"decodeFixed16Array(Witnet.CBOR)":{"notice":"Decode a `Witnet.CBOR` structure into a native `int128[]` value whose inner values follow the same convention. as explained in `decodeFixed16`."},"decodeInt128(Witnet.CBOR)":{"notice":"Decode a `Witnet.CBOR` structure into a native `int128` value."},"decodeInt128Array(Witnet.CBOR)":{"notice":"Decode a `Witnet.CBOR` structure into a native `int128[]` value."},"decodeString(Witnet.CBOR)":{"notice":"Decode a `Witnet.CBOR` structure into a native `string` value."},"decodeStringArray(Witnet.CBOR)":{"notice":"Decode a `Witnet.CBOR` structure into a native `string[]` value."},"decodeUint64(Witnet.CBOR)":{"notice":"Decode a `Witnet.CBOR` structure into a native `uint64` value."},"decodeUint64Array(Witnet.CBOR)":{"notice":"Decode a `Witnet.CBOR` structure into a native `uint64[]` value."},"valueFromBuffer(Witnet.Buffer)":{"notice":"Decode a Witnet.CBOR structure from raw bytes."},"valueFromBytes(bytes)":{"notice":"Decode a Witnet.CBOR structure from raw bytes."}},"notice":"This library leverages a buffer-like structure for step-by-step decoding of bytes so as to minimize the gas cost of decoding them into a useful native type.","version":1}}},"witnet-solidity-bridge/contracts/libs/WitnetParserLib.sol":{"WitnetParserLib":{"abi":[{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asBool","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asBytes32","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asErrorCode","outputs":[{"internalType":"enum Witnet.ErrorCodes","name":"","type":"Witnet.ErrorCodes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asErrorMessage","outputs":[{"internalType":"enum Witnet.ErrorCodes","name":"","type":"Witnet.ErrorCodes"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asFixed16","outputs":[{"internalType":"int32","name":"","type":"int32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asFixed16Array","outputs":[{"internalType":"int32[]","name":"","type":"int32[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asInt128","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asInt128Array","outputs":[{"internalType":"int128[]","name":"","type":"int128[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asRawError","outputs":[{"internalType":"uint64[]","name":"","type":"uint64[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asString","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asStringArray","outputs":[{"internalType":"string[]","name":"","type":"string[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asUint64","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"asUint64Array","outputs":[{"internalType":"uint64[]","name":"","type":"uint64[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"isError","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"_result","type":"tuple"}],"name":"isOk","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"_cborBytes","type":"bytes"}],"name":"resultFromCborBytes","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"","type":"tuple"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"_cborValue","type":"tuple"}],"name":"resultFromCborValue","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint32","name":"cursor","type":"uint32"}],"internalType":"struct Witnet.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct Witnet.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.Result","name":"","type":"tuple"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint64","name":"_stageIndex","type":"uint64"}],"name":"stageName","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"}],"devdoc":{"author":"The Witnet Foundation.","kind":"dev","methods":{"asBool(Witnet.Result)":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `bool` decoded from the Witnet.Result."}},"asBytes(Witnet.Result)":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `bytes` decoded from the Witnet.Result."}},"asBytes32(Witnet.Result)":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `bytes32` decoded from the Witnet.Result."}},"asErrorCode(Witnet.Result)":{"params":{"_result":"An instance of `Witnet.Result`."},"returns":{"_0":"The `CBORValue.Error memory` decoded from the Witnet.Result."}},"asErrorMessage(Witnet.Result)":{"details":"WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function","params":{"_result":"An instance of `Witnet.Result`."},"returns":{"_0":"A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message."}},"asFixed16(Witnet.Result)":{"details":"Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values. by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`. use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.","params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128` decoded from the Witnet.Result."}},"asFixed16Array(Witnet.Result)":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128[]` decoded from the Witnet.Result."}},"asInt128(Witnet.Result)":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128` decoded from the Witnet.Result."}},"asInt128Array(Witnet.Result)":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `int128[]` decoded from the Witnet.Result."}},"asRawError(Witnet.Result)":{"params":{"_result":"An instance of `Witnet.Result`."},"returns":{"_0":"The `uint64[]` raw error as decoded from the `Witnet.Result`."}},"asString(Witnet.Result)":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `string` decoded from the Witnet.Result."}},"asStringArray(Witnet.Result)":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `string[]` decoded from the Witnet.Result."}},"asUint64(Witnet.Result)":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `uint64` decoded from the Witnet.Result."}},"asUint64Array(Witnet.Result)":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"The `uint64[]` decoded from the Witnet.Result."}},"isError(Witnet.Result)":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"`true` if errored, `false` if successful."}},"isOk(Witnet.Result)":{"params":{"_result":"An instance of Witnet.Result."},"returns":{"_0":"`true` if successful, `false` if errored."}},"resultFromCborBytes(bytes)":{"params":{"_cborBytes":"Raw bytes representing a CBOR-encoded value."},"returns":{"_0":"A `Witnet.Result` instance."}},"resultFromCborValue(Witnet.CBOR)":{"params":{"_cborValue":"An instance of `Witnet.Value`."},"returns":{"_0":"A `Witnet.Result` instance."}},"stageName(uint64)":{"params":{"_stageIndex":"A `uint64` identifying the index of one of the Witnet request stages."},"returns":{"_0":"The name of the matching stage."}}},"title":"A library for decoding Witnet request results","version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{"witnet-solidity-bridge/contracts/libs/WitnetDecoderLib.sol":{"WitnetDecoderLib":[{"length":20,"start":1378},{"length":20,"start":1601},{"length":20,"start":1886},{"length":20,"start":2109},{"length":20,"start":2346},{"length":20,"start":5168},{"length":20,"start":5406},{"length":20,"start":5624},{"length":20,"start":5842},{"length":20,"start":6443},{"length":20,"start":6665},{"length":20,"start":6901},{"length":20,"start":7124}]}},"object":"614f53610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061012b5760003560e01c8063a1d45d56116100b7578063d45d097d1161007b578063d45d097d146103d1578063d8868db614610401578063e99e47f314610431578063f417daf514610461578063fc853c37146104915761012b565b8063a1d45d56146102e1578063a2e8765514610311578063abf82f4c14610341578063c71db52114610371578063cb5371c0146103a15761012b565b80632d26b9e2116100fe5780632d26b9e2146101f05780636646c119146102205780638233f9b3146102505780638cc5eb5414610280578063a1b90891146102b15761012b565b80630879730d1461013057806308efc09714610160578063130283ee14610190578063147e5c8f146101c0575b600080fd5b61014a60048036038101906101459190612ccf565b6104c1565b6040516101579190613b74565b60405180910390f35b61017a60048036038101906101759190612ccf565b6105a1565b6040516101879190613b30565b60405180910390f35b6101aa60048036038101906101a59190612c3d565b610680565b6040516101b79190613e33565b60405180910390f35b6101da60048036038101906101d59190612ccf565b6106be565b6040516101e79190613b74565b60405180910390f35b61020a60048036038101906102059190612ccf565b61079d565b6040516102179190613b52565b60405180910390f35b61023a60048036038101906102359190612ccf565b61087c565b6040516102479190613b96565b60405180910390f35b61026a60048036038101906102659190612ccf565b61088a565b6040516102779190613e55565b60405180910390f35b61029a60048036038101906102959190612ccf565b610964565b6040516102a8929190613c09565b60405180910390f35b6102cb60048036038101906102c69190612ccf565b611390565b6040516102d89190613bcc565b60405180910390f35b6102fb60048036038101906102f69190612ccf565b61146f565b6040516103089190613b96565b60405180910390f35b61032b60048036038101906103269190612ccf565b61147e565b6040516103389190613bb1565b60405180910390f35b61035b60048036038101906103569190612ccf565b611558565b6040516103689190613b96565b60405180910390f35b61038b60048036038101906103869190612ccf565b611632565b6040516103989190613c39565b60405180910390f35b6103bb60048036038101906103b69190612d18565b61170c565b6040516103c89190613c6f565b60405180910390f35b6103eb60048036038101906103e69190612ccf565b61183c565b6040516103f89190613bee565b60405180910390f35b61041b60048036038101906104169190612ccf565b61188b565b6040516104289190613c54565b60405180910390f35b61044b60048036038101906104469190612b04565b611965565b6040516104589190613e33565b60405180910390f35b61047b60048036038101906104769190612ccf565b611a55565b6040516104889190613c6f565b60405180910390f35b6104ab60048036038101906104a69190612ccf565b611b34565b6040516104b89190613b0e565b60405180910390f35b6060816000015115610508576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ff90613db1565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__63f8a597d390916040518263ffffffff1660e01b81526004016105459190613e11565b60006040518083038186803b15801561055d57600080fd5b505af4158015610571573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061059a9190612a61565b9050919050565b606081600001516105e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105de90613cd1565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__63531f4ba790916040518263ffffffff1660e01b81526004016106249190613e11565b60006040518083038186803b15801561063c57600080fd5b505af4158015610650573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061067991906129cf565b9050919050565b61068861210c565b600060278360a0015167ffffffffffffffff16141590506040518060400160405280821515815260200184815250915050919050565b60608160000151610704576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fb90613d31565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__63f8a597d390916040518263ffffffff1660e01b81526004016107419190613e11565b60006040518083038186803b15801561075957600080fd5b505af415801561076d573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906107969190612a61565b9050919050565b606081600001516107e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107da90613d51565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__63c5e88ff290916040518263ffffffff1660e01b81526004016108209190613e11565b60006040518083038186803b15801561083857600080fd5b505af415801561084c573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906108759190612a18565b9050919050565b600081600001519050919050565b600081600001516108d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c790613d11565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__637a8acab190916040518263ffffffff1660e01b815260040161090d9190613e11565b60206040518083038186803b15801561092557600080fd5b505af4158015610939573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095d9190612d45565b9050919050565b600060606000610973846104c1565b90506000815114156109c15760006040518060400160405280601d81526020017f556e6b6e6f776e206572726f7220286e6f206572726f7220636f646529000000815250925092505061138b565b60006109e7826000815181106109da576109d9614320565b5b6020026020010151611c13565b90506060600160ff8111156109ff576109fe6142f1565b5b8260ff811115610a1257610a116142f1565b5b148015610a2157506002835110155b15610a7057610a4a83600181518110610a3d57610a3c614320565b5b6020026020010151611c39565b604051602001610a5a9190613892565b6040516020818303038152906040529050611381565b600260ff811115610a8457610a836142f1565b5b8260ff811115610a9757610a966142f1565b5b148015610aa657506002835110155b15610af557610acf83600181518110610ac257610ac1614320565b5b6020026020010151611c39565b604051602001610adf91906138bf565b6040516020818303038152906040529050611380565b600360ff811115610b0957610b086142f1565b5b8260ff811115610b1c57610b1b6142f1565b5b148015610b2b57506002835110155b15610b7a57610b5483600181518110610b4757610b46614320565b5b6020026020010151611c39565b604051602001610b6491906138ec565b604051602081830303815290604052905061137f565b601060ff811115610b8e57610b8d6142f1565b5b8260ff811115610ba157610ba06142f1565b5b148015610bb057506002835110155b15610bff57610bd983600181518110610bcc57610bcb614320565b5b6020026020010151611c39565b604051602001610be99190613a03565b604051602081830303815290604052905061137e565b601160ff811115610c1357610c126142f1565b5b8260ff811115610c2657610c256142f1565b5b148015610c3557506004835110155b15610cce57610c5e83600281518110610c5157610c50614320565b5b6020026020010151611c39565b610c8284600181518110610c7557610c74614320565b5b602002602001015161170c565b610ca685600381518110610c9957610c98614320565b5b6020026020010151611c39565b604051602001610cb893929190613a30565b604051602081830303815290604052905061137d565b602060ff811115610ce257610ce16142f1565b5b8260ff811115610cf557610cf46142f1565b5b148015610d0457506005835110155b15610dc257610d2d83600481518110610d2057610d1f614320565b5b6020026020010151611fad565b610d5184600381518110610d4457610d43614320565b5b6020026020010151611c39565b610d7585600281518110610d6857610d67614320565b5b6020026020010151611c39565b610d9986600181518110610d8c57610d8b614320565b5b602002602001015161170c565b604051602001610dac949392919061381d565b604051602081830303815290604052905061137c565b603060ff811115610dd657610dd56142f1565b5b8260ff811115610de957610de86142f1565b5b148015610df857506003835110155b15610ee657610e2183600181518110610e1457610e13614320565b5b6020026020010151611c39565b610e51606485600281518110610e3a57610e39614320565b5b6020026020010151610e4c9190614138565b611c39565b610e8d600a606487600281518110610e6c57610e6b614320565b5b6020026020010151610e7e9190614262565b610e889190614138565b611c39565b610ebd600a87600281518110610ea657610ea5614320565b5b6020026020010151610eb89190614262565b611c39565b604051602001610ed09493929190613a8d565b604051602081830303815290604052905061137b565b603160ff811115610efa57610ef96142f1565b5b8260ff811115610f0d57610f0c6142f1565b5b148015610f1c57506002835110155b15610f6b57610f4583600181518110610f3857610f37614320565b5b6020026020010151611c39565b604051602001610f559190613ae1565b604051602081830303815290604052905061137a565b604060ff811115610f7f57610f7e6142f1565b5b8260ff811115610f9257610f916142f1565b5b148015610fa157506005835110155b1561105f57610fca83600481518110610fbd57610fbc614320565b5b6020026020010151611fad565b610fee84600381518110610fe157610fe0614320565b5b6020026020010151611c39565b6110128560028151811061100557611004614320565b5b6020026020010151611c39565b6110368660018151811061102957611028614320565b5b602002602001015161170c565b60405160200161104994939291906137a8565b6040516020818303038152906040529050611379565b604160ff811115611073576110726142f1565b5b8260ff811115611086576110856142f1565b5b14801561109557506005835110155b15611153576110be836004815181106110b1576110b0614320565b5b6020026020010151611fad565b6110e2846003815181106110d5576110d4614320565b5b6020026020010151611c39565b611106856002815181106110f9576110f8614320565b5b6020026020010151611c39565b61112a8660018151811061111d5761111c614320565b5b602002602001015161170c565b60405160200161113d949392919061398e565b6040516020818303038152906040529050611378565b604260ff811115611167576111666142f1565b5b8260ff81111561117a576111796142f1565b5b14801561118957506005835110155b15611247576111b2836004815181106111a5576111a4614320565b5b6020026020010151611fad565b6111d6846003815181106111c9576111c8614320565b5b6020026020010151611c39565b6111fa856002815181106111ed576111ec614320565b5b6020026020010151611c39565b61121e8660018151811061121157611210614320565b5b602002602001015161170c565b6040516020016112319493929190613919565b6040516020818303038152906040529050611377565b60e060ff81111561125b5761125a6142f1565b5b8260ff81111561126e5761126d6142f1565b5b1415611294576040518060600160405280603f8152602001614e57603f91399050611376565b60e160ff8111156112a8576112a76142f1565b5b8260ff8111156112bb576112ba6142f1565b5b14156112e157604051806080016040528060478152602001614ed7604791399050611375565b60e260ff8111156112f5576112f46142f1565b5b8260ff811115611308576113076142f1565b5b141561132e57604051806080016040528060418152602001614e96604191399050611374565b6113528360008151811061134557611344614320565b5b6020026020010151611fad565b604051602001611362919061377b565b60405160208183030381529060405290505b5b5b5b5b5b5b5b5b5b5b5b5b5b8181945094505050505b915091565b606081600001516113d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cd90613c91565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__63bb6ef6cf90916040518263ffffffff1660e01b81526004016114139190613e11565b60006040518083038186803b15801561142b57600080fd5b505af415801561143f573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906114689190612b51565b9050919050565b60008160000151159050919050565b600081600001516114c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bb90613d71565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__6308c05c3390916040518263ffffffff1660e01b81526004016115019190613e11565b60206040518083038186803b15801561151957600080fd5b505af415801561152d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115519190612ad7565b9050919050565b6000816000015161159e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159590613dd1565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__639eee60ca90916040518263ffffffff1660e01b81526004016115db9190613e11565b60206040518083038186803b1580156115f357600080fd5b505af4158015611607573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162b9190612aaa565b9050919050565b60008160000151611678576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166f90613cf1565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__6394863ea490916040518263ffffffff1660e01b81526004016116b59190613e11565b60206040518083038186803b1580156116cd57600080fd5b505af41580156116e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117059190612b9a565b9050919050565b606060008267ffffffffffffffff16141561175e576040518060400160405280600981526020017f72657472696576616c00000000000000000000000000000000000000000000008152509050611837565b60018267ffffffffffffffff1614156117ae576040518060400160405280600b81526020017f6167677265676174696f6e0000000000000000000000000000000000000000008152509050611837565b60028267ffffffffffffffff1614156117fe576040518060400160405280600581526020017f74616c6c790000000000000000000000000000000000000000000000000000008152509050611837565b6040518060400160405280600781526020017f756e6b6e6f776e0000000000000000000000000000000000000000000000000081525090505b919050565b600080611848836104c1565b905060008151141561185e576000915050611886565b6118828160008151811061187557611874614320565b5b6020026020010151611c13565b9150505b919050565b600081600001516118d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c890613df1565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__638138799a90916040518263ffffffff1660e01b815260040161190e9190613e11565b60206040518083038186803b15801561192657600080fd5b505af415801561193a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061195e9190612bc7565b9050919050565b61196d61210c565b600083838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505073__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__63dfca5d3490916040518263ffffffff1660e01b81526004016119ec9190613bcc565b60006040518083038186803b158015611a0457600080fd5b505af4158015611a18573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611a419190612c86565b9050611a4c81610680565b91505092915050565b60608160000151611a9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9290613d91565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__63e67c5bd190916040518263ffffffff1660e01b8152600401611ad89190613e11565b60006040518083038186803b158015611af057600080fd5b505af4158015611b04573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611b2d9190612bf4565b9050919050565b60608160000151611b7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7190613cb1565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__633380d81690916040518263ffffffff1660e01b8152600401611bb79190613e11565b60006040518083038186803b158015611bcf57600080fd5b505af4158015611be3573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611c0c9190612986565b9050919050565b60008167ffffffffffffffff1660ff811115611c3257611c316142f1565b5b9050919050565b6060600a8267ffffffffffffffff161015611cfc576000600167ffffffffffffffff811115611c6b57611c6a61434f565b5b6040519080825280601f01601f191660200182016040528015611c9d5781602001600182028036833780820191505090505b509050603083611cad9190614101565b60f81b81600081518110611cc457611cc3614320565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080915050611fa8565b60648267ffffffffffffffff161015611e28576000600267ffffffffffffffff811115611d2c57611d2b61434f565b5b6040519080825280601f01601f191660200182016040528015611d5e5781602001600182028036833780820191505090505b5090506030600a84611d709190614138565b611d7a9190614101565b60f81b81600081518110611d9157611d90614320565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506030600a84611dcf9190614262565b611dd99190614101565b60f81b81600181518110611df057611def614320565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080915050611fa8565b6000600367ffffffffffffffff811115611e4557611e4461434f565b5b6040519080825280601f01601f191660200182016040528015611e775781602001600182028036833780820191505090505b5090506030606484611e899190614138565b611e939190614101565b60f81b81600081518110611eaa57611ea9614320565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506030600a606485611eea9190614262565b611ef49190614138565b611efe9190614101565b60f81b81600181518110611f1557611f14614320565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506030600a84611f539190614262565b611f5d9190614101565b60f81b81600281518110611f7457611f73614320565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350809150505b919050565b60606000600267ffffffffffffffff811115611fcc57611fcb61434f565b5b6040519080825280601f01601f191660200182016040528015611ffe5781602001600182028036833780820191505090505b509050600060306010856120129190614138565b61201c9190614101565b90506000603060108661202f9190614262565b6120399190614101565b905060398260ff161115612057576007826120549190614101565b91505b60398160ff161115612073576007816120709190614101565b90505b8160f81b8360008151811061208b5761208a614320565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060f81b836001815181106120d2576120d1614320565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350829350505050919050565b604051806040016040528060001515815260200161212861212e565b81525090565b6040518060c00160405280612141612187565b8152602001600060ff168152602001600060ff168152602001600060ff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff1681525090565b604051806040016040528060608152602001600063ffffffff1681525090565b60006121ba6121b584613e95565b613e70565b905080838252602082019050828560208602820111156121dd576121dc614392565b5b60005b8581101561220d57816121f388826125f4565b8452602084019350602083019250506001810190506121e0565b5050509392505050565b600061222a61222584613ec1565b613e70565b9050808382526020820190508285602086028201111561224d5761224c614392565b5b60005b8581101561227d57816122638882612609565b845260208401935060208301925050600181019050612250565b5050509392505050565b600061229a61229584613eed565b613e70565b905080838252602082019050828560208602820111156122bd576122bc614392565b5b60005b8581101561230b57815167ffffffffffffffff8111156122e3576122e2614383565b5b8086016122f0898261261e565b855260208501945060208401935050506001810190506122c0565b5050509392505050565b600061232861232384613f19565b613e70565b9050808382526020820190508285602086028201111561234b5761234a614392565b5b60005b8581101561237b57816123618882612947565b84526020840193506020830192505060018101905061234e565b5050509392505050565b600061239861239384613f45565b613e70565b9050828152602081018484840111156123b4576123b3614397565b5b6123bf8482856141ef565b509392505050565b60006123da6123d584613f45565b613e70565b9050828152602081018484840111156123f6576123f5614397565b5b6124018482856141fe565b509392505050565b600061241c61241784613f76565b613e70565b90508281526020810184848401111561243857612437614397565b5b6124438482856141fe565b509392505050565b600082601f8301126124605761245f614383565b5b81516124708482602086016121a7565b91505092915050565b600082601f83011261248e5761248d614383565b5b815161249e848260208601612217565b91505092915050565b600082601f8301126124bc576124bb614383565b5b81516124cc848260208601612287565b91505092915050565b600082601f8301126124ea576124e9614383565b5b81516124fa848260208601612315565b91505092915050565b60008135905061251281614db5565b92915050565b60008151905061252781614db5565b92915050565b60008151905061253c81614dcc565b92915050565b60008083601f84011261255857612557614383565b5b8235905067ffffffffffffffff8111156125755761257461437e565b5b60208301915083600182028301111561259157612590614392565b5b9250929050565b600082601f8301126125ad576125ac614383565b5b81356125bd848260208601612385565b91505092915050565b600082601f8301126125db576125da614383565b5b81516125eb8482602086016123c7565b91505092915050565b60008151905061260381614de3565b92915050565b60008151905061261881614dfa565b92915050565b600082601f83011261263357612632614383565b5b8151612643848260208601612409565b91505092915050565b60006040828403121561266257612661614388565b5b61266c6040613e70565b9050600082013567ffffffffffffffff81111561268c5761268b61438d565b5b61269884828501612598565b60008301525060206126ac84828501612908565b60208301525092915050565b6000604082840312156126ce576126cd614388565b5b6126d86040613e70565b9050600082015167ffffffffffffffff8111156126f8576126f761438d565b5b612704848285016125c6565b60008301525060206127188482850161291d565b60208301525092915050565b600060c0828403121561273a57612739614388565b5b61274460c0613e70565b9050600082013567ffffffffffffffff8111156127645761276361438d565b5b6127708482850161264c565b60008301525060206127848482850161295c565b60208301525060406127988482850161295c565b60408301525060606127ac8482850161295c565b60608301525060806127c084828501612932565b60808301525060a06127d484828501612932565b60a08301525092915050565b600060c082840312156127f6576127f5614388565b5b61280060c0613e70565b9050600082015167ffffffffffffffff8111156128205761281f61438d565b5b61282c848285016126b8565b600083015250602061284084828501612971565b602083015250604061285484828501612971565b604083015250606061286884828501612971565b606083015250608061287c84828501612947565b60808301525060a061289084828501612947565b60a08301525092915050565b6000604082840312156128b2576128b1614388565b5b6128bc6040613e70565b905060006128cc84828501612503565b600083015250602082013567ffffffffffffffff8111156128f0576128ef61438d565b5b6128fc84828501612724565b60208301525092915050565b60008135905061291781614e11565b92915050565b60008151905061292c81614e11565b92915050565b60008135905061294181614e28565b92915050565b60008151905061295681614e28565b92915050565b60008135905061296b81614e3f565b92915050565b60008151905061298081614e3f565b92915050565b60006020828403121561299c5761299b6143a1565b5b600082015167ffffffffffffffff8111156129ba576129b961439c565b5b6129c68482850161244b565b91505092915050565b6000602082840312156129e5576129e46143a1565b5b600082015167ffffffffffffffff811115612a0357612a0261439c565b5b612a0f84828501612479565b91505092915050565b600060208284031215612a2e57612a2d6143a1565b5b600082015167ffffffffffffffff811115612a4c57612a4b61439c565b5b612a58848285016124a7565b91505092915050565b600060208284031215612a7757612a766143a1565b5b600082015167ffffffffffffffff811115612a9557612a9461439c565b5b612aa1848285016124d5565b91505092915050565b600060208284031215612ac057612abf6143a1565b5b6000612ace84828501612518565b91505092915050565b600060208284031215612aed57612aec6143a1565b5b6000612afb8482850161252d565b91505092915050565b60008060208385031215612b1b57612b1a6143a1565b5b600083013567ffffffffffffffff811115612b3957612b3861439c565b5b612b4585828601612542565b92509250509250929050565b600060208284031215612b6757612b666143a1565b5b600082015167ffffffffffffffff811115612b8557612b8461439c565b5b612b91848285016125c6565b91505092915050565b600060208284031215612bb057612baf6143a1565b5b6000612bbe848285016125f4565b91505092915050565b600060208284031215612bdd57612bdc6143a1565b5b6000612beb84828501612609565b91505092915050565b600060208284031215612c0a57612c096143a1565b5b600082015167ffffffffffffffff811115612c2857612c2761439c565b5b612c348482850161261e565b91505092915050565b600060208284031215612c5357612c526143a1565b5b600082013567ffffffffffffffff811115612c7157612c7061439c565b5b612c7d84828501612724565b91505092915050565b600060208284031215612c9c57612c9b6143a1565b5b600082015167ffffffffffffffff811115612cba57612cb961439c565b5b612cc6848285016127e0565b91505092915050565b600060208284031215612ce557612ce46143a1565b5b600082013567ffffffffffffffff811115612d0357612d0261439c565b5b612d0f8482850161289c565b91505092915050565b600060208284031215612d2e57612d2d6143a1565b5b6000612d3c84828501612932565b91505092915050565b600060208284031215612d5b57612d5a6143a1565b5b6000612d6984828501612947565b91505092915050565b6000612d7e838361301a565b60208301905092915050565b6000612d968383613038565b60208301905092915050565b6000612dae8383613080565b905092915050565b6000612dc2838361375d565b60208301905092915050565b6000612dd982613fe7565b612de3818561405d565b9350612dee83613fa7565b8060005b83811015612e1f578151612e068882612d72565b9750612e1183614029565b925050600181019050612df2565b5085935050505092915050565b6000612e3782613ff2565b612e41818561406e565b9350612e4c83613fb7565b8060005b83811015612e7d578151612e648882612d8a565b9750612e6f83614036565b925050600181019050612e50565b5085935050505092915050565b6000612e9582613ffd565b612e9f818561407f565b935083602082028501612eb185613fc7565b8060005b85811015612eed5784840389528151612ece8582612da2565b9450612ed983614043565b925060208a01995050600181019050612eb5565b50829750879550505050505092915050565b6000612f0a82614008565b612f148185614090565b9350612f1f83613fd7565b8060005b83811015612f50578151612f378882612db6565b9750612f4283614050565b925050600181019050612f23565b5085935050505092915050565b612f6681614169565b82525050565b612f7581614169565b82525050565b612f8481614175565b82525050565b6000612f9582614013565b612f9f81856140a1565b9350612faf8185602086016141fe565b612fb8816143a6565b840191505092915050565b6000612fce82614013565b612fd881856140b2565b9350612fe88185602086016141fe565b612ff1816143a6565b840191505092915050565b613005816141dd565b82525050565b61301481614192565b82525050565b61302381614192565b82525050565b6130328161419f565b82525050565b6130418161419f565b82525050565b60006130528261401e565b61305c81856140d4565b935061306c8185602086016141fe565b613075816143a6565b840191505092915050565b600061308b8261401e565b61309581856140e5565b93506130a58185602086016141fe565b6130ae816143a6565b840191505092915050565b60006130c48261401e565b6130ce81856140f6565b93506130de8185602086016141fe565b80840191505092915050565b60006130f76036836140f6565b9150613102826143b7565b603682019050919050565b600061311a6017836140f6565b915061312582614406565b601782019050919050565b600061313d6045836140c3565b91506131488261442f565b606082019050919050565b60006131606011836140f6565b915061316b826144a4565b601182019050919050565b6000613183604a836140c3565b915061318e826144cd565b606082019050919050565b60006131a6601d836140f6565b91506131b182614542565b601d82019050919050565b60006131c96006836140f6565b91506131d48261456b565b600682019050919050565b60006131ec604b836140c3565b91506131f782614594565b606082019050919050565b600061320f601b836140f6565b915061321a82614609565b601b82019050919050565b60006132326010836140f6565b915061323d82614632565b601082019050919050565b6000613255602c836140f6565b91506132608261465b565b602c82019050919050565b60006132786048836140c3565b9150613283826146aa565b606082019050919050565b600061329b600c836140f6565b91506132a68261471f565b600c82019050919050565b60006132be6001836140f6565b91506132c982614748565b600182019050919050565b60006132e16006836140f6565b91506132ec82614771565b600682019050919050565b6000613304600f836140f6565b915061330f8261479a565b600f82019050919050565b60006133276048836140c3565b9150613332826147c3565b606082019050919050565b600061334a6010836140f6565b915061335582614838565b601082019050919050565b600061336d604a836140c3565b915061337882614861565b606082019050919050565b6000613390604a836140c3565b915061339b826148d6565b606082019050919050565b60006133b36021836140f6565b91506133be8261494b565b602182019050919050565b60006133d66047836140c3565b91506133e18261499a565b606082019050919050565b60006133f96048836140c3565b915061340482614a0f565b606082019050919050565b600061341c601a836140f6565b915061342782614a84565b601a82019050919050565b600061343f6024836140f6565b915061344a82614aad565b602482019050919050565b60006134626047836140c3565b915061346d82614afc565b606082019050919050565b6000613485601c836140f6565b915061349082614b71565b601c82019050919050565b60006134a8601a836140f6565b91506134b382614b9a565b601a82019050919050565b60006134cb6046836140c3565b91506134d682614bc3565b606082019050919050565b60006134ee601d836140f6565b91506134f982614c38565b601d82019050919050565b6000613511600a836140f6565b915061351c82614c61565b600a82019050919050565b60006135346049836140c3565b915061353f82614c8a565b606082019050919050565b60006135576028836140f6565b915061356282614cff565b602882019050919050565b600061357a6008836140f6565b915061358582614d4e565b600882019050919050565b600061359d6008836140f6565b91506135a882614d77565b600882019050919050565b600060408301600083015184820360008601526135d08282612fc3565b91505060208301516135e5602086018261373f565b508091505092915050565b600060c083016000830151848203600086015261360d82826135b3565b9150506020830151613622602086018261376c565b506040830151613635604086018261376c565b506060830151613648606086018261376c565b50608083015161365b608086018261375d565b5060a083015161366e60a086018261375d565b508091505092915050565b600060c083016000830151848203600086015261369682826135b3565b91505060208301516136ab602086018261376c565b5060408301516136be604086018261376c565b5060608301516136d1606086018261376c565b5060808301516136e4608086018261375d565b5060a08301516136f760a086018261375d565b508091505092915050565b600060408301600083015161371a6000860182612f6c565b50602083015184820360208601526137328282613679565b9150508091505092915050565b613748816141ac565b82525050565b613757816141bc565b82525050565b613766816141bc565b82525050565b613775816141d0565b82525050565b600061378682613153565b915061379282846130b9565b915061379d826132b1565b915081905092915050565b60006137b382613199565b91506137bf82876130b9565b91506137ca8261333d565b91506137d682866130b9565b91506137e18261328e565b91506137ed82856130b9565b91506137f8826132d4565b915061380482846130b9565b915061380f826131bc565b915081905095945050505050565b600061382882613225565b915061383482876130b9565b915061383f8261333d565b915061384b82866130b9565b91506138568261328e565b915061386282856130b9565b915061386d826132d4565b915061387982846130b9565b91506138848261310d565b915081905095945050505050565b600061389d826132f7565b91506138a982846130b9565b91506138b482613202565b915081905092915050565b60006138ca8261340f565b91506138d682846130b9565b91506138e18261349b565b915081905092915050565b60006138f78261340f565b915061390382846130b9565b915061390e826134e1565b915081905092915050565b600061392482613432565b915061393082876130b9565b915061393b8261333d565b915061394782866130b9565b91506139528261328e565b915061395e82856130b9565b9150613969826132d4565b915061397582846130b9565b9150613980826131bc565b915081905095945050505050565b600061399982613478565b91506139a582876130b9565b91506139b08261333d565b91506139bc82866130b9565b91506139c78261328e565b91506139d382856130b9565b91506139de826132d4565b91506139ea82846130b9565b91506139f5826131bc565b915081905095945050505050565b6000613a0e8261354a565b9150613a1a82846130b9565b9150613a25826132b1565b915081905092915050565b6000613a3b8261356d565b9150613a4782866130b9565b9150613a5282613504565b9150613a5e82856130b9565b9150613a69826133a6565b9150613a7582846130b9565b9150613a80826132b1565b9150819050949350505050565b6000613a9882613590565b9150613aa482876130b9565b9150613aaf826130ea565b9150613abb82866130b9565b9150613ac782856130b9565b9150613ad382846130b9565b915081905095945050505050565b6000613aec82613590565b9150613af882846130b9565b9150613b0382613248565b915081905092915050565b60006020820190508181036000830152613b288184612dce565b905092915050565b60006020820190508181036000830152613b4a8184612e2c565b905092915050565b60006020820190508181036000830152613b6c8184612e8a565b905092915050565b60006020820190508181036000830152613b8e8184612eff565b905092915050565b6000602082019050613bab6000830184612f5d565b92915050565b6000602082019050613bc66000830184612f7b565b92915050565b60006020820190508181036000830152613be68184612f8a565b905092915050565b6000602082019050613c036000830184612ffc565b92915050565b6000604082019050613c1e6000830185612ffc565b8181036020830152613c308184613047565b90509392505050565b6000602082019050613c4e600083018461300b565b92915050565b6000602082019050613c696000830184613029565b92915050565b60006020820190508181036000830152613c898184613047565b905092915050565b60006020820190508181036000830152613caa81613130565b9050919050565b60006020820190508181036000830152613cca81613176565b9050919050565b60006020820190508181036000830152613cea816131df565b9050919050565b60006020820190508181036000830152613d0a8161326b565b9050919050565b60006020820190508181036000830152613d2a8161331a565b9050919050565b60006020820190508181036000830152613d4a81613360565b9050919050565b60006020820190508181036000830152613d6a81613383565b9050919050565b60006020820190508181036000830152613d8a816133c9565b9050919050565b60006020820190508181036000830152613daa816133ec565b9050919050565b60006020820190508181036000830152613dca81613455565b9050919050565b60006020820190508181036000830152613dea816134be565b9050919050565b60006020820190508181036000830152613e0a81613527565b9050919050565b60006020820190508181036000830152613e2b81846135f0565b905092915050565b60006020820190508181036000830152613e4d8184613702565b905092915050565b6000602082019050613e6a600083018461374e565b92915050565b6000613e7a613e8b565b9050613e868282614231565b919050565b6000604051905090565b600067ffffffffffffffff821115613eb057613eaf61434f565b5b602082029050602081019050919050565b600067ffffffffffffffff821115613edc57613edb61434f565b5b602082029050602081019050919050565b600067ffffffffffffffff821115613f0857613f0761434f565b5b602082029050602081019050919050565b600067ffffffffffffffff821115613f3457613f3361434f565b5b602082029050602081019050919050565b600067ffffffffffffffff821115613f6057613f5f61434f565b5b613f69826143a6565b9050602081019050919050565b600067ffffffffffffffff821115613f9157613f9061434f565b5b613f9a826143a6565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061410c826141d0565b9150614117836141d0565b92508260ff0382111561412d5761412c614293565b5b828201905092915050565b6000614143826141bc565b915061414e836141bc565b92508261415e5761415d6142c2565b5b828204905092915050565b60008115159050919050565b6000819050919050565b600081905061418d82614da0565b919050565b600081600f0b9050919050565b60008160030b9050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b60006141e88261417f565b9050919050565b82818337600083830152505050565b60005b8381101561421c578082015181840152602081019050614201565b8381111561422b576000848401525b50505050565b61423a826143a6565b810181811067ffffffffffffffff821117156142595761425861434f565b5b80604052505050565b600061426d826141bc565b9150614278836141bc565b925082614288576142876142c2565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f20636f756c64206e6f74206265207265747269657665642e204661696c65642060008201527f776974682048545450206572726f7220636f64653a2000000000000000000000602082015250565b7f207374616765206973206e6f7420737570706f72746564000000000000000000600082015250565b7f5769746e65745061727365724c69623a20547269656420746f2072656164206260008201527f797465732076616c75652066726f6d206572726f726564205769746e65742e5260208201527f6573756c74000000000000000000000000000000000000000000000000000000604082015250565b7f556e6b6e6f776e206572726f7220283078000000000000000000000000000000600082015250565b7f5769746e65745061727365724c69623a20547269656420746f2072656164206060008201527f696e743132385b5d602076616c75652066726f6d206572726f7265642057697460208201527f6e65742e526573756c7400000000000000000000000000000000000000000000604082015250565b7f556e646572666c6f77206174206f70657261746f7220636f6465203078000000600082015250565b7f2073746167650000000000000000000000000000000000000000000000000000600082015250565b7f5769746e65745061727365724c69623a20547269656420746f2072656164206060008201527f666978656431365b5d602076616c75652066726f6d206572726f72656420576960208201527f746e65742e526573756c74000000000000000000000000000000000000000000604082015250565b7f20776173206e6f7420612076616c69642043424f522076616c75650000000000600082015250565b7f4f70657261746f7220636f646520307800000000000000000000000000000000600082015250565b7f20636f756c64206e6f742062652072657472696576656420626563617573652060008201527f6f6620612074696d656f75740000000000000000000000000000000000000000602082015250565b7f5769746e65745061727365724c69623a20547269656420746f2072656164206060008201527f696e74313238602076616c75652066726f6d206572726f726564205769746e6560208201527f742e526573756c74000000000000000000000000000000000000000000000000604082015250565b7f20696e2073637269707420230000000000000000000000000000000000000000600082015250565b7f2900000000000000000000000000000000000000000000000000000000000000600082015250565b7f2066726f6d200000000000000000000000000000000000000000000000000000600082015250565b7f536f757263652073637269707420230000000000000000000000000000000000600082015250565b7f5769746e65745061727365724c69623a20547269656420746f2072656164206060008201527f75696e743634602076616c75652066726f6d206572726f726564205769746e6560208201527f742e526573756c74000000000000000000000000000000000000000000000000604082015250565b7f20666f756e642061742063616c6c202300000000000000000000000000000000600082015250565b7f5769746e65745061727365724c69623a20547269656420746f2072656164206060008201527f75696e7436345b5d602076616c75652066726f6d206572726f7265642057697460208201527f6e65742e526573756c7400000000000000000000000000000000000000000000604082015250565b7f5769746e65745061727365724c69623a20547269656420746f2072656164206060008201527f737472696e675b5d602076616c75652066726f6d206572726f7265642057697460208201527f6e65742e526573756c7400000000000000000000000000000000000000000000604082015250565b7f20737461676520636f6e7461696e656420746f6f206d616e792063616c6c732060008201527f2800000000000000000000000000000000000000000000000000000000000000602082015250565b7f5769746e65745061727365724c69623a20747269656420746f2072656164206260008201527f7974657333322076616c75652066726f6d206572726f726564205769746e657460208201527f2e526573756c7400000000000000000000000000000000000000000000000000604082015250565b7f5769746e65745061727365724c69623a20547269656420746f2072656164206060008201527f737472696e67602076616c75652066726f6d206572726f726564205769746e6560208201527f742e526573756c74000000000000000000000000000000000000000000000000604082015250565b7f5468652043424f522076616c756520696e207363726970742023000000000000600082015250565b7f4469766973696f6e206279207a65726f206174206f70657261746f7220636f6460008201527f6520307800000000000000000000000000000000000000000000000000000000602082015250565b7f5769746e65745061727365724c69623a20547269656420746f2072656164206560008201527f72726f7220636f64652066726f6d207375636365737366756c205769746e657460208201527f2e526573756c7400000000000000000000000000000000000000000000000000604082015250565b7f4f766572666c6f77206174206f70657261746f7220636f646520307800000000600082015250565b7f20776173206e6f7420616e204172726179206f662063616c6c73000000000000600082015250565b7f5769746e65745061727365724c69623a20547269656420746f2072656164206060008201527f626f6f6c602076616c75652066726f6d206572726f726564205769746e65742e60208201527f526573756c740000000000000000000000000000000000000000000000000000604082015250565b7f20776173206e6f7420612076616c696420446174612052657175657374000000600082015250565b7f2066726f6d207468652000000000000000000000000000000000000000000000600082015250565b7f5769746e65745061727365724c69623a20547269656420746f2072656164206060008201527f66697865643136602076616c75652066726f6d206572726f726564205769746e60208201527f65742e526573756c740000000000000000000000000000000000000000000000604082015250565b7f546865207265717565737420636f6e7461696e656420746f6f206d616e79207360008201527f6f75726365732028000000000000000000000000000000000000000000000000602082015250565b7f5363726970742023000000000000000000000000000000000000000000000000600082015250565b7f536f757263652023000000000000000000000000000000000000000000000000600082015250565b6101008110614db257614db16142f1565b5b50565b614dbe81614169565b8114614dc957600080fd5b50565b614dd581614175565b8114614de057600080fd5b50565b614dec81614192565b8114614df757600080fd5b50565b614e038161419f565b8114614e0e57600080fd5b50565b614e1a816141ac565b8114614e2557600080fd5b50565b614e31816141bc565b8114614e3c57600080fd5b50565b614e48816141d0565b8114614e5357600080fd5b5056fe54686520737472756374757265206f6620746865207265717565737420697320696e76616c696420616e642069742063616e6e6f7420626520706172736564546865207265717565737420726573756c74206c656e677468206578636565647320612062726964676520636f6e747261637420646566696e6564206c696d6974546865207265717565737420686173206265656e2072656a65637465642062792074686520627269646765206e6f64652064756520746f20706f6f7220696e63656e7469766573a26469706673582212207c84347b582e34d3c229ca790843f11ad8ed7d0539a9ec821d76a66dc1e0331064736f6c63430008070033","opcodes":"PUSH2 0x4F53 PUSH2 0x53 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x46 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x12B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA1D45D56 GT PUSH2 0xB7 JUMPI DUP1 PUSH4 0xD45D097D GT PUSH2 0x7B JUMPI DUP1 PUSH4 0xD45D097D EQ PUSH2 0x3D1 JUMPI DUP1 PUSH4 0xD8868DB6 EQ PUSH2 0x401 JUMPI DUP1 PUSH4 0xE99E47F3 EQ PUSH2 0x431 JUMPI DUP1 PUSH4 0xF417DAF5 EQ PUSH2 0x461 JUMPI DUP1 PUSH4 0xFC853C37 EQ PUSH2 0x491 JUMPI PUSH2 0x12B JUMP JUMPDEST DUP1 PUSH4 0xA1D45D56 EQ PUSH2 0x2E1 JUMPI DUP1 PUSH4 0xA2E87655 EQ PUSH2 0x311 JUMPI DUP1 PUSH4 0xABF82F4C EQ PUSH2 0x341 JUMPI DUP1 PUSH4 0xC71DB521 EQ PUSH2 0x371 JUMPI DUP1 PUSH4 0xCB5371C0 EQ PUSH2 0x3A1 JUMPI PUSH2 0x12B JUMP JUMPDEST DUP1 PUSH4 0x2D26B9E2 GT PUSH2 0xFE JUMPI DUP1 PUSH4 0x2D26B9E2 EQ PUSH2 0x1F0 JUMPI DUP1 PUSH4 0x6646C119 EQ PUSH2 0x220 JUMPI DUP1 PUSH4 0x8233F9B3 EQ PUSH2 0x250 JUMPI DUP1 PUSH4 0x8CC5EB54 EQ PUSH2 0x280 JUMPI DUP1 PUSH4 0xA1B90891 EQ PUSH2 0x2B1 JUMPI PUSH2 0x12B JUMP JUMPDEST DUP1 PUSH4 0x879730D EQ PUSH2 0x130 JUMPI DUP1 PUSH4 0x8EFC097 EQ PUSH2 0x160 JUMPI DUP1 PUSH4 0x130283EE EQ PUSH2 0x190 JUMPI DUP1 PUSH4 0x147E5C8F EQ PUSH2 0x1C0 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x145 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x4C1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x157 SWAP2 SWAP1 PUSH2 0x3B74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x17A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x175 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x5A1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x187 SWAP2 SWAP1 PUSH2 0x3B30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1A5 SWAP2 SWAP1 PUSH2 0x2C3D JUMP JUMPDEST PUSH2 0x680 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B7 SWAP2 SWAP1 PUSH2 0x3E33 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1DA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1D5 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x6BE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E7 SWAP2 SWAP1 PUSH2 0x3B74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x20A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x205 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x79D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x217 SWAP2 SWAP1 PUSH2 0x3B52 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x23A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x235 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x87C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x247 SWAP2 SWAP1 PUSH2 0x3B96 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x26A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x265 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x88A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x277 SWAP2 SWAP1 PUSH2 0x3E55 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x29A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x295 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x964 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2A8 SWAP3 SWAP2 SWAP1 PUSH2 0x3C09 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2CB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2C6 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x1390 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2D8 SWAP2 SWAP1 PUSH2 0x3BCC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2FB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2F6 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x146F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x308 SWAP2 SWAP1 PUSH2 0x3B96 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x32B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x326 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x147E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x338 SWAP2 SWAP1 PUSH2 0x3BB1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x35B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x356 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x1558 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x368 SWAP2 SWAP1 PUSH2 0x3B96 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x38B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x386 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x1632 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x398 SWAP2 SWAP1 PUSH2 0x3C39 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3BB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3B6 SWAP2 SWAP1 PUSH2 0x2D18 JUMP JUMPDEST PUSH2 0x170C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3C8 SWAP2 SWAP1 PUSH2 0x3C6F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3EB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3E6 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x183C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F8 SWAP2 SWAP1 PUSH2 0x3BEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x41B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x416 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x188B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x428 SWAP2 SWAP1 PUSH2 0x3C54 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x44B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x446 SWAP2 SWAP1 PUSH2 0x2B04 JUMP JUMPDEST PUSH2 0x1965 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x458 SWAP2 SWAP1 PUSH2 0x3E33 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x47B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x476 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x1A55 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x488 SWAP2 SWAP1 PUSH2 0x3C6F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x4AB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4A6 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x1B34 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4B8 SWAP2 SWAP1 PUSH2 0x3B0E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 ADD MLOAD ISZERO PUSH2 0x508 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4FF SWAP1 PUSH2 0x3DB1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0xF8A597D3 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x545 SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x55D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x571 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x59A SWAP2 SWAP1 PUSH2 0x2A61 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 ADD MLOAD PUSH2 0x5E7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5DE SWAP1 PUSH2 0x3CD1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0x531F4BA7 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x624 SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x63C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x650 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x679 SWAP2 SWAP1 PUSH2 0x29CF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x688 PUSH2 0x210C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x27 DUP4 PUSH1 0xA0 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP3 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 ADD MLOAD PUSH2 0x704 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6FB SWAP1 PUSH2 0x3D31 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0xF8A597D3 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x741 SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x759 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x76D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x796 SWAP2 SWAP1 PUSH2 0x2A61 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 ADD MLOAD PUSH2 0x7E3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7DA SWAP1 PUSH2 0x3D51 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0xC5E88FF2 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x820 SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x838 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x84C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x875 SWAP2 SWAP1 PUSH2 0x2A18 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 ADD MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 ADD MLOAD PUSH2 0x8D0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8C7 SWAP1 PUSH2 0x3D11 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0x7A8ACAB1 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x90D SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x925 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x939 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 0x95D SWAP2 SWAP1 PUSH2 0x2D45 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH1 0x0 PUSH2 0x973 DUP5 PUSH2 0x4C1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD EQ ISZERO PUSH2 0x9C1 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1D DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x556E6B6E6F776E206572726F7220286E6F206572726F7220636F646529000000 DUP2 MSTORE POP SWAP3 POP SWAP3 POP POP PUSH2 0x138B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9E7 DUP3 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x9DA JUMPI PUSH2 0x9D9 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C13 JUMP JUMPDEST SWAP1 POP PUSH1 0x60 PUSH1 0x1 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x9FF JUMPI PUSH2 0x9FE PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xA12 JUMPI PUSH2 0xA11 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0xA21 JUMPI POP PUSH1 0x2 DUP4 MLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0xA70 JUMPI PUSH2 0xA4A DUP4 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0xA3D JUMPI PUSH2 0xA3C PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xA5A SWAP2 SWAP1 PUSH2 0x3892 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x1381 JUMP JUMPDEST PUSH1 0x2 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xA84 JUMPI PUSH2 0xA83 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xA97 JUMPI PUSH2 0xA96 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0xAA6 JUMPI POP PUSH1 0x2 DUP4 MLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0xAF5 JUMPI PUSH2 0xACF DUP4 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0xAC2 JUMPI PUSH2 0xAC1 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xADF SWAP2 SWAP1 PUSH2 0x38BF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x1380 JUMP JUMPDEST PUSH1 0x3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xB09 JUMPI PUSH2 0xB08 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xB1C JUMPI PUSH2 0xB1B PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0xB2B JUMPI POP PUSH1 0x2 DUP4 MLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0xB7A JUMPI PUSH2 0xB54 DUP4 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0xB47 JUMPI PUSH2 0xB46 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB64 SWAP2 SWAP1 PUSH2 0x38EC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x137F JUMP JUMPDEST PUSH1 0x10 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xB8E JUMPI PUSH2 0xB8D PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xBA1 JUMPI PUSH2 0xBA0 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0xBB0 JUMPI POP PUSH1 0x2 DUP4 MLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0xBFF JUMPI PUSH2 0xBD9 DUP4 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0xBCC JUMPI PUSH2 0xBCB PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xBE9 SWAP2 SWAP1 PUSH2 0x3A03 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x137E JUMP JUMPDEST PUSH1 0x11 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xC13 JUMPI PUSH2 0xC12 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xC26 JUMPI PUSH2 0xC25 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0xC35 JUMPI POP PUSH1 0x4 DUP4 MLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0xCCE JUMPI PUSH2 0xC5E DUP4 PUSH1 0x2 DUP2 MLOAD DUP2 LT PUSH2 0xC51 JUMPI PUSH2 0xC50 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0xC82 DUP5 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0xC75 JUMPI PUSH2 0xC74 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x170C JUMP JUMPDEST PUSH2 0xCA6 DUP6 PUSH1 0x3 DUP2 MLOAD DUP2 LT PUSH2 0xC99 JUMPI PUSH2 0xC98 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xCB8 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3A30 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x137D JUMP JUMPDEST PUSH1 0x20 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xCE2 JUMPI PUSH2 0xCE1 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xCF5 JUMPI PUSH2 0xCF4 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0xD04 JUMPI POP PUSH1 0x5 DUP4 MLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0xDC2 JUMPI PUSH2 0xD2D DUP4 PUSH1 0x4 DUP2 MLOAD DUP2 LT PUSH2 0xD20 JUMPI PUSH2 0xD1F PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1FAD JUMP JUMPDEST PUSH2 0xD51 DUP5 PUSH1 0x3 DUP2 MLOAD DUP2 LT PUSH2 0xD44 JUMPI PUSH2 0xD43 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0xD75 DUP6 PUSH1 0x2 DUP2 MLOAD DUP2 LT PUSH2 0xD68 JUMPI PUSH2 0xD67 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0xD99 DUP7 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0xD8C JUMPI PUSH2 0xD8B PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x170C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xDAC SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x381D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x137C JUMP JUMPDEST PUSH1 0x30 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xDD6 JUMPI PUSH2 0xDD5 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xDE9 JUMPI PUSH2 0xDE8 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0xDF8 JUMPI POP PUSH1 0x3 DUP4 MLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0xEE6 JUMPI PUSH2 0xE21 DUP4 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0xE14 JUMPI PUSH2 0xE13 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0xE51 PUSH1 0x64 DUP6 PUSH1 0x2 DUP2 MLOAD DUP2 LT PUSH2 0xE3A JUMPI PUSH2 0xE39 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0xE4C SWAP2 SWAP1 PUSH2 0x4138 JUMP JUMPDEST PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0xE8D PUSH1 0xA PUSH1 0x64 DUP8 PUSH1 0x2 DUP2 MLOAD DUP2 LT PUSH2 0xE6C JUMPI PUSH2 0xE6B PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0xE7E SWAP2 SWAP1 PUSH2 0x4262 JUMP JUMPDEST PUSH2 0xE88 SWAP2 SWAP1 PUSH2 0x4138 JUMP JUMPDEST PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0xEBD PUSH1 0xA DUP8 PUSH1 0x2 DUP2 MLOAD DUP2 LT PUSH2 0xEA6 JUMPI PUSH2 0xEA5 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0xEB8 SWAP2 SWAP1 PUSH2 0x4262 JUMP JUMPDEST PUSH2 0x1C39 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xED0 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3A8D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x137B JUMP JUMPDEST PUSH1 0x31 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xEFA JUMPI PUSH2 0xEF9 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xF0D JUMPI PUSH2 0xF0C PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0xF1C JUMPI POP PUSH1 0x2 DUP4 MLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0xF6B JUMPI PUSH2 0xF45 DUP4 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0xF38 JUMPI PUSH2 0xF37 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xF55 SWAP2 SWAP1 PUSH2 0x3AE1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x137A JUMP JUMPDEST PUSH1 0x40 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xF7F JUMPI PUSH2 0xF7E PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xF92 JUMPI PUSH2 0xF91 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0xFA1 JUMPI POP PUSH1 0x5 DUP4 MLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0x105F JUMPI PUSH2 0xFCA DUP4 PUSH1 0x4 DUP2 MLOAD DUP2 LT PUSH2 0xFBD JUMPI PUSH2 0xFBC PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1FAD JUMP JUMPDEST PUSH2 0xFEE DUP5 PUSH1 0x3 DUP2 MLOAD DUP2 LT PUSH2 0xFE1 JUMPI PUSH2 0xFE0 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0x1012 DUP6 PUSH1 0x2 DUP2 MLOAD DUP2 LT PUSH2 0x1005 JUMPI PUSH2 0x1004 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0x1036 DUP7 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x1029 JUMPI PUSH2 0x1028 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x170C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1049 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x37A8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x1379 JUMP JUMPDEST PUSH1 0x41 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x1073 JUMPI PUSH2 0x1072 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x1086 JUMPI PUSH2 0x1085 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0x1095 JUMPI POP PUSH1 0x5 DUP4 MLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0x1153 JUMPI PUSH2 0x10BE DUP4 PUSH1 0x4 DUP2 MLOAD DUP2 LT PUSH2 0x10B1 JUMPI PUSH2 0x10B0 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1FAD JUMP JUMPDEST PUSH2 0x10E2 DUP5 PUSH1 0x3 DUP2 MLOAD DUP2 LT PUSH2 0x10D5 JUMPI PUSH2 0x10D4 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0x1106 DUP6 PUSH1 0x2 DUP2 MLOAD DUP2 LT PUSH2 0x10F9 JUMPI PUSH2 0x10F8 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0x112A DUP7 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x111D JUMPI PUSH2 0x111C PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x170C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x113D SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x398E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x1378 JUMP JUMPDEST PUSH1 0x42 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x1167 JUMPI PUSH2 0x1166 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x117A JUMPI PUSH2 0x1179 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0x1189 JUMPI POP PUSH1 0x5 DUP4 MLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0x1247 JUMPI PUSH2 0x11B2 DUP4 PUSH1 0x4 DUP2 MLOAD DUP2 LT PUSH2 0x11A5 JUMPI PUSH2 0x11A4 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1FAD JUMP JUMPDEST PUSH2 0x11D6 DUP5 PUSH1 0x3 DUP2 MLOAD DUP2 LT PUSH2 0x11C9 JUMPI PUSH2 0x11C8 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0x11FA DUP6 PUSH1 0x2 DUP2 MLOAD DUP2 LT PUSH2 0x11ED JUMPI PUSH2 0x11EC PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0x121E DUP7 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x1211 JUMPI PUSH2 0x1210 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x170C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1231 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3919 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x1377 JUMP JUMPDEST PUSH1 0xE0 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x125B JUMPI PUSH2 0x125A PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x126E JUMPI PUSH2 0x126D PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ ISZERO PUSH2 0x1294 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3F DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x4E57 PUSH1 0x3F SWAP2 CODECOPY SWAP1 POP PUSH2 0x1376 JUMP JUMPDEST PUSH1 0xE1 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x12A8 JUMPI PUSH2 0x12A7 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x12BB JUMPI PUSH2 0x12BA PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ ISZERO PUSH2 0x12E1 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x47 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x4ED7 PUSH1 0x47 SWAP2 CODECOPY SWAP1 POP PUSH2 0x1375 JUMP JUMPDEST PUSH1 0xE2 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x12F5 JUMPI PUSH2 0x12F4 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x1308 JUMPI PUSH2 0x1307 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ ISZERO PUSH2 0x132E JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x41 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x4E96 PUSH1 0x41 SWAP2 CODECOPY SWAP1 POP PUSH2 0x1374 JUMP JUMPDEST PUSH2 0x1352 DUP4 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1345 JUMPI PUSH2 0x1344 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1FAD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1362 SWAP2 SWAP1 PUSH2 0x377B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP JUMPDEST JUMPDEST JUMPDEST JUMPDEST JUMPDEST JUMPDEST JUMPDEST JUMPDEST JUMPDEST JUMPDEST JUMPDEST JUMPDEST JUMPDEST JUMPDEST DUP2 DUP2 SWAP5 POP SWAP5 POP POP POP POP JUMPDEST SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 ADD MLOAD PUSH2 0x13D6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x13CD SWAP1 PUSH2 0x3C91 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0xBB6EF6CF SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1413 SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x142B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x143F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1468 SWAP2 SWAP1 PUSH2 0x2B51 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 ADD MLOAD ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 ADD MLOAD PUSH2 0x14C4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14BB SWAP1 PUSH2 0x3D71 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0x8C05C33 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1501 SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1519 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x152D 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 0x1551 SWAP2 SWAP1 PUSH2 0x2AD7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 ADD MLOAD PUSH2 0x159E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1595 SWAP1 PUSH2 0x3DD1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0x9EEE60CA SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15DB SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1607 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 0x162B SWAP2 SWAP1 PUSH2 0x2AAA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 ADD MLOAD PUSH2 0x1678 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x166F SWAP1 PUSH2 0x3CF1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0x94863EA4 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16B5 SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x16CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x16E1 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 0x1705 SWAP2 SWAP1 PUSH2 0x2B9A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x175E JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x9 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x72657472696576616C0000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP PUSH2 0x1837 JUMP JUMPDEST PUSH1 0x1 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x17AE JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xB DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6167677265676174696F6E000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP PUSH2 0x1837 JUMP JUMPDEST PUSH1 0x2 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x17FE JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x74616C6C79000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP PUSH2 0x1837 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x756E6B6E6F776E00000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1848 DUP4 PUSH2 0x4C1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD EQ ISZERO PUSH2 0x185E JUMPI PUSH1 0x0 SWAP2 POP POP PUSH2 0x1886 JUMP JUMPDEST PUSH2 0x1882 DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1875 JUMPI PUSH2 0x1874 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C13 JUMP JUMPDEST SWAP2 POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 ADD MLOAD PUSH2 0x18D1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x18C8 SWAP1 PUSH2 0x3DF1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0x8138799A SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x190E SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1926 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x193A 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 0x195E SWAP2 SWAP1 PUSH2 0x2BC7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x196D PUSH2 0x210C JUMP JUMPDEST PUSH1 0x0 DUP4 DUP4 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH20 0x0 PUSH4 0xDFCA5D34 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x19EC SWAP2 SWAP1 PUSH2 0x3BCC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1A04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1A18 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A41 SWAP2 SWAP1 PUSH2 0x2C86 JUMP JUMPDEST SWAP1 POP PUSH2 0x1A4C DUP2 PUSH2 0x680 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 ADD MLOAD PUSH2 0x1A9B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A92 SWAP1 PUSH2 0x3D91 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0xE67C5BD1 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1AD8 SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1AF0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1B04 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1B2D SWAP2 SWAP1 PUSH2 0x2BF4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 ADD MLOAD PUSH2 0x1B7A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B71 SWAP1 PUSH2 0x3CB1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0x3380D816 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1BB7 SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1BCF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1BE3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1C0C SWAP2 SWAP1 PUSH2 0x2986 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x1C32 JUMPI PUSH2 0x1C31 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0xA DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x1CFC JUMPI PUSH1 0x0 PUSH1 0x1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1C6B JUMPI PUSH2 0x1C6A PUSH2 0x434F JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1C9D JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x30 DUP4 PUSH2 0x1CAD SWAP2 SWAP1 PUSH2 0x4101 JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1CC4 JUMPI PUSH2 0x1CC3 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP1 SWAP2 POP POP PUSH2 0x1FA8 JUMP JUMPDEST PUSH1 0x64 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x1E28 JUMPI PUSH1 0x0 PUSH1 0x2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D2C JUMPI PUSH2 0x1D2B PUSH2 0x434F JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1D5E JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x30 PUSH1 0xA DUP5 PUSH2 0x1D70 SWAP2 SWAP1 PUSH2 0x4138 JUMP JUMPDEST PUSH2 0x1D7A SWAP2 SWAP1 PUSH2 0x4101 JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1D91 JUMPI PUSH2 0x1D90 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x30 PUSH1 0xA DUP5 PUSH2 0x1DCF SWAP2 SWAP1 PUSH2 0x4262 JUMP JUMPDEST PUSH2 0x1DD9 SWAP2 SWAP1 PUSH2 0x4101 JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x1DF0 JUMPI PUSH2 0x1DEF PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP1 SWAP2 POP POP PUSH2 0x1FA8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1E45 JUMPI PUSH2 0x1E44 PUSH2 0x434F JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1E77 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x30 PUSH1 0x64 DUP5 PUSH2 0x1E89 SWAP2 SWAP1 PUSH2 0x4138 JUMP JUMPDEST PUSH2 0x1E93 SWAP2 SWAP1 PUSH2 0x4101 JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1EAA JUMPI PUSH2 0x1EA9 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x30 PUSH1 0xA PUSH1 0x64 DUP6 PUSH2 0x1EEA SWAP2 SWAP1 PUSH2 0x4262 JUMP JUMPDEST PUSH2 0x1EF4 SWAP2 SWAP1 PUSH2 0x4138 JUMP JUMPDEST PUSH2 0x1EFE SWAP2 SWAP1 PUSH2 0x4101 JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x1F15 JUMPI PUSH2 0x1F14 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x30 PUSH1 0xA DUP5 PUSH2 0x1F53 SWAP2 SWAP1 PUSH2 0x4262 JUMP JUMPDEST PUSH2 0x1F5D SWAP2 SWAP1 PUSH2 0x4101 JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 PUSH1 0x2 DUP2 MLOAD DUP2 LT PUSH2 0x1F74 JUMPI PUSH2 0x1F73 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP1 SWAP2 POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH1 0x2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1FCC JUMPI PUSH2 0x1FCB PUSH2 0x434F JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1FFE JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 PUSH1 0x30 PUSH1 0x10 DUP6 PUSH2 0x2012 SWAP2 SWAP1 PUSH2 0x4138 JUMP JUMPDEST PUSH2 0x201C SWAP2 SWAP1 PUSH2 0x4101 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x30 PUSH1 0x10 DUP7 PUSH2 0x202F SWAP2 SWAP1 PUSH2 0x4262 JUMP JUMPDEST PUSH2 0x2039 SWAP2 SWAP1 PUSH2 0x4101 JUMP JUMPDEST SWAP1 POP PUSH1 0x39 DUP3 PUSH1 0xFF AND GT ISZERO PUSH2 0x2057 JUMPI PUSH1 0x7 DUP3 PUSH2 0x2054 SWAP2 SWAP1 PUSH2 0x4101 JUMP JUMPDEST SWAP2 POP JUMPDEST PUSH1 0x39 DUP2 PUSH1 0xFF AND GT ISZERO PUSH2 0x2073 JUMPI PUSH1 0x7 DUP2 PUSH2 0x2070 SWAP2 SWAP1 PUSH2 0x4101 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP2 PUSH1 0xF8 SHL DUP4 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x208B JUMPI PUSH2 0x208A PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP1 PUSH1 0xF8 SHL DUP4 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x20D2 JUMPI PUSH2 0x20D1 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP3 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x2128 PUSH2 0x212E JUMP JUMPDEST DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH2 0x2141 PUSH2 0x2187 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21BA PUSH2 0x21B5 DUP5 PUSH2 0x3E95 JUMP JUMPDEST PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x21DD JUMPI PUSH2 0x21DC PUSH2 0x4392 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x220D JUMPI DUP2 PUSH2 0x21F3 DUP9 DUP3 PUSH2 0x25F4 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x21E0 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x222A PUSH2 0x2225 DUP5 PUSH2 0x3EC1 JUMP JUMPDEST PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x224D JUMPI PUSH2 0x224C PUSH2 0x4392 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x227D JUMPI DUP2 PUSH2 0x2263 DUP9 DUP3 PUSH2 0x2609 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2250 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x229A PUSH2 0x2295 DUP5 PUSH2 0x3EED JUMP JUMPDEST PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x22BD JUMPI PUSH2 0x22BC PUSH2 0x4392 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x230B JUMPI DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x22E3 JUMPI PUSH2 0x22E2 PUSH2 0x4383 JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x22F0 DUP10 DUP3 PUSH2 0x261E JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP5 ADD SWAP4 POP POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x22C0 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2328 PUSH2 0x2323 DUP5 PUSH2 0x3F19 JUMP JUMPDEST PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x234B JUMPI PUSH2 0x234A PUSH2 0x4392 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x237B JUMPI DUP2 PUSH2 0x2361 DUP9 DUP3 PUSH2 0x2947 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x234E JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2398 PUSH2 0x2393 DUP5 PUSH2 0x3F45 JUMP JUMPDEST PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x23B4 JUMPI PUSH2 0x23B3 PUSH2 0x4397 JUMP JUMPDEST JUMPDEST PUSH2 0x23BF DUP5 DUP3 DUP6 PUSH2 0x41EF JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23DA PUSH2 0x23D5 DUP5 PUSH2 0x3F45 JUMP JUMPDEST PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x23F6 JUMPI PUSH2 0x23F5 PUSH2 0x4397 JUMP JUMPDEST JUMPDEST PUSH2 0x2401 DUP5 DUP3 DUP6 PUSH2 0x41FE JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x241C PUSH2 0x2417 DUP5 PUSH2 0x3F76 JUMP JUMPDEST PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x2438 JUMPI PUSH2 0x2437 PUSH2 0x4397 JUMP JUMPDEST JUMPDEST PUSH2 0x2443 DUP5 DUP3 DUP6 PUSH2 0x41FE JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2460 JUMPI PUSH2 0x245F PUSH2 0x4383 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x2470 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x21A7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x248E JUMPI PUSH2 0x248D PUSH2 0x4383 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x249E DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2217 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x24BC JUMPI PUSH2 0x24BB PUSH2 0x4383 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x24CC DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2287 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x24EA JUMPI PUSH2 0x24E9 PUSH2 0x4383 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x24FA DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2315 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2512 DUP2 PUSH2 0x4DB5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2527 DUP2 PUSH2 0x4DB5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x253C DUP2 PUSH2 0x4DCC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x2558 JUMPI PUSH2 0x2557 PUSH2 0x4383 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2575 JUMPI PUSH2 0x2574 PUSH2 0x437E JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x2591 JUMPI PUSH2 0x2590 PUSH2 0x4392 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x25AD JUMPI PUSH2 0x25AC PUSH2 0x4383 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x25BD DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2385 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x25DB JUMPI PUSH2 0x25DA PUSH2 0x4383 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x25EB DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x23C7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2603 DUP2 PUSH2 0x4DE3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2618 DUP2 PUSH2 0x4DFA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2633 JUMPI PUSH2 0x2632 PUSH2 0x4383 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x2643 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2409 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2662 JUMPI PUSH2 0x2661 PUSH2 0x4388 JUMP JUMPDEST JUMPDEST PUSH2 0x266C PUSH1 0x40 PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x268C JUMPI PUSH2 0x268B PUSH2 0x438D JUMP JUMPDEST JUMPDEST PUSH2 0x2698 DUP5 DUP3 DUP6 ADD PUSH2 0x2598 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x26AC DUP5 DUP3 DUP6 ADD PUSH2 0x2908 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x26CE JUMPI PUSH2 0x26CD PUSH2 0x4388 JUMP JUMPDEST JUMPDEST PUSH2 0x26D8 PUSH1 0x40 PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x26F8 JUMPI PUSH2 0x26F7 PUSH2 0x438D JUMP JUMPDEST JUMPDEST PUSH2 0x2704 DUP5 DUP3 DUP6 ADD PUSH2 0x25C6 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x2718 DUP5 DUP3 DUP6 ADD PUSH2 0x291D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x273A JUMPI PUSH2 0x2739 PUSH2 0x4388 JUMP JUMPDEST JUMPDEST PUSH2 0x2744 PUSH1 0xC0 PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2764 JUMPI PUSH2 0x2763 PUSH2 0x438D JUMP JUMPDEST JUMPDEST PUSH2 0x2770 DUP5 DUP3 DUP6 ADD PUSH2 0x264C JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x2784 DUP5 DUP3 DUP6 ADD PUSH2 0x295C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 PUSH2 0x2798 DUP5 DUP3 DUP6 ADD PUSH2 0x295C JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 PUSH2 0x27AC DUP5 DUP3 DUP6 ADD PUSH2 0x295C JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 PUSH2 0x27C0 DUP5 DUP3 DUP6 ADD PUSH2 0x2932 JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 PUSH2 0x27D4 DUP5 DUP3 DUP6 ADD PUSH2 0x2932 JUMP JUMPDEST PUSH1 0xA0 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x27F6 JUMPI PUSH2 0x27F5 PUSH2 0x4388 JUMP JUMPDEST JUMPDEST PUSH2 0x2800 PUSH1 0xC0 PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2820 JUMPI PUSH2 0x281F PUSH2 0x438D JUMP JUMPDEST JUMPDEST PUSH2 0x282C DUP5 DUP3 DUP6 ADD PUSH2 0x26B8 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x2840 DUP5 DUP3 DUP6 ADD PUSH2 0x2971 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 PUSH2 0x2854 DUP5 DUP3 DUP6 ADD PUSH2 0x2971 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 PUSH2 0x2868 DUP5 DUP3 DUP6 ADD PUSH2 0x2971 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 PUSH2 0x287C DUP5 DUP3 DUP6 ADD PUSH2 0x2947 JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 PUSH2 0x2890 DUP5 DUP3 DUP6 ADD PUSH2 0x2947 JUMP JUMPDEST PUSH1 0xA0 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x28B2 JUMPI PUSH2 0x28B1 PUSH2 0x4388 JUMP JUMPDEST JUMPDEST PUSH2 0x28BC PUSH1 0x40 PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x28CC DUP5 DUP3 DUP6 ADD PUSH2 0x2503 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x28F0 JUMPI PUSH2 0x28EF PUSH2 0x438D JUMP JUMPDEST JUMPDEST PUSH2 0x28FC DUP5 DUP3 DUP6 ADD PUSH2 0x2724 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2917 DUP2 PUSH2 0x4E11 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x292C DUP2 PUSH2 0x4E11 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2941 DUP2 PUSH2 0x4E28 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2956 DUP2 PUSH2 0x4E28 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x296B DUP2 PUSH2 0x4E3F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2980 DUP2 PUSH2 0x4E3F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x299C JUMPI PUSH2 0x299B PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x29BA JUMPI PUSH2 0x29B9 PUSH2 0x439C JUMP JUMPDEST JUMPDEST PUSH2 0x29C6 DUP5 DUP3 DUP6 ADD PUSH2 0x244B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29E5 JUMPI PUSH2 0x29E4 PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2A03 JUMPI PUSH2 0x2A02 PUSH2 0x439C JUMP JUMPDEST JUMPDEST PUSH2 0x2A0F DUP5 DUP3 DUP6 ADD PUSH2 0x2479 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2A2E JUMPI PUSH2 0x2A2D PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2A4C JUMPI PUSH2 0x2A4B PUSH2 0x439C JUMP JUMPDEST JUMPDEST PUSH2 0x2A58 DUP5 DUP3 DUP6 ADD PUSH2 0x24A7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2A77 JUMPI PUSH2 0x2A76 PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2A95 JUMPI PUSH2 0x2A94 PUSH2 0x439C JUMP JUMPDEST JUMPDEST PUSH2 0x2AA1 DUP5 DUP3 DUP6 ADD PUSH2 0x24D5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2AC0 JUMPI PUSH2 0x2ABF PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2ACE DUP5 DUP3 DUP6 ADD PUSH2 0x2518 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2AED JUMPI PUSH2 0x2AEC PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2AFB DUP5 DUP3 DUP6 ADD PUSH2 0x252D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2B1B JUMPI PUSH2 0x2B1A PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2B39 JUMPI PUSH2 0x2B38 PUSH2 0x439C JUMP JUMPDEST JUMPDEST PUSH2 0x2B45 DUP6 DUP3 DUP7 ADD PUSH2 0x2542 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2B67 JUMPI PUSH2 0x2B66 PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2B85 JUMPI PUSH2 0x2B84 PUSH2 0x439C JUMP JUMPDEST JUMPDEST PUSH2 0x2B91 DUP5 DUP3 DUP6 ADD PUSH2 0x25C6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BB0 JUMPI PUSH2 0x2BAF PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2BBE DUP5 DUP3 DUP6 ADD PUSH2 0x25F4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BDD JUMPI PUSH2 0x2BDC PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2BEB DUP5 DUP3 DUP6 ADD PUSH2 0x2609 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C0A JUMPI PUSH2 0x2C09 PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2C28 JUMPI PUSH2 0x2C27 PUSH2 0x439C JUMP JUMPDEST JUMPDEST PUSH2 0x2C34 DUP5 DUP3 DUP6 ADD PUSH2 0x261E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C53 JUMPI PUSH2 0x2C52 PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2C71 JUMPI PUSH2 0x2C70 PUSH2 0x439C JUMP JUMPDEST JUMPDEST PUSH2 0x2C7D DUP5 DUP3 DUP6 ADD PUSH2 0x2724 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C9C JUMPI PUSH2 0x2C9B PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2CBA JUMPI PUSH2 0x2CB9 PUSH2 0x439C JUMP JUMPDEST JUMPDEST PUSH2 0x2CC6 DUP5 DUP3 DUP6 ADD PUSH2 0x27E0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2CE5 JUMPI PUSH2 0x2CE4 PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2D03 JUMPI PUSH2 0x2D02 PUSH2 0x439C JUMP JUMPDEST JUMPDEST PUSH2 0x2D0F DUP5 DUP3 DUP6 ADD PUSH2 0x289C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D2E JUMPI PUSH2 0x2D2D PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2D3C DUP5 DUP3 DUP6 ADD PUSH2 0x2932 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D5B JUMPI PUSH2 0x2D5A PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2D69 DUP5 DUP3 DUP6 ADD PUSH2 0x2947 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D7E DUP4 DUP4 PUSH2 0x301A JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D96 DUP4 DUP4 PUSH2 0x3038 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DAE DUP4 DUP4 PUSH2 0x3080 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DC2 DUP4 DUP4 PUSH2 0x375D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DD9 DUP3 PUSH2 0x3FE7 JUMP JUMPDEST PUSH2 0x2DE3 DUP2 DUP6 PUSH2 0x405D JUMP JUMPDEST SWAP4 POP PUSH2 0x2DEE DUP4 PUSH2 0x3FA7 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2E1F JUMPI DUP2 MLOAD PUSH2 0x2E06 DUP9 DUP3 PUSH2 0x2D72 JUMP JUMPDEST SWAP8 POP PUSH2 0x2E11 DUP4 PUSH2 0x4029 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2DF2 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E37 DUP3 PUSH2 0x3FF2 JUMP JUMPDEST PUSH2 0x2E41 DUP2 DUP6 PUSH2 0x406E JUMP JUMPDEST SWAP4 POP PUSH2 0x2E4C DUP4 PUSH2 0x3FB7 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2E7D JUMPI DUP2 MLOAD PUSH2 0x2E64 DUP9 DUP3 PUSH2 0x2D8A JUMP JUMPDEST SWAP8 POP PUSH2 0x2E6F DUP4 PUSH2 0x4036 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2E50 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E95 DUP3 PUSH2 0x3FFD JUMP JUMPDEST PUSH2 0x2E9F DUP2 DUP6 PUSH2 0x407F JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x2EB1 DUP6 PUSH2 0x3FC7 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x2EED JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x2ECE DUP6 DUP3 PUSH2 0x2DA2 JUMP JUMPDEST SWAP5 POP PUSH2 0x2ED9 DUP4 PUSH2 0x4043 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2EB5 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F0A DUP3 PUSH2 0x4008 JUMP JUMPDEST PUSH2 0x2F14 DUP2 DUP6 PUSH2 0x4090 JUMP JUMPDEST SWAP4 POP PUSH2 0x2F1F DUP4 PUSH2 0x3FD7 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2F50 JUMPI DUP2 MLOAD PUSH2 0x2F37 DUP9 DUP3 PUSH2 0x2DB6 JUMP JUMPDEST SWAP8 POP PUSH2 0x2F42 DUP4 PUSH2 0x4050 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2F23 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2F66 DUP2 PUSH2 0x4169 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2F75 DUP2 PUSH2 0x4169 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2F84 DUP2 PUSH2 0x4175 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F95 DUP3 PUSH2 0x4013 JUMP JUMPDEST PUSH2 0x2F9F DUP2 DUP6 PUSH2 0x40A1 JUMP JUMPDEST SWAP4 POP PUSH2 0x2FAF DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x41FE JUMP JUMPDEST PUSH2 0x2FB8 DUP2 PUSH2 0x43A6 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FCE DUP3 PUSH2 0x4013 JUMP JUMPDEST PUSH2 0x2FD8 DUP2 DUP6 PUSH2 0x40B2 JUMP JUMPDEST SWAP4 POP PUSH2 0x2FE8 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x41FE JUMP JUMPDEST PUSH2 0x2FF1 DUP2 PUSH2 0x43A6 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3005 DUP2 PUSH2 0x41DD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x3014 DUP2 PUSH2 0x4192 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x3023 DUP2 PUSH2 0x4192 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x3032 DUP2 PUSH2 0x419F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x3041 DUP2 PUSH2 0x419F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3052 DUP3 PUSH2 0x401E JUMP JUMPDEST PUSH2 0x305C DUP2 DUP6 PUSH2 0x40D4 JUMP JUMPDEST SWAP4 POP PUSH2 0x306C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x41FE JUMP JUMPDEST PUSH2 0x3075 DUP2 PUSH2 0x43A6 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x308B DUP3 PUSH2 0x401E JUMP JUMPDEST PUSH2 0x3095 DUP2 DUP6 PUSH2 0x40E5 JUMP JUMPDEST SWAP4 POP PUSH2 0x30A5 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x41FE JUMP JUMPDEST PUSH2 0x30AE DUP2 PUSH2 0x43A6 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x30C4 DUP3 PUSH2 0x401E JUMP JUMPDEST PUSH2 0x30CE DUP2 DUP6 PUSH2 0x40F6 JUMP JUMPDEST SWAP4 POP PUSH2 0x30DE DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x41FE JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x30F7 PUSH1 0x36 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3102 DUP3 PUSH2 0x43B7 JUMP JUMPDEST PUSH1 0x36 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x311A PUSH1 0x17 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3125 DUP3 PUSH2 0x4406 JUMP JUMPDEST PUSH1 0x17 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x313D PUSH1 0x45 DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x3148 DUP3 PUSH2 0x442F JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3160 PUSH1 0x11 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x316B DUP3 PUSH2 0x44A4 JUMP JUMPDEST PUSH1 0x11 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3183 PUSH1 0x4A DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x318E DUP3 PUSH2 0x44CD JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x31A6 PUSH1 0x1D DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x31B1 DUP3 PUSH2 0x4542 JUMP JUMPDEST PUSH1 0x1D DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x31C9 PUSH1 0x6 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x31D4 DUP3 PUSH2 0x456B JUMP JUMPDEST PUSH1 0x6 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x31EC PUSH1 0x4B DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x31F7 DUP3 PUSH2 0x4594 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x320F PUSH1 0x1B DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x321A DUP3 PUSH2 0x4609 JUMP JUMPDEST PUSH1 0x1B DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3232 PUSH1 0x10 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x323D DUP3 PUSH2 0x4632 JUMP JUMPDEST PUSH1 0x10 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3255 PUSH1 0x2C DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3260 DUP3 PUSH2 0x465B JUMP JUMPDEST PUSH1 0x2C DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3278 PUSH1 0x48 DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x3283 DUP3 PUSH2 0x46AA JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x329B PUSH1 0xC DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x32A6 DUP3 PUSH2 0x471F JUMP JUMPDEST PUSH1 0xC DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32BE PUSH1 0x1 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x32C9 DUP3 PUSH2 0x4748 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32E1 PUSH1 0x6 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x32EC DUP3 PUSH2 0x4771 JUMP JUMPDEST PUSH1 0x6 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3304 PUSH1 0xF DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x330F DUP3 PUSH2 0x479A JUMP JUMPDEST PUSH1 0xF DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3327 PUSH1 0x48 DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x3332 DUP3 PUSH2 0x47C3 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x334A PUSH1 0x10 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3355 DUP3 PUSH2 0x4838 JUMP JUMPDEST PUSH1 0x10 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x336D PUSH1 0x4A DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x3378 DUP3 PUSH2 0x4861 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3390 PUSH1 0x4A DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x339B DUP3 PUSH2 0x48D6 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33B3 PUSH1 0x21 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x33BE DUP3 PUSH2 0x494B JUMP JUMPDEST PUSH1 0x21 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33D6 PUSH1 0x47 DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x33E1 DUP3 PUSH2 0x499A JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33F9 PUSH1 0x48 DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x3404 DUP3 PUSH2 0x4A0F JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x341C PUSH1 0x1A DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3427 DUP3 PUSH2 0x4A84 JUMP JUMPDEST PUSH1 0x1A DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x343F PUSH1 0x24 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x344A DUP3 PUSH2 0x4AAD JUMP JUMPDEST PUSH1 0x24 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3462 PUSH1 0x47 DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x346D DUP3 PUSH2 0x4AFC JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3485 PUSH1 0x1C DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3490 DUP3 PUSH2 0x4B71 JUMP JUMPDEST PUSH1 0x1C DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x34A8 PUSH1 0x1A DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x34B3 DUP3 PUSH2 0x4B9A JUMP JUMPDEST PUSH1 0x1A DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x34CB PUSH1 0x46 DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x34D6 DUP3 PUSH2 0x4BC3 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x34EE PUSH1 0x1D DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x34F9 DUP3 PUSH2 0x4C38 JUMP JUMPDEST PUSH1 0x1D DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3511 PUSH1 0xA DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x351C DUP3 PUSH2 0x4C61 JUMP JUMPDEST PUSH1 0xA DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3534 PUSH1 0x49 DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x353F DUP3 PUSH2 0x4C8A JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3557 PUSH1 0x28 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3562 DUP3 PUSH2 0x4CFF JUMP JUMPDEST PUSH1 0x28 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x357A PUSH1 0x8 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3585 DUP3 PUSH2 0x4D4E JUMP JUMPDEST PUSH1 0x8 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x359D PUSH1 0x8 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x35A8 DUP3 PUSH2 0x4D77 JUMP JUMPDEST PUSH1 0x8 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x35D0 DUP3 DUP3 PUSH2 0x2FC3 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x35E5 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x373F JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x360D DUP3 DUP3 PUSH2 0x35B3 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x3622 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x376C JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x3635 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x376C JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x3648 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x376C JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x365B PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x375D JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x366E PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x375D JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x3696 DUP3 DUP3 PUSH2 0x35B3 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x36AB PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x376C JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x36BE PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x376C JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x36D1 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x376C JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x36E4 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x375D JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x36F7 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x375D JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x371A PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x2F6C JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x3732 DUP3 DUP3 PUSH2 0x3679 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3748 DUP2 PUSH2 0x41AC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x3757 DUP2 PUSH2 0x41BC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x3766 DUP2 PUSH2 0x41BC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x3775 DUP2 PUSH2 0x41D0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3786 DUP3 PUSH2 0x3153 JUMP JUMPDEST SWAP2 POP PUSH2 0x3792 DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x379D DUP3 PUSH2 0x32B1 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x37B3 DUP3 PUSH2 0x3199 JUMP JUMPDEST SWAP2 POP PUSH2 0x37BF DUP3 DUP8 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x37CA DUP3 PUSH2 0x333D JUMP JUMPDEST SWAP2 POP PUSH2 0x37D6 DUP3 DUP7 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x37E1 DUP3 PUSH2 0x328E JUMP JUMPDEST SWAP2 POP PUSH2 0x37ED DUP3 DUP6 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x37F8 DUP3 PUSH2 0x32D4 JUMP JUMPDEST SWAP2 POP PUSH2 0x3804 DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x380F DUP3 PUSH2 0x31BC JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3828 DUP3 PUSH2 0x3225 JUMP JUMPDEST SWAP2 POP PUSH2 0x3834 DUP3 DUP8 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x383F DUP3 PUSH2 0x333D JUMP JUMPDEST SWAP2 POP PUSH2 0x384B DUP3 DUP7 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3856 DUP3 PUSH2 0x328E JUMP JUMPDEST SWAP2 POP PUSH2 0x3862 DUP3 DUP6 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x386D DUP3 PUSH2 0x32D4 JUMP JUMPDEST SWAP2 POP PUSH2 0x3879 DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3884 DUP3 PUSH2 0x310D JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x389D DUP3 PUSH2 0x32F7 JUMP JUMPDEST SWAP2 POP PUSH2 0x38A9 DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x38B4 DUP3 PUSH2 0x3202 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x38CA DUP3 PUSH2 0x340F JUMP JUMPDEST SWAP2 POP PUSH2 0x38D6 DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x38E1 DUP3 PUSH2 0x349B JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x38F7 DUP3 PUSH2 0x340F JUMP JUMPDEST SWAP2 POP PUSH2 0x3903 DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x390E DUP3 PUSH2 0x34E1 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3924 DUP3 PUSH2 0x3432 JUMP JUMPDEST SWAP2 POP PUSH2 0x3930 DUP3 DUP8 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x393B DUP3 PUSH2 0x333D JUMP JUMPDEST SWAP2 POP PUSH2 0x3947 DUP3 DUP7 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3952 DUP3 PUSH2 0x328E JUMP JUMPDEST SWAP2 POP PUSH2 0x395E DUP3 DUP6 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3969 DUP3 PUSH2 0x32D4 JUMP JUMPDEST SWAP2 POP PUSH2 0x3975 DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3980 DUP3 PUSH2 0x31BC JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3999 DUP3 PUSH2 0x3478 JUMP JUMPDEST SWAP2 POP PUSH2 0x39A5 DUP3 DUP8 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x39B0 DUP3 PUSH2 0x333D JUMP JUMPDEST SWAP2 POP PUSH2 0x39BC DUP3 DUP7 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x39C7 DUP3 PUSH2 0x328E JUMP JUMPDEST SWAP2 POP PUSH2 0x39D3 DUP3 DUP6 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x39DE DUP3 PUSH2 0x32D4 JUMP JUMPDEST SWAP2 POP PUSH2 0x39EA DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x39F5 DUP3 PUSH2 0x31BC JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A0E DUP3 PUSH2 0x354A JUMP JUMPDEST SWAP2 POP PUSH2 0x3A1A DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3A25 DUP3 PUSH2 0x32B1 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A3B DUP3 PUSH2 0x356D JUMP JUMPDEST SWAP2 POP PUSH2 0x3A47 DUP3 DUP7 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3A52 DUP3 PUSH2 0x3504 JUMP JUMPDEST SWAP2 POP PUSH2 0x3A5E DUP3 DUP6 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3A69 DUP3 PUSH2 0x33A6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3A75 DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3A80 DUP3 PUSH2 0x32B1 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A98 DUP3 PUSH2 0x3590 JUMP JUMPDEST SWAP2 POP PUSH2 0x3AA4 DUP3 DUP8 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3AAF DUP3 PUSH2 0x30EA JUMP JUMPDEST SWAP2 POP PUSH2 0x3ABB DUP3 DUP7 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3AC7 DUP3 DUP6 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3AD3 DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3AEC DUP3 PUSH2 0x3590 JUMP JUMPDEST SWAP2 POP PUSH2 0x3AF8 DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3B03 DUP3 PUSH2 0x3248 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3B28 DUP2 DUP5 PUSH2 0x2DCE JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3B4A DUP2 DUP5 PUSH2 0x2E2C JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3B6C DUP2 DUP5 PUSH2 0x2E8A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3B8E DUP2 DUP5 PUSH2 0x2EFF JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3BAB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2F5D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3BC6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2F7B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3BE6 DUP2 DUP5 PUSH2 0x2F8A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3C03 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2FFC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x3C1E PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x2FFC JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x3C30 DUP2 DUP5 PUSH2 0x3047 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3C4E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x300B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3C69 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3029 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3C89 DUP2 DUP5 PUSH2 0x3047 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3CAA DUP2 PUSH2 0x3130 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3CCA DUP2 PUSH2 0x3176 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3CEA DUP2 PUSH2 0x31DF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3D0A DUP2 PUSH2 0x326B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3D2A DUP2 PUSH2 0x331A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3D4A DUP2 PUSH2 0x3360 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3D6A DUP2 PUSH2 0x3383 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3D8A DUP2 PUSH2 0x33C9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3DAA DUP2 PUSH2 0x33EC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3DCA DUP2 PUSH2 0x3455 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3DEA DUP2 PUSH2 0x34BE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3E0A DUP2 PUSH2 0x3527 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3E2B DUP2 DUP5 PUSH2 0x35F0 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3E4D DUP2 DUP5 PUSH2 0x3702 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3E6A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x374E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E7A PUSH2 0x3E8B JUMP JUMPDEST SWAP1 POP PUSH2 0x3E86 DUP3 DUP3 PUSH2 0x4231 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3EB0 JUMPI PUSH2 0x3EAF PUSH2 0x434F JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3EDC JUMPI PUSH2 0x3EDB PUSH2 0x434F JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3F08 JUMPI PUSH2 0x3F07 PUSH2 0x434F JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3F34 JUMPI PUSH2 0x3F33 PUSH2 0x434F JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3F60 JUMPI PUSH2 0x3F5F PUSH2 0x434F JUMP JUMPDEST JUMPDEST PUSH2 0x3F69 DUP3 PUSH2 0x43A6 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3F91 JUMPI PUSH2 0x3F90 PUSH2 0x434F JUMP JUMPDEST JUMPDEST PUSH2 0x3F9A DUP3 PUSH2 0x43A6 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x410C DUP3 PUSH2 0x41D0 JUMP JUMPDEST SWAP2 POP PUSH2 0x4117 DUP4 PUSH2 0x41D0 JUMP JUMPDEST SWAP3 POP DUP3 PUSH1 0xFF SUB DUP3 GT ISZERO PUSH2 0x412D JUMPI PUSH2 0x412C PUSH2 0x4293 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4143 DUP3 PUSH2 0x41BC JUMP JUMPDEST SWAP2 POP PUSH2 0x414E DUP4 PUSH2 0x41BC JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x415E JUMPI PUSH2 0x415D PUSH2 0x42C2 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x418D DUP3 PUSH2 0x4DA0 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0xF SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x3 SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x41E8 DUP3 PUSH2 0x417F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x421C JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x4201 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x422B JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x423A DUP3 PUSH2 0x43A6 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x4259 JUMPI PUSH2 0x4258 PUSH2 0x434F JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x426D DUP3 PUSH2 0x41BC JUMP JUMPDEST SWAP2 POP PUSH2 0x4278 DUP4 PUSH2 0x41BC JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x4288 JUMPI PUSH2 0x4287 PUSH2 0x42C2 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x20636F756C64206E6F74206265207265747269657665642E204661696C656420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x776974682048545450206572726F7220636F64653A2000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x207374616765206973206E6F7420737570706F72746564000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20547269656420746F20726561642062 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x797465732076616C75652066726F6D206572726F726564205769746E65742E52 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x6573756C74000000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x556E6B6E6F776E206572726F7220283078000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20547269656420746F20726561642060 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x696E743132385B5D602076616C75652066726F6D206572726F72656420576974 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x6E65742E526573756C7400000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x556E646572666C6F77206174206F70657261746F7220636F6465203078000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x2073746167650000000000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20547269656420746F20726561642060 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x666978656431365B5D602076616C75652066726F6D206572726F726564205769 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x746E65742E526573756C74000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x20776173206E6F7420612076616C69642043424F522076616C75650000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F70657261746F7220636F646520307800000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x20636F756C64206E6F7420626520726574726965766564206265636175736520 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6F6620612074696D656F75740000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20547269656420746F20726561642060 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x696E74313238602076616C75652066726F6D206572726F726564205769746E65 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x742E526573756C74000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x20696E2073637269707420230000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x2900000000000000000000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x2066726F6D200000000000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x536F757263652073637269707420230000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20547269656420746F20726561642060 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x75696E743634602076616C75652066726F6D206572726F726564205769746E65 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x742E526573756C74000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x20666F756E642061742063616C6C202300000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20547269656420746F20726561642060 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x75696E7436345B5D602076616C75652066726F6D206572726F72656420576974 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x6E65742E526573756C7400000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20547269656420746F20726561642060 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x737472696E675B5D602076616C75652066726F6D206572726F72656420576974 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x6E65742E526573756C7400000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x20737461676520636F6E7461696E656420746F6F206D616E792063616C6C7320 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2800000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20747269656420746F20726561642062 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7974657333322076616C75652066726F6D206572726F726564205769746E6574 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x2E526573756C7400000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20547269656420746F20726561642060 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x737472696E67602076616C75652066726F6D206572726F726564205769746E65 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x742E526573756C74000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5468652043424F522076616C756520696E207363726970742023000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4469766973696F6E206279207A65726F206174206F70657261746F7220636F64 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6520307800000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20547269656420746F20726561642065 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x72726F7220636F64652066726F6D207375636365737366756C205769746E6574 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x2E526573756C7400000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F766572666C6F77206174206F70657261746F7220636F646520307800000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x20776173206E6F7420616E204172726179206F662063616C6C73000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20547269656420746F20726561642060 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x626F6F6C602076616C75652066726F6D206572726F726564205769746E65742E PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x526573756C740000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x20776173206E6F7420612076616C696420446174612052657175657374000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x2066726F6D207468652000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20547269656420746F20726561642060 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x66697865643136602076616C75652066726F6D206572726F726564205769746E PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x65742E526573756C740000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x546865207265717565737420636F6E7461696E656420746F6F206D616E792073 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6F75726365732028000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5363726970742023000000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x536F757263652023000000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x100 DUP2 LT PUSH2 0x4DB2 JUMPI PUSH2 0x4DB1 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH2 0x4DBE DUP2 PUSH2 0x4169 JUMP JUMPDEST DUP2 EQ PUSH2 0x4DC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x4DD5 DUP2 PUSH2 0x4175 JUMP JUMPDEST DUP2 EQ PUSH2 0x4DE0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x4DEC DUP2 PUSH2 0x4192 JUMP JUMPDEST DUP2 EQ PUSH2 0x4DF7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x4E03 DUP2 PUSH2 0x419F JUMP JUMPDEST DUP2 EQ PUSH2 0x4E0E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x4E1A DUP2 PUSH2 0x41AC JUMP JUMPDEST DUP2 EQ PUSH2 0x4E25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x4E31 DUP2 PUSH2 0x41BC JUMP JUMPDEST DUP2 EQ PUSH2 0x4E3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x4E48 DUP2 PUSH2 0x41D0 JUMP JUMPDEST DUP2 EQ PUSH2 0x4E53 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID SLOAD PUSH9 0x652073747275637475 PUSH19 0x65206F66207468652072657175657374206973 KECCAK256 PUSH10 0x6E76616C696420616E64 KECCAK256 PUSH10 0x742063616E6E6F742062 PUSH6 0x207061727365 PUSH5 0x5468652072 PUSH6 0x717565737420 PUSH19 0x6573756C74206C656E67746820657863656564 PUSH20 0x20612062726964676520636F6E74726163742064 PUSH6 0x66696E656420 PUSH13 0x696D6974546865207265717565 PUSH20 0x7420686173206265656E2072656A656374656420 PUSH3 0x792074 PUSH9 0x652062726964676520 PUSH15 0x6F64652064756520746F20706F6F72 KECCAK256 PUSH10 0x6E63656E7469766573A2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH29 0x84347B582E34D3C229CA790843F11AD8ED7D0539A9EC821D76A66DC1E0 CALLER LT PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ","sourceMap":"375:16523:53:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_supportedErrorOrElseUnknown_10979":{"entryPoint":7187,"id":10979,"parameterSlots":1,"returnSlots":1},"@_utoa_11131":{"entryPoint":7225,"id":11131,"parameterSlots":1,"returnSlots":1},"@_utohex_11208":{"entryPoint":8109,"id":11208,"parameterSlots":1,"returnSlots":1},"@asBool_10759":{"entryPoint":5464,"id":10759,"parameterSlots":1,"returnSlots":1},"@asBytes32_10195":{"entryPoint":5246,"id":10195,"parameterSlots":1,"returnSlots":1},"@asBytes_10174":{"entryPoint":5008,"id":10174,"parameterSlots":1,"returnSlots":1},"@asErrorCode_10231":{"entryPoint":6204,"id":10231,"parameterSlots":1,"returnSlots":1},"@asErrorMessage_10715":{"entryPoint":2404,"id":10715,"parameterSlots":1,"returnSlots":2},"@asFixed16Array_10802":{"entryPoint":1441,"id":10802,"parameterSlots":1,"returnSlots":1},"@asFixed16_10780":{"entryPoint":6283,"id":10780,"parameterSlots":1,"returnSlots":1},"@asInt128Array_10845":{"entryPoint":6964,"id":10845,"parameterSlots":1,"returnSlots":1},"@asInt128_10823":{"entryPoint":5682,"id":10823,"parameterSlots":1,"returnSlots":1},"@asRawError_10738":{"entryPoint":1217,"id":10738,"parameterSlots":1,"returnSlots":1},"@asStringArray_10888":{"entryPoint":1949,"id":10888,"parameterSlots":1,"returnSlots":1},"@asString_10866":{"entryPoint":6741,"id":10866,"parameterSlots":1,"returnSlots":1},"@asUint64Array_10931":{"entryPoint":1726,"id":10931,"parameterSlots":1,"returnSlots":1},"@asUint64_10909":{"entryPoint":2186,"id":10909,"parameterSlots":1,"returnSlots":1},"@isError_10153":{"entryPoint":5231,"id":10153,"parameterSlots":1,"returnSlots":1},"@isOk_10139":{"entryPoint":2172,"id":10139,"parameterSlots":1,"returnSlots":1},"@resultFromCborBytes_10102":{"entryPoint":6501,"id":10102,"parameterSlots":2,"returnSlots":1},"@resultFromCborValue_10126":{"entryPoint":1664,"id":10126,"parameterSlots":1,"returnSlots":1},"@stageName_10964":{"entryPoint":5900,"id":10964,"parameterSlots":1,"returnSlots":1},"abi_decode_available_length_t_array$_t_int128_$dyn_memory_ptr_fromMemory":{"entryPoint":8615,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_array$_t_int32_$dyn_memory_ptr_fromMemory":{"entryPoint":8727,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory":{"entryPoint":8839,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_array$_t_uint64_$dyn_memory_ptr_fromMemory":{"entryPoint":8981,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_bytes_memory_ptr":{"entryPoint":9093,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_bytes_memory_ptr_fromMemory":{"entryPoint":9159,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_string_memory_ptr_fromMemory":{"entryPoint":9225,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_array$_t_int128_$dyn_memory_ptr_fromMemory":{"entryPoint":9291,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_array$_t_int32_$dyn_memory_ptr_fromMemory":{"entryPoint":9337,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory":{"entryPoint":9383,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_array$_t_uint64_$dyn_memory_ptr_fromMemory":{"entryPoint":9429,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bool":{"entryPoint":9475,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bool_fromMemory":{"entryPoint":9496,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32_fromMemory":{"entryPoint":9517,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes_calldata_ptr":{"entryPoint":9538,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_bytes_memory_ptr":{"entryPoint":9624,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes_memory_ptr_fromMemory":{"entryPoint":9670,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_int128_fromMemory":{"entryPoint":9716,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_int32_fromMemory":{"entryPoint":9737,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_string_memory_ptr_fromMemory":{"entryPoint":9758,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_Buffer_$8042_memory_ptr":{"entryPoint":9804,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_Buffer_$8042_memory_ptr_fromMemory":{"entryPoint":9912,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_CBOR_$8037_memory_ptr":{"entryPoint":10020,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_CBOR_$8037_memory_ptr_fromMemory":{"entryPoint":10208,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_Result_$8023_memory_ptr":{"entryPoint":10396,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint32":{"entryPoint":10504,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint32_fromMemory":{"entryPoint":10525,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint64":{"entryPoint":10546,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint64_fromMemory":{"entryPoint":10567,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint8":{"entryPoint":10588,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint8_fromMemory":{"entryPoint":10609,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_int128_$dyn_memory_ptr_fromMemory":{"entryPoint":10630,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_int32_$dyn_memory_ptr_fromMemory":{"entryPoint":10703,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory":{"entryPoint":10776,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_uint64_$dyn_memory_ptr_fromMemory":{"entryPoint":10849,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":10922,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":10967,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes_calldata_ptr":{"entryPoint":11012,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes_memory_ptr_fromMemory":{"entryPoint":11089,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_int128_fromMemory":{"entryPoint":11162,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_int32_fromMemory":{"entryPoint":11207,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptr_fromMemory":{"entryPoint":11252,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_CBOR_$8037_memory_ptr":{"entryPoint":11325,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_CBOR_$8037_memory_ptr_fromMemory":{"entryPoint":11398,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_Result_$8023_memory_ptr":{"entryPoint":11471,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint64":{"entryPoint":11544,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint64_fromMemory":{"entryPoint":11589,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_int128_to_t_int128_library":{"entryPoint":11634,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_int32_to_t_int32_library":{"entryPoint":11658,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr_library":{"entryPoint":11682,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_uint64_to_t_uint64_library":{"entryPoint":11702,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_array$_t_int128_$dyn_memory_ptr_to_t_array$_t_int128_$dyn_memory_ptr_fromStack_library":{"entryPoint":11726,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_array$_t_int32_$dyn_memory_ptr_to_t_array$_t_int32_$dyn_memory_ptr_fromStack_library":{"entryPoint":11820,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack_library":{"entryPoint":11914,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_array$_t_uint64_$dyn_memory_ptr_to_t_array$_t_uint64_$dyn_memory_ptr_fromStack_library":{"entryPoint":12031,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bool_to_t_bool_fromStack_library":{"entryPoint":12125,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bool_to_t_bool_library":{"entryPoint":12140,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes32_to_t_bytes32_fromStack_library":{"entryPoint":12155,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library":{"entryPoint":12170,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_library":{"entryPoint":12227,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_enum$_ErrorCodes_$8299_to_t_uint8_fromStack_library":{"entryPoint":12284,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_int128_to_t_int128_fromStack_library":{"entryPoint":12299,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_int128_to_t_int128_library":{"entryPoint":12314,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_int32_to_t_int32_fromStack_library":{"entryPoint":12329,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_int32_to_t_int32_library":{"entryPoint":12344,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack_library":{"entryPoint":12359,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_library":{"entryPoint":12416,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":12473,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_stringliteral_06fad0051889b339312d16eb4a22ce922cb939c7a74f3a087fb28315293ae2e1_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":12522,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_0fdce60631188ec72ee63fc1361d0a4c4be32af3243f9d750ff56d3026640c5d_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":12557,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_10326a398e4ebae30db45e432dffe0bcbf9bb42c1ddf0acdf95f81f6937c3e6e_to_t_string_memory_ptr_fromStack":{"entryPoint":12592,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_1592131424a8311c1140099f1562782fc79cb4437b828b679e0e77389ade83e5_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":12627,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_1d02783bfdf9fcb10987fa30c69580dc05995a395206f98f8571e50bdc55f1de_to_t_string_memory_ptr_fromStack":{"entryPoint":12662,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_20219570d77827fb39a2615f42463838b5337135103169e6edf382cc9747ecb0_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":12697,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":12732,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_35d560c02aa8345814ff1f3323ab22fdca5038d982e35a8bd24bf31def042340_to_t_string_memory_ptr_fromStack":{"entryPoint":12767,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_38aad4b191165ea835c2dd674387b75fe0bd732e02a4f0a28df91297da890cb1_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":12802,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_3901bb2e94f0903cb8c3d04caa6989483e39249a328a7790ca4b4dfad12665a7_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":12837,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_4ec62780e6e71ad9c36f6f1c8b5d02daa88788dbb872d9876464dbb3ea85fc66_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":12872,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_4ff103044b32139865c8582aa6a4cb8cfea297b0e275f15a2b83d02eb8c83ff5_to_t_string_memory_ptr_fromStack":{"entryPoint":12907,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":12942,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":12977,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":13012,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_5bfa9355c289a68288e465573f0cee9515462e9a79ed698ecc1d95d0eccfb916_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":13047,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_5c8a9e5034d6996add1c3633267ae82cc51190f2746c4ebbc6652dbd2b8f82f1_to_t_string_memory_ptr_fromStack":{"entryPoint":13082,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":13117,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_645b5c892a1df9140a78ebb02f8cc9c52a58fd09049d30c9306d829f3e4067c0_to_t_string_memory_ptr_fromStack":{"entryPoint":13152,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_7cc2288f465823067474bbeb87210c75f7bfd4766f0c6b5247cfd60b08383395_to_t_string_memory_ptr_fromStack":{"entryPoint":13187,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_88bb78c033779307de44be2567efd46e965cf6e46a3adeb9f4ff105453daf69a_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":13222,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_8ef34c94c12bfb3b89b23a8cf5312739770812e6628f56af30b56f1ffca49ea6_to_t_string_memory_ptr_fromStack":{"entryPoint":13257,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_9284e9e320638704d942d2f95e83ba0c405a6a96259c3d9b83ed3e7166e675f8_to_t_string_memory_ptr_fromStack":{"entryPoint":13292,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_974710c668dd6e16ebf5515f4f47405fcb81d0b23362b2ad9c0cf9345899315d_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":13327,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_987c65b83200eb14cc0e666fee30940e97d5c2fdb5e2afde3f82dca6f8a3bcb5_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":13362,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_992d311c2b79570206080f0d7329953f913948b02046ef1f45a3c3e0d8b8ee9d_to_t_string_memory_ptr_fromStack":{"entryPoint":13397,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_9f69785389796d4b79459ae31c417869f46a1322b1e3456a4a22df0663d28a58_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":13432,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_9ff666b38f4f949d93ee79bab5b7529f286ad35ae4e512164a783a0808de8dc2_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":13467,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_b00a459d7874d8bc3d50440f99e23d9ac253a6ad184d53dfe2c9de75b7b30207_to_t_string_memory_ptr_fromStack":{"entryPoint":13502,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_c8cb671b33240e09b97d3439dbe9ccd2970edc93a4c23a9327e4a03d0ff44594_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":13537,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_cfa2b01b7f859ef10d698a8c97747b54ae5c2a99791045421f797714f2c56277_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":13572,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_d38a6c7b702dbeba4dc6ea7575dfd8e441cc0edf53099fa173ced98029f4fc5a_to_t_string_memory_ptr_fromStack":{"entryPoint":13607,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_dbad668f9a07384d40f3edacb1152b2613ed53a278c32ba014d9d3a6d99980f2_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":13642,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_e7c4a6c38904320dd9a75bb779cf633704c4654e0ab698509b157354859e4100_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":13677,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_f165ec18714352e5091dd2c6c219155ecf112e2eb5b52f8ed5193724bc1b520e_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":13712,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr_library":{"entryPoint":13747,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_fromStack_library":{"entryPoint":13808,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_library":{"entryPoint":13945,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_Result_$8023_memory_ptr_to_t_struct$_Result_$8023_memory_ptr_fromStack_library":{"entryPoint":14082,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_uint32_to_t_uint32_library":{"entryPoint":14143,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint64_to_t_uint64_fromStack_library":{"entryPoint":14158,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint64_to_t_uint64_library":{"entryPoint":14173,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint8_to_t_uint8_library":{"entryPoint":14188,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_packed_t_stringliteral_1592131424a8311c1140099f1562782fc79cb4437b828b679e0e77389ade83e5_t_string_memory_ptr_t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":14203,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_20219570d77827fb39a2615f42463838b5337135103169e6edf382cc9747ecb0_t_string_memory_ptr_t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5_t_string_memory_ptr_t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b_t_string_memory_ptr_t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b_t_string_memory_ptr_t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":14248,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_3901bb2e94f0903cb8c3d04caa6989483e39249a328a7790ca4b4dfad12665a7_t_string_memory_ptr_t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5_t_string_memory_ptr_t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b_t_string_memory_ptr_t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b_t_string_memory_ptr_t_stringliteral_0fdce60631188ec72ee63fc1361d0a4c4be32af3243f9d750ff56d3026640c5d__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":14365,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_5bfa9355c289a68288e465573f0cee9515462e9a79ed698ecc1d95d0eccfb916_t_string_memory_ptr_t_stringliteral_38aad4b191165ea835c2dd674387b75fe0bd732e02a4f0a28df91297da890cb1__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":14482,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_974710c668dd6e16ebf5515f4f47405fcb81d0b23362b2ad9c0cf9345899315d_t_string_memory_ptr_t_stringliteral_9ff666b38f4f949d93ee79bab5b7529f286ad35ae4e512164a783a0808de8dc2__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":14527,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_974710c668dd6e16ebf5515f4f47405fcb81d0b23362b2ad9c0cf9345899315d_t_string_memory_ptr_t_stringliteral_c8cb671b33240e09b97d3439dbe9ccd2970edc93a4c23a9327e4a03d0ff44594__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":14572,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_987c65b83200eb14cc0e666fee30940e97d5c2fdb5e2afde3f82dca6f8a3bcb5_t_string_memory_ptr_t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5_t_string_memory_ptr_t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b_t_string_memory_ptr_t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b_t_string_memory_ptr_t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":14617,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_9f69785389796d4b79459ae31c417869f46a1322b1e3456a4a22df0663d28a58_t_string_memory_ptr_t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5_t_string_memory_ptr_t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b_t_string_memory_ptr_t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b_t_string_memory_ptr_t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":14734,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_dbad668f9a07384d40f3edacb1152b2613ed53a278c32ba014d9d3a6d99980f2_t_string_memory_ptr_t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":14851,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_e7c4a6c38904320dd9a75bb779cf633704c4654e0ab698509b157354859e4100_t_string_memory_ptr_t_stringliteral_cfa2b01b7f859ef10d698a8c97747b54ae5c2a99791045421f797714f2c56277_t_string_memory_ptr_t_stringliteral_88bb78c033779307de44be2567efd46e965cf6e46a3adeb9f4ff105453daf69a_t_string_memory_ptr_t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":14896,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_f165ec18714352e5091dd2c6c219155ecf112e2eb5b52f8ed5193724bc1b520e_t_string_memory_ptr_t_stringliteral_06fad0051889b339312d16eb4a22ce922cb939c7a74f3a087fb28315293ae2e1_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":14989,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_f165ec18714352e5091dd2c6c219155ecf112e2eb5b52f8ed5193724bc1b520e_t_string_memory_ptr_t_stringliteral_4ec62780e6e71ad9c36f6f1c8b5d02daa88788dbb872d9876464dbb3ea85fc66__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":15073,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_int128_$dyn_memory_ptr__to_t_array$_t_int128_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":15118,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_int32_$dyn_memory_ptr__to_t_array$_t_int32_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":15152,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":15186,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_uint64_$dyn_memory_ptr__to_t_array$_t_uint64_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":15220,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed":{"entryPoint":15254,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_library_reversed":{"entryPoint":15281,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed":{"entryPoint":15308,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_enum$_ErrorCodes_$8299__to_t_uint8__fromStack_library_reversed":{"entryPoint":15342,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_enum$_ErrorCodes_$8299_t_string_memory_ptr__to_t_uint8_t_string_memory_ptr__fromStack_library_reversed":{"entryPoint":15369,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_int128__to_t_int128__fromStack_library_reversed":{"entryPoint":15417,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_int32__to_t_int32__fromStack_library_reversed":{"entryPoint":15444,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed":{"entryPoint":15471,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_10326a398e4ebae30db45e432dffe0bcbf9bb42c1ddf0acdf95f81f6937c3e6e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":15505,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1d02783bfdf9fcb10987fa30c69580dc05995a395206f98f8571e50bdc55f1de__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":15537,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_35d560c02aa8345814ff1f3323ab22fdca5038d982e35a8bd24bf31def042340__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":15569,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_4ff103044b32139865c8582aa6a4cb8cfea297b0e275f15a2b83d02eb8c83ff5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":15601,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_5c8a9e5034d6996add1c3633267ae82cc51190f2746c4ebbc6652dbd2b8f82f1__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":15633,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_645b5c892a1df9140a78ebb02f8cc9c52a58fd09049d30c9306d829f3e4067c0__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":15665,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_7cc2288f465823067474bbeb87210c75f7bfd4766f0c6b5247cfd60b08383395__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":15697,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8ef34c94c12bfb3b89b23a8cf5312739770812e6628f56af30b56f1ffca49ea6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":15729,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9284e9e320638704d942d2f95e83ba0c405a6a96259c3d9b83ed3e7166e675f8__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":15761,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_992d311c2b79570206080f0d7329953f913948b02046ef1f45a3c3e0d8b8ee9d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":15793,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b00a459d7874d8bc3d50440f99e23d9ac253a6ad184d53dfe2c9de75b7b30207__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":15825,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d38a6c7b702dbeba4dc6ea7575dfd8e441cc0edf53099fa173ced98029f4fc5a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":15857,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_CBOR_$8037_memory_ptr__to_t_struct$_CBOR_$8037_memory_ptr__fromStack_library_reversed":{"entryPoint":15889,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_struct$_Result_$8023_memory_ptr__to_t_struct$_Result_$8023_memory_ptr__fromStack_library_reversed":{"entryPoint":15923,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_library_reversed":{"entryPoint":15957,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":15984,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":16011,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_array$_t_int128_$dyn_memory_ptr":{"entryPoint":16021,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_t_array$_t_int32_$dyn_memory_ptr":{"entryPoint":16065,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr":{"entryPoint":16109,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_t_array$_t_uint64_$dyn_memory_ptr":{"entryPoint":16153,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_t_bytes_memory_ptr":{"entryPoint":16197,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_t_string_memory_ptr":{"entryPoint":16246,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_array$_t_int128_$dyn_memory_ptr":{"entryPoint":16295,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_array$_t_int32_$dyn_memory_ptr":{"entryPoint":16311,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr":{"entryPoint":16327,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_array$_t_uint64_$dyn_memory_ptr":{"entryPoint":16343,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_array$_t_int128_$dyn_memory_ptr":{"entryPoint":16359,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_array$_t_int32_$dyn_memory_ptr":{"entryPoint":16370,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr":{"entryPoint":16381,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_array$_t_uint64_$dyn_memory_ptr":{"entryPoint":16392,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_bytes_memory_ptr":{"entryPoint":16403,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_string_memory_ptr":{"entryPoint":16414,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_int128_$dyn_memory_ptr":{"entryPoint":16425,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_int32_$dyn_memory_ptr":{"entryPoint":16438,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr":{"entryPoint":16451,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_uint64_$dyn_memory_ptr":{"entryPoint":16464,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_int128_$dyn_memory_ptr_fromStack_library":{"entryPoint":16477,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_int32_$dyn_memory_ptr_fromStack_library":{"entryPoint":16494,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack_library":{"entryPoint":16511,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_uint64_$dyn_memory_ptr_fromStack_library":{"entryPoint":16528,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library":{"entryPoint":16545,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_library":{"entryPoint":16562,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_fromStack":{"entryPoint":16579,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library":{"entryPoint":16596,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_library":{"entryPoint":16613,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":16630,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint8":{"entryPoint":16641,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint64":{"entryPoint":16696,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_bool":{"entryPoint":16745,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":16757,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_enum$_ErrorCodes_$8299":{"entryPoint":16767,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_int128":{"entryPoint":16786,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_int32":{"entryPoint":16799,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint32":{"entryPoint":16812,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint64":{"entryPoint":16828,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint8":{"entryPoint":16848,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_enum$_ErrorCodes_$8299_to_t_uint8":{"entryPoint":16861,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory":{"entryPoint":16879,"id":null,"parameterSlots":3,"returnSlots":0},"copy_memory_to_memory":{"entryPoint":16894,"id":null,"parameterSlots":3,"returnSlots":0},"finalize_allocation":{"entryPoint":16945,"id":null,"parameterSlots":2,"returnSlots":0},"mod_t_uint64":{"entryPoint":16994,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x11":{"entryPoint":17043,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":17090,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":17137,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":17184,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":17231,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490":{"entryPoint":17278,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":17283,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f":{"entryPoint":17288,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421":{"entryPoint":17293,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":17298,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae":{"entryPoint":17303,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":17308,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":17313,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":17318,"id":null,"parameterSlots":1,"returnSlots":1},"store_literal_in_memory_06fad0051889b339312d16eb4a22ce922cb939c7a74f3a087fb28315293ae2e1":{"entryPoint":17335,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_0fdce60631188ec72ee63fc1361d0a4c4be32af3243f9d750ff56d3026640c5d":{"entryPoint":17414,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_10326a398e4ebae30db45e432dffe0bcbf9bb42c1ddf0acdf95f81f6937c3e6e":{"entryPoint":17455,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_1592131424a8311c1140099f1562782fc79cb4437b828b679e0e77389ade83e5":{"entryPoint":17572,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_1d02783bfdf9fcb10987fa30c69580dc05995a395206f98f8571e50bdc55f1de":{"entryPoint":17613,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_20219570d77827fb39a2615f42463838b5337135103169e6edf382cc9747ecb0":{"entryPoint":17730,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240":{"entryPoint":17771,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_35d560c02aa8345814ff1f3323ab22fdca5038d982e35a8bd24bf31def042340":{"entryPoint":17812,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_38aad4b191165ea835c2dd674387b75fe0bd732e02a4f0a28df91297da890cb1":{"entryPoint":17929,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_3901bb2e94f0903cb8c3d04caa6989483e39249a328a7790ca4b4dfad12665a7":{"entryPoint":17970,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_4ec62780e6e71ad9c36f6f1c8b5d02daa88788dbb872d9876464dbb3ea85fc66":{"entryPoint":18011,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_4ff103044b32139865c8582aa6a4cb8cfea297b0e275f15a2b83d02eb8c83ff5":{"entryPoint":18090,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b":{"entryPoint":18207,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed":{"entryPoint":18248,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b":{"entryPoint":18289,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_5bfa9355c289a68288e465573f0cee9515462e9a79ed698ecc1d95d0eccfb916":{"entryPoint":18330,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_5c8a9e5034d6996add1c3633267ae82cc51190f2746c4ebbc6652dbd2b8f82f1":{"entryPoint":18371,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5":{"entryPoint":18488,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_645b5c892a1df9140a78ebb02f8cc9c52a58fd09049d30c9306d829f3e4067c0":{"entryPoint":18529,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_7cc2288f465823067474bbeb87210c75f7bfd4766f0c6b5247cfd60b08383395":{"entryPoint":18646,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_88bb78c033779307de44be2567efd46e965cf6e46a3adeb9f4ff105453daf69a":{"entryPoint":18763,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_8ef34c94c12bfb3b89b23a8cf5312739770812e6628f56af30b56f1ffca49ea6":{"entryPoint":18842,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_9284e9e320638704d942d2f95e83ba0c405a6a96259c3d9b83ed3e7166e675f8":{"entryPoint":18959,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_974710c668dd6e16ebf5515f4f47405fcb81d0b23362b2ad9c0cf9345899315d":{"entryPoint":19076,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_987c65b83200eb14cc0e666fee30940e97d5c2fdb5e2afde3f82dca6f8a3bcb5":{"entryPoint":19117,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_992d311c2b79570206080f0d7329953f913948b02046ef1f45a3c3e0d8b8ee9d":{"entryPoint":19196,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_9f69785389796d4b79459ae31c417869f46a1322b1e3456a4a22df0663d28a58":{"entryPoint":19313,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_9ff666b38f4f949d93ee79bab5b7529f286ad35ae4e512164a783a0808de8dc2":{"entryPoint":19354,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_b00a459d7874d8bc3d50440f99e23d9ac253a6ad184d53dfe2c9de75b7b30207":{"entryPoint":19395,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_c8cb671b33240e09b97d3439dbe9ccd2970edc93a4c23a9327e4a03d0ff44594":{"entryPoint":19512,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_cfa2b01b7f859ef10d698a8c97747b54ae5c2a99791045421f797714f2c56277":{"entryPoint":19553,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_d38a6c7b702dbeba4dc6ea7575dfd8e441cc0edf53099fa173ced98029f4fc5a":{"entryPoint":19594,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_dbad668f9a07384d40f3edacb1152b2613ed53a278c32ba014d9d3a6d99980f2":{"entryPoint":19711,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_e7c4a6c38904320dd9a75bb779cf633704c4654e0ab698509b157354859e4100":{"entryPoint":19790,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_f165ec18714352e5091dd2c6c219155ecf112e2eb5b52f8ed5193724bc1b520e":{"entryPoint":19831,"id":null,"parameterSlots":1,"returnSlots":0},"validator_assert_t_enum$_ErrorCodes_$8299":{"entryPoint":19872,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bool":{"entryPoint":19893,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":19916,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_int128":{"entryPoint":19939,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_int32":{"entryPoint":19962,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint32":{"entryPoint":19985,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint64":{"entryPoint":20008,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint8":{"entryPoint":20031,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:93907:67","statements":[{"body":{"nodeType":"YulBlock","src":"135:629:67","statements":[{"nodeType":"YulAssignment","src":"145:89:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"226:6:67"}],"functionName":{"name":"array_allocation_size_t_array$_t_int128_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"170:55:67"},"nodeType":"YulFunctionCall","src":"170:63:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"154:15:67"},"nodeType":"YulFunctionCall","src":"154:80:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"145:5:67"}]},{"nodeType":"YulVariableDeclaration","src":"243:16:67","value":{"name":"array","nodeType":"YulIdentifier","src":"254:5:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"247:3:67","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"276:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"283:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"269:6:67"},"nodeType":"YulFunctionCall","src":"269:21:67"},"nodeType":"YulExpressionStatement","src":"269:21:67"},{"nodeType":"YulAssignment","src":"299:23:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"310:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"317:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"306:3:67"},"nodeType":"YulFunctionCall","src":"306:16:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"299:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"332:17:67","value":{"name":"offset","nodeType":"YulIdentifier","src":"343:6:67"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"336:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"398:103:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"412:77:67"},"nodeType":"YulFunctionCall","src":"412:79:67"},"nodeType":"YulExpressionStatement","src":"412:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"368:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"377:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"385:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"373:3:67"},"nodeType":"YulFunctionCall","src":"373:17:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"364:3:67"},"nodeType":"YulFunctionCall","src":"364:27:67"},{"name":"end","nodeType":"YulIdentifier","src":"393:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"361:2:67"},"nodeType":"YulFunctionCall","src":"361:36:67"},"nodeType":"YulIf","src":"358:143:67"},{"body":{"nodeType":"YulBlock","src":"570:188:67","statements":[{"nodeType":"YulVariableDeclaration","src":"585:21:67","value":{"name":"src","nodeType":"YulIdentifier","src":"603:3:67"},"variables":[{"name":"elementPos","nodeType":"YulTypedName","src":"589:10:67","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"627:3:67"},{"arguments":[{"name":"elementPos","nodeType":"YulIdentifier","src":"663:10:67"},{"name":"end","nodeType":"YulIdentifier","src":"675:3:67"}],"functionName":{"name":"abi_decode_t_int128_fromMemory","nodeType":"YulIdentifier","src":"632:30:67"},"nodeType":"YulFunctionCall","src":"632:47:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"620:6:67"},"nodeType":"YulFunctionCall","src":"620:60:67"},"nodeType":"YulExpressionStatement","src":"620:60:67"},{"nodeType":"YulAssignment","src":"693:21:67","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"704:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"709:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"700:3:67"},"nodeType":"YulFunctionCall","src":"700:14:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"693:3:67"}]},{"nodeType":"YulAssignment","src":"727:21:67","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"738:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"743:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"734:3:67"},"nodeType":"YulFunctionCall","src":"734:14:67"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"727:3:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"532:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"535:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"529:2:67"},"nodeType":"YulFunctionCall","src":"529:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"543:18:67","statements":[{"nodeType":"YulAssignment","src":"545:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"554:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"557:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"550:3:67"},"nodeType":"YulFunctionCall","src":"550:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"545:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"514:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"516:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"525:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"520:1:67","type":""}]}]},"src":"510:248:67"}]},"name":"abi_decode_available_length_t_array$_t_int128_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"105:6:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"113:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"121:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"129:5:67","type":""}],"src":"23:741:67"},{"body":{"nodeType":"YulBlock","src":"896:627:67","statements":[{"nodeType":"YulAssignment","src":"906:88:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"986:6:67"}],"functionName":{"name":"array_allocation_size_t_array$_t_int32_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"931:54:67"},"nodeType":"YulFunctionCall","src":"931:62:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"915:15:67"},"nodeType":"YulFunctionCall","src":"915:79:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"906:5:67"}]},{"nodeType":"YulVariableDeclaration","src":"1003:16:67","value":{"name":"array","nodeType":"YulIdentifier","src":"1014:5:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"1007:3:67","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"1036:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"1043:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1029:6:67"},"nodeType":"YulFunctionCall","src":"1029:21:67"},"nodeType":"YulExpressionStatement","src":"1029:21:67"},{"nodeType":"YulAssignment","src":"1059:23:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"1070:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"1077:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1066:3:67"},"nodeType":"YulFunctionCall","src":"1066:16:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1059:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"1092:17:67","value":{"name":"offset","nodeType":"YulIdentifier","src":"1103:6:67"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"1096:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"1158:103:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"1172:77:67"},"nodeType":"YulFunctionCall","src":"1172:79:67"},"nodeType":"YulExpressionStatement","src":"1172:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1128:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1137:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1145:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"1133:3:67"},"nodeType":"YulFunctionCall","src":"1133:17:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1124:3:67"},"nodeType":"YulFunctionCall","src":"1124:27:67"},{"name":"end","nodeType":"YulIdentifier","src":"1153:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1121:2:67"},"nodeType":"YulFunctionCall","src":"1121:36:67"},"nodeType":"YulIf","src":"1118:143:67"},{"body":{"nodeType":"YulBlock","src":"1330:187:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1345:21:67","value":{"name":"src","nodeType":"YulIdentifier","src":"1363:3:67"},"variables":[{"name":"elementPos","nodeType":"YulTypedName","src":"1349:10:67","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1387:3:67"},{"arguments":[{"name":"elementPos","nodeType":"YulIdentifier","src":"1422:10:67"},{"name":"end","nodeType":"YulIdentifier","src":"1434:3:67"}],"functionName":{"name":"abi_decode_t_int32_fromMemory","nodeType":"YulIdentifier","src":"1392:29:67"},"nodeType":"YulFunctionCall","src":"1392:46:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1380:6:67"},"nodeType":"YulFunctionCall","src":"1380:59:67"},"nodeType":"YulExpressionStatement","src":"1380:59:67"},{"nodeType":"YulAssignment","src":"1452:21:67","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1463:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"1468:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1459:3:67"},"nodeType":"YulFunctionCall","src":"1459:14:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1452:3:67"}]},{"nodeType":"YulAssignment","src":"1486:21:67","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1497:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"1502:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1493:3:67"},"nodeType":"YulFunctionCall","src":"1493:14:67"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1486:3:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1292:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"1295:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1289:2:67"},"nodeType":"YulFunctionCall","src":"1289:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1303:18:67","statements":[{"nodeType":"YulAssignment","src":"1305:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1314:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"1317:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1310:3:67"},"nodeType":"YulFunctionCall","src":"1310:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1305:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"1274:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1276:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1285:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1280:1:67","type":""}]}]},"src":"1270:247:67"}]},"name":"abi_decode_available_length_t_array$_t_int32_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"866:6:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"874:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"882:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"890:5:67","type":""}],"src":"785:738:67"},{"body":{"nodeType":"YulBlock","src":"1668:849:67","statements":[{"nodeType":"YulAssignment","src":"1678:100:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1770:6:67"}],"functionName":{"name":"array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"1703:66:67"},"nodeType":"YulFunctionCall","src":"1703:74:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"1687:15:67"},"nodeType":"YulFunctionCall","src":"1687:91:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1678:5:67"}]},{"nodeType":"YulVariableDeclaration","src":"1787:16:67","value":{"name":"array","nodeType":"YulIdentifier","src":"1798:5:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"1791:3:67","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"1820:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"1827:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1813:6:67"},"nodeType":"YulFunctionCall","src":"1813:21:67"},"nodeType":"YulExpressionStatement","src":"1813:21:67"},{"nodeType":"YulAssignment","src":"1843:23:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"1854:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"1861:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1850:3:67"},"nodeType":"YulFunctionCall","src":"1850:16:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1843:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"1876:17:67","value":{"name":"offset","nodeType":"YulIdentifier","src":"1887:6:67"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"1880:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"1942:103:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"1956:77:67"},"nodeType":"YulFunctionCall","src":"1956:79:67"},"nodeType":"YulExpressionStatement","src":"1956:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1912:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1921:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1929:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"1917:3:67"},"nodeType":"YulFunctionCall","src":"1917:17:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1908:3:67"},"nodeType":"YulFunctionCall","src":"1908:27:67"},{"name":"end","nodeType":"YulIdentifier","src":"1937:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1905:2:67"},"nodeType":"YulFunctionCall","src":"1905:36:67"},"nodeType":"YulIf","src":"1902:143:67"},{"body":{"nodeType":"YulBlock","src":"2114:397:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2129:29:67","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2154:3:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2148:5:67"},"nodeType":"YulFunctionCall","src":"2148:10:67"},"variables":[{"name":"innerOffset","nodeType":"YulTypedName","src":"2133:11:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"2210:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"2212:77:67"},"nodeType":"YulFunctionCall","src":"2212:79:67"},"nodeType":"YulExpressionStatement","src":"2212:79:67"}]},"condition":{"arguments":[{"name":"innerOffset","nodeType":"YulIdentifier","src":"2177:11:67"},{"kind":"number","nodeType":"YulLiteral","src":"2190:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2174:2:67"},"nodeType":"YulFunctionCall","src":"2174:35:67"},"nodeType":"YulIf","src":"2171:122:67"},{"nodeType":"YulVariableDeclaration","src":"2306:42:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2328:6:67"},{"name":"innerOffset","nodeType":"YulIdentifier","src":"2336:11:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2324:3:67"},"nodeType":"YulFunctionCall","src":"2324:24:67"},"variables":[{"name":"elementPos","nodeType":"YulTypedName","src":"2310:10:67","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2369:3:67"},{"arguments":[{"name":"elementPos","nodeType":"YulIdentifier","src":"2416:10:67"},{"name":"end","nodeType":"YulIdentifier","src":"2428:3:67"}],"functionName":{"name":"abi_decode_t_string_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"2374:41:67"},"nodeType":"YulFunctionCall","src":"2374:58:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2362:6:67"},"nodeType":"YulFunctionCall","src":"2362:71:67"},"nodeType":"YulExpressionStatement","src":"2362:71:67"},{"nodeType":"YulAssignment","src":"2446:21:67","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2457:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"2462:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2453:3:67"},"nodeType":"YulFunctionCall","src":"2453:14:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2446:3:67"}]},{"nodeType":"YulAssignment","src":"2480:21:67","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2491:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"2496:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2487:3:67"},"nodeType":"YulFunctionCall","src":"2487:14:67"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"2480:3:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2076:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"2079:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2073:2:67"},"nodeType":"YulFunctionCall","src":"2073:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2087:18:67","statements":[{"nodeType":"YulAssignment","src":"2089:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2098:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"2101:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2094:3:67"},"nodeType":"YulFunctionCall","src":"2094:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"2089:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"2058:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2060:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"2069:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"2064:1:67","type":""}]}]},"src":"2054:457:67"}]},"name":"abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1638:6:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"1646:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1654:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"1662:5:67","type":""}],"src":"1545:972:67"},{"body":{"nodeType":"YulBlock","src":"2651:629:67","statements":[{"nodeType":"YulAssignment","src":"2661:89:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2742:6:67"}],"functionName":{"name":"array_allocation_size_t_array$_t_uint64_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"2686:55:67"},"nodeType":"YulFunctionCall","src":"2686:63:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"2670:15:67"},"nodeType":"YulFunctionCall","src":"2670:80:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"2661:5:67"}]},{"nodeType":"YulVariableDeclaration","src":"2759:16:67","value":{"name":"array","nodeType":"YulIdentifier","src":"2770:5:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"2763:3:67","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"2792:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"2799:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2785:6:67"},"nodeType":"YulFunctionCall","src":"2785:21:67"},"nodeType":"YulExpressionStatement","src":"2785:21:67"},{"nodeType":"YulAssignment","src":"2815:23:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"2826:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"2833:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2822:3:67"},"nodeType":"YulFunctionCall","src":"2822:16:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2815:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"2848:17:67","value":{"name":"offset","nodeType":"YulIdentifier","src":"2859:6:67"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"2852:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"2914:103:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"2928:77:67"},"nodeType":"YulFunctionCall","src":"2928:79:67"},"nodeType":"YulExpressionStatement","src":"2928:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2884:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2893:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"2901:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2889:3:67"},"nodeType":"YulFunctionCall","src":"2889:17:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2880:3:67"},"nodeType":"YulFunctionCall","src":"2880:27:67"},{"name":"end","nodeType":"YulIdentifier","src":"2909:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2877:2:67"},"nodeType":"YulFunctionCall","src":"2877:36:67"},"nodeType":"YulIf","src":"2874:143:67"},{"body":{"nodeType":"YulBlock","src":"3086:188:67","statements":[{"nodeType":"YulVariableDeclaration","src":"3101:21:67","value":{"name":"src","nodeType":"YulIdentifier","src":"3119:3:67"},"variables":[{"name":"elementPos","nodeType":"YulTypedName","src":"3105:10:67","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3143:3:67"},{"arguments":[{"name":"elementPos","nodeType":"YulIdentifier","src":"3179:10:67"},{"name":"end","nodeType":"YulIdentifier","src":"3191:3:67"}],"functionName":{"name":"abi_decode_t_uint64_fromMemory","nodeType":"YulIdentifier","src":"3148:30:67"},"nodeType":"YulFunctionCall","src":"3148:47:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3136:6:67"},"nodeType":"YulFunctionCall","src":"3136:60:67"},"nodeType":"YulExpressionStatement","src":"3136:60:67"},{"nodeType":"YulAssignment","src":"3209:21:67","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3220:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"3225:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3216:3:67"},"nodeType":"YulFunctionCall","src":"3216:14:67"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"3209:3:67"}]},{"nodeType":"YulAssignment","src":"3243:21:67","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3254:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"3259:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3250:3:67"},"nodeType":"YulFunctionCall","src":"3250:14:67"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"3243:3:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3048:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"3051:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3045:2:67"},"nodeType":"YulFunctionCall","src":"3045:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3059:18:67","statements":[{"nodeType":"YulAssignment","src":"3061:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3070:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"3073:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3066:3:67"},"nodeType":"YulFunctionCall","src":"3066:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"3061:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"3030:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"3032:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"3041:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"3036:1:67","type":""}]}]},"src":"3026:248:67"}]},"name":"abi_decode_available_length_t_array$_t_uint64_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2621:6:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"2629:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"2637:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"2645:5:67","type":""}],"src":"2539:741:67"},{"body":{"nodeType":"YulBlock","src":"3369:327:67","statements":[{"nodeType":"YulAssignment","src":"3379:74:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3445:6:67"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"3404:40:67"},"nodeType":"YulFunctionCall","src":"3404:48:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"3388:15:67"},"nodeType":"YulFunctionCall","src":"3388:65:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"3379:5:67"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"3469:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"3476:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3462:6:67"},"nodeType":"YulFunctionCall","src":"3462:21:67"},"nodeType":"YulExpressionStatement","src":"3462:21:67"},{"nodeType":"YulVariableDeclaration","src":"3492:27:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"3507:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"3514:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3503:3:67"},"nodeType":"YulFunctionCall","src":"3503:16:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"3496:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"3557:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulIdentifier","src":"3559:77:67"},"nodeType":"YulFunctionCall","src":"3559:79:67"},"nodeType":"YulExpressionStatement","src":"3559:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3538:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"3543:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3534:3:67"},"nodeType":"YulFunctionCall","src":"3534:16:67"},{"name":"end","nodeType":"YulIdentifier","src":"3552:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3531:2:67"},"nodeType":"YulFunctionCall","src":"3531:25:67"},"nodeType":"YulIf","src":"3528:112:67"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3673:3:67"},{"name":"dst","nodeType":"YulIdentifier","src":"3678:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"3683:6:67"}],"functionName":{"name":"copy_calldata_to_memory","nodeType":"YulIdentifier","src":"3649:23:67"},"nodeType":"YulFunctionCall","src":"3649:41:67"},"nodeType":"YulExpressionStatement","src":"3649:41:67"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"3342:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"3347:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"3355:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"3363:5:67","type":""}],"src":"3286:410:67"},{"body":{"nodeType":"YulBlock","src":"3796:325:67","statements":[{"nodeType":"YulAssignment","src":"3806:74:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3872:6:67"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"3831:40:67"},"nodeType":"YulFunctionCall","src":"3831:48:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"3815:15:67"},"nodeType":"YulFunctionCall","src":"3815:65:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"3806:5:67"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"3896:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"3903:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3889:6:67"},"nodeType":"YulFunctionCall","src":"3889:21:67"},"nodeType":"YulExpressionStatement","src":"3889:21:67"},{"nodeType":"YulVariableDeclaration","src":"3919:27:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"3934:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"3941:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3930:3:67"},"nodeType":"YulFunctionCall","src":"3930:16:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"3923:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"3984:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulIdentifier","src":"3986:77:67"},"nodeType":"YulFunctionCall","src":"3986:79:67"},"nodeType":"YulExpressionStatement","src":"3986:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3965:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"3970:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3961:3:67"},"nodeType":"YulFunctionCall","src":"3961:16:67"},{"name":"end","nodeType":"YulIdentifier","src":"3979:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3958:2:67"},"nodeType":"YulFunctionCall","src":"3958:25:67"},"nodeType":"YulIf","src":"3955:112:67"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"4098:3:67"},{"name":"dst","nodeType":"YulIdentifier","src":"4103:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"4108:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"4076:21:67"},"nodeType":"YulFunctionCall","src":"4076:39:67"},"nodeType":"YulExpressionStatement","src":"4076:39:67"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"3769:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"3774:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"3782:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"3790:5:67","type":""}],"src":"3702:419:67"},{"body":{"nodeType":"YulBlock","src":"4222:326:67","statements":[{"nodeType":"YulAssignment","src":"4232:75:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4299:6:67"}],"functionName":{"name":"array_allocation_size_t_string_memory_ptr","nodeType":"YulIdentifier","src":"4257:41:67"},"nodeType":"YulFunctionCall","src":"4257:49:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"4241:15:67"},"nodeType":"YulFunctionCall","src":"4241:66:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"4232:5:67"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"4323:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"4330:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4316:6:67"},"nodeType":"YulFunctionCall","src":"4316:21:67"},"nodeType":"YulExpressionStatement","src":"4316:21:67"},{"nodeType":"YulVariableDeclaration","src":"4346:27:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"4361:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"4368:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4357:3:67"},"nodeType":"YulFunctionCall","src":"4357:16:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"4350:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"4411:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulIdentifier","src":"4413:77:67"},"nodeType":"YulFunctionCall","src":"4413:79:67"},"nodeType":"YulExpressionStatement","src":"4413:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"4392:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"4397:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4388:3:67"},"nodeType":"YulFunctionCall","src":"4388:16:67"},{"name":"end","nodeType":"YulIdentifier","src":"4406:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4385:2:67"},"nodeType":"YulFunctionCall","src":"4385:25:67"},"nodeType":"YulIf","src":"4382:112:67"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"4525:3:67"},{"name":"dst","nodeType":"YulIdentifier","src":"4530:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"4535:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"4503:21:67"},"nodeType":"YulFunctionCall","src":"4503:39:67"},"nodeType":"YulExpressionStatement","src":"4503:39:67"}]},"name":"abi_decode_available_length_t_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"4195:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"4200:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"4208:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"4216:5:67","type":""}],"src":"4127:421:67"},{"body":{"nodeType":"YulBlock","src":"4657:296:67","statements":[{"body":{"nodeType":"YulBlock","src":"4706:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"4708:77:67"},"nodeType":"YulFunctionCall","src":"4708:79:67"},"nodeType":"YulExpressionStatement","src":"4708:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4685:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"4693:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4681:3:67"},"nodeType":"YulFunctionCall","src":"4681:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"4700:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4677:3:67"},"nodeType":"YulFunctionCall","src":"4677:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4670:6:67"},"nodeType":"YulFunctionCall","src":"4670:35:67"},"nodeType":"YulIf","src":"4667:122:67"},{"nodeType":"YulVariableDeclaration","src":"4798:27:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4818:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4812:5:67"},"nodeType":"YulFunctionCall","src":"4812:13:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"4802:6:67","type":""}]},{"nodeType":"YulAssignment","src":"4834:113:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4920:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"4928:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4916:3:67"},"nodeType":"YulFunctionCall","src":"4916:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"4935:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"4943:3:67"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_int128_$dyn_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"4843:72:67"},"nodeType":"YulFunctionCall","src":"4843:104:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"4834:5:67"}]}]},"name":"abi_decode_t_array$_t_int128_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4635:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"4643:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"4651:5:67","type":""}],"src":"4570:383:67"},{"body":{"nodeType":"YulBlock","src":"5060:295:67","statements":[{"body":{"nodeType":"YulBlock","src":"5109:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"5111:77:67"},"nodeType":"YulFunctionCall","src":"5111:79:67"},"nodeType":"YulExpressionStatement","src":"5111:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5088:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"5096:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5084:3:67"},"nodeType":"YulFunctionCall","src":"5084:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"5103:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5080:3:67"},"nodeType":"YulFunctionCall","src":"5080:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5073:6:67"},"nodeType":"YulFunctionCall","src":"5073:35:67"},"nodeType":"YulIf","src":"5070:122:67"},{"nodeType":"YulVariableDeclaration","src":"5201:27:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5221:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5215:5:67"},"nodeType":"YulFunctionCall","src":"5215:13:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"5205:6:67","type":""}]},{"nodeType":"YulAssignment","src":"5237:112:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5322:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"5330:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5318:3:67"},"nodeType":"YulFunctionCall","src":"5318:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"5337:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"5345:3:67"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_int32_$dyn_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"5246:71:67"},"nodeType":"YulFunctionCall","src":"5246:103:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"5237:5:67"}]}]},"name":"abi_decode_t_array$_t_int32_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5038:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"5046:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"5054:5:67","type":""}],"src":"4974:381:67"},{"body":{"nodeType":"YulBlock","src":"5475:307:67","statements":[{"body":{"nodeType":"YulBlock","src":"5524:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"5526:77:67"},"nodeType":"YulFunctionCall","src":"5526:79:67"},"nodeType":"YulExpressionStatement","src":"5526:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5503:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"5511:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5499:3:67"},"nodeType":"YulFunctionCall","src":"5499:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"5518:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5495:3:67"},"nodeType":"YulFunctionCall","src":"5495:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5488:6:67"},"nodeType":"YulFunctionCall","src":"5488:35:67"},"nodeType":"YulIf","src":"5485:122:67"},{"nodeType":"YulVariableDeclaration","src":"5616:27:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5636:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5630:5:67"},"nodeType":"YulFunctionCall","src":"5630:13:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"5620:6:67","type":""}]},{"nodeType":"YulAssignment","src":"5652:124:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5749:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"5757:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5745:3:67"},"nodeType":"YulFunctionCall","src":"5745:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"5764:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"5772:3:67"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"5661:83:67"},"nodeType":"YulFunctionCall","src":"5661:115:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"5652:5:67"}]}]},"name":"abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5453:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"5461:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"5469:5:67","type":""}],"src":"5377:405:67"},{"body":{"nodeType":"YulBlock","src":"5891:296:67","statements":[{"body":{"nodeType":"YulBlock","src":"5940:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"5942:77:67"},"nodeType":"YulFunctionCall","src":"5942:79:67"},"nodeType":"YulExpressionStatement","src":"5942:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5919:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"5927:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5915:3:67"},"nodeType":"YulFunctionCall","src":"5915:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"5934:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5911:3:67"},"nodeType":"YulFunctionCall","src":"5911:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5904:6:67"},"nodeType":"YulFunctionCall","src":"5904:35:67"},"nodeType":"YulIf","src":"5901:122:67"},{"nodeType":"YulVariableDeclaration","src":"6032:27:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6052:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6046:5:67"},"nodeType":"YulFunctionCall","src":"6046:13:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"6036:6:67","type":""}]},{"nodeType":"YulAssignment","src":"6068:113:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6154:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"6162:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6150:3:67"},"nodeType":"YulFunctionCall","src":"6150:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"6169:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"6177:3:67"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_uint64_$dyn_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"6077:72:67"},"nodeType":"YulFunctionCall","src":"6077:104:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"6068:5:67"}]}]},"name":"abi_decode_t_array$_t_uint64_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5869:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"5877:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"5885:5:67","type":""}],"src":"5804:383:67"},{"body":{"nodeType":"YulBlock","src":"6242:84:67","statements":[{"nodeType":"YulAssignment","src":"6252:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6274:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6261:12:67"},"nodeType":"YulFunctionCall","src":"6261:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"6252:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6314:5:67"}],"functionName":{"name":"validator_revert_t_bool","nodeType":"YulIdentifier","src":"6290:23:67"},"nodeType":"YulFunctionCall","src":"6290:30:67"},"nodeType":"YulExpressionStatement","src":"6290:30:67"}]},"name":"abi_decode_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"6220:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"6228:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"6236:5:67","type":""}],"src":"6193:133:67"},{"body":{"nodeType":"YulBlock","src":"6392:77:67","statements":[{"nodeType":"YulAssignment","src":"6402:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6417:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6411:5:67"},"nodeType":"YulFunctionCall","src":"6411:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"6402:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6457:5:67"}],"functionName":{"name":"validator_revert_t_bool","nodeType":"YulIdentifier","src":"6433:23:67"},"nodeType":"YulFunctionCall","src":"6433:30:67"},"nodeType":"YulExpressionStatement","src":"6433:30:67"}]},"name":"abi_decode_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"6370:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"6378:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"6386:5:67","type":""}],"src":"6332:137:67"},{"body":{"nodeType":"YulBlock","src":"6538:80:67","statements":[{"nodeType":"YulAssignment","src":"6548:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6563:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6557:5:67"},"nodeType":"YulFunctionCall","src":"6557:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"6548:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6606:5:67"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"6579:26:67"},"nodeType":"YulFunctionCall","src":"6579:33:67"},"nodeType":"YulExpressionStatement","src":"6579:33:67"}]},"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"6516:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"6524:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"6532:5:67","type":""}],"src":"6475:143:67"},{"body":{"nodeType":"YulBlock","src":"6711:478:67","statements":[{"body":{"nodeType":"YulBlock","src":"6760:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"6762:77:67"},"nodeType":"YulFunctionCall","src":"6762:79:67"},"nodeType":"YulExpressionStatement","src":"6762:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6739:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"6747:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6735:3:67"},"nodeType":"YulFunctionCall","src":"6735:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"6754:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6731:3:67"},"nodeType":"YulFunctionCall","src":"6731:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6724:6:67"},"nodeType":"YulFunctionCall","src":"6724:35:67"},"nodeType":"YulIf","src":"6721:122:67"},{"nodeType":"YulAssignment","src":"6852:30:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6875:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6862:12:67"},"nodeType":"YulFunctionCall","src":"6862:20:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"6852:6:67"}]},{"body":{"nodeType":"YulBlock","src":"6925:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"6927:77:67"},"nodeType":"YulFunctionCall","src":"6927:79:67"},"nodeType":"YulExpressionStatement","src":"6927:79:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6897:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"6905:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6894:2:67"},"nodeType":"YulFunctionCall","src":"6894:30:67"},"nodeType":"YulIf","src":"6891:117:67"},{"nodeType":"YulAssignment","src":"7017:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7033:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"7041:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7029:3:67"},"nodeType":"YulFunctionCall","src":"7029:17:67"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"7017:8:67"}]},{"body":{"nodeType":"YulBlock","src":"7100:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"7102:77:67"},"nodeType":"YulFunctionCall","src":"7102:79:67"},"nodeType":"YulExpressionStatement","src":"7102:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"7065:8:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"7079:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"7087:4:67","type":"","value":"0x01"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"7075:3:67"},"nodeType":"YulFunctionCall","src":"7075:17:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7061:3:67"},"nodeType":"YulFunctionCall","src":"7061:32:67"},{"name":"end","nodeType":"YulIdentifier","src":"7095:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7058:2:67"},"nodeType":"YulFunctionCall","src":"7058:41:67"},"nodeType":"YulIf","src":"7055:128:67"}]},"name":"abi_decode_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"6678:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"6686:3:67","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"6694:8:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"6704:6:67","type":""}],"src":"6637:552:67"},{"body":{"nodeType":"YulBlock","src":"7269:277:67","statements":[{"body":{"nodeType":"YulBlock","src":"7318:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"7320:77:67"},"nodeType":"YulFunctionCall","src":"7320:79:67"},"nodeType":"YulExpressionStatement","src":"7320:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7297:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"7305:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7293:3:67"},"nodeType":"YulFunctionCall","src":"7293:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"7312:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7289:3:67"},"nodeType":"YulFunctionCall","src":"7289:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7282:6:67"},"nodeType":"YulFunctionCall","src":"7282:35:67"},"nodeType":"YulIf","src":"7279:122:67"},{"nodeType":"YulVariableDeclaration","src":"7410:34:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7437:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7424:12:67"},"nodeType":"YulFunctionCall","src":"7424:20:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"7414:6:67","type":""}]},{"nodeType":"YulAssignment","src":"7453:87:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7513:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"7521:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7509:3:67"},"nodeType":"YulFunctionCall","src":"7509:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"7528:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"7536:3:67"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"7462:46:67"},"nodeType":"YulFunctionCall","src":"7462:78:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"7453:5:67"}]}]},"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"7247:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"7255:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"7263:5:67","type":""}],"src":"7208:338:67"},{"body":{"nodeType":"YulBlock","src":"7637:281:67","statements":[{"body":{"nodeType":"YulBlock","src":"7686:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"7688:77:67"},"nodeType":"YulFunctionCall","src":"7688:79:67"},"nodeType":"YulExpressionStatement","src":"7688:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7665:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"7673:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7661:3:67"},"nodeType":"YulFunctionCall","src":"7661:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"7680:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7657:3:67"},"nodeType":"YulFunctionCall","src":"7657:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7650:6:67"},"nodeType":"YulFunctionCall","src":"7650:35:67"},"nodeType":"YulIf","src":"7647:122:67"},{"nodeType":"YulVariableDeclaration","src":"7778:27:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7798:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7792:5:67"},"nodeType":"YulFunctionCall","src":"7792:13:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"7782:6:67","type":""}]},{"nodeType":"YulAssignment","src":"7814:98:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7885:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"7893:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7881:3:67"},"nodeType":"YulFunctionCall","src":"7881:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"7900:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"7908:3:67"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"7823:57:67"},"nodeType":"YulFunctionCall","src":"7823:89:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"7814:5:67"}]}]},"name":"abi_decode_t_bytes_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"7615:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"7623:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"7631:5:67","type":""}],"src":"7565:353:67"},{"body":{"nodeType":"YulBlock","src":"7986:79:67","statements":[{"nodeType":"YulAssignment","src":"7996:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8011:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8005:5:67"},"nodeType":"YulFunctionCall","src":"8005:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"7996:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8053:5:67"}],"functionName":{"name":"validator_revert_t_int128","nodeType":"YulIdentifier","src":"8027:25:67"},"nodeType":"YulFunctionCall","src":"8027:32:67"},"nodeType":"YulExpressionStatement","src":"8027:32:67"}]},"name":"abi_decode_t_int128_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"7964:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"7972:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"7980:5:67","type":""}],"src":"7924:141:67"},{"body":{"nodeType":"YulBlock","src":"8132:78:67","statements":[{"nodeType":"YulAssignment","src":"8142:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8157:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8151:5:67"},"nodeType":"YulFunctionCall","src":"8151:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"8142:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8198:5:67"}],"functionName":{"name":"validator_revert_t_int32","nodeType":"YulIdentifier","src":"8173:24:67"},"nodeType":"YulFunctionCall","src":"8173:31:67"},"nodeType":"YulExpressionStatement","src":"8173:31:67"}]},"name":"abi_decode_t_int32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"8110:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"8118:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"8126:5:67","type":""}],"src":"8071:139:67"},{"body":{"nodeType":"YulBlock","src":"8303:282:67","statements":[{"body":{"nodeType":"YulBlock","src":"8352:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"8354:77:67"},"nodeType":"YulFunctionCall","src":"8354:79:67"},"nodeType":"YulExpressionStatement","src":"8354:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8331:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"8339:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8327:3:67"},"nodeType":"YulFunctionCall","src":"8327:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"8346:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8323:3:67"},"nodeType":"YulFunctionCall","src":"8323:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8316:6:67"},"nodeType":"YulFunctionCall","src":"8316:35:67"},"nodeType":"YulIf","src":"8313:122:67"},{"nodeType":"YulVariableDeclaration","src":"8444:27:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8464:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8458:5:67"},"nodeType":"YulFunctionCall","src":"8458:13:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"8448:6:67","type":""}]},{"nodeType":"YulAssignment","src":"8480:99:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8552:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"8560:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8548:3:67"},"nodeType":"YulFunctionCall","src":"8548:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"8567:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"8575:3:67"}],"functionName":{"name":"abi_decode_available_length_t_string_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"8489:58:67"},"nodeType":"YulFunctionCall","src":"8489:90:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"8480:5:67"}]}]},"name":"abi_decode_t_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"8281:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"8289:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"8297:5:67","type":""}],"src":"8230:355:67"},{"body":{"nodeType":"YulBlock","src":"8698:664:67","statements":[{"body":{"nodeType":"YulBlock","src":"8742:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f","nodeType":"YulIdentifier","src":"8744:77:67"},"nodeType":"YulFunctionCall","src":"8744:79:67"},"nodeType":"YulExpressionStatement","src":"8744:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"8719:3:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"8724:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8715:3:67"},"nodeType":"YulFunctionCall","src":"8715:19:67"},{"kind":"number","nodeType":"YulLiteral","src":"8736:4:67","type":"","value":"0x40"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8711:3:67"},"nodeType":"YulFunctionCall","src":"8711:30:67"},"nodeType":"YulIf","src":"8708:117:67"},{"nodeType":"YulAssignment","src":"8834:30:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8859:4:67","type":"","value":"0x40"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"8843:15:67"},"nodeType":"YulFunctionCall","src":"8843:21:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"8834:5:67"}]},{"nodeType":"YulBlock","src":"8874:319:67","statements":[{"nodeType":"YulVariableDeclaration","src":"8909:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8940:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"8951:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8936:3:67"},"nodeType":"YulFunctionCall","src":"8936:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8923:12:67"},"nodeType":"YulFunctionCall","src":"8923:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8913:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"9001:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421","nodeType":"YulIdentifier","src":"9003:77:67"},"nodeType":"YulFunctionCall","src":"9003:79:67"},"nodeType":"YulExpressionStatement","src":"9003:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8973:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"8981:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8970:2:67"},"nodeType":"YulFunctionCall","src":"8970:30:67"},"nodeType":"YulIf","src":"8967:117:67"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9109:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"9116:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9105:3:67"},"nodeType":"YulFunctionCall","src":"9105:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9157:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"9168:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9153:3:67"},"nodeType":"YulFunctionCall","src":"9153:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"9177:3:67"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"9123:29:67"},"nodeType":"YulFunctionCall","src":"9123:58:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9098:6:67"},"nodeType":"YulFunctionCall","src":"9098:84:67"},"nodeType":"YulExpressionStatement","src":"9098:84:67"}]},{"nodeType":"YulBlock","src":"9203:152:67","statements":[{"nodeType":"YulVariableDeclaration","src":"9240:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"9254:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"9244:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9281:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"9288:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9277:3:67"},"nodeType":"YulFunctionCall","src":"9277:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9319:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"9330:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9315:3:67"},"nodeType":"YulFunctionCall","src":"9315:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"9339:3:67"}],"functionName":{"name":"abi_decode_t_uint32","nodeType":"YulIdentifier","src":"9295:19:67"},"nodeType":"YulFunctionCall","src":"9295:48:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9270:6:67"},"nodeType":"YulFunctionCall","src":"9270:74:67"},"nodeType":"YulExpressionStatement","src":"9270:74:67"}]}]},"name":"abi_decode_t_struct$_Buffer_$8042_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8673:9:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"8684:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"8692:5:67","type":""}],"src":"8619:743:67"},{"body":{"nodeType":"YulBlock","src":"9486:679:67","statements":[{"body":{"nodeType":"YulBlock","src":"9530:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f","nodeType":"YulIdentifier","src":"9532:77:67"},"nodeType":"YulFunctionCall","src":"9532:79:67"},"nodeType":"YulExpressionStatement","src":"9532:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"9507:3:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"9512:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9503:3:67"},"nodeType":"YulFunctionCall","src":"9503:19:67"},{"kind":"number","nodeType":"YulLiteral","src":"9524:4:67","type":"","value":"0x40"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9499:3:67"},"nodeType":"YulFunctionCall","src":"9499:30:67"},"nodeType":"YulIf","src":"9496:117:67"},{"nodeType":"YulAssignment","src":"9622:30:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9647:4:67","type":"","value":"0x40"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"9631:15:67"},"nodeType":"YulFunctionCall","src":"9631:21:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"9622:5:67"}]},{"nodeType":"YulBlock","src":"9662:323:67","statements":[{"nodeType":"YulVariableDeclaration","src":"9697:38:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9721:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"9732:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9717:3:67"},"nodeType":"YulFunctionCall","src":"9717:17:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9711:5:67"},"nodeType":"YulFunctionCall","src":"9711:24:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"9701:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"9782:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421","nodeType":"YulIdentifier","src":"9784:77:67"},"nodeType":"YulFunctionCall","src":"9784:79:67"},"nodeType":"YulExpressionStatement","src":"9784:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9754:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"9762:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9751:2:67"},"nodeType":"YulFunctionCall","src":"9751:30:67"},"nodeType":"YulIf","src":"9748:117:67"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9890:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"9897:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9886:3:67"},"nodeType":"YulFunctionCall","src":"9886:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9949:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"9960:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9945:3:67"},"nodeType":"YulFunctionCall","src":"9945:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"9969:3:67"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"9904:40:67"},"nodeType":"YulFunctionCall","src":"9904:69:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9879:6:67"},"nodeType":"YulFunctionCall","src":"9879:95:67"},"nodeType":"YulExpressionStatement","src":"9879:95:67"}]},{"nodeType":"YulBlock","src":"9995:163:67","statements":[{"nodeType":"YulVariableDeclaration","src":"10032:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"10046:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"10036:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10073:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"10080:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10069:3:67"},"nodeType":"YulFunctionCall","src":"10069:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10122:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"10133:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10118:3:67"},"nodeType":"YulFunctionCall","src":"10118:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"10142:3:67"}],"functionName":{"name":"abi_decode_t_uint32_fromMemory","nodeType":"YulIdentifier","src":"10087:30:67"},"nodeType":"YulFunctionCall","src":"10087:59:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10062:6:67"},"nodeType":"YulFunctionCall","src":"10062:85:67"},"nodeType":"YulExpressionStatement","src":"10062:85:67"}]}]},"name":"abi_decode_t_struct$_Buffer_$8042_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9461:9:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"9472:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"9480:5:67","type":""}],"src":"9396:769:67"},{"body":{"nodeType":"YulBlock","src":"10274:1345:67","statements":[{"body":{"nodeType":"YulBlock","src":"10318:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f","nodeType":"YulIdentifier","src":"10320:77:67"},"nodeType":"YulFunctionCall","src":"10320:79:67"},"nodeType":"YulExpressionStatement","src":"10320:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"10295:3:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"10300:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10291:3:67"},"nodeType":"YulFunctionCall","src":"10291:19:67"},{"kind":"number","nodeType":"YulLiteral","src":"10312:4:67","type":"","value":"0xc0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10287:3:67"},"nodeType":"YulFunctionCall","src":"10287:30:67"},"nodeType":"YulIf","src":"10284:117:67"},{"nodeType":"YulAssignment","src":"10410:30:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10435:4:67","type":"","value":"0xc0"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"10419:15:67"},"nodeType":"YulFunctionCall","src":"10419:21:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"10410:5:67"}]},{"nodeType":"YulBlock","src":"10450:336:67","statements":[{"nodeType":"YulVariableDeclaration","src":"10487:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10518:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"10529:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10514:3:67"},"nodeType":"YulFunctionCall","src":"10514:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10501:12:67"},"nodeType":"YulFunctionCall","src":"10501:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"10491:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"10579:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421","nodeType":"YulIdentifier","src":"10581:77:67"},"nodeType":"YulFunctionCall","src":"10581:79:67"},"nodeType":"YulExpressionStatement","src":"10581:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"10551:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"10559:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10548:2:67"},"nodeType":"YulFunctionCall","src":"10548:30:67"},"nodeType":"YulIf","src":"10545:117:67"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10687:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"10694:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10683:3:67"},"nodeType":"YulFunctionCall","src":"10683:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10750:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"10761:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10746:3:67"},"nodeType":"YulFunctionCall","src":"10746:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"10770:3:67"}],"functionName":{"name":"abi_decode_t_struct$_Buffer_$8042_memory_ptr","nodeType":"YulIdentifier","src":"10701:44:67"},"nodeType":"YulFunctionCall","src":"10701:73:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10676:6:67"},"nodeType":"YulFunctionCall","src":"10676:99:67"},"nodeType":"YulExpressionStatement","src":"10676:99:67"}]},{"nodeType":"YulBlock","src":"10796:156:67","statements":[{"nodeType":"YulVariableDeclaration","src":"10838:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"10852:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"10842:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10879:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"10886:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10875:3:67"},"nodeType":"YulFunctionCall","src":"10875:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10916:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"10927:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10912:3:67"},"nodeType":"YulFunctionCall","src":"10912:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"10936:3:67"}],"functionName":{"name":"abi_decode_t_uint8","nodeType":"YulIdentifier","src":"10893:18:67"},"nodeType":"YulFunctionCall","src":"10893:47:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10868:6:67"},"nodeType":"YulFunctionCall","src":"10868:73:67"},"nodeType":"YulExpressionStatement","src":"10868:73:67"}]},{"nodeType":"YulBlock","src":"10962:154:67","statements":[{"nodeType":"YulVariableDeclaration","src":"11002:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"11016:2:67","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"11006:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11043:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"11050:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11039:3:67"},"nodeType":"YulFunctionCall","src":"11039:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11080:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"11091:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11076:3:67"},"nodeType":"YulFunctionCall","src":"11076:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"11100:3:67"}],"functionName":{"name":"abi_decode_t_uint8","nodeType":"YulIdentifier","src":"11057:18:67"},"nodeType":"YulFunctionCall","src":"11057:47:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11032:6:67"},"nodeType":"YulFunctionCall","src":"11032:73:67"},"nodeType":"YulExpressionStatement","src":"11032:73:67"}]},{"nodeType":"YulBlock","src":"11126:166:67","statements":[{"nodeType":"YulVariableDeclaration","src":"11178:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"11192:2:67","type":"","value":"96"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"11182:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11219:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"11226:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11215:3:67"},"nodeType":"YulFunctionCall","src":"11215:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11256:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"11267:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11252:3:67"},"nodeType":"YulFunctionCall","src":"11252:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"11276:3:67"}],"functionName":{"name":"abi_decode_t_uint8","nodeType":"YulIdentifier","src":"11233:18:67"},"nodeType":"YulFunctionCall","src":"11233:47:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11208:6:67"},"nodeType":"YulFunctionCall","src":"11208:73:67"},"nodeType":"YulExpressionStatement","src":"11208:73:67"}]},{"nodeType":"YulBlock","src":"11302:150:67","statements":[{"nodeType":"YulVariableDeclaration","src":"11336:17:67","value":{"kind":"number","nodeType":"YulLiteral","src":"11350:3:67","type":"","value":"128"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"11340:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11378:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"11385:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11374:3:67"},"nodeType":"YulFunctionCall","src":"11374:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11416:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"11427:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11412:3:67"},"nodeType":"YulFunctionCall","src":"11412:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"11436:3:67"}],"functionName":{"name":"abi_decode_t_uint64","nodeType":"YulIdentifier","src":"11392:19:67"},"nodeType":"YulFunctionCall","src":"11392:48:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11367:6:67"},"nodeType":"YulFunctionCall","src":"11367:74:67"},"nodeType":"YulExpressionStatement","src":"11367:74:67"}]},{"nodeType":"YulBlock","src":"11462:150:67","statements":[{"nodeType":"YulVariableDeclaration","src":"11496:17:67","value":{"kind":"number","nodeType":"YulLiteral","src":"11510:3:67","type":"","value":"160"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"11500:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11538:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"11545:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11534:3:67"},"nodeType":"YulFunctionCall","src":"11534:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11576:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"11587:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11572:3:67"},"nodeType":"YulFunctionCall","src":"11572:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"11596:3:67"}],"functionName":{"name":"abi_decode_t_uint64","nodeType":"YulIdentifier","src":"11552:19:67"},"nodeType":"YulFunctionCall","src":"11552:48:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11527:6:67"},"nodeType":"YulFunctionCall","src":"11527:74:67"},"nodeType":"YulExpressionStatement","src":"11527:74:67"}]}]},"name":"abi_decode_t_struct$_CBOR_$8037_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10249:9:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"10260:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"10268:5:67","type":""}],"src":"10197:1422:67"},{"body":{"nodeType":"YulBlock","src":"11739:1404:67","statements":[{"body":{"nodeType":"YulBlock","src":"11783:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f","nodeType":"YulIdentifier","src":"11785:77:67"},"nodeType":"YulFunctionCall","src":"11785:79:67"},"nodeType":"YulExpressionStatement","src":"11785:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"11760:3:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"11765:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11756:3:67"},"nodeType":"YulFunctionCall","src":"11756:19:67"},{"kind":"number","nodeType":"YulLiteral","src":"11777:4:67","type":"","value":"0xc0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11752:3:67"},"nodeType":"YulFunctionCall","src":"11752:30:67"},"nodeType":"YulIf","src":"11749:117:67"},{"nodeType":"YulAssignment","src":"11875:30:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11900:4:67","type":"","value":"0xc0"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"11884:15:67"},"nodeType":"YulFunctionCall","src":"11884:21:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"11875:5:67"}]},{"nodeType":"YulBlock","src":"11915:340:67","statements":[{"nodeType":"YulVariableDeclaration","src":"11952:38:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11976:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"11987:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11972:3:67"},"nodeType":"YulFunctionCall","src":"11972:17:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"11966:5:67"},"nodeType":"YulFunctionCall","src":"11966:24:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"11956:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"12037:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421","nodeType":"YulIdentifier","src":"12039:77:67"},"nodeType":"YulFunctionCall","src":"12039:79:67"},"nodeType":"YulExpressionStatement","src":"12039:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"12009:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"12017:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"12006:2:67"},"nodeType":"YulFunctionCall","src":"12006:30:67"},"nodeType":"YulIf","src":"12003:117:67"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12145:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"12152:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12141:3:67"},"nodeType":"YulFunctionCall","src":"12141:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12219:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"12230:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12215:3:67"},"nodeType":"YulFunctionCall","src":"12215:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"12239:3:67"}],"functionName":{"name":"abi_decode_t_struct$_Buffer_$8042_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"12159:55:67"},"nodeType":"YulFunctionCall","src":"12159:84:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12134:6:67"},"nodeType":"YulFunctionCall","src":"12134:110:67"},"nodeType":"YulExpressionStatement","src":"12134:110:67"}]},{"nodeType":"YulBlock","src":"12265:167:67","statements":[{"nodeType":"YulVariableDeclaration","src":"12307:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"12321:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"12311:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12348:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"12355:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12344:3:67"},"nodeType":"YulFunctionCall","src":"12344:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12396:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"12407:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12392:3:67"},"nodeType":"YulFunctionCall","src":"12392:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"12416:3:67"}],"functionName":{"name":"abi_decode_t_uint8_fromMemory","nodeType":"YulIdentifier","src":"12362:29:67"},"nodeType":"YulFunctionCall","src":"12362:58:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12337:6:67"},"nodeType":"YulFunctionCall","src":"12337:84:67"},"nodeType":"YulExpressionStatement","src":"12337:84:67"}]},{"nodeType":"YulBlock","src":"12442:165:67","statements":[{"nodeType":"YulVariableDeclaration","src":"12482:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"12496:2:67","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"12486:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12523:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"12530:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12519:3:67"},"nodeType":"YulFunctionCall","src":"12519:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12571:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"12582:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12567:3:67"},"nodeType":"YulFunctionCall","src":"12567:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"12591:3:67"}],"functionName":{"name":"abi_decode_t_uint8_fromMemory","nodeType":"YulIdentifier","src":"12537:29:67"},"nodeType":"YulFunctionCall","src":"12537:58:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12512:6:67"},"nodeType":"YulFunctionCall","src":"12512:84:67"},"nodeType":"YulExpressionStatement","src":"12512:84:67"}]},{"nodeType":"YulBlock","src":"12617:177:67","statements":[{"nodeType":"YulVariableDeclaration","src":"12669:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"12683:2:67","type":"","value":"96"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"12673:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12710:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"12717:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12706:3:67"},"nodeType":"YulFunctionCall","src":"12706:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12758:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"12769:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12754:3:67"},"nodeType":"YulFunctionCall","src":"12754:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"12778:3:67"}],"functionName":{"name":"abi_decode_t_uint8_fromMemory","nodeType":"YulIdentifier","src":"12724:29:67"},"nodeType":"YulFunctionCall","src":"12724:58:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12699:6:67"},"nodeType":"YulFunctionCall","src":"12699:84:67"},"nodeType":"YulExpressionStatement","src":"12699:84:67"}]},{"nodeType":"YulBlock","src":"12804:161:67","statements":[{"nodeType":"YulVariableDeclaration","src":"12838:17:67","value":{"kind":"number","nodeType":"YulLiteral","src":"12852:3:67","type":"","value":"128"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"12842:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12880:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"12887:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12876:3:67"},"nodeType":"YulFunctionCall","src":"12876:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12929:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"12940:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12925:3:67"},"nodeType":"YulFunctionCall","src":"12925:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"12949:3:67"}],"functionName":{"name":"abi_decode_t_uint64_fromMemory","nodeType":"YulIdentifier","src":"12894:30:67"},"nodeType":"YulFunctionCall","src":"12894:59:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12869:6:67"},"nodeType":"YulFunctionCall","src":"12869:85:67"},"nodeType":"YulExpressionStatement","src":"12869:85:67"}]},{"nodeType":"YulBlock","src":"12975:161:67","statements":[{"nodeType":"YulVariableDeclaration","src":"13009:17:67","value":{"kind":"number","nodeType":"YulLiteral","src":"13023:3:67","type":"","value":"160"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"13013:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13051:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"13058:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13047:3:67"},"nodeType":"YulFunctionCall","src":"13047:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13100:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"13111:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13096:3:67"},"nodeType":"YulFunctionCall","src":"13096:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"13120:3:67"}],"functionName":{"name":"abi_decode_t_uint64_fromMemory","nodeType":"YulIdentifier","src":"13065:30:67"},"nodeType":"YulFunctionCall","src":"13065:59:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13040:6:67"},"nodeType":"YulFunctionCall","src":"13040:85:67"},"nodeType":"YulExpressionStatement","src":"13040:85:67"}]}]},"name":"abi_decode_t_struct$_CBOR_$8037_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11714:9:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"11725:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"11733:5:67","type":""}],"src":"11651:1492:67"},{"body":{"nodeType":"YulBlock","src":"13256:677:67","statements":[{"body":{"nodeType":"YulBlock","src":"13300:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f","nodeType":"YulIdentifier","src":"13302:77:67"},"nodeType":"YulFunctionCall","src":"13302:79:67"},"nodeType":"YulExpressionStatement","src":"13302:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"13277:3:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"13282:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13273:3:67"},"nodeType":"YulFunctionCall","src":"13273:19:67"},{"kind":"number","nodeType":"YulLiteral","src":"13294:4:67","type":"","value":"0x40"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13269:3:67"},"nodeType":"YulFunctionCall","src":"13269:30:67"},"nodeType":"YulIf","src":"13266:117:67"},{"nodeType":"YulAssignment","src":"13392:30:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13417:4:67","type":"","value":"0x40"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"13401:15:67"},"nodeType":"YulFunctionCall","src":"13401:21:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"13392:5:67"}]},{"nodeType":"YulBlock","src":"13432:150:67","statements":[{"nodeType":"YulVariableDeclaration","src":"13470:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"13484:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"13474:6:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13510:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"13517:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13506:3:67"},"nodeType":"YulFunctionCall","src":"13506:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13546:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"13557:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13542:3:67"},"nodeType":"YulFunctionCall","src":"13542:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"13566:3:67"}],"functionName":{"name":"abi_decode_t_bool","nodeType":"YulIdentifier","src":"13524:17:67"},"nodeType":"YulFunctionCall","src":"13524:46:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13499:6:67"},"nodeType":"YulFunctionCall","src":"13499:72:67"},"nodeType":"YulExpressionStatement","src":"13499:72:67"}]},{"nodeType":"YulBlock","src":"13592:334:67","statements":[{"nodeType":"YulVariableDeclaration","src":"13628:46:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13659:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"13670:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13655:3:67"},"nodeType":"YulFunctionCall","src":"13655:18:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13642:12:67"},"nodeType":"YulFunctionCall","src":"13642:32:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"13632:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"13721:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421","nodeType":"YulIdentifier","src":"13723:77:67"},"nodeType":"YulFunctionCall","src":"13723:79:67"},"nodeType":"YulExpressionStatement","src":"13723:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"13693:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"13701:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13690:2:67"},"nodeType":"YulFunctionCall","src":"13690:30:67"},"nodeType":"YulIf","src":"13687:117:67"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13829:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"13836:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13825:3:67"},"nodeType":"YulFunctionCall","src":"13825:16:67"},{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13890:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"13901:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13886:3:67"},"nodeType":"YulFunctionCall","src":"13886:22:67"},{"name":"end","nodeType":"YulIdentifier","src":"13910:3:67"}],"functionName":{"name":"abi_decode_t_struct$_CBOR_$8037_memory_ptr","nodeType":"YulIdentifier","src":"13843:42:67"},"nodeType":"YulFunctionCall","src":"13843:71:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13818:6:67"},"nodeType":"YulFunctionCall","src":"13818:97:67"},"nodeType":"YulExpressionStatement","src":"13818:97:67"}]}]},"name":"abi_decode_t_struct$_Result_$8023_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13231:9:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"13242:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"13250:5:67","type":""}],"src":"13177:756:67"},{"body":{"nodeType":"YulBlock","src":"13990:86:67","statements":[{"nodeType":"YulAssignment","src":"14000:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14022:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14009:12:67"},"nodeType":"YulFunctionCall","src":"14009:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"14000:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14064:5:67"}],"functionName":{"name":"validator_revert_t_uint32","nodeType":"YulIdentifier","src":"14038:25:67"},"nodeType":"YulFunctionCall","src":"14038:32:67"},"nodeType":"YulExpressionStatement","src":"14038:32:67"}]},"name":"abi_decode_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"13968:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"13976:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"13984:5:67","type":""}],"src":"13939:137:67"},{"body":{"nodeType":"YulBlock","src":"14144:79:67","statements":[{"nodeType":"YulAssignment","src":"14154:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14169:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14163:5:67"},"nodeType":"YulFunctionCall","src":"14163:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"14154:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14211:5:67"}],"functionName":{"name":"validator_revert_t_uint32","nodeType":"YulIdentifier","src":"14185:25:67"},"nodeType":"YulFunctionCall","src":"14185:32:67"},"nodeType":"YulExpressionStatement","src":"14185:32:67"}]},"name":"abi_decode_t_uint32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"14122:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"14130:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"14138:5:67","type":""}],"src":"14082:141:67"},{"body":{"nodeType":"YulBlock","src":"14280:86:67","statements":[{"nodeType":"YulAssignment","src":"14290:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14312:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14299:12:67"},"nodeType":"YulFunctionCall","src":"14299:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"14290:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14354:5:67"}],"functionName":{"name":"validator_revert_t_uint64","nodeType":"YulIdentifier","src":"14328:25:67"},"nodeType":"YulFunctionCall","src":"14328:32:67"},"nodeType":"YulExpressionStatement","src":"14328:32:67"}]},"name":"abi_decode_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"14258:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"14266:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"14274:5:67","type":""}],"src":"14229:137:67"},{"body":{"nodeType":"YulBlock","src":"14434:79:67","statements":[{"nodeType":"YulAssignment","src":"14444:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14459:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14453:5:67"},"nodeType":"YulFunctionCall","src":"14453:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"14444:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14501:5:67"}],"functionName":{"name":"validator_revert_t_uint64","nodeType":"YulIdentifier","src":"14475:25:67"},"nodeType":"YulFunctionCall","src":"14475:32:67"},"nodeType":"YulExpressionStatement","src":"14475:32:67"}]},"name":"abi_decode_t_uint64_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"14412:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"14420:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"14428:5:67","type":""}],"src":"14372:141:67"},{"body":{"nodeType":"YulBlock","src":"14569:85:67","statements":[{"nodeType":"YulAssignment","src":"14579:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14601:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14588:12:67"},"nodeType":"YulFunctionCall","src":"14588:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"14579:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14642:5:67"}],"functionName":{"name":"validator_revert_t_uint8","nodeType":"YulIdentifier","src":"14617:24:67"},"nodeType":"YulFunctionCall","src":"14617:31:67"},"nodeType":"YulExpressionStatement","src":"14617:31:67"}]},"name":"abi_decode_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"14547:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"14555:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"14563:5:67","type":""}],"src":"14519:135:67"},{"body":{"nodeType":"YulBlock","src":"14721:78:67","statements":[{"nodeType":"YulAssignment","src":"14731:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14746:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14740:5:67"},"nodeType":"YulFunctionCall","src":"14740:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"14731:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14787:5:67"}],"functionName":{"name":"validator_revert_t_uint8","nodeType":"YulIdentifier","src":"14762:24:67"},"nodeType":"YulFunctionCall","src":"14762:31:67"},"nodeType":"YulExpressionStatement","src":"14762:31:67"}]},"name":"abi_decode_t_uint8_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"14699:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"14707:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"14715:5:67","type":""}],"src":"14660:139:67"},{"body":{"nodeType":"YulBlock","src":"14906:451:67","statements":[{"body":{"nodeType":"YulBlock","src":"14952:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"14954:77:67"},"nodeType":"YulFunctionCall","src":"14954:79:67"},"nodeType":"YulExpressionStatement","src":"14954:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"14927:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"14936:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14923:3:67"},"nodeType":"YulFunctionCall","src":"14923:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"14948:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14919:3:67"},"nodeType":"YulFunctionCall","src":"14919:32:67"},"nodeType":"YulIf","src":"14916:119:67"},{"nodeType":"YulBlock","src":"15045:305:67","statements":[{"nodeType":"YulVariableDeclaration","src":"15060:38:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15084:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"15095:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15080:3:67"},"nodeType":"YulFunctionCall","src":"15080:17:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15074:5:67"},"nodeType":"YulFunctionCall","src":"15074:24:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"15064:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"15145:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"15147:77:67"},"nodeType":"YulFunctionCall","src":"15147:79:67"},"nodeType":"YulExpressionStatement","src":"15147:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"15117:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"15125:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15114:2:67"},"nodeType":"YulFunctionCall","src":"15114:30:67"},"nodeType":"YulIf","src":"15111:117:67"},{"nodeType":"YulAssignment","src":"15242:98:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15312:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"15323:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15308:3:67"},"nodeType":"YulFunctionCall","src":"15308:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"15332:7:67"}],"functionName":{"name":"abi_decode_t_array$_t_int128_$dyn_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"15252:55:67"},"nodeType":"YulFunctionCall","src":"15252:88:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15242:6:67"}]}]}]},"name":"abi_decode_tuple_t_array$_t_int128_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14876:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"14887:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"14899:6:67","type":""}],"src":"14805:552:67"},{"body":{"nodeType":"YulBlock","src":"15463:450:67","statements":[{"body":{"nodeType":"YulBlock","src":"15509:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"15511:77:67"},"nodeType":"YulFunctionCall","src":"15511:79:67"},"nodeType":"YulExpressionStatement","src":"15511:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15484:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"15493:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15480:3:67"},"nodeType":"YulFunctionCall","src":"15480:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"15505:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15476:3:67"},"nodeType":"YulFunctionCall","src":"15476:32:67"},"nodeType":"YulIf","src":"15473:119:67"},{"nodeType":"YulBlock","src":"15602:304:67","statements":[{"nodeType":"YulVariableDeclaration","src":"15617:38:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15641:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"15652:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15637:3:67"},"nodeType":"YulFunctionCall","src":"15637:17:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15631:5:67"},"nodeType":"YulFunctionCall","src":"15631:24:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"15621:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"15702:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"15704:77:67"},"nodeType":"YulFunctionCall","src":"15704:79:67"},"nodeType":"YulExpressionStatement","src":"15704:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"15674:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"15682:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15671:2:67"},"nodeType":"YulFunctionCall","src":"15671:30:67"},"nodeType":"YulIf","src":"15668:117:67"},{"nodeType":"YulAssignment","src":"15799:97:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15868:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"15879:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15864:3:67"},"nodeType":"YulFunctionCall","src":"15864:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"15888:7:67"}],"functionName":{"name":"abi_decode_t_array$_t_int32_$dyn_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"15809:54:67"},"nodeType":"YulFunctionCall","src":"15809:87:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15799:6:67"}]}]}]},"name":"abi_decode_tuple_t_array$_t_int32_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15433:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15444:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15456:6:67","type":""}],"src":"15363:550:67"},{"body":{"nodeType":"YulBlock","src":"16031:462:67","statements":[{"body":{"nodeType":"YulBlock","src":"16077:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"16079:77:67"},"nodeType":"YulFunctionCall","src":"16079:79:67"},"nodeType":"YulExpressionStatement","src":"16079:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"16052:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"16061:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16048:3:67"},"nodeType":"YulFunctionCall","src":"16048:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"16073:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16044:3:67"},"nodeType":"YulFunctionCall","src":"16044:32:67"},"nodeType":"YulIf","src":"16041:119:67"},{"nodeType":"YulBlock","src":"16170:316:67","statements":[{"nodeType":"YulVariableDeclaration","src":"16185:38:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16209:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"16220:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16205:3:67"},"nodeType":"YulFunctionCall","src":"16205:17:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16199:5:67"},"nodeType":"YulFunctionCall","src":"16199:24:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"16189:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"16270:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"16272:77:67"},"nodeType":"YulFunctionCall","src":"16272:79:67"},"nodeType":"YulExpressionStatement","src":"16272:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"16242:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"16250:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"16239:2:67"},"nodeType":"YulFunctionCall","src":"16239:30:67"},"nodeType":"YulIf","src":"16236:117:67"},{"nodeType":"YulAssignment","src":"16367:109:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16448:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"16459:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16444:3:67"},"nodeType":"YulFunctionCall","src":"16444:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"16468:7:67"}],"functionName":{"name":"abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"16377:66:67"},"nodeType":"YulFunctionCall","src":"16377:99:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"16367:6:67"}]}]}]},"name":"abi_decode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16001:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"16012:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"16024:6:67","type":""}],"src":"15919:574:67"},{"body":{"nodeType":"YulBlock","src":"16600:451:67","statements":[{"body":{"nodeType":"YulBlock","src":"16646:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"16648:77:67"},"nodeType":"YulFunctionCall","src":"16648:79:67"},"nodeType":"YulExpressionStatement","src":"16648:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"16621:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"16630:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16617:3:67"},"nodeType":"YulFunctionCall","src":"16617:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"16642:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16613:3:67"},"nodeType":"YulFunctionCall","src":"16613:32:67"},"nodeType":"YulIf","src":"16610:119:67"},{"nodeType":"YulBlock","src":"16739:305:67","statements":[{"nodeType":"YulVariableDeclaration","src":"16754:38:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16778:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"16789:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16774:3:67"},"nodeType":"YulFunctionCall","src":"16774:17:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16768:5:67"},"nodeType":"YulFunctionCall","src":"16768:24:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"16758:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"16839:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"16841:77:67"},"nodeType":"YulFunctionCall","src":"16841:79:67"},"nodeType":"YulExpressionStatement","src":"16841:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"16811:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"16819:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"16808:2:67"},"nodeType":"YulFunctionCall","src":"16808:30:67"},"nodeType":"YulIf","src":"16805:117:67"},{"nodeType":"YulAssignment","src":"16936:98:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17006:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"17017:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17002:3:67"},"nodeType":"YulFunctionCall","src":"17002:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"17026:7:67"}],"functionName":{"name":"abi_decode_t_array$_t_uint64_$dyn_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"16946:55:67"},"nodeType":"YulFunctionCall","src":"16946:88:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"16936:6:67"}]}]}]},"name":"abi_decode_tuple_t_array$_t_uint64_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16570:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"16581:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"16593:6:67","type":""}],"src":"16499:552:67"},{"body":{"nodeType":"YulBlock","src":"17131:271:67","statements":[{"body":{"nodeType":"YulBlock","src":"17177:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"17179:77:67"},"nodeType":"YulFunctionCall","src":"17179:79:67"},"nodeType":"YulExpressionStatement","src":"17179:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"17152:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"17161:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17148:3:67"},"nodeType":"YulFunctionCall","src":"17148:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"17173:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"17144:3:67"},"nodeType":"YulFunctionCall","src":"17144:32:67"},"nodeType":"YulIf","src":"17141:119:67"},{"nodeType":"YulBlock","src":"17270:125:67","statements":[{"nodeType":"YulVariableDeclaration","src":"17285:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"17299:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"17289:6:67","type":""}]},{"nodeType":"YulAssignment","src":"17314:71:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17357:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"17368:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17353:3:67"},"nodeType":"YulFunctionCall","src":"17353:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"17377:7:67"}],"functionName":{"name":"abi_decode_t_bool_fromMemory","nodeType":"YulIdentifier","src":"17324:28:67"},"nodeType":"YulFunctionCall","src":"17324:61:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"17314:6:67"}]}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17101:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"17112:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"17124:6:67","type":""}],"src":"17057:345:67"},{"body":{"nodeType":"YulBlock","src":"17485:274:67","statements":[{"body":{"nodeType":"YulBlock","src":"17531:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"17533:77:67"},"nodeType":"YulFunctionCall","src":"17533:79:67"},"nodeType":"YulExpressionStatement","src":"17533:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"17506:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"17515:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17502:3:67"},"nodeType":"YulFunctionCall","src":"17502:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"17527:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"17498:3:67"},"nodeType":"YulFunctionCall","src":"17498:32:67"},"nodeType":"YulIf","src":"17495:119:67"},{"nodeType":"YulBlock","src":"17624:128:67","statements":[{"nodeType":"YulVariableDeclaration","src":"17639:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"17653:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"17643:6:67","type":""}]},{"nodeType":"YulAssignment","src":"17668:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17714:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"17725:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17710:3:67"},"nodeType":"YulFunctionCall","src":"17710:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"17734:7:67"}],"functionName":{"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulIdentifier","src":"17678:31:67"},"nodeType":"YulFunctionCall","src":"17678:64:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"17668:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17455:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"17466:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"17478:6:67","type":""}],"src":"17408:351:67"},{"body":{"nodeType":"YulBlock","src":"17850:442:67","statements":[{"body":{"nodeType":"YulBlock","src":"17896:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"17898:77:67"},"nodeType":"YulFunctionCall","src":"17898:79:67"},"nodeType":"YulExpressionStatement","src":"17898:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"17871:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"17880:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17867:3:67"},"nodeType":"YulFunctionCall","src":"17867:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"17892:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"17863:3:67"},"nodeType":"YulFunctionCall","src":"17863:32:67"},"nodeType":"YulIf","src":"17860:119:67"},{"nodeType":"YulBlock","src":"17989:296:67","statements":[{"nodeType":"YulVariableDeclaration","src":"18004:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18035:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"18046:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18031:3:67"},"nodeType":"YulFunctionCall","src":"18031:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"18018:12:67"},"nodeType":"YulFunctionCall","src":"18018:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"18008:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"18096:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"18098:77:67"},"nodeType":"YulFunctionCall","src":"18098:79:67"},"nodeType":"YulExpressionStatement","src":"18098:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"18068:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"18076:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18065:2:67"},"nodeType":"YulFunctionCall","src":"18065:30:67"},"nodeType":"YulIf","src":"18062:117:67"},{"nodeType":"YulAssignment","src":"18193:82:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18247:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"18258:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18243:3:67"},"nodeType":"YulFunctionCall","src":"18243:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"18267:7:67"}],"functionName":{"name":"abi_decode_t_bytes_calldata_ptr","nodeType":"YulIdentifier","src":"18211:31:67"},"nodeType":"YulFunctionCall","src":"18211:64:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"18193:6:67"},{"name":"value1","nodeType":"YulIdentifier","src":"18201:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17812:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"17823:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"17835:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17843:6:67","type":""}],"src":"17765:527:67"},{"body":{"nodeType":"YulBlock","src":"18384:436:67","statements":[{"body":{"nodeType":"YulBlock","src":"18430:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"18432:77:67"},"nodeType":"YulFunctionCall","src":"18432:79:67"},"nodeType":"YulExpressionStatement","src":"18432:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"18405:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"18414:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18401:3:67"},"nodeType":"YulFunctionCall","src":"18401:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"18426:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"18397:3:67"},"nodeType":"YulFunctionCall","src":"18397:32:67"},"nodeType":"YulIf","src":"18394:119:67"},{"nodeType":"YulBlock","src":"18523:290:67","statements":[{"nodeType":"YulVariableDeclaration","src":"18538:38:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18562:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"18573:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18558:3:67"},"nodeType":"YulFunctionCall","src":"18558:17:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18552:5:67"},"nodeType":"YulFunctionCall","src":"18552:24:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"18542:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"18623:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"18625:77:67"},"nodeType":"YulFunctionCall","src":"18625:79:67"},"nodeType":"YulExpressionStatement","src":"18625:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"18595:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"18603:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18592:2:67"},"nodeType":"YulFunctionCall","src":"18592:30:67"},"nodeType":"YulIf","src":"18589:117:67"},{"nodeType":"YulAssignment","src":"18720:83:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18775:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"18786:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18771:3:67"},"nodeType":"YulFunctionCall","src":"18771:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"18795:7:67"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"18730:40:67"},"nodeType":"YulFunctionCall","src":"18730:73:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"18720:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18354:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"18365:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"18377:6:67","type":""}],"src":"18298:522:67"},{"body":{"nodeType":"YulBlock","src":"18902:273:67","statements":[{"body":{"nodeType":"YulBlock","src":"18948:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"18950:77:67"},"nodeType":"YulFunctionCall","src":"18950:79:67"},"nodeType":"YulExpressionStatement","src":"18950:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"18923:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"18932:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18919:3:67"},"nodeType":"YulFunctionCall","src":"18919:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"18944:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"18915:3:67"},"nodeType":"YulFunctionCall","src":"18915:32:67"},"nodeType":"YulIf","src":"18912:119:67"},{"nodeType":"YulBlock","src":"19041:127:67","statements":[{"nodeType":"YulVariableDeclaration","src":"19056:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"19070:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"19060:6:67","type":""}]},{"nodeType":"YulAssignment","src":"19085:73:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19130:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"19141:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19126:3:67"},"nodeType":"YulFunctionCall","src":"19126:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"19150:7:67"}],"functionName":{"name":"abi_decode_t_int128_fromMemory","nodeType":"YulIdentifier","src":"19095:30:67"},"nodeType":"YulFunctionCall","src":"19095:63:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"19085:6:67"}]}]}]},"name":"abi_decode_tuple_t_int128_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18872:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"18883:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"18895:6:67","type":""}],"src":"18826:349:67"},{"body":{"nodeType":"YulBlock","src":"19256:272:67","statements":[{"body":{"nodeType":"YulBlock","src":"19302:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"19304:77:67"},"nodeType":"YulFunctionCall","src":"19304:79:67"},"nodeType":"YulExpressionStatement","src":"19304:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"19277:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"19286:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19273:3:67"},"nodeType":"YulFunctionCall","src":"19273:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"19298:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"19269:3:67"},"nodeType":"YulFunctionCall","src":"19269:32:67"},"nodeType":"YulIf","src":"19266:119:67"},{"nodeType":"YulBlock","src":"19395:126:67","statements":[{"nodeType":"YulVariableDeclaration","src":"19410:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"19424:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"19414:6:67","type":""}]},{"nodeType":"YulAssignment","src":"19439:72:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19483:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"19494:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19479:3:67"},"nodeType":"YulFunctionCall","src":"19479:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"19503:7:67"}],"functionName":{"name":"abi_decode_t_int32_fromMemory","nodeType":"YulIdentifier","src":"19449:29:67"},"nodeType":"YulFunctionCall","src":"19449:62:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"19439:6:67"}]}]}]},"name":"abi_decode_tuple_t_int32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19226:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"19237:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"19249:6:67","type":""}],"src":"19181:347:67"},{"body":{"nodeType":"YulBlock","src":"19621:437:67","statements":[{"body":{"nodeType":"YulBlock","src":"19667:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"19669:77:67"},"nodeType":"YulFunctionCall","src":"19669:79:67"},"nodeType":"YulExpressionStatement","src":"19669:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"19642:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"19651:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19638:3:67"},"nodeType":"YulFunctionCall","src":"19638:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"19663:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"19634:3:67"},"nodeType":"YulFunctionCall","src":"19634:32:67"},"nodeType":"YulIf","src":"19631:119:67"},{"nodeType":"YulBlock","src":"19760:291:67","statements":[{"nodeType":"YulVariableDeclaration","src":"19775:38:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19799:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"19810:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19795:3:67"},"nodeType":"YulFunctionCall","src":"19795:17:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19789:5:67"},"nodeType":"YulFunctionCall","src":"19789:24:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"19779:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"19860:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"19862:77:67"},"nodeType":"YulFunctionCall","src":"19862:79:67"},"nodeType":"YulExpressionStatement","src":"19862:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"19832:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"19840:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"19829:2:67"},"nodeType":"YulFunctionCall","src":"19829:30:67"},"nodeType":"YulIf","src":"19826:117:67"},{"nodeType":"YulAssignment","src":"19957:84:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20013:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"20024:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20009:3:67"},"nodeType":"YulFunctionCall","src":"20009:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"20033:7:67"}],"functionName":{"name":"abi_decode_t_string_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"19967:41:67"},"nodeType":"YulFunctionCall","src":"19967:74:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"19957:6:67"}]}]}]},"name":"abi_decode_tuple_t_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19591:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"19602:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"19614:6:67","type":""}],"src":"19534:524:67"},{"body":{"nodeType":"YulBlock","src":"20152:445:67","statements":[{"body":{"nodeType":"YulBlock","src":"20198:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"20200:77:67"},"nodeType":"YulFunctionCall","src":"20200:79:67"},"nodeType":"YulExpressionStatement","src":"20200:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"20173:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"20182:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20169:3:67"},"nodeType":"YulFunctionCall","src":"20169:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"20194:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"20165:3:67"},"nodeType":"YulFunctionCall","src":"20165:32:67"},"nodeType":"YulIf","src":"20162:119:67"},{"nodeType":"YulBlock","src":"20291:299:67","statements":[{"nodeType":"YulVariableDeclaration","src":"20306:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20337:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"20348:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20333:3:67"},"nodeType":"YulFunctionCall","src":"20333:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"20320:12:67"},"nodeType":"YulFunctionCall","src":"20320:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"20310:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"20398:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"20400:77:67"},"nodeType":"YulFunctionCall","src":"20400:79:67"},"nodeType":"YulExpressionStatement","src":"20400:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"20370:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"20378:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20367:2:67"},"nodeType":"YulFunctionCall","src":"20367:30:67"},"nodeType":"YulIf","src":"20364:117:67"},{"nodeType":"YulAssignment","src":"20495:85:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20552:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"20563:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20548:3:67"},"nodeType":"YulFunctionCall","src":"20548:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"20572:7:67"}],"functionName":{"name":"abi_decode_t_struct$_CBOR_$8037_memory_ptr","nodeType":"YulIdentifier","src":"20505:42:67"},"nodeType":"YulFunctionCall","src":"20505:75:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"20495:6:67"}]}]}]},"name":"abi_decode_tuple_t_struct$_CBOR_$8037_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20122:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"20133:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"20145:6:67","type":""}],"src":"20064:533:67"},{"body":{"nodeType":"YulBlock","src":"20702:449:67","statements":[{"body":{"nodeType":"YulBlock","src":"20748:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"20750:77:67"},"nodeType":"YulFunctionCall","src":"20750:79:67"},"nodeType":"YulExpressionStatement","src":"20750:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"20723:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"20732:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20719:3:67"},"nodeType":"YulFunctionCall","src":"20719:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"20744:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"20715:3:67"},"nodeType":"YulFunctionCall","src":"20715:32:67"},"nodeType":"YulIf","src":"20712:119:67"},{"nodeType":"YulBlock","src":"20841:303:67","statements":[{"nodeType":"YulVariableDeclaration","src":"20856:38:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20880:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"20891:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20876:3:67"},"nodeType":"YulFunctionCall","src":"20876:17:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20870:5:67"},"nodeType":"YulFunctionCall","src":"20870:24:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"20860:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"20941:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"20943:77:67"},"nodeType":"YulFunctionCall","src":"20943:79:67"},"nodeType":"YulExpressionStatement","src":"20943:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"20913:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"20921:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20910:2:67"},"nodeType":"YulFunctionCall","src":"20910:30:67"},"nodeType":"YulIf","src":"20907:117:67"},{"nodeType":"YulAssignment","src":"21038:96:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21106:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"21117:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21102:3:67"},"nodeType":"YulFunctionCall","src":"21102:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"21126:7:67"}],"functionName":{"name":"abi_decode_t_struct$_CBOR_$8037_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"21048:53:67"},"nodeType":"YulFunctionCall","src":"21048:86:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"21038:6:67"}]}]}]},"name":"abi_decode_tuple_t_struct$_CBOR_$8037_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20672:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"20683:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"20695:6:67","type":""}],"src":"20603:548:67"},{"body":{"nodeType":"YulBlock","src":"21247:447:67","statements":[{"body":{"nodeType":"YulBlock","src":"21293:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"21295:77:67"},"nodeType":"YulFunctionCall","src":"21295:79:67"},"nodeType":"YulExpressionStatement","src":"21295:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"21268:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"21277:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21264:3:67"},"nodeType":"YulFunctionCall","src":"21264:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"21289:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21260:3:67"},"nodeType":"YulFunctionCall","src":"21260:32:67"},"nodeType":"YulIf","src":"21257:119:67"},{"nodeType":"YulBlock","src":"21386:301:67","statements":[{"nodeType":"YulVariableDeclaration","src":"21401:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21432:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"21443:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21428:3:67"},"nodeType":"YulFunctionCall","src":"21428:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"21415:12:67"},"nodeType":"YulFunctionCall","src":"21415:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"21405:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"21493:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"21495:77:67"},"nodeType":"YulFunctionCall","src":"21495:79:67"},"nodeType":"YulExpressionStatement","src":"21495:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"21465:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"21473:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"21462:2:67"},"nodeType":"YulFunctionCall","src":"21462:30:67"},"nodeType":"YulIf","src":"21459:117:67"},{"nodeType":"YulAssignment","src":"21590:87:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21649:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"21660:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21645:3:67"},"nodeType":"YulFunctionCall","src":"21645:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"21669:7:67"}],"functionName":{"name":"abi_decode_t_struct$_Result_$8023_memory_ptr","nodeType":"YulIdentifier","src":"21600:44:67"},"nodeType":"YulFunctionCall","src":"21600:77:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"21590:6:67"}]}]}]},"name":"abi_decode_tuple_t_struct$_Result_$8023_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21217:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"21228:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"21240:6:67","type":""}],"src":"21157:537:67"},{"body":{"nodeType":"YulBlock","src":"21765:262:67","statements":[{"body":{"nodeType":"YulBlock","src":"21811:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"21813:77:67"},"nodeType":"YulFunctionCall","src":"21813:79:67"},"nodeType":"YulExpressionStatement","src":"21813:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"21786:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"21795:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21782:3:67"},"nodeType":"YulFunctionCall","src":"21782:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"21807:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21778:3:67"},"nodeType":"YulFunctionCall","src":"21778:32:67"},"nodeType":"YulIf","src":"21775:119:67"},{"nodeType":"YulBlock","src":"21904:116:67","statements":[{"nodeType":"YulVariableDeclaration","src":"21919:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"21933:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"21923:6:67","type":""}]},{"nodeType":"YulAssignment","src":"21948:62:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21982:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"21993:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21978:3:67"},"nodeType":"YulFunctionCall","src":"21978:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"22002:7:67"}],"functionName":{"name":"abi_decode_t_uint64","nodeType":"YulIdentifier","src":"21958:19:67"},"nodeType":"YulFunctionCall","src":"21958:52:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"21948:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21735:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"21746:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"21758:6:67","type":""}],"src":"21700:327:67"},{"body":{"nodeType":"YulBlock","src":"22109:273:67","statements":[{"body":{"nodeType":"YulBlock","src":"22155:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"22157:77:67"},"nodeType":"YulFunctionCall","src":"22157:79:67"},"nodeType":"YulExpressionStatement","src":"22157:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"22130:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"22139:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22126:3:67"},"nodeType":"YulFunctionCall","src":"22126:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"22151:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22122:3:67"},"nodeType":"YulFunctionCall","src":"22122:32:67"},"nodeType":"YulIf","src":"22119:119:67"},{"nodeType":"YulBlock","src":"22248:127:67","statements":[{"nodeType":"YulVariableDeclaration","src":"22263:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"22277:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"22267:6:67","type":""}]},{"nodeType":"YulAssignment","src":"22292:73:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22337:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"22348:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22333:3:67"},"nodeType":"YulFunctionCall","src":"22333:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"22357:7:67"}],"functionName":{"name":"abi_decode_t_uint64_fromMemory","nodeType":"YulIdentifier","src":"22302:30:67"},"nodeType":"YulFunctionCall","src":"22302:63:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"22292:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint64_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22079:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"22090:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"22102:6:67","type":""}],"src":"22033:349:67"},{"body":{"nodeType":"YulBlock","src":"22474:105:67","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22524:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"22532:3:67"}],"functionName":{"name":"abi_encode_t_int128_to_t_int128_library","nodeType":"YulIdentifier","src":"22484:39:67"},"nodeType":"YulFunctionCall","src":"22484:52:67"},"nodeType":"YulExpressionStatement","src":"22484:52:67"},{"nodeType":"YulAssignment","src":"22545:28:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22563:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"22568:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22559:3:67"},"nodeType":"YulFunctionCall","src":"22559:14:67"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"22545:10:67"}]}]},"name":"abi_encodeUpdatedPos_t_int128_to_t_int128_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"22447:6:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"22455:3:67","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"22463:10:67","type":""}],"src":"22388:191:67"},{"body":{"nodeType":"YulBlock","src":"22669:103:67","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22717:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"22725:3:67"}],"functionName":{"name":"abi_encode_t_int32_to_t_int32_library","nodeType":"YulIdentifier","src":"22679:37:67"},"nodeType":"YulFunctionCall","src":"22679:50:67"},"nodeType":"YulExpressionStatement","src":"22679:50:67"},{"nodeType":"YulAssignment","src":"22738:28:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22756:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"22761:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22752:3:67"},"nodeType":"YulFunctionCall","src":"22752:14:67"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"22738:10:67"}]}]},"name":"abi_encodeUpdatedPos_t_int32_to_t_int32_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"22642:6:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"22650:3:67","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"22658:10:67","type":""}],"src":"22585:187:67"},{"body":{"nodeType":"YulBlock","src":"22886:104:67","statements":[{"nodeType":"YulAssignment","src":"22896:88:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22972:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"22980:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_library","nodeType":"YulIdentifier","src":"22910:61:67"},"nodeType":"YulFunctionCall","src":"22910:74:67"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"22896:10:67"}]}]},"name":"abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"22859:6:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"22867:3:67","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"22875:10:67","type":""}],"src":"22778:212:67"},{"body":{"nodeType":"YulBlock","src":"23082:105:67","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"23132:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"23140:3:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_library","nodeType":"YulIdentifier","src":"23092:39:67"},"nodeType":"YulFunctionCall","src":"23092:52:67"},"nodeType":"YulExpressionStatement","src":"23092:52:67"},{"nodeType":"YulAssignment","src":"23153:28:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"23171:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"23176:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23167:3:67"},"nodeType":"YulFunctionCall","src":"23167:14:67"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"23153:10:67"}]}]},"name":"abi_encodeUpdatedPos_t_uint64_to_t_uint64_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"23055:6:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"23063:3:67","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"23071:10:67","type":""}],"src":"22996:191:67"},{"body":{"nodeType":"YulBlock","src":"23351:618:67","statements":[{"nodeType":"YulVariableDeclaration","src":"23361:67:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23422:5:67"}],"functionName":{"name":"array_length_t_array$_t_int128_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"23375:46:67"},"nodeType":"YulFunctionCall","src":"23375:53:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"23365:6:67","type":""}]},{"nodeType":"YulAssignment","src":"23437:100:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"23525:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"23530:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_int128_$dyn_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"23444:80:67"},"nodeType":"YulFunctionCall","src":"23444:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"23437:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"23546:70:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23610:5:67"}],"functionName":{"name":"array_dataslot_t_array$_t_int128_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"23561:48:67"},"nodeType":"YulFunctionCall","src":"23561:55:67"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"23550:7:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"23625:21:67","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"23639:7:67"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"23629:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"23715:229:67","statements":[{"nodeType":"YulVariableDeclaration","src":"23729:34:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"23756:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"23750:5:67"},"nodeType":"YulFunctionCall","src":"23750:13:67"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"23733:13:67","type":""}]},{"nodeType":"YulAssignment","src":"23776:76:67","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"23833:13:67"},{"name":"pos","nodeType":"YulIdentifier","src":"23848:3:67"}],"functionName":{"name":"abi_encodeUpdatedPos_t_int128_to_t_int128_library","nodeType":"YulIdentifier","src":"23783:49:67"},"nodeType":"YulFunctionCall","src":"23783:69:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"23776:3:67"}]},{"nodeType":"YulAssignment","src":"23865:69:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"23927:6:67"}],"functionName":{"name":"array_nextElement_t_array$_t_int128_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"23875:51:67"},"nodeType":"YulFunctionCall","src":"23875:59:67"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"23865:6:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"23677:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"23680:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"23674:2:67"},"nodeType":"YulFunctionCall","src":"23674:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"23688:18:67","statements":[{"nodeType":"YulAssignment","src":"23690:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"23699:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"23702:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23695:3:67"},"nodeType":"YulFunctionCall","src":"23695:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"23690:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"23659:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"23661:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"23670:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"23665:1:67","type":""}]}]},"src":"23655:289:67"},{"nodeType":"YulAssignment","src":"23953:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"23960:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"23953:3:67"}]}]},"name":"abi_encode_t_array$_t_int128_$dyn_memory_ptr_to_t_array$_t_int128_$dyn_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"23330:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"23337:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"23346:3:67","type":""}],"src":"23221:748:67"},{"body":{"nodeType":"YulBlock","src":"24129:612:67","statements":[{"nodeType":"YulVariableDeclaration","src":"24139:66:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24199:5:67"}],"functionName":{"name":"array_length_t_array$_t_int32_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"24153:45:67"},"nodeType":"YulFunctionCall","src":"24153:52:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"24143:6:67","type":""}]},{"nodeType":"YulAssignment","src":"24214:99:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"24301:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"24306:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_int32_$dyn_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"24221:79:67"},"nodeType":"YulFunctionCall","src":"24221:92:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"24214:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"24322:69:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24385:5:67"}],"functionName":{"name":"array_dataslot_t_array$_t_int32_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"24337:47:67"},"nodeType":"YulFunctionCall","src":"24337:54:67"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"24326:7:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"24400:21:67","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"24414:7:67"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"24404:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"24490:226:67","statements":[{"nodeType":"YulVariableDeclaration","src":"24504:34:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"24531:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"24525:5:67"},"nodeType":"YulFunctionCall","src":"24525:13:67"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"24508:13:67","type":""}]},{"nodeType":"YulAssignment","src":"24551:74:67","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"24606:13:67"},{"name":"pos","nodeType":"YulIdentifier","src":"24621:3:67"}],"functionName":{"name":"abi_encodeUpdatedPos_t_int32_to_t_int32_library","nodeType":"YulIdentifier","src":"24558:47:67"},"nodeType":"YulFunctionCall","src":"24558:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"24551:3:67"}]},{"nodeType":"YulAssignment","src":"24638:68:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"24699:6:67"}],"functionName":{"name":"array_nextElement_t_array$_t_int32_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"24648:50:67"},"nodeType":"YulFunctionCall","src":"24648:58:67"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"24638:6:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"24452:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"24455:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"24449:2:67"},"nodeType":"YulFunctionCall","src":"24449:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"24463:18:67","statements":[{"nodeType":"YulAssignment","src":"24465:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"24474:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"24477:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24470:3:67"},"nodeType":"YulFunctionCall","src":"24470:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"24465:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"24434:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"24436:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"24445:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"24440:1:67","type":""}]}]},"src":"24430:286:67"},{"nodeType":"YulAssignment","src":"24725:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"24732:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"24725:3:67"}]}]},"name":"abi_encode_t_array$_t_int32_$dyn_memory_ptr_to_t_array$_t_int32_$dyn_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"24108:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"24115:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"24124:3:67","type":""}],"src":"24001:740:67"},{"body":{"nodeType":"YulBlock","src":"24927:863:67","statements":[{"nodeType":"YulVariableDeclaration","src":"24937:78:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25009:5:67"}],"functionName":{"name":"array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"24951:57:67"},"nodeType":"YulFunctionCall","src":"24951:64:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"24941:6:67","type":""}]},{"nodeType":"YulAssignment","src":"25024:111:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25123:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"25128:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"25031:91:67"},"nodeType":"YulFunctionCall","src":"25031:104:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"25024:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"25144:20:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"25161:3:67"},"variables":[{"name":"headStart","nodeType":"YulTypedName","src":"25148:9:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"25173:39:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25189:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"25198:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"25206:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"25194:3:67"},"nodeType":"YulFunctionCall","src":"25194:17:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25185:3:67"},"nodeType":"YulFunctionCall","src":"25185:27:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"25177:4:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"25221:81:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25296:5:67"}],"functionName":{"name":"array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"25236:59:67"},"nodeType":"YulFunctionCall","src":"25236:66:67"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"25225:7:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"25311:21:67","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"25325:7:67"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"25315:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"25401:344:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25422:3:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"25431:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"25437:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25427:3:67"},"nodeType":"YulFunctionCall","src":"25427:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25415:6:67"},"nodeType":"YulFunctionCall","src":"25415:33:67"},"nodeType":"YulExpressionStatement","src":"25415:33:67"},{"nodeType":"YulVariableDeclaration","src":"25461:34:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"25488:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"25482:5:67"},"nodeType":"YulFunctionCall","src":"25482:13:67"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"25465:13:67","type":""}]},{"nodeType":"YulAssignment","src":"25508:100:67","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"25588:13:67"},{"name":"tail","nodeType":"YulIdentifier","src":"25603:4:67"}],"functionName":{"name":"abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr_library","nodeType":"YulIdentifier","src":"25516:71:67"},"nodeType":"YulFunctionCall","src":"25516:92:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25508:4:67"}]},{"nodeType":"YulAssignment","src":"25621:80:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"25694:6:67"}],"functionName":{"name":"array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"25631:62:67"},"nodeType":"YulFunctionCall","src":"25631:70:67"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"25621:6:67"}]},{"nodeType":"YulAssignment","src":"25714:21:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25725:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"25730:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25721:3:67"},"nodeType":"YulFunctionCall","src":"25721:14:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"25714:3:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"25363:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"25366:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"25360:2:67"},"nodeType":"YulFunctionCall","src":"25360:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"25374:18:67","statements":[{"nodeType":"YulAssignment","src":"25376:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"25385:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"25388:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25381:3:67"},"nodeType":"YulFunctionCall","src":"25381:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"25376:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"25345:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"25347:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"25356:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"25351:1:67","type":""}]}]},"src":"25341:404:67"},{"nodeType":"YulAssignment","src":"25754:11:67","value":{"name":"tail","nodeType":"YulIdentifier","src":"25761:4:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"25754:3:67"}]},{"nodeType":"YulAssignment","src":"25774:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"25781:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"25774:3:67"}]}]},"name":"abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"24906:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"24913:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"24922:3:67","type":""}],"src":"24775:1015:67"},{"body":{"nodeType":"YulBlock","src":"25954:618:67","statements":[{"nodeType":"YulVariableDeclaration","src":"25964:67:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"26025:5:67"}],"functionName":{"name":"array_length_t_array$_t_uint64_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"25978:46:67"},"nodeType":"YulFunctionCall","src":"25978:53:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"25968:6:67","type":""}]},{"nodeType":"YulAssignment","src":"26040:100:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"26128:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"26133:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_uint64_$dyn_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"26047:80:67"},"nodeType":"YulFunctionCall","src":"26047:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"26040:3:67"}]},{"nodeType":"YulVariableDeclaration","src":"26149:70:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"26213:5:67"}],"functionName":{"name":"array_dataslot_t_array$_t_uint64_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"26164:48:67"},"nodeType":"YulFunctionCall","src":"26164:55:67"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"26153:7:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"26228:21:67","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"26242:7:67"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"26232:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"26318:229:67","statements":[{"nodeType":"YulVariableDeclaration","src":"26332:34:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"26359:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"26353:5:67"},"nodeType":"YulFunctionCall","src":"26353:13:67"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"26336:13:67","type":""}]},{"nodeType":"YulAssignment","src":"26379:76:67","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"26436:13:67"},{"name":"pos","nodeType":"YulIdentifier","src":"26451:3:67"}],"functionName":{"name":"abi_encodeUpdatedPos_t_uint64_to_t_uint64_library","nodeType":"YulIdentifier","src":"26386:49:67"},"nodeType":"YulFunctionCall","src":"26386:69:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"26379:3:67"}]},{"nodeType":"YulAssignment","src":"26468:69:67","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"26530:6:67"}],"functionName":{"name":"array_nextElement_t_array$_t_uint64_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"26478:51:67"},"nodeType":"YulFunctionCall","src":"26478:59:67"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"26468:6:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"26280:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"26283:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"26277:2:67"},"nodeType":"YulFunctionCall","src":"26277:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"26291:18:67","statements":[{"nodeType":"YulAssignment","src":"26293:14:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"26302:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"26305:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26298:3:67"},"nodeType":"YulFunctionCall","src":"26298:9:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"26293:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"26262:14:67","statements":[{"nodeType":"YulVariableDeclaration","src":"26264:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"26273:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"26268:1:67","type":""}]}]},"src":"26258:289:67"},{"nodeType":"YulAssignment","src":"26556:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"26563:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"26556:3:67"}]}]},"name":"abi_encode_t_array$_t_uint64_$dyn_memory_ptr_to_t_array$_t_uint64_$dyn_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"25933:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"25940:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"25949:3:67","type":""}],"src":"25824:748:67"},{"body":{"nodeType":"YulBlock","src":"26645:50:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"26662:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"26682:5:67"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"26667:14:67"},"nodeType":"YulFunctionCall","src":"26667:21:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26655:6:67"},"nodeType":"YulFunctionCall","src":"26655:34:67"},"nodeType":"YulExpressionStatement","src":"26655:34:67"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"26633:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"26640:3:67","type":""}],"src":"26578:117:67"},{"body":{"nodeType":"YulBlock","src":"26758:50:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"26775:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"26795:5:67"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"26780:14:67"},"nodeType":"YulFunctionCall","src":"26780:21:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26768:6:67"},"nodeType":"YulFunctionCall","src":"26768:34:67"},"nodeType":"YulExpressionStatement","src":"26768:34:67"}]},"name":"abi_encode_t_bool_to_t_bool_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"26746:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"26753:3:67","type":""}],"src":"26701:107:67"},{"body":{"nodeType":"YulBlock","src":"26887:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"26904:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"26927:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"26909:17:67"},"nodeType":"YulFunctionCall","src":"26909:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26897:6:67"},"nodeType":"YulFunctionCall","src":"26897:37:67"},"nodeType":"YulExpressionStatement","src":"26897:37:67"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"26875:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"26882:3:67","type":""}],"src":"26814:126:67"},{"body":{"nodeType":"YulBlock","src":"27044:278:67","statements":[{"nodeType":"YulVariableDeclaration","src":"27054:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27100:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"27068:31:67"},"nodeType":"YulFunctionCall","src":"27068:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"27058:6:67","type":""}]},{"nodeType":"YulAssignment","src":"27115:85:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27188:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"27193:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"27122:65:67"},"nodeType":"YulFunctionCall","src":"27122:78:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"27115:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27235:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"27242:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27231:3:67"},"nodeType":"YulFunctionCall","src":"27231:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"27249:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"27254:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"27209:21:67"},"nodeType":"YulFunctionCall","src":"27209:52:67"},"nodeType":"YulExpressionStatement","src":"27209:52:67"},{"nodeType":"YulAssignment","src":"27270:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27281:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"27308:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"27286:21:67"},"nodeType":"YulFunctionCall","src":"27286:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27277:3:67"},"nodeType":"YulFunctionCall","src":"27277:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"27270:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"27025:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"27032:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"27040:3:67","type":""}],"src":"26946:376:67"},{"body":{"nodeType":"YulBlock","src":"27416:268:67","statements":[{"nodeType":"YulVariableDeclaration","src":"27426:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27472:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"27440:31:67"},"nodeType":"YulFunctionCall","src":"27440:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"27430:6:67","type":""}]},{"nodeType":"YulAssignment","src":"27487:75:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27550:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"27555:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_library","nodeType":"YulIdentifier","src":"27494:55:67"},"nodeType":"YulFunctionCall","src":"27494:68:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"27487:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27597:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"27604:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27593:3:67"},"nodeType":"YulFunctionCall","src":"27593:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"27611:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"27616:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"27571:21:67"},"nodeType":"YulFunctionCall","src":"27571:52:67"},"nodeType":"YulExpressionStatement","src":"27571:52:67"},{"nodeType":"YulAssignment","src":"27632:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27643:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"27670:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"27648:21:67"},"nodeType":"YulFunctionCall","src":"27648:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27639:3:67"},"nodeType":"YulFunctionCall","src":"27639:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"27632:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"27397:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"27404:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"27412:3:67","type":""}],"src":"27328:356:67"},{"body":{"nodeType":"YulBlock","src":"27776:79:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27793:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27842:5:67"}],"functionName":{"name":"convert_t_enum$_ErrorCodes_$8299_to_t_uint8","nodeType":"YulIdentifier","src":"27798:43:67"},"nodeType":"YulFunctionCall","src":"27798:50:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27786:6:67"},"nodeType":"YulFunctionCall","src":"27786:63:67"},"nodeType":"YulExpressionStatement","src":"27786:63:67"}]},"name":"abi_encode_t_enum$_ErrorCodes_$8299_to_t_uint8_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"27764:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"27771:3:67","type":""}],"src":"27690:165:67"},{"body":{"nodeType":"YulBlock","src":"27932:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27949:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27971:5:67"}],"functionName":{"name":"cleanup_t_int128","nodeType":"YulIdentifier","src":"27954:16:67"},"nodeType":"YulFunctionCall","src":"27954:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27942:6:67"},"nodeType":"YulFunctionCall","src":"27942:36:67"},"nodeType":"YulExpressionStatement","src":"27942:36:67"}]},"name":"abi_encode_t_int128_to_t_int128_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"27920:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"27927:3:67","type":""}],"src":"27861:123:67"},{"body":{"nodeType":"YulBlock","src":"28051:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"28068:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28090:5:67"}],"functionName":{"name":"cleanup_t_int128","nodeType":"YulIdentifier","src":"28073:16:67"},"nodeType":"YulFunctionCall","src":"28073:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28061:6:67"},"nodeType":"YulFunctionCall","src":"28061:36:67"},"nodeType":"YulExpressionStatement","src":"28061:36:67"}]},"name":"abi_encode_t_int128_to_t_int128_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"28039:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"28046:3:67","type":""}],"src":"27990:113:67"},{"body":{"nodeType":"YulBlock","src":"28178:51:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"28195:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28216:5:67"}],"functionName":{"name":"cleanup_t_int32","nodeType":"YulIdentifier","src":"28200:15:67"},"nodeType":"YulFunctionCall","src":"28200:22:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28188:6:67"},"nodeType":"YulFunctionCall","src":"28188:35:67"},"nodeType":"YulExpressionStatement","src":"28188:35:67"}]},"name":"abi_encode_t_int32_to_t_int32_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"28166:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"28173:3:67","type":""}],"src":"28109:120:67"},{"body":{"nodeType":"YulBlock","src":"28294:51:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"28311:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28332:5:67"}],"functionName":{"name":"cleanup_t_int32","nodeType":"YulIdentifier","src":"28316:15:67"},"nodeType":"YulFunctionCall","src":"28316:22:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28304:6:67"},"nodeType":"YulFunctionCall","src":"28304:35:67"},"nodeType":"YulExpressionStatement","src":"28304:35:67"}]},"name":"abi_encode_t_int32_to_t_int32_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"28282:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"28289:3:67","type":""}],"src":"28235:110:67"},{"body":{"nodeType":"YulBlock","src":"28451:280:67","statements":[{"nodeType":"YulVariableDeclaration","src":"28461:53:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28508:5:67"}],"functionName":{"name":"array_length_t_string_memory_ptr","nodeType":"YulIdentifier","src":"28475:32:67"},"nodeType":"YulFunctionCall","src":"28475:39:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"28465:6:67","type":""}]},{"nodeType":"YulAssignment","src":"28523:86:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"28597:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"28602:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"28530:66:67"},"nodeType":"YulFunctionCall","src":"28530:79:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"28523:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28644:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"28651:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28640:3:67"},"nodeType":"YulFunctionCall","src":"28640:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"28658:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"28663:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"28618:21:67"},"nodeType":"YulFunctionCall","src":"28618:52:67"},"nodeType":"YulExpressionStatement","src":"28618:52:67"},{"nodeType":"YulAssignment","src":"28679:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"28690:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"28717:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"28695:21:67"},"nodeType":"YulFunctionCall","src":"28695:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28686:3:67"},"nodeType":"YulFunctionCall","src":"28686:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"28679:3:67"}]}]},"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"28432:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"28439:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"28447:3:67","type":""}],"src":"28351:380:67"},{"body":{"nodeType":"YulBlock","src":"28827:270:67","statements":[{"nodeType":"YulVariableDeclaration","src":"28837:53:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28884:5:67"}],"functionName":{"name":"array_length_t_string_memory_ptr","nodeType":"YulIdentifier","src":"28851:32:67"},"nodeType":"YulFunctionCall","src":"28851:39:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"28841:6:67","type":""}]},{"nodeType":"YulAssignment","src":"28899:76:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"28963:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"28968:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_library","nodeType":"YulIdentifier","src":"28906:56:67"},"nodeType":"YulFunctionCall","src":"28906:69:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"28899:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"29010:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"29017:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29006:3:67"},"nodeType":"YulFunctionCall","src":"29006:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"29024:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"29029:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"28984:21:67"},"nodeType":"YulFunctionCall","src":"28984:52:67"},"nodeType":"YulExpressionStatement","src":"28984:52:67"},{"nodeType":"YulAssignment","src":"29045:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29056:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"29083:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"29061:21:67"},"nodeType":"YulFunctionCall","src":"29061:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29052:3:67"},"nodeType":"YulFunctionCall","src":"29052:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"29045:3:67"}]}]},"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"28808:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"28815:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"28823:3:67","type":""}],"src":"28737:360:67"},{"body":{"nodeType":"YulBlock","src":"29213:267:67","statements":[{"nodeType":"YulVariableDeclaration","src":"29223:53:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"29270:5:67"}],"functionName":{"name":"array_length_t_string_memory_ptr","nodeType":"YulIdentifier","src":"29237:32:67"},"nodeType":"YulFunctionCall","src":"29237:39:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"29227:6:67","type":""}]},{"nodeType":"YulAssignment","src":"29285:96:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29369:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"29374:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"29292:76:67"},"nodeType":"YulFunctionCall","src":"29292:89:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"29285:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"29416:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"29423:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29412:3:67"},"nodeType":"YulFunctionCall","src":"29412:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"29430:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"29435:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"29390:21:67"},"nodeType":"YulFunctionCall","src":"29390:52:67"},"nodeType":"YulExpressionStatement","src":"29390:52:67"},{"nodeType":"YulAssignment","src":"29451:23:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29462:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"29467:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29458:3:67"},"nodeType":"YulFunctionCall","src":"29458:16:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"29451:3:67"}]}]},"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"29194:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"29201:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"29209:3:67","type":""}],"src":"29103:377:67"},{"body":{"nodeType":"YulBlock","src":"29650:238:67","statements":[{"nodeType":"YulAssignment","src":"29660:92:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29744:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"29749:2:67","type":"","value":"54"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"29667:76:67"},"nodeType":"YulFunctionCall","src":"29667:85:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"29660:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29850:3:67"}],"functionName":{"name":"store_literal_in_memory_06fad0051889b339312d16eb4a22ce922cb939c7a74f3a087fb28315293ae2e1","nodeType":"YulIdentifier","src":"29761:88:67"},"nodeType":"YulFunctionCall","src":"29761:93:67"},"nodeType":"YulExpressionStatement","src":"29761:93:67"},{"nodeType":"YulAssignment","src":"29863:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29874:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"29879:2:67","type":"","value":"54"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29870:3:67"},"nodeType":"YulFunctionCall","src":"29870:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"29863:3:67"}]}]},"name":"abi_encode_t_stringliteral_06fad0051889b339312d16eb4a22ce922cb939c7a74f3a087fb28315293ae2e1_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"29638:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"29646:3:67","type":""}],"src":"29486:402:67"},{"body":{"nodeType":"YulBlock","src":"30058:238:67","statements":[{"nodeType":"YulAssignment","src":"30068:92:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"30152:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"30157:2:67","type":"","value":"23"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"30075:76:67"},"nodeType":"YulFunctionCall","src":"30075:85:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"30068:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"30258:3:67"}],"functionName":{"name":"store_literal_in_memory_0fdce60631188ec72ee63fc1361d0a4c4be32af3243f9d750ff56d3026640c5d","nodeType":"YulIdentifier","src":"30169:88:67"},"nodeType":"YulFunctionCall","src":"30169:93:67"},"nodeType":"YulExpressionStatement","src":"30169:93:67"},{"nodeType":"YulAssignment","src":"30271:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"30282:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"30287:2:67","type":"","value":"23"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30278:3:67"},"nodeType":"YulFunctionCall","src":"30278:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"30271:3:67"}]}]},"name":"abi_encode_t_stringliteral_0fdce60631188ec72ee63fc1361d0a4c4be32af3243f9d750ff56d3026640c5d_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"30046:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"30054:3:67","type":""}],"src":"29894:402:67"},{"body":{"nodeType":"YulBlock","src":"30448:220:67","statements":[{"nodeType":"YulAssignment","src":"30458:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"30524:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"30529:2:67","type":"","value":"69"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"30465:58:67"},"nodeType":"YulFunctionCall","src":"30465:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"30458:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"30630:3:67"}],"functionName":{"name":"store_literal_in_memory_10326a398e4ebae30db45e432dffe0bcbf9bb42c1ddf0acdf95f81f6937c3e6e","nodeType":"YulIdentifier","src":"30541:88:67"},"nodeType":"YulFunctionCall","src":"30541:93:67"},"nodeType":"YulExpressionStatement","src":"30541:93:67"},{"nodeType":"YulAssignment","src":"30643:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"30654:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"30659:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30650:3:67"},"nodeType":"YulFunctionCall","src":"30650:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"30643:3:67"}]}]},"name":"abi_encode_t_stringliteral_10326a398e4ebae30db45e432dffe0bcbf9bb42c1ddf0acdf95f81f6937c3e6e_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"30436:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"30444:3:67","type":""}],"src":"30302:366:67"},{"body":{"nodeType":"YulBlock","src":"30838:238:67","statements":[{"nodeType":"YulAssignment","src":"30848:92:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"30932:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"30937:2:67","type":"","value":"17"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"30855:76:67"},"nodeType":"YulFunctionCall","src":"30855:85:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"30848:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"31038:3:67"}],"functionName":{"name":"store_literal_in_memory_1592131424a8311c1140099f1562782fc79cb4437b828b679e0e77389ade83e5","nodeType":"YulIdentifier","src":"30949:88:67"},"nodeType":"YulFunctionCall","src":"30949:93:67"},"nodeType":"YulExpressionStatement","src":"30949:93:67"},{"nodeType":"YulAssignment","src":"31051:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"31062:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"31067:2:67","type":"","value":"17"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31058:3:67"},"nodeType":"YulFunctionCall","src":"31058:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"31051:3:67"}]}]},"name":"abi_encode_t_stringliteral_1592131424a8311c1140099f1562782fc79cb4437b828b679e0e77389ade83e5_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"30826:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"30834:3:67","type":""}],"src":"30674:402:67"},{"body":{"nodeType":"YulBlock","src":"31228:220:67","statements":[{"nodeType":"YulAssignment","src":"31238:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"31304:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"31309:2:67","type":"","value":"74"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"31245:58:67"},"nodeType":"YulFunctionCall","src":"31245:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"31238:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"31410:3:67"}],"functionName":{"name":"store_literal_in_memory_1d02783bfdf9fcb10987fa30c69580dc05995a395206f98f8571e50bdc55f1de","nodeType":"YulIdentifier","src":"31321:88:67"},"nodeType":"YulFunctionCall","src":"31321:93:67"},"nodeType":"YulExpressionStatement","src":"31321:93:67"},{"nodeType":"YulAssignment","src":"31423:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"31434:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"31439:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31430:3:67"},"nodeType":"YulFunctionCall","src":"31430:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"31423:3:67"}]}]},"name":"abi_encode_t_stringliteral_1d02783bfdf9fcb10987fa30c69580dc05995a395206f98f8571e50bdc55f1de_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"31216:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"31224:3:67","type":""}],"src":"31082:366:67"},{"body":{"nodeType":"YulBlock","src":"31618:238:67","statements":[{"nodeType":"YulAssignment","src":"31628:92:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"31712:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"31717:2:67","type":"","value":"29"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"31635:76:67"},"nodeType":"YulFunctionCall","src":"31635:85:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"31628:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"31818:3:67"}],"functionName":{"name":"store_literal_in_memory_20219570d77827fb39a2615f42463838b5337135103169e6edf382cc9747ecb0","nodeType":"YulIdentifier","src":"31729:88:67"},"nodeType":"YulFunctionCall","src":"31729:93:67"},"nodeType":"YulExpressionStatement","src":"31729:93:67"},{"nodeType":"YulAssignment","src":"31831:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"31842:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"31847:2:67","type":"","value":"29"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31838:3:67"},"nodeType":"YulFunctionCall","src":"31838:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"31831:3:67"}]}]},"name":"abi_encode_t_stringliteral_20219570d77827fb39a2615f42463838b5337135103169e6edf382cc9747ecb0_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"31606:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"31614:3:67","type":""}],"src":"31454:402:67"},{"body":{"nodeType":"YulBlock","src":"32026:236:67","statements":[{"nodeType":"YulAssignment","src":"32036:91:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"32120:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"32125:1:67","type":"","value":"6"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"32043:76:67"},"nodeType":"YulFunctionCall","src":"32043:84:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"32036:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"32225:3:67"}],"functionName":{"name":"store_literal_in_memory_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240","nodeType":"YulIdentifier","src":"32136:88:67"},"nodeType":"YulFunctionCall","src":"32136:93:67"},"nodeType":"YulExpressionStatement","src":"32136:93:67"},{"nodeType":"YulAssignment","src":"32238:18:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"32249:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"32254:1:67","type":"","value":"6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32245:3:67"},"nodeType":"YulFunctionCall","src":"32245:11:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"32238:3:67"}]}]},"name":"abi_encode_t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"32014:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"32022:3:67","type":""}],"src":"31862:400:67"},{"body":{"nodeType":"YulBlock","src":"32414:220:67","statements":[{"nodeType":"YulAssignment","src":"32424:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"32490:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"32495:2:67","type":"","value":"75"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"32431:58:67"},"nodeType":"YulFunctionCall","src":"32431:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"32424:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"32596:3:67"}],"functionName":{"name":"store_literal_in_memory_35d560c02aa8345814ff1f3323ab22fdca5038d982e35a8bd24bf31def042340","nodeType":"YulIdentifier","src":"32507:88:67"},"nodeType":"YulFunctionCall","src":"32507:93:67"},"nodeType":"YulExpressionStatement","src":"32507:93:67"},{"nodeType":"YulAssignment","src":"32609:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"32620:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"32625:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32616:3:67"},"nodeType":"YulFunctionCall","src":"32616:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"32609:3:67"}]}]},"name":"abi_encode_t_stringliteral_35d560c02aa8345814ff1f3323ab22fdca5038d982e35a8bd24bf31def042340_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"32402:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"32410:3:67","type":""}],"src":"32268:366:67"},{"body":{"nodeType":"YulBlock","src":"32804:238:67","statements":[{"nodeType":"YulAssignment","src":"32814:92:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"32898:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"32903:2:67","type":"","value":"27"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"32821:76:67"},"nodeType":"YulFunctionCall","src":"32821:85:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"32814:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"33004:3:67"}],"functionName":{"name":"store_literal_in_memory_38aad4b191165ea835c2dd674387b75fe0bd732e02a4f0a28df91297da890cb1","nodeType":"YulIdentifier","src":"32915:88:67"},"nodeType":"YulFunctionCall","src":"32915:93:67"},"nodeType":"YulExpressionStatement","src":"32915:93:67"},{"nodeType":"YulAssignment","src":"33017:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"33028:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"33033:2:67","type":"","value":"27"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33024:3:67"},"nodeType":"YulFunctionCall","src":"33024:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"33017:3:67"}]}]},"name":"abi_encode_t_stringliteral_38aad4b191165ea835c2dd674387b75fe0bd732e02a4f0a28df91297da890cb1_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"32792:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"32800:3:67","type":""}],"src":"32640:402:67"},{"body":{"nodeType":"YulBlock","src":"33212:238:67","statements":[{"nodeType":"YulAssignment","src":"33222:92:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"33306:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"33311:2:67","type":"","value":"16"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"33229:76:67"},"nodeType":"YulFunctionCall","src":"33229:85:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"33222:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"33412:3:67"}],"functionName":{"name":"store_literal_in_memory_3901bb2e94f0903cb8c3d04caa6989483e39249a328a7790ca4b4dfad12665a7","nodeType":"YulIdentifier","src":"33323:88:67"},"nodeType":"YulFunctionCall","src":"33323:93:67"},"nodeType":"YulExpressionStatement","src":"33323:93:67"},{"nodeType":"YulAssignment","src":"33425:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"33436:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"33441:2:67","type":"","value":"16"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33432:3:67"},"nodeType":"YulFunctionCall","src":"33432:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"33425:3:67"}]}]},"name":"abi_encode_t_stringliteral_3901bb2e94f0903cb8c3d04caa6989483e39249a328a7790ca4b4dfad12665a7_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"33200:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"33208:3:67","type":""}],"src":"33048:402:67"},{"body":{"nodeType":"YulBlock","src":"33620:238:67","statements":[{"nodeType":"YulAssignment","src":"33630:92:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"33714:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"33719:2:67","type":"","value":"44"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"33637:76:67"},"nodeType":"YulFunctionCall","src":"33637:85:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"33630:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"33820:3:67"}],"functionName":{"name":"store_literal_in_memory_4ec62780e6e71ad9c36f6f1c8b5d02daa88788dbb872d9876464dbb3ea85fc66","nodeType":"YulIdentifier","src":"33731:88:67"},"nodeType":"YulFunctionCall","src":"33731:93:67"},"nodeType":"YulExpressionStatement","src":"33731:93:67"},{"nodeType":"YulAssignment","src":"33833:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"33844:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"33849:2:67","type":"","value":"44"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33840:3:67"},"nodeType":"YulFunctionCall","src":"33840:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"33833:3:67"}]}]},"name":"abi_encode_t_stringliteral_4ec62780e6e71ad9c36f6f1c8b5d02daa88788dbb872d9876464dbb3ea85fc66_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"33608:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"33616:3:67","type":""}],"src":"33456:402:67"},{"body":{"nodeType":"YulBlock","src":"34010:220:67","statements":[{"nodeType":"YulAssignment","src":"34020:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"34086:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"34091:2:67","type":"","value":"72"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"34027:58:67"},"nodeType":"YulFunctionCall","src":"34027:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"34020:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"34192:3:67"}],"functionName":{"name":"store_literal_in_memory_4ff103044b32139865c8582aa6a4cb8cfea297b0e275f15a2b83d02eb8c83ff5","nodeType":"YulIdentifier","src":"34103:88:67"},"nodeType":"YulFunctionCall","src":"34103:93:67"},"nodeType":"YulExpressionStatement","src":"34103:93:67"},{"nodeType":"YulAssignment","src":"34205:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"34216:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"34221:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34212:3:67"},"nodeType":"YulFunctionCall","src":"34212:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"34205:3:67"}]}]},"name":"abi_encode_t_stringliteral_4ff103044b32139865c8582aa6a4cb8cfea297b0e275f15a2b83d02eb8c83ff5_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"33998:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"34006:3:67","type":""}],"src":"33864:366:67"},{"body":{"nodeType":"YulBlock","src":"34400:238:67","statements":[{"nodeType":"YulAssignment","src":"34410:92:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"34494:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"34499:2:67","type":"","value":"12"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"34417:76:67"},"nodeType":"YulFunctionCall","src":"34417:85:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"34410:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"34600:3:67"}],"functionName":{"name":"store_literal_in_memory_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b","nodeType":"YulIdentifier","src":"34511:88:67"},"nodeType":"YulFunctionCall","src":"34511:93:67"},"nodeType":"YulExpressionStatement","src":"34511:93:67"},{"nodeType":"YulAssignment","src":"34613:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"34624:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"34629:2:67","type":"","value":"12"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34620:3:67"},"nodeType":"YulFunctionCall","src":"34620:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"34613:3:67"}]}]},"name":"abi_encode_t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"34388:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"34396:3:67","type":""}],"src":"34236:402:67"},{"body":{"nodeType":"YulBlock","src":"34808:236:67","statements":[{"nodeType":"YulAssignment","src":"34818:91:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"34902:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"34907:1:67","type":"","value":"1"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"34825:76:67"},"nodeType":"YulFunctionCall","src":"34825:84:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"34818:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"35007:3:67"}],"functionName":{"name":"store_literal_in_memory_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed","nodeType":"YulIdentifier","src":"34918:88:67"},"nodeType":"YulFunctionCall","src":"34918:93:67"},"nodeType":"YulExpressionStatement","src":"34918:93:67"},{"nodeType":"YulAssignment","src":"35020:18:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"35031:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"35036:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35027:3:67"},"nodeType":"YulFunctionCall","src":"35027:11:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"35020:3:67"}]}]},"name":"abi_encode_t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"34796:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"34804:3:67","type":""}],"src":"34644:400:67"},{"body":{"nodeType":"YulBlock","src":"35214:236:67","statements":[{"nodeType":"YulAssignment","src":"35224:91:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"35308:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"35313:1:67","type":"","value":"6"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"35231:76:67"},"nodeType":"YulFunctionCall","src":"35231:84:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"35224:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"35413:3:67"}],"functionName":{"name":"store_literal_in_memory_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b","nodeType":"YulIdentifier","src":"35324:88:67"},"nodeType":"YulFunctionCall","src":"35324:93:67"},"nodeType":"YulExpressionStatement","src":"35324:93:67"},{"nodeType":"YulAssignment","src":"35426:18:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"35437:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"35442:1:67","type":"","value":"6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35433:3:67"},"nodeType":"YulFunctionCall","src":"35433:11:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"35426:3:67"}]}]},"name":"abi_encode_t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"35202:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"35210:3:67","type":""}],"src":"35050:400:67"},{"body":{"nodeType":"YulBlock","src":"35620:238:67","statements":[{"nodeType":"YulAssignment","src":"35630:92:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"35714:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"35719:2:67","type":"","value":"15"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"35637:76:67"},"nodeType":"YulFunctionCall","src":"35637:85:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"35630:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"35820:3:67"}],"functionName":{"name":"store_literal_in_memory_5bfa9355c289a68288e465573f0cee9515462e9a79ed698ecc1d95d0eccfb916","nodeType":"YulIdentifier","src":"35731:88:67"},"nodeType":"YulFunctionCall","src":"35731:93:67"},"nodeType":"YulExpressionStatement","src":"35731:93:67"},{"nodeType":"YulAssignment","src":"35833:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"35844:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"35849:2:67","type":"","value":"15"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35840:3:67"},"nodeType":"YulFunctionCall","src":"35840:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"35833:3:67"}]}]},"name":"abi_encode_t_stringliteral_5bfa9355c289a68288e465573f0cee9515462e9a79ed698ecc1d95d0eccfb916_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"35608:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"35616:3:67","type":""}],"src":"35456:402:67"},{"body":{"nodeType":"YulBlock","src":"36010:220:67","statements":[{"nodeType":"YulAssignment","src":"36020:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"36086:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"36091:2:67","type":"","value":"72"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"36027:58:67"},"nodeType":"YulFunctionCall","src":"36027:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"36020:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"36192:3:67"}],"functionName":{"name":"store_literal_in_memory_5c8a9e5034d6996add1c3633267ae82cc51190f2746c4ebbc6652dbd2b8f82f1","nodeType":"YulIdentifier","src":"36103:88:67"},"nodeType":"YulFunctionCall","src":"36103:93:67"},"nodeType":"YulExpressionStatement","src":"36103:93:67"},{"nodeType":"YulAssignment","src":"36205:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"36216:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"36221:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36212:3:67"},"nodeType":"YulFunctionCall","src":"36212:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"36205:3:67"}]}]},"name":"abi_encode_t_stringliteral_5c8a9e5034d6996add1c3633267ae82cc51190f2746c4ebbc6652dbd2b8f82f1_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"35998:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"36006:3:67","type":""}],"src":"35864:366:67"},{"body":{"nodeType":"YulBlock","src":"36400:238:67","statements":[{"nodeType":"YulAssignment","src":"36410:92:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"36494:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"36499:2:67","type":"","value":"16"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"36417:76:67"},"nodeType":"YulFunctionCall","src":"36417:85:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"36410:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"36600:3:67"}],"functionName":{"name":"store_literal_in_memory_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5","nodeType":"YulIdentifier","src":"36511:88:67"},"nodeType":"YulFunctionCall","src":"36511:93:67"},"nodeType":"YulExpressionStatement","src":"36511:93:67"},{"nodeType":"YulAssignment","src":"36613:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"36624:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"36629:2:67","type":"","value":"16"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36620:3:67"},"nodeType":"YulFunctionCall","src":"36620:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"36613:3:67"}]}]},"name":"abi_encode_t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"36388:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"36396:3:67","type":""}],"src":"36236:402:67"},{"body":{"nodeType":"YulBlock","src":"36790:220:67","statements":[{"nodeType":"YulAssignment","src":"36800:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"36866:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"36871:2:67","type":"","value":"74"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"36807:58:67"},"nodeType":"YulFunctionCall","src":"36807:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"36800:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"36972:3:67"}],"functionName":{"name":"store_literal_in_memory_645b5c892a1df9140a78ebb02f8cc9c52a58fd09049d30c9306d829f3e4067c0","nodeType":"YulIdentifier","src":"36883:88:67"},"nodeType":"YulFunctionCall","src":"36883:93:67"},"nodeType":"YulExpressionStatement","src":"36883:93:67"},{"nodeType":"YulAssignment","src":"36985:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"36996:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"37001:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36992:3:67"},"nodeType":"YulFunctionCall","src":"36992:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"36985:3:67"}]}]},"name":"abi_encode_t_stringliteral_645b5c892a1df9140a78ebb02f8cc9c52a58fd09049d30c9306d829f3e4067c0_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"36778:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"36786:3:67","type":""}],"src":"36644:366:67"},{"body":{"nodeType":"YulBlock","src":"37162:220:67","statements":[{"nodeType":"YulAssignment","src":"37172:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"37238:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"37243:2:67","type":"","value":"74"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"37179:58:67"},"nodeType":"YulFunctionCall","src":"37179:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"37172:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"37344:3:67"}],"functionName":{"name":"store_literal_in_memory_7cc2288f465823067474bbeb87210c75f7bfd4766f0c6b5247cfd60b08383395","nodeType":"YulIdentifier","src":"37255:88:67"},"nodeType":"YulFunctionCall","src":"37255:93:67"},"nodeType":"YulExpressionStatement","src":"37255:93:67"},{"nodeType":"YulAssignment","src":"37357:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"37368:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"37373:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37364:3:67"},"nodeType":"YulFunctionCall","src":"37364:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"37357:3:67"}]}]},"name":"abi_encode_t_stringliteral_7cc2288f465823067474bbeb87210c75f7bfd4766f0c6b5247cfd60b08383395_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"37150:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"37158:3:67","type":""}],"src":"37016:366:67"},{"body":{"nodeType":"YulBlock","src":"37552:238:67","statements":[{"nodeType":"YulAssignment","src":"37562:92:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"37646:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"37651:2:67","type":"","value":"33"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"37569:76:67"},"nodeType":"YulFunctionCall","src":"37569:85:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"37562:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"37752:3:67"}],"functionName":{"name":"store_literal_in_memory_88bb78c033779307de44be2567efd46e965cf6e46a3adeb9f4ff105453daf69a","nodeType":"YulIdentifier","src":"37663:88:67"},"nodeType":"YulFunctionCall","src":"37663:93:67"},"nodeType":"YulExpressionStatement","src":"37663:93:67"},{"nodeType":"YulAssignment","src":"37765:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"37776:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"37781:2:67","type":"","value":"33"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37772:3:67"},"nodeType":"YulFunctionCall","src":"37772:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"37765:3:67"}]}]},"name":"abi_encode_t_stringliteral_88bb78c033779307de44be2567efd46e965cf6e46a3adeb9f4ff105453daf69a_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"37540:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"37548:3:67","type":""}],"src":"37388:402:67"},{"body":{"nodeType":"YulBlock","src":"37942:220:67","statements":[{"nodeType":"YulAssignment","src":"37952:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"38018:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"38023:2:67","type":"","value":"71"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"37959:58:67"},"nodeType":"YulFunctionCall","src":"37959:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"37952:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"38124:3:67"}],"functionName":{"name":"store_literal_in_memory_8ef34c94c12bfb3b89b23a8cf5312739770812e6628f56af30b56f1ffca49ea6","nodeType":"YulIdentifier","src":"38035:88:67"},"nodeType":"YulFunctionCall","src":"38035:93:67"},"nodeType":"YulExpressionStatement","src":"38035:93:67"},{"nodeType":"YulAssignment","src":"38137:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"38148:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"38153:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38144:3:67"},"nodeType":"YulFunctionCall","src":"38144:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"38137:3:67"}]}]},"name":"abi_encode_t_stringliteral_8ef34c94c12bfb3b89b23a8cf5312739770812e6628f56af30b56f1ffca49ea6_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"37930:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"37938:3:67","type":""}],"src":"37796:366:67"},{"body":{"nodeType":"YulBlock","src":"38314:220:67","statements":[{"nodeType":"YulAssignment","src":"38324:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"38390:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"38395:2:67","type":"","value":"72"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"38331:58:67"},"nodeType":"YulFunctionCall","src":"38331:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"38324:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"38496:3:67"}],"functionName":{"name":"store_literal_in_memory_9284e9e320638704d942d2f95e83ba0c405a6a96259c3d9b83ed3e7166e675f8","nodeType":"YulIdentifier","src":"38407:88:67"},"nodeType":"YulFunctionCall","src":"38407:93:67"},"nodeType":"YulExpressionStatement","src":"38407:93:67"},{"nodeType":"YulAssignment","src":"38509:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"38520:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"38525:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38516:3:67"},"nodeType":"YulFunctionCall","src":"38516:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"38509:3:67"}]}]},"name":"abi_encode_t_stringliteral_9284e9e320638704d942d2f95e83ba0c405a6a96259c3d9b83ed3e7166e675f8_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"38302:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"38310:3:67","type":""}],"src":"38168:366:67"},{"body":{"nodeType":"YulBlock","src":"38704:238:67","statements":[{"nodeType":"YulAssignment","src":"38714:92:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"38798:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"38803:2:67","type":"","value":"26"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"38721:76:67"},"nodeType":"YulFunctionCall","src":"38721:85:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"38714:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"38904:3:67"}],"functionName":{"name":"store_literal_in_memory_974710c668dd6e16ebf5515f4f47405fcb81d0b23362b2ad9c0cf9345899315d","nodeType":"YulIdentifier","src":"38815:88:67"},"nodeType":"YulFunctionCall","src":"38815:93:67"},"nodeType":"YulExpressionStatement","src":"38815:93:67"},{"nodeType":"YulAssignment","src":"38917:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"38928:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"38933:2:67","type":"","value":"26"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38924:3:67"},"nodeType":"YulFunctionCall","src":"38924:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"38917:3:67"}]}]},"name":"abi_encode_t_stringliteral_974710c668dd6e16ebf5515f4f47405fcb81d0b23362b2ad9c0cf9345899315d_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"38692:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"38700:3:67","type":""}],"src":"38540:402:67"},{"body":{"nodeType":"YulBlock","src":"39112:238:67","statements":[{"nodeType":"YulAssignment","src":"39122:92:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"39206:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"39211:2:67","type":"","value":"36"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"39129:76:67"},"nodeType":"YulFunctionCall","src":"39129:85:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"39122:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"39312:3:67"}],"functionName":{"name":"store_literal_in_memory_987c65b83200eb14cc0e666fee30940e97d5c2fdb5e2afde3f82dca6f8a3bcb5","nodeType":"YulIdentifier","src":"39223:88:67"},"nodeType":"YulFunctionCall","src":"39223:93:67"},"nodeType":"YulExpressionStatement","src":"39223:93:67"},{"nodeType":"YulAssignment","src":"39325:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"39336:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"39341:2:67","type":"","value":"36"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39332:3:67"},"nodeType":"YulFunctionCall","src":"39332:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"39325:3:67"}]}]},"name":"abi_encode_t_stringliteral_987c65b83200eb14cc0e666fee30940e97d5c2fdb5e2afde3f82dca6f8a3bcb5_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"39100:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"39108:3:67","type":""}],"src":"38948:402:67"},{"body":{"nodeType":"YulBlock","src":"39502:220:67","statements":[{"nodeType":"YulAssignment","src":"39512:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"39578:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"39583:2:67","type":"","value":"71"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"39519:58:67"},"nodeType":"YulFunctionCall","src":"39519:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"39512:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"39684:3:67"}],"functionName":{"name":"store_literal_in_memory_992d311c2b79570206080f0d7329953f913948b02046ef1f45a3c3e0d8b8ee9d","nodeType":"YulIdentifier","src":"39595:88:67"},"nodeType":"YulFunctionCall","src":"39595:93:67"},"nodeType":"YulExpressionStatement","src":"39595:93:67"},{"nodeType":"YulAssignment","src":"39697:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"39708:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"39713:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39704:3:67"},"nodeType":"YulFunctionCall","src":"39704:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"39697:3:67"}]}]},"name":"abi_encode_t_stringliteral_992d311c2b79570206080f0d7329953f913948b02046ef1f45a3c3e0d8b8ee9d_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"39490:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"39498:3:67","type":""}],"src":"39356:366:67"},{"body":{"nodeType":"YulBlock","src":"39892:238:67","statements":[{"nodeType":"YulAssignment","src":"39902:92:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"39986:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"39991:2:67","type":"","value":"28"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"39909:76:67"},"nodeType":"YulFunctionCall","src":"39909:85:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"39902:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40092:3:67"}],"functionName":{"name":"store_literal_in_memory_9f69785389796d4b79459ae31c417869f46a1322b1e3456a4a22df0663d28a58","nodeType":"YulIdentifier","src":"40003:88:67"},"nodeType":"YulFunctionCall","src":"40003:93:67"},"nodeType":"YulExpressionStatement","src":"40003:93:67"},{"nodeType":"YulAssignment","src":"40105:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40116:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"40121:2:67","type":"","value":"28"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40112:3:67"},"nodeType":"YulFunctionCall","src":"40112:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"40105:3:67"}]}]},"name":"abi_encode_t_stringliteral_9f69785389796d4b79459ae31c417869f46a1322b1e3456a4a22df0663d28a58_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"39880:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"39888:3:67","type":""}],"src":"39728:402:67"},{"body":{"nodeType":"YulBlock","src":"40300:238:67","statements":[{"nodeType":"YulAssignment","src":"40310:92:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40394:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"40399:2:67","type":"","value":"26"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"40317:76:67"},"nodeType":"YulFunctionCall","src":"40317:85:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"40310:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40500:3:67"}],"functionName":{"name":"store_literal_in_memory_9ff666b38f4f949d93ee79bab5b7529f286ad35ae4e512164a783a0808de8dc2","nodeType":"YulIdentifier","src":"40411:88:67"},"nodeType":"YulFunctionCall","src":"40411:93:67"},"nodeType":"YulExpressionStatement","src":"40411:93:67"},{"nodeType":"YulAssignment","src":"40513:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40524:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"40529:2:67","type":"","value":"26"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40520:3:67"},"nodeType":"YulFunctionCall","src":"40520:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"40513:3:67"}]}]},"name":"abi_encode_t_stringliteral_9ff666b38f4f949d93ee79bab5b7529f286ad35ae4e512164a783a0808de8dc2_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"40288:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"40296:3:67","type":""}],"src":"40136:402:67"},{"body":{"nodeType":"YulBlock","src":"40690:220:67","statements":[{"nodeType":"YulAssignment","src":"40700:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40766:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"40771:2:67","type":"","value":"70"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"40707:58:67"},"nodeType":"YulFunctionCall","src":"40707:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"40700:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40872:3:67"}],"functionName":{"name":"store_literal_in_memory_b00a459d7874d8bc3d50440f99e23d9ac253a6ad184d53dfe2c9de75b7b30207","nodeType":"YulIdentifier","src":"40783:88:67"},"nodeType":"YulFunctionCall","src":"40783:93:67"},"nodeType":"YulExpressionStatement","src":"40783:93:67"},{"nodeType":"YulAssignment","src":"40885:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40896:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"40901:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40892:3:67"},"nodeType":"YulFunctionCall","src":"40892:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"40885:3:67"}]}]},"name":"abi_encode_t_stringliteral_b00a459d7874d8bc3d50440f99e23d9ac253a6ad184d53dfe2c9de75b7b30207_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"40678:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"40686:3:67","type":""}],"src":"40544:366:67"},{"body":{"nodeType":"YulBlock","src":"41080:238:67","statements":[{"nodeType":"YulAssignment","src":"41090:92:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"41174:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"41179:2:67","type":"","value":"29"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"41097:76:67"},"nodeType":"YulFunctionCall","src":"41097:85:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"41090:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"41280:3:67"}],"functionName":{"name":"store_literal_in_memory_c8cb671b33240e09b97d3439dbe9ccd2970edc93a4c23a9327e4a03d0ff44594","nodeType":"YulIdentifier","src":"41191:88:67"},"nodeType":"YulFunctionCall","src":"41191:93:67"},"nodeType":"YulExpressionStatement","src":"41191:93:67"},{"nodeType":"YulAssignment","src":"41293:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"41304:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"41309:2:67","type":"","value":"29"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41300:3:67"},"nodeType":"YulFunctionCall","src":"41300:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"41293:3:67"}]}]},"name":"abi_encode_t_stringliteral_c8cb671b33240e09b97d3439dbe9ccd2970edc93a4c23a9327e4a03d0ff44594_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"41068:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"41076:3:67","type":""}],"src":"40916:402:67"},{"body":{"nodeType":"YulBlock","src":"41488:238:67","statements":[{"nodeType":"YulAssignment","src":"41498:92:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"41582:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"41587:2:67","type":"","value":"10"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"41505:76:67"},"nodeType":"YulFunctionCall","src":"41505:85:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"41498:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"41688:3:67"}],"functionName":{"name":"store_literal_in_memory_cfa2b01b7f859ef10d698a8c97747b54ae5c2a99791045421f797714f2c56277","nodeType":"YulIdentifier","src":"41599:88:67"},"nodeType":"YulFunctionCall","src":"41599:93:67"},"nodeType":"YulExpressionStatement","src":"41599:93:67"},{"nodeType":"YulAssignment","src":"41701:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"41712:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"41717:2:67","type":"","value":"10"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41708:3:67"},"nodeType":"YulFunctionCall","src":"41708:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"41701:3:67"}]}]},"name":"abi_encode_t_stringliteral_cfa2b01b7f859ef10d698a8c97747b54ae5c2a99791045421f797714f2c56277_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"41476:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"41484:3:67","type":""}],"src":"41324:402:67"},{"body":{"nodeType":"YulBlock","src":"41878:220:67","statements":[{"nodeType":"YulAssignment","src":"41888:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"41954:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"41959:2:67","type":"","value":"73"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"41895:58:67"},"nodeType":"YulFunctionCall","src":"41895:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"41888:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"42060:3:67"}],"functionName":{"name":"store_literal_in_memory_d38a6c7b702dbeba4dc6ea7575dfd8e441cc0edf53099fa173ced98029f4fc5a","nodeType":"YulIdentifier","src":"41971:88:67"},"nodeType":"YulFunctionCall","src":"41971:93:67"},"nodeType":"YulExpressionStatement","src":"41971:93:67"},{"nodeType":"YulAssignment","src":"42073:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"42084:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"42089:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42080:3:67"},"nodeType":"YulFunctionCall","src":"42080:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"42073:3:67"}]}]},"name":"abi_encode_t_stringliteral_d38a6c7b702dbeba4dc6ea7575dfd8e441cc0edf53099fa173ced98029f4fc5a_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"41866:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"41874:3:67","type":""}],"src":"41732:366:67"},{"body":{"nodeType":"YulBlock","src":"42268:238:67","statements":[{"nodeType":"YulAssignment","src":"42278:92:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"42362:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"42367:2:67","type":"","value":"40"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"42285:76:67"},"nodeType":"YulFunctionCall","src":"42285:85:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"42278:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"42468:3:67"}],"functionName":{"name":"store_literal_in_memory_dbad668f9a07384d40f3edacb1152b2613ed53a278c32ba014d9d3a6d99980f2","nodeType":"YulIdentifier","src":"42379:88:67"},"nodeType":"YulFunctionCall","src":"42379:93:67"},"nodeType":"YulExpressionStatement","src":"42379:93:67"},{"nodeType":"YulAssignment","src":"42481:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"42492:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"42497:2:67","type":"","value":"40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42488:3:67"},"nodeType":"YulFunctionCall","src":"42488:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"42481:3:67"}]}]},"name":"abi_encode_t_stringliteral_dbad668f9a07384d40f3edacb1152b2613ed53a278c32ba014d9d3a6d99980f2_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"42256:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"42264:3:67","type":""}],"src":"42104:402:67"},{"body":{"nodeType":"YulBlock","src":"42676:236:67","statements":[{"nodeType":"YulAssignment","src":"42686:91:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"42770:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"42775:1:67","type":"","value":"8"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"42693:76:67"},"nodeType":"YulFunctionCall","src":"42693:84:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"42686:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"42875:3:67"}],"functionName":{"name":"store_literal_in_memory_e7c4a6c38904320dd9a75bb779cf633704c4654e0ab698509b157354859e4100","nodeType":"YulIdentifier","src":"42786:88:67"},"nodeType":"YulFunctionCall","src":"42786:93:67"},"nodeType":"YulExpressionStatement","src":"42786:93:67"},{"nodeType":"YulAssignment","src":"42888:18:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"42899:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"42904:1:67","type":"","value":"8"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42895:3:67"},"nodeType":"YulFunctionCall","src":"42895:11:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"42888:3:67"}]}]},"name":"abi_encode_t_stringliteral_e7c4a6c38904320dd9a75bb779cf633704c4654e0ab698509b157354859e4100_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"42664:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"42672:3:67","type":""}],"src":"42512:400:67"},{"body":{"nodeType":"YulBlock","src":"43082:236:67","statements":[{"nodeType":"YulAssignment","src":"43092:91:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"43176:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"43181:1:67","type":"","value":"8"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"43099:76:67"},"nodeType":"YulFunctionCall","src":"43099:84:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"43092:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"43281:3:67"}],"functionName":{"name":"store_literal_in_memory_f165ec18714352e5091dd2c6c219155ecf112e2eb5b52f8ed5193724bc1b520e","nodeType":"YulIdentifier","src":"43192:88:67"},"nodeType":"YulFunctionCall","src":"43192:93:67"},"nodeType":"YulExpressionStatement","src":"43192:93:67"},{"nodeType":"YulAssignment","src":"43294:18:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"43305:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"43310:1:67","type":"","value":"8"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43301:3:67"},"nodeType":"YulFunctionCall","src":"43301:11:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"43294:3:67"}]}]},"name":"abi_encode_t_stringliteral_f165ec18714352e5091dd2c6c219155ecf112e2eb5b52f8ed5193724bc1b520e_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"43070:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"43078:3:67","type":""}],"src":"42918:400:67"},{"body":{"nodeType":"YulBlock","src":"43496:496:67","statements":[{"nodeType":"YulVariableDeclaration","src":"43506:26:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"43522:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"43527:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43518:3:67"},"nodeType":"YulFunctionCall","src":"43518:14:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"43510:4:67","type":""}]},{"nodeType":"YulBlock","src":"43542:241:67","statements":[{"nodeType":"YulVariableDeclaration","src":"43577:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"43607:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"43614:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43603:3:67"},"nodeType":"YulFunctionCall","src":"43603:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"43597:5:67"},"nodeType":"YulFunctionCall","src":"43597:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"43581:12:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"43645:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"43650:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43641:3:67"},"nodeType":"YulFunctionCall","src":"43641:14:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"43661:4:67"},{"name":"pos","nodeType":"YulIdentifier","src":"43667:3:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"43657:3:67"},"nodeType":"YulFunctionCall","src":"43657:14:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43634:6:67"},"nodeType":"YulFunctionCall","src":"43634:38:67"},"nodeType":"YulExpressionStatement","src":"43634:38:67"},{"nodeType":"YulAssignment","src":"43685:87:67","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"43753:12:67"},{"name":"tail","nodeType":"YulIdentifier","src":"43767:4:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_library","nodeType":"YulIdentifier","src":"43693:59:67"},"nodeType":"YulFunctionCall","src":"43693:79:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"43685:4:67"}]}]},{"nodeType":"YulBlock","src":"43793:172:67","statements":[{"nodeType":"YulVariableDeclaration","src":"43830:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"43860:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"43867:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43856:3:67"},"nodeType":"YulFunctionCall","src":"43856:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"43850:5:67"},"nodeType":"YulFunctionCall","src":"43850:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"43834:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"43926:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"43944:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"43949:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43940:3:67"},"nodeType":"YulFunctionCall","src":"43940:14:67"}],"functionName":{"name":"abi_encode_t_uint32_to_t_uint32_library","nodeType":"YulIdentifier","src":"43886:39:67"},"nodeType":"YulFunctionCall","src":"43886:69:67"},"nodeType":"YulExpressionStatement","src":"43886:69:67"}]},{"nodeType":"YulAssignment","src":"43975:11:67","value":{"name":"tail","nodeType":"YulIdentifier","src":"43982:4:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"43975:3:67"}]}]},"name":"abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"43475:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"43482:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"43491:3:67","type":""}],"src":"43376:616:67"},{"body":{"nodeType":"YulBlock","src":"44172:1267:67","statements":[{"nodeType":"YulVariableDeclaration","src":"44182:26:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"44198:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"44203:4:67","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44194:3:67"},"nodeType":"YulFunctionCall","src":"44194:14:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"44186:4:67","type":""}]},{"nodeType":"YulBlock","src":"44218:273:67","statements":[{"nodeType":"YulVariableDeclaration","src":"44255:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"44285:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"44292:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44281:3:67"},"nodeType":"YulFunctionCall","src":"44281:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"44275:5:67"},"nodeType":"YulFunctionCall","src":"44275:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"44259:12:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"44323:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"44328:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44319:3:67"},"nodeType":"YulFunctionCall","src":"44319:14:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"44339:4:67"},{"name":"pos","nodeType":"YulIdentifier","src":"44345:3:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"44335:3:67"},"nodeType":"YulFunctionCall","src":"44335:14:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"44312:6:67"},"nodeType":"YulFunctionCall","src":"44312:38:67"},"nodeType":"YulExpressionStatement","src":"44312:38:67"},{"nodeType":"YulAssignment","src":"44363:117:67","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"44461:12:67"},{"name":"tail","nodeType":"YulIdentifier","src":"44475:4:67"}],"functionName":{"name":"abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr_library","nodeType":"YulIdentifier","src":"44371:89:67"},"nodeType":"YulFunctionCall","src":"44371:109:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"44363:4:67"}]}]},{"nodeType":"YulBlock","src":"44501:175:67","statements":[{"nodeType":"YulVariableDeclaration","src":"44543:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"44573:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"44580:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44569:3:67"},"nodeType":"YulFunctionCall","src":"44569:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"44563:5:67"},"nodeType":"YulFunctionCall","src":"44563:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"44547:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"44637:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"44655:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"44660:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44651:3:67"},"nodeType":"YulFunctionCall","src":"44651:14:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_library","nodeType":"YulIdentifier","src":"44599:37:67"},"nodeType":"YulFunctionCall","src":"44599:67:67"},"nodeType":"YulExpressionStatement","src":"44599:67:67"}]},{"nodeType":"YulBlock","src":"44686:173:67","statements":[{"nodeType":"YulVariableDeclaration","src":"44726:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"44756:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"44763:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44752:3:67"},"nodeType":"YulFunctionCall","src":"44752:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"44746:5:67"},"nodeType":"YulFunctionCall","src":"44746:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"44730:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"44820:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"44838:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"44843:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44834:3:67"},"nodeType":"YulFunctionCall","src":"44834:14:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_library","nodeType":"YulIdentifier","src":"44782:37:67"},"nodeType":"YulFunctionCall","src":"44782:67:67"},"nodeType":"YulExpressionStatement","src":"44782:67:67"}]},{"nodeType":"YulBlock","src":"44869:185:67","statements":[{"nodeType":"YulVariableDeclaration","src":"44921:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"44951:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"44958:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44947:3:67"},"nodeType":"YulFunctionCall","src":"44947:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"44941:5:67"},"nodeType":"YulFunctionCall","src":"44941:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"44925:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"45015:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"45033:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"45038:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45029:3:67"},"nodeType":"YulFunctionCall","src":"45029:14:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_library","nodeType":"YulIdentifier","src":"44977:37:67"},"nodeType":"YulFunctionCall","src":"44977:67:67"},"nodeType":"YulExpressionStatement","src":"44977:67:67"}]},{"nodeType":"YulBlock","src":"45064:169:67","statements":[{"nodeType":"YulVariableDeclaration","src":"45098:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"45128:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"45135:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45124:3:67"},"nodeType":"YulFunctionCall","src":"45124:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"45118:5:67"},"nodeType":"YulFunctionCall","src":"45118:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"45102:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"45194:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"45212:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"45217:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45208:3:67"},"nodeType":"YulFunctionCall","src":"45208:14:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_library","nodeType":"YulIdentifier","src":"45154:39:67"},"nodeType":"YulFunctionCall","src":"45154:69:67"},"nodeType":"YulExpressionStatement","src":"45154:69:67"}]},{"nodeType":"YulBlock","src":"45243:169:67","statements":[{"nodeType":"YulVariableDeclaration","src":"45277:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"45307:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"45314:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45303:3:67"},"nodeType":"YulFunctionCall","src":"45303:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"45297:5:67"},"nodeType":"YulFunctionCall","src":"45297:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"45281:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"45373:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"45391:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"45396:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45387:3:67"},"nodeType":"YulFunctionCall","src":"45387:14:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_library","nodeType":"YulIdentifier","src":"45333:39:67"},"nodeType":"YulFunctionCall","src":"45333:69:67"},"nodeType":"YulExpressionStatement","src":"45333:69:67"}]},{"nodeType":"YulAssignment","src":"45422:11:67","value":{"name":"tail","nodeType":"YulIdentifier","src":"45429:4:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"45422:3:67"}]}]},"name":"abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"44151:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"44158:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"44167:3:67","type":""}],"src":"44046:1393:67"},{"body":{"nodeType":"YulBlock","src":"45609:1267:67","statements":[{"nodeType":"YulVariableDeclaration","src":"45619:26:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"45635:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"45640:4:67","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45631:3:67"},"nodeType":"YulFunctionCall","src":"45631:14:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"45623:4:67","type":""}]},{"nodeType":"YulBlock","src":"45655:273:67","statements":[{"nodeType":"YulVariableDeclaration","src":"45692:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"45722:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"45729:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45718:3:67"},"nodeType":"YulFunctionCall","src":"45718:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"45712:5:67"},"nodeType":"YulFunctionCall","src":"45712:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"45696:12:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"45760:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"45765:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45756:3:67"},"nodeType":"YulFunctionCall","src":"45756:14:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"45776:4:67"},{"name":"pos","nodeType":"YulIdentifier","src":"45782:3:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"45772:3:67"},"nodeType":"YulFunctionCall","src":"45772:14:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"45749:6:67"},"nodeType":"YulFunctionCall","src":"45749:38:67"},"nodeType":"YulExpressionStatement","src":"45749:38:67"},{"nodeType":"YulAssignment","src":"45800:117:67","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"45898:12:67"},{"name":"tail","nodeType":"YulIdentifier","src":"45912:4:67"}],"functionName":{"name":"abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr_library","nodeType":"YulIdentifier","src":"45808:89:67"},"nodeType":"YulFunctionCall","src":"45808:109:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"45800:4:67"}]}]},{"nodeType":"YulBlock","src":"45938:175:67","statements":[{"nodeType":"YulVariableDeclaration","src":"45980:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"46010:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"46017:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46006:3:67"},"nodeType":"YulFunctionCall","src":"46006:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"46000:5:67"},"nodeType":"YulFunctionCall","src":"46000:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"45984:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"46074:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"46092:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"46097:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46088:3:67"},"nodeType":"YulFunctionCall","src":"46088:14:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_library","nodeType":"YulIdentifier","src":"46036:37:67"},"nodeType":"YulFunctionCall","src":"46036:67:67"},"nodeType":"YulExpressionStatement","src":"46036:67:67"}]},{"nodeType":"YulBlock","src":"46123:173:67","statements":[{"nodeType":"YulVariableDeclaration","src":"46163:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"46193:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"46200:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46189:3:67"},"nodeType":"YulFunctionCall","src":"46189:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"46183:5:67"},"nodeType":"YulFunctionCall","src":"46183:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"46167:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"46257:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"46275:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"46280:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46271:3:67"},"nodeType":"YulFunctionCall","src":"46271:14:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_library","nodeType":"YulIdentifier","src":"46219:37:67"},"nodeType":"YulFunctionCall","src":"46219:67:67"},"nodeType":"YulExpressionStatement","src":"46219:67:67"}]},{"nodeType":"YulBlock","src":"46306:185:67","statements":[{"nodeType":"YulVariableDeclaration","src":"46358:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"46388:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"46395:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46384:3:67"},"nodeType":"YulFunctionCall","src":"46384:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"46378:5:67"},"nodeType":"YulFunctionCall","src":"46378:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"46362:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"46452:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"46470:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"46475:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46466:3:67"},"nodeType":"YulFunctionCall","src":"46466:14:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_library","nodeType":"YulIdentifier","src":"46414:37:67"},"nodeType":"YulFunctionCall","src":"46414:67:67"},"nodeType":"YulExpressionStatement","src":"46414:67:67"}]},{"nodeType":"YulBlock","src":"46501:169:67","statements":[{"nodeType":"YulVariableDeclaration","src":"46535:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"46565:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"46572:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46561:3:67"},"nodeType":"YulFunctionCall","src":"46561:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"46555:5:67"},"nodeType":"YulFunctionCall","src":"46555:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"46539:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"46631:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"46649:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"46654:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46645:3:67"},"nodeType":"YulFunctionCall","src":"46645:14:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_library","nodeType":"YulIdentifier","src":"46591:39:67"},"nodeType":"YulFunctionCall","src":"46591:69:67"},"nodeType":"YulExpressionStatement","src":"46591:69:67"}]},{"nodeType":"YulBlock","src":"46680:169:67","statements":[{"nodeType":"YulVariableDeclaration","src":"46714:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"46744:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"46751:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46740:3:67"},"nodeType":"YulFunctionCall","src":"46740:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"46734:5:67"},"nodeType":"YulFunctionCall","src":"46734:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"46718:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"46810:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"46828:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"46833:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46824:3:67"},"nodeType":"YulFunctionCall","src":"46824:14:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_library","nodeType":"YulIdentifier","src":"46770:39:67"},"nodeType":"YulFunctionCall","src":"46770:69:67"},"nodeType":"YulExpressionStatement","src":"46770:69:67"}]},{"nodeType":"YulAssignment","src":"46859:11:67","value":{"name":"tail","nodeType":"YulIdentifier","src":"46866:4:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"46859:3:67"}]}]},"name":"abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"45588:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"45595:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"45604:3:67","type":""}],"src":"45493:1383:67"},{"body":{"nodeType":"YulBlock","src":"47064:520:67","statements":[{"nodeType":"YulVariableDeclaration","src":"47074:26:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"47090:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"47095:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"47086:3:67"},"nodeType":"YulFunctionCall","src":"47086:14:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"47078:4:67","type":""}]},{"nodeType":"YulBlock","src":"47110:169:67","statements":[{"nodeType":"YulVariableDeclaration","src":"47148:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"47178:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"47185:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"47174:3:67"},"nodeType":"YulFunctionCall","src":"47174:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"47168:5:67"},"nodeType":"YulFunctionCall","src":"47168:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"47152:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"47240:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"47258:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"47263:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"47254:3:67"},"nodeType":"YulFunctionCall","src":"47254:14:67"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_library","nodeType":"YulIdentifier","src":"47204:35:67"},"nodeType":"YulFunctionCall","src":"47204:65:67"},"nodeType":"YulExpressionStatement","src":"47204:65:67"}]},{"nodeType":"YulBlock","src":"47289:268:67","statements":[{"nodeType":"YulVariableDeclaration","src":"47325:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"47355:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"47362:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"47351:3:67"},"nodeType":"YulFunctionCall","src":"47351:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"47345:5:67"},"nodeType":"YulFunctionCall","src":"47345:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"47329:12:67","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"47393:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"47398:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"47389:3:67"},"nodeType":"YulFunctionCall","src":"47389:14:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"47409:4:67"},{"name":"pos","nodeType":"YulIdentifier","src":"47415:3:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"47405:3:67"},"nodeType":"YulFunctionCall","src":"47405:14:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"47382:6:67"},"nodeType":"YulFunctionCall","src":"47382:38:67"},"nodeType":"YulExpressionStatement","src":"47382:38:67"},{"nodeType":"YulAssignment","src":"47433:113:67","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"47527:12:67"},{"name":"tail","nodeType":"YulIdentifier","src":"47541:4:67"}],"functionName":{"name":"abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_library","nodeType":"YulIdentifier","src":"47441:85:67"},"nodeType":"YulFunctionCall","src":"47441:105:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"47433:4:67"}]}]},{"nodeType":"YulAssignment","src":"47567:11:67","value":{"name":"tail","nodeType":"YulIdentifier","src":"47574:4:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"47567:3:67"}]}]},"name":"abi_encode_t_struct$_Result_$8023_memory_ptr_to_t_struct$_Result_$8023_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"47043:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"47050:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"47059:3:67","type":""}],"src":"46934:650:67"},{"body":{"nodeType":"YulBlock","src":"47651:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"47668:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"47690:5:67"}],"functionName":{"name":"cleanup_t_uint32","nodeType":"YulIdentifier","src":"47673:16:67"},"nodeType":"YulFunctionCall","src":"47673:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"47661:6:67"},"nodeType":"YulFunctionCall","src":"47661:36:67"},"nodeType":"YulExpressionStatement","src":"47661:36:67"}]},"name":"abi_encode_t_uint32_to_t_uint32_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"47639:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"47646:3:67","type":""}],"src":"47590:113:67"},{"body":{"nodeType":"YulBlock","src":"47780:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"47797:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"47819:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"47802:16:67"},"nodeType":"YulFunctionCall","src":"47802:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"47790:6:67"},"nodeType":"YulFunctionCall","src":"47790:36:67"},"nodeType":"YulExpressionStatement","src":"47790:36:67"}]},"name":"abi_encode_t_uint64_to_t_uint64_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"47768:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"47775:3:67","type":""}],"src":"47709:123:67"},{"body":{"nodeType":"YulBlock","src":"47899:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"47916:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"47938:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"47921:16:67"},"nodeType":"YulFunctionCall","src":"47921:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"47909:6:67"},"nodeType":"YulFunctionCall","src":"47909:36:67"},"nodeType":"YulExpressionStatement","src":"47909:36:67"}]},"name":"abi_encode_t_uint64_to_t_uint64_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"47887:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"47894:3:67","type":""}],"src":"47838:113:67"},{"body":{"nodeType":"YulBlock","src":"48016:51:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"48033:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"48054:5:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"48038:15:67"},"nodeType":"YulFunctionCall","src":"48038:22:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"48026:6:67"},"nodeType":"YulFunctionCall","src":"48026:35:67"},"nodeType":"YulExpressionStatement","src":"48026:35:67"}]},"name":"abi_encode_t_uint8_to_t_uint8_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"48004:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"48011:3:67","type":""}],"src":"47957:110:67"},{"body":{"nodeType":"YulBlock","src":"48411:469:67","statements":[{"nodeType":"YulAssignment","src":"48422:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"48573:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_1592131424a8311c1140099f1562782fc79cb4437b828b679e0e77389ade83e5_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"48429:142:67"},"nodeType":"YulFunctionCall","src":"48429:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"48422:3:67"}]},{"nodeType":"YulAssignment","src":"48587:102:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"48676:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"48685:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"48594:81:67"},"nodeType":"YulFunctionCall","src":"48594:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"48587:3:67"}]},{"nodeType":"YulAssignment","src":"48699:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"48850:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"48706:142:67"},"nodeType":"YulFunctionCall","src":"48706:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"48699:3:67"}]},{"nodeType":"YulAssignment","src":"48864:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"48871:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"48864:3:67"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_1592131424a8311c1140099f1562782fc79cb4437b828b679e0e77389ade83e5_t_string_memory_ptr_t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"48390:3:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"48396:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"48407:3:67","type":""}],"src":"48073:807:67"},{"body":{"nodeType":"YulBlock","src":"49671:1300:67","statements":[{"nodeType":"YulAssignment","src":"49682:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"49833:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_20219570d77827fb39a2615f42463838b5337135103169e6edf382cc9747ecb0_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"49689:142:67"},"nodeType":"YulFunctionCall","src":"49689:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"49682:3:67"}]},{"nodeType":"YulAssignment","src":"49847:102:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"49936:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"49945:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"49854:81:67"},"nodeType":"YulFunctionCall","src":"49854:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"49847:3:67"}]},{"nodeType":"YulAssignment","src":"49959:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"50110:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"49966:142:67"},"nodeType":"YulFunctionCall","src":"49966:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"49959:3:67"}]},{"nodeType":"YulAssignment","src":"50124:102:67","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"50213:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"50222:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"50131:81:67"},"nodeType":"YulFunctionCall","src":"50131:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"50124:3:67"}]},{"nodeType":"YulAssignment","src":"50236:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"50387:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"50243:142:67"},"nodeType":"YulFunctionCall","src":"50243:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"50236:3:67"}]},{"nodeType":"YulAssignment","src":"50401:102:67","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"50490:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"50499:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"50408:81:67"},"nodeType":"YulFunctionCall","src":"50408:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"50401:3:67"}]},{"nodeType":"YulAssignment","src":"50513:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"50664:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"50520:142:67"},"nodeType":"YulFunctionCall","src":"50520:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"50513:3:67"}]},{"nodeType":"YulAssignment","src":"50678:102:67","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"50767:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"50776:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"50685:81:67"},"nodeType":"YulFunctionCall","src":"50685:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"50678:3:67"}]},{"nodeType":"YulAssignment","src":"50790:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"50941:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"50797:142:67"},"nodeType":"YulFunctionCall","src":"50797:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"50790:3:67"}]},{"nodeType":"YulAssignment","src":"50955:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"50962:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"50955:3:67"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_20219570d77827fb39a2615f42463838b5337135103169e6edf382cc9747ecb0_t_string_memory_ptr_t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5_t_string_memory_ptr_t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b_t_string_memory_ptr_t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b_t_string_memory_ptr_t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"49626:3:67","type":""},{"name":"value3","nodeType":"YulTypedName","src":"49632:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"49640:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"49648:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"49656:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"49667:3:67","type":""}],"src":"48886:2085:67"},{"body":{"nodeType":"YulBlock","src":"51762:1300:67","statements":[{"nodeType":"YulAssignment","src":"51773:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"51924:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_3901bb2e94f0903cb8c3d04caa6989483e39249a328a7790ca4b4dfad12665a7_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"51780:142:67"},"nodeType":"YulFunctionCall","src":"51780:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"51773:3:67"}]},{"nodeType":"YulAssignment","src":"51938:102:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"52027:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"52036:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"51945:81:67"},"nodeType":"YulFunctionCall","src":"51945:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"51938:3:67"}]},{"nodeType":"YulAssignment","src":"52050:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"52201:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"52057:142:67"},"nodeType":"YulFunctionCall","src":"52057:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"52050:3:67"}]},{"nodeType":"YulAssignment","src":"52215:102:67","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"52304:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"52313:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"52222:81:67"},"nodeType":"YulFunctionCall","src":"52222:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"52215:3:67"}]},{"nodeType":"YulAssignment","src":"52327:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"52478:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"52334:142:67"},"nodeType":"YulFunctionCall","src":"52334:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"52327:3:67"}]},{"nodeType":"YulAssignment","src":"52492:102:67","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"52581:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"52590:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"52499:81:67"},"nodeType":"YulFunctionCall","src":"52499:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"52492:3:67"}]},{"nodeType":"YulAssignment","src":"52604:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"52755:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"52611:142:67"},"nodeType":"YulFunctionCall","src":"52611:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"52604:3:67"}]},{"nodeType":"YulAssignment","src":"52769:102:67","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"52858:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"52867:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"52776:81:67"},"nodeType":"YulFunctionCall","src":"52776:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"52769:3:67"}]},{"nodeType":"YulAssignment","src":"52881:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"53032:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_0fdce60631188ec72ee63fc1361d0a4c4be32af3243f9d750ff56d3026640c5d_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"52888:142:67"},"nodeType":"YulFunctionCall","src":"52888:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"52881:3:67"}]},{"nodeType":"YulAssignment","src":"53046:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"53053:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"53046:3:67"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_3901bb2e94f0903cb8c3d04caa6989483e39249a328a7790ca4b4dfad12665a7_t_string_memory_ptr_t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5_t_string_memory_ptr_t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b_t_string_memory_ptr_t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b_t_string_memory_ptr_t_stringliteral_0fdce60631188ec72ee63fc1361d0a4c4be32af3243f9d750ff56d3026640c5d__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"51717:3:67","type":""},{"name":"value3","nodeType":"YulTypedName","src":"51723:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"51731:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"51739:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"51747:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"51758:3:67","type":""}],"src":"50977:2085:67"},{"body":{"nodeType":"YulBlock","src":"53406:469:67","statements":[{"nodeType":"YulAssignment","src":"53417:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"53568:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_5bfa9355c289a68288e465573f0cee9515462e9a79ed698ecc1d95d0eccfb916_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"53424:142:67"},"nodeType":"YulFunctionCall","src":"53424:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"53417:3:67"}]},{"nodeType":"YulAssignment","src":"53582:102:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"53671:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"53680:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"53589:81:67"},"nodeType":"YulFunctionCall","src":"53589:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"53582:3:67"}]},{"nodeType":"YulAssignment","src":"53694:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"53845:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_38aad4b191165ea835c2dd674387b75fe0bd732e02a4f0a28df91297da890cb1_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"53701:142:67"},"nodeType":"YulFunctionCall","src":"53701:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"53694:3:67"}]},{"nodeType":"YulAssignment","src":"53859:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"53866:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"53859:3:67"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_5bfa9355c289a68288e465573f0cee9515462e9a79ed698ecc1d95d0eccfb916_t_string_memory_ptr_t_stringliteral_38aad4b191165ea835c2dd674387b75fe0bd732e02a4f0a28df91297da890cb1__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"53385:3:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"53391:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"53402:3:67","type":""}],"src":"53068:807:67"},{"body":{"nodeType":"YulBlock","src":"54219:469:67","statements":[{"nodeType":"YulAssignment","src":"54230:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"54381:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_974710c668dd6e16ebf5515f4f47405fcb81d0b23362b2ad9c0cf9345899315d_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"54237:142:67"},"nodeType":"YulFunctionCall","src":"54237:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"54230:3:67"}]},{"nodeType":"YulAssignment","src":"54395:102:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"54484:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"54493:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"54402:81:67"},"nodeType":"YulFunctionCall","src":"54402:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"54395:3:67"}]},{"nodeType":"YulAssignment","src":"54507:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"54658:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_9ff666b38f4f949d93ee79bab5b7529f286ad35ae4e512164a783a0808de8dc2_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"54514:142:67"},"nodeType":"YulFunctionCall","src":"54514:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"54507:3:67"}]},{"nodeType":"YulAssignment","src":"54672:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"54679:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"54672:3:67"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_974710c668dd6e16ebf5515f4f47405fcb81d0b23362b2ad9c0cf9345899315d_t_string_memory_ptr_t_stringliteral_9ff666b38f4f949d93ee79bab5b7529f286ad35ae4e512164a783a0808de8dc2__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"54198:3:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"54204:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"54215:3:67","type":""}],"src":"53881:807:67"},{"body":{"nodeType":"YulBlock","src":"55032:469:67","statements":[{"nodeType":"YulAssignment","src":"55043:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"55194:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_974710c668dd6e16ebf5515f4f47405fcb81d0b23362b2ad9c0cf9345899315d_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"55050:142:67"},"nodeType":"YulFunctionCall","src":"55050:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"55043:3:67"}]},{"nodeType":"YulAssignment","src":"55208:102:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"55297:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"55306:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"55215:81:67"},"nodeType":"YulFunctionCall","src":"55215:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"55208:3:67"}]},{"nodeType":"YulAssignment","src":"55320:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"55471:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_c8cb671b33240e09b97d3439dbe9ccd2970edc93a4c23a9327e4a03d0ff44594_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"55327:142:67"},"nodeType":"YulFunctionCall","src":"55327:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"55320:3:67"}]},{"nodeType":"YulAssignment","src":"55485:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"55492:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"55485:3:67"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_974710c668dd6e16ebf5515f4f47405fcb81d0b23362b2ad9c0cf9345899315d_t_string_memory_ptr_t_stringliteral_c8cb671b33240e09b97d3439dbe9ccd2970edc93a4c23a9327e4a03d0ff44594__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"55011:3:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"55017:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"55028:3:67","type":""}],"src":"54694:807:67"},{"body":{"nodeType":"YulBlock","src":"56292:1300:67","statements":[{"nodeType":"YulAssignment","src":"56303:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"56454:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_987c65b83200eb14cc0e666fee30940e97d5c2fdb5e2afde3f82dca6f8a3bcb5_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"56310:142:67"},"nodeType":"YulFunctionCall","src":"56310:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"56303:3:67"}]},{"nodeType":"YulAssignment","src":"56468:102:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"56557:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"56566:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"56475:81:67"},"nodeType":"YulFunctionCall","src":"56475:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"56468:3:67"}]},{"nodeType":"YulAssignment","src":"56580:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"56731:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"56587:142:67"},"nodeType":"YulFunctionCall","src":"56587:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"56580:3:67"}]},{"nodeType":"YulAssignment","src":"56745:102:67","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"56834:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"56843:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"56752:81:67"},"nodeType":"YulFunctionCall","src":"56752:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"56745:3:67"}]},{"nodeType":"YulAssignment","src":"56857:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"57008:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"56864:142:67"},"nodeType":"YulFunctionCall","src":"56864:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"56857:3:67"}]},{"nodeType":"YulAssignment","src":"57022:102:67","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"57111:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"57120:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"57029:81:67"},"nodeType":"YulFunctionCall","src":"57029:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"57022:3:67"}]},{"nodeType":"YulAssignment","src":"57134:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"57285:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"57141:142:67"},"nodeType":"YulFunctionCall","src":"57141:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"57134:3:67"}]},{"nodeType":"YulAssignment","src":"57299:102:67","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"57388:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"57397:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"57306:81:67"},"nodeType":"YulFunctionCall","src":"57306:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"57299:3:67"}]},{"nodeType":"YulAssignment","src":"57411:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"57562:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"57418:142:67"},"nodeType":"YulFunctionCall","src":"57418:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"57411:3:67"}]},{"nodeType":"YulAssignment","src":"57576:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"57583:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"57576:3:67"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_987c65b83200eb14cc0e666fee30940e97d5c2fdb5e2afde3f82dca6f8a3bcb5_t_string_memory_ptr_t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5_t_string_memory_ptr_t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b_t_string_memory_ptr_t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b_t_string_memory_ptr_t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"56247:3:67","type":""},{"name":"value3","nodeType":"YulTypedName","src":"56253:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"56261:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"56269:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"56277:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"56288:3:67","type":""}],"src":"55507:2085:67"},{"body":{"nodeType":"YulBlock","src":"58383:1300:67","statements":[{"nodeType":"YulAssignment","src":"58394:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"58545:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_9f69785389796d4b79459ae31c417869f46a1322b1e3456a4a22df0663d28a58_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"58401:142:67"},"nodeType":"YulFunctionCall","src":"58401:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"58394:3:67"}]},{"nodeType":"YulAssignment","src":"58559:102:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"58648:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"58657:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"58566:81:67"},"nodeType":"YulFunctionCall","src":"58566:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"58559:3:67"}]},{"nodeType":"YulAssignment","src":"58671:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"58822:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"58678:142:67"},"nodeType":"YulFunctionCall","src":"58678:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"58671:3:67"}]},{"nodeType":"YulAssignment","src":"58836:102:67","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"58925:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"58934:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"58843:81:67"},"nodeType":"YulFunctionCall","src":"58843:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"58836:3:67"}]},{"nodeType":"YulAssignment","src":"58948:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"59099:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"58955:142:67"},"nodeType":"YulFunctionCall","src":"58955:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"58948:3:67"}]},{"nodeType":"YulAssignment","src":"59113:102:67","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"59202:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"59211:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"59120:81:67"},"nodeType":"YulFunctionCall","src":"59120:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"59113:3:67"}]},{"nodeType":"YulAssignment","src":"59225:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"59376:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"59232:142:67"},"nodeType":"YulFunctionCall","src":"59232:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"59225:3:67"}]},{"nodeType":"YulAssignment","src":"59390:102:67","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"59479:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"59488:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"59397:81:67"},"nodeType":"YulFunctionCall","src":"59397:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"59390:3:67"}]},{"nodeType":"YulAssignment","src":"59502:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"59653:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"59509:142:67"},"nodeType":"YulFunctionCall","src":"59509:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"59502:3:67"}]},{"nodeType":"YulAssignment","src":"59667:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"59674:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"59667:3:67"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_9f69785389796d4b79459ae31c417869f46a1322b1e3456a4a22df0663d28a58_t_string_memory_ptr_t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5_t_string_memory_ptr_t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b_t_string_memory_ptr_t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b_t_string_memory_ptr_t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"58338:3:67","type":""},{"name":"value3","nodeType":"YulTypedName","src":"58344:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"58352:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"58360:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"58368:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"58379:3:67","type":""}],"src":"57598:2085:67"},{"body":{"nodeType":"YulBlock","src":"60027:469:67","statements":[{"nodeType":"YulAssignment","src":"60038:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"60189:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_dbad668f9a07384d40f3edacb1152b2613ed53a278c32ba014d9d3a6d99980f2_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"60045:142:67"},"nodeType":"YulFunctionCall","src":"60045:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"60038:3:67"}]},{"nodeType":"YulAssignment","src":"60203:102:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"60292:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"60301:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"60210:81:67"},"nodeType":"YulFunctionCall","src":"60210:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"60203:3:67"}]},{"nodeType":"YulAssignment","src":"60315:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"60466:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"60322:142:67"},"nodeType":"YulFunctionCall","src":"60322:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"60315:3:67"}]},{"nodeType":"YulAssignment","src":"60480:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"60487:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"60480:3:67"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_dbad668f9a07384d40f3edacb1152b2613ed53a278c32ba014d9d3a6d99980f2_t_string_memory_ptr_t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"60006:3:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"60012:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"60023:3:67","type":""}],"src":"59689:807:67"},{"body":{"nodeType":"YulBlock","src":"61138:1023:67","statements":[{"nodeType":"YulAssignment","src":"61149:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"61300:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_e7c4a6c38904320dd9a75bb779cf633704c4654e0ab698509b157354859e4100_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"61156:142:67"},"nodeType":"YulFunctionCall","src":"61156:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"61149:3:67"}]},{"nodeType":"YulAssignment","src":"61314:102:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"61403:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"61412:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"61321:81:67"},"nodeType":"YulFunctionCall","src":"61321:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"61314:3:67"}]},{"nodeType":"YulAssignment","src":"61426:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"61577:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_cfa2b01b7f859ef10d698a8c97747b54ae5c2a99791045421f797714f2c56277_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"61433:142:67"},"nodeType":"YulFunctionCall","src":"61433:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"61426:3:67"}]},{"nodeType":"YulAssignment","src":"61591:102:67","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"61680:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"61689:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"61598:81:67"},"nodeType":"YulFunctionCall","src":"61598:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"61591:3:67"}]},{"nodeType":"YulAssignment","src":"61703:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"61854:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_88bb78c033779307de44be2567efd46e965cf6e46a3adeb9f4ff105453daf69a_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"61710:142:67"},"nodeType":"YulFunctionCall","src":"61710:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"61703:3:67"}]},{"nodeType":"YulAssignment","src":"61868:102:67","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"61957:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"61966:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"61875:81:67"},"nodeType":"YulFunctionCall","src":"61875:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"61868:3:67"}]},{"nodeType":"YulAssignment","src":"61980:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"62131:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"61987:142:67"},"nodeType":"YulFunctionCall","src":"61987:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"61980:3:67"}]},{"nodeType":"YulAssignment","src":"62145:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"62152:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"62145:3:67"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_e7c4a6c38904320dd9a75bb779cf633704c4654e0ab698509b157354859e4100_t_string_memory_ptr_t_stringliteral_cfa2b01b7f859ef10d698a8c97747b54ae5c2a99791045421f797714f2c56277_t_string_memory_ptr_t_stringliteral_88bb78c033779307de44be2567efd46e965cf6e46a3adeb9f4ff105453daf69a_t_string_memory_ptr_t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"61101:3:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"61107:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"61115:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"61123:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"61134:3:67","type":""}],"src":"60502:1659:67"},{"body":{"nodeType":"YulBlock","src":"62649:805:67","statements":[{"nodeType":"YulAssignment","src":"62660:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"62811:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_f165ec18714352e5091dd2c6c219155ecf112e2eb5b52f8ed5193724bc1b520e_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"62667:142:67"},"nodeType":"YulFunctionCall","src":"62667:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"62660:3:67"}]},{"nodeType":"YulAssignment","src":"62825:102:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"62914:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"62923:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"62832:81:67"},"nodeType":"YulFunctionCall","src":"62832:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"62825:3:67"}]},{"nodeType":"YulAssignment","src":"62937:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"63088:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_06fad0051889b339312d16eb4a22ce922cb939c7a74f3a087fb28315293ae2e1_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"62944:142:67"},"nodeType":"YulFunctionCall","src":"62944:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"62937:3:67"}]},{"nodeType":"YulAssignment","src":"63102:102:67","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"63191:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"63200:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"63109:81:67"},"nodeType":"YulFunctionCall","src":"63109:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"63102:3:67"}]},{"nodeType":"YulAssignment","src":"63214:102:67","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"63303:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"63312:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"63221:81:67"},"nodeType":"YulFunctionCall","src":"63221:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"63214:3:67"}]},{"nodeType":"YulAssignment","src":"63326:102:67","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"63415:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"63424:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"63333:81:67"},"nodeType":"YulFunctionCall","src":"63333:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"63326:3:67"}]},{"nodeType":"YulAssignment","src":"63438:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"63445:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"63438:3:67"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_f165ec18714352e5091dd2c6c219155ecf112e2eb5b52f8ed5193724bc1b520e_t_string_memory_ptr_t_stringliteral_06fad0051889b339312d16eb4a22ce922cb939c7a74f3a087fb28315293ae2e1_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"62604:3:67","type":""},{"name":"value3","nodeType":"YulTypedName","src":"62610:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"62618:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"62626:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"62634:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"62645:3:67","type":""}],"src":"62167:1287:67"},{"body":{"nodeType":"YulBlock","src":"63798:469:67","statements":[{"nodeType":"YulAssignment","src":"63809:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"63960:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_f165ec18714352e5091dd2c6c219155ecf112e2eb5b52f8ed5193724bc1b520e_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"63816:142:67"},"nodeType":"YulFunctionCall","src":"63816:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"63809:3:67"}]},{"nodeType":"YulAssignment","src":"63974:102:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"64063:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"64072:3:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"63981:81:67"},"nodeType":"YulFunctionCall","src":"63981:95:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"63974:3:67"}]},{"nodeType":"YulAssignment","src":"64086:155:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"64237:3:67"}],"functionName":{"name":"abi_encode_t_stringliteral_4ec62780e6e71ad9c36f6f1c8b5d02daa88788dbb872d9876464dbb3ea85fc66_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"64093:142:67"},"nodeType":"YulFunctionCall","src":"64093:148:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"64086:3:67"}]},{"nodeType":"YulAssignment","src":"64251:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"64258:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"64251:3:67"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_f165ec18714352e5091dd2c6c219155ecf112e2eb5b52f8ed5193724bc1b520e_t_string_memory_ptr_t_stringliteral_4ec62780e6e71ad9c36f6f1c8b5d02daa88788dbb872d9876464dbb3ea85fc66__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"63777:3:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"63783:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"63794:3:67","type":""}],"src":"63460:807:67"},{"body":{"nodeType":"YulBlock","src":"64427:231:67","statements":[{"nodeType":"YulAssignment","src":"64437:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"64449:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"64460:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"64445:3:67"},"nodeType":"YulFunctionCall","src":"64445:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"64437:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"64484:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"64495:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"64480:3:67"},"nodeType":"YulFunctionCall","src":"64480:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"64503:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"64509:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"64499:3:67"},"nodeType":"YulFunctionCall","src":"64499:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"64473:6:67"},"nodeType":"YulFunctionCall","src":"64473:47:67"},"nodeType":"YulExpressionStatement","src":"64473:47:67"},{"nodeType":"YulAssignment","src":"64529:122:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"64637:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"64646:4:67"}],"functionName":{"name":"abi_encode_t_array$_t_int128_$dyn_memory_ptr_to_t_array$_t_int128_$dyn_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"64537:99:67"},"nodeType":"YulFunctionCall","src":"64537:114:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"64529:4:67"}]}]},"name":"abi_encode_tuple_t_array$_t_int128_$dyn_memory_ptr__to_t_array$_t_int128_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"64399:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"64411:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"64422:4:67","type":""}],"src":"64273:385:67"},{"body":{"nodeType":"YulBlock","src":"64816:229:67","statements":[{"nodeType":"YulAssignment","src":"64826:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"64838:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"64849:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"64834:3:67"},"nodeType":"YulFunctionCall","src":"64834:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"64826:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"64873:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"64884:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"64869:3:67"},"nodeType":"YulFunctionCall","src":"64869:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"64892:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"64898:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"64888:3:67"},"nodeType":"YulFunctionCall","src":"64888:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"64862:6:67"},"nodeType":"YulFunctionCall","src":"64862:47:67"},"nodeType":"YulExpressionStatement","src":"64862:47:67"},{"nodeType":"YulAssignment","src":"64918:120:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"65024:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"65033:4:67"}],"functionName":{"name":"abi_encode_t_array$_t_int32_$dyn_memory_ptr_to_t_array$_t_int32_$dyn_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"64926:97:67"},"nodeType":"YulFunctionCall","src":"64926:112:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"64918:4:67"}]}]},"name":"abi_encode_tuple_t_array$_t_int32_$dyn_memory_ptr__to_t_array$_t_int32_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"64788:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"64800:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"64811:4:67","type":""}],"src":"64664:381:67"},{"body":{"nodeType":"YulBlock","src":"65227:253:67","statements":[{"nodeType":"YulAssignment","src":"65237:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"65249:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"65260:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"65245:3:67"},"nodeType":"YulFunctionCall","src":"65245:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"65237:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"65284:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"65295:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"65280:3:67"},"nodeType":"YulFunctionCall","src":"65280:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"65303:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"65309:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"65299:3:67"},"nodeType":"YulFunctionCall","src":"65299:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"65273:6:67"},"nodeType":"YulFunctionCall","src":"65273:47:67"},"nodeType":"YulExpressionStatement","src":"65273:47:67"},{"nodeType":"YulAssignment","src":"65329:144:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"65459:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"65468:4:67"}],"functionName":{"name":"abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"65337:121:67"},"nodeType":"YulFunctionCall","src":"65337:136:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"65329:4:67"}]}]},"name":"abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"65199:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"65211:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"65222:4:67","type":""}],"src":"65051:429:67"},{"body":{"nodeType":"YulBlock","src":"65640:231:67","statements":[{"nodeType":"YulAssignment","src":"65650:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"65662:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"65673:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"65658:3:67"},"nodeType":"YulFunctionCall","src":"65658:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"65650:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"65697:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"65708:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"65693:3:67"},"nodeType":"YulFunctionCall","src":"65693:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"65716:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"65722:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"65712:3:67"},"nodeType":"YulFunctionCall","src":"65712:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"65686:6:67"},"nodeType":"YulFunctionCall","src":"65686:47:67"},"nodeType":"YulExpressionStatement","src":"65686:47:67"},{"nodeType":"YulAssignment","src":"65742:122:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"65850:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"65859:4:67"}],"functionName":{"name":"abi_encode_t_array$_t_uint64_$dyn_memory_ptr_to_t_array$_t_uint64_$dyn_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"65750:99:67"},"nodeType":"YulFunctionCall","src":"65750:114:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"65742:4:67"}]}]},"name":"abi_encode_tuple_t_array$_t_uint64_$dyn_memory_ptr__to_t_array$_t_uint64_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"65612:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"65624:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"65635:4:67","type":""}],"src":"65486:385:67"},{"body":{"nodeType":"YulBlock","src":"65977:126:67","statements":[{"nodeType":"YulAssignment","src":"65987:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"65999:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"66010:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"65995:3:67"},"nodeType":"YulFunctionCall","src":"65995:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"65987:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"66069:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"66082:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"66093:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"66078:3:67"},"nodeType":"YulFunctionCall","src":"66078:17:67"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack_library","nodeType":"YulIdentifier","src":"66023:45:67"},"nodeType":"YulFunctionCall","src":"66023:73:67"},"nodeType":"YulExpressionStatement","src":"66023:73:67"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"65949:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"65961:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"65972:4:67","type":""}],"src":"65877:226:67"},{"body":{"nodeType":"YulBlock","src":"66215:132:67","statements":[{"nodeType":"YulAssignment","src":"66225:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"66237:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"66248:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"66233:3:67"},"nodeType":"YulFunctionCall","src":"66233:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"66225:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"66313:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"66326:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"66337:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"66322:3:67"},"nodeType":"YulFunctionCall","src":"66322:17:67"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack_library","nodeType":"YulIdentifier","src":"66261:51:67"},"nodeType":"YulFunctionCall","src":"66261:79:67"},"nodeType":"YulExpressionStatement","src":"66261:79:67"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"66187:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"66199:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"66210:4:67","type":""}],"src":"66109:238:67"},{"body":{"nodeType":"YulBlock","src":"66477:201:67","statements":[{"nodeType":"YulAssignment","src":"66487:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"66499:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"66510:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"66495:3:67"},"nodeType":"YulFunctionCall","src":"66495:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"66487:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"66534:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"66545:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"66530:3:67"},"nodeType":"YulFunctionCall","src":"66530:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"66553:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"66559:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"66549:3:67"},"nodeType":"YulFunctionCall","src":"66549:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"66523:6:67"},"nodeType":"YulFunctionCall","src":"66523:47:67"},"nodeType":"YulExpressionStatement","src":"66523:47:67"},{"nodeType":"YulAssignment","src":"66579:92:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"66657:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"66666:4:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"66587:69:67"},"nodeType":"YulFunctionCall","src":"66587:84:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"66579:4:67"}]}]},"name":"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"66449:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"66461:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"66472:4:67","type":""}],"src":"66353:325:67"},{"body":{"nodeType":"YulBlock","src":"66803:145:67","statements":[{"nodeType":"YulAssignment","src":"66813:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"66825:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"66836:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"66821:3:67"},"nodeType":"YulFunctionCall","src":"66821:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"66813:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"66914:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"66927:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"66938:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"66923:3:67"},"nodeType":"YulFunctionCall","src":"66923:17:67"}],"functionName":{"name":"abi_encode_t_enum$_ErrorCodes_$8299_to_t_uint8_fromStack_library","nodeType":"YulIdentifier","src":"66849:64:67"},"nodeType":"YulFunctionCall","src":"66849:92:67"},"nodeType":"YulExpressionStatement","src":"66849:92:67"}]},"name":"abi_encode_tuple_t_enum$_ErrorCodes_$8299__to_t_uint8__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"66775:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"66787:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"66798:4:67","type":""}],"src":"66684:264:67"},{"body":{"nodeType":"YulBlock","src":"67121:306:67","statements":[{"nodeType":"YulAssignment","src":"67131:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"67143:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"67154:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"67139:3:67"},"nodeType":"YulFunctionCall","src":"67139:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"67131:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"67232:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"67245:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"67256:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"67241:3:67"},"nodeType":"YulFunctionCall","src":"67241:17:67"}],"functionName":{"name":"abi_encode_t_enum$_ErrorCodes_$8299_to_t_uint8_fromStack_library","nodeType":"YulIdentifier","src":"67167:64:67"},"nodeType":"YulFunctionCall","src":"67167:92:67"},"nodeType":"YulExpressionStatement","src":"67167:92:67"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"67280:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"67291:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"67276:3:67"},"nodeType":"YulFunctionCall","src":"67276:18:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"67300:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"67306:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"67296:3:67"},"nodeType":"YulFunctionCall","src":"67296:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"67269:6:67"},"nodeType":"YulFunctionCall","src":"67269:48:67"},"nodeType":"YulExpressionStatement","src":"67269:48:67"},{"nodeType":"YulAssignment","src":"67326:94:67","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"67406:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"67415:4:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"67334:71:67"},"nodeType":"YulFunctionCall","src":"67334:86:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"67326:4:67"}]}]},"name":"abi_encode_tuple_t_enum$_ErrorCodes_$8299_t_string_memory_ptr__to_t_uint8_t_string_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"67085:9:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"67097:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"67105:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"67116:4:67","type":""}],"src":"66954:473:67"},{"body":{"nodeType":"YulBlock","src":"67537:130:67","statements":[{"nodeType":"YulAssignment","src":"67547:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"67559:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"67570:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"67555:3:67"},"nodeType":"YulFunctionCall","src":"67555:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"67547:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"67633:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"67646:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"67657:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"67642:3:67"},"nodeType":"YulFunctionCall","src":"67642:17:67"}],"functionName":{"name":"abi_encode_t_int128_to_t_int128_fromStack_library","nodeType":"YulIdentifier","src":"67583:49:67"},"nodeType":"YulFunctionCall","src":"67583:77:67"},"nodeType":"YulExpressionStatement","src":"67583:77:67"}]},"name":"abi_encode_tuple_t_int128__to_t_int128__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"67509:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"67521:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"67532:4:67","type":""}],"src":"67433:234:67"},{"body":{"nodeType":"YulBlock","src":"67775:128:67","statements":[{"nodeType":"YulAssignment","src":"67785:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"67797:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"67808:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"67793:3:67"},"nodeType":"YulFunctionCall","src":"67793:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"67785:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"67869:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"67882:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"67893:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"67878:3:67"},"nodeType":"YulFunctionCall","src":"67878:17:67"}],"functionName":{"name":"abi_encode_t_int32_to_t_int32_fromStack_library","nodeType":"YulIdentifier","src":"67821:47:67"},"nodeType":"YulFunctionCall","src":"67821:75:67"},"nodeType":"YulExpressionStatement","src":"67821:75:67"}]},"name":"abi_encode_tuple_t_int32__to_t_int32__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"67747:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"67759:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"67770:4:67","type":""}],"src":"67673:230:67"},{"body":{"nodeType":"YulBlock","src":"68035:203:67","statements":[{"nodeType":"YulAssignment","src":"68045:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"68057:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"68068:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"68053:3:67"},"nodeType":"YulFunctionCall","src":"68053:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"68045:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"68092:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"68103:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"68088:3:67"},"nodeType":"YulFunctionCall","src":"68088:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"68111:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"68117:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"68107:3:67"},"nodeType":"YulFunctionCall","src":"68107:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"68081:6:67"},"nodeType":"YulFunctionCall","src":"68081:47:67"},"nodeType":"YulExpressionStatement","src":"68081:47:67"},{"nodeType":"YulAssignment","src":"68137:94:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"68217:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"68226:4:67"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"68145:71:67"},"nodeType":"YulFunctionCall","src":"68145:86:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"68137:4:67"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"68007:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"68019:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"68030:4:67","type":""}],"src":"67909:329:67"},{"body":{"nodeType":"YulBlock","src":"68415:248:67","statements":[{"nodeType":"YulAssignment","src":"68425:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"68437:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"68448:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"68433:3:67"},"nodeType":"YulFunctionCall","src":"68433:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"68425:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"68472:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"68483:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"68468:3:67"},"nodeType":"YulFunctionCall","src":"68468:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"68491:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"68497:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"68487:3:67"},"nodeType":"YulFunctionCall","src":"68487:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"68461:6:67"},"nodeType":"YulFunctionCall","src":"68461:47:67"},"nodeType":"YulExpressionStatement","src":"68461:47:67"},{"nodeType":"YulAssignment","src":"68517:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"68651:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_10326a398e4ebae30db45e432dffe0bcbf9bb42c1ddf0acdf95f81f6937c3e6e_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"68525:124:67"},"nodeType":"YulFunctionCall","src":"68525:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"68517:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_10326a398e4ebae30db45e432dffe0bcbf9bb42c1ddf0acdf95f81f6937c3e6e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"68395:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"68410:4:67","type":""}],"src":"68244:419:67"},{"body":{"nodeType":"YulBlock","src":"68840:248:67","statements":[{"nodeType":"YulAssignment","src":"68850:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"68862:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"68873:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"68858:3:67"},"nodeType":"YulFunctionCall","src":"68858:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"68850:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"68897:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"68908:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"68893:3:67"},"nodeType":"YulFunctionCall","src":"68893:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"68916:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"68922:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"68912:3:67"},"nodeType":"YulFunctionCall","src":"68912:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"68886:6:67"},"nodeType":"YulFunctionCall","src":"68886:47:67"},"nodeType":"YulExpressionStatement","src":"68886:47:67"},{"nodeType":"YulAssignment","src":"68942:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"69076:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_1d02783bfdf9fcb10987fa30c69580dc05995a395206f98f8571e50bdc55f1de_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"68950:124:67"},"nodeType":"YulFunctionCall","src":"68950:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"68942:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_1d02783bfdf9fcb10987fa30c69580dc05995a395206f98f8571e50bdc55f1de__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"68820:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"68835:4:67","type":""}],"src":"68669:419:67"},{"body":{"nodeType":"YulBlock","src":"69265:248:67","statements":[{"nodeType":"YulAssignment","src":"69275:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"69287:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"69298:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"69283:3:67"},"nodeType":"YulFunctionCall","src":"69283:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"69275:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"69322:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"69333:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"69318:3:67"},"nodeType":"YulFunctionCall","src":"69318:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"69341:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"69347:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"69337:3:67"},"nodeType":"YulFunctionCall","src":"69337:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"69311:6:67"},"nodeType":"YulFunctionCall","src":"69311:47:67"},"nodeType":"YulExpressionStatement","src":"69311:47:67"},{"nodeType":"YulAssignment","src":"69367:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"69501:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_35d560c02aa8345814ff1f3323ab22fdca5038d982e35a8bd24bf31def042340_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"69375:124:67"},"nodeType":"YulFunctionCall","src":"69375:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"69367:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_35d560c02aa8345814ff1f3323ab22fdca5038d982e35a8bd24bf31def042340__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"69245:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"69260:4:67","type":""}],"src":"69094:419:67"},{"body":{"nodeType":"YulBlock","src":"69690:248:67","statements":[{"nodeType":"YulAssignment","src":"69700:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"69712:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"69723:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"69708:3:67"},"nodeType":"YulFunctionCall","src":"69708:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"69700:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"69747:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"69758:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"69743:3:67"},"nodeType":"YulFunctionCall","src":"69743:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"69766:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"69772:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"69762:3:67"},"nodeType":"YulFunctionCall","src":"69762:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"69736:6:67"},"nodeType":"YulFunctionCall","src":"69736:47:67"},"nodeType":"YulExpressionStatement","src":"69736:47:67"},{"nodeType":"YulAssignment","src":"69792:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"69926:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_4ff103044b32139865c8582aa6a4cb8cfea297b0e275f15a2b83d02eb8c83ff5_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"69800:124:67"},"nodeType":"YulFunctionCall","src":"69800:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"69792:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_4ff103044b32139865c8582aa6a4cb8cfea297b0e275f15a2b83d02eb8c83ff5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"69670:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"69685:4:67","type":""}],"src":"69519:419:67"},{"body":{"nodeType":"YulBlock","src":"70115:248:67","statements":[{"nodeType":"YulAssignment","src":"70125:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"70137:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"70148:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"70133:3:67"},"nodeType":"YulFunctionCall","src":"70133:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"70125:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"70172:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"70183:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"70168:3:67"},"nodeType":"YulFunctionCall","src":"70168:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"70191:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"70197:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"70187:3:67"},"nodeType":"YulFunctionCall","src":"70187:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"70161:6:67"},"nodeType":"YulFunctionCall","src":"70161:47:67"},"nodeType":"YulExpressionStatement","src":"70161:47:67"},{"nodeType":"YulAssignment","src":"70217:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"70351:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_5c8a9e5034d6996add1c3633267ae82cc51190f2746c4ebbc6652dbd2b8f82f1_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"70225:124:67"},"nodeType":"YulFunctionCall","src":"70225:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"70217:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_5c8a9e5034d6996add1c3633267ae82cc51190f2746c4ebbc6652dbd2b8f82f1__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"70095:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"70110:4:67","type":""}],"src":"69944:419:67"},{"body":{"nodeType":"YulBlock","src":"70540:248:67","statements":[{"nodeType":"YulAssignment","src":"70550:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"70562:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"70573:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"70558:3:67"},"nodeType":"YulFunctionCall","src":"70558:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"70550:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"70597:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"70608:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"70593:3:67"},"nodeType":"YulFunctionCall","src":"70593:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"70616:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"70622:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"70612:3:67"},"nodeType":"YulFunctionCall","src":"70612:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"70586:6:67"},"nodeType":"YulFunctionCall","src":"70586:47:67"},"nodeType":"YulExpressionStatement","src":"70586:47:67"},{"nodeType":"YulAssignment","src":"70642:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"70776:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_645b5c892a1df9140a78ebb02f8cc9c52a58fd09049d30c9306d829f3e4067c0_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"70650:124:67"},"nodeType":"YulFunctionCall","src":"70650:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"70642:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_645b5c892a1df9140a78ebb02f8cc9c52a58fd09049d30c9306d829f3e4067c0__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"70520:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"70535:4:67","type":""}],"src":"70369:419:67"},{"body":{"nodeType":"YulBlock","src":"70965:248:67","statements":[{"nodeType":"YulAssignment","src":"70975:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"70987:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"70998:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"70983:3:67"},"nodeType":"YulFunctionCall","src":"70983:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"70975:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"71022:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"71033:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"71018:3:67"},"nodeType":"YulFunctionCall","src":"71018:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"71041:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"71047:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"71037:3:67"},"nodeType":"YulFunctionCall","src":"71037:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"71011:6:67"},"nodeType":"YulFunctionCall","src":"71011:47:67"},"nodeType":"YulExpressionStatement","src":"71011:47:67"},{"nodeType":"YulAssignment","src":"71067:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"71201:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_7cc2288f465823067474bbeb87210c75f7bfd4766f0c6b5247cfd60b08383395_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"71075:124:67"},"nodeType":"YulFunctionCall","src":"71075:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"71067:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_7cc2288f465823067474bbeb87210c75f7bfd4766f0c6b5247cfd60b08383395__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"70945:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"70960:4:67","type":""}],"src":"70794:419:67"},{"body":{"nodeType":"YulBlock","src":"71390:248:67","statements":[{"nodeType":"YulAssignment","src":"71400:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"71412:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"71423:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"71408:3:67"},"nodeType":"YulFunctionCall","src":"71408:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"71400:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"71447:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"71458:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"71443:3:67"},"nodeType":"YulFunctionCall","src":"71443:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"71466:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"71472:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"71462:3:67"},"nodeType":"YulFunctionCall","src":"71462:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"71436:6:67"},"nodeType":"YulFunctionCall","src":"71436:47:67"},"nodeType":"YulExpressionStatement","src":"71436:47:67"},{"nodeType":"YulAssignment","src":"71492:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"71626:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_8ef34c94c12bfb3b89b23a8cf5312739770812e6628f56af30b56f1ffca49ea6_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"71500:124:67"},"nodeType":"YulFunctionCall","src":"71500:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"71492:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_8ef34c94c12bfb3b89b23a8cf5312739770812e6628f56af30b56f1ffca49ea6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"71370:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"71385:4:67","type":""}],"src":"71219:419:67"},{"body":{"nodeType":"YulBlock","src":"71815:248:67","statements":[{"nodeType":"YulAssignment","src":"71825:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"71837:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"71848:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"71833:3:67"},"nodeType":"YulFunctionCall","src":"71833:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"71825:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"71872:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"71883:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"71868:3:67"},"nodeType":"YulFunctionCall","src":"71868:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"71891:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"71897:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"71887:3:67"},"nodeType":"YulFunctionCall","src":"71887:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"71861:6:67"},"nodeType":"YulFunctionCall","src":"71861:47:67"},"nodeType":"YulExpressionStatement","src":"71861:47:67"},{"nodeType":"YulAssignment","src":"71917:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"72051:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_9284e9e320638704d942d2f95e83ba0c405a6a96259c3d9b83ed3e7166e675f8_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"71925:124:67"},"nodeType":"YulFunctionCall","src":"71925:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"71917:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_9284e9e320638704d942d2f95e83ba0c405a6a96259c3d9b83ed3e7166e675f8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"71795:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"71810:4:67","type":""}],"src":"71644:419:67"},{"body":{"nodeType":"YulBlock","src":"72240:248:67","statements":[{"nodeType":"YulAssignment","src":"72250:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"72262:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"72273:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"72258:3:67"},"nodeType":"YulFunctionCall","src":"72258:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"72250:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"72297:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"72308:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"72293:3:67"},"nodeType":"YulFunctionCall","src":"72293:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"72316:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"72322:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"72312:3:67"},"nodeType":"YulFunctionCall","src":"72312:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"72286:6:67"},"nodeType":"YulFunctionCall","src":"72286:47:67"},"nodeType":"YulExpressionStatement","src":"72286:47:67"},{"nodeType":"YulAssignment","src":"72342:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"72476:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_992d311c2b79570206080f0d7329953f913948b02046ef1f45a3c3e0d8b8ee9d_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"72350:124:67"},"nodeType":"YulFunctionCall","src":"72350:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"72342:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_992d311c2b79570206080f0d7329953f913948b02046ef1f45a3c3e0d8b8ee9d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"72220:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"72235:4:67","type":""}],"src":"72069:419:67"},{"body":{"nodeType":"YulBlock","src":"72665:248:67","statements":[{"nodeType":"YulAssignment","src":"72675:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"72687:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"72698:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"72683:3:67"},"nodeType":"YulFunctionCall","src":"72683:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"72675:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"72722:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"72733:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"72718:3:67"},"nodeType":"YulFunctionCall","src":"72718:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"72741:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"72747:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"72737:3:67"},"nodeType":"YulFunctionCall","src":"72737:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"72711:6:67"},"nodeType":"YulFunctionCall","src":"72711:47:67"},"nodeType":"YulExpressionStatement","src":"72711:47:67"},{"nodeType":"YulAssignment","src":"72767:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"72901:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_b00a459d7874d8bc3d50440f99e23d9ac253a6ad184d53dfe2c9de75b7b30207_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"72775:124:67"},"nodeType":"YulFunctionCall","src":"72775:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"72767:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_b00a459d7874d8bc3d50440f99e23d9ac253a6ad184d53dfe2c9de75b7b30207__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"72645:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"72660:4:67","type":""}],"src":"72494:419:67"},{"body":{"nodeType":"YulBlock","src":"73090:248:67","statements":[{"nodeType":"YulAssignment","src":"73100:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"73112:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"73123:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"73108:3:67"},"nodeType":"YulFunctionCall","src":"73108:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"73100:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"73147:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"73158:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"73143:3:67"},"nodeType":"YulFunctionCall","src":"73143:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"73166:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"73172:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"73162:3:67"},"nodeType":"YulFunctionCall","src":"73162:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"73136:6:67"},"nodeType":"YulFunctionCall","src":"73136:47:67"},"nodeType":"YulExpressionStatement","src":"73136:47:67"},{"nodeType":"YulAssignment","src":"73192:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"73326:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_d38a6c7b702dbeba4dc6ea7575dfd8e441cc0edf53099fa173ced98029f4fc5a_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"73200:124:67"},"nodeType":"YulFunctionCall","src":"73200:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"73192:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_d38a6c7b702dbeba4dc6ea7575dfd8e441cc0edf53099fa173ced98029f4fc5a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"73070:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"73085:4:67","type":""}],"src":"72919:419:67"},{"body":{"nodeType":"YulBlock","src":"73494:227:67","statements":[{"nodeType":"YulAssignment","src":"73504:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"73516:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"73527:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"73512:3:67"},"nodeType":"YulFunctionCall","src":"73512:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"73504:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"73551:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"73562:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"73547:3:67"},"nodeType":"YulFunctionCall","src":"73547:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"73570:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"73576:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"73566:3:67"},"nodeType":"YulFunctionCall","src":"73566:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"73540:6:67"},"nodeType":"YulFunctionCall","src":"73540:47:67"},"nodeType":"YulExpressionStatement","src":"73540:47:67"},{"nodeType":"YulAssignment","src":"73596:118:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"73700:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"73709:4:67"}],"functionName":{"name":"abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"73604:95:67"},"nodeType":"YulFunctionCall","src":"73604:110:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"73596:4:67"}]}]},"name":"abi_encode_tuple_t_struct$_CBOR_$8037_memory_ptr__to_t_struct$_CBOR_$8037_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"73466:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"73478:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"73489:4:67","type":""}],"src":"73344:377:67"},{"body":{"nodeType":"YulBlock","src":"73881:231:67","statements":[{"nodeType":"YulAssignment","src":"73891:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"73903:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"73914:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"73899:3:67"},"nodeType":"YulFunctionCall","src":"73899:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"73891:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"73938:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"73949:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"73934:3:67"},"nodeType":"YulFunctionCall","src":"73934:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"73957:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"73963:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"73953:3:67"},"nodeType":"YulFunctionCall","src":"73953:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"73927:6:67"},"nodeType":"YulFunctionCall","src":"73927:47:67"},"nodeType":"YulExpressionStatement","src":"73927:47:67"},{"nodeType":"YulAssignment","src":"73983:122:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"74091:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"74100:4:67"}],"functionName":{"name":"abi_encode_t_struct$_Result_$8023_memory_ptr_to_t_struct$_Result_$8023_memory_ptr_fromStack_library","nodeType":"YulIdentifier","src":"73991:99:67"},"nodeType":"YulFunctionCall","src":"73991:114:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"73983:4:67"}]}]},"name":"abi_encode_tuple_t_struct$_Result_$8023_memory_ptr__to_t_struct$_Result_$8023_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"73853:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"73865:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"73876:4:67","type":""}],"src":"73727:385:67"},{"body":{"nodeType":"YulBlock","src":"74222:130:67","statements":[{"nodeType":"YulAssignment","src":"74232:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"74244:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"74255:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"74240:3:67"},"nodeType":"YulFunctionCall","src":"74240:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"74232:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"74318:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"74331:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"74342:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"74327:3:67"},"nodeType":"YulFunctionCall","src":"74327:17:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_fromStack_library","nodeType":"YulIdentifier","src":"74268:49:67"},"nodeType":"YulFunctionCall","src":"74268:77:67"},"nodeType":"YulExpressionStatement","src":"74268:77:67"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"74194:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"74206:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"74217:4:67","type":""}],"src":"74118:234:67"},{"body":{"nodeType":"YulBlock","src":"74399:88:67","statements":[{"nodeType":"YulAssignment","src":"74409:30:67","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"74419:18:67"},"nodeType":"YulFunctionCall","src":"74419:20:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"74409:6:67"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"74468:6:67"},{"name":"size","nodeType":"YulIdentifier","src":"74476:4:67"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"74448:19:67"},"nodeType":"YulFunctionCall","src":"74448:33:67"},"nodeType":"YulExpressionStatement","src":"74448:33:67"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"74383:4:67","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"74392:6:67","type":""}],"src":"74358:129:67"},{"body":{"nodeType":"YulBlock","src":"74533:35:67","statements":[{"nodeType":"YulAssignment","src":"74543:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"74559:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"74553:5:67"},"nodeType":"YulFunctionCall","src":"74553:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"74543:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"74526:6:67","type":""}],"src":"74493:75:67"},{"body":{"nodeType":"YulBlock","src":"74655:229:67","statements":[{"body":{"nodeType":"YulBlock","src":"74760:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"74762:16:67"},"nodeType":"YulFunctionCall","src":"74762:18:67"},"nodeType":"YulExpressionStatement","src":"74762:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"74732:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"74740:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"74729:2:67"},"nodeType":"YulFunctionCall","src":"74729:30:67"},"nodeType":"YulIf","src":"74726:56:67"},{"nodeType":"YulAssignment","src":"74792:25:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"74804:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"74812:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"74800:3:67"},"nodeType":"YulFunctionCall","src":"74800:17:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"74792:4:67"}]},{"nodeType":"YulAssignment","src":"74854:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"74866:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"74872:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"74862:3:67"},"nodeType":"YulFunctionCall","src":"74862:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"74854:4:67"}]}]},"name":"array_allocation_size_t_array$_t_int128_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"74639:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"74650:4:67","type":""}],"src":"74574:310:67"},{"body":{"nodeType":"YulBlock","src":"74970:229:67","statements":[{"body":{"nodeType":"YulBlock","src":"75075:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"75077:16:67"},"nodeType":"YulFunctionCall","src":"75077:18:67"},"nodeType":"YulExpressionStatement","src":"75077:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"75047:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"75055:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"75044:2:67"},"nodeType":"YulFunctionCall","src":"75044:30:67"},"nodeType":"YulIf","src":"75041:56:67"},{"nodeType":"YulAssignment","src":"75107:25:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"75119:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"75127:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"75115:3:67"},"nodeType":"YulFunctionCall","src":"75115:17:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"75107:4:67"}]},{"nodeType":"YulAssignment","src":"75169:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"75181:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"75187:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"75177:3:67"},"nodeType":"YulFunctionCall","src":"75177:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"75169:4:67"}]}]},"name":"array_allocation_size_t_array$_t_int32_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"74954:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"74965:4:67","type":""}],"src":"74890:309:67"},{"body":{"nodeType":"YulBlock","src":"75297:229:67","statements":[{"body":{"nodeType":"YulBlock","src":"75402:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"75404:16:67"},"nodeType":"YulFunctionCall","src":"75404:18:67"},"nodeType":"YulExpressionStatement","src":"75404:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"75374:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"75382:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"75371:2:67"},"nodeType":"YulFunctionCall","src":"75371:30:67"},"nodeType":"YulIf","src":"75368:56:67"},{"nodeType":"YulAssignment","src":"75434:25:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"75446:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"75454:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"75442:3:67"},"nodeType":"YulFunctionCall","src":"75442:17:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"75434:4:67"}]},{"nodeType":"YulAssignment","src":"75496:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"75508:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"75514:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"75504:3:67"},"nodeType":"YulFunctionCall","src":"75504:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"75496:4:67"}]}]},"name":"array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"75281:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"75292:4:67","type":""}],"src":"75205:321:67"},{"body":{"nodeType":"YulBlock","src":"75613:229:67","statements":[{"body":{"nodeType":"YulBlock","src":"75718:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"75720:16:67"},"nodeType":"YulFunctionCall","src":"75720:18:67"},"nodeType":"YulExpressionStatement","src":"75720:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"75690:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"75698:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"75687:2:67"},"nodeType":"YulFunctionCall","src":"75687:30:67"},"nodeType":"YulIf","src":"75684:56:67"},{"nodeType":"YulAssignment","src":"75750:25:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"75762:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"75770:4:67","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"75758:3:67"},"nodeType":"YulFunctionCall","src":"75758:17:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"75750:4:67"}]},{"nodeType":"YulAssignment","src":"75812:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"75824:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"75830:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"75820:3:67"},"nodeType":"YulFunctionCall","src":"75820:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"75812:4:67"}]}]},"name":"array_allocation_size_t_array$_t_uint64_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"75597:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"75608:4:67","type":""}],"src":"75532:310:67"},{"body":{"nodeType":"YulBlock","src":"75914:241:67","statements":[{"body":{"nodeType":"YulBlock","src":"76019:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"76021:16:67"},"nodeType":"YulFunctionCall","src":"76021:18:67"},"nodeType":"YulExpressionStatement","src":"76021:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"75991:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"75999:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"75988:2:67"},"nodeType":"YulFunctionCall","src":"75988:30:67"},"nodeType":"YulIf","src":"75985:56:67"},{"nodeType":"YulAssignment","src":"76051:37:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"76081:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"76059:21:67"},"nodeType":"YulFunctionCall","src":"76059:29:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"76051:4:67"}]},{"nodeType":"YulAssignment","src":"76125:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"76137:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"76143:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"76133:3:67"},"nodeType":"YulFunctionCall","src":"76133:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"76125:4:67"}]}]},"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"75898:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"75909:4:67","type":""}],"src":"75848:307:67"},{"body":{"nodeType":"YulBlock","src":"76228:241:67","statements":[{"body":{"nodeType":"YulBlock","src":"76333:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"76335:16:67"},"nodeType":"YulFunctionCall","src":"76335:18:67"},"nodeType":"YulExpressionStatement","src":"76335:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"76305:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"76313:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"76302:2:67"},"nodeType":"YulFunctionCall","src":"76302:30:67"},"nodeType":"YulIf","src":"76299:56:67"},{"nodeType":"YulAssignment","src":"76365:37:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"76395:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"76373:21:67"},"nodeType":"YulFunctionCall","src":"76373:29:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"76365:4:67"}]},{"nodeType":"YulAssignment","src":"76439:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"76451:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"76457:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"76447:3:67"},"nodeType":"YulFunctionCall","src":"76447:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"76439:4:67"}]}]},"name":"array_allocation_size_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"76212:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"76223:4:67","type":""}],"src":"76161:308:67"},{"body":{"nodeType":"YulBlock","src":"76546:60:67","statements":[{"nodeType":"YulAssignment","src":"76556:11:67","value":{"name":"ptr","nodeType":"YulIdentifier","src":"76564:3:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"76556:4:67"}]},{"nodeType":"YulAssignment","src":"76577:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"76589:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"76594:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"76585:3:67"},"nodeType":"YulFunctionCall","src":"76585:14:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"76577:4:67"}]}]},"name":"array_dataslot_t_array$_t_int128_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"76533:3:67","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"76541:4:67","type":""}],"src":"76475:131:67"},{"body":{"nodeType":"YulBlock","src":"76682:60:67","statements":[{"nodeType":"YulAssignment","src":"76692:11:67","value":{"name":"ptr","nodeType":"YulIdentifier","src":"76700:3:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"76692:4:67"}]},{"nodeType":"YulAssignment","src":"76713:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"76725:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"76730:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"76721:3:67"},"nodeType":"YulFunctionCall","src":"76721:14:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"76713:4:67"}]}]},"name":"array_dataslot_t_array$_t_int32_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"76669:3:67","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"76677:4:67","type":""}],"src":"76612:130:67"},{"body":{"nodeType":"YulBlock","src":"76830:60:67","statements":[{"nodeType":"YulAssignment","src":"76840:11:67","value":{"name":"ptr","nodeType":"YulIdentifier","src":"76848:3:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"76840:4:67"}]},{"nodeType":"YulAssignment","src":"76861:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"76873:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"76878:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"76869:3:67"},"nodeType":"YulFunctionCall","src":"76869:14:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"76861:4:67"}]}]},"name":"array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"76817:3:67","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"76825:4:67","type":""}],"src":"76748:142:67"},{"body":{"nodeType":"YulBlock","src":"76967:60:67","statements":[{"nodeType":"YulAssignment","src":"76977:11:67","value":{"name":"ptr","nodeType":"YulIdentifier","src":"76985:3:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"76977:4:67"}]},{"nodeType":"YulAssignment","src":"76998:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"77010:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"77015:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"77006:3:67"},"nodeType":"YulFunctionCall","src":"77006:14:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"76998:4:67"}]}]},"name":"array_dataslot_t_array$_t_uint64_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"76954:3:67","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"76962:4:67","type":""}],"src":"76896:131:67"},{"body":{"nodeType":"YulBlock","src":"77106:40:67","statements":[{"nodeType":"YulAssignment","src":"77117:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"77133:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"77127:5:67"},"nodeType":"YulFunctionCall","src":"77127:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"77117:6:67"}]}]},"name":"array_length_t_array$_t_int128_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"77089:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"77099:6:67","type":""}],"src":"77033:113:67"},{"body":{"nodeType":"YulBlock","src":"77224:40:67","statements":[{"nodeType":"YulAssignment","src":"77235:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"77251:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"77245:5:67"},"nodeType":"YulFunctionCall","src":"77245:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"77235:6:67"}]}]},"name":"array_length_t_array$_t_int32_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"77207:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"77217:6:67","type":""}],"src":"77152:112:67"},{"body":{"nodeType":"YulBlock","src":"77354:40:67","statements":[{"nodeType":"YulAssignment","src":"77365:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"77381:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"77375:5:67"},"nodeType":"YulFunctionCall","src":"77375:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"77365:6:67"}]}]},"name":"array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"77337:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"77347:6:67","type":""}],"src":"77270:124:67"},{"body":{"nodeType":"YulBlock","src":"77473:40:67","statements":[{"nodeType":"YulAssignment","src":"77484:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"77500:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"77494:5:67"},"nodeType":"YulFunctionCall","src":"77494:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"77484:6:67"}]}]},"name":"array_length_t_array$_t_uint64_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"77456:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"77466:6:67","type":""}],"src":"77400:113:67"},{"body":{"nodeType":"YulBlock","src":"77577:40:67","statements":[{"nodeType":"YulAssignment","src":"77588:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"77604:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"77598:5:67"},"nodeType":"YulFunctionCall","src":"77598:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"77588:6:67"}]}]},"name":"array_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"77560:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"77570:6:67","type":""}],"src":"77519:98:67"},{"body":{"nodeType":"YulBlock","src":"77682:40:67","statements":[{"nodeType":"YulAssignment","src":"77693:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"77709:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"77703:5:67"},"nodeType":"YulFunctionCall","src":"77703:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"77693:6:67"}]}]},"name":"array_length_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"77665:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"77675:6:67","type":""}],"src":"77623:99:67"},{"body":{"nodeType":"YulBlock","src":"77802:38:67","statements":[{"nodeType":"YulAssignment","src":"77812:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"77824:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"77829:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"77820:3:67"},"nodeType":"YulFunctionCall","src":"77820:14:67"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"77812:4:67"}]}]},"name":"array_nextElement_t_array$_t_int128_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"77789:3:67","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"77797:4:67","type":""}],"src":"77728:112:67"},{"body":{"nodeType":"YulBlock","src":"77919:38:67","statements":[{"nodeType":"YulAssignment","src":"77929:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"77941:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"77946:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"77937:3:67"},"nodeType":"YulFunctionCall","src":"77937:14:67"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"77929:4:67"}]}]},"name":"array_nextElement_t_array$_t_int32_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"77906:3:67","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"77914:4:67","type":""}],"src":"77846:111:67"},{"body":{"nodeType":"YulBlock","src":"78048:38:67","statements":[{"nodeType":"YulAssignment","src":"78058:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"78070:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"78075:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"78066:3:67"},"nodeType":"YulFunctionCall","src":"78066:14:67"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"78058:4:67"}]}]},"name":"array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"78035:3:67","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"78043:4:67","type":""}],"src":"77963:123:67"},{"body":{"nodeType":"YulBlock","src":"78166:38:67","statements":[{"nodeType":"YulAssignment","src":"78176:22:67","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"78188:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"78193:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"78184:3:67"},"nodeType":"YulFunctionCall","src":"78184:14:67"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"78176:4:67"}]}]},"name":"array_nextElement_t_array$_t_uint64_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"78153:3:67","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"78161:4:67","type":""}],"src":"78092:112:67"},{"body":{"nodeType":"YulBlock","src":"78328:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"78345:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"78350:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"78338:6:67"},"nodeType":"YulFunctionCall","src":"78338:19:67"},"nodeType":"YulExpressionStatement","src":"78338:19:67"},{"nodeType":"YulAssignment","src":"78366:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"78385:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"78390:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"78381:3:67"},"nodeType":"YulFunctionCall","src":"78381:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"78366:11:67"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_int128_$dyn_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"78300:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"78305:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"78316:11:67","type":""}],"src":"78210:191:67"},{"body":{"nodeType":"YulBlock","src":"78524:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"78541:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"78546:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"78534:6:67"},"nodeType":"YulFunctionCall","src":"78534:19:67"},"nodeType":"YulExpressionStatement","src":"78534:19:67"},{"nodeType":"YulAssignment","src":"78562:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"78581:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"78586:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"78577:3:67"},"nodeType":"YulFunctionCall","src":"78577:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"78562:11:67"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_int32_$dyn_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"78496:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"78501:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"78512:11:67","type":""}],"src":"78407:190:67"},{"body":{"nodeType":"YulBlock","src":"78732:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"78749:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"78754:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"78742:6:67"},"nodeType":"YulFunctionCall","src":"78742:19:67"},"nodeType":"YulExpressionStatement","src":"78742:19:67"},{"nodeType":"YulAssignment","src":"78770:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"78789:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"78794:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"78785:3:67"},"nodeType":"YulFunctionCall","src":"78785:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"78770:11:67"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"78704:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"78709:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"78720:11:67","type":""}],"src":"78603:202:67"},{"body":{"nodeType":"YulBlock","src":"78929:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"78946:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"78951:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"78939:6:67"},"nodeType":"YulFunctionCall","src":"78939:19:67"},"nodeType":"YulExpressionStatement","src":"78939:19:67"},{"nodeType":"YulAssignment","src":"78967:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"78986:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"78991:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"78982:3:67"},"nodeType":"YulFunctionCall","src":"78982:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"78967:11:67"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_uint64_$dyn_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"78901:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"78906:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"78917:11:67","type":""}],"src":"78811:191:67"},{"body":{"nodeType":"YulBlock","src":"79111:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"79128:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"79133:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"79121:6:67"},"nodeType":"YulFunctionCall","src":"79121:19:67"},"nodeType":"YulExpressionStatement","src":"79121:19:67"},{"nodeType":"YulAssignment","src":"79149:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"79168:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"79173:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"79164:3:67"},"nodeType":"YulFunctionCall","src":"79164:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"79149:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"79083:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"79088:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"79099:11:67","type":""}],"src":"79008:176:67"},{"body":{"nodeType":"YulBlock","src":"79283:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"79300:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"79305:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"79293:6:67"},"nodeType":"YulFunctionCall","src":"79293:19:67"},"nodeType":"YulExpressionStatement","src":"79293:19:67"},{"nodeType":"YulAssignment","src":"79321:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"79340:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"79345:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"79336:3:67"},"nodeType":"YulFunctionCall","src":"79336:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"79321:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"79255:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"79260:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"79271:11:67","type":""}],"src":"79190:166:67"},{"body":{"nodeType":"YulBlock","src":"79458:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"79475:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"79480:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"79468:6:67"},"nodeType":"YulFunctionCall","src":"79468:19:67"},"nodeType":"YulExpressionStatement","src":"79468:19:67"},{"nodeType":"YulAssignment","src":"79496:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"79515:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"79520:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"79511:3:67"},"nodeType":"YulFunctionCall","src":"79511:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"79496:11:67"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"79430:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"79435:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"79446:11:67","type":""}],"src":"79362:169:67"},{"body":{"nodeType":"YulBlock","src":"79641:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"79658:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"79663:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"79651:6:67"},"nodeType":"YulFunctionCall","src":"79651:19:67"},"nodeType":"YulExpressionStatement","src":"79651:19:67"},{"nodeType":"YulAssignment","src":"79679:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"79698:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"79703:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"79694:3:67"},"nodeType":"YulFunctionCall","src":"79694:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"79679:11:67"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"79613:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"79618:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"79629:11:67","type":""}],"src":"79537:177:67"},{"body":{"nodeType":"YulBlock","src":"79814:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"79831:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"79836:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"79824:6:67"},"nodeType":"YulFunctionCall","src":"79824:19:67"},"nodeType":"YulExpressionStatement","src":"79824:19:67"},{"nodeType":"YulAssignment","src":"79852:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"79871:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"79876:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"79867:3:67"},"nodeType":"YulFunctionCall","src":"79867:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"79852:11:67"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"79786:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"79791:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"79802:11:67","type":""}],"src":"79720:167:67"},{"body":{"nodeType":"YulBlock","src":"80007:34:67","statements":[{"nodeType":"YulAssignment","src":"80017:18:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"80032:3:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"80017:11:67"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"79979:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"79984:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"79995:11:67","type":""}],"src":"79893:148:67"},{"body":{"nodeType":"YulBlock","src":"80089:195:67","statements":[{"nodeType":"YulAssignment","src":"80099:23:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"80120:1:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"80104:15:67"},"nodeType":"YulFunctionCall","src":"80104:18:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"80099:1:67"}]},{"nodeType":"YulAssignment","src":"80131:23:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"80152:1:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"80136:15:67"},"nodeType":"YulFunctionCall","src":"80136:18:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"80131:1:67"}]},{"body":{"nodeType":"YulBlock","src":"80230:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"80232:16:67"},"nodeType":"YulFunctionCall","src":"80232:18:67"},"nodeType":"YulExpressionStatement","src":"80232:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"80213:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"80220:4:67","type":"","value":"0xff"},{"name":"y","nodeType":"YulIdentifier","src":"80226:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"80216:3:67"},"nodeType":"YulFunctionCall","src":"80216:12:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"80210:2:67"},"nodeType":"YulFunctionCall","src":"80210:19:67"},"nodeType":"YulIf","src":"80207:45:67"},{"nodeType":"YulAssignment","src":"80262:16:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"80273:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"80276:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"80269:3:67"},"nodeType":"YulFunctionCall","src":"80269:9:67"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"80262:3:67"}]}]},"name":"checked_add_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"80076:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"80079:1:67","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"80085:3:67","type":""}],"src":"80047:237:67"},{"body":{"nodeType":"YulBlock","src":"80331:141:67","statements":[{"nodeType":"YulAssignment","src":"80341:24:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"80363:1:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"80346:16:67"},"nodeType":"YulFunctionCall","src":"80346:19:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"80341:1:67"}]},{"nodeType":"YulAssignment","src":"80374:24:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"80396:1:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"80379:16:67"},"nodeType":"YulFunctionCall","src":"80379:19:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"80374:1:67"}]},{"body":{"nodeType":"YulBlock","src":"80420:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x12","nodeType":"YulIdentifier","src":"80422:16:67"},"nodeType":"YulFunctionCall","src":"80422:18:67"},"nodeType":"YulExpressionStatement","src":"80422:18:67"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"80417:1:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"80410:6:67"},"nodeType":"YulFunctionCall","src":"80410:9:67"},"nodeType":"YulIf","src":"80407:35:67"},{"nodeType":"YulAssignment","src":"80452:14:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"80461:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"80464:1:67"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"80457:3:67"},"nodeType":"YulFunctionCall","src":"80457:9:67"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"80452:1:67"}]}]},"name":"checked_div_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"80320:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"80323:1:67","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"80329:1:67","type":""}],"src":"80290:182:67"},{"body":{"nodeType":"YulBlock","src":"80520:48:67","statements":[{"nodeType":"YulAssignment","src":"80530:32:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"80555:5:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"80548:6:67"},"nodeType":"YulFunctionCall","src":"80548:13:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"80541:6:67"},"nodeType":"YulFunctionCall","src":"80541:21:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"80530:7:67"}]}]},"name":"cleanup_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"80502:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"80512:7:67","type":""}],"src":"80478:90:67"},{"body":{"nodeType":"YulBlock","src":"80619:32:67","statements":[{"nodeType":"YulAssignment","src":"80629:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"80640:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"80629:7:67"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"80601:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"80611:7:67","type":""}],"src":"80574:77:67"},{"body":{"nodeType":"YulBlock","src":"80717:81:67","statements":[{"nodeType":"YulAssignment","src":"80727:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"80738:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"80727:7:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"80786:5:67"}],"functionName":{"name":"validator_assert_t_enum$_ErrorCodes_$8299","nodeType":"YulIdentifier","src":"80744:41:67"},"nodeType":"YulFunctionCall","src":"80744:48:67"},"nodeType":"YulExpressionStatement","src":"80744:48:67"}]},"name":"cleanup_t_enum$_ErrorCodes_$8299","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"80699:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"80709:7:67","type":""}],"src":"80657:141:67"},{"body":{"nodeType":"YulBlock","src":"80848:48:67","statements":[{"nodeType":"YulAssignment","src":"80858:32:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"80880:2:67","type":"","value":"15"},{"name":"value","nodeType":"YulIdentifier","src":"80884:5:67"}],"functionName":{"name":"signextend","nodeType":"YulIdentifier","src":"80869:10:67"},"nodeType":"YulFunctionCall","src":"80869:21:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"80858:7:67"}]}]},"name":"cleanup_t_int128","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"80830:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"80840:7:67","type":""}],"src":"80804:92:67"},{"body":{"nodeType":"YulBlock","src":"80945:47:67","statements":[{"nodeType":"YulAssignment","src":"80955:31:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"80977:1:67","type":"","value":"3"},{"name":"value","nodeType":"YulIdentifier","src":"80980:5:67"}],"functionName":{"name":"signextend","nodeType":"YulIdentifier","src":"80966:10:67"},"nodeType":"YulFunctionCall","src":"80966:20:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"80955:7:67"}]}]},"name":"cleanup_t_int32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"80927:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"80937:7:67","type":""}],"src":"80902:90:67"},{"body":{"nodeType":"YulBlock","src":"81042:49:67","statements":[{"nodeType":"YulAssignment","src":"81052:33:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"81067:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"81074:10:67","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"81063:3:67"},"nodeType":"YulFunctionCall","src":"81063:22:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"81052:7:67"}]}]},"name":"cleanup_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"81024:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"81034:7:67","type":""}],"src":"80998:93:67"},{"body":{"nodeType":"YulBlock","src":"81141:57:67","statements":[{"nodeType":"YulAssignment","src":"81151:41:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"81166:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"81173:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"81162:3:67"},"nodeType":"YulFunctionCall","src":"81162:30:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"81151:7:67"}]}]},"name":"cleanup_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"81123:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"81133:7:67","type":""}],"src":"81097:101:67"},{"body":{"nodeType":"YulBlock","src":"81247:43:67","statements":[{"nodeType":"YulAssignment","src":"81257:27:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"81272:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"81279:4:67","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"81268:3:67"},"nodeType":"YulFunctionCall","src":"81268:16:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"81257:7:67"}]}]},"name":"cleanup_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"81229:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"81239:7:67","type":""}],"src":"81204:86:67"},{"body":{"nodeType":"YulBlock","src":"81369:68:67","statements":[{"nodeType":"YulAssignment","src":"81379:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"81425:5:67"}],"functionName":{"name":"cleanup_t_enum$_ErrorCodes_$8299","nodeType":"YulIdentifier","src":"81392:32:67"},"nodeType":"YulFunctionCall","src":"81392:39:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"81379:9:67"}]}]},"name":"convert_t_enum$_ErrorCodes_$8299_to_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"81349:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"81359:9:67","type":""}],"src":"81296:141:67"},{"body":{"nodeType":"YulBlock","src":"81494:103:67","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"81517:3:67"},{"name":"src","nodeType":"YulIdentifier","src":"81522:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"81527:6:67"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"81504:12:67"},"nodeType":"YulFunctionCall","src":"81504:30:67"},"nodeType":"YulExpressionStatement","src":"81504:30:67"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"81575:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"81580:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"81571:3:67"},"nodeType":"YulFunctionCall","src":"81571:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"81589:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"81564:6:67"},"nodeType":"YulFunctionCall","src":"81564:27:67"},"nodeType":"YulExpressionStatement","src":"81564:27:67"}]},"name":"copy_calldata_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"81476:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"81481:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"81486:6:67","type":""}],"src":"81443:154:67"},{"body":{"nodeType":"YulBlock","src":"81652:258:67","statements":[{"nodeType":"YulVariableDeclaration","src":"81662:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"81671:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"81666:1:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"81731:63:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"81756:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"81761:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"81752:3:67"},"nodeType":"YulFunctionCall","src":"81752:11:67"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"81775:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"81780:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"81771:3:67"},"nodeType":"YulFunctionCall","src":"81771:11:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"81765:5:67"},"nodeType":"YulFunctionCall","src":"81765:18:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"81745:6:67"},"nodeType":"YulFunctionCall","src":"81745:39:67"},"nodeType":"YulExpressionStatement","src":"81745:39:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"81692:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"81695:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"81689:2:67"},"nodeType":"YulFunctionCall","src":"81689:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"81703:19:67","statements":[{"nodeType":"YulAssignment","src":"81705:15:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"81714:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"81717:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"81710:3:67"},"nodeType":"YulFunctionCall","src":"81710:10:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"81705:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"81685:3:67","statements":[]},"src":"81681:113:67"},{"body":{"nodeType":"YulBlock","src":"81828:76:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"81878:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"81883:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"81874:3:67"},"nodeType":"YulFunctionCall","src":"81874:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"81892:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"81867:6:67"},"nodeType":"YulFunctionCall","src":"81867:27:67"},"nodeType":"YulExpressionStatement","src":"81867:27:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"81809:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"81812:6:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"81806:2:67"},"nodeType":"YulFunctionCall","src":"81806:13:67"},"nodeType":"YulIf","src":"81803:101:67"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"81634:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"81639:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"81644:6:67","type":""}],"src":"81603:307:67"},{"body":{"nodeType":"YulBlock","src":"81959:238:67","statements":[{"nodeType":"YulVariableDeclaration","src":"81969:58:67","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"81991:6:67"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"82021:4:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"81999:21:67"},"nodeType":"YulFunctionCall","src":"81999:27:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"81987:3:67"},"nodeType":"YulFunctionCall","src":"81987:40:67"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"81973:10:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"82138:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"82140:16:67"},"nodeType":"YulFunctionCall","src":"82140:18:67"},"nodeType":"YulExpressionStatement","src":"82140:18:67"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"82081:10:67"},{"kind":"number","nodeType":"YulLiteral","src":"82093:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"82078:2:67"},"nodeType":"YulFunctionCall","src":"82078:34:67"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"82117:10:67"},{"name":"memPtr","nodeType":"YulIdentifier","src":"82129:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"82114:2:67"},"nodeType":"YulFunctionCall","src":"82114:22:67"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"82075:2:67"},"nodeType":"YulFunctionCall","src":"82075:62:67"},"nodeType":"YulIf","src":"82072:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"82176:2:67","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"82180:10:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"82169:6:67"},"nodeType":"YulFunctionCall","src":"82169:22:67"},"nodeType":"YulExpressionStatement","src":"82169:22:67"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"81945:6:67","type":""},{"name":"size","nodeType":"YulTypedName","src":"81953:4:67","type":""}],"src":"81916:281:67"},{"body":{"nodeType":"YulBlock","src":"82236:140:67","statements":[{"nodeType":"YulAssignment","src":"82246:24:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"82268:1:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"82251:16:67"},"nodeType":"YulFunctionCall","src":"82251:19:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"82246:1:67"}]},{"nodeType":"YulAssignment","src":"82279:24:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"82301:1:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"82284:16:67"},"nodeType":"YulFunctionCall","src":"82284:19:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"82279:1:67"}]},{"body":{"nodeType":"YulBlock","src":"82325:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x12","nodeType":"YulIdentifier","src":"82327:16:67"},"nodeType":"YulFunctionCall","src":"82327:18:67"},"nodeType":"YulExpressionStatement","src":"82327:18:67"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"82322:1:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"82315:6:67"},"nodeType":"YulFunctionCall","src":"82315:9:67"},"nodeType":"YulIf","src":"82312:35:67"},{"nodeType":"YulAssignment","src":"82356:14:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"82365:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"82368:1:67"}],"functionName":{"name":"mod","nodeType":"YulIdentifier","src":"82361:3:67"},"nodeType":"YulFunctionCall","src":"82361:9:67"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"82356:1:67"}]}]},"name":"mod_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"82225:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"82228:1:67","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"82234:1:67","type":""}],"src":"82203:173:67"},{"body":{"nodeType":"YulBlock","src":"82410:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"82427:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"82430:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"82420:6:67"},"nodeType":"YulFunctionCall","src":"82420:88:67"},"nodeType":"YulExpressionStatement","src":"82420:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"82524:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"82527:4:67","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"82517:6:67"},"nodeType":"YulFunctionCall","src":"82517:15:67"},"nodeType":"YulExpressionStatement","src":"82517:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"82548:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"82551:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"82541:6:67"},"nodeType":"YulFunctionCall","src":"82541:15:67"},"nodeType":"YulExpressionStatement","src":"82541:15:67"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"82382:180:67"},{"body":{"nodeType":"YulBlock","src":"82596:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"82613:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"82616:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"82606:6:67"},"nodeType":"YulFunctionCall","src":"82606:88:67"},"nodeType":"YulExpressionStatement","src":"82606:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"82710:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"82713:4:67","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"82703:6:67"},"nodeType":"YulFunctionCall","src":"82703:15:67"},"nodeType":"YulExpressionStatement","src":"82703:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"82734:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"82737:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"82727:6:67"},"nodeType":"YulFunctionCall","src":"82727:15:67"},"nodeType":"YulExpressionStatement","src":"82727:15:67"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"82568:180:67"},{"body":{"nodeType":"YulBlock","src":"82782:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"82799:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"82802:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"82792:6:67"},"nodeType":"YulFunctionCall","src":"82792:88:67"},"nodeType":"YulExpressionStatement","src":"82792:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"82896:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"82899:4:67","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"82889:6:67"},"nodeType":"YulFunctionCall","src":"82889:15:67"},"nodeType":"YulExpressionStatement","src":"82889:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"82920:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"82923:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"82913:6:67"},"nodeType":"YulFunctionCall","src":"82913:15:67"},"nodeType":"YulExpressionStatement","src":"82913:15:67"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"82754:180:67"},{"body":{"nodeType":"YulBlock","src":"82968:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"82985:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"82988:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"82978:6:67"},"nodeType":"YulFunctionCall","src":"82978:88:67"},"nodeType":"YulExpressionStatement","src":"82978:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"83082:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"83085:4:67","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"83075:6:67"},"nodeType":"YulFunctionCall","src":"83075:15:67"},"nodeType":"YulExpressionStatement","src":"83075:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"83106:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"83109:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"83099:6:67"},"nodeType":"YulFunctionCall","src":"83099:15:67"},"nodeType":"YulExpressionStatement","src":"83099:15:67"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"82940:180:67"},{"body":{"nodeType":"YulBlock","src":"83154:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"83171:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"83174:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"83164:6:67"},"nodeType":"YulFunctionCall","src":"83164:88:67"},"nodeType":"YulExpressionStatement","src":"83164:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"83268:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"83271:4:67","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"83261:6:67"},"nodeType":"YulFunctionCall","src":"83261:15:67"},"nodeType":"YulExpressionStatement","src":"83261:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"83292:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"83295:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"83285:6:67"},"nodeType":"YulFunctionCall","src":"83285:15:67"},"nodeType":"YulExpressionStatement","src":"83285:15:67"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"83126:180:67"},{"body":{"nodeType":"YulBlock","src":"83401:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"83418:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"83421:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"83411:6:67"},"nodeType":"YulFunctionCall","src":"83411:12:67"},"nodeType":"YulExpressionStatement","src":"83411:12:67"}]},"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulFunctionDefinition","src":"83312:117:67"},{"body":{"nodeType":"YulBlock","src":"83524:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"83541:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"83544:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"83534:6:67"},"nodeType":"YulFunctionCall","src":"83534:12:67"},"nodeType":"YulExpressionStatement","src":"83534:12:67"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"83435:117:67"},{"body":{"nodeType":"YulBlock","src":"83647:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"83664:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"83667:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"83657:6:67"},"nodeType":"YulFunctionCall","src":"83657:12:67"},"nodeType":"YulExpressionStatement","src":"83657:12:67"}]},"name":"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f","nodeType":"YulFunctionDefinition","src":"83558:117:67"},{"body":{"nodeType":"YulBlock","src":"83770:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"83787:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"83790:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"83780:6:67"},"nodeType":"YulFunctionCall","src":"83780:12:67"},"nodeType":"YulExpressionStatement","src":"83780:12:67"}]},"name":"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421","nodeType":"YulFunctionDefinition","src":"83681:117:67"},{"body":{"nodeType":"YulBlock","src":"83893:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"83910:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"83913:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"83903:6:67"},"nodeType":"YulFunctionCall","src":"83903:12:67"},"nodeType":"YulExpressionStatement","src":"83903:12:67"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulFunctionDefinition","src":"83804:117:67"},{"body":{"nodeType":"YulBlock","src":"84016:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"84033:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"84036:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"84026:6:67"},"nodeType":"YulFunctionCall","src":"84026:12:67"},"nodeType":"YulExpressionStatement","src":"84026:12:67"}]},"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulFunctionDefinition","src":"83927:117:67"},{"body":{"nodeType":"YulBlock","src":"84139:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"84156:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"84159:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"84149:6:67"},"nodeType":"YulFunctionCall","src":"84149:12:67"},"nodeType":"YulExpressionStatement","src":"84149:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"84050:117:67"},{"body":{"nodeType":"YulBlock","src":"84262:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"84279:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"84282:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"84272:6:67"},"nodeType":"YulFunctionCall","src":"84272:12:67"},"nodeType":"YulExpressionStatement","src":"84272:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"84173:117:67"},{"body":{"nodeType":"YulBlock","src":"84344:54:67","statements":[{"nodeType":"YulAssignment","src":"84354:38:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"84372:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"84379:2:67","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"84368:3:67"},"nodeType":"YulFunctionCall","src":"84368:14:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"84388:2:67","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"84384:3:67"},"nodeType":"YulFunctionCall","src":"84384:7:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"84364:3:67"},"nodeType":"YulFunctionCall","src":"84364:28:67"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"84354:6:67"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"84327:5:67","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"84337:6:67","type":""}],"src":"84296:102:67"},{"body":{"nodeType":"YulBlock","src":"84510:135:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"84532:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"84540:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"84528:3:67"},"nodeType":"YulFunctionCall","src":"84528:14:67"},{"hexValue":"20636f756c64206e6f74206265207265747269657665642e204661696c656420","kind":"string","nodeType":"YulLiteral","src":"84544:34:67","type":"","value":" could not be retrieved. Failed "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"84521:6:67"},"nodeType":"YulFunctionCall","src":"84521:58:67"},"nodeType":"YulExpressionStatement","src":"84521:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"84600:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"84608:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"84596:3:67"},"nodeType":"YulFunctionCall","src":"84596:15:67"},{"hexValue":"776974682048545450206572726f7220636f64653a20","kind":"string","nodeType":"YulLiteral","src":"84613:24:67","type":"","value":"with HTTP error code: "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"84589:6:67"},"nodeType":"YulFunctionCall","src":"84589:49:67"},"nodeType":"YulExpressionStatement","src":"84589:49:67"}]},"name":"store_literal_in_memory_06fad0051889b339312d16eb4a22ce922cb939c7a74f3a087fb28315293ae2e1","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"84502:6:67","type":""}],"src":"84404:241:67"},{"body":{"nodeType":"YulBlock","src":"84757:67:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"84779:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"84787:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"84775:3:67"},"nodeType":"YulFunctionCall","src":"84775:14:67"},{"hexValue":"207374616765206973206e6f7420737570706f72746564","kind":"string","nodeType":"YulLiteral","src":"84791:25:67","type":"","value":" stage is not supported"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"84768:6:67"},"nodeType":"YulFunctionCall","src":"84768:49:67"},"nodeType":"YulExpressionStatement","src":"84768:49:67"}]},"name":"store_literal_in_memory_0fdce60631188ec72ee63fc1361d0a4c4be32af3243f9d750ff56d3026640c5d","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"84749:6:67","type":""}],"src":"84651:173:67"},{"body":{"nodeType":"YulBlock","src":"84936:187:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"84958:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"84966:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"84954:3:67"},"nodeType":"YulFunctionCall","src":"84954:14:67"},{"hexValue":"5769746e65745061727365724c69623a20547269656420746f20726561642062","kind":"string","nodeType":"YulLiteral","src":"84970:34:67","type":"","value":"WitnetParserLib: Tried to read b"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"84947:6:67"},"nodeType":"YulFunctionCall","src":"84947:58:67"},"nodeType":"YulExpressionStatement","src":"84947:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"85026:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"85034:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"85022:3:67"},"nodeType":"YulFunctionCall","src":"85022:15:67"},{"hexValue":"797465732076616c75652066726f6d206572726f726564205769746e65742e52","kind":"string","nodeType":"YulLiteral","src":"85039:34:67","type":"","value":"ytes value from errored Witnet.R"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"85015:6:67"},"nodeType":"YulFunctionCall","src":"85015:59:67"},"nodeType":"YulExpressionStatement","src":"85015:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"85095:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"85103:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"85091:3:67"},"nodeType":"YulFunctionCall","src":"85091:15:67"},{"hexValue":"6573756c74","kind":"string","nodeType":"YulLiteral","src":"85108:7:67","type":"","value":"esult"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"85084:6:67"},"nodeType":"YulFunctionCall","src":"85084:32:67"},"nodeType":"YulExpressionStatement","src":"85084:32:67"}]},"name":"store_literal_in_memory_10326a398e4ebae30db45e432dffe0bcbf9bb42c1ddf0acdf95f81f6937c3e6e","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"84928:6:67","type":""}],"src":"84830:293:67"},{"body":{"nodeType":"YulBlock","src":"85235:65:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"85257:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"85265:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"85253:3:67"},"nodeType":"YulFunctionCall","src":"85253:14:67"},{"hexValue":"556e6b6e6f776e206572726f7220283078","kind":"string","nodeType":"YulLiteral","src":"85269:19:67","type":"","value":"Unknown error (0x"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"85246:6:67"},"nodeType":"YulFunctionCall","src":"85246:43:67"},"nodeType":"YulExpressionStatement","src":"85246:43:67"}]},"name":"store_literal_in_memory_1592131424a8311c1140099f1562782fc79cb4437b828b679e0e77389ade83e5","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"85227:6:67","type":""}],"src":"85129:171:67"},{"body":{"nodeType":"YulBlock","src":"85416:208:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"85442:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"85450:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"85438:3:67"},"nodeType":"YulFunctionCall","src":"85438:14:67"},{"hexValue":"5769746e65745061727365724c69623a20547269656420746f20726561642060","kind":"string","nodeType":"YulLiteral","src":"85454:34:67","type":"","value":"WitnetParserLib: Tried to read `"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"85431:6:67"},"nodeType":"YulFunctionCall","src":"85431:58:67"},"nodeType":"YulExpressionStatement","src":"85431:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"85514:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"85522:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"85510:3:67"},"nodeType":"YulFunctionCall","src":"85510:15:67"},{"hexValue":"696e743132385b5d602076616c75652066726f6d206572726f72656420576974","kind":"string","nodeType":"YulLiteral","src":"85527:34:67","type":"","value":"int128[]` value from errored Wit"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"85503:6:67"},"nodeType":"YulFunctionCall","src":"85503:59:67"},"nodeType":"YulExpressionStatement","src":"85503:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"85587:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"85595:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"85583:3:67"},"nodeType":"YulFunctionCall","src":"85583:15:67"},{"hexValue":"6e65742e526573756c74","kind":"string","nodeType":"YulLiteral","src":"85600:12:67","type":"","value":"net.Result"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"85576:6:67"},"nodeType":"YulFunctionCall","src":"85576:37:67"},"nodeType":"YulExpressionStatement","src":"85576:37:67"}]},"name":"store_literal_in_memory_1d02783bfdf9fcb10987fa30c69580dc05995a395206f98f8571e50bdc55f1de","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"85408:6:67","type":""}],"src":"85310:314:67"},{"body":{"nodeType":"YulBlock","src":"85740:81:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"85766:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"85774:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"85762:3:67"},"nodeType":"YulFunctionCall","src":"85762:14:67"},{"hexValue":"556e646572666c6f77206174206f70657261746f7220636f6465203078","kind":"string","nodeType":"YulLiteral","src":"85778:31:67","type":"","value":"Underflow at operator code 0x"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"85755:6:67"},"nodeType":"YulFunctionCall","src":"85755:55:67"},"nodeType":"YulExpressionStatement","src":"85755:55:67"}]},"name":"store_literal_in_memory_20219570d77827fb39a2615f42463838b5337135103169e6edf382cc9747ecb0","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"85732:6:67","type":""}],"src":"85634:187:67"},{"body":{"nodeType":"YulBlock","src":"85937:58:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"85963:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"85971:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"85959:3:67"},"nodeType":"YulFunctionCall","src":"85959:14:67"},{"hexValue":"207374616765","kind":"string","nodeType":"YulLiteral","src":"85975:8:67","type":"","value":" stage"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"85952:6:67"},"nodeType":"YulFunctionCall","src":"85952:32:67"},"nodeType":"YulExpressionStatement","src":"85952:32:67"}]},"name":"store_literal_in_memory_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"85929:6:67","type":""}],"src":"85831:164:67"},{"body":{"nodeType":"YulBlock","src":"86111:209:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"86137:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"86145:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"86133:3:67"},"nodeType":"YulFunctionCall","src":"86133:14:67"},{"hexValue":"5769746e65745061727365724c69623a20547269656420746f20726561642060","kind":"string","nodeType":"YulLiteral","src":"86149:34:67","type":"","value":"WitnetParserLib: Tried to read `"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"86126:6:67"},"nodeType":"YulFunctionCall","src":"86126:58:67"},"nodeType":"YulExpressionStatement","src":"86126:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"86209:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"86217:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"86205:3:67"},"nodeType":"YulFunctionCall","src":"86205:15:67"},{"hexValue":"666978656431365b5d602076616c75652066726f6d206572726f726564205769","kind":"string","nodeType":"YulLiteral","src":"86222:34:67","type":"","value":"fixed16[]` value from errored Wi"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"86198:6:67"},"nodeType":"YulFunctionCall","src":"86198:59:67"},"nodeType":"YulExpressionStatement","src":"86198:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"86282:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"86290:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"86278:3:67"},"nodeType":"YulFunctionCall","src":"86278:15:67"},{"hexValue":"746e65742e526573756c74","kind":"string","nodeType":"YulLiteral","src":"86295:13:67","type":"","value":"tnet.Result"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"86271:6:67"},"nodeType":"YulFunctionCall","src":"86271:38:67"},"nodeType":"YulExpressionStatement","src":"86271:38:67"}]},"name":"store_literal_in_memory_35d560c02aa8345814ff1f3323ab22fdca5038d982e35a8bd24bf31def042340","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"86103:6:67","type":""}],"src":"86005:315:67"},{"body":{"nodeType":"YulBlock","src":"86436:79:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"86462:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"86470:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"86458:3:67"},"nodeType":"YulFunctionCall","src":"86458:14:67"},{"hexValue":"20776173206e6f7420612076616c69642043424f522076616c7565","kind":"string","nodeType":"YulLiteral","src":"86474:29:67","type":"","value":" was not a valid CBOR value"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"86451:6:67"},"nodeType":"YulFunctionCall","src":"86451:53:67"},"nodeType":"YulExpressionStatement","src":"86451:53:67"}]},"name":"store_literal_in_memory_38aad4b191165ea835c2dd674387b75fe0bd732e02a4f0a28df91297da890cb1","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"86428:6:67","type":""}],"src":"86330:185:67"},{"body":{"nodeType":"YulBlock","src":"86631:68:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"86657:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"86665:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"86653:3:67"},"nodeType":"YulFunctionCall","src":"86653:14:67"},{"hexValue":"4f70657261746f7220636f6465203078","kind":"string","nodeType":"YulLiteral","src":"86669:18:67","type":"","value":"Operator code 0x"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"86646:6:67"},"nodeType":"YulFunctionCall","src":"86646:42:67"},"nodeType":"YulExpressionStatement","src":"86646:42:67"}]},"name":"store_literal_in_memory_3901bb2e94f0903cb8c3d04caa6989483e39249a328a7790ca4b4dfad12665a7","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"86623:6:67","type":""}],"src":"86525:174:67"},{"body":{"nodeType":"YulBlock","src":"86815:137:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"86841:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"86849:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"86837:3:67"},"nodeType":"YulFunctionCall","src":"86837:14:67"},{"hexValue":"20636f756c64206e6f7420626520726574726965766564206265636175736520","kind":"string","nodeType":"YulLiteral","src":"86853:34:67","type":"","value":" could not be retrieved because "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"86830:6:67"},"nodeType":"YulFunctionCall","src":"86830:58:67"},"nodeType":"YulExpressionStatement","src":"86830:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"86913:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"86921:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"86909:3:67"},"nodeType":"YulFunctionCall","src":"86909:15:67"},{"hexValue":"6f6620612074696d656f7574","kind":"string","nodeType":"YulLiteral","src":"86926:14:67","type":"","value":"of a timeout"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"86902:6:67"},"nodeType":"YulFunctionCall","src":"86902:39:67"},"nodeType":"YulExpressionStatement","src":"86902:39:67"}]},"name":"store_literal_in_memory_4ec62780e6e71ad9c36f6f1c8b5d02daa88788dbb872d9876464dbb3ea85fc66","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"86807:6:67","type":""}],"src":"86709:243:67"},{"body":{"nodeType":"YulBlock","src":"87068:206:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"87094:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"87102:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"87090:3:67"},"nodeType":"YulFunctionCall","src":"87090:14:67"},{"hexValue":"5769746e65745061727365724c69623a20547269656420746f20726561642060","kind":"string","nodeType":"YulLiteral","src":"87106:34:67","type":"","value":"WitnetParserLib: Tried to read `"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"87083:6:67"},"nodeType":"YulFunctionCall","src":"87083:58:67"},"nodeType":"YulExpressionStatement","src":"87083:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"87166:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"87174:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"87162:3:67"},"nodeType":"YulFunctionCall","src":"87162:15:67"},{"hexValue":"696e74313238602076616c75652066726f6d206572726f726564205769746e65","kind":"string","nodeType":"YulLiteral","src":"87179:34:67","type":"","value":"int128` value from errored Witne"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"87155:6:67"},"nodeType":"YulFunctionCall","src":"87155:59:67"},"nodeType":"YulExpressionStatement","src":"87155:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"87239:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"87247:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"87235:3:67"},"nodeType":"YulFunctionCall","src":"87235:15:67"},{"hexValue":"742e526573756c74","kind":"string","nodeType":"YulLiteral","src":"87252:10:67","type":"","value":"t.Result"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"87228:6:67"},"nodeType":"YulFunctionCall","src":"87228:35:67"},"nodeType":"YulExpressionStatement","src":"87228:35:67"}]},"name":"store_literal_in_memory_4ff103044b32139865c8582aa6a4cb8cfea297b0e275f15a2b83d02eb8c83ff5","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"87060:6:67","type":""}],"src":"86962:312:67"},{"body":{"nodeType":"YulBlock","src":"87390:64:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"87416:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"87424:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"87412:3:67"},"nodeType":"YulFunctionCall","src":"87412:14:67"},{"hexValue":"20696e207363726970742023","kind":"string","nodeType":"YulLiteral","src":"87428:14:67","type":"","value":" in script #"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"87405:6:67"},"nodeType":"YulFunctionCall","src":"87405:38:67"},"nodeType":"YulExpressionStatement","src":"87405:38:67"}]},"name":"store_literal_in_memory_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"87382:6:67","type":""}],"src":"87284:170:67"},{"body":{"nodeType":"YulBlock","src":"87570:45:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"87592:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"87600:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"87588:3:67"},"nodeType":"YulFunctionCall","src":"87588:14:67"},{"hexValue":"29","kind":"string","nodeType":"YulLiteral","src":"87604:3:67","type":"","value":")"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"87581:6:67"},"nodeType":"YulFunctionCall","src":"87581:27:67"},"nodeType":"YulExpressionStatement","src":"87581:27:67"}]},"name":"store_literal_in_memory_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"87562:6:67","type":""}],"src":"87464:151:67"},{"body":{"nodeType":"YulBlock","src":"87727:50:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"87749:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"87757:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"87745:3:67"},"nodeType":"YulFunctionCall","src":"87745:14:67"},{"hexValue":"2066726f6d20","kind":"string","nodeType":"YulLiteral","src":"87761:8:67","type":"","value":" from "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"87738:6:67"},"nodeType":"YulFunctionCall","src":"87738:32:67"},"nodeType":"YulExpressionStatement","src":"87738:32:67"}]},"name":"store_literal_in_memory_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"87719:6:67","type":""}],"src":"87621:156:67"},{"body":{"nodeType":"YulBlock","src":"87889:59:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"87911:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"87919:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"87907:3:67"},"nodeType":"YulFunctionCall","src":"87907:14:67"},{"hexValue":"536f75726365207363726970742023","kind":"string","nodeType":"YulLiteral","src":"87923:17:67","type":"","value":"Source script #"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"87900:6:67"},"nodeType":"YulFunctionCall","src":"87900:41:67"},"nodeType":"YulExpressionStatement","src":"87900:41:67"}]},"name":"store_literal_in_memory_5bfa9355c289a68288e465573f0cee9515462e9a79ed698ecc1d95d0eccfb916","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"87881:6:67","type":""}],"src":"87783:165:67"},{"body":{"nodeType":"YulBlock","src":"88060:190:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"88082:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"88090:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"88078:3:67"},"nodeType":"YulFunctionCall","src":"88078:14:67"},{"hexValue":"5769746e65745061727365724c69623a20547269656420746f20726561642060","kind":"string","nodeType":"YulLiteral","src":"88094:34:67","type":"","value":"WitnetParserLib: Tried to read `"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"88071:6:67"},"nodeType":"YulFunctionCall","src":"88071:58:67"},"nodeType":"YulExpressionStatement","src":"88071:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"88150:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"88158:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"88146:3:67"},"nodeType":"YulFunctionCall","src":"88146:15:67"},{"hexValue":"75696e743634602076616c75652066726f6d206572726f726564205769746e65","kind":"string","nodeType":"YulLiteral","src":"88163:34:67","type":"","value":"uint64` value from errored Witne"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"88139:6:67"},"nodeType":"YulFunctionCall","src":"88139:59:67"},"nodeType":"YulExpressionStatement","src":"88139:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"88219:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"88227:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"88215:3:67"},"nodeType":"YulFunctionCall","src":"88215:15:67"},{"hexValue":"742e526573756c74","kind":"string","nodeType":"YulLiteral","src":"88232:10:67","type":"","value":"t.Result"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"88208:6:67"},"nodeType":"YulFunctionCall","src":"88208:35:67"},"nodeType":"YulExpressionStatement","src":"88208:35:67"}]},"name":"store_literal_in_memory_5c8a9e5034d6996add1c3633267ae82cc51190f2746c4ebbc6652dbd2b8f82f1","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"88052:6:67","type":""}],"src":"87954:296:67"},{"body":{"nodeType":"YulBlock","src":"88362:60:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"88384:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"88392:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"88380:3:67"},"nodeType":"YulFunctionCall","src":"88380:14:67"},{"hexValue":"20666f756e642061742063616c6c2023","kind":"string","nodeType":"YulLiteral","src":"88396:18:67","type":"","value":" found at call #"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"88373:6:67"},"nodeType":"YulFunctionCall","src":"88373:42:67"},"nodeType":"YulExpressionStatement","src":"88373:42:67"}]},"name":"store_literal_in_memory_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"88354:6:67","type":""}],"src":"88256:166:67"},{"body":{"nodeType":"YulBlock","src":"88534:192:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"88556:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"88564:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"88552:3:67"},"nodeType":"YulFunctionCall","src":"88552:14:67"},{"hexValue":"5769746e65745061727365724c69623a20547269656420746f20726561642060","kind":"string","nodeType":"YulLiteral","src":"88568:34:67","type":"","value":"WitnetParserLib: Tried to read `"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"88545:6:67"},"nodeType":"YulFunctionCall","src":"88545:58:67"},"nodeType":"YulExpressionStatement","src":"88545:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"88624:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"88632:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"88620:3:67"},"nodeType":"YulFunctionCall","src":"88620:15:67"},{"hexValue":"75696e7436345b5d602076616c75652066726f6d206572726f72656420576974","kind":"string","nodeType":"YulLiteral","src":"88637:34:67","type":"","value":"uint64[]` value from errored Wit"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"88613:6:67"},"nodeType":"YulFunctionCall","src":"88613:59:67"},"nodeType":"YulExpressionStatement","src":"88613:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"88693:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"88701:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"88689:3:67"},"nodeType":"YulFunctionCall","src":"88689:15:67"},{"hexValue":"6e65742e526573756c74","kind":"string","nodeType":"YulLiteral","src":"88706:12:67","type":"","value":"net.Result"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"88682:6:67"},"nodeType":"YulFunctionCall","src":"88682:37:67"},"nodeType":"YulExpressionStatement","src":"88682:37:67"}]},"name":"store_literal_in_memory_645b5c892a1df9140a78ebb02f8cc9c52a58fd09049d30c9306d829f3e4067c0","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"88526:6:67","type":""}],"src":"88428:298:67"},{"body":{"nodeType":"YulBlock","src":"88838:192:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"88860:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"88868:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"88856:3:67"},"nodeType":"YulFunctionCall","src":"88856:14:67"},{"hexValue":"5769746e65745061727365724c69623a20547269656420746f20726561642060","kind":"string","nodeType":"YulLiteral","src":"88872:34:67","type":"","value":"WitnetParserLib: Tried to read `"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"88849:6:67"},"nodeType":"YulFunctionCall","src":"88849:58:67"},"nodeType":"YulExpressionStatement","src":"88849:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"88928:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"88936:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"88924:3:67"},"nodeType":"YulFunctionCall","src":"88924:15:67"},{"hexValue":"737472696e675b5d602076616c75652066726f6d206572726f72656420576974","kind":"string","nodeType":"YulLiteral","src":"88941:34:67","type":"","value":"string[]` value from errored Wit"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"88917:6:67"},"nodeType":"YulFunctionCall","src":"88917:59:67"},"nodeType":"YulExpressionStatement","src":"88917:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"88997:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"89005:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"88993:3:67"},"nodeType":"YulFunctionCall","src":"88993:15:67"},{"hexValue":"6e65742e526573756c74","kind":"string","nodeType":"YulLiteral","src":"89010:12:67","type":"","value":"net.Result"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"88986:6:67"},"nodeType":"YulFunctionCall","src":"88986:37:67"},"nodeType":"YulExpressionStatement","src":"88986:37:67"}]},"name":"store_literal_in_memory_7cc2288f465823067474bbeb87210c75f7bfd4766f0c6b5247cfd60b08383395","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"88830:6:67","type":""}],"src":"88732:298:67"},{"body":{"nodeType":"YulBlock","src":"89142:118:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"89164:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"89172:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"89160:3:67"},"nodeType":"YulFunctionCall","src":"89160:14:67"},{"hexValue":"20737461676520636f6e7461696e656420746f6f206d616e792063616c6c7320","kind":"string","nodeType":"YulLiteral","src":"89176:34:67","type":"","value":" stage contained too many calls "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"89153:6:67"},"nodeType":"YulFunctionCall","src":"89153:58:67"},"nodeType":"YulExpressionStatement","src":"89153:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"89232:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"89240:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"89228:3:67"},"nodeType":"YulFunctionCall","src":"89228:15:67"},{"hexValue":"28","kind":"string","nodeType":"YulLiteral","src":"89245:3:67","type":"","value":"("}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"89221:6:67"},"nodeType":"YulFunctionCall","src":"89221:28:67"},"nodeType":"YulExpressionStatement","src":"89221:28:67"}]},"name":"store_literal_in_memory_88bb78c033779307de44be2567efd46e965cf6e46a3adeb9f4ff105453daf69a","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"89134:6:67","type":""}],"src":"89036:224:67"},{"body":{"nodeType":"YulBlock","src":"89376:205:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"89402:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"89410:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"89398:3:67"},"nodeType":"YulFunctionCall","src":"89398:14:67"},{"hexValue":"5769746e65745061727365724c69623a20747269656420746f20726561642062","kind":"string","nodeType":"YulLiteral","src":"89414:34:67","type":"","value":"WitnetParserLib: tried to read b"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"89391:6:67"},"nodeType":"YulFunctionCall","src":"89391:58:67"},"nodeType":"YulExpressionStatement","src":"89391:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"89474:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"89482:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"89470:3:67"},"nodeType":"YulFunctionCall","src":"89470:15:67"},{"hexValue":"7974657333322076616c75652066726f6d206572726f726564205769746e6574","kind":"string","nodeType":"YulLiteral","src":"89487:34:67","type":"","value":"ytes32 value from errored Witnet"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"89463:6:67"},"nodeType":"YulFunctionCall","src":"89463:59:67"},"nodeType":"YulExpressionStatement","src":"89463:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"89547:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"89555:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"89543:3:67"},"nodeType":"YulFunctionCall","src":"89543:15:67"},{"hexValue":"2e526573756c74","kind":"string","nodeType":"YulLiteral","src":"89560:9:67","type":"","value":".Result"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"89536:6:67"},"nodeType":"YulFunctionCall","src":"89536:34:67"},"nodeType":"YulExpressionStatement","src":"89536:34:67"}]},"name":"store_literal_in_memory_8ef34c94c12bfb3b89b23a8cf5312739770812e6628f56af30b56f1ffca49ea6","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"89368:6:67","type":""}],"src":"89270:311:67"},{"body":{"nodeType":"YulBlock","src":"89697:206:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"89723:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"89731:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"89719:3:67"},"nodeType":"YulFunctionCall","src":"89719:14:67"},{"hexValue":"5769746e65745061727365724c69623a20547269656420746f20726561642060","kind":"string","nodeType":"YulLiteral","src":"89735:34:67","type":"","value":"WitnetParserLib: Tried to read `"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"89712:6:67"},"nodeType":"YulFunctionCall","src":"89712:58:67"},"nodeType":"YulExpressionStatement","src":"89712:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"89795:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"89803:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"89791:3:67"},"nodeType":"YulFunctionCall","src":"89791:15:67"},{"hexValue":"737472696e67602076616c75652066726f6d206572726f726564205769746e65","kind":"string","nodeType":"YulLiteral","src":"89808:34:67","type":"","value":"string` value from errored Witne"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"89784:6:67"},"nodeType":"YulFunctionCall","src":"89784:59:67"},"nodeType":"YulExpressionStatement","src":"89784:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"89868:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"89876:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"89864:3:67"},"nodeType":"YulFunctionCall","src":"89864:15:67"},{"hexValue":"742e526573756c74","kind":"string","nodeType":"YulLiteral","src":"89881:10:67","type":"","value":"t.Result"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"89857:6:67"},"nodeType":"YulFunctionCall","src":"89857:35:67"},"nodeType":"YulExpressionStatement","src":"89857:35:67"}]},"name":"store_literal_in_memory_9284e9e320638704d942d2f95e83ba0c405a6a96259c3d9b83ed3e7166e675f8","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"89689:6:67","type":""}],"src":"89591:312:67"},{"body":{"nodeType":"YulBlock","src":"90019:78:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"90045:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"90053:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"90041:3:67"},"nodeType":"YulFunctionCall","src":"90041:14:67"},{"hexValue":"5468652043424f522076616c756520696e207363726970742023","kind":"string","nodeType":"YulLiteral","src":"90057:28:67","type":"","value":"The CBOR value in script #"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"90034:6:67"},"nodeType":"YulFunctionCall","src":"90034:52:67"},"nodeType":"YulExpressionStatement","src":"90034:52:67"}]},"name":"store_literal_in_memory_974710c668dd6e16ebf5515f4f47405fcb81d0b23362b2ad9c0cf9345899315d","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"90011:6:67","type":""}],"src":"89913:184:67"},{"body":{"nodeType":"YulBlock","src":"90213:129:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"90239:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"90247:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"90235:3:67"},"nodeType":"YulFunctionCall","src":"90235:14:67"},{"hexValue":"4469766973696f6e206279207a65726f206174206f70657261746f7220636f64","kind":"string","nodeType":"YulLiteral","src":"90251:34:67","type":"","value":"Division by zero at operator cod"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"90228:6:67"},"nodeType":"YulFunctionCall","src":"90228:58:67"},"nodeType":"YulExpressionStatement","src":"90228:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"90311:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"90319:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"90307:3:67"},"nodeType":"YulFunctionCall","src":"90307:15:67"},{"hexValue":"65203078","kind":"string","nodeType":"YulLiteral","src":"90324:6:67","type":"","value":"e 0x"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"90300:6:67"},"nodeType":"YulFunctionCall","src":"90300:31:67"},"nodeType":"YulExpressionStatement","src":"90300:31:67"}]},"name":"store_literal_in_memory_987c65b83200eb14cc0e666fee30940e97d5c2fdb5e2afde3f82dca6f8a3bcb5","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"90205:6:67","type":""}],"src":"90107:235:67"},{"body":{"nodeType":"YulBlock","src":"90458:205:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"90484:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"90492:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"90480:3:67"},"nodeType":"YulFunctionCall","src":"90480:14:67"},{"hexValue":"5769746e65745061727365724c69623a20547269656420746f20726561642065","kind":"string","nodeType":"YulLiteral","src":"90496:34:67","type":"","value":"WitnetParserLib: Tried to read e"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"90473:6:67"},"nodeType":"YulFunctionCall","src":"90473:58:67"},"nodeType":"YulExpressionStatement","src":"90473:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"90556:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"90564:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"90552:3:67"},"nodeType":"YulFunctionCall","src":"90552:15:67"},{"hexValue":"72726f7220636f64652066726f6d207375636365737366756c205769746e6574","kind":"string","nodeType":"YulLiteral","src":"90569:34:67","type":"","value":"rror code from successful Witnet"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"90545:6:67"},"nodeType":"YulFunctionCall","src":"90545:59:67"},"nodeType":"YulExpressionStatement","src":"90545:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"90629:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"90637:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"90625:3:67"},"nodeType":"YulFunctionCall","src":"90625:15:67"},{"hexValue":"2e526573756c74","kind":"string","nodeType":"YulLiteral","src":"90642:9:67","type":"","value":".Result"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"90618:6:67"},"nodeType":"YulFunctionCall","src":"90618:34:67"},"nodeType":"YulExpressionStatement","src":"90618:34:67"}]},"name":"store_literal_in_memory_992d311c2b79570206080f0d7329953f913948b02046ef1f45a3c3e0d8b8ee9d","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"90450:6:67","type":""}],"src":"90352:311:67"},{"body":{"nodeType":"YulBlock","src":"90779:80:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"90805:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"90813:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"90801:3:67"},"nodeType":"YulFunctionCall","src":"90801:14:67"},{"hexValue":"4f766572666c6f77206174206f70657261746f7220636f6465203078","kind":"string","nodeType":"YulLiteral","src":"90817:30:67","type":"","value":"Overflow at operator code 0x"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"90794:6:67"},"nodeType":"YulFunctionCall","src":"90794:54:67"},"nodeType":"YulExpressionStatement","src":"90794:54:67"}]},"name":"store_literal_in_memory_9f69785389796d4b79459ae31c417869f46a1322b1e3456a4a22df0663d28a58","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"90771:6:67","type":""}],"src":"90673:186:67"},{"body":{"nodeType":"YulBlock","src":"90975:78:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"91001:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"91009:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"90997:3:67"},"nodeType":"YulFunctionCall","src":"90997:14:67"},{"hexValue":"20776173206e6f7420616e204172726179206f662063616c6c73","kind":"string","nodeType":"YulLiteral","src":"91013:28:67","type":"","value":" was not an Array of calls"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"90990:6:67"},"nodeType":"YulFunctionCall","src":"90990:52:67"},"nodeType":"YulExpressionStatement","src":"90990:52:67"}]},"name":"store_literal_in_memory_9ff666b38f4f949d93ee79bab5b7529f286ad35ae4e512164a783a0808de8dc2","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"90967:6:67","type":""}],"src":"90869:184:67"},{"body":{"nodeType":"YulBlock","src":"91169:204:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"91195:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"91203:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"91191:3:67"},"nodeType":"YulFunctionCall","src":"91191:14:67"},{"hexValue":"5769746e65745061727365724c69623a20547269656420746f20726561642060","kind":"string","nodeType":"YulLiteral","src":"91207:34:67","type":"","value":"WitnetParserLib: Tried to read `"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"91184:6:67"},"nodeType":"YulFunctionCall","src":"91184:58:67"},"nodeType":"YulExpressionStatement","src":"91184:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"91267:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"91275:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"91263:3:67"},"nodeType":"YulFunctionCall","src":"91263:15:67"},{"hexValue":"626f6f6c602076616c75652066726f6d206572726f726564205769746e65742e","kind":"string","nodeType":"YulLiteral","src":"91280:34:67","type":"","value":"bool` value from errored Witnet."}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"91256:6:67"},"nodeType":"YulFunctionCall","src":"91256:59:67"},"nodeType":"YulExpressionStatement","src":"91256:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"91340:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"91348:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"91336:3:67"},"nodeType":"YulFunctionCall","src":"91336:15:67"},{"hexValue":"526573756c74","kind":"string","nodeType":"YulLiteral","src":"91353:8:67","type":"","value":"Result"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"91329:6:67"},"nodeType":"YulFunctionCall","src":"91329:33:67"},"nodeType":"YulExpressionStatement","src":"91329:33:67"}]},"name":"store_literal_in_memory_b00a459d7874d8bc3d50440f99e23d9ac253a6ad184d53dfe2c9de75b7b30207","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"91161:6:67","type":""}],"src":"91063:310:67"},{"body":{"nodeType":"YulBlock","src":"91489:81:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"91515:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"91523:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"91511:3:67"},"nodeType":"YulFunctionCall","src":"91511:14:67"},{"hexValue":"20776173206e6f7420612076616c696420446174612052657175657374","kind":"string","nodeType":"YulLiteral","src":"91527:31:67","type":"","value":" was not a valid Data Request"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"91504:6:67"},"nodeType":"YulFunctionCall","src":"91504:55:67"},"nodeType":"YulExpressionStatement","src":"91504:55:67"}]},"name":"store_literal_in_memory_c8cb671b33240e09b97d3439dbe9ccd2970edc93a4c23a9327e4a03d0ff44594","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"91481:6:67","type":""}],"src":"91383:187:67"},{"body":{"nodeType":"YulBlock","src":"91686:62:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"91712:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"91720:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"91708:3:67"},"nodeType":"YulFunctionCall","src":"91708:14:67"},{"hexValue":"2066726f6d2074686520","kind":"string","nodeType":"YulLiteral","src":"91724:12:67","type":"","value":" from the "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"91701:6:67"},"nodeType":"YulFunctionCall","src":"91701:36:67"},"nodeType":"YulExpressionStatement","src":"91701:36:67"}]},"name":"store_literal_in_memory_cfa2b01b7f859ef10d698a8c97747b54ae5c2a99791045421f797714f2c56277","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"91678:6:67","type":""}],"src":"91580:168:67"},{"body":{"nodeType":"YulBlock","src":"91864:207:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"91890:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"91898:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"91886:3:67"},"nodeType":"YulFunctionCall","src":"91886:14:67"},{"hexValue":"5769746e65745061727365724c69623a20547269656420746f20726561642060","kind":"string","nodeType":"YulLiteral","src":"91902:34:67","type":"","value":"WitnetParserLib: Tried to read `"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"91879:6:67"},"nodeType":"YulFunctionCall","src":"91879:58:67"},"nodeType":"YulExpressionStatement","src":"91879:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"91962:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"91970:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"91958:3:67"},"nodeType":"YulFunctionCall","src":"91958:15:67"},{"hexValue":"66697865643136602076616c75652066726f6d206572726f726564205769746e","kind":"string","nodeType":"YulLiteral","src":"91975:34:67","type":"","value":"fixed16` value from errored Witn"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"91951:6:67"},"nodeType":"YulFunctionCall","src":"91951:59:67"},"nodeType":"YulExpressionStatement","src":"91951:59:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"92035:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"92043:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"92031:3:67"},"nodeType":"YulFunctionCall","src":"92031:15:67"},{"hexValue":"65742e526573756c74","kind":"string","nodeType":"YulLiteral","src":"92048:11:67","type":"","value":"et.Result"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"92024:6:67"},"nodeType":"YulFunctionCall","src":"92024:36:67"},"nodeType":"YulExpressionStatement","src":"92024:36:67"}]},"name":"store_literal_in_memory_d38a6c7b702dbeba4dc6ea7575dfd8e441cc0edf53099fa173ced98029f4fc5a","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"91856:6:67","type":""}],"src":"91758:313:67"},{"body":{"nodeType":"YulBlock","src":"92187:137:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"92213:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"92221:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"92209:3:67"},"nodeType":"YulFunctionCall","src":"92209:14:67"},{"hexValue":"546865207265717565737420636f6e7461696e656420746f6f206d616e792073","kind":"string","nodeType":"YulLiteral","src":"92225:34:67","type":"","value":"The request contained too many s"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"92202:6:67"},"nodeType":"YulFunctionCall","src":"92202:58:67"},"nodeType":"YulExpressionStatement","src":"92202:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"92285:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"92293:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"92281:3:67"},"nodeType":"YulFunctionCall","src":"92281:15:67"},{"hexValue":"6f75726365732028","kind":"string","nodeType":"YulLiteral","src":"92298:10:67","type":"","value":"ources ("}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"92274:6:67"},"nodeType":"YulFunctionCall","src":"92274:35:67"},"nodeType":"YulExpressionStatement","src":"92274:35:67"}]},"name":"store_literal_in_memory_dbad668f9a07384d40f3edacb1152b2613ed53a278c32ba014d9d3a6d99980f2","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"92179:6:67","type":""}],"src":"92081:243:67"},{"body":{"nodeType":"YulBlock","src":"92444:68:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"92474:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"92482:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"92470:3:67"},"nodeType":"YulFunctionCall","src":"92470:14:67"},{"hexValue":"5363726970742023","kind":"string","nodeType":"YulLiteral","src":"92486:10:67","type":"","value":"Script #"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"92463:6:67"},"nodeType":"YulFunctionCall","src":"92463:34:67"},"nodeType":"YulExpressionStatement","src":"92463:34:67"}]},"name":"store_literal_in_memory_e7c4a6c38904320dd9a75bb779cf633704c4654e0ab698509b157354859e4100","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"92436:6:67","type":""}],"src":"92338:174:67"},{"body":{"nodeType":"YulBlock","src":"92632:68:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"92662:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"92670:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"92658:3:67"},"nodeType":"YulFunctionCall","src":"92658:14:67"},{"hexValue":"536f757263652023","kind":"string","nodeType":"YulLiteral","src":"92674:10:67","type":"","value":"Source #"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"92651:6:67"},"nodeType":"YulFunctionCall","src":"92651:34:67"},"nodeType":"YulExpressionStatement","src":"92651:34:67"}]},"name":"store_literal_in_memory_f165ec18714352e5091dd2c6c219155ecf112e2eb5b52f8ed5193724bc1b520e","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"92624:6:67","type":""}],"src":"92526:174:67"},{"body":{"nodeType":"YulBlock","src":"92772:80:67","statements":[{"body":{"nodeType":"YulBlock","src":"92816:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"92818:16:67"},"nodeType":"YulFunctionCall","src":"92818:18:67"},"nodeType":"YulExpressionStatement","src":"92818:18:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"92803:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"92810:3:67","type":"","value":"256"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"92800:2:67"},"nodeType":"YulFunctionCall","src":"92800:14:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"92793:6:67"},"nodeType":"YulFunctionCall","src":"92793:22:67"},"nodeType":"YulIf","src":"92790:48:67"}]},"name":"validator_assert_t_enum$_ErrorCodes_$8299","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"92765:5:67","type":""}],"src":"92714:138:67"},{"body":{"nodeType":"YulBlock","src":"92906:92:67","statements":[{"body":{"nodeType":"YulBlock","src":"92968:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"92977:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"92980:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"92970:6:67"},"nodeType":"YulFunctionCall","src":"92970:12:67"},"nodeType":"YulExpressionStatement","src":"92970:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"92937:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"92959:5:67"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"92944:14:67"},"nodeType":"YulFunctionCall","src":"92944:21:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"92934:2:67"},"nodeType":"YulFunctionCall","src":"92934:32:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"92927:6:67"},"nodeType":"YulFunctionCall","src":"92927:40:67"},"nodeType":"YulIf","src":"92924:60:67"}]},"name":"validator_revert_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"92899:5:67","type":""}],"src":"92866:132:67"},{"body":{"nodeType":"YulBlock","src":"93055:95:67","statements":[{"body":{"nodeType":"YulBlock","src":"93120:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"93129:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"93132:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"93122:6:67"},"nodeType":"YulFunctionCall","src":"93122:12:67"},"nodeType":"YulExpressionStatement","src":"93122:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"93086:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"93111:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"93093:17:67"},"nodeType":"YulFunctionCall","src":"93093:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"93083:2:67"},"nodeType":"YulFunctionCall","src":"93083:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"93076:6:67"},"nodeType":"YulFunctionCall","src":"93076:43:67"},"nodeType":"YulIf","src":"93073:63:67"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"93048:5:67","type":""}],"src":"93012:138:67"},{"body":{"nodeType":"YulBlock","src":"93206:94:67","statements":[{"body":{"nodeType":"YulBlock","src":"93270:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"93279:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"93282:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"93272:6:67"},"nodeType":"YulFunctionCall","src":"93272:12:67"},"nodeType":"YulExpressionStatement","src":"93272:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"93237:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"93261:5:67"}],"functionName":{"name":"cleanup_t_int128","nodeType":"YulIdentifier","src":"93244:16:67"},"nodeType":"YulFunctionCall","src":"93244:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"93234:2:67"},"nodeType":"YulFunctionCall","src":"93234:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"93227:6:67"},"nodeType":"YulFunctionCall","src":"93227:42:67"},"nodeType":"YulIf","src":"93224:62:67"}]},"name":"validator_revert_t_int128","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"93199:5:67","type":""}],"src":"93164:136:67"},{"body":{"nodeType":"YulBlock","src":"93355:93:67","statements":[{"body":{"nodeType":"YulBlock","src":"93418:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"93427:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"93430:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"93420:6:67"},"nodeType":"YulFunctionCall","src":"93420:12:67"},"nodeType":"YulExpressionStatement","src":"93420:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"93386:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"93409:5:67"}],"functionName":{"name":"cleanup_t_int32","nodeType":"YulIdentifier","src":"93393:15:67"},"nodeType":"YulFunctionCall","src":"93393:22:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"93383:2:67"},"nodeType":"YulFunctionCall","src":"93383:33:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"93376:6:67"},"nodeType":"YulFunctionCall","src":"93376:41:67"},"nodeType":"YulIf","src":"93373:61:67"}]},"name":"validator_revert_t_int32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"93348:5:67","type":""}],"src":"93314:134:67"},{"body":{"nodeType":"YulBlock","src":"93504:94:67","statements":[{"body":{"nodeType":"YulBlock","src":"93568:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"93577:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"93580:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"93570:6:67"},"nodeType":"YulFunctionCall","src":"93570:12:67"},"nodeType":"YulExpressionStatement","src":"93570:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"93535:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"93559:5:67"}],"functionName":{"name":"cleanup_t_uint32","nodeType":"YulIdentifier","src":"93542:16:67"},"nodeType":"YulFunctionCall","src":"93542:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"93532:2:67"},"nodeType":"YulFunctionCall","src":"93532:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"93525:6:67"},"nodeType":"YulFunctionCall","src":"93525:42:67"},"nodeType":"YulIf","src":"93522:62:67"}]},"name":"validator_revert_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"93497:5:67","type":""}],"src":"93462:136:67"},{"body":{"nodeType":"YulBlock","src":"93654:94:67","statements":[{"body":{"nodeType":"YulBlock","src":"93718:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"93727:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"93730:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"93720:6:67"},"nodeType":"YulFunctionCall","src":"93720:12:67"},"nodeType":"YulExpressionStatement","src":"93720:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"93685:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"93709:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"93692:16:67"},"nodeType":"YulFunctionCall","src":"93692:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"93682:2:67"},"nodeType":"YulFunctionCall","src":"93682:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"93675:6:67"},"nodeType":"YulFunctionCall","src":"93675:42:67"},"nodeType":"YulIf","src":"93672:62:67"}]},"name":"validator_revert_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"93647:5:67","type":""}],"src":"93612:136:67"},{"body":{"nodeType":"YulBlock","src":"93803:93:67","statements":[{"body":{"nodeType":"YulBlock","src":"93866:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"93875:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"93878:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"93868:6:67"},"nodeType":"YulFunctionCall","src":"93868:12:67"},"nodeType":"YulExpressionStatement","src":"93868:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"93834:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"93857:5:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"93841:15:67"},"nodeType":"YulFunctionCall","src":"93841:22:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"93831:2:67"},"nodeType":"YulFunctionCall","src":"93831:33:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"93824:6:67"},"nodeType":"YulFunctionCall","src":"93824:41:67"},"nodeType":"YulIf","src":"93821:61:67"}]},"name":"validator_revert_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"93796:5:67","type":""}],"src":"93762:134:67"}]},"contents":"{\n\n    // int128[]\n    function abi_decode_available_length_t_array$_t_int128_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_array$_t_int128_$dyn_memory_ptr(length))\n        let dst := array\n\n        mstore(array, length)\n        dst := add(array, 0x20)\n\n        let src := offset\n        if gt(add(src, mul(length, 0x20)), end) {\n            revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n        }\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n\n            let elementPos := src\n\n            mstore(dst, abi_decode_t_int128_fromMemory(elementPos, end))\n            dst := add(dst, 0x20)\n            src := add(src, 0x20)\n        }\n    }\n\n    // int32[]\n    function abi_decode_available_length_t_array$_t_int32_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_array$_t_int32_$dyn_memory_ptr(length))\n        let dst := array\n\n        mstore(array, length)\n        dst := add(array, 0x20)\n\n        let src := offset\n        if gt(add(src, mul(length, 0x20)), end) {\n            revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n        }\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n\n            let elementPos := src\n\n            mstore(dst, abi_decode_t_int32_fromMemory(elementPos, end))\n            dst := add(dst, 0x20)\n            src := add(src, 0x20)\n        }\n    }\n\n    // string[]\n    function abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr(length))\n        let dst := array\n\n        mstore(array, length)\n        dst := add(array, 0x20)\n\n        let src := offset\n        if gt(add(src, mul(length, 0x20)), end) {\n            revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n        }\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n\n            let innerOffset := mload(src)\n            if gt(innerOffset, 0xffffffffffffffff) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n            let elementPos := add(offset, innerOffset)\n\n            mstore(dst, abi_decode_t_string_memory_ptr_fromMemory(elementPos, end))\n            dst := add(dst, 0x20)\n            src := add(src, 0x20)\n        }\n    }\n\n    // uint64[]\n    function abi_decode_available_length_t_array$_t_uint64_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_array$_t_uint64_$dyn_memory_ptr(length))\n        let dst := array\n\n        mstore(array, length)\n        dst := add(array, 0x20)\n\n        let src := offset\n        if gt(add(src, mul(length, 0x20)), end) {\n            revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n        }\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n\n            let elementPos := src\n\n            mstore(dst, abi_decode_t_uint64_fromMemory(elementPos, end))\n            dst := add(dst, 0x20)\n            src := add(src, 0x20)\n        }\n    }\n\n    function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n        mstore(array, length)\n        let dst := add(array, 0x20)\n        if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n        copy_calldata_to_memory(src, dst, length)\n    }\n\n    function abi_decode_available_length_t_bytes_memory_ptr_fromMemory(src, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n        mstore(array, length)\n        let dst := add(array, 0x20)\n        if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n        copy_memory_to_memory(src, dst, length)\n    }\n\n    function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n        mstore(array, length)\n        let dst := add(array, 0x20)\n        if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n        copy_memory_to_memory(src, dst, length)\n    }\n\n    // int128[]\n    function abi_decode_t_array$_t_int128_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := mload(offset)\n        array := abi_decode_available_length_t_array$_t_int128_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n    }\n\n    // int32[]\n    function abi_decode_t_array$_t_int32_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := mload(offset)\n        array := abi_decode_available_length_t_array$_t_int32_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n    }\n\n    // string[]\n    function abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := mload(offset)\n        array := abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n    }\n\n    // uint64[]\n    function abi_decode_t_array$_t_uint64_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := mload(offset)\n        array := abi_decode_available_length_t_array$_t_uint64_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n    }\n\n    function abi_decode_t_bool(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_bool(value)\n    }\n\n    function abi_decode_t_bool_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_bool(value)\n    }\n\n    function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_bytes32(value)\n    }\n\n    // bytes\n    function abi_decode_t_bytes_calldata_ptr(offset, end) -> arrayPos, length {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        length := calldataload(offset)\n        if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n        arrayPos := add(offset, 0x20)\n        if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n    }\n\n    // bytes\n    function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := calldataload(offset)\n        array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n    }\n\n    // bytes\n    function abi_decode_t_bytes_memory_ptr_fromMemory(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := mload(offset)\n        array := abi_decode_available_length_t_bytes_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n    }\n\n    function abi_decode_t_int128_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_int128(value)\n    }\n\n    function abi_decode_t_int32_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_int32(value)\n    }\n\n    // string\n    function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := mload(offset)\n        array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n    }\n\n    // struct Witnet.Buffer\n    function abi_decode_t_struct$_Buffer_$8042_memory_ptr(headStart, end) -> value {\n        if slt(sub(end, headStart), 0x40) { revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() }\n        value := allocate_memory(0x40)\n\n        {\n            // data\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() }\n\n            mstore(add(value, 0x00), abi_decode_t_bytes_memory_ptr(add(headStart, offset), end))\n\n        }\n\n        {\n            // cursor\n\n            let offset := 32\n\n            mstore(add(value, 0x20), abi_decode_t_uint32(add(headStart, offset), end))\n\n        }\n\n    }\n\n    // struct Witnet.Buffer\n    function abi_decode_t_struct$_Buffer_$8042_memory_ptr_fromMemory(headStart, end) -> value {\n        if slt(sub(end, headStart), 0x40) { revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() }\n        value := allocate_memory(0x40)\n\n        {\n            // data\n\n            let offset := mload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() }\n\n            mstore(add(value, 0x00), abi_decode_t_bytes_memory_ptr_fromMemory(add(headStart, offset), end))\n\n        }\n\n        {\n            // cursor\n\n            let offset := 32\n\n            mstore(add(value, 0x20), abi_decode_t_uint32_fromMemory(add(headStart, offset), end))\n\n        }\n\n    }\n\n    // struct Witnet.CBOR\n    function abi_decode_t_struct$_CBOR_$8037_memory_ptr(headStart, end) -> value {\n        if slt(sub(end, headStart), 0xc0) { revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() }\n        value := allocate_memory(0xc0)\n\n        {\n            // buffer\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() }\n\n            mstore(add(value, 0x00), abi_decode_t_struct$_Buffer_$8042_memory_ptr(add(headStart, offset), end))\n\n        }\n\n        {\n            // initialByte\n\n            let offset := 32\n\n            mstore(add(value, 0x20), abi_decode_t_uint8(add(headStart, offset), end))\n\n        }\n\n        {\n            // majorType\n\n            let offset := 64\n\n            mstore(add(value, 0x40), abi_decode_t_uint8(add(headStart, offset), end))\n\n        }\n\n        {\n            // additionalInformation\n\n            let offset := 96\n\n            mstore(add(value, 0x60), abi_decode_t_uint8(add(headStart, offset), end))\n\n        }\n\n        {\n            // len\n\n            let offset := 128\n\n            mstore(add(value, 0x80), abi_decode_t_uint64(add(headStart, offset), end))\n\n        }\n\n        {\n            // tag\n\n            let offset := 160\n\n            mstore(add(value, 0xa0), abi_decode_t_uint64(add(headStart, offset), end))\n\n        }\n\n    }\n\n    // struct Witnet.CBOR\n    function abi_decode_t_struct$_CBOR_$8037_memory_ptr_fromMemory(headStart, end) -> value {\n        if slt(sub(end, headStart), 0xc0) { revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() }\n        value := allocate_memory(0xc0)\n\n        {\n            // buffer\n\n            let offset := mload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() }\n\n            mstore(add(value, 0x00), abi_decode_t_struct$_Buffer_$8042_memory_ptr_fromMemory(add(headStart, offset), end))\n\n        }\n\n        {\n            // initialByte\n\n            let offset := 32\n\n            mstore(add(value, 0x20), abi_decode_t_uint8_fromMemory(add(headStart, offset), end))\n\n        }\n\n        {\n            // majorType\n\n            let offset := 64\n\n            mstore(add(value, 0x40), abi_decode_t_uint8_fromMemory(add(headStart, offset), end))\n\n        }\n\n        {\n            // additionalInformation\n\n            let offset := 96\n\n            mstore(add(value, 0x60), abi_decode_t_uint8_fromMemory(add(headStart, offset), end))\n\n        }\n\n        {\n            // len\n\n            let offset := 128\n\n            mstore(add(value, 0x80), abi_decode_t_uint64_fromMemory(add(headStart, offset), end))\n\n        }\n\n        {\n            // tag\n\n            let offset := 160\n\n            mstore(add(value, 0xa0), abi_decode_t_uint64_fromMemory(add(headStart, offset), end))\n\n        }\n\n    }\n\n    // struct Witnet.Result\n    function abi_decode_t_struct$_Result_$8023_memory_ptr(headStart, end) -> value {\n        if slt(sub(end, headStart), 0x40) { revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() }\n        value := allocate_memory(0x40)\n\n        {\n            // success\n\n            let offset := 0\n\n            mstore(add(value, 0x00), abi_decode_t_bool(add(headStart, offset), end))\n\n        }\n\n        {\n            // value\n\n            let offset := calldataload(add(headStart, 32))\n            if gt(offset, 0xffffffffffffffff) { revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() }\n\n            mstore(add(value, 0x20), abi_decode_t_struct$_CBOR_$8037_memory_ptr(add(headStart, offset), end))\n\n        }\n\n    }\n\n    function abi_decode_t_uint32(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint32(value)\n    }\n\n    function abi_decode_t_uint32_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_uint32(value)\n    }\n\n    function abi_decode_t_uint64(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint64(value)\n    }\n\n    function abi_decode_t_uint64_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_uint64(value)\n    }\n\n    function abi_decode_t_uint8(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint8(value)\n    }\n\n    function abi_decode_t_uint8_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_uint8(value)\n    }\n\n    function abi_decode_tuple_t_array$_t_int128_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := mload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_array$_t_int128_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_array$_t_int32_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := mload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_array$_t_int32_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := mload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_array$_t_uint64_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := mload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_array$_t_uint64_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_bytes32_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0, value1 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := mload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_bytes_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_int128_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_int128_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_int32_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_int32_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := mload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_struct$_CBOR_$8037_memory_ptr(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_struct$_CBOR_$8037_memory_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_struct$_CBOR_$8037_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := mload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_struct$_CBOR_$8037_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_struct$_Result_$8023_memory_ptr(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_struct$_Result_$8023_memory_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint64(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint64_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint64_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_encodeUpdatedPos_t_int128_to_t_int128_library(value0, pos) -> updatedPos {\n        abi_encode_t_int128_to_t_int128_library(value0, pos)\n        updatedPos := add(pos, 0x20)\n    }\n\n    function abi_encodeUpdatedPos_t_int32_to_t_int32_library(value0, pos) -> updatedPos {\n        abi_encode_t_int32_to_t_int32_library(value0, pos)\n        updatedPos := add(pos, 0x20)\n    }\n\n    function abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr_library(value0, pos) -> updatedPos {\n        updatedPos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_library(value0, pos)\n    }\n\n    function abi_encodeUpdatedPos_t_uint64_to_t_uint64_library(value0, pos) -> updatedPos {\n        abi_encode_t_uint64_to_t_uint64_library(value0, pos)\n        updatedPos := add(pos, 0x20)\n    }\n\n    // int128[] -> int128[]\n    function abi_encode_t_array$_t_int128_$dyn_memory_ptr_to_t_array$_t_int128_$dyn_memory_ptr_fromStack_library(value, pos)  -> end  {\n        let length := array_length_t_array$_t_int128_$dyn_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_array$_t_int128_$dyn_memory_ptr_fromStack_library(pos, length)\n        let baseRef := array_dataslot_t_array$_t_int128_$dyn_memory_ptr(value)\n        let srcPtr := baseRef\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n            let elementValue0 := mload(srcPtr)\n            pos := abi_encodeUpdatedPos_t_int128_to_t_int128_library(elementValue0, pos)\n            srcPtr := array_nextElement_t_array$_t_int128_$dyn_memory_ptr(srcPtr)\n        }\n        end := pos\n    }\n\n    // int32[] -> int32[]\n    function abi_encode_t_array$_t_int32_$dyn_memory_ptr_to_t_array$_t_int32_$dyn_memory_ptr_fromStack_library(value, pos)  -> end  {\n        let length := array_length_t_array$_t_int32_$dyn_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_array$_t_int32_$dyn_memory_ptr_fromStack_library(pos, length)\n        let baseRef := array_dataslot_t_array$_t_int32_$dyn_memory_ptr(value)\n        let srcPtr := baseRef\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n            let elementValue0 := mload(srcPtr)\n            pos := abi_encodeUpdatedPos_t_int32_to_t_int32_library(elementValue0, pos)\n            srcPtr := array_nextElement_t_array$_t_int32_$dyn_memory_ptr(srcPtr)\n        }\n        end := pos\n    }\n\n    // string[] -> string[]\n    function abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack_library(value, pos)  -> end  {\n        let length := array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack_library(pos, length)\n        let headStart := pos\n        let tail := add(pos, mul(length, 0x20))\n        let baseRef := array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value)\n        let srcPtr := baseRef\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, sub(tail, headStart))\n            let elementValue0 := mload(srcPtr)\n            tail := abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr_library(elementValue0, tail)\n            srcPtr := array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr(srcPtr)\n            pos := add(pos, 0x20)\n        }\n        pos := tail\n        end := pos\n    }\n\n    // uint64[] -> uint64[]\n    function abi_encode_t_array$_t_uint64_$dyn_memory_ptr_to_t_array$_t_uint64_$dyn_memory_ptr_fromStack_library(value, pos)  -> end  {\n        let length := array_length_t_array$_t_uint64_$dyn_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_array$_t_uint64_$dyn_memory_ptr_fromStack_library(pos, length)\n        let baseRef := array_dataslot_t_array$_t_uint64_$dyn_memory_ptr(value)\n        let srcPtr := baseRef\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\n        {\n            let elementValue0 := mload(srcPtr)\n            pos := abi_encodeUpdatedPos_t_uint64_to_t_uint64_library(elementValue0, pos)\n            srcPtr := array_nextElement_t_array$_t_uint64_$dyn_memory_ptr(srcPtr)\n        }\n        end := pos\n    }\n\n    function abi_encode_t_bool_to_t_bool_fromStack_library(value, pos) {\n        mstore(pos, cleanup_t_bool(value))\n    }\n\n    function abi_encode_t_bool_to_t_bool_library(value, pos) {\n        mstore(pos, cleanup_t_bool(value))\n    }\n\n    function abi_encode_t_bytes32_to_t_bytes32_fromStack_library(value, pos) {\n        mstore(pos, cleanup_t_bytes32(value))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_library(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_library(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_enum$_ErrorCodes_$8299_to_t_uint8_fromStack_library(value, pos) {\n        mstore(pos, convert_t_enum$_ErrorCodes_$8299_to_t_uint8(value))\n    }\n\n    function abi_encode_t_int128_to_t_int128_fromStack_library(value, pos) {\n        mstore(pos, cleanup_t_int128(value))\n    }\n\n    function abi_encode_t_int128_to_t_int128_library(value, pos) {\n        mstore(pos, cleanup_t_int128(value))\n    }\n\n    function abi_encode_t_int32_to_t_int32_fromStack_library(value, pos) {\n        mstore(pos, cleanup_t_int32(value))\n    }\n\n    function abi_encode_t_int32_to_t_int32_library(value, pos) {\n        mstore(pos, cleanup_t_int32(value))\n    }\n\n    function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack_library(value, pos) -> end {\n        let length := array_length_t_string_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_library(value, pos) -> end {\n        let length := array_length_t_string_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_library(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n        let length := array_length_t_string_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, length)\n    }\n\n    function abi_encode_t_stringliteral_06fad0051889b339312d16eb4a22ce922cb939c7a74f3a087fb28315293ae2e1_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 54)\n        store_literal_in_memory_06fad0051889b339312d16eb4a22ce922cb939c7a74f3a087fb28315293ae2e1(pos)\n        end := add(pos, 54)\n    }\n\n    function abi_encode_t_stringliteral_0fdce60631188ec72ee63fc1361d0a4c4be32af3243f9d750ff56d3026640c5d_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 23)\n        store_literal_in_memory_0fdce60631188ec72ee63fc1361d0a4c4be32af3243f9d750ff56d3026640c5d(pos)\n        end := add(pos, 23)\n    }\n\n    function abi_encode_t_stringliteral_10326a398e4ebae30db45e432dffe0bcbf9bb42c1ddf0acdf95f81f6937c3e6e_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 69)\n        store_literal_in_memory_10326a398e4ebae30db45e432dffe0bcbf9bb42c1ddf0acdf95f81f6937c3e6e(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_1592131424a8311c1140099f1562782fc79cb4437b828b679e0e77389ade83e5_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 17)\n        store_literal_in_memory_1592131424a8311c1140099f1562782fc79cb4437b828b679e0e77389ade83e5(pos)\n        end := add(pos, 17)\n    }\n\n    function abi_encode_t_stringliteral_1d02783bfdf9fcb10987fa30c69580dc05995a395206f98f8571e50bdc55f1de_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 74)\n        store_literal_in_memory_1d02783bfdf9fcb10987fa30c69580dc05995a395206f98f8571e50bdc55f1de(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_20219570d77827fb39a2615f42463838b5337135103169e6edf382cc9747ecb0_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 29)\n        store_literal_in_memory_20219570d77827fb39a2615f42463838b5337135103169e6edf382cc9747ecb0(pos)\n        end := add(pos, 29)\n    }\n\n    function abi_encode_t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 6)\n        store_literal_in_memory_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240(pos)\n        end := add(pos, 6)\n    }\n\n    function abi_encode_t_stringliteral_35d560c02aa8345814ff1f3323ab22fdca5038d982e35a8bd24bf31def042340_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 75)\n        store_literal_in_memory_35d560c02aa8345814ff1f3323ab22fdca5038d982e35a8bd24bf31def042340(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_38aad4b191165ea835c2dd674387b75fe0bd732e02a4f0a28df91297da890cb1_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 27)\n        store_literal_in_memory_38aad4b191165ea835c2dd674387b75fe0bd732e02a4f0a28df91297da890cb1(pos)\n        end := add(pos, 27)\n    }\n\n    function abi_encode_t_stringliteral_3901bb2e94f0903cb8c3d04caa6989483e39249a328a7790ca4b4dfad12665a7_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 16)\n        store_literal_in_memory_3901bb2e94f0903cb8c3d04caa6989483e39249a328a7790ca4b4dfad12665a7(pos)\n        end := add(pos, 16)\n    }\n\n    function abi_encode_t_stringliteral_4ec62780e6e71ad9c36f6f1c8b5d02daa88788dbb872d9876464dbb3ea85fc66_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 44)\n        store_literal_in_memory_4ec62780e6e71ad9c36f6f1c8b5d02daa88788dbb872d9876464dbb3ea85fc66(pos)\n        end := add(pos, 44)\n    }\n\n    function abi_encode_t_stringliteral_4ff103044b32139865c8582aa6a4cb8cfea297b0e275f15a2b83d02eb8c83ff5_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 72)\n        store_literal_in_memory_4ff103044b32139865c8582aa6a4cb8cfea297b0e275f15a2b83d02eb8c83ff5(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 12)\n        store_literal_in_memory_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b(pos)\n        end := add(pos, 12)\n    }\n\n    function abi_encode_t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 1)\n        store_literal_in_memory_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed(pos)\n        end := add(pos, 1)\n    }\n\n    function abi_encode_t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 6)\n        store_literal_in_memory_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b(pos)\n        end := add(pos, 6)\n    }\n\n    function abi_encode_t_stringliteral_5bfa9355c289a68288e465573f0cee9515462e9a79ed698ecc1d95d0eccfb916_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 15)\n        store_literal_in_memory_5bfa9355c289a68288e465573f0cee9515462e9a79ed698ecc1d95d0eccfb916(pos)\n        end := add(pos, 15)\n    }\n\n    function abi_encode_t_stringliteral_5c8a9e5034d6996add1c3633267ae82cc51190f2746c4ebbc6652dbd2b8f82f1_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 72)\n        store_literal_in_memory_5c8a9e5034d6996add1c3633267ae82cc51190f2746c4ebbc6652dbd2b8f82f1(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 16)\n        store_literal_in_memory_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5(pos)\n        end := add(pos, 16)\n    }\n\n    function abi_encode_t_stringliteral_645b5c892a1df9140a78ebb02f8cc9c52a58fd09049d30c9306d829f3e4067c0_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 74)\n        store_literal_in_memory_645b5c892a1df9140a78ebb02f8cc9c52a58fd09049d30c9306d829f3e4067c0(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_7cc2288f465823067474bbeb87210c75f7bfd4766f0c6b5247cfd60b08383395_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 74)\n        store_literal_in_memory_7cc2288f465823067474bbeb87210c75f7bfd4766f0c6b5247cfd60b08383395(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_88bb78c033779307de44be2567efd46e965cf6e46a3adeb9f4ff105453daf69a_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 33)\n        store_literal_in_memory_88bb78c033779307de44be2567efd46e965cf6e46a3adeb9f4ff105453daf69a(pos)\n        end := add(pos, 33)\n    }\n\n    function abi_encode_t_stringliteral_8ef34c94c12bfb3b89b23a8cf5312739770812e6628f56af30b56f1ffca49ea6_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 71)\n        store_literal_in_memory_8ef34c94c12bfb3b89b23a8cf5312739770812e6628f56af30b56f1ffca49ea6(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_9284e9e320638704d942d2f95e83ba0c405a6a96259c3d9b83ed3e7166e675f8_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 72)\n        store_literal_in_memory_9284e9e320638704d942d2f95e83ba0c405a6a96259c3d9b83ed3e7166e675f8(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_974710c668dd6e16ebf5515f4f47405fcb81d0b23362b2ad9c0cf9345899315d_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 26)\n        store_literal_in_memory_974710c668dd6e16ebf5515f4f47405fcb81d0b23362b2ad9c0cf9345899315d(pos)\n        end := add(pos, 26)\n    }\n\n    function abi_encode_t_stringliteral_987c65b83200eb14cc0e666fee30940e97d5c2fdb5e2afde3f82dca6f8a3bcb5_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 36)\n        store_literal_in_memory_987c65b83200eb14cc0e666fee30940e97d5c2fdb5e2afde3f82dca6f8a3bcb5(pos)\n        end := add(pos, 36)\n    }\n\n    function abi_encode_t_stringliteral_992d311c2b79570206080f0d7329953f913948b02046ef1f45a3c3e0d8b8ee9d_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 71)\n        store_literal_in_memory_992d311c2b79570206080f0d7329953f913948b02046ef1f45a3c3e0d8b8ee9d(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_9f69785389796d4b79459ae31c417869f46a1322b1e3456a4a22df0663d28a58_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 28)\n        store_literal_in_memory_9f69785389796d4b79459ae31c417869f46a1322b1e3456a4a22df0663d28a58(pos)\n        end := add(pos, 28)\n    }\n\n    function abi_encode_t_stringliteral_9ff666b38f4f949d93ee79bab5b7529f286ad35ae4e512164a783a0808de8dc2_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 26)\n        store_literal_in_memory_9ff666b38f4f949d93ee79bab5b7529f286ad35ae4e512164a783a0808de8dc2(pos)\n        end := add(pos, 26)\n    }\n\n    function abi_encode_t_stringliteral_b00a459d7874d8bc3d50440f99e23d9ac253a6ad184d53dfe2c9de75b7b30207_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 70)\n        store_literal_in_memory_b00a459d7874d8bc3d50440f99e23d9ac253a6ad184d53dfe2c9de75b7b30207(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_c8cb671b33240e09b97d3439dbe9ccd2970edc93a4c23a9327e4a03d0ff44594_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 29)\n        store_literal_in_memory_c8cb671b33240e09b97d3439dbe9ccd2970edc93a4c23a9327e4a03d0ff44594(pos)\n        end := add(pos, 29)\n    }\n\n    function abi_encode_t_stringliteral_cfa2b01b7f859ef10d698a8c97747b54ae5c2a99791045421f797714f2c56277_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 10)\n        store_literal_in_memory_cfa2b01b7f859ef10d698a8c97747b54ae5c2a99791045421f797714f2c56277(pos)\n        end := add(pos, 10)\n    }\n\n    function abi_encode_t_stringliteral_d38a6c7b702dbeba4dc6ea7575dfd8e441cc0edf53099fa173ced98029f4fc5a_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 73)\n        store_literal_in_memory_d38a6c7b702dbeba4dc6ea7575dfd8e441cc0edf53099fa173ced98029f4fc5a(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_dbad668f9a07384d40f3edacb1152b2613ed53a278c32ba014d9d3a6d99980f2_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 40)\n        store_literal_in_memory_dbad668f9a07384d40f3edacb1152b2613ed53a278c32ba014d9d3a6d99980f2(pos)\n        end := add(pos, 40)\n    }\n\n    function abi_encode_t_stringliteral_e7c4a6c38904320dd9a75bb779cf633704c4654e0ab698509b157354859e4100_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 8)\n        store_literal_in_memory_e7c4a6c38904320dd9a75bb779cf633704c4654e0ab698509b157354859e4100(pos)\n        end := add(pos, 8)\n    }\n\n    function abi_encode_t_stringliteral_f165ec18714352e5091dd2c6c219155ecf112e2eb5b52f8ed5193724bc1b520e_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 8)\n        store_literal_in_memory_f165ec18714352e5091dd2c6c219155ecf112e2eb5b52f8ed5193724bc1b520e(pos)\n        end := add(pos, 8)\n    }\n\n    // struct Witnet.Buffer -> struct Witnet.Buffer\n    function abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr_library(value, pos)  -> end  {\n        let tail := add(pos, 0x40)\n\n        {\n            // data\n\n            let memberValue0 := mload(add(value, 0x00))\n\n            mstore(add(pos, 0x00), sub(tail, pos))\n            tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_library(memberValue0, tail)\n\n        }\n\n        {\n            // cursor\n\n            let memberValue0 := mload(add(value, 0x20))\n            abi_encode_t_uint32_to_t_uint32_library(memberValue0, add(pos, 0x20))\n        }\n\n        end := tail\n    }\n\n    // struct Witnet.CBOR -> struct Witnet.CBOR\n    function abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_fromStack_library(value, pos)  -> end  {\n        let tail := add(pos, 0xc0)\n\n        {\n            // buffer\n\n            let memberValue0 := mload(add(value, 0x00))\n\n            mstore(add(pos, 0x00), sub(tail, pos))\n            tail := abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr_library(memberValue0, tail)\n\n        }\n\n        {\n            // initialByte\n\n            let memberValue0 := mload(add(value, 0x20))\n            abi_encode_t_uint8_to_t_uint8_library(memberValue0, add(pos, 0x20))\n        }\n\n        {\n            // majorType\n\n            let memberValue0 := mload(add(value, 0x40))\n            abi_encode_t_uint8_to_t_uint8_library(memberValue0, add(pos, 0x40))\n        }\n\n        {\n            // additionalInformation\n\n            let memberValue0 := mload(add(value, 0x60))\n            abi_encode_t_uint8_to_t_uint8_library(memberValue0, add(pos, 0x60))\n        }\n\n        {\n            // len\n\n            let memberValue0 := mload(add(value, 0x80))\n            abi_encode_t_uint64_to_t_uint64_library(memberValue0, add(pos, 0x80))\n        }\n\n        {\n            // tag\n\n            let memberValue0 := mload(add(value, 0xa0))\n            abi_encode_t_uint64_to_t_uint64_library(memberValue0, add(pos, 0xa0))\n        }\n\n        end := tail\n    }\n\n    // struct Witnet.CBOR -> struct Witnet.CBOR\n    function abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_library(value, pos)  -> end  {\n        let tail := add(pos, 0xc0)\n\n        {\n            // buffer\n\n            let memberValue0 := mload(add(value, 0x00))\n\n            mstore(add(pos, 0x00), sub(tail, pos))\n            tail := abi_encode_t_struct$_Buffer_$8042_memory_ptr_to_t_struct$_Buffer_$8042_memory_ptr_library(memberValue0, tail)\n\n        }\n\n        {\n            // initialByte\n\n            let memberValue0 := mload(add(value, 0x20))\n            abi_encode_t_uint8_to_t_uint8_library(memberValue0, add(pos, 0x20))\n        }\n\n        {\n            // majorType\n\n            let memberValue0 := mload(add(value, 0x40))\n            abi_encode_t_uint8_to_t_uint8_library(memberValue0, add(pos, 0x40))\n        }\n\n        {\n            // additionalInformation\n\n            let memberValue0 := mload(add(value, 0x60))\n            abi_encode_t_uint8_to_t_uint8_library(memberValue0, add(pos, 0x60))\n        }\n\n        {\n            // len\n\n            let memberValue0 := mload(add(value, 0x80))\n            abi_encode_t_uint64_to_t_uint64_library(memberValue0, add(pos, 0x80))\n        }\n\n        {\n            // tag\n\n            let memberValue0 := mload(add(value, 0xa0))\n            abi_encode_t_uint64_to_t_uint64_library(memberValue0, add(pos, 0xa0))\n        }\n\n        end := tail\n    }\n\n    // struct Witnet.Result -> struct Witnet.Result\n    function abi_encode_t_struct$_Result_$8023_memory_ptr_to_t_struct$_Result_$8023_memory_ptr_fromStack_library(value, pos)  -> end  {\n        let tail := add(pos, 0x40)\n\n        {\n            // success\n\n            let memberValue0 := mload(add(value, 0x00))\n            abi_encode_t_bool_to_t_bool_library(memberValue0, add(pos, 0x00))\n        }\n\n        {\n            // value\n\n            let memberValue0 := mload(add(value, 0x20))\n\n            mstore(add(pos, 0x20), sub(tail, pos))\n            tail := abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_library(memberValue0, tail)\n\n        }\n\n        end := tail\n    }\n\n    function abi_encode_t_uint32_to_t_uint32_library(value, pos) {\n        mstore(pos, cleanup_t_uint32(value))\n    }\n\n    function abi_encode_t_uint64_to_t_uint64_fromStack_library(value, pos) {\n        mstore(pos, cleanup_t_uint64(value))\n    }\n\n    function abi_encode_t_uint64_to_t_uint64_library(value, pos) {\n        mstore(pos, cleanup_t_uint64(value))\n    }\n\n    function abi_encode_t_uint8_to_t_uint8_library(value, pos) {\n        mstore(pos, cleanup_t_uint8(value))\n    }\n\n    function abi_encode_tuple_packed_t_stringliteral_1592131424a8311c1140099f1562782fc79cb4437b828b679e0e77389ade83e5_t_string_memory_ptr_t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n        pos := abi_encode_t_stringliteral_1592131424a8311c1140099f1562782fc79cb4437b828b679e0e77389ade83e5_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        pos := abi_encode_t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_packed_t_stringliteral_20219570d77827fb39a2615f42463838b5337135103169e6edf382cc9747ecb0_t_string_memory_ptr_t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5_t_string_memory_ptr_t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b_t_string_memory_ptr_t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b_t_string_memory_ptr_t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value3, value2, value1, value0) -> end {\n\n        pos := abi_encode_t_stringliteral_20219570d77827fb39a2615f42463838b5337135103169e6edf382cc9747ecb0_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        pos := abi_encode_t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1,  pos)\n\n        pos := abi_encode_t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value2,  pos)\n\n        pos := abi_encode_t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value3,  pos)\n\n        pos := abi_encode_t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_packed_t_stringliteral_3901bb2e94f0903cb8c3d04caa6989483e39249a328a7790ca4b4dfad12665a7_t_string_memory_ptr_t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5_t_string_memory_ptr_t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b_t_string_memory_ptr_t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b_t_string_memory_ptr_t_stringliteral_0fdce60631188ec72ee63fc1361d0a4c4be32af3243f9d750ff56d3026640c5d__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value3, value2, value1, value0) -> end {\n\n        pos := abi_encode_t_stringliteral_3901bb2e94f0903cb8c3d04caa6989483e39249a328a7790ca4b4dfad12665a7_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        pos := abi_encode_t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1,  pos)\n\n        pos := abi_encode_t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value2,  pos)\n\n        pos := abi_encode_t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value3,  pos)\n\n        pos := abi_encode_t_stringliteral_0fdce60631188ec72ee63fc1361d0a4c4be32af3243f9d750ff56d3026640c5d_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_packed_t_stringliteral_5bfa9355c289a68288e465573f0cee9515462e9a79ed698ecc1d95d0eccfb916_t_string_memory_ptr_t_stringliteral_38aad4b191165ea835c2dd674387b75fe0bd732e02a4f0a28df91297da890cb1__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n        pos := abi_encode_t_stringliteral_5bfa9355c289a68288e465573f0cee9515462e9a79ed698ecc1d95d0eccfb916_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        pos := abi_encode_t_stringliteral_38aad4b191165ea835c2dd674387b75fe0bd732e02a4f0a28df91297da890cb1_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_packed_t_stringliteral_974710c668dd6e16ebf5515f4f47405fcb81d0b23362b2ad9c0cf9345899315d_t_string_memory_ptr_t_stringliteral_9ff666b38f4f949d93ee79bab5b7529f286ad35ae4e512164a783a0808de8dc2__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n        pos := abi_encode_t_stringliteral_974710c668dd6e16ebf5515f4f47405fcb81d0b23362b2ad9c0cf9345899315d_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        pos := abi_encode_t_stringliteral_9ff666b38f4f949d93ee79bab5b7529f286ad35ae4e512164a783a0808de8dc2_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_packed_t_stringliteral_974710c668dd6e16ebf5515f4f47405fcb81d0b23362b2ad9c0cf9345899315d_t_string_memory_ptr_t_stringliteral_c8cb671b33240e09b97d3439dbe9ccd2970edc93a4c23a9327e4a03d0ff44594__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n        pos := abi_encode_t_stringliteral_974710c668dd6e16ebf5515f4f47405fcb81d0b23362b2ad9c0cf9345899315d_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        pos := abi_encode_t_stringliteral_c8cb671b33240e09b97d3439dbe9ccd2970edc93a4c23a9327e4a03d0ff44594_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_packed_t_stringliteral_987c65b83200eb14cc0e666fee30940e97d5c2fdb5e2afde3f82dca6f8a3bcb5_t_string_memory_ptr_t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5_t_string_memory_ptr_t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b_t_string_memory_ptr_t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b_t_string_memory_ptr_t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value3, value2, value1, value0) -> end {\n\n        pos := abi_encode_t_stringliteral_987c65b83200eb14cc0e666fee30940e97d5c2fdb5e2afde3f82dca6f8a3bcb5_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        pos := abi_encode_t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1,  pos)\n\n        pos := abi_encode_t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value2,  pos)\n\n        pos := abi_encode_t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value3,  pos)\n\n        pos := abi_encode_t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_packed_t_stringliteral_9f69785389796d4b79459ae31c417869f46a1322b1e3456a4a22df0663d28a58_t_string_memory_ptr_t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5_t_string_memory_ptr_t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b_t_string_memory_ptr_t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b_t_string_memory_ptr_t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value3, value2, value1, value0) -> end {\n\n        pos := abi_encode_t_stringliteral_9f69785389796d4b79459ae31c417869f46a1322b1e3456a4a22df0663d28a58_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        pos := abi_encode_t_stringliteral_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1,  pos)\n\n        pos := abi_encode_t_stringliteral_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value2,  pos)\n\n        pos := abi_encode_t_stringliteral_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value3,  pos)\n\n        pos := abi_encode_t_stringliteral_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_packed_t_stringliteral_dbad668f9a07384d40f3edacb1152b2613ed53a278c32ba014d9d3a6d99980f2_t_string_memory_ptr_t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n        pos := abi_encode_t_stringliteral_dbad668f9a07384d40f3edacb1152b2613ed53a278c32ba014d9d3a6d99980f2_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        pos := abi_encode_t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_packed_t_stringliteral_e7c4a6c38904320dd9a75bb779cf633704c4654e0ab698509b157354859e4100_t_string_memory_ptr_t_stringliteral_cfa2b01b7f859ef10d698a8c97747b54ae5c2a99791045421f797714f2c56277_t_string_memory_ptr_t_stringliteral_88bb78c033779307de44be2567efd46e965cf6e46a3adeb9f4ff105453daf69a_t_string_memory_ptr_t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value2, value1, value0) -> end {\n\n        pos := abi_encode_t_stringliteral_e7c4a6c38904320dd9a75bb779cf633704c4654e0ab698509b157354859e4100_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        pos := abi_encode_t_stringliteral_cfa2b01b7f859ef10d698a8c97747b54ae5c2a99791045421f797714f2c56277_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1,  pos)\n\n        pos := abi_encode_t_stringliteral_88bb78c033779307de44be2567efd46e965cf6e46a3adeb9f4ff105453daf69a_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value2,  pos)\n\n        pos := abi_encode_t_stringliteral_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_packed_t_stringliteral_f165ec18714352e5091dd2c6c219155ecf112e2eb5b52f8ed5193724bc1b520e_t_string_memory_ptr_t_stringliteral_06fad0051889b339312d16eb4a22ce922cb939c7a74f3a087fb28315293ae2e1_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value3, value2, value1, value0) -> end {\n\n        pos := abi_encode_t_stringliteral_f165ec18714352e5091dd2c6c219155ecf112e2eb5b52f8ed5193724bc1b520e_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        pos := abi_encode_t_stringliteral_06fad0051889b339312d16eb4a22ce922cb939c7a74f3a087fb28315293ae2e1_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1,  pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value2,  pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value3,  pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_packed_t_stringliteral_f165ec18714352e5091dd2c6c219155ecf112e2eb5b52f8ed5193724bc1b520e_t_string_memory_ptr_t_stringliteral_4ec62780e6e71ad9c36f6f1c8b5d02daa88788dbb872d9876464dbb3ea85fc66__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n        pos := abi_encode_t_stringliteral_f165ec18714352e5091dd2c6c219155ecf112e2eb5b52f8ed5193724bc1b520e_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        pos := abi_encode_t_stringliteral_4ec62780e6e71ad9c36f6f1c8b5d02daa88788dbb872d9876464dbb3ea85fc66_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_t_array$_t_int128_$dyn_memory_ptr__to_t_array$_t_int128_$dyn_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_array$_t_int128_$dyn_memory_ptr_to_t_array$_t_int128_$dyn_memory_ptr_fromStack_library(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_array$_t_int32_$dyn_memory_ptr__to_t_array$_t_int32_$dyn_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_array$_t_int32_$dyn_memory_ptr_to_t_array$_t_int32_$dyn_memory_ptr_fromStack_library(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack_library(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_array$_t_uint64_$dyn_memory_ptr__to_t_array$_t_uint64_$dyn_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_array$_t_uint64_$dyn_memory_ptr_to_t_array$_t_uint64_$dyn_memory_ptr_fromStack_library(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_bool_to_t_bool_fromStack_library(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_bytes32_to_t_bytes32_fromStack_library(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_enum$_ErrorCodes_$8299__to_t_uint8__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_enum$_ErrorCodes_$8299_to_t_uint8_fromStack_library(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_enum$_ErrorCodes_$8299_t_string_memory_ptr__to_t_uint8_t_string_memory_ptr__fromStack_library_reversed(headStart , value1, value0) -> tail {\n        tail := add(headStart, 64)\n\n        abi_encode_t_enum$_ErrorCodes_$8299_to_t_uint8_fromStack_library(value0,  add(headStart, 0))\n\n        mstore(add(headStart, 32), sub(tail, headStart))\n        tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack_library(value1,  tail)\n\n    }\n\n    function abi_encode_tuple_t_int128__to_t_int128__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_int128_to_t_int128_fromStack_library(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_int32__to_t_int32__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_int32_to_t_int32_fromStack_library(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack_library(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_10326a398e4ebae30db45e432dffe0bcbf9bb42c1ddf0acdf95f81f6937c3e6e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_10326a398e4ebae30db45e432dffe0bcbf9bb42c1ddf0acdf95f81f6937c3e6e_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_1d02783bfdf9fcb10987fa30c69580dc05995a395206f98f8571e50bdc55f1de__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_1d02783bfdf9fcb10987fa30c69580dc05995a395206f98f8571e50bdc55f1de_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_35d560c02aa8345814ff1f3323ab22fdca5038d982e35a8bd24bf31def042340__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_35d560c02aa8345814ff1f3323ab22fdca5038d982e35a8bd24bf31def042340_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_4ff103044b32139865c8582aa6a4cb8cfea297b0e275f15a2b83d02eb8c83ff5__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_4ff103044b32139865c8582aa6a4cb8cfea297b0e275f15a2b83d02eb8c83ff5_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_5c8a9e5034d6996add1c3633267ae82cc51190f2746c4ebbc6652dbd2b8f82f1__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_5c8a9e5034d6996add1c3633267ae82cc51190f2746c4ebbc6652dbd2b8f82f1_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_645b5c892a1df9140a78ebb02f8cc9c52a58fd09049d30c9306d829f3e4067c0__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_645b5c892a1df9140a78ebb02f8cc9c52a58fd09049d30c9306d829f3e4067c0_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_7cc2288f465823067474bbeb87210c75f7bfd4766f0c6b5247cfd60b08383395__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_7cc2288f465823067474bbeb87210c75f7bfd4766f0c6b5247cfd60b08383395_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_8ef34c94c12bfb3b89b23a8cf5312739770812e6628f56af30b56f1ffca49ea6__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_8ef34c94c12bfb3b89b23a8cf5312739770812e6628f56af30b56f1ffca49ea6_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_9284e9e320638704d942d2f95e83ba0c405a6a96259c3d9b83ed3e7166e675f8__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_9284e9e320638704d942d2f95e83ba0c405a6a96259c3d9b83ed3e7166e675f8_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_992d311c2b79570206080f0d7329953f913948b02046ef1f45a3c3e0d8b8ee9d__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_992d311c2b79570206080f0d7329953f913948b02046ef1f45a3c3e0d8b8ee9d_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_b00a459d7874d8bc3d50440f99e23d9ac253a6ad184d53dfe2c9de75b7b30207__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_b00a459d7874d8bc3d50440f99e23d9ac253a6ad184d53dfe2c9de75b7b30207_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_d38a6c7b702dbeba4dc6ea7575dfd8e441cc0edf53099fa173ced98029f4fc5a__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_d38a6c7b702dbeba4dc6ea7575dfd8e441cc0edf53099fa173ced98029f4fc5a_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_struct$_CBOR_$8037_memory_ptr__to_t_struct$_CBOR_$8037_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_struct$_CBOR_$8037_memory_ptr_to_t_struct$_CBOR_$8037_memory_ptr_fromStack_library(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_struct$_Result_$8023_memory_ptr__to_t_struct$_Result_$8023_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_struct$_Result_$8023_memory_ptr_to_t_struct$_Result_$8023_memory_ptr_fromStack_library(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_library_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_uint64_to_t_uint64_fromStack_library(value0,  add(headStart, 0))\n\n    }\n\n    function allocate_memory(size) -> memPtr {\n        memPtr := allocate_unbounded()\n        finalize_allocation(memPtr, size)\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function array_allocation_size_t_array$_t_int128_$dyn_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := mul(length, 0x20)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_allocation_size_t_array$_t_int32_$dyn_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := mul(length, 0x20)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := mul(length, 0x20)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_allocation_size_t_array$_t_uint64_$dyn_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := mul(length, 0x20)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := round_up_to_mul_of_32(length)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_allocation_size_t_string_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := round_up_to_mul_of_32(length)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_dataslot_t_array$_t_int128_$dyn_memory_ptr(ptr) -> data {\n        data := ptr\n\n        data := add(ptr, 0x20)\n\n    }\n\n    function array_dataslot_t_array$_t_int32_$dyn_memory_ptr(ptr) -> data {\n        data := ptr\n\n        data := add(ptr, 0x20)\n\n    }\n\n    function array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr(ptr) -> data {\n        data := ptr\n\n        data := add(ptr, 0x20)\n\n    }\n\n    function array_dataslot_t_array$_t_uint64_$dyn_memory_ptr(ptr) -> data {\n        data := ptr\n\n        data := add(ptr, 0x20)\n\n    }\n\n    function array_length_t_array$_t_int128_$dyn_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_length_t_array$_t_int32_$dyn_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_length_t_array$_t_uint64_$dyn_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_length_t_bytes_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_length_t_string_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_nextElement_t_array$_t_int128_$dyn_memory_ptr(ptr) -> next {\n        next := add(ptr, 0x20)\n    }\n\n    function array_nextElement_t_array$_t_int32_$dyn_memory_ptr(ptr) -> next {\n        next := add(ptr, 0x20)\n    }\n\n    function array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr(ptr) -> next {\n        next := add(ptr, 0x20)\n    }\n\n    function array_nextElement_t_array$_t_uint64_$dyn_memory_ptr(ptr) -> next {\n        next := add(ptr, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_array$_t_int128_$dyn_memory_ptr_fromStack_library(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_array$_t_int32_$dyn_memory_ptr_fromStack_library(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack_library(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_array$_t_uint64_$dyn_memory_ptr_fromStack_library(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_library(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_library(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n        updated_pos := pos\n    }\n\n    function checked_add_t_uint8(x, y) -> sum {\n        x := cleanup_t_uint8(x)\n        y := cleanup_t_uint8(y)\n\n        // overflow, if x > (maxValue - y)\n        if gt(x, sub(0xff, y)) { panic_error_0x11() }\n\n        sum := add(x, y)\n    }\n\n    function checked_div_t_uint64(x, y) -> r {\n        x := cleanup_t_uint64(x)\n        y := cleanup_t_uint64(y)\n        if iszero(y) { panic_error_0x12() }\n\n        r := div(x, y)\n    }\n\n    function cleanup_t_bool(value) -> cleaned {\n        cleaned := iszero(iszero(value))\n    }\n\n    function cleanup_t_bytes32(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_enum$_ErrorCodes_$8299(value) -> cleaned {\n        cleaned := value validator_assert_t_enum$_ErrorCodes_$8299(value)\n    }\n\n    function cleanup_t_int128(value) -> cleaned {\n        cleaned := signextend(15, value)\n    }\n\n    function cleanup_t_int32(value) -> cleaned {\n        cleaned := signextend(3, value)\n    }\n\n    function cleanup_t_uint32(value) -> cleaned {\n        cleaned := and(value, 0xffffffff)\n    }\n\n    function cleanup_t_uint64(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffff)\n    }\n\n    function cleanup_t_uint8(value) -> cleaned {\n        cleaned := and(value, 0xff)\n    }\n\n    function convert_t_enum$_ErrorCodes_$8299_to_t_uint8(value) -> converted {\n        converted := cleanup_t_enum$_ErrorCodes_$8299(value)\n    }\n\n    function copy_calldata_to_memory(src, dst, length) {\n        calldatacopy(dst, src, length)\n        // clear end\n        mstore(add(dst, length), 0)\n    }\n\n    function copy_memory_to_memory(src, dst, length) {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        if gt(i, length)\n        {\n            // clear end\n            mstore(add(dst, length), 0)\n        }\n    }\n\n    function finalize_allocation(memPtr, size) {\n        let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n        // protect against overflow\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n\n    function mod_t_uint64(x, y) -> r {\n        x := cleanup_t_uint64(x)\n        y := cleanup_t_uint64(y)\n        if iszero(y) { panic_error_0x12() }\n        r := mod(x, y)\n    }\n\n    function panic_error_0x11() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x12() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x21() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x32() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x41() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n\n    function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n        revert(0, 0)\n    }\n\n    function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n        revert(0, 0)\n    }\n\n    function revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() {\n        revert(0, 0)\n    }\n\n    function revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() {\n        revert(0, 0)\n    }\n\n    function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n        revert(0, 0)\n    }\n\n    function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n        revert(0, 0)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function round_up_to_mul_of_32(value) -> result {\n        result := and(add(value, 31), not(31))\n    }\n\n    function store_literal_in_memory_06fad0051889b339312d16eb4a22ce922cb939c7a74f3a087fb28315293ae2e1(memPtr) {\n\n        mstore(add(memPtr, 0), \" could not be retrieved. Failed \")\n\n        mstore(add(memPtr, 32), \"with HTTP error code: \")\n\n    }\n\n    function store_literal_in_memory_0fdce60631188ec72ee63fc1361d0a4c4be32af3243f9d750ff56d3026640c5d(memPtr) {\n\n        mstore(add(memPtr, 0), \" stage is not supported\")\n\n    }\n\n    function store_literal_in_memory_10326a398e4ebae30db45e432dffe0bcbf9bb42c1ddf0acdf95f81f6937c3e6e(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetParserLib: Tried to read b\")\n\n        mstore(add(memPtr, 32), \"ytes value from errored Witnet.R\")\n\n        mstore(add(memPtr, 64), \"esult\")\n\n    }\n\n    function store_literal_in_memory_1592131424a8311c1140099f1562782fc79cb4437b828b679e0e77389ade83e5(memPtr) {\n\n        mstore(add(memPtr, 0), \"Unknown error (0x\")\n\n        }\n\n        function store_literal_in_memory_1d02783bfdf9fcb10987fa30c69580dc05995a395206f98f8571e50bdc55f1de(memPtr) {\n\n            mstore(add(memPtr, 0), \"WitnetParserLib: Tried to read `\")\n\n            mstore(add(memPtr, 32), \"int128[]` value from errored Wit\")\n\n            mstore(add(memPtr, 64), \"net.Result\")\n\n        }\n\n        function store_literal_in_memory_20219570d77827fb39a2615f42463838b5337135103169e6edf382cc9747ecb0(memPtr) {\n\n            mstore(add(memPtr, 0), \"Underflow at operator code 0x\")\n\n        }\n\n        function store_literal_in_memory_228199271ce289649ae01771685d0d853e66e8def661ebe092180ffff30e3240(memPtr) {\n\n            mstore(add(memPtr, 0), \" stage\")\n\n        }\n\n        function store_literal_in_memory_35d560c02aa8345814ff1f3323ab22fdca5038d982e35a8bd24bf31def042340(memPtr) {\n\n            mstore(add(memPtr, 0), \"WitnetParserLib: Tried to read `\")\n\n            mstore(add(memPtr, 32), \"fixed16[]` value from errored Wi\")\n\n            mstore(add(memPtr, 64), \"tnet.Result\")\n\n        }\n\n        function store_literal_in_memory_38aad4b191165ea835c2dd674387b75fe0bd732e02a4f0a28df91297da890cb1(memPtr) {\n\n            mstore(add(memPtr, 0), \" was not a valid CBOR value\")\n\n        }\n\n        function store_literal_in_memory_3901bb2e94f0903cb8c3d04caa6989483e39249a328a7790ca4b4dfad12665a7(memPtr) {\n\n            mstore(add(memPtr, 0), \"Operator code 0x\")\n\n        }\n\n        function store_literal_in_memory_4ec62780e6e71ad9c36f6f1c8b5d02daa88788dbb872d9876464dbb3ea85fc66(memPtr) {\n\n            mstore(add(memPtr, 0), \" could not be retrieved because \")\n\n            mstore(add(memPtr, 32), \"of a timeout\")\n\n        }\n\n        function store_literal_in_memory_4ff103044b32139865c8582aa6a4cb8cfea297b0e275f15a2b83d02eb8c83ff5(memPtr) {\n\n            mstore(add(memPtr, 0), \"WitnetParserLib: Tried to read `\")\n\n            mstore(add(memPtr, 32), \"int128` value from errored Witne\")\n\n            mstore(add(memPtr, 64), \"t.Result\")\n\n        }\n\n        function store_literal_in_memory_576922de47c1df1bc0e8b07adab099debc58183313be535e248442e158f09d2b(memPtr) {\n\n            mstore(add(memPtr, 0), \" in script #\")\n\n        }\n\n        function store_literal_in_memory_59d76dc3b33357eda30db1508968fbb18f21b9cd2442f1559b20154ddaa4d7ed(memPtr) {\n\n        mstore(add(memPtr, 0), \")\")\n\n    }\n\n    function store_literal_in_memory_5afbd3336312b41fa5f0aba762fd16cfc8f77171ea0a11e245b84a6908cb181b(memPtr) {\n\n        mstore(add(memPtr, 0), \" from \")\n\n    }\n\n    function store_literal_in_memory_5bfa9355c289a68288e465573f0cee9515462e9a79ed698ecc1d95d0eccfb916(memPtr) {\n\n        mstore(add(memPtr, 0), \"Source script #\")\n\n    }\n\n    function store_literal_in_memory_5c8a9e5034d6996add1c3633267ae82cc51190f2746c4ebbc6652dbd2b8f82f1(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetParserLib: Tried to read `\")\n\n        mstore(add(memPtr, 32), \"uint64` value from errored Witne\")\n\n        mstore(add(memPtr, 64), \"t.Result\")\n\n    }\n\n    function store_literal_in_memory_5e4efa8250584e86929b41788e358072bdafa0a97f8a75ace8696822f401f4b5(memPtr) {\n\n        mstore(add(memPtr, 0), \" found at call #\")\n\n    }\n\n    function store_literal_in_memory_645b5c892a1df9140a78ebb02f8cc9c52a58fd09049d30c9306d829f3e4067c0(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetParserLib: Tried to read `\")\n\n        mstore(add(memPtr, 32), \"uint64[]` value from errored Wit\")\n\n        mstore(add(memPtr, 64), \"net.Result\")\n\n    }\n\n    function store_literal_in_memory_7cc2288f465823067474bbeb87210c75f7bfd4766f0c6b5247cfd60b08383395(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetParserLib: Tried to read `\")\n\n        mstore(add(memPtr, 32), \"string[]` value from errored Wit\")\n\n        mstore(add(memPtr, 64), \"net.Result\")\n\n    }\n\n    function store_literal_in_memory_88bb78c033779307de44be2567efd46e965cf6e46a3adeb9f4ff105453daf69a(memPtr) {\n\n        mstore(add(memPtr, 0), \" stage contained too many calls \")\n\n        mstore(add(memPtr, 32), \"(\")\n\n        }\n\n        function store_literal_in_memory_8ef34c94c12bfb3b89b23a8cf5312739770812e6628f56af30b56f1ffca49ea6(memPtr) {\n\n            mstore(add(memPtr, 0), \"WitnetParserLib: tried to read b\")\n\n            mstore(add(memPtr, 32), \"ytes32 value from errored Witnet\")\n\n            mstore(add(memPtr, 64), \".Result\")\n\n        }\n\n        function store_literal_in_memory_9284e9e320638704d942d2f95e83ba0c405a6a96259c3d9b83ed3e7166e675f8(memPtr) {\n\n            mstore(add(memPtr, 0), \"WitnetParserLib: Tried to read `\")\n\n            mstore(add(memPtr, 32), \"string` value from errored Witne\")\n\n            mstore(add(memPtr, 64), \"t.Result\")\n\n        }\n\n        function store_literal_in_memory_974710c668dd6e16ebf5515f4f47405fcb81d0b23362b2ad9c0cf9345899315d(memPtr) {\n\n            mstore(add(memPtr, 0), \"The CBOR value in script #\")\n\n        }\n\n        function store_literal_in_memory_987c65b83200eb14cc0e666fee30940e97d5c2fdb5e2afde3f82dca6f8a3bcb5(memPtr) {\n\n            mstore(add(memPtr, 0), \"Division by zero at operator cod\")\n\n            mstore(add(memPtr, 32), \"e 0x\")\n\n        }\n\n        function store_literal_in_memory_992d311c2b79570206080f0d7329953f913948b02046ef1f45a3c3e0d8b8ee9d(memPtr) {\n\n            mstore(add(memPtr, 0), \"WitnetParserLib: Tried to read e\")\n\n            mstore(add(memPtr, 32), \"rror code from successful Witnet\")\n\n            mstore(add(memPtr, 64), \".Result\")\n\n        }\n\n        function store_literal_in_memory_9f69785389796d4b79459ae31c417869f46a1322b1e3456a4a22df0663d28a58(memPtr) {\n\n            mstore(add(memPtr, 0), \"Overflow at operator code 0x\")\n\n        }\n\n        function store_literal_in_memory_9ff666b38f4f949d93ee79bab5b7529f286ad35ae4e512164a783a0808de8dc2(memPtr) {\n\n            mstore(add(memPtr, 0), \" was not an Array of calls\")\n\n        }\n\n        function store_literal_in_memory_b00a459d7874d8bc3d50440f99e23d9ac253a6ad184d53dfe2c9de75b7b30207(memPtr) {\n\n            mstore(add(memPtr, 0), \"WitnetParserLib: Tried to read `\")\n\n            mstore(add(memPtr, 32), \"bool` value from errored Witnet.\")\n\n            mstore(add(memPtr, 64), \"Result\")\n\n        }\n\n        function store_literal_in_memory_c8cb671b33240e09b97d3439dbe9ccd2970edc93a4c23a9327e4a03d0ff44594(memPtr) {\n\n            mstore(add(memPtr, 0), \" was not a valid Data Request\")\n\n        }\n\n        function store_literal_in_memory_cfa2b01b7f859ef10d698a8c97747b54ae5c2a99791045421f797714f2c56277(memPtr) {\n\n            mstore(add(memPtr, 0), \" from the \")\n\n        }\n\n        function store_literal_in_memory_d38a6c7b702dbeba4dc6ea7575dfd8e441cc0edf53099fa173ced98029f4fc5a(memPtr) {\n\n            mstore(add(memPtr, 0), \"WitnetParserLib: Tried to read `\")\n\n            mstore(add(memPtr, 32), \"fixed16` value from errored Witn\")\n\n            mstore(add(memPtr, 64), \"et.Result\")\n\n        }\n\n        function store_literal_in_memory_dbad668f9a07384d40f3edacb1152b2613ed53a278c32ba014d9d3a6d99980f2(memPtr) {\n\n            mstore(add(memPtr, 0), \"The request contained too many s\")\n\n            mstore(add(memPtr, 32), \"ources (\")\n\n            }\n\n            function store_literal_in_memory_e7c4a6c38904320dd9a75bb779cf633704c4654e0ab698509b157354859e4100(memPtr) {\n\n                mstore(add(memPtr, 0), \"Script #\")\n\n            }\n\n            function store_literal_in_memory_f165ec18714352e5091dd2c6c219155ecf112e2eb5b52f8ed5193724bc1b520e(memPtr) {\n\n                mstore(add(memPtr, 0), \"Source #\")\n\n            }\n\n            function validator_assert_t_enum$_ErrorCodes_$8299(value) {\n                if iszero(lt(value, 256)) { panic_error_0x21() }\n            }\n\n            function validator_revert_t_bool(value) {\n                if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n            }\n\n            function validator_revert_t_bytes32(value) {\n                if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n            }\n\n            function validator_revert_t_int128(value) {\n                if iszero(eq(value, cleanup_t_int128(value))) { revert(0, 0) }\n            }\n\n            function validator_revert_t_int32(value) {\n                if iszero(eq(value, cleanup_t_int32(value))) { revert(0, 0) }\n            }\n\n            function validator_revert_t_uint32(value) {\n                if iszero(eq(value, cleanup_t_uint32(value))) { revert(0, 0) }\n            }\n\n            function validator_revert_t_uint64(value) {\n                if iszero(eq(value, cleanup_t_uint64(value))) { revert(0, 0) }\n            }\n\n            function validator_revert_t_uint8(value) {\n                if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n            }\n\n        }\n","id":67,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{"witnet-solidity-bridge/contracts/libs/WitnetDecoderLib.sol":{"WitnetDecoderLib":[{"length":20,"start":1295},{"length":20,"start":1518},{"length":20,"start":1803},{"length":20,"start":2026},{"length":20,"start":2263},{"length":20,"start":5085},{"length":20,"start":5323},{"length":20,"start":5541},{"length":20,"start":5759},{"length":20,"start":6360},{"length":20,"start":6582},{"length":20,"start":6818},{"length":20,"start":7041}]}},"object":"730000000000000000000000000000000000000000301460806040526004361061012b5760003560e01c8063a1d45d56116100b7578063d45d097d1161007b578063d45d097d146103d1578063d8868db614610401578063e99e47f314610431578063f417daf514610461578063fc853c37146104915761012b565b8063a1d45d56146102e1578063a2e8765514610311578063abf82f4c14610341578063c71db52114610371578063cb5371c0146103a15761012b565b80632d26b9e2116100fe5780632d26b9e2146101f05780636646c119146102205780638233f9b3146102505780638cc5eb5414610280578063a1b90891146102b15761012b565b80630879730d1461013057806308efc09714610160578063130283ee14610190578063147e5c8f146101c0575b600080fd5b61014a60048036038101906101459190612ccf565b6104c1565b6040516101579190613b74565b60405180910390f35b61017a60048036038101906101759190612ccf565b6105a1565b6040516101879190613b30565b60405180910390f35b6101aa60048036038101906101a59190612c3d565b610680565b6040516101b79190613e33565b60405180910390f35b6101da60048036038101906101d59190612ccf565b6106be565b6040516101e79190613b74565b60405180910390f35b61020a60048036038101906102059190612ccf565b61079d565b6040516102179190613b52565b60405180910390f35b61023a60048036038101906102359190612ccf565b61087c565b6040516102479190613b96565b60405180910390f35b61026a60048036038101906102659190612ccf565b61088a565b6040516102779190613e55565b60405180910390f35b61029a60048036038101906102959190612ccf565b610964565b6040516102a8929190613c09565b60405180910390f35b6102cb60048036038101906102c69190612ccf565b611390565b6040516102d89190613bcc565b60405180910390f35b6102fb60048036038101906102f69190612ccf565b61146f565b6040516103089190613b96565b60405180910390f35b61032b60048036038101906103269190612ccf565b61147e565b6040516103389190613bb1565b60405180910390f35b61035b60048036038101906103569190612ccf565b611558565b6040516103689190613b96565b60405180910390f35b61038b60048036038101906103869190612ccf565b611632565b6040516103989190613c39565b60405180910390f35b6103bb60048036038101906103b69190612d18565b61170c565b6040516103c89190613c6f565b60405180910390f35b6103eb60048036038101906103e69190612ccf565b61183c565b6040516103f89190613bee565b60405180910390f35b61041b60048036038101906104169190612ccf565b61188b565b6040516104289190613c54565b60405180910390f35b61044b60048036038101906104469190612b04565b611965565b6040516104589190613e33565b60405180910390f35b61047b60048036038101906104769190612ccf565b611a55565b6040516104889190613c6f565b60405180910390f35b6104ab60048036038101906104a69190612ccf565b611b34565b6040516104b89190613b0e565b60405180910390f35b6060816000015115610508576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ff90613db1565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__63f8a597d390916040518263ffffffff1660e01b81526004016105459190613e11565b60006040518083038186803b15801561055d57600080fd5b505af4158015610571573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061059a9190612a61565b9050919050565b606081600001516105e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105de90613cd1565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__63531f4ba790916040518263ffffffff1660e01b81526004016106249190613e11565b60006040518083038186803b15801561063c57600080fd5b505af4158015610650573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061067991906129cf565b9050919050565b61068861210c565b600060278360a0015167ffffffffffffffff16141590506040518060400160405280821515815260200184815250915050919050565b60608160000151610704576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fb90613d31565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__63f8a597d390916040518263ffffffff1660e01b81526004016107419190613e11565b60006040518083038186803b15801561075957600080fd5b505af415801561076d573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906107969190612a61565b9050919050565b606081600001516107e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107da90613d51565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__63c5e88ff290916040518263ffffffff1660e01b81526004016108209190613e11565b60006040518083038186803b15801561083857600080fd5b505af415801561084c573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906108759190612a18565b9050919050565b600081600001519050919050565b600081600001516108d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c790613d11565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__637a8acab190916040518263ffffffff1660e01b815260040161090d9190613e11565b60206040518083038186803b15801561092557600080fd5b505af4158015610939573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095d9190612d45565b9050919050565b600060606000610973846104c1565b90506000815114156109c15760006040518060400160405280601d81526020017f556e6b6e6f776e206572726f7220286e6f206572726f7220636f646529000000815250925092505061138b565b60006109e7826000815181106109da576109d9614320565b5b6020026020010151611c13565b90506060600160ff8111156109ff576109fe6142f1565b5b8260ff811115610a1257610a116142f1565b5b148015610a2157506002835110155b15610a7057610a4a83600181518110610a3d57610a3c614320565b5b6020026020010151611c39565b604051602001610a5a9190613892565b6040516020818303038152906040529050611381565b600260ff811115610a8457610a836142f1565b5b8260ff811115610a9757610a966142f1565b5b148015610aa657506002835110155b15610af557610acf83600181518110610ac257610ac1614320565b5b6020026020010151611c39565b604051602001610adf91906138bf565b6040516020818303038152906040529050611380565b600360ff811115610b0957610b086142f1565b5b8260ff811115610b1c57610b1b6142f1565b5b148015610b2b57506002835110155b15610b7a57610b5483600181518110610b4757610b46614320565b5b6020026020010151611c39565b604051602001610b6491906138ec565b604051602081830303815290604052905061137f565b601060ff811115610b8e57610b8d6142f1565b5b8260ff811115610ba157610ba06142f1565b5b148015610bb057506002835110155b15610bff57610bd983600181518110610bcc57610bcb614320565b5b6020026020010151611c39565b604051602001610be99190613a03565b604051602081830303815290604052905061137e565b601160ff811115610c1357610c126142f1565b5b8260ff811115610c2657610c256142f1565b5b148015610c3557506004835110155b15610cce57610c5e83600281518110610c5157610c50614320565b5b6020026020010151611c39565b610c8284600181518110610c7557610c74614320565b5b602002602001015161170c565b610ca685600381518110610c9957610c98614320565b5b6020026020010151611c39565b604051602001610cb893929190613a30565b604051602081830303815290604052905061137d565b602060ff811115610ce257610ce16142f1565b5b8260ff811115610cf557610cf46142f1565b5b148015610d0457506005835110155b15610dc257610d2d83600481518110610d2057610d1f614320565b5b6020026020010151611fad565b610d5184600381518110610d4457610d43614320565b5b6020026020010151611c39565b610d7585600281518110610d6857610d67614320565b5b6020026020010151611c39565b610d9986600181518110610d8c57610d8b614320565b5b602002602001015161170c565b604051602001610dac949392919061381d565b604051602081830303815290604052905061137c565b603060ff811115610dd657610dd56142f1565b5b8260ff811115610de957610de86142f1565b5b148015610df857506003835110155b15610ee657610e2183600181518110610e1457610e13614320565b5b6020026020010151611c39565b610e51606485600281518110610e3a57610e39614320565b5b6020026020010151610e4c9190614138565b611c39565b610e8d600a606487600281518110610e6c57610e6b614320565b5b6020026020010151610e7e9190614262565b610e889190614138565b611c39565b610ebd600a87600281518110610ea657610ea5614320565b5b6020026020010151610eb89190614262565b611c39565b604051602001610ed09493929190613a8d565b604051602081830303815290604052905061137b565b603160ff811115610efa57610ef96142f1565b5b8260ff811115610f0d57610f0c6142f1565b5b148015610f1c57506002835110155b15610f6b57610f4583600181518110610f3857610f37614320565b5b6020026020010151611c39565b604051602001610f559190613ae1565b604051602081830303815290604052905061137a565b604060ff811115610f7f57610f7e6142f1565b5b8260ff811115610f9257610f916142f1565b5b148015610fa157506005835110155b1561105f57610fca83600481518110610fbd57610fbc614320565b5b6020026020010151611fad565b610fee84600381518110610fe157610fe0614320565b5b6020026020010151611c39565b6110128560028151811061100557611004614320565b5b6020026020010151611c39565b6110368660018151811061102957611028614320565b5b602002602001015161170c565b60405160200161104994939291906137a8565b6040516020818303038152906040529050611379565b604160ff811115611073576110726142f1565b5b8260ff811115611086576110856142f1565b5b14801561109557506005835110155b15611153576110be836004815181106110b1576110b0614320565b5b6020026020010151611fad565b6110e2846003815181106110d5576110d4614320565b5b6020026020010151611c39565b611106856002815181106110f9576110f8614320565b5b6020026020010151611c39565b61112a8660018151811061111d5761111c614320565b5b602002602001015161170c565b60405160200161113d949392919061398e565b6040516020818303038152906040529050611378565b604260ff811115611167576111666142f1565b5b8260ff81111561117a576111796142f1565b5b14801561118957506005835110155b15611247576111b2836004815181106111a5576111a4614320565b5b6020026020010151611fad565b6111d6846003815181106111c9576111c8614320565b5b6020026020010151611c39565b6111fa856002815181106111ed576111ec614320565b5b6020026020010151611c39565b61121e8660018151811061121157611210614320565b5b602002602001015161170c565b6040516020016112319493929190613919565b6040516020818303038152906040529050611377565b60e060ff81111561125b5761125a6142f1565b5b8260ff81111561126e5761126d6142f1565b5b1415611294576040518060600160405280603f8152602001614e57603f91399050611376565b60e160ff8111156112a8576112a76142f1565b5b8260ff8111156112bb576112ba6142f1565b5b14156112e157604051806080016040528060478152602001614ed7604791399050611375565b60e260ff8111156112f5576112f46142f1565b5b8260ff811115611308576113076142f1565b5b141561132e57604051806080016040528060418152602001614e96604191399050611374565b6113528360008151811061134557611344614320565b5b6020026020010151611fad565b604051602001611362919061377b565b60405160208183030381529060405290505b5b5b5b5b5b5b5b5b5b5b5b5b5b8181945094505050505b915091565b606081600001516113d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cd90613c91565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__63bb6ef6cf90916040518263ffffffff1660e01b81526004016114139190613e11565b60006040518083038186803b15801561142b57600080fd5b505af415801561143f573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906114689190612b51565b9050919050565b60008160000151159050919050565b600081600001516114c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bb90613d71565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__6308c05c3390916040518263ffffffff1660e01b81526004016115019190613e11565b60206040518083038186803b15801561151957600080fd5b505af415801561152d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115519190612ad7565b9050919050565b6000816000015161159e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159590613dd1565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__639eee60ca90916040518263ffffffff1660e01b81526004016115db9190613e11565b60206040518083038186803b1580156115f357600080fd5b505af4158015611607573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162b9190612aaa565b9050919050565b60008160000151611678576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166f90613cf1565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__6394863ea490916040518263ffffffff1660e01b81526004016116b59190613e11565b60206040518083038186803b1580156116cd57600080fd5b505af41580156116e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117059190612b9a565b9050919050565b606060008267ffffffffffffffff16141561175e576040518060400160405280600981526020017f72657472696576616c00000000000000000000000000000000000000000000008152509050611837565b60018267ffffffffffffffff1614156117ae576040518060400160405280600b81526020017f6167677265676174696f6e0000000000000000000000000000000000000000008152509050611837565b60028267ffffffffffffffff1614156117fe576040518060400160405280600581526020017f74616c6c790000000000000000000000000000000000000000000000000000008152509050611837565b6040518060400160405280600781526020017f756e6b6e6f776e0000000000000000000000000000000000000000000000000081525090505b919050565b600080611848836104c1565b905060008151141561185e576000915050611886565b6118828160008151811061187557611874614320565b5b6020026020010151611c13565b9150505b919050565b600081600001516118d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c890613df1565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__638138799a90916040518263ffffffff1660e01b815260040161190e9190613e11565b60206040518083038186803b15801561192657600080fd5b505af415801561193a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061195e9190612bc7565b9050919050565b61196d61210c565b600083838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505073__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__63dfca5d3490916040518263ffffffff1660e01b81526004016119ec9190613bcc565b60006040518083038186803b158015611a0457600080fd5b505af4158015611a18573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611a419190612c86565b9050611a4c81610680565b91505092915050565b60608160000151611a9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9290613d91565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__63e67c5bd190916040518263ffffffff1660e01b8152600401611ad89190613e11565b60006040518083038186803b158015611af057600080fd5b505af4158015611b04573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611b2d9190612bf4565b9050919050565b60608160000151611b7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7190613cb1565b60405180910390fd5b816020015173__$5e1c92a0c8bd25d9fa2d358c0bb6bbd582$__633380d81690916040518263ffffffff1660e01b8152600401611bb79190613e11565b60006040518083038186803b158015611bcf57600080fd5b505af4158015611be3573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611c0c9190612986565b9050919050565b60008167ffffffffffffffff1660ff811115611c3257611c316142f1565b5b9050919050565b6060600a8267ffffffffffffffff161015611cfc576000600167ffffffffffffffff811115611c6b57611c6a61434f565b5b6040519080825280601f01601f191660200182016040528015611c9d5781602001600182028036833780820191505090505b509050603083611cad9190614101565b60f81b81600081518110611cc457611cc3614320565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080915050611fa8565b60648267ffffffffffffffff161015611e28576000600267ffffffffffffffff811115611d2c57611d2b61434f565b5b6040519080825280601f01601f191660200182016040528015611d5e5781602001600182028036833780820191505090505b5090506030600a84611d709190614138565b611d7a9190614101565b60f81b81600081518110611d9157611d90614320565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506030600a84611dcf9190614262565b611dd99190614101565b60f81b81600181518110611df057611def614320565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080915050611fa8565b6000600367ffffffffffffffff811115611e4557611e4461434f565b5b6040519080825280601f01601f191660200182016040528015611e775781602001600182028036833780820191505090505b5090506030606484611e899190614138565b611e939190614101565b60f81b81600081518110611eaa57611ea9614320565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506030600a606485611eea9190614262565b611ef49190614138565b611efe9190614101565b60f81b81600181518110611f1557611f14614320565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506030600a84611f539190614262565b611f5d9190614101565b60f81b81600281518110611f7457611f73614320565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350809150505b919050565b60606000600267ffffffffffffffff811115611fcc57611fcb61434f565b5b6040519080825280601f01601f191660200182016040528015611ffe5781602001600182028036833780820191505090505b509050600060306010856120129190614138565b61201c9190614101565b90506000603060108661202f9190614262565b6120399190614101565b905060398260ff161115612057576007826120549190614101565b91505b60398160ff161115612073576007816120709190614101565b90505b8160f81b8360008151811061208b5761208a614320565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060f81b836001815181106120d2576120d1614320565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350829350505050919050565b604051806040016040528060001515815260200161212861212e565b81525090565b6040518060c00160405280612141612187565b8152602001600060ff168152602001600060ff168152602001600060ff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff1681525090565b604051806040016040528060608152602001600063ffffffff1681525090565b60006121ba6121b584613e95565b613e70565b905080838252602082019050828560208602820111156121dd576121dc614392565b5b60005b8581101561220d57816121f388826125f4565b8452602084019350602083019250506001810190506121e0565b5050509392505050565b600061222a61222584613ec1565b613e70565b9050808382526020820190508285602086028201111561224d5761224c614392565b5b60005b8581101561227d57816122638882612609565b845260208401935060208301925050600181019050612250565b5050509392505050565b600061229a61229584613eed565b613e70565b905080838252602082019050828560208602820111156122bd576122bc614392565b5b60005b8581101561230b57815167ffffffffffffffff8111156122e3576122e2614383565b5b8086016122f0898261261e565b855260208501945060208401935050506001810190506122c0565b5050509392505050565b600061232861232384613f19565b613e70565b9050808382526020820190508285602086028201111561234b5761234a614392565b5b60005b8581101561237b57816123618882612947565b84526020840193506020830192505060018101905061234e565b5050509392505050565b600061239861239384613f45565b613e70565b9050828152602081018484840111156123b4576123b3614397565b5b6123bf8482856141ef565b509392505050565b60006123da6123d584613f45565b613e70565b9050828152602081018484840111156123f6576123f5614397565b5b6124018482856141fe565b509392505050565b600061241c61241784613f76565b613e70565b90508281526020810184848401111561243857612437614397565b5b6124438482856141fe565b509392505050565b600082601f8301126124605761245f614383565b5b81516124708482602086016121a7565b91505092915050565b600082601f83011261248e5761248d614383565b5b815161249e848260208601612217565b91505092915050565b600082601f8301126124bc576124bb614383565b5b81516124cc848260208601612287565b91505092915050565b600082601f8301126124ea576124e9614383565b5b81516124fa848260208601612315565b91505092915050565b60008135905061251281614db5565b92915050565b60008151905061252781614db5565b92915050565b60008151905061253c81614dcc565b92915050565b60008083601f84011261255857612557614383565b5b8235905067ffffffffffffffff8111156125755761257461437e565b5b60208301915083600182028301111561259157612590614392565b5b9250929050565b600082601f8301126125ad576125ac614383565b5b81356125bd848260208601612385565b91505092915050565b600082601f8301126125db576125da614383565b5b81516125eb8482602086016123c7565b91505092915050565b60008151905061260381614de3565b92915050565b60008151905061261881614dfa565b92915050565b600082601f83011261263357612632614383565b5b8151612643848260208601612409565b91505092915050565b60006040828403121561266257612661614388565b5b61266c6040613e70565b9050600082013567ffffffffffffffff81111561268c5761268b61438d565b5b61269884828501612598565b60008301525060206126ac84828501612908565b60208301525092915050565b6000604082840312156126ce576126cd614388565b5b6126d86040613e70565b9050600082015167ffffffffffffffff8111156126f8576126f761438d565b5b612704848285016125c6565b60008301525060206127188482850161291d565b60208301525092915050565b600060c0828403121561273a57612739614388565b5b61274460c0613e70565b9050600082013567ffffffffffffffff8111156127645761276361438d565b5b6127708482850161264c565b60008301525060206127848482850161295c565b60208301525060406127988482850161295c565b60408301525060606127ac8482850161295c565b60608301525060806127c084828501612932565b60808301525060a06127d484828501612932565b60a08301525092915050565b600060c082840312156127f6576127f5614388565b5b61280060c0613e70565b9050600082015167ffffffffffffffff8111156128205761281f61438d565b5b61282c848285016126b8565b600083015250602061284084828501612971565b602083015250604061285484828501612971565b604083015250606061286884828501612971565b606083015250608061287c84828501612947565b60808301525060a061289084828501612947565b60a08301525092915050565b6000604082840312156128b2576128b1614388565b5b6128bc6040613e70565b905060006128cc84828501612503565b600083015250602082013567ffffffffffffffff8111156128f0576128ef61438d565b5b6128fc84828501612724565b60208301525092915050565b60008135905061291781614e11565b92915050565b60008151905061292c81614e11565b92915050565b60008135905061294181614e28565b92915050565b60008151905061295681614e28565b92915050565b60008135905061296b81614e3f565b92915050565b60008151905061298081614e3f565b92915050565b60006020828403121561299c5761299b6143a1565b5b600082015167ffffffffffffffff8111156129ba576129b961439c565b5b6129c68482850161244b565b91505092915050565b6000602082840312156129e5576129e46143a1565b5b600082015167ffffffffffffffff811115612a0357612a0261439c565b5b612a0f84828501612479565b91505092915050565b600060208284031215612a2e57612a2d6143a1565b5b600082015167ffffffffffffffff811115612a4c57612a4b61439c565b5b612a58848285016124a7565b91505092915050565b600060208284031215612a7757612a766143a1565b5b600082015167ffffffffffffffff811115612a9557612a9461439c565b5b612aa1848285016124d5565b91505092915050565b600060208284031215612ac057612abf6143a1565b5b6000612ace84828501612518565b91505092915050565b600060208284031215612aed57612aec6143a1565b5b6000612afb8482850161252d565b91505092915050565b60008060208385031215612b1b57612b1a6143a1565b5b600083013567ffffffffffffffff811115612b3957612b3861439c565b5b612b4585828601612542565b92509250509250929050565b600060208284031215612b6757612b666143a1565b5b600082015167ffffffffffffffff811115612b8557612b8461439c565b5b612b91848285016125c6565b91505092915050565b600060208284031215612bb057612baf6143a1565b5b6000612bbe848285016125f4565b91505092915050565b600060208284031215612bdd57612bdc6143a1565b5b6000612beb84828501612609565b91505092915050565b600060208284031215612c0a57612c096143a1565b5b600082015167ffffffffffffffff811115612c2857612c2761439c565b5b612c348482850161261e565b91505092915050565b600060208284031215612c5357612c526143a1565b5b600082013567ffffffffffffffff811115612c7157612c7061439c565b5b612c7d84828501612724565b91505092915050565b600060208284031215612c9c57612c9b6143a1565b5b600082015167ffffffffffffffff811115612cba57612cb961439c565b5b612cc6848285016127e0565b91505092915050565b600060208284031215612ce557612ce46143a1565b5b600082013567ffffffffffffffff811115612d0357612d0261439c565b5b612d0f8482850161289c565b91505092915050565b600060208284031215612d2e57612d2d6143a1565b5b6000612d3c84828501612932565b91505092915050565b600060208284031215612d5b57612d5a6143a1565b5b6000612d6984828501612947565b91505092915050565b6000612d7e838361301a565b60208301905092915050565b6000612d968383613038565b60208301905092915050565b6000612dae8383613080565b905092915050565b6000612dc2838361375d565b60208301905092915050565b6000612dd982613fe7565b612de3818561405d565b9350612dee83613fa7565b8060005b83811015612e1f578151612e068882612d72565b9750612e1183614029565b925050600181019050612df2565b5085935050505092915050565b6000612e3782613ff2565b612e41818561406e565b9350612e4c83613fb7565b8060005b83811015612e7d578151612e648882612d8a565b9750612e6f83614036565b925050600181019050612e50565b5085935050505092915050565b6000612e9582613ffd565b612e9f818561407f565b935083602082028501612eb185613fc7565b8060005b85811015612eed5784840389528151612ece8582612da2565b9450612ed983614043565b925060208a01995050600181019050612eb5565b50829750879550505050505092915050565b6000612f0a82614008565b612f148185614090565b9350612f1f83613fd7565b8060005b83811015612f50578151612f378882612db6565b9750612f4283614050565b925050600181019050612f23565b5085935050505092915050565b612f6681614169565b82525050565b612f7581614169565b82525050565b612f8481614175565b82525050565b6000612f9582614013565b612f9f81856140a1565b9350612faf8185602086016141fe565b612fb8816143a6565b840191505092915050565b6000612fce82614013565b612fd881856140b2565b9350612fe88185602086016141fe565b612ff1816143a6565b840191505092915050565b613005816141dd565b82525050565b61301481614192565b82525050565b61302381614192565b82525050565b6130328161419f565b82525050565b6130418161419f565b82525050565b60006130528261401e565b61305c81856140d4565b935061306c8185602086016141fe565b613075816143a6565b840191505092915050565b600061308b8261401e565b61309581856140e5565b93506130a58185602086016141fe565b6130ae816143a6565b840191505092915050565b60006130c48261401e565b6130ce81856140f6565b93506130de8185602086016141fe565b80840191505092915050565b60006130f76036836140f6565b9150613102826143b7565b603682019050919050565b600061311a6017836140f6565b915061312582614406565b601782019050919050565b600061313d6045836140c3565b91506131488261442f565b606082019050919050565b60006131606011836140f6565b915061316b826144a4565b601182019050919050565b6000613183604a836140c3565b915061318e826144cd565b606082019050919050565b60006131a6601d836140f6565b91506131b182614542565b601d82019050919050565b60006131c96006836140f6565b91506131d48261456b565b600682019050919050565b60006131ec604b836140c3565b91506131f782614594565b606082019050919050565b600061320f601b836140f6565b915061321a82614609565b601b82019050919050565b60006132326010836140f6565b915061323d82614632565b601082019050919050565b6000613255602c836140f6565b91506132608261465b565b602c82019050919050565b60006132786048836140c3565b9150613283826146aa565b606082019050919050565b600061329b600c836140f6565b91506132a68261471f565b600c82019050919050565b60006132be6001836140f6565b91506132c982614748565b600182019050919050565b60006132e16006836140f6565b91506132ec82614771565b600682019050919050565b6000613304600f836140f6565b915061330f8261479a565b600f82019050919050565b60006133276048836140c3565b9150613332826147c3565b606082019050919050565b600061334a6010836140f6565b915061335582614838565b601082019050919050565b600061336d604a836140c3565b915061337882614861565b606082019050919050565b6000613390604a836140c3565b915061339b826148d6565b606082019050919050565b60006133b36021836140f6565b91506133be8261494b565b602182019050919050565b60006133d66047836140c3565b91506133e18261499a565b606082019050919050565b60006133f96048836140c3565b915061340482614a0f565b606082019050919050565b600061341c601a836140f6565b915061342782614a84565b601a82019050919050565b600061343f6024836140f6565b915061344a82614aad565b602482019050919050565b60006134626047836140c3565b915061346d82614afc565b606082019050919050565b6000613485601c836140f6565b915061349082614b71565b601c82019050919050565b60006134a8601a836140f6565b91506134b382614b9a565b601a82019050919050565b60006134cb6046836140c3565b91506134d682614bc3565b606082019050919050565b60006134ee601d836140f6565b91506134f982614c38565b601d82019050919050565b6000613511600a836140f6565b915061351c82614c61565b600a82019050919050565b60006135346049836140c3565b915061353f82614c8a565b606082019050919050565b60006135576028836140f6565b915061356282614cff565b602882019050919050565b600061357a6008836140f6565b915061358582614d4e565b600882019050919050565b600061359d6008836140f6565b91506135a882614d77565b600882019050919050565b600060408301600083015184820360008601526135d08282612fc3565b91505060208301516135e5602086018261373f565b508091505092915050565b600060c083016000830151848203600086015261360d82826135b3565b9150506020830151613622602086018261376c565b506040830151613635604086018261376c565b506060830151613648606086018261376c565b50608083015161365b608086018261375d565b5060a083015161366e60a086018261375d565b508091505092915050565b600060c083016000830151848203600086015261369682826135b3565b91505060208301516136ab602086018261376c565b5060408301516136be604086018261376c565b5060608301516136d1606086018261376c565b5060808301516136e4608086018261375d565b5060a08301516136f760a086018261375d565b508091505092915050565b600060408301600083015161371a6000860182612f6c565b50602083015184820360208601526137328282613679565b9150508091505092915050565b613748816141ac565b82525050565b613757816141bc565b82525050565b613766816141bc565b82525050565b613775816141d0565b82525050565b600061378682613153565b915061379282846130b9565b915061379d826132b1565b915081905092915050565b60006137b382613199565b91506137bf82876130b9565b91506137ca8261333d565b91506137d682866130b9565b91506137e18261328e565b91506137ed82856130b9565b91506137f8826132d4565b915061380482846130b9565b915061380f826131bc565b915081905095945050505050565b600061382882613225565b915061383482876130b9565b915061383f8261333d565b915061384b82866130b9565b91506138568261328e565b915061386282856130b9565b915061386d826132d4565b915061387982846130b9565b91506138848261310d565b915081905095945050505050565b600061389d826132f7565b91506138a982846130b9565b91506138b482613202565b915081905092915050565b60006138ca8261340f565b91506138d682846130b9565b91506138e18261349b565b915081905092915050565b60006138f78261340f565b915061390382846130b9565b915061390e826134e1565b915081905092915050565b600061392482613432565b915061393082876130b9565b915061393b8261333d565b915061394782866130b9565b91506139528261328e565b915061395e82856130b9565b9150613969826132d4565b915061397582846130b9565b9150613980826131bc565b915081905095945050505050565b600061399982613478565b91506139a582876130b9565b91506139b08261333d565b91506139bc82866130b9565b91506139c78261328e565b91506139d382856130b9565b91506139de826132d4565b91506139ea82846130b9565b91506139f5826131bc565b915081905095945050505050565b6000613a0e8261354a565b9150613a1a82846130b9565b9150613a25826132b1565b915081905092915050565b6000613a3b8261356d565b9150613a4782866130b9565b9150613a5282613504565b9150613a5e82856130b9565b9150613a69826133a6565b9150613a7582846130b9565b9150613a80826132b1565b9150819050949350505050565b6000613a9882613590565b9150613aa482876130b9565b9150613aaf826130ea565b9150613abb82866130b9565b9150613ac782856130b9565b9150613ad382846130b9565b915081905095945050505050565b6000613aec82613590565b9150613af882846130b9565b9150613b0382613248565b915081905092915050565b60006020820190508181036000830152613b288184612dce565b905092915050565b60006020820190508181036000830152613b4a8184612e2c565b905092915050565b60006020820190508181036000830152613b6c8184612e8a565b905092915050565b60006020820190508181036000830152613b8e8184612eff565b905092915050565b6000602082019050613bab6000830184612f5d565b92915050565b6000602082019050613bc66000830184612f7b565b92915050565b60006020820190508181036000830152613be68184612f8a565b905092915050565b6000602082019050613c036000830184612ffc565b92915050565b6000604082019050613c1e6000830185612ffc565b8181036020830152613c308184613047565b90509392505050565b6000602082019050613c4e600083018461300b565b92915050565b6000602082019050613c696000830184613029565b92915050565b60006020820190508181036000830152613c898184613047565b905092915050565b60006020820190508181036000830152613caa81613130565b9050919050565b60006020820190508181036000830152613cca81613176565b9050919050565b60006020820190508181036000830152613cea816131df565b9050919050565b60006020820190508181036000830152613d0a8161326b565b9050919050565b60006020820190508181036000830152613d2a8161331a565b9050919050565b60006020820190508181036000830152613d4a81613360565b9050919050565b60006020820190508181036000830152613d6a81613383565b9050919050565b60006020820190508181036000830152613d8a816133c9565b9050919050565b60006020820190508181036000830152613daa816133ec565b9050919050565b60006020820190508181036000830152613dca81613455565b9050919050565b60006020820190508181036000830152613dea816134be565b9050919050565b60006020820190508181036000830152613e0a81613527565b9050919050565b60006020820190508181036000830152613e2b81846135f0565b905092915050565b60006020820190508181036000830152613e4d8184613702565b905092915050565b6000602082019050613e6a600083018461374e565b92915050565b6000613e7a613e8b565b9050613e868282614231565b919050565b6000604051905090565b600067ffffffffffffffff821115613eb057613eaf61434f565b5b602082029050602081019050919050565b600067ffffffffffffffff821115613edc57613edb61434f565b5b602082029050602081019050919050565b600067ffffffffffffffff821115613f0857613f0761434f565b5b602082029050602081019050919050565b600067ffffffffffffffff821115613f3457613f3361434f565b5b602082029050602081019050919050565b600067ffffffffffffffff821115613f6057613f5f61434f565b5b613f69826143a6565b9050602081019050919050565b600067ffffffffffffffff821115613f9157613f9061434f565b5b613f9a826143a6565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061410c826141d0565b9150614117836141d0565b92508260ff0382111561412d5761412c614293565b5b828201905092915050565b6000614143826141bc565b915061414e836141bc565b92508261415e5761415d6142c2565b5b828204905092915050565b60008115159050919050565b6000819050919050565b600081905061418d82614da0565b919050565b600081600f0b9050919050565b60008160030b9050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b60006141e88261417f565b9050919050565b82818337600083830152505050565b60005b8381101561421c578082015181840152602081019050614201565b8381111561422b576000848401525b50505050565b61423a826143a6565b810181811067ffffffffffffffff821117156142595761425861434f565b5b80604052505050565b600061426d826141bc565b9150614278836141bc565b925082614288576142876142c2565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f20636f756c64206e6f74206265207265747269657665642e204661696c65642060008201527f776974682048545450206572726f7220636f64653a2000000000000000000000602082015250565b7f207374616765206973206e6f7420737570706f72746564000000000000000000600082015250565b7f5769746e65745061727365724c69623a20547269656420746f2072656164206260008201527f797465732076616c75652066726f6d206572726f726564205769746e65742e5260208201527f6573756c74000000000000000000000000000000000000000000000000000000604082015250565b7f556e6b6e6f776e206572726f7220283078000000000000000000000000000000600082015250565b7f5769746e65745061727365724c69623a20547269656420746f2072656164206060008201527f696e743132385b5d602076616c75652066726f6d206572726f7265642057697460208201527f6e65742e526573756c7400000000000000000000000000000000000000000000604082015250565b7f556e646572666c6f77206174206f70657261746f7220636f6465203078000000600082015250565b7f2073746167650000000000000000000000000000000000000000000000000000600082015250565b7f5769746e65745061727365724c69623a20547269656420746f2072656164206060008201527f666978656431365b5d602076616c75652066726f6d206572726f72656420576960208201527f746e65742e526573756c74000000000000000000000000000000000000000000604082015250565b7f20776173206e6f7420612076616c69642043424f522076616c75650000000000600082015250565b7f4f70657261746f7220636f646520307800000000000000000000000000000000600082015250565b7f20636f756c64206e6f742062652072657472696576656420626563617573652060008201527f6f6620612074696d656f75740000000000000000000000000000000000000000602082015250565b7f5769746e65745061727365724c69623a20547269656420746f2072656164206060008201527f696e74313238602076616c75652066726f6d206572726f726564205769746e6560208201527f742e526573756c74000000000000000000000000000000000000000000000000604082015250565b7f20696e2073637269707420230000000000000000000000000000000000000000600082015250565b7f2900000000000000000000000000000000000000000000000000000000000000600082015250565b7f2066726f6d200000000000000000000000000000000000000000000000000000600082015250565b7f536f757263652073637269707420230000000000000000000000000000000000600082015250565b7f5769746e65745061727365724c69623a20547269656420746f2072656164206060008201527f75696e743634602076616c75652066726f6d206572726f726564205769746e6560208201527f742e526573756c74000000000000000000000000000000000000000000000000604082015250565b7f20666f756e642061742063616c6c202300000000000000000000000000000000600082015250565b7f5769746e65745061727365724c69623a20547269656420746f2072656164206060008201527f75696e7436345b5d602076616c75652066726f6d206572726f7265642057697460208201527f6e65742e526573756c7400000000000000000000000000000000000000000000604082015250565b7f5769746e65745061727365724c69623a20547269656420746f2072656164206060008201527f737472696e675b5d602076616c75652066726f6d206572726f7265642057697460208201527f6e65742e526573756c7400000000000000000000000000000000000000000000604082015250565b7f20737461676520636f6e7461696e656420746f6f206d616e792063616c6c732060008201527f2800000000000000000000000000000000000000000000000000000000000000602082015250565b7f5769746e65745061727365724c69623a20747269656420746f2072656164206260008201527f7974657333322076616c75652066726f6d206572726f726564205769746e657460208201527f2e526573756c7400000000000000000000000000000000000000000000000000604082015250565b7f5769746e65745061727365724c69623a20547269656420746f2072656164206060008201527f737472696e67602076616c75652066726f6d206572726f726564205769746e6560208201527f742e526573756c74000000000000000000000000000000000000000000000000604082015250565b7f5468652043424f522076616c756520696e207363726970742023000000000000600082015250565b7f4469766973696f6e206279207a65726f206174206f70657261746f7220636f6460008201527f6520307800000000000000000000000000000000000000000000000000000000602082015250565b7f5769746e65745061727365724c69623a20547269656420746f2072656164206560008201527f72726f7220636f64652066726f6d207375636365737366756c205769746e657460208201527f2e526573756c7400000000000000000000000000000000000000000000000000604082015250565b7f4f766572666c6f77206174206f70657261746f7220636f646520307800000000600082015250565b7f20776173206e6f7420616e204172726179206f662063616c6c73000000000000600082015250565b7f5769746e65745061727365724c69623a20547269656420746f2072656164206060008201527f626f6f6c602076616c75652066726f6d206572726f726564205769746e65742e60208201527f526573756c740000000000000000000000000000000000000000000000000000604082015250565b7f20776173206e6f7420612076616c696420446174612052657175657374000000600082015250565b7f2066726f6d207468652000000000000000000000000000000000000000000000600082015250565b7f5769746e65745061727365724c69623a20547269656420746f2072656164206060008201527f66697865643136602076616c75652066726f6d206572726f726564205769746e60208201527f65742e526573756c740000000000000000000000000000000000000000000000604082015250565b7f546865207265717565737420636f6e7461696e656420746f6f206d616e79207360008201527f6f75726365732028000000000000000000000000000000000000000000000000602082015250565b7f5363726970742023000000000000000000000000000000000000000000000000600082015250565b7f536f757263652023000000000000000000000000000000000000000000000000600082015250565b6101008110614db257614db16142f1565b5b50565b614dbe81614169565b8114614dc957600080fd5b50565b614dd581614175565b8114614de057600080fd5b50565b614dec81614192565b8114614df757600080fd5b50565b614e038161419f565b8114614e0e57600080fd5b50565b614e1a816141ac565b8114614e2557600080fd5b50565b614e31816141bc565b8114614e3c57600080fd5b50565b614e48816141d0565b8114614e5357600080fd5b5056fe54686520737472756374757265206f6620746865207265717565737420697320696e76616c696420616e642069742063616e6e6f7420626520706172736564546865207265717565737420726573756c74206c656e677468206578636565647320612062726964676520636f6e747261637420646566696e6564206c696d6974546865207265717565737420686173206265656e2072656a65637465642062792074686520627269646765206e6f64652064756520746f20706f6f7220696e63656e7469766573a26469706673582212207c84347b582e34d3c229ca790843f11ad8ed7d0539a9ec821d76a66dc1e0331064736f6c63430008070033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x12B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA1D45D56 GT PUSH2 0xB7 JUMPI DUP1 PUSH4 0xD45D097D GT PUSH2 0x7B JUMPI DUP1 PUSH4 0xD45D097D EQ PUSH2 0x3D1 JUMPI DUP1 PUSH4 0xD8868DB6 EQ PUSH2 0x401 JUMPI DUP1 PUSH4 0xE99E47F3 EQ PUSH2 0x431 JUMPI DUP1 PUSH4 0xF417DAF5 EQ PUSH2 0x461 JUMPI DUP1 PUSH4 0xFC853C37 EQ PUSH2 0x491 JUMPI PUSH2 0x12B JUMP JUMPDEST DUP1 PUSH4 0xA1D45D56 EQ PUSH2 0x2E1 JUMPI DUP1 PUSH4 0xA2E87655 EQ PUSH2 0x311 JUMPI DUP1 PUSH4 0xABF82F4C EQ PUSH2 0x341 JUMPI DUP1 PUSH4 0xC71DB521 EQ PUSH2 0x371 JUMPI DUP1 PUSH4 0xCB5371C0 EQ PUSH2 0x3A1 JUMPI PUSH2 0x12B JUMP JUMPDEST DUP1 PUSH4 0x2D26B9E2 GT PUSH2 0xFE JUMPI DUP1 PUSH4 0x2D26B9E2 EQ PUSH2 0x1F0 JUMPI DUP1 PUSH4 0x6646C119 EQ PUSH2 0x220 JUMPI DUP1 PUSH4 0x8233F9B3 EQ PUSH2 0x250 JUMPI DUP1 PUSH4 0x8CC5EB54 EQ PUSH2 0x280 JUMPI DUP1 PUSH4 0xA1B90891 EQ PUSH2 0x2B1 JUMPI PUSH2 0x12B JUMP JUMPDEST DUP1 PUSH4 0x879730D EQ PUSH2 0x130 JUMPI DUP1 PUSH4 0x8EFC097 EQ PUSH2 0x160 JUMPI DUP1 PUSH4 0x130283EE EQ PUSH2 0x190 JUMPI DUP1 PUSH4 0x147E5C8F EQ PUSH2 0x1C0 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x145 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x4C1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x157 SWAP2 SWAP1 PUSH2 0x3B74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x17A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x175 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x5A1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x187 SWAP2 SWAP1 PUSH2 0x3B30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1A5 SWAP2 SWAP1 PUSH2 0x2C3D JUMP JUMPDEST PUSH2 0x680 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B7 SWAP2 SWAP1 PUSH2 0x3E33 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1DA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1D5 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x6BE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E7 SWAP2 SWAP1 PUSH2 0x3B74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x20A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x205 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x79D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x217 SWAP2 SWAP1 PUSH2 0x3B52 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x23A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x235 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x87C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x247 SWAP2 SWAP1 PUSH2 0x3B96 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x26A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x265 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x88A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x277 SWAP2 SWAP1 PUSH2 0x3E55 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x29A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x295 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x964 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2A8 SWAP3 SWAP2 SWAP1 PUSH2 0x3C09 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2CB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2C6 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x1390 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2D8 SWAP2 SWAP1 PUSH2 0x3BCC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2FB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2F6 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x146F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x308 SWAP2 SWAP1 PUSH2 0x3B96 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x32B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x326 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x147E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x338 SWAP2 SWAP1 PUSH2 0x3BB1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x35B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x356 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x1558 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x368 SWAP2 SWAP1 PUSH2 0x3B96 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x38B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x386 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x1632 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x398 SWAP2 SWAP1 PUSH2 0x3C39 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3BB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3B6 SWAP2 SWAP1 PUSH2 0x2D18 JUMP JUMPDEST PUSH2 0x170C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3C8 SWAP2 SWAP1 PUSH2 0x3C6F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3EB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3E6 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x183C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F8 SWAP2 SWAP1 PUSH2 0x3BEE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x41B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x416 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x188B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x428 SWAP2 SWAP1 PUSH2 0x3C54 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x44B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x446 SWAP2 SWAP1 PUSH2 0x2B04 JUMP JUMPDEST PUSH2 0x1965 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x458 SWAP2 SWAP1 PUSH2 0x3E33 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x47B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x476 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x1A55 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x488 SWAP2 SWAP1 PUSH2 0x3C6F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x4AB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4A6 SWAP2 SWAP1 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x1B34 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4B8 SWAP2 SWAP1 PUSH2 0x3B0E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 ADD MLOAD ISZERO PUSH2 0x508 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4FF SWAP1 PUSH2 0x3DB1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0xF8A597D3 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x545 SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x55D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x571 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x59A SWAP2 SWAP1 PUSH2 0x2A61 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 ADD MLOAD PUSH2 0x5E7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5DE SWAP1 PUSH2 0x3CD1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0x531F4BA7 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x624 SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x63C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x650 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x679 SWAP2 SWAP1 PUSH2 0x29CF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x688 PUSH2 0x210C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x27 DUP4 PUSH1 0xA0 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP3 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 ADD MLOAD PUSH2 0x704 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6FB SWAP1 PUSH2 0x3D31 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0xF8A597D3 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x741 SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x759 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x76D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x796 SWAP2 SWAP1 PUSH2 0x2A61 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 ADD MLOAD PUSH2 0x7E3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7DA SWAP1 PUSH2 0x3D51 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0xC5E88FF2 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x820 SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x838 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x84C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x875 SWAP2 SWAP1 PUSH2 0x2A18 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 ADD MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 ADD MLOAD PUSH2 0x8D0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8C7 SWAP1 PUSH2 0x3D11 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0x7A8ACAB1 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x90D SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x925 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x939 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 0x95D SWAP2 SWAP1 PUSH2 0x2D45 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH1 0x0 PUSH2 0x973 DUP5 PUSH2 0x4C1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD EQ ISZERO PUSH2 0x9C1 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1D DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x556E6B6E6F776E206572726F7220286E6F206572726F7220636F646529000000 DUP2 MSTORE POP SWAP3 POP SWAP3 POP POP PUSH2 0x138B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9E7 DUP3 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x9DA JUMPI PUSH2 0x9D9 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C13 JUMP JUMPDEST SWAP1 POP PUSH1 0x60 PUSH1 0x1 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x9FF JUMPI PUSH2 0x9FE PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xA12 JUMPI PUSH2 0xA11 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0xA21 JUMPI POP PUSH1 0x2 DUP4 MLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0xA70 JUMPI PUSH2 0xA4A DUP4 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0xA3D JUMPI PUSH2 0xA3C PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xA5A SWAP2 SWAP1 PUSH2 0x3892 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x1381 JUMP JUMPDEST PUSH1 0x2 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xA84 JUMPI PUSH2 0xA83 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xA97 JUMPI PUSH2 0xA96 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0xAA6 JUMPI POP PUSH1 0x2 DUP4 MLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0xAF5 JUMPI PUSH2 0xACF DUP4 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0xAC2 JUMPI PUSH2 0xAC1 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xADF SWAP2 SWAP1 PUSH2 0x38BF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x1380 JUMP JUMPDEST PUSH1 0x3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xB09 JUMPI PUSH2 0xB08 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xB1C JUMPI PUSH2 0xB1B PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0xB2B JUMPI POP PUSH1 0x2 DUP4 MLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0xB7A JUMPI PUSH2 0xB54 DUP4 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0xB47 JUMPI PUSH2 0xB46 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB64 SWAP2 SWAP1 PUSH2 0x38EC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x137F JUMP JUMPDEST PUSH1 0x10 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xB8E JUMPI PUSH2 0xB8D PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xBA1 JUMPI PUSH2 0xBA0 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0xBB0 JUMPI POP PUSH1 0x2 DUP4 MLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0xBFF JUMPI PUSH2 0xBD9 DUP4 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0xBCC JUMPI PUSH2 0xBCB PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xBE9 SWAP2 SWAP1 PUSH2 0x3A03 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x137E JUMP JUMPDEST PUSH1 0x11 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xC13 JUMPI PUSH2 0xC12 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xC26 JUMPI PUSH2 0xC25 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0xC35 JUMPI POP PUSH1 0x4 DUP4 MLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0xCCE JUMPI PUSH2 0xC5E DUP4 PUSH1 0x2 DUP2 MLOAD DUP2 LT PUSH2 0xC51 JUMPI PUSH2 0xC50 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0xC82 DUP5 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0xC75 JUMPI PUSH2 0xC74 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x170C JUMP JUMPDEST PUSH2 0xCA6 DUP6 PUSH1 0x3 DUP2 MLOAD DUP2 LT PUSH2 0xC99 JUMPI PUSH2 0xC98 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xCB8 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3A30 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x137D JUMP JUMPDEST PUSH1 0x20 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xCE2 JUMPI PUSH2 0xCE1 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xCF5 JUMPI PUSH2 0xCF4 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0xD04 JUMPI POP PUSH1 0x5 DUP4 MLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0xDC2 JUMPI PUSH2 0xD2D DUP4 PUSH1 0x4 DUP2 MLOAD DUP2 LT PUSH2 0xD20 JUMPI PUSH2 0xD1F PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1FAD JUMP JUMPDEST PUSH2 0xD51 DUP5 PUSH1 0x3 DUP2 MLOAD DUP2 LT PUSH2 0xD44 JUMPI PUSH2 0xD43 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0xD75 DUP6 PUSH1 0x2 DUP2 MLOAD DUP2 LT PUSH2 0xD68 JUMPI PUSH2 0xD67 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0xD99 DUP7 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0xD8C JUMPI PUSH2 0xD8B PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x170C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xDAC SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x381D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x137C JUMP JUMPDEST PUSH1 0x30 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xDD6 JUMPI PUSH2 0xDD5 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xDE9 JUMPI PUSH2 0xDE8 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0xDF8 JUMPI POP PUSH1 0x3 DUP4 MLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0xEE6 JUMPI PUSH2 0xE21 DUP4 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0xE14 JUMPI PUSH2 0xE13 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0xE51 PUSH1 0x64 DUP6 PUSH1 0x2 DUP2 MLOAD DUP2 LT PUSH2 0xE3A JUMPI PUSH2 0xE39 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0xE4C SWAP2 SWAP1 PUSH2 0x4138 JUMP JUMPDEST PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0xE8D PUSH1 0xA PUSH1 0x64 DUP8 PUSH1 0x2 DUP2 MLOAD DUP2 LT PUSH2 0xE6C JUMPI PUSH2 0xE6B PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0xE7E SWAP2 SWAP1 PUSH2 0x4262 JUMP JUMPDEST PUSH2 0xE88 SWAP2 SWAP1 PUSH2 0x4138 JUMP JUMPDEST PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0xEBD PUSH1 0xA DUP8 PUSH1 0x2 DUP2 MLOAD DUP2 LT PUSH2 0xEA6 JUMPI PUSH2 0xEA5 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0xEB8 SWAP2 SWAP1 PUSH2 0x4262 JUMP JUMPDEST PUSH2 0x1C39 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xED0 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3A8D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x137B JUMP JUMPDEST PUSH1 0x31 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xEFA JUMPI PUSH2 0xEF9 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xF0D JUMPI PUSH2 0xF0C PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0xF1C JUMPI POP PUSH1 0x2 DUP4 MLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0xF6B JUMPI PUSH2 0xF45 DUP4 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0xF38 JUMPI PUSH2 0xF37 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xF55 SWAP2 SWAP1 PUSH2 0x3AE1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x137A JUMP JUMPDEST PUSH1 0x40 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xF7F JUMPI PUSH2 0xF7E PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0xF92 JUMPI PUSH2 0xF91 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0xFA1 JUMPI POP PUSH1 0x5 DUP4 MLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0x105F JUMPI PUSH2 0xFCA DUP4 PUSH1 0x4 DUP2 MLOAD DUP2 LT PUSH2 0xFBD JUMPI PUSH2 0xFBC PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1FAD JUMP JUMPDEST PUSH2 0xFEE DUP5 PUSH1 0x3 DUP2 MLOAD DUP2 LT PUSH2 0xFE1 JUMPI PUSH2 0xFE0 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0x1012 DUP6 PUSH1 0x2 DUP2 MLOAD DUP2 LT PUSH2 0x1005 JUMPI PUSH2 0x1004 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0x1036 DUP7 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x1029 JUMPI PUSH2 0x1028 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x170C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1049 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x37A8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x1379 JUMP JUMPDEST PUSH1 0x41 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x1073 JUMPI PUSH2 0x1072 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x1086 JUMPI PUSH2 0x1085 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0x1095 JUMPI POP PUSH1 0x5 DUP4 MLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0x1153 JUMPI PUSH2 0x10BE DUP4 PUSH1 0x4 DUP2 MLOAD DUP2 LT PUSH2 0x10B1 JUMPI PUSH2 0x10B0 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1FAD JUMP JUMPDEST PUSH2 0x10E2 DUP5 PUSH1 0x3 DUP2 MLOAD DUP2 LT PUSH2 0x10D5 JUMPI PUSH2 0x10D4 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0x1106 DUP6 PUSH1 0x2 DUP2 MLOAD DUP2 LT PUSH2 0x10F9 JUMPI PUSH2 0x10F8 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0x112A DUP7 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x111D JUMPI PUSH2 0x111C PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x170C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x113D SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x398E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x1378 JUMP JUMPDEST PUSH1 0x42 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x1167 JUMPI PUSH2 0x1166 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x117A JUMPI PUSH2 0x1179 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0x1189 JUMPI POP PUSH1 0x5 DUP4 MLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0x1247 JUMPI PUSH2 0x11B2 DUP4 PUSH1 0x4 DUP2 MLOAD DUP2 LT PUSH2 0x11A5 JUMPI PUSH2 0x11A4 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1FAD JUMP JUMPDEST PUSH2 0x11D6 DUP5 PUSH1 0x3 DUP2 MLOAD DUP2 LT PUSH2 0x11C9 JUMPI PUSH2 0x11C8 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0x11FA DUP6 PUSH1 0x2 DUP2 MLOAD DUP2 LT PUSH2 0x11ED JUMPI PUSH2 0x11EC PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C39 JUMP JUMPDEST PUSH2 0x121E DUP7 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x1211 JUMPI PUSH2 0x1210 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x170C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1231 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3919 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x1377 JUMP JUMPDEST PUSH1 0xE0 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x125B JUMPI PUSH2 0x125A PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x126E JUMPI PUSH2 0x126D PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ ISZERO PUSH2 0x1294 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3F DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x4E57 PUSH1 0x3F SWAP2 CODECOPY SWAP1 POP PUSH2 0x1376 JUMP JUMPDEST PUSH1 0xE1 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x12A8 JUMPI PUSH2 0x12A7 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x12BB JUMPI PUSH2 0x12BA PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ ISZERO PUSH2 0x12E1 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x47 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x4ED7 PUSH1 0x47 SWAP2 CODECOPY SWAP1 POP PUSH2 0x1375 JUMP JUMPDEST PUSH1 0xE2 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x12F5 JUMPI PUSH2 0x12F4 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x1308 JUMPI PUSH2 0x1307 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST EQ ISZERO PUSH2 0x132E JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x41 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x4E96 PUSH1 0x41 SWAP2 CODECOPY SWAP1 POP PUSH2 0x1374 JUMP JUMPDEST PUSH2 0x1352 DUP4 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1345 JUMPI PUSH2 0x1344 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1FAD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1362 SWAP2 SWAP1 PUSH2 0x377B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP JUMPDEST JUMPDEST JUMPDEST JUMPDEST JUMPDEST JUMPDEST JUMPDEST JUMPDEST JUMPDEST JUMPDEST JUMPDEST JUMPDEST JUMPDEST JUMPDEST DUP2 DUP2 SWAP5 POP SWAP5 POP POP POP POP JUMPDEST SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 ADD MLOAD PUSH2 0x13D6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x13CD SWAP1 PUSH2 0x3C91 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0xBB6EF6CF SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1413 SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x142B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x143F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1468 SWAP2 SWAP1 PUSH2 0x2B51 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 ADD MLOAD ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 ADD MLOAD PUSH2 0x14C4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14BB SWAP1 PUSH2 0x3D71 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0x8C05C33 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1501 SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1519 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x152D 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 0x1551 SWAP2 SWAP1 PUSH2 0x2AD7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 ADD MLOAD PUSH2 0x159E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1595 SWAP1 PUSH2 0x3DD1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0x9EEE60CA SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15DB SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1607 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 0x162B SWAP2 SWAP1 PUSH2 0x2AAA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 ADD MLOAD PUSH2 0x1678 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x166F SWAP1 PUSH2 0x3CF1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0x94863EA4 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16B5 SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x16CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x16E1 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 0x1705 SWAP2 SWAP1 PUSH2 0x2B9A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x175E JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x9 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x72657472696576616C0000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP PUSH2 0x1837 JUMP JUMPDEST PUSH1 0x1 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x17AE JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xB DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6167677265676174696F6E000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP PUSH2 0x1837 JUMP JUMPDEST PUSH1 0x2 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x17FE JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x74616C6C79000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP PUSH2 0x1837 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x756E6B6E6F776E00000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1848 DUP4 PUSH2 0x4C1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD EQ ISZERO PUSH2 0x185E JUMPI PUSH1 0x0 SWAP2 POP POP PUSH2 0x1886 JUMP JUMPDEST PUSH2 0x1882 DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1875 JUMPI PUSH2 0x1874 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x1C13 JUMP JUMPDEST SWAP2 POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 ADD MLOAD PUSH2 0x18D1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x18C8 SWAP1 PUSH2 0x3DF1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0x8138799A SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x190E SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1926 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x193A 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 0x195E SWAP2 SWAP1 PUSH2 0x2BC7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x196D PUSH2 0x210C JUMP JUMPDEST PUSH1 0x0 DUP4 DUP4 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH20 0x0 PUSH4 0xDFCA5D34 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x19EC SWAP2 SWAP1 PUSH2 0x3BCC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1A04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1A18 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A41 SWAP2 SWAP1 PUSH2 0x2C86 JUMP JUMPDEST SWAP1 POP PUSH2 0x1A4C DUP2 PUSH2 0x680 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 ADD MLOAD PUSH2 0x1A9B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A92 SWAP1 PUSH2 0x3D91 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0xE67C5BD1 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1AD8 SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1AF0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1B04 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1B2D SWAP2 SWAP1 PUSH2 0x2BF4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 ADD MLOAD PUSH2 0x1B7A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B71 SWAP1 PUSH2 0x3CB1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD PUSH20 0x0 PUSH4 0x3380D816 SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1BB7 SWAP2 SWAP1 PUSH2 0x3E11 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1BCF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1BE3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1C0C SWAP2 SWAP1 PUSH2 0x2986 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x1C32 JUMPI PUSH2 0x1C31 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0xA DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x1CFC JUMPI PUSH1 0x0 PUSH1 0x1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1C6B JUMPI PUSH2 0x1C6A PUSH2 0x434F JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1C9D JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x30 DUP4 PUSH2 0x1CAD SWAP2 SWAP1 PUSH2 0x4101 JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1CC4 JUMPI PUSH2 0x1CC3 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP1 SWAP2 POP POP PUSH2 0x1FA8 JUMP JUMPDEST PUSH1 0x64 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x1E28 JUMPI PUSH1 0x0 PUSH1 0x2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D2C JUMPI PUSH2 0x1D2B PUSH2 0x434F JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1D5E JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x30 PUSH1 0xA DUP5 PUSH2 0x1D70 SWAP2 SWAP1 PUSH2 0x4138 JUMP JUMPDEST PUSH2 0x1D7A SWAP2 SWAP1 PUSH2 0x4101 JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1D91 JUMPI PUSH2 0x1D90 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x30 PUSH1 0xA DUP5 PUSH2 0x1DCF SWAP2 SWAP1 PUSH2 0x4262 JUMP JUMPDEST PUSH2 0x1DD9 SWAP2 SWAP1 PUSH2 0x4101 JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x1DF0 JUMPI PUSH2 0x1DEF PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP1 SWAP2 POP POP PUSH2 0x1FA8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1E45 JUMPI PUSH2 0x1E44 PUSH2 0x434F JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1E77 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x30 PUSH1 0x64 DUP5 PUSH2 0x1E89 SWAP2 SWAP1 PUSH2 0x4138 JUMP JUMPDEST PUSH2 0x1E93 SWAP2 SWAP1 PUSH2 0x4101 JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1EAA JUMPI PUSH2 0x1EA9 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x30 PUSH1 0xA PUSH1 0x64 DUP6 PUSH2 0x1EEA SWAP2 SWAP1 PUSH2 0x4262 JUMP JUMPDEST PUSH2 0x1EF4 SWAP2 SWAP1 PUSH2 0x4138 JUMP JUMPDEST PUSH2 0x1EFE SWAP2 SWAP1 PUSH2 0x4101 JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x1F15 JUMPI PUSH2 0x1F14 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x30 PUSH1 0xA DUP5 PUSH2 0x1F53 SWAP2 SWAP1 PUSH2 0x4262 JUMP JUMPDEST PUSH2 0x1F5D SWAP2 SWAP1 PUSH2 0x4101 JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 PUSH1 0x2 DUP2 MLOAD DUP2 LT PUSH2 0x1F74 JUMPI PUSH2 0x1F73 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP1 SWAP2 POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH1 0x2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1FCC JUMPI PUSH2 0x1FCB PUSH2 0x434F JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1FFE JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 PUSH1 0x30 PUSH1 0x10 DUP6 PUSH2 0x2012 SWAP2 SWAP1 PUSH2 0x4138 JUMP JUMPDEST PUSH2 0x201C SWAP2 SWAP1 PUSH2 0x4101 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x30 PUSH1 0x10 DUP7 PUSH2 0x202F SWAP2 SWAP1 PUSH2 0x4262 JUMP JUMPDEST PUSH2 0x2039 SWAP2 SWAP1 PUSH2 0x4101 JUMP JUMPDEST SWAP1 POP PUSH1 0x39 DUP3 PUSH1 0xFF AND GT ISZERO PUSH2 0x2057 JUMPI PUSH1 0x7 DUP3 PUSH2 0x2054 SWAP2 SWAP1 PUSH2 0x4101 JUMP JUMPDEST SWAP2 POP JUMPDEST PUSH1 0x39 DUP2 PUSH1 0xFF AND GT ISZERO PUSH2 0x2073 JUMPI PUSH1 0x7 DUP2 PUSH2 0x2070 SWAP2 SWAP1 PUSH2 0x4101 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP2 PUSH1 0xF8 SHL DUP4 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x208B JUMPI PUSH2 0x208A PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP1 PUSH1 0xF8 SHL DUP4 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x20D2 JUMPI PUSH2 0x20D1 PUSH2 0x4320 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP3 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x2128 PUSH2 0x212E JUMP JUMPDEST DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH2 0x2141 PUSH2 0x2187 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH4 0xFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21BA PUSH2 0x21B5 DUP5 PUSH2 0x3E95 JUMP JUMPDEST PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x21DD JUMPI PUSH2 0x21DC PUSH2 0x4392 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x220D JUMPI DUP2 PUSH2 0x21F3 DUP9 DUP3 PUSH2 0x25F4 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x21E0 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x222A PUSH2 0x2225 DUP5 PUSH2 0x3EC1 JUMP JUMPDEST PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x224D JUMPI PUSH2 0x224C PUSH2 0x4392 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x227D JUMPI DUP2 PUSH2 0x2263 DUP9 DUP3 PUSH2 0x2609 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2250 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x229A PUSH2 0x2295 DUP5 PUSH2 0x3EED JUMP JUMPDEST PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x22BD JUMPI PUSH2 0x22BC PUSH2 0x4392 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x230B JUMPI DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x22E3 JUMPI PUSH2 0x22E2 PUSH2 0x4383 JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x22F0 DUP10 DUP3 PUSH2 0x261E JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP5 ADD SWAP4 POP POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x22C0 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2328 PUSH2 0x2323 DUP5 PUSH2 0x3F19 JUMP JUMPDEST PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x234B JUMPI PUSH2 0x234A PUSH2 0x4392 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x237B JUMPI DUP2 PUSH2 0x2361 DUP9 DUP3 PUSH2 0x2947 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x234E JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2398 PUSH2 0x2393 DUP5 PUSH2 0x3F45 JUMP JUMPDEST PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x23B4 JUMPI PUSH2 0x23B3 PUSH2 0x4397 JUMP JUMPDEST JUMPDEST PUSH2 0x23BF DUP5 DUP3 DUP6 PUSH2 0x41EF JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23DA PUSH2 0x23D5 DUP5 PUSH2 0x3F45 JUMP JUMPDEST PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x23F6 JUMPI PUSH2 0x23F5 PUSH2 0x4397 JUMP JUMPDEST JUMPDEST PUSH2 0x2401 DUP5 DUP3 DUP6 PUSH2 0x41FE JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x241C PUSH2 0x2417 DUP5 PUSH2 0x3F76 JUMP JUMPDEST PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x2438 JUMPI PUSH2 0x2437 PUSH2 0x4397 JUMP JUMPDEST JUMPDEST PUSH2 0x2443 DUP5 DUP3 DUP6 PUSH2 0x41FE JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2460 JUMPI PUSH2 0x245F PUSH2 0x4383 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x2470 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x21A7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x248E JUMPI PUSH2 0x248D PUSH2 0x4383 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x249E DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2217 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x24BC JUMPI PUSH2 0x24BB PUSH2 0x4383 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x24CC DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2287 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x24EA JUMPI PUSH2 0x24E9 PUSH2 0x4383 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x24FA DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2315 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2512 DUP2 PUSH2 0x4DB5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2527 DUP2 PUSH2 0x4DB5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x253C DUP2 PUSH2 0x4DCC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x2558 JUMPI PUSH2 0x2557 PUSH2 0x4383 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2575 JUMPI PUSH2 0x2574 PUSH2 0x437E JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x2591 JUMPI PUSH2 0x2590 PUSH2 0x4392 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x25AD JUMPI PUSH2 0x25AC PUSH2 0x4383 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x25BD DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2385 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x25DB JUMPI PUSH2 0x25DA PUSH2 0x4383 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x25EB DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x23C7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2603 DUP2 PUSH2 0x4DE3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2618 DUP2 PUSH2 0x4DFA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2633 JUMPI PUSH2 0x2632 PUSH2 0x4383 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x2643 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2409 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2662 JUMPI PUSH2 0x2661 PUSH2 0x4388 JUMP JUMPDEST JUMPDEST PUSH2 0x266C PUSH1 0x40 PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x268C JUMPI PUSH2 0x268B PUSH2 0x438D JUMP JUMPDEST JUMPDEST PUSH2 0x2698 DUP5 DUP3 DUP6 ADD PUSH2 0x2598 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x26AC DUP5 DUP3 DUP6 ADD PUSH2 0x2908 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x26CE JUMPI PUSH2 0x26CD PUSH2 0x4388 JUMP JUMPDEST JUMPDEST PUSH2 0x26D8 PUSH1 0x40 PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x26F8 JUMPI PUSH2 0x26F7 PUSH2 0x438D JUMP JUMPDEST JUMPDEST PUSH2 0x2704 DUP5 DUP3 DUP6 ADD PUSH2 0x25C6 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x2718 DUP5 DUP3 DUP6 ADD PUSH2 0x291D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x273A JUMPI PUSH2 0x2739 PUSH2 0x4388 JUMP JUMPDEST JUMPDEST PUSH2 0x2744 PUSH1 0xC0 PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2764 JUMPI PUSH2 0x2763 PUSH2 0x438D JUMP JUMPDEST JUMPDEST PUSH2 0x2770 DUP5 DUP3 DUP6 ADD PUSH2 0x264C JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x2784 DUP5 DUP3 DUP6 ADD PUSH2 0x295C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 PUSH2 0x2798 DUP5 DUP3 DUP6 ADD PUSH2 0x295C JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 PUSH2 0x27AC DUP5 DUP3 DUP6 ADD PUSH2 0x295C JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 PUSH2 0x27C0 DUP5 DUP3 DUP6 ADD PUSH2 0x2932 JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 PUSH2 0x27D4 DUP5 DUP3 DUP6 ADD PUSH2 0x2932 JUMP JUMPDEST PUSH1 0xA0 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x27F6 JUMPI PUSH2 0x27F5 PUSH2 0x4388 JUMP JUMPDEST JUMPDEST PUSH2 0x2800 PUSH1 0xC0 PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2820 JUMPI PUSH2 0x281F PUSH2 0x438D JUMP JUMPDEST JUMPDEST PUSH2 0x282C DUP5 DUP3 DUP6 ADD PUSH2 0x26B8 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x2840 DUP5 DUP3 DUP6 ADD PUSH2 0x2971 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 PUSH2 0x2854 DUP5 DUP3 DUP6 ADD PUSH2 0x2971 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 PUSH2 0x2868 DUP5 DUP3 DUP6 ADD PUSH2 0x2971 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 PUSH2 0x287C DUP5 DUP3 DUP6 ADD PUSH2 0x2947 JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 PUSH2 0x2890 DUP5 DUP3 DUP6 ADD PUSH2 0x2947 JUMP JUMPDEST PUSH1 0xA0 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x28B2 JUMPI PUSH2 0x28B1 PUSH2 0x4388 JUMP JUMPDEST JUMPDEST PUSH2 0x28BC PUSH1 0x40 PUSH2 0x3E70 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x28CC DUP5 DUP3 DUP6 ADD PUSH2 0x2503 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x28F0 JUMPI PUSH2 0x28EF PUSH2 0x438D JUMP JUMPDEST JUMPDEST PUSH2 0x28FC DUP5 DUP3 DUP6 ADD PUSH2 0x2724 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2917 DUP2 PUSH2 0x4E11 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x292C DUP2 PUSH2 0x4E11 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2941 DUP2 PUSH2 0x4E28 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2956 DUP2 PUSH2 0x4E28 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x296B DUP2 PUSH2 0x4E3F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2980 DUP2 PUSH2 0x4E3F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x299C JUMPI PUSH2 0x299B PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x29BA JUMPI PUSH2 0x29B9 PUSH2 0x439C JUMP JUMPDEST JUMPDEST PUSH2 0x29C6 DUP5 DUP3 DUP6 ADD PUSH2 0x244B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29E5 JUMPI PUSH2 0x29E4 PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2A03 JUMPI PUSH2 0x2A02 PUSH2 0x439C JUMP JUMPDEST JUMPDEST PUSH2 0x2A0F DUP5 DUP3 DUP6 ADD PUSH2 0x2479 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2A2E JUMPI PUSH2 0x2A2D PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2A4C JUMPI PUSH2 0x2A4B PUSH2 0x439C JUMP JUMPDEST JUMPDEST PUSH2 0x2A58 DUP5 DUP3 DUP6 ADD PUSH2 0x24A7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2A77 JUMPI PUSH2 0x2A76 PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2A95 JUMPI PUSH2 0x2A94 PUSH2 0x439C JUMP JUMPDEST JUMPDEST PUSH2 0x2AA1 DUP5 DUP3 DUP6 ADD PUSH2 0x24D5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2AC0 JUMPI PUSH2 0x2ABF PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2ACE DUP5 DUP3 DUP6 ADD PUSH2 0x2518 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2AED JUMPI PUSH2 0x2AEC PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2AFB DUP5 DUP3 DUP6 ADD PUSH2 0x252D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2B1B JUMPI PUSH2 0x2B1A PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2B39 JUMPI PUSH2 0x2B38 PUSH2 0x439C JUMP JUMPDEST JUMPDEST PUSH2 0x2B45 DUP6 DUP3 DUP7 ADD PUSH2 0x2542 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2B67 JUMPI PUSH2 0x2B66 PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2B85 JUMPI PUSH2 0x2B84 PUSH2 0x439C JUMP JUMPDEST JUMPDEST PUSH2 0x2B91 DUP5 DUP3 DUP6 ADD PUSH2 0x25C6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BB0 JUMPI PUSH2 0x2BAF PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2BBE DUP5 DUP3 DUP6 ADD PUSH2 0x25F4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BDD JUMPI PUSH2 0x2BDC PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2BEB DUP5 DUP3 DUP6 ADD PUSH2 0x2609 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C0A JUMPI PUSH2 0x2C09 PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2C28 JUMPI PUSH2 0x2C27 PUSH2 0x439C JUMP JUMPDEST JUMPDEST PUSH2 0x2C34 DUP5 DUP3 DUP6 ADD PUSH2 0x261E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C53 JUMPI PUSH2 0x2C52 PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2C71 JUMPI PUSH2 0x2C70 PUSH2 0x439C JUMP JUMPDEST JUMPDEST PUSH2 0x2C7D DUP5 DUP3 DUP6 ADD PUSH2 0x2724 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C9C JUMPI PUSH2 0x2C9B PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2CBA JUMPI PUSH2 0x2CB9 PUSH2 0x439C JUMP JUMPDEST JUMPDEST PUSH2 0x2CC6 DUP5 DUP3 DUP6 ADD PUSH2 0x27E0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2CE5 JUMPI PUSH2 0x2CE4 PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2D03 JUMPI PUSH2 0x2D02 PUSH2 0x439C JUMP JUMPDEST JUMPDEST PUSH2 0x2D0F DUP5 DUP3 DUP6 ADD PUSH2 0x289C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D2E JUMPI PUSH2 0x2D2D PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2D3C DUP5 DUP3 DUP6 ADD PUSH2 0x2932 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D5B JUMPI PUSH2 0x2D5A PUSH2 0x43A1 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2D69 DUP5 DUP3 DUP6 ADD PUSH2 0x2947 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D7E DUP4 DUP4 PUSH2 0x301A JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D96 DUP4 DUP4 PUSH2 0x3038 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DAE DUP4 DUP4 PUSH2 0x3080 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DC2 DUP4 DUP4 PUSH2 0x375D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DD9 DUP3 PUSH2 0x3FE7 JUMP JUMPDEST PUSH2 0x2DE3 DUP2 DUP6 PUSH2 0x405D JUMP JUMPDEST SWAP4 POP PUSH2 0x2DEE DUP4 PUSH2 0x3FA7 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2E1F JUMPI DUP2 MLOAD PUSH2 0x2E06 DUP9 DUP3 PUSH2 0x2D72 JUMP JUMPDEST SWAP8 POP PUSH2 0x2E11 DUP4 PUSH2 0x4029 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2DF2 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E37 DUP3 PUSH2 0x3FF2 JUMP JUMPDEST PUSH2 0x2E41 DUP2 DUP6 PUSH2 0x406E JUMP JUMPDEST SWAP4 POP PUSH2 0x2E4C DUP4 PUSH2 0x3FB7 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2E7D JUMPI DUP2 MLOAD PUSH2 0x2E64 DUP9 DUP3 PUSH2 0x2D8A JUMP JUMPDEST SWAP8 POP PUSH2 0x2E6F DUP4 PUSH2 0x4036 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2E50 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E95 DUP3 PUSH2 0x3FFD JUMP JUMPDEST PUSH2 0x2E9F DUP2 DUP6 PUSH2 0x407F JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x2EB1 DUP6 PUSH2 0x3FC7 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x2EED JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x2ECE DUP6 DUP3 PUSH2 0x2DA2 JUMP JUMPDEST SWAP5 POP PUSH2 0x2ED9 DUP4 PUSH2 0x4043 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2EB5 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F0A DUP3 PUSH2 0x4008 JUMP JUMPDEST PUSH2 0x2F14 DUP2 DUP6 PUSH2 0x4090 JUMP JUMPDEST SWAP4 POP PUSH2 0x2F1F DUP4 PUSH2 0x3FD7 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2F50 JUMPI DUP2 MLOAD PUSH2 0x2F37 DUP9 DUP3 PUSH2 0x2DB6 JUMP JUMPDEST SWAP8 POP PUSH2 0x2F42 DUP4 PUSH2 0x4050 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2F23 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2F66 DUP2 PUSH2 0x4169 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2F75 DUP2 PUSH2 0x4169 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2F84 DUP2 PUSH2 0x4175 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F95 DUP3 PUSH2 0x4013 JUMP JUMPDEST PUSH2 0x2F9F DUP2 DUP6 PUSH2 0x40A1 JUMP JUMPDEST SWAP4 POP PUSH2 0x2FAF DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x41FE JUMP JUMPDEST PUSH2 0x2FB8 DUP2 PUSH2 0x43A6 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FCE DUP3 PUSH2 0x4013 JUMP JUMPDEST PUSH2 0x2FD8 DUP2 DUP6 PUSH2 0x40B2 JUMP JUMPDEST SWAP4 POP PUSH2 0x2FE8 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x41FE JUMP JUMPDEST PUSH2 0x2FF1 DUP2 PUSH2 0x43A6 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3005 DUP2 PUSH2 0x41DD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x3014 DUP2 PUSH2 0x4192 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x3023 DUP2 PUSH2 0x4192 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x3032 DUP2 PUSH2 0x419F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x3041 DUP2 PUSH2 0x419F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3052 DUP3 PUSH2 0x401E JUMP JUMPDEST PUSH2 0x305C DUP2 DUP6 PUSH2 0x40D4 JUMP JUMPDEST SWAP4 POP PUSH2 0x306C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x41FE JUMP JUMPDEST PUSH2 0x3075 DUP2 PUSH2 0x43A6 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x308B DUP3 PUSH2 0x401E JUMP JUMPDEST PUSH2 0x3095 DUP2 DUP6 PUSH2 0x40E5 JUMP JUMPDEST SWAP4 POP PUSH2 0x30A5 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x41FE JUMP JUMPDEST PUSH2 0x30AE DUP2 PUSH2 0x43A6 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x30C4 DUP3 PUSH2 0x401E JUMP JUMPDEST PUSH2 0x30CE DUP2 DUP6 PUSH2 0x40F6 JUMP JUMPDEST SWAP4 POP PUSH2 0x30DE DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x41FE JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x30F7 PUSH1 0x36 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3102 DUP3 PUSH2 0x43B7 JUMP JUMPDEST PUSH1 0x36 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x311A PUSH1 0x17 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3125 DUP3 PUSH2 0x4406 JUMP JUMPDEST PUSH1 0x17 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x313D PUSH1 0x45 DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x3148 DUP3 PUSH2 0x442F JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3160 PUSH1 0x11 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x316B DUP3 PUSH2 0x44A4 JUMP JUMPDEST PUSH1 0x11 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3183 PUSH1 0x4A DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x318E DUP3 PUSH2 0x44CD JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x31A6 PUSH1 0x1D DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x31B1 DUP3 PUSH2 0x4542 JUMP JUMPDEST PUSH1 0x1D DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x31C9 PUSH1 0x6 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x31D4 DUP3 PUSH2 0x456B JUMP JUMPDEST PUSH1 0x6 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x31EC PUSH1 0x4B DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x31F7 DUP3 PUSH2 0x4594 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x320F PUSH1 0x1B DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x321A DUP3 PUSH2 0x4609 JUMP JUMPDEST PUSH1 0x1B DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3232 PUSH1 0x10 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x323D DUP3 PUSH2 0x4632 JUMP JUMPDEST PUSH1 0x10 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3255 PUSH1 0x2C DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3260 DUP3 PUSH2 0x465B JUMP JUMPDEST PUSH1 0x2C DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3278 PUSH1 0x48 DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x3283 DUP3 PUSH2 0x46AA JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x329B PUSH1 0xC DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x32A6 DUP3 PUSH2 0x471F JUMP JUMPDEST PUSH1 0xC DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32BE PUSH1 0x1 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x32C9 DUP3 PUSH2 0x4748 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32E1 PUSH1 0x6 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x32EC DUP3 PUSH2 0x4771 JUMP JUMPDEST PUSH1 0x6 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3304 PUSH1 0xF DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x330F DUP3 PUSH2 0x479A JUMP JUMPDEST PUSH1 0xF DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3327 PUSH1 0x48 DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x3332 DUP3 PUSH2 0x47C3 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x334A PUSH1 0x10 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3355 DUP3 PUSH2 0x4838 JUMP JUMPDEST PUSH1 0x10 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x336D PUSH1 0x4A DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x3378 DUP3 PUSH2 0x4861 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3390 PUSH1 0x4A DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x339B DUP3 PUSH2 0x48D6 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33B3 PUSH1 0x21 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x33BE DUP3 PUSH2 0x494B JUMP JUMPDEST PUSH1 0x21 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33D6 PUSH1 0x47 DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x33E1 DUP3 PUSH2 0x499A JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33F9 PUSH1 0x48 DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x3404 DUP3 PUSH2 0x4A0F JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x341C PUSH1 0x1A DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3427 DUP3 PUSH2 0x4A84 JUMP JUMPDEST PUSH1 0x1A DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x343F PUSH1 0x24 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x344A DUP3 PUSH2 0x4AAD JUMP JUMPDEST PUSH1 0x24 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3462 PUSH1 0x47 DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x346D DUP3 PUSH2 0x4AFC JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3485 PUSH1 0x1C DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3490 DUP3 PUSH2 0x4B71 JUMP JUMPDEST PUSH1 0x1C DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x34A8 PUSH1 0x1A DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x34B3 DUP3 PUSH2 0x4B9A JUMP JUMPDEST PUSH1 0x1A DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x34CB PUSH1 0x46 DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x34D6 DUP3 PUSH2 0x4BC3 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x34EE PUSH1 0x1D DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x34F9 DUP3 PUSH2 0x4C38 JUMP JUMPDEST PUSH1 0x1D DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3511 PUSH1 0xA DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x351C DUP3 PUSH2 0x4C61 JUMP JUMPDEST PUSH1 0xA DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3534 PUSH1 0x49 DUP4 PUSH2 0x40C3 JUMP JUMPDEST SWAP2 POP PUSH2 0x353F DUP3 PUSH2 0x4C8A JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3557 PUSH1 0x28 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3562 DUP3 PUSH2 0x4CFF JUMP JUMPDEST PUSH1 0x28 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x357A PUSH1 0x8 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3585 DUP3 PUSH2 0x4D4E JUMP JUMPDEST PUSH1 0x8 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x359D PUSH1 0x8 DUP4 PUSH2 0x40F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x35A8 DUP3 PUSH2 0x4D77 JUMP JUMPDEST PUSH1 0x8 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x35D0 DUP3 DUP3 PUSH2 0x2FC3 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x35E5 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x373F JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x360D DUP3 DUP3 PUSH2 0x35B3 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x3622 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x376C JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x3635 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x376C JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x3648 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x376C JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x365B PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x375D JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x366E PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x375D JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x3696 DUP3 DUP3 PUSH2 0x35B3 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x36AB PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x376C JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x36BE PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x376C JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x36D1 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x376C JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x36E4 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x375D JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x36F7 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x375D JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x371A PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x2F6C JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x3732 DUP3 DUP3 PUSH2 0x3679 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3748 DUP2 PUSH2 0x41AC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x3757 DUP2 PUSH2 0x41BC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x3766 DUP2 PUSH2 0x41BC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x3775 DUP2 PUSH2 0x41D0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3786 DUP3 PUSH2 0x3153 JUMP JUMPDEST SWAP2 POP PUSH2 0x3792 DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x379D DUP3 PUSH2 0x32B1 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x37B3 DUP3 PUSH2 0x3199 JUMP JUMPDEST SWAP2 POP PUSH2 0x37BF DUP3 DUP8 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x37CA DUP3 PUSH2 0x333D JUMP JUMPDEST SWAP2 POP PUSH2 0x37D6 DUP3 DUP7 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x37E1 DUP3 PUSH2 0x328E JUMP JUMPDEST SWAP2 POP PUSH2 0x37ED DUP3 DUP6 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x37F8 DUP3 PUSH2 0x32D4 JUMP JUMPDEST SWAP2 POP PUSH2 0x3804 DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x380F DUP3 PUSH2 0x31BC JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3828 DUP3 PUSH2 0x3225 JUMP JUMPDEST SWAP2 POP PUSH2 0x3834 DUP3 DUP8 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x383F DUP3 PUSH2 0x333D JUMP JUMPDEST SWAP2 POP PUSH2 0x384B DUP3 DUP7 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3856 DUP3 PUSH2 0x328E JUMP JUMPDEST SWAP2 POP PUSH2 0x3862 DUP3 DUP6 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x386D DUP3 PUSH2 0x32D4 JUMP JUMPDEST SWAP2 POP PUSH2 0x3879 DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3884 DUP3 PUSH2 0x310D JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x389D DUP3 PUSH2 0x32F7 JUMP JUMPDEST SWAP2 POP PUSH2 0x38A9 DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x38B4 DUP3 PUSH2 0x3202 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x38CA DUP3 PUSH2 0x340F JUMP JUMPDEST SWAP2 POP PUSH2 0x38D6 DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x38E1 DUP3 PUSH2 0x349B JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x38F7 DUP3 PUSH2 0x340F JUMP JUMPDEST SWAP2 POP PUSH2 0x3903 DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x390E DUP3 PUSH2 0x34E1 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3924 DUP3 PUSH2 0x3432 JUMP JUMPDEST SWAP2 POP PUSH2 0x3930 DUP3 DUP8 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x393B DUP3 PUSH2 0x333D JUMP JUMPDEST SWAP2 POP PUSH2 0x3947 DUP3 DUP7 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3952 DUP3 PUSH2 0x328E JUMP JUMPDEST SWAP2 POP PUSH2 0x395E DUP3 DUP6 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3969 DUP3 PUSH2 0x32D4 JUMP JUMPDEST SWAP2 POP PUSH2 0x3975 DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3980 DUP3 PUSH2 0x31BC JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3999 DUP3 PUSH2 0x3478 JUMP JUMPDEST SWAP2 POP PUSH2 0x39A5 DUP3 DUP8 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x39B0 DUP3 PUSH2 0x333D JUMP JUMPDEST SWAP2 POP PUSH2 0x39BC DUP3 DUP7 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x39C7 DUP3 PUSH2 0x328E JUMP JUMPDEST SWAP2 POP PUSH2 0x39D3 DUP3 DUP6 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x39DE DUP3 PUSH2 0x32D4 JUMP JUMPDEST SWAP2 POP PUSH2 0x39EA DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x39F5 DUP3 PUSH2 0x31BC JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A0E DUP3 PUSH2 0x354A JUMP JUMPDEST SWAP2 POP PUSH2 0x3A1A DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3A25 DUP3 PUSH2 0x32B1 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A3B DUP3 PUSH2 0x356D JUMP JUMPDEST SWAP2 POP PUSH2 0x3A47 DUP3 DUP7 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3A52 DUP3 PUSH2 0x3504 JUMP JUMPDEST SWAP2 POP PUSH2 0x3A5E DUP3 DUP6 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3A69 DUP3 PUSH2 0x33A6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3A75 DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3A80 DUP3 PUSH2 0x32B1 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A98 DUP3 PUSH2 0x3590 JUMP JUMPDEST SWAP2 POP PUSH2 0x3AA4 DUP3 DUP8 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3AAF DUP3 PUSH2 0x30EA JUMP JUMPDEST SWAP2 POP PUSH2 0x3ABB DUP3 DUP7 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3AC7 DUP3 DUP6 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3AD3 DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3AEC DUP3 PUSH2 0x3590 JUMP JUMPDEST SWAP2 POP PUSH2 0x3AF8 DUP3 DUP5 PUSH2 0x30B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x3B03 DUP3 PUSH2 0x3248 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3B28 DUP2 DUP5 PUSH2 0x2DCE JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3B4A DUP2 DUP5 PUSH2 0x2E2C JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3B6C DUP2 DUP5 PUSH2 0x2E8A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3B8E DUP2 DUP5 PUSH2 0x2EFF JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3BAB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2F5D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3BC6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2F7B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3BE6 DUP2 DUP5 PUSH2 0x2F8A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3C03 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2FFC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x3C1E PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x2FFC JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x3C30 DUP2 DUP5 PUSH2 0x3047 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3C4E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x300B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3C69 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3029 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3C89 DUP2 DUP5 PUSH2 0x3047 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3CAA DUP2 PUSH2 0x3130 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3CCA DUP2 PUSH2 0x3176 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3CEA DUP2 PUSH2 0x31DF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3D0A DUP2 PUSH2 0x326B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3D2A DUP2 PUSH2 0x331A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3D4A DUP2 PUSH2 0x3360 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3D6A DUP2 PUSH2 0x3383 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3D8A DUP2 PUSH2 0x33C9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3DAA DUP2 PUSH2 0x33EC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3DCA DUP2 PUSH2 0x3455 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3DEA DUP2 PUSH2 0x34BE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3E0A DUP2 PUSH2 0x3527 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3E2B DUP2 DUP5 PUSH2 0x35F0 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3E4D DUP2 DUP5 PUSH2 0x3702 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3E6A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x374E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E7A PUSH2 0x3E8B JUMP JUMPDEST SWAP1 POP PUSH2 0x3E86 DUP3 DUP3 PUSH2 0x4231 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3EB0 JUMPI PUSH2 0x3EAF PUSH2 0x434F JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3EDC JUMPI PUSH2 0x3EDB PUSH2 0x434F JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3F08 JUMPI PUSH2 0x3F07 PUSH2 0x434F JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3F34 JUMPI PUSH2 0x3F33 PUSH2 0x434F JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3F60 JUMPI PUSH2 0x3F5F PUSH2 0x434F JUMP JUMPDEST JUMPDEST PUSH2 0x3F69 DUP3 PUSH2 0x43A6 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3F91 JUMPI PUSH2 0x3F90 PUSH2 0x434F JUMP JUMPDEST JUMPDEST PUSH2 0x3F9A DUP3 PUSH2 0x43A6 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x410C DUP3 PUSH2 0x41D0 JUMP JUMPDEST SWAP2 POP PUSH2 0x4117 DUP4 PUSH2 0x41D0 JUMP JUMPDEST SWAP3 POP DUP3 PUSH1 0xFF SUB DUP3 GT ISZERO PUSH2 0x412D JUMPI PUSH2 0x412C PUSH2 0x4293 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4143 DUP3 PUSH2 0x41BC JUMP JUMPDEST SWAP2 POP PUSH2 0x414E DUP4 PUSH2 0x41BC JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x415E JUMPI PUSH2 0x415D PUSH2 0x42C2 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x418D DUP3 PUSH2 0x4DA0 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0xF SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x3 SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x41E8 DUP3 PUSH2 0x417F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x421C JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x4201 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x422B JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x423A DUP3 PUSH2 0x43A6 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x4259 JUMPI PUSH2 0x4258 PUSH2 0x434F JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x426D DUP3 PUSH2 0x41BC JUMP JUMPDEST SWAP2 POP PUSH2 0x4278 DUP4 PUSH2 0x41BC JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x4288 JUMPI PUSH2 0x4287 PUSH2 0x42C2 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x20636F756C64206E6F74206265207265747269657665642E204661696C656420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x776974682048545450206572726F7220636F64653A2000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x207374616765206973206E6F7420737570706F72746564000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20547269656420746F20726561642062 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x797465732076616C75652066726F6D206572726F726564205769746E65742E52 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x6573756C74000000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x556E6B6E6F776E206572726F7220283078000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20547269656420746F20726561642060 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x696E743132385B5D602076616C75652066726F6D206572726F72656420576974 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x6E65742E526573756C7400000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x556E646572666C6F77206174206F70657261746F7220636F6465203078000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x2073746167650000000000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20547269656420746F20726561642060 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x666978656431365B5D602076616C75652066726F6D206572726F726564205769 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x746E65742E526573756C74000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x20776173206E6F7420612076616C69642043424F522076616C75650000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F70657261746F7220636F646520307800000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x20636F756C64206E6F7420626520726574726965766564206265636175736520 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6F6620612074696D656F75740000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20547269656420746F20726561642060 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x696E74313238602076616C75652066726F6D206572726F726564205769746E65 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x742E526573756C74000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x20696E2073637269707420230000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x2900000000000000000000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x2066726F6D200000000000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x536F757263652073637269707420230000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20547269656420746F20726561642060 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x75696E743634602076616C75652066726F6D206572726F726564205769746E65 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x742E526573756C74000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x20666F756E642061742063616C6C202300000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20547269656420746F20726561642060 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x75696E7436345B5D602076616C75652066726F6D206572726F72656420576974 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x6E65742E526573756C7400000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20547269656420746F20726561642060 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x737472696E675B5D602076616C75652066726F6D206572726F72656420576974 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x6E65742E526573756C7400000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x20737461676520636F6E7461696E656420746F6F206D616E792063616C6C7320 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2800000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20747269656420746F20726561642062 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7974657333322076616C75652066726F6D206572726F726564205769746E6574 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x2E526573756C7400000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20547269656420746F20726561642060 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x737472696E67602076616C75652066726F6D206572726F726564205769746E65 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x742E526573756C74000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5468652043424F522076616C756520696E207363726970742023000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4469766973696F6E206279207A65726F206174206F70657261746F7220636F64 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6520307800000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20547269656420746F20726561642065 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x72726F7220636F64652066726F6D207375636365737366756C205769746E6574 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x2E526573756C7400000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F766572666C6F77206174206F70657261746F7220636F646520307800000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x20776173206E6F7420616E204172726179206F662063616C6C73000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20547269656420746F20726561642060 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x626F6F6C602076616C75652066726F6D206572726F726564205769746E65742E PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x526573756C740000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x20776173206E6F7420612076616C696420446174612052657175657374000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x2066726F6D207468652000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E65745061727365724C69623A20547269656420746F20726561642060 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x66697865643136602076616C75652066726F6D206572726F726564205769746E PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x65742E526573756C740000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x546865207265717565737420636F6E7461696E656420746F6F206D616E792073 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6F75726365732028000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5363726970742023000000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x536F757263652023000000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x100 DUP2 LT PUSH2 0x4DB2 JUMPI PUSH2 0x4DB1 PUSH2 0x42F1 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH2 0x4DBE DUP2 PUSH2 0x4169 JUMP JUMPDEST DUP2 EQ PUSH2 0x4DC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x4DD5 DUP2 PUSH2 0x4175 JUMP JUMPDEST DUP2 EQ PUSH2 0x4DE0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x4DEC DUP2 PUSH2 0x4192 JUMP JUMPDEST DUP2 EQ PUSH2 0x4DF7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x4E03 DUP2 PUSH2 0x419F JUMP JUMPDEST DUP2 EQ PUSH2 0x4E0E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x4E1A DUP2 PUSH2 0x41AC JUMP JUMPDEST DUP2 EQ PUSH2 0x4E25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x4E31 DUP2 PUSH2 0x41BC JUMP JUMPDEST DUP2 EQ PUSH2 0x4E3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x4E48 DUP2 PUSH2 0x41D0 JUMP JUMPDEST DUP2 EQ PUSH2 0x4E53 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID SLOAD PUSH9 0x652073747275637475 PUSH19 0x65206F66207468652072657175657374206973 KECCAK256 PUSH10 0x6E76616C696420616E64 KECCAK256 PUSH10 0x742063616E6E6F742062 PUSH6 0x207061727365 PUSH5 0x5468652072 PUSH6 0x717565737420 PUSH19 0x6573756C74206C656E67746820657863656564 PUSH20 0x20612062726964676520636F6E74726163742064 PUSH6 0x66696E656420 PUSH13 0x696D6974546865207265717565 PUSH20 0x7420686173206265656E2072656A656374656420 PUSH3 0x792074 PUSH9 0x652062726964676520 PUSH15 0x6F64652064756520746F20706F6F72 KECCAK256 PUSH10 0x6E63656E7469766573A2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH29 0x84347B582E34D3C229CA790843F11AD8ED7D0539A9EC821D76A66DC1E0 CALLER LT PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ","sourceMap":"375:16523:53:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9331:308;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11161:284;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1090:418;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14076:282;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13101;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1680:132;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13592:260;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4035:5082;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;2310:261;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1981:132;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2772:262;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9837:253;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11655:257;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14606:363;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3266:317;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10681:263;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;673:243;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12619:267;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12137:282;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9331:308;9417:15;9470:7;:15;;;9469:16;9448:134;;;;;;;;;;;;:::i;:::-;;;;;;;;;9599:7;:13;;;:31;;;;:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9592:40;;9331:308;;;:::o;11161:284::-;11254:14;11292:7;:15;;;11284:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;11404:7;:13;;;:32;;;;:34;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11397:41;;11161:284;;;:::o;1090:418::-;1187:20;;:::i;:::-;1415:12;1448:2;1430:10;:14;;;:20;;;;1415:35;;1467:34;;;;;;;;1481:7;1467:34;;;;;;1490:10;1467:34;;;1460:41;;;1090:418;;;:::o;14076:282::-;14168:15;14207:7;:15;;;14199:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;14318:7;:13;;;:31;;;;:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14311:40;;14076:282;;;:::o;13101:::-;13193:15;13232:7;:15;;;13224:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;13343:7;:13;;;:31;;;;:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13336:40;;13101:282;;;:::o;1680:132::-;1763:4;1790:7;:15;;;1783:22;;1680:132;;;:::o;13592:260::-;13678:6;13708:7;:15;;;13700:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;13817:7;:13;;;:26;;;;:28;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13810:35;;13592:260;;;:::o;4035:5082::-;4122:17;4141:13;4170:21;4194:19;4205:7;4194:10;:19::i;:::-;4170:43;;4243:1;4227:5;:12;:17;4223:115;;;4268:25;4260:67;;;;;;;;;;;;;;;;;;;;;;;;4223:115;4347:27;4377:38;4406:5;4412:1;4406:8;;;;;;;;:::i;:::-;;;;;;;;4377:28;:38::i;:::-;4347:68;;4425:25;4478:37;4465:50;;;;;;;;:::i;:::-;;:9;:50;;;;;;;;:::i;:::-;;;:71;;;;;4535:1;4519:5;:12;:17;;4465:71;4461:4600;;;4636:15;4642:5;4648:1;4642:8;;;;;;;;:::i;:::-;;;;;;;;4636:5;:15::i;:::-;4567:145;;;;;;;;:::i;:::-;;;;;;;;;;;;;4552:160;;4461:4600;;;4746:38;4733:51;;;;;;;;:::i;:::-;;:9;:51;;;;;;;;:::i;:::-;;;:72;;;;;4804:1;4788:5;:12;:17;;4733:72;4729:4332;;;4916:15;4922:5;4928:1;4922:8;;;;;;;;:::i;:::-;;;;;;;;4916:5;:15::i;:::-;4836:155;;;;;;;;:::i;:::-;;;;;;;;;;;;;4821:170;;4729:4332;;;5025:38;5012:51;;;;;;;;:::i;:::-;;:9;:51;;;;;;;;:::i;:::-;;;:72;;;;;5083:1;5067:5;:12;:17;;5012:72;5008:4053;;;5195:15;5201:5;5207:1;5201:8;;;;;;;;:::i;:::-;;;;;;;;5195:5;:15::i;:::-;5115:158;;;;;;;;:::i;:::-;;;;;;;;;;;;;5100:173;;5008:4053;;;5307:39;5294:52;;;;;;;;:::i;:::-;;:9;:52;;;;;;;;:::i;:::-;;;:73;;;;;5366:1;5350:5;:12;:17;;5294:73;5290:3771;;;5493:15;5499:5;5505:1;5499:8;;;;;;;;:::i;:::-;;;;;;;;5493:5;:15::i;:::-;5398:146;;;;;;;;:::i;:::-;;;;;;;;;;;;;5383:161;;5290:3771;;;5578:36;5565:49;;;;;;;;:::i;:::-;;:9;:49;;;;;;;;:::i;:::-;;;:70;;;;;5634:1;5618:5;:12;:17;;5565:70;5561:3500;;;5728:15;5734:5;5740:1;5734:8;;;;;;;;:::i;:::-;;;;;;;;5728:5;:15::i;:::-;5791:19;5801:5;5807:1;5801:8;;;;;;;;:::i;:::-;;;;;;;;5791:9;:19::i;:::-;5881:15;5887:5;5893:1;5887:8;;;;;;;;:::i;:::-;;;;;;;;5881:5;:15::i;:::-;5666:265;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5651:280;;5561:3500;;;5965:37;5952:50;;;;;;;;:::i;:::-;;:9;:50;;;;;;;;:::i;:::-;;;:71;;;;;6022:1;6006:5;:12;:17;;5952:71;5948:3113;;;6124:17;6132:5;6138:1;6132:8;;;;;;;;:::i;:::-;;;;;;;;6124:7;:17::i;:::-;6195:15;6201:5;6207:1;6201:8;;;;;;;;:::i;:::-;;;;;;;;6195:5;:15::i;:::-;6260;6266:5;6272:1;6266:8;;;;;;;;:::i;:::-;;;;;;;;6260:5;:15::i;:::-;6319:19;6329:5;6335:1;6329:8;;;;;;;;:::i;:::-;;;;;;;;6319:9;:19::i;:::-;6054:341;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6039:356;;5948:3113;;;6429:22;6416:35;;;;;;;;:::i;:::-;;:9;:35;;;;;;;;:::i;:::-;;;:56;;;;;6471:1;6455:5;:12;:17;;6416:56;6412:2649;;;6565:15;6571:5;6577:1;6571:8;;;;;;;;:::i;:::-;;;;;;;;6565:5;:15::i;:::-;6672:21;6689:3;6678:5;6684:1;6678:8;;;;;;;;:::i;:::-;;;;;;;;:14;;;;:::i;:::-;6672:5;:21::i;:::-;6711:26;6734:2;6728:3;6717:5;6723:1;6717:8;;;;;;;;:::i;:::-;;;;;;;;:14;;;;:::i;:::-;:19;;;;:::i;:::-;6711:5;:26::i;:::-;6755:20;6772:2;6761:5;6767:1;6761:8;;;;;;;;:::i;:::-;;;;;;;;:13;;;;:::i;:::-;6755:5;:20::i;:::-;6503:286;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6488:301;;6412:2649;;;6823:34;6810:47;;;;;;;;:::i;:::-;;:9;:47;;;;;;;;:::i;:::-;;;:68;;;;;6877:1;6861:5;:12;:17;;6810:68;6806:2255;;;6971:15;6977:5;6983:1;6977:8;;;;;;;;:::i;:::-;;;;;;;;6971:5;:15::i;:::-;6909:155;;;;;;;;:::i;:::-;;;;;;;;;;;;;6894:170;;6806:2255;;;7098:27;7085:40;;;;;;;;:::i;:::-;;:9;:40;;;;;;;;:::i;:::-;;;:61;;;;;7145:1;7129:5;:12;:17;;7085:61;7081:1980;;;7262:17;7270:5;7276:1;7270:8;;;;;;;;:::i;:::-;;;;;;;;7262:7;:17::i;:::-;7333:15;7339:5;7345:1;7339:8;;;;;;;;:::i;:::-;;;;;;;;7333:5;:15::i;:::-;7398;7404:5;7410:1;7404:8;;;;;;;;:::i;:::-;;;;;;;;7398:5;:15::i;:::-;7457:19;7467:5;7473:1;7467:8;;;;;;;;:::i;:::-;;;;;;;;7457:9;:19::i;:::-;7179:337;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7164:352;;7081:1980;;;7550:26;7537:39;;;;;;;;:::i;:::-;;:9;:39;;;;;;;;:::i;:::-;;;:60;;;;;7596:1;7580:5;:12;:17;;7537:60;7533:1528;;;7710:17;7718:5;7724:1;7718:8;;;;;;;;:::i;:::-;;;;;;;;7710:7;:17::i;:::-;7781:15;7787:5;7793:1;7787:8;;;;;;;;:::i;:::-;;;;;;;;7781:5;:15::i;:::-;7846;7852:5;7858:1;7852:8;;;;;;;;:::i;:::-;;;;;;;;7846:5;:15::i;:::-;7905:19;7915:5;7921:1;7915:8;;;;;;;;:::i;:::-;;;;;;;;7905:9;:19::i;:::-;7628:336;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7613:351;;7533:1528;;;7998:32;7985:45;;;;;;;;:::i;:::-;;:9;:45;;;;;;;;:::i;:::-;;;:66;;;;;8050:1;8034:5;:12;:17;;7985:66;7981:1080;;;8172:17;8180:5;8186:1;8180:8;;;;;;;;:::i;:::-;;;;;;;;8172:7;:17::i;:::-;8243:15;8249:5;8255:1;8249:8;;;;;;;;:::i;:::-;;;;;;;;8243:5;:15::i;:::-;8308;8314:5;8320:1;8314:8;;;;;;;;:::i;:::-;;;;;;;;8308:5;:15::i;:::-;8367:19;8377:5;8383:1;8377:8;;;;;;;;:::i;:::-;;;;;;;;8367:9;:19::i;:::-;8082:344;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;8067:359;;7981:1080;;;8460:40;8447:53;;;;;;;;:::i;:::-;;:9;:53;;;;;;;;:::i;:::-;;;8443:618;;;8516:80;;;;;;;;;;;;;;;;;;;8443:618;;;8630:38;8617:51;;;;;;;;:::i;:::-;;:9;:51;;;;;;;;:::i;:::-;;;8613:448;;;8684:88;;;;;;;;;;;;;;;;;;;8613:448;;;8806:39;8793:52;;;;;;;;:::i;:::-;;:9;:52;;;;;;;;:::i;:::-;;;8789:272;;;8861:82;;;;;;;;;;;;;;;;;;;8789:272;;;9027:17;9035:5;9041:1;9035:8;;;;;;;;:::i;:::-;;;;;;;;9027:7;:17::i;:::-;8989:61;;;;;;;;:::i;:::-;;;;;;;;;;;;;8974:76;;8789:272;8613:448;8443:618;7981:1080;7533:1528;7081:1980;6806:2255;6412:2649;5948:3113;5561:3500;5290:3771;5008:4053;4729:4332;4461:4600;9078:9;9096:12;9070:40;;;;;;;4035:5082;;;;:::o;2310:261::-;2395:12;2431:7;:15;;;2423:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;2537:7;:13;;;:25;;;;:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2530:34;;2310:261;;;:::o;1981:132::-;2063:4;2091:7;:15;;;2090:16;2083:23;;1981:132;;;:::o;2772:262::-;2859:7;2890;:15;;;2882:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;2998:7;:13;;;:27;;;;:29;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2991:36;;2772:262;;;:::o;9837:253::-;9922:4;9950:7;:15;;;9942:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;10057:7;:13;;;:24;;;;:26;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10050:33;;9837:253;;;:::o;11655:257::-;11738:6;11768:7;:15;;;11760:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;11877:7;:13;;;:26;;;;:28;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11870:35;;11655:257;;;:::o;14606:363::-;14682:13;14730:1;14715:11;:16;;;14711:252;;;14747:18;;;;;;;;;;;;;;;;;;;;;14711:252;14801:1;14786:11;:16;;;14782:181;;;14818:20;;;;;;;;;;;;;;;;;;;;;14782:181;14874:1;14859:11;:16;;;14855:108;;;14891:14;;;;;;;;;;;;;;;;;;;;;14855:108;14936:16;;;;;;;;;;;;;;;;;;;14606:363;;;;:::o;3266:317::-;3356:17;3389:21;3413:19;3424:7;3413:10;:19::i;:::-;3389:43;;3462:1;3446:5;:12;:17;3442:80;;;3486:25;3479:32;;;;;3442:80;3538:38;3567:5;3573:1;3567:8;;;;;;;;:::i;:::-;;;;;;;;3538:28;:38::i;:::-;3531:45;;;3266:317;;;;:::o;10681:263::-;10769:5;10798:7;:15;;;10790:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;10908:7;:13;;;:27;;;;:29;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10901:36;;10681:263;;;:::o;673:243::-;768:20;;:::i;:::-;804:28;835:10;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;804:58;;879:30;899:9;879:19;:30::i;:::-;872:37;;;673:243;;;;:::o;12619:267::-;12705:13;12742:7;:15;;;12734:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;12851:7;:13;;;:26;;;;:28;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12844:35;;12619:267;;;:::o;12137:282::-;12229:15;12268:7;:15;;;12260:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;12379:7;:13;;;:31;;;;:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12372:40;;12137:282;;;:::o;15169:177::-;15267:17;15325:13;15307:32;;;;;;;;;;:::i;:::-;;15300:39;;15169:177;;;:::o;15591:692::-;15655:13;15693:2;15688;:7;;;15684:593;;;15711:15;15739:1;15729:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15711:30;;15782:2;15776;15770:14;;;;:::i;:::-;15763:22;;15755:2;15758:1;15755:5;;;;;;;;:::i;:::-;;;;;:30;;;;;;;;;;;15813:2;15799:17;;;;;15684:593;15842:3;15837:2;:8;;;15833:444;;;15861:15;15889:1;15879:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15861:30;;15937:2;15931;15926;:7;;;;:::i;:::-;15920:19;;;;:::i;:::-;15913:27;;15905:2;15908:1;15905:5;;;;;;;;:::i;:::-;;;;;:35;;;;;;;;;;;15986:2;15980;15975;:7;;;;:::i;:::-;15969:19;;;;:::i;:::-;15962:27;;15954:2;15957:1;15954:5;;;;;;;;:::i;:::-;;;;;:35;;;;;;;;;;;16017:2;16003:17;;;;;15833:444;16051:15;16079:1;16069:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16051:30;;16128:2;16121:3;16116:2;:8;;;;:::i;:::-;16110:20;;;;:::i;:::-;16103:28;;16095:2;16098:1;16095:5;;;;;;;;:::i;:::-;;;;;:36;;;;;;;;;;;16183:2;16177;16171:3;16166:2;:8;;;;:::i;:::-;:13;;;;:::i;:::-;16160:25;;;;:::i;:::-;16153:33;;16145:2;16148:1;16145:5;;;;;;;;:::i;:::-;;;;;:41;;;;;;;;;;;16232:2;16226;16221;:7;;;;:::i;:::-;16215:19;;;;:::i;:::-;16208:27;;16200:2;16203:1;16200:5;;;;;;;;:::i;:::-;;;;;:35;;;;;;;;;;;16263:2;16249:17;;;15591:692;;;;:::o;16517:379::-;16583:13;16612:15;16640:1;16630:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16612:30;;16652:8;16680:2;16674;16669;:7;;;;:::i;:::-;16663:19;;;;:::i;:::-;16652:30;;16692:8;16720:2;16714;16709;:7;;;;:::i;:::-;16703:19;;;;:::i;:::-;16692:30;;16741:2;16736;:7;;;16732:32;;;16763:1;16757:7;;;;;:::i;:::-;;;16732:32;16783:2;16778;:7;;;16774:32;;;16805:1;16799:7;;;;;:::i;:::-;;;16774:32;16831:2;16824:10;;16816:2;16819:1;16816:5;;;;;;;;:::i;:::-;;;;;:18;;;;;;;;;;;16859:2;16852:10;;16844:2;16847:1;16844:5;;;;;;;;:::i;:::-;;;;;:18;;;;;;;;;;;16886:2;16872:17;;;;;16517:379;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;23:741:67:-;129:5;154:80;170:63;226:6;170:63;:::i;:::-;154:80;:::i;:::-;145:89;;254:5;283:6;276:5;269:21;317:4;310:5;306:16;299:23;;343:6;393:3;385:4;377:6;373:17;368:3;364:27;361:36;358:143;;;412:79;;:::i;:::-;358:143;525:1;510:248;535:6;532:1;529:13;510:248;;;603:3;632:47;675:3;663:10;632:47;:::i;:::-;627:3;620:60;709:4;704:3;700:14;693:21;;743:4;738:3;734:14;727:21;;570:188;557:1;554;550:9;545:14;;510:248;;;514:14;135:629;;23:741;;;;;:::o;785:738::-;890:5;915:79;931:62;986:6;931:62;:::i;:::-;915:79;:::i;:::-;906:88;;1014:5;1043:6;1036:5;1029:21;1077:4;1070:5;1066:16;1059:23;;1103:6;1153:3;1145:4;1137:6;1133:17;1128:3;1124:27;1121:36;1118:143;;;1172:79;;:::i;:::-;1118:143;1285:1;1270:247;1295:6;1292:1;1289:13;1270:247;;;1363:3;1392:46;1434:3;1422:10;1392:46;:::i;:::-;1387:3;1380:59;1468:4;1463:3;1459:14;1452:21;;1502:4;1497:3;1493:14;1486:21;;1330:187;1317:1;1314;1310:9;1305:14;;1270:247;;;1274:14;896:627;;785:738;;;;;:::o;1545:972::-;1662:5;1687:91;1703:74;1770:6;1703:74;:::i;:::-;1687:91;:::i;:::-;1678:100;;1798:5;1827:6;1820:5;1813:21;1861:4;1854:5;1850:16;1843:23;;1887:6;1937:3;1929:4;1921:6;1917:17;1912:3;1908:27;1905:36;1902:143;;;1956:79;;:::i;:::-;1902:143;2069:1;2054:457;2079:6;2076:1;2073:13;2054:457;;;2154:3;2148:10;2190:18;2177:11;2174:35;2171:122;;;2212:79;;:::i;:::-;2171:122;2336:11;2328:6;2324:24;2374:58;2428:3;2416:10;2374:58;:::i;:::-;2369:3;2362:71;2462:4;2457:3;2453:14;2446:21;;2496:4;2491:3;2487:14;2480:21;;2114:397;;2101:1;2098;2094:9;2089:14;;2054:457;;;2058:14;1668:849;;1545:972;;;;;:::o;2539:741::-;2645:5;2670:80;2686:63;2742:6;2686:63;:::i;:::-;2670:80;:::i;:::-;2661:89;;2770:5;2799:6;2792:5;2785:21;2833:4;2826:5;2822:16;2815:23;;2859:6;2909:3;2901:4;2893:6;2889:17;2884:3;2880:27;2877:36;2874:143;;;2928:79;;:::i;:::-;2874:143;3041:1;3026:248;3051:6;3048:1;3045:13;3026:248;;;3119:3;3148:47;3191:3;3179:10;3148:47;:::i;:::-;3143:3;3136:60;3225:4;3220:3;3216:14;3209:21;;3259:4;3254:3;3250:14;3243:21;;3086:188;3073:1;3070;3066:9;3061:14;;3026:248;;;3030:14;2651:629;;2539:741;;;;;:::o;3286:410::-;3363:5;3388:65;3404:48;3445:6;3404:48;:::i;:::-;3388:65;:::i;:::-;3379:74;;3476:6;3469:5;3462:21;3514:4;3507:5;3503:16;3552:3;3543:6;3538:3;3534:16;3531:25;3528:112;;;3559:79;;:::i;:::-;3528:112;3649:41;3683:6;3678:3;3673;3649:41;:::i;:::-;3369:327;3286:410;;;;;:::o;3702:419::-;3790:5;3815:65;3831:48;3872:6;3831:48;:::i;:::-;3815:65;:::i;:::-;3806:74;;3903:6;3896:5;3889:21;3941:4;3934:5;3930:16;3979:3;3970:6;3965:3;3961:16;3958:25;3955:112;;;3986:79;;:::i;:::-;3955:112;4076:39;4108:6;4103:3;4098;4076:39;:::i;:::-;3796:325;3702:419;;;;;:::o;4127:421::-;4216:5;4241:66;4257:49;4299:6;4257:49;:::i;:::-;4241:66;:::i;:::-;4232:75;;4330:6;4323:5;4316:21;4368:4;4361:5;4357:16;4406:3;4397:6;4392:3;4388:16;4385:25;4382:112;;;4413:79;;:::i;:::-;4382:112;4503:39;4535:6;4530:3;4525;4503:39;:::i;:::-;4222:326;4127:421;;;;;:::o;4570:383::-;4651:5;4700:3;4693:4;4685:6;4681:17;4677:27;4667:122;;4708:79;;:::i;:::-;4667:122;4818:6;4812:13;4843:104;4943:3;4935:6;4928:4;4920:6;4916:17;4843:104;:::i;:::-;4834:113;;4657:296;4570:383;;;;:::o;4974:381::-;5054:5;5103:3;5096:4;5088:6;5084:17;5080:27;5070:122;;5111:79;;:::i;:::-;5070:122;5221:6;5215:13;5246:103;5345:3;5337:6;5330:4;5322:6;5318:17;5246:103;:::i;:::-;5237:112;;5060:295;4974:381;;;;:::o;5377:405::-;5469:5;5518:3;5511:4;5503:6;5499:17;5495:27;5485:122;;5526:79;;:::i;:::-;5485:122;5636:6;5630:13;5661:115;5772:3;5764:6;5757:4;5749:6;5745:17;5661:115;:::i;:::-;5652:124;;5475:307;5377:405;;;;:::o;5804:383::-;5885:5;5934:3;5927:4;5919:6;5915:17;5911:27;5901:122;;5942:79;;:::i;:::-;5901:122;6052:6;6046:13;6077:104;6177:3;6169:6;6162:4;6154:6;6150:17;6077:104;:::i;:::-;6068:113;;5891:296;5804:383;;;;:::o;6193:133::-;6236:5;6274:6;6261:20;6252:29;;6290:30;6314:5;6290:30;:::i;:::-;6193:133;;;;:::o;6332:137::-;6386:5;6417:6;6411:13;6402:22;;6433:30;6457:5;6433:30;:::i;:::-;6332:137;;;;:::o;6475:143::-;6532:5;6563:6;6557:13;6548:22;;6579:33;6606:5;6579:33;:::i;:::-;6475:143;;;;:::o;6637:552::-;6694:8;6704:6;6754:3;6747:4;6739:6;6735:17;6731:27;6721:122;;6762:79;;:::i;:::-;6721:122;6875:6;6862:20;6852:30;;6905:18;6897:6;6894:30;6891:117;;;6927:79;;:::i;:::-;6891:117;7041:4;7033:6;7029:17;7017:29;;7095:3;7087:4;7079:6;7075:17;7065:8;7061:32;7058:41;7055:128;;;7102:79;;:::i;:::-;7055:128;6637:552;;;;;:::o;7208:338::-;7263:5;7312:3;7305:4;7297:6;7293:17;7289:27;7279:122;;7320:79;;:::i;:::-;7279:122;7437:6;7424:20;7462:78;7536:3;7528:6;7521:4;7513:6;7509:17;7462:78;:::i;:::-;7453:87;;7269:277;7208:338;;;;:::o;7565:353::-;7631:5;7680:3;7673:4;7665:6;7661:17;7657:27;7647:122;;7688:79;;:::i;:::-;7647:122;7798:6;7792:13;7823:89;7908:3;7900:6;7893:4;7885:6;7881:17;7823:89;:::i;:::-;7814:98;;7637:281;7565:353;;;;:::o;7924:141::-;7980:5;8011:6;8005:13;7996:22;;8027:32;8053:5;8027:32;:::i;:::-;7924:141;;;;:::o;8071:139::-;8126:5;8157:6;8151:13;8142:22;;8173:31;8198:5;8173:31;:::i;:::-;8071:139;;;;:::o;8230:355::-;8297:5;8346:3;8339:4;8331:6;8327:17;8323:27;8313:122;;8354:79;;:::i;:::-;8313:122;8464:6;8458:13;8489:90;8575:3;8567:6;8560:4;8552:6;8548:17;8489:90;:::i;:::-;8480:99;;8303:282;8230:355;;;;:::o;8619:743::-;8692:5;8736:4;8724:9;8719:3;8715:19;8711:30;8708:117;;;8744:79;;:::i;:::-;8708:117;8843:21;8859:4;8843:21;:::i;:::-;8834:30;;8951:1;8940:9;8936:17;8923:31;8981:18;8973:6;8970:30;8967:117;;;9003:79;;:::i;:::-;8967:117;9123:58;9177:3;9168:6;9157:9;9153:22;9123:58;:::i;:::-;9116:4;9109:5;9105:16;9098:84;8874:319;9254:2;9295:48;9339:3;9330:6;9319:9;9315:22;9295:48;:::i;:::-;9288:4;9281:5;9277:16;9270:74;9203:152;8619:743;;;;:::o;9396:769::-;9480:5;9524:4;9512:9;9507:3;9503:19;9499:30;9496:117;;;9532:79;;:::i;:::-;9496:117;9631:21;9647:4;9631:21;:::i;:::-;9622:30;;9732:1;9721:9;9717:17;9711:24;9762:18;9754:6;9751:30;9748:117;;;9784:79;;:::i;:::-;9748:117;9904:69;9969:3;9960:6;9949:9;9945:22;9904:69;:::i;:::-;9897:4;9890:5;9886:16;9879:95;9662:323;10046:2;10087:59;10142:3;10133:6;10122:9;10118:22;10087:59;:::i;:::-;10080:4;10073:5;10069:16;10062:85;9995:163;9396:769;;;;:::o;10197:1422::-;10268:5;10312:4;10300:9;10295:3;10291:19;10287:30;10284:117;;;10320:79;;:::i;:::-;10284:117;10419:21;10435:4;10419:21;:::i;:::-;10410:30;;10529:1;10518:9;10514:17;10501:31;10559:18;10551:6;10548:30;10545:117;;;10581:79;;:::i;:::-;10545:117;10701:73;10770:3;10761:6;10750:9;10746:22;10701:73;:::i;:::-;10694:4;10687:5;10683:16;10676:99;10450:336;10852:2;10893:47;10936:3;10927:6;10916:9;10912:22;10893:47;:::i;:::-;10886:4;10879:5;10875:16;10868:73;10796:156;11016:2;11057:47;11100:3;11091:6;11080:9;11076:22;11057:47;:::i;:::-;11050:4;11043:5;11039:16;11032:73;10962:154;11192:2;11233:47;11276:3;11267:6;11256:9;11252:22;11233:47;:::i;:::-;11226:4;11219:5;11215:16;11208:73;11126:166;11350:3;11392:48;11436:3;11427:6;11416:9;11412:22;11392:48;:::i;:::-;11385:4;11378:5;11374:16;11367:74;11302:150;11510:3;11552:48;11596:3;11587:6;11576:9;11572:22;11552:48;:::i;:::-;11545:4;11538:5;11534:16;11527:74;11462:150;10197:1422;;;;:::o;11651:1492::-;11733:5;11777:4;11765:9;11760:3;11756:19;11752:30;11749:117;;;11785:79;;:::i;:::-;11749:117;11884:21;11900:4;11884:21;:::i;:::-;11875:30;;11987:1;11976:9;11972:17;11966:24;12017:18;12009:6;12006:30;12003:117;;;12039:79;;:::i;:::-;12003:117;12159:84;12239:3;12230:6;12219:9;12215:22;12159:84;:::i;:::-;12152:4;12145:5;12141:16;12134:110;11915:340;12321:2;12362:58;12416:3;12407:6;12396:9;12392:22;12362:58;:::i;:::-;12355:4;12348:5;12344:16;12337:84;12265:167;12496:2;12537:58;12591:3;12582:6;12571:9;12567:22;12537:58;:::i;:::-;12530:4;12523:5;12519:16;12512:84;12442:165;12683:2;12724:58;12778:3;12769:6;12758:9;12754:22;12724:58;:::i;:::-;12717:4;12710:5;12706:16;12699:84;12617:177;12852:3;12894:59;12949:3;12940:6;12929:9;12925:22;12894:59;:::i;:::-;12887:4;12880:5;12876:16;12869:85;12804:161;13023:3;13065:59;13120:3;13111:6;13100:9;13096:22;13065:59;:::i;:::-;13058:4;13051:5;13047:16;13040:85;12975:161;11651:1492;;;;:::o;13177:756::-;13250:5;13294:4;13282:9;13277:3;13273:19;13269:30;13266:117;;;13302:79;;:::i;:::-;13266:117;13401:21;13417:4;13401:21;:::i;:::-;13392:30;;13484:1;13524:46;13566:3;13557:6;13546:9;13542:22;13524:46;:::i;:::-;13517:4;13510:5;13506:16;13499:72;13432:150;13670:2;13659:9;13655:18;13642:32;13701:18;13693:6;13690:30;13687:117;;;13723:79;;:::i;:::-;13687:117;13843:71;13910:3;13901:6;13890:9;13886:22;13843:71;:::i;:::-;13836:4;13829:5;13825:16;13818:97;13592:334;13177:756;;;;:::o;13939:137::-;13984:5;14022:6;14009:20;14000:29;;14038:32;14064:5;14038:32;:::i;:::-;13939:137;;;;:::o;14082:141::-;14138:5;14169:6;14163:13;14154:22;;14185:32;14211:5;14185:32;:::i;:::-;14082:141;;;;:::o;14229:137::-;14274:5;14312:6;14299:20;14290:29;;14328:32;14354:5;14328:32;:::i;:::-;14229:137;;;;:::o;14372:141::-;14428:5;14459:6;14453:13;14444:22;;14475:32;14501:5;14475:32;:::i;:::-;14372:141;;;;:::o;14519:135::-;14563:5;14601:6;14588:20;14579:29;;14617:31;14642:5;14617:31;:::i;:::-;14519:135;;;;:::o;14660:139::-;14715:5;14746:6;14740:13;14731:22;;14762:31;14787:5;14762:31;:::i;:::-;14660:139;;;;:::o;14805:552::-;14899:6;14948:2;14936:9;14927:7;14923:23;14919:32;14916:119;;;14954:79;;:::i;:::-;14916:119;15095:1;15084:9;15080:17;15074:24;15125:18;15117:6;15114:30;15111:117;;;15147:79;;:::i;:::-;15111:117;15252:88;15332:7;15323:6;15312:9;15308:22;15252:88;:::i;:::-;15242:98;;15045:305;14805:552;;;;:::o;15363:550::-;15456:6;15505:2;15493:9;15484:7;15480:23;15476:32;15473:119;;;15511:79;;:::i;:::-;15473:119;15652:1;15641:9;15637:17;15631:24;15682:18;15674:6;15671:30;15668:117;;;15704:79;;:::i;:::-;15668:117;15809:87;15888:7;15879:6;15868:9;15864:22;15809:87;:::i;:::-;15799:97;;15602:304;15363:550;;;;:::o;15919:574::-;16024:6;16073:2;16061:9;16052:7;16048:23;16044:32;16041:119;;;16079:79;;:::i;:::-;16041:119;16220:1;16209:9;16205:17;16199:24;16250:18;16242:6;16239:30;16236:117;;;16272:79;;:::i;:::-;16236:117;16377:99;16468:7;16459:6;16448:9;16444:22;16377:99;:::i;:::-;16367:109;;16170:316;15919:574;;;;:::o;16499:552::-;16593:6;16642:2;16630:9;16621:7;16617:23;16613:32;16610:119;;;16648:79;;:::i;:::-;16610:119;16789:1;16778:9;16774:17;16768:24;16819:18;16811:6;16808:30;16805:117;;;16841:79;;:::i;:::-;16805:117;16946:88;17026:7;17017:6;17006:9;17002:22;16946:88;:::i;:::-;16936:98;;16739:305;16499:552;;;;:::o;17057:345::-;17124:6;17173:2;17161:9;17152:7;17148:23;17144:32;17141:119;;;17179:79;;:::i;:::-;17141:119;17299:1;17324:61;17377:7;17368:6;17357:9;17353:22;17324:61;:::i;:::-;17314:71;;17270:125;17057:345;;;;:::o;17408:351::-;17478:6;17527:2;17515:9;17506:7;17502:23;17498:32;17495:119;;;17533:79;;:::i;:::-;17495:119;17653:1;17678:64;17734:7;17725:6;17714:9;17710:22;17678:64;:::i;:::-;17668:74;;17624:128;17408:351;;;;:::o;17765:527::-;17835:6;17843;17892:2;17880:9;17871:7;17867:23;17863:32;17860:119;;;17898:79;;:::i;:::-;17860:119;18046:1;18035:9;18031:17;18018:31;18076:18;18068:6;18065:30;18062:117;;;18098:79;;:::i;:::-;18062:117;18211:64;18267:7;18258:6;18247:9;18243:22;18211:64;:::i;:::-;18193:82;;;;17989:296;17765:527;;;;;:::o;18298:522::-;18377:6;18426:2;18414:9;18405:7;18401:23;18397:32;18394:119;;;18432:79;;:::i;:::-;18394:119;18573:1;18562:9;18558:17;18552:24;18603:18;18595:6;18592:30;18589:117;;;18625:79;;:::i;:::-;18589:117;18730:73;18795:7;18786:6;18775:9;18771:22;18730:73;:::i;:::-;18720:83;;18523:290;18298:522;;;;:::o;18826:349::-;18895:6;18944:2;18932:9;18923:7;18919:23;18915:32;18912:119;;;18950:79;;:::i;:::-;18912:119;19070:1;19095:63;19150:7;19141:6;19130:9;19126:22;19095:63;:::i;:::-;19085:73;;19041:127;18826:349;;;;:::o;19181:347::-;19249:6;19298:2;19286:9;19277:7;19273:23;19269:32;19266:119;;;19304:79;;:::i;:::-;19266:119;19424:1;19449:62;19503:7;19494:6;19483:9;19479:22;19449:62;:::i;:::-;19439:72;;19395:126;19181:347;;;;:::o;19534:524::-;19614:6;19663:2;19651:9;19642:7;19638:23;19634:32;19631:119;;;19669:79;;:::i;:::-;19631:119;19810:1;19799:9;19795:17;19789:24;19840:18;19832:6;19829:30;19826:117;;;19862:79;;:::i;:::-;19826:117;19967:74;20033:7;20024:6;20013:9;20009:22;19967:74;:::i;:::-;19957:84;;19760:291;19534:524;;;;:::o;20064:533::-;20145:6;20194:2;20182:9;20173:7;20169:23;20165:32;20162:119;;;20200:79;;:::i;:::-;20162:119;20348:1;20337:9;20333:17;20320:31;20378:18;20370:6;20367:30;20364:117;;;20400:79;;:::i;:::-;20364:117;20505:75;20572:7;20563:6;20552:9;20548:22;20505:75;:::i;:::-;20495:85;;20291:299;20064:533;;;;:::o;20603:548::-;20695:6;20744:2;20732:9;20723:7;20719:23;20715:32;20712:119;;;20750:79;;:::i;:::-;20712:119;20891:1;20880:9;20876:17;20870:24;20921:18;20913:6;20910:30;20907:117;;;20943:79;;:::i;:::-;20907:117;21048:86;21126:7;21117:6;21106:9;21102:22;21048:86;:::i;:::-;21038:96;;20841:303;20603:548;;;;:::o;21157:537::-;21240:6;21289:2;21277:9;21268:7;21264:23;21260:32;21257:119;;;21295:79;;:::i;:::-;21257:119;21443:1;21432:9;21428:17;21415:31;21473:18;21465:6;21462:30;21459:117;;;21495:79;;:::i;:::-;21459:117;21600:77;21669:7;21660:6;21649:9;21645:22;21600:77;:::i;:::-;21590:87;;21386:301;21157:537;;;;:::o;21700:327::-;21758:6;21807:2;21795:9;21786:7;21782:23;21778:32;21775:119;;;21813:79;;:::i;:::-;21775:119;21933:1;21958:52;22002:7;21993:6;21982:9;21978:22;21958:52;:::i;:::-;21948:62;;21904:116;21700:327;;;;:::o;22033:349::-;22102:6;22151:2;22139:9;22130:7;22126:23;22122:32;22119:119;;;22157:79;;:::i;:::-;22119:119;22277:1;22302:63;22357:7;22348:6;22337:9;22333:22;22302:63;:::i;:::-;22292:73;;22248:127;22033:349;;;;:::o;22388:191::-;22463:10;22484:52;22532:3;22524:6;22484:52;:::i;:::-;22568:4;22563:3;22559:14;22545:28;;22388:191;;;;:::o;22585:187::-;22658:10;22679:50;22725:3;22717:6;22679:50;:::i;:::-;22761:4;22756:3;22752:14;22738:28;;22585:187;;;;:::o;22778:212::-;22875:10;22910:74;22980:3;22972:6;22910:74;:::i;:::-;22896:88;;22778:212;;;;:::o;22996:191::-;23071:10;23092:52;23140:3;23132:6;23092:52;:::i;:::-;23176:4;23171:3;23167:14;23153:28;;22996:191;;;;:::o;23221:748::-;23346:3;23375:53;23422:5;23375:53;:::i;:::-;23444:93;23530:6;23525:3;23444:93;:::i;:::-;23437:100;;23561:55;23610:5;23561:55;:::i;:::-;23639:7;23670:1;23655:289;23680:6;23677:1;23674:13;23655:289;;;23756:6;23750:13;23783:69;23848:3;23833:13;23783:69;:::i;:::-;23776:76;;23875:59;23927:6;23875:59;:::i;:::-;23865:69;;23715:229;23702:1;23699;23695:9;23690:14;;23655:289;;;23659:14;23960:3;23953:10;;23351:618;;;23221:748;;;;:::o;24001:740::-;24124:3;24153:52;24199:5;24153:52;:::i;:::-;24221:92;24306:6;24301:3;24221:92;:::i;:::-;24214:99;;24337:54;24385:5;24337:54;:::i;:::-;24414:7;24445:1;24430:286;24455:6;24452:1;24449:13;24430:286;;;24531:6;24525:13;24558:67;24621:3;24606:13;24558:67;:::i;:::-;24551:74;;24648:58;24699:6;24648:58;:::i;:::-;24638:68;;24490:226;24477:1;24474;24470:9;24465:14;;24430:286;;;24434:14;24732:3;24725:10;;24129:612;;;24001:740;;;;:::o;24775:1015::-;24922:3;24951:64;25009:5;24951:64;:::i;:::-;25031:104;25128:6;25123:3;25031:104;:::i;:::-;25024:111;;25161:3;25206:4;25198:6;25194:17;25189:3;25185:27;25236:66;25296:5;25236:66;:::i;:::-;25325:7;25356:1;25341:404;25366:6;25363:1;25360:13;25341:404;;;25437:9;25431:4;25427:20;25422:3;25415:33;25488:6;25482:13;25516:92;25603:4;25588:13;25516:92;:::i;:::-;25508:100;;25631:70;25694:6;25631:70;:::i;:::-;25621:80;;25730:4;25725:3;25721:14;25714:21;;25401:344;25388:1;25385;25381:9;25376:14;;25341:404;;;25345:14;25761:4;25754:11;;25781:3;25774:10;;24927:863;;;;;24775:1015;;;;:::o;25824:748::-;25949:3;25978:53;26025:5;25978:53;:::i;:::-;26047:93;26133:6;26128:3;26047:93;:::i;:::-;26040:100;;26164:55;26213:5;26164:55;:::i;:::-;26242:7;26273:1;26258:289;26283:6;26280:1;26277:13;26258:289;;;26359:6;26353:13;26386:69;26451:3;26436:13;26386:69;:::i;:::-;26379:76;;26478:59;26530:6;26478:59;:::i;:::-;26468:69;;26318:229;26305:1;26302;26298:9;26293:14;;26258:289;;;26262:14;26563:3;26556:10;;25954:618;;;25824:748;;;;:::o;26578:117::-;26667:21;26682:5;26667:21;:::i;:::-;26662:3;26655:34;26578:117;;:::o;26701:107::-;26780:21;26795:5;26780:21;:::i;:::-;26775:3;26768:34;26701:107;;:::o;26814:126::-;26909:24;26927:5;26909:24;:::i;:::-;26904:3;26897:37;26814:126;;:::o;26946:376::-;27040:3;27068:38;27100:5;27068:38;:::i;:::-;27122:78;27193:6;27188:3;27122:78;:::i;:::-;27115:85;;27209:52;27254:6;27249:3;27242:4;27235:5;27231:16;27209:52;:::i;:::-;27286:29;27308:6;27286:29;:::i;:::-;27281:3;27277:39;27270:46;;27044:278;26946:376;;;;:::o;27328:356::-;27412:3;27440:38;27472:5;27440:38;:::i;:::-;27494:68;27555:6;27550:3;27494:68;:::i;:::-;27487:75;;27571:52;27616:6;27611:3;27604:4;27597:5;27593:16;27571:52;:::i;:::-;27648:29;27670:6;27648:29;:::i;:::-;27643:3;27639:39;27632:46;;27416:268;27328:356;;;;:::o;27690:165::-;27798:50;27842:5;27798:50;:::i;:::-;27793:3;27786:63;27690:165;;:::o;27861:123::-;27954:23;27971:5;27954:23;:::i;:::-;27949:3;27942:36;27861:123;;:::o;27990:113::-;28073:23;28090:5;28073:23;:::i;:::-;28068:3;28061:36;27990:113;;:::o;28109:120::-;28200:22;28216:5;28200:22;:::i;:::-;28195:3;28188:35;28109:120;;:::o;28235:110::-;28316:22;28332:5;28316:22;:::i;:::-;28311:3;28304:35;28235:110;;:::o;28351:380::-;28447:3;28475:39;28508:5;28475:39;:::i;:::-;28530:79;28602:6;28597:3;28530:79;:::i;:::-;28523:86;;28618:52;28663:6;28658:3;28651:4;28644:5;28640:16;28618:52;:::i;:::-;28695:29;28717:6;28695:29;:::i;:::-;28690:3;28686:39;28679:46;;28451:280;28351:380;;;;:::o;28737:360::-;28823:3;28851:39;28884:5;28851:39;:::i;:::-;28906:69;28968:6;28963:3;28906:69;:::i;:::-;28899:76;;28984:52;29029:6;29024:3;29017:4;29010:5;29006:16;28984:52;:::i;:::-;29061:29;29083:6;29061:29;:::i;:::-;29056:3;29052:39;29045:46;;28827:270;28737:360;;;;:::o;29103:377::-;29209:3;29237:39;29270:5;29237:39;:::i;:::-;29292:89;29374:6;29369:3;29292:89;:::i;:::-;29285:96;;29390:52;29435:6;29430:3;29423:4;29416:5;29412:16;29390:52;:::i;:::-;29467:6;29462:3;29458:16;29451:23;;29213:267;29103:377;;;;:::o;29486:402::-;29646:3;29667:85;29749:2;29744:3;29667:85;:::i;:::-;29660:92;;29761:93;29850:3;29761:93;:::i;:::-;29879:2;29874:3;29870:12;29863:19;;29486:402;;;:::o;29894:::-;30054:3;30075:85;30157:2;30152:3;30075:85;:::i;:::-;30068:92;;30169:93;30258:3;30169:93;:::i;:::-;30287:2;30282:3;30278:12;30271:19;;29894:402;;;:::o;30302:366::-;30444:3;30465:67;30529:2;30524:3;30465:67;:::i;:::-;30458:74;;30541:93;30630:3;30541:93;:::i;:::-;30659:2;30654:3;30650:12;30643:19;;30302:366;;;:::o;30674:402::-;30834:3;30855:85;30937:2;30932:3;30855:85;:::i;:::-;30848:92;;30949:93;31038:3;30949:93;:::i;:::-;31067:2;31062:3;31058:12;31051:19;;30674:402;;;:::o;31082:366::-;31224:3;31245:67;31309:2;31304:3;31245:67;:::i;:::-;31238:74;;31321:93;31410:3;31321:93;:::i;:::-;31439:2;31434:3;31430:12;31423:19;;31082:366;;;:::o;31454:402::-;31614:3;31635:85;31717:2;31712:3;31635:85;:::i;:::-;31628:92;;31729:93;31818:3;31729:93;:::i;:::-;31847:2;31842:3;31838:12;31831:19;;31454:402;;;:::o;31862:400::-;32022:3;32043:84;32125:1;32120:3;32043:84;:::i;:::-;32036:91;;32136:93;32225:3;32136:93;:::i;:::-;32254:1;32249:3;32245:11;32238:18;;31862:400;;;:::o;32268:366::-;32410:3;32431:67;32495:2;32490:3;32431:67;:::i;:::-;32424:74;;32507:93;32596:3;32507:93;:::i;:::-;32625:2;32620:3;32616:12;32609:19;;32268:366;;;:::o;32640:402::-;32800:3;32821:85;32903:2;32898:3;32821:85;:::i;:::-;32814:92;;32915:93;33004:3;32915:93;:::i;:::-;33033:2;33028:3;33024:12;33017:19;;32640:402;;;:::o;33048:::-;33208:3;33229:85;33311:2;33306:3;33229:85;:::i;:::-;33222:92;;33323:93;33412:3;33323:93;:::i;:::-;33441:2;33436:3;33432:12;33425:19;;33048:402;;;:::o;33456:::-;33616:3;33637:85;33719:2;33714:3;33637:85;:::i;:::-;33630:92;;33731:93;33820:3;33731:93;:::i;:::-;33849:2;33844:3;33840:12;33833:19;;33456:402;;;:::o;33864:366::-;34006:3;34027:67;34091:2;34086:3;34027:67;:::i;:::-;34020:74;;34103:93;34192:3;34103:93;:::i;:::-;34221:2;34216:3;34212:12;34205:19;;33864:366;;;:::o;34236:402::-;34396:3;34417:85;34499:2;34494:3;34417:85;:::i;:::-;34410:92;;34511:93;34600:3;34511:93;:::i;:::-;34629:2;34624:3;34620:12;34613:19;;34236:402;;;:::o;34644:400::-;34804:3;34825:84;34907:1;34902:3;34825:84;:::i;:::-;34818:91;;34918:93;35007:3;34918:93;:::i;:::-;35036:1;35031:3;35027:11;35020:18;;34644:400;;;:::o;35050:::-;35210:3;35231:84;35313:1;35308:3;35231:84;:::i;:::-;35224:91;;35324:93;35413:3;35324:93;:::i;:::-;35442:1;35437:3;35433:11;35426:18;;35050:400;;;:::o;35456:402::-;35616:3;35637:85;35719:2;35714:3;35637:85;:::i;:::-;35630:92;;35731:93;35820:3;35731:93;:::i;:::-;35849:2;35844:3;35840:12;35833:19;;35456:402;;;:::o;35864:366::-;36006:3;36027:67;36091:2;36086:3;36027:67;:::i;:::-;36020:74;;36103:93;36192:3;36103:93;:::i;:::-;36221:2;36216:3;36212:12;36205:19;;35864:366;;;:::o;36236:402::-;36396:3;36417:85;36499:2;36494:3;36417:85;:::i;:::-;36410:92;;36511:93;36600:3;36511:93;:::i;:::-;36629:2;36624:3;36620:12;36613:19;;36236:402;;;:::o;36644:366::-;36786:3;36807:67;36871:2;36866:3;36807:67;:::i;:::-;36800:74;;36883:93;36972:3;36883:93;:::i;:::-;37001:2;36996:3;36992:12;36985:19;;36644:366;;;:::o;37016:::-;37158:3;37179:67;37243:2;37238:3;37179:67;:::i;:::-;37172:74;;37255:93;37344:3;37255:93;:::i;:::-;37373:2;37368:3;37364:12;37357:19;;37016:366;;;:::o;37388:402::-;37548:3;37569:85;37651:2;37646:3;37569:85;:::i;:::-;37562:92;;37663:93;37752:3;37663:93;:::i;:::-;37781:2;37776:3;37772:12;37765:19;;37388:402;;;:::o;37796:366::-;37938:3;37959:67;38023:2;38018:3;37959:67;:::i;:::-;37952:74;;38035:93;38124:3;38035:93;:::i;:::-;38153:2;38148:3;38144:12;38137:19;;37796:366;;;:::o;38168:::-;38310:3;38331:67;38395:2;38390:3;38331:67;:::i;:::-;38324:74;;38407:93;38496:3;38407:93;:::i;:::-;38525:2;38520:3;38516:12;38509:19;;38168:366;;;:::o;38540:402::-;38700:3;38721:85;38803:2;38798:3;38721:85;:::i;:::-;38714:92;;38815:93;38904:3;38815:93;:::i;:::-;38933:2;38928:3;38924:12;38917:19;;38540:402;;;:::o;38948:::-;39108:3;39129:85;39211:2;39206:3;39129:85;:::i;:::-;39122:92;;39223:93;39312:3;39223:93;:::i;:::-;39341:2;39336:3;39332:12;39325:19;;38948:402;;;:::o;39356:366::-;39498:3;39519:67;39583:2;39578:3;39519:67;:::i;:::-;39512:74;;39595:93;39684:3;39595:93;:::i;:::-;39713:2;39708:3;39704:12;39697:19;;39356:366;;;:::o;39728:402::-;39888:3;39909:85;39991:2;39986:3;39909:85;:::i;:::-;39902:92;;40003:93;40092:3;40003:93;:::i;:::-;40121:2;40116:3;40112:12;40105:19;;39728:402;;;:::o;40136:::-;40296:3;40317:85;40399:2;40394:3;40317:85;:::i;:::-;40310:92;;40411:93;40500:3;40411:93;:::i;:::-;40529:2;40524:3;40520:12;40513:19;;40136:402;;;:::o;40544:366::-;40686:3;40707:67;40771:2;40766:3;40707:67;:::i;:::-;40700:74;;40783:93;40872:3;40783:93;:::i;:::-;40901:2;40896:3;40892:12;40885:19;;40544:366;;;:::o;40916:402::-;41076:3;41097:85;41179:2;41174:3;41097:85;:::i;:::-;41090:92;;41191:93;41280:3;41191:93;:::i;:::-;41309:2;41304:3;41300:12;41293:19;;40916:402;;;:::o;41324:::-;41484:3;41505:85;41587:2;41582:3;41505:85;:::i;:::-;41498:92;;41599:93;41688:3;41599:93;:::i;:::-;41717:2;41712:3;41708:12;41701:19;;41324:402;;;:::o;41732:366::-;41874:3;41895:67;41959:2;41954:3;41895:67;:::i;:::-;41888:74;;41971:93;42060:3;41971:93;:::i;:::-;42089:2;42084:3;42080:12;42073:19;;41732:366;;;:::o;42104:402::-;42264:3;42285:85;42367:2;42362:3;42285:85;:::i;:::-;42278:92;;42379:93;42468:3;42379:93;:::i;:::-;42497:2;42492:3;42488:12;42481:19;;42104:402;;;:::o;42512:400::-;42672:3;42693:84;42775:1;42770:3;42693:84;:::i;:::-;42686:91;;42786:93;42875:3;42786:93;:::i;:::-;42904:1;42899:3;42895:11;42888:18;;42512:400;;;:::o;42918:::-;43078:3;43099:84;43181:1;43176:3;43099:84;:::i;:::-;43092:91;;43192:93;43281:3;43192:93;:::i;:::-;43310:1;43305:3;43301:11;43294:18;;42918:400;;;:::o;43376:616::-;43491:3;43527:4;43522:3;43518:14;43614:4;43607:5;43603:16;43597:23;43667:3;43661:4;43657:14;43650:4;43645:3;43641:14;43634:38;43693:79;43767:4;43753:12;43693:79;:::i;:::-;43685:87;;43542:241;43867:4;43860:5;43856:16;43850:23;43886:69;43949:4;43944:3;43940:14;43926:12;43886:69;:::i;:::-;43793:172;43982:4;43975:11;;43496:496;43376:616;;;;:::o;44046:1393::-;44167:3;44203:4;44198:3;44194:14;44292:4;44285:5;44281:16;44275:23;44345:3;44339:4;44335:14;44328:4;44323:3;44319:14;44312:38;44371:109;44475:4;44461:12;44371:109;:::i;:::-;44363:117;;44218:273;44580:4;44573:5;44569:16;44563:23;44599:67;44660:4;44655:3;44651:14;44637:12;44599:67;:::i;:::-;44501:175;44763:4;44756:5;44752:16;44746:23;44782:67;44843:4;44838:3;44834:14;44820:12;44782:67;:::i;:::-;44686:173;44958:4;44951:5;44947:16;44941:23;44977:67;45038:4;45033:3;45029:14;45015:12;44977:67;:::i;:::-;44869:185;45135:4;45128:5;45124:16;45118:23;45154:69;45217:4;45212:3;45208:14;45194:12;45154:69;:::i;:::-;45064:169;45314:4;45307:5;45303:16;45297:23;45333:69;45396:4;45391:3;45387:14;45373:12;45333:69;:::i;:::-;45243:169;45429:4;45422:11;;44172:1267;44046:1393;;;;:::o;45493:1383::-;45604:3;45640:4;45635:3;45631:14;45729:4;45722:5;45718:16;45712:23;45782:3;45776:4;45772:14;45765:4;45760:3;45756:14;45749:38;45808:109;45912:4;45898:12;45808:109;:::i;:::-;45800:117;;45655:273;46017:4;46010:5;46006:16;46000:23;46036:67;46097:4;46092:3;46088:14;46074:12;46036:67;:::i;:::-;45938:175;46200:4;46193:5;46189:16;46183:23;46219:67;46280:4;46275:3;46271:14;46257:12;46219:67;:::i;:::-;46123:173;46395:4;46388:5;46384:16;46378:23;46414:67;46475:4;46470:3;46466:14;46452:12;46414:67;:::i;:::-;46306:185;46572:4;46565:5;46561:16;46555:23;46591:69;46654:4;46649:3;46645:14;46631:12;46591:69;:::i;:::-;46501:169;46751:4;46744:5;46740:16;46734:23;46770:69;46833:4;46828:3;46824:14;46810:12;46770:69;:::i;:::-;46680:169;46866:4;46859:11;;45609:1267;45493:1383;;;;:::o;46934:650::-;47059:3;47095:4;47090:3;47086:14;47185:4;47178:5;47174:16;47168:23;47204:65;47263:4;47258:3;47254:14;47240:12;47204:65;:::i;:::-;47110:169;47362:4;47355:5;47351:16;47345:23;47415:3;47409:4;47405:14;47398:4;47393:3;47389:14;47382:38;47441:105;47541:4;47527:12;47441:105;:::i;:::-;47433:113;;47289:268;47574:4;47567:11;;47064:520;46934:650;;;;:::o;47590:113::-;47673:23;47690:5;47673:23;:::i;:::-;47668:3;47661:36;47590:113;;:::o;47709:123::-;47802:23;47819:5;47802:23;:::i;:::-;47797:3;47790:36;47709:123;;:::o;47838:113::-;47921:23;47938:5;47921:23;:::i;:::-;47916:3;47909:36;47838:113;;:::o;47957:110::-;48038:22;48054:5;48038:22;:::i;:::-;48033:3;48026:35;47957:110;;:::o;48073:807::-;48407:3;48429:148;48573:3;48429:148;:::i;:::-;48422:155;;48594:95;48685:3;48676:6;48594:95;:::i;:::-;48587:102;;48706:148;48850:3;48706:148;:::i;:::-;48699:155;;48871:3;48864:10;;48073:807;;;;:::o;48886:2085::-;49667:3;49689:148;49833:3;49689:148;:::i;:::-;49682:155;;49854:95;49945:3;49936:6;49854:95;:::i;:::-;49847:102;;49966:148;50110:3;49966:148;:::i;:::-;49959:155;;50131:95;50222:3;50213:6;50131:95;:::i;:::-;50124:102;;50243:148;50387:3;50243:148;:::i;:::-;50236:155;;50408:95;50499:3;50490:6;50408:95;:::i;:::-;50401:102;;50520:148;50664:3;50520:148;:::i;:::-;50513:155;;50685:95;50776:3;50767:6;50685:95;:::i;:::-;50678:102;;50797:148;50941:3;50797:148;:::i;:::-;50790:155;;50962:3;50955:10;;48886:2085;;;;;;;:::o;50977:::-;51758:3;51780:148;51924:3;51780:148;:::i;:::-;51773:155;;51945:95;52036:3;52027:6;51945:95;:::i;:::-;51938:102;;52057:148;52201:3;52057:148;:::i;:::-;52050:155;;52222:95;52313:3;52304:6;52222:95;:::i;:::-;52215:102;;52334:148;52478:3;52334:148;:::i;:::-;52327:155;;52499:95;52590:3;52581:6;52499:95;:::i;:::-;52492:102;;52611:148;52755:3;52611:148;:::i;:::-;52604:155;;52776:95;52867:3;52858:6;52776:95;:::i;:::-;52769:102;;52888:148;53032:3;52888:148;:::i;:::-;52881:155;;53053:3;53046:10;;50977:2085;;;;;;;:::o;53068:807::-;53402:3;53424:148;53568:3;53424:148;:::i;:::-;53417:155;;53589:95;53680:3;53671:6;53589:95;:::i;:::-;53582:102;;53701:148;53845:3;53701:148;:::i;:::-;53694:155;;53866:3;53859:10;;53068:807;;;;:::o;53881:::-;54215:3;54237:148;54381:3;54237:148;:::i;:::-;54230:155;;54402:95;54493:3;54484:6;54402:95;:::i;:::-;54395:102;;54514:148;54658:3;54514:148;:::i;:::-;54507:155;;54679:3;54672:10;;53881:807;;;;:::o;54694:::-;55028:3;55050:148;55194:3;55050:148;:::i;:::-;55043:155;;55215:95;55306:3;55297:6;55215:95;:::i;:::-;55208:102;;55327:148;55471:3;55327:148;:::i;:::-;55320:155;;55492:3;55485:10;;54694:807;;;;:::o;55507:2085::-;56288:3;56310:148;56454:3;56310:148;:::i;:::-;56303:155;;56475:95;56566:3;56557:6;56475:95;:::i;:::-;56468:102;;56587:148;56731:3;56587:148;:::i;:::-;56580:155;;56752:95;56843:3;56834:6;56752:95;:::i;:::-;56745:102;;56864:148;57008:3;56864:148;:::i;:::-;56857:155;;57029:95;57120:3;57111:6;57029:95;:::i;:::-;57022:102;;57141:148;57285:3;57141:148;:::i;:::-;57134:155;;57306:95;57397:3;57388:6;57306:95;:::i;:::-;57299:102;;57418:148;57562:3;57418:148;:::i;:::-;57411:155;;57583:3;57576:10;;55507:2085;;;;;;;:::o;57598:::-;58379:3;58401:148;58545:3;58401:148;:::i;:::-;58394:155;;58566:95;58657:3;58648:6;58566:95;:::i;:::-;58559:102;;58678:148;58822:3;58678:148;:::i;:::-;58671:155;;58843:95;58934:3;58925:6;58843:95;:::i;:::-;58836:102;;58955:148;59099:3;58955:148;:::i;:::-;58948:155;;59120:95;59211:3;59202:6;59120:95;:::i;:::-;59113:102;;59232:148;59376:3;59232:148;:::i;:::-;59225:155;;59397:95;59488:3;59479:6;59397:95;:::i;:::-;59390:102;;59509:148;59653:3;59509:148;:::i;:::-;59502:155;;59674:3;59667:10;;57598:2085;;;;;;;:::o;59689:807::-;60023:3;60045:148;60189:3;60045:148;:::i;:::-;60038:155;;60210:95;60301:3;60292:6;60210:95;:::i;:::-;60203:102;;60322:148;60466:3;60322:148;:::i;:::-;60315:155;;60487:3;60480:10;;59689:807;;;;:::o;60502:1659::-;61134:3;61156:148;61300:3;61156:148;:::i;:::-;61149:155;;61321:95;61412:3;61403:6;61321:95;:::i;:::-;61314:102;;61433:148;61577:3;61433:148;:::i;:::-;61426:155;;61598:95;61689:3;61680:6;61598:95;:::i;:::-;61591:102;;61710:148;61854:3;61710:148;:::i;:::-;61703:155;;61875:95;61966:3;61957:6;61875:95;:::i;:::-;61868:102;;61987:148;62131:3;61987:148;:::i;:::-;61980:155;;62152:3;62145:10;;60502:1659;;;;;;:::o;62167:1287::-;62645:3;62667:148;62811:3;62667:148;:::i;:::-;62660:155;;62832:95;62923:3;62914:6;62832:95;:::i;:::-;62825:102;;62944:148;63088:3;62944:148;:::i;:::-;62937:155;;63109:95;63200:3;63191:6;63109:95;:::i;:::-;63102:102;;63221:95;63312:3;63303:6;63221:95;:::i;:::-;63214:102;;63333:95;63424:3;63415:6;63333:95;:::i;:::-;63326:102;;63445:3;63438:10;;62167:1287;;;;;;;:::o;63460:807::-;63794:3;63816:148;63960:3;63816:148;:::i;:::-;63809:155;;63981:95;64072:3;64063:6;63981:95;:::i;:::-;63974:102;;64093:148;64237:3;64093:148;:::i;:::-;64086:155;;64258:3;64251:10;;63460:807;;;;:::o;64273:385::-;64422:4;64460:2;64449:9;64445:18;64437:26;;64509:9;64503:4;64499:20;64495:1;64484:9;64480:17;64473:47;64537:114;64646:4;64637:6;64537:114;:::i;:::-;64529:122;;64273:385;;;;:::o;64664:381::-;64811:4;64849:2;64838:9;64834:18;64826:26;;64898:9;64892:4;64888:20;64884:1;64873:9;64869:17;64862:47;64926:112;65033:4;65024:6;64926:112;:::i;:::-;64918:120;;64664:381;;;;:::o;65051:429::-;65222:4;65260:2;65249:9;65245:18;65237:26;;65309:9;65303:4;65299:20;65295:1;65284:9;65280:17;65273:47;65337:136;65468:4;65459:6;65337:136;:::i;:::-;65329:144;;65051:429;;;;:::o;65486:385::-;65635:4;65673:2;65662:9;65658:18;65650:26;;65722:9;65716:4;65712:20;65708:1;65697:9;65693:17;65686:47;65750:114;65859:4;65850:6;65750:114;:::i;:::-;65742:122;;65486:385;;;;:::o;65877:226::-;65972:4;66010:2;65999:9;65995:18;65987:26;;66023:73;66093:1;66082:9;66078:17;66069:6;66023:73;:::i;:::-;65877:226;;;;:::o;66109:238::-;66210:4;66248:2;66237:9;66233:18;66225:26;;66261:79;66337:1;66326:9;66322:17;66313:6;66261:79;:::i;:::-;66109:238;;;;:::o;66353:325::-;66472:4;66510:2;66499:9;66495:18;66487:26;;66559:9;66553:4;66549:20;66545:1;66534:9;66530:17;66523:47;66587:84;66666:4;66657:6;66587:84;:::i;:::-;66579:92;;66353:325;;;;:::o;66684:264::-;66798:4;66836:2;66825:9;66821:18;66813:26;;66849:92;66938:1;66927:9;66923:17;66914:6;66849:92;:::i;:::-;66684:264;;;;:::o;66954:473::-;67116:4;67154:2;67143:9;67139:18;67131:26;;67167:92;67256:1;67245:9;67241:17;67232:6;67167:92;:::i;:::-;67306:9;67300:4;67296:20;67291:2;67280:9;67276:18;67269:48;67334:86;67415:4;67406:6;67334:86;:::i;:::-;67326:94;;66954:473;;;;;:::o;67433:234::-;67532:4;67570:2;67559:9;67555:18;67547:26;;67583:77;67657:1;67646:9;67642:17;67633:6;67583:77;:::i;:::-;67433:234;;;;:::o;67673:230::-;67770:4;67808:2;67797:9;67793:18;67785:26;;67821:75;67893:1;67882:9;67878:17;67869:6;67821:75;:::i;:::-;67673:230;;;;:::o;67909:329::-;68030:4;68068:2;68057:9;68053:18;68045:26;;68117:9;68111:4;68107:20;68103:1;68092:9;68088:17;68081:47;68145:86;68226:4;68217:6;68145:86;:::i;:::-;68137:94;;67909:329;;;;:::o;68244:419::-;68410:4;68448:2;68437:9;68433:18;68425:26;;68497:9;68491:4;68487:20;68483:1;68472:9;68468:17;68461:47;68525:131;68651:4;68525:131;:::i;:::-;68517:139;;68244:419;;;:::o;68669:::-;68835:4;68873:2;68862:9;68858:18;68850:26;;68922:9;68916:4;68912:20;68908:1;68897:9;68893:17;68886:47;68950:131;69076:4;68950:131;:::i;:::-;68942:139;;68669:419;;;:::o;69094:::-;69260:4;69298:2;69287:9;69283:18;69275:26;;69347:9;69341:4;69337:20;69333:1;69322:9;69318:17;69311:47;69375:131;69501:4;69375:131;:::i;:::-;69367:139;;69094:419;;;:::o;69519:::-;69685:4;69723:2;69712:9;69708:18;69700:26;;69772:9;69766:4;69762:20;69758:1;69747:9;69743:17;69736:47;69800:131;69926:4;69800:131;:::i;:::-;69792:139;;69519:419;;;:::o;69944:::-;70110:4;70148:2;70137:9;70133:18;70125:26;;70197:9;70191:4;70187:20;70183:1;70172:9;70168:17;70161:47;70225:131;70351:4;70225:131;:::i;:::-;70217:139;;69944:419;;;:::o;70369:::-;70535:4;70573:2;70562:9;70558:18;70550:26;;70622:9;70616:4;70612:20;70608:1;70597:9;70593:17;70586:47;70650:131;70776:4;70650:131;:::i;:::-;70642:139;;70369:419;;;:::o;70794:::-;70960:4;70998:2;70987:9;70983:18;70975:26;;71047:9;71041:4;71037:20;71033:1;71022:9;71018:17;71011:47;71075:131;71201:4;71075:131;:::i;:::-;71067:139;;70794:419;;;:::o;71219:::-;71385:4;71423:2;71412:9;71408:18;71400:26;;71472:9;71466:4;71462:20;71458:1;71447:9;71443:17;71436:47;71500:131;71626:4;71500:131;:::i;:::-;71492:139;;71219:419;;;:::o;71644:::-;71810:4;71848:2;71837:9;71833:18;71825:26;;71897:9;71891:4;71887:20;71883:1;71872:9;71868:17;71861:47;71925:131;72051:4;71925:131;:::i;:::-;71917:139;;71644:419;;;:::o;72069:::-;72235:4;72273:2;72262:9;72258:18;72250:26;;72322:9;72316:4;72312:20;72308:1;72297:9;72293:17;72286:47;72350:131;72476:4;72350:131;:::i;:::-;72342:139;;72069:419;;;:::o;72494:::-;72660:4;72698:2;72687:9;72683:18;72675:26;;72747:9;72741:4;72737:20;72733:1;72722:9;72718:17;72711:47;72775:131;72901:4;72775:131;:::i;:::-;72767:139;;72494:419;;;:::o;72919:::-;73085:4;73123:2;73112:9;73108:18;73100:26;;73172:9;73166:4;73162:20;73158:1;73147:9;73143:17;73136:47;73200:131;73326:4;73200:131;:::i;:::-;73192:139;;72919:419;;;:::o;73344:377::-;73489:4;73527:2;73516:9;73512:18;73504:26;;73576:9;73570:4;73566:20;73562:1;73551:9;73547:17;73540:47;73604:110;73709:4;73700:6;73604:110;:::i;:::-;73596:118;;73344:377;;;;:::o;73727:385::-;73876:4;73914:2;73903:9;73899:18;73891:26;;73963:9;73957:4;73953:20;73949:1;73938:9;73934:17;73927:47;73991:114;74100:4;74091:6;73991:114;:::i;:::-;73983:122;;73727:385;;;;:::o;74118:234::-;74217:4;74255:2;74244:9;74240:18;74232:26;;74268:77;74342:1;74331:9;74327:17;74318:6;74268:77;:::i;:::-;74118:234;;;;:::o;74358:129::-;74392:6;74419:20;;:::i;:::-;74409:30;;74448:33;74476:4;74468:6;74448:33;:::i;:::-;74358:129;;;:::o;74493:75::-;74526:6;74559:2;74553:9;74543:19;;74493:75;:::o;74574:310::-;74650:4;74740:18;74732:6;74729:30;74726:56;;;74762:18;;:::i;:::-;74726:56;74812:4;74804:6;74800:17;74792:25;;74872:4;74866;74862:15;74854:23;;74574:310;;;:::o;74890:309::-;74965:4;75055:18;75047:6;75044:30;75041:56;;;75077:18;;:::i;:::-;75041:56;75127:4;75119:6;75115:17;75107:25;;75187:4;75181;75177:15;75169:23;;74890:309;;;:::o;75205:321::-;75292:4;75382:18;75374:6;75371:30;75368:56;;;75404:18;;:::i;:::-;75368:56;75454:4;75446:6;75442:17;75434:25;;75514:4;75508;75504:15;75496:23;;75205:321;;;:::o;75532:310::-;75608:4;75698:18;75690:6;75687:30;75684:56;;;75720:18;;:::i;:::-;75684:56;75770:4;75762:6;75758:17;75750:25;;75830:4;75824;75820:15;75812:23;;75532:310;;;:::o;75848:307::-;75909:4;75999:18;75991:6;75988:30;75985:56;;;76021:18;;:::i;:::-;75985:56;76059:29;76081:6;76059:29;:::i;:::-;76051:37;;76143:4;76137;76133:15;76125:23;;75848:307;;;:::o;76161:308::-;76223:4;76313:18;76305:6;76302:30;76299:56;;;76335:18;;:::i;:::-;76299:56;76373:29;76395:6;76373:29;:::i;:::-;76365:37;;76457:4;76451;76447:15;76439:23;;76161:308;;;:::o;76475:131::-;76541:4;76564:3;76556:11;;76594:4;76589:3;76585:14;76577:22;;76475:131;;;:::o;76612:130::-;76677:4;76700:3;76692:11;;76730:4;76725:3;76721:14;76713:22;;76612:130;;;:::o;76748:142::-;76825:4;76848:3;76840:11;;76878:4;76873:3;76869:14;76861:22;;76748:142;;;:::o;76896:131::-;76962:4;76985:3;76977:11;;77015:4;77010:3;77006:14;76998:22;;76896:131;;;:::o;77033:113::-;77099:6;77133:5;77127:12;77117:22;;77033:113;;;:::o;77152:112::-;77217:6;77251:5;77245:12;77235:22;;77152:112;;;:::o;77270:124::-;77347:6;77381:5;77375:12;77365:22;;77270:124;;;:::o;77400:113::-;77466:6;77500:5;77494:12;77484:22;;77400:113;;;:::o;77519:98::-;77570:6;77604:5;77598:12;77588:22;;77519:98;;;:::o;77623:99::-;77675:6;77709:5;77703:12;77693:22;;77623:99;;;:::o;77728:112::-;77797:4;77829;77824:3;77820:14;77812:22;;77728:112;;;:::o;77846:111::-;77914:4;77946;77941:3;77937:14;77929:22;;77846:111;;;:::o;77963:123::-;78043:4;78075;78070:3;78066:14;78058:22;;77963:123;;;:::o;78092:112::-;78161:4;78193;78188:3;78184:14;78176:22;;78092:112;;;:::o;78210:191::-;78316:11;78350:6;78345:3;78338:19;78390:4;78385:3;78381:14;78366:29;;78210:191;;;;:::o;78407:190::-;78512:11;78546:6;78541:3;78534:19;78586:4;78581:3;78577:14;78562:29;;78407:190;;;;:::o;78603:202::-;78720:11;78754:6;78749:3;78742:19;78794:4;78789:3;78785:14;78770:29;;78603:202;;;;:::o;78811:191::-;78917:11;78951:6;78946:3;78939:19;78991:4;78986:3;78982:14;78967:29;;78811:191;;;;:::o;79008:176::-;79099:11;79133:6;79128:3;79121:19;79173:4;79168:3;79164:14;79149:29;;79008:176;;;;:::o;79190:166::-;79271:11;79305:6;79300:3;79293:19;79345:4;79340:3;79336:14;79321:29;;79190:166;;;;:::o;79362:169::-;79446:11;79480:6;79475:3;79468:19;79520:4;79515:3;79511:14;79496:29;;79362:169;;;;:::o;79537:177::-;79629:11;79663:6;79658:3;79651:19;79703:4;79698:3;79694:14;79679:29;;79537:177;;;;:::o;79720:167::-;79802:11;79836:6;79831:3;79824:19;79876:4;79871:3;79867:14;79852:29;;79720:167;;;;:::o;79893:148::-;79995:11;80032:3;80017:18;;79893:148;;;;:::o;80047:237::-;80085:3;80104:18;80120:1;80104:18;:::i;:::-;80099:23;;80136:18;80152:1;80136:18;:::i;:::-;80131:23;;80226:1;80220:4;80216:12;80213:1;80210:19;80207:45;;;80232:18;;:::i;:::-;80207:45;80276:1;80273;80269:9;80262:16;;80047:237;;;;:::o;80290:182::-;80329:1;80346:19;80363:1;80346:19;:::i;:::-;80341:24;;80379:19;80396:1;80379:19;:::i;:::-;80374:24;;80417:1;80407:35;;80422:18;;:::i;:::-;80407:35;80464:1;80461;80457:9;80452:14;;80290:182;;;;:::o;80478:90::-;80512:7;80555:5;80548:13;80541:21;80530:32;;80478:90;;;:::o;80574:77::-;80611:7;80640:5;80629:16;;80574:77;;;:::o;80657:141::-;80709:7;80738:5;80727:16;;80744:48;80786:5;80744:48;:::i;:::-;80657:141;;;:::o;80804:92::-;80840:7;80884:5;80880:2;80869:21;80858:32;;80804:92;;;:::o;80902:90::-;80937:7;80980:5;80977:1;80966:20;80955:31;;80902:90;;;:::o;80998:93::-;81034:7;81074:10;81067:5;81063:22;81052:33;;80998:93;;;:::o;81097:101::-;81133:7;81173:18;81166:5;81162:30;81151:41;;81097:101;;;:::o;81204:86::-;81239:7;81279:4;81272:5;81268:16;81257:27;;81204:86;;;:::o;81296:141::-;81359:9;81392:39;81425:5;81392:39;:::i;:::-;81379:52;;81296:141;;;:::o;81443:154::-;81527:6;81522:3;81517;81504:30;81589:1;81580:6;81575:3;81571:16;81564:27;81443:154;;;:::o;81603:307::-;81671:1;81681:113;81695:6;81692:1;81689:13;81681:113;;;81780:1;81775:3;81771:11;81765:18;81761:1;81756:3;81752:11;81745:39;81717:2;81714:1;81710:10;81705:15;;81681:113;;;81812:6;81809:1;81806:13;81803:101;;;81892:1;81883:6;81878:3;81874:16;81867:27;81803:101;81652:258;81603:307;;;:::o;81916:281::-;81999:27;82021:4;81999:27;:::i;:::-;81991:6;81987:40;82129:6;82117:10;82114:22;82093:18;82081:10;82078:34;82075:62;82072:88;;;82140:18;;:::i;:::-;82072:88;82180:10;82176:2;82169:22;81959:238;81916:281;;:::o;82203:173::-;82234:1;82251:19;82268:1;82251:19;:::i;:::-;82246:24;;82284:19;82301:1;82284:19;:::i;:::-;82279:24;;82322:1;82312:35;;82327:18;;:::i;:::-;82312:35;82368:1;82365;82361:9;82356:14;;82203:173;;;;:::o;82382:180::-;82430:77;82427:1;82420:88;82527:4;82524:1;82517:15;82551:4;82548:1;82541:15;82568:180;82616:77;82613:1;82606:88;82713:4;82710:1;82703:15;82737:4;82734:1;82727:15;82754:180;82802:77;82799:1;82792:88;82899:4;82896:1;82889:15;82923:4;82920:1;82913:15;82940:180;82988:77;82985:1;82978:88;83085:4;83082:1;83075:15;83109:4;83106:1;83099:15;83126:180;83174:77;83171:1;83164:88;83271:4;83268:1;83261:15;83295:4;83292:1;83285:15;83312:117;83421:1;83418;83411:12;83435:117;83544:1;83541;83534:12;83558:117;83667:1;83664;83657:12;83681:117;83790:1;83787;83780:12;83804:117;83913:1;83910;83903:12;83927:117;84036:1;84033;84026:12;84050:117;84159:1;84156;84149:12;84173:117;84282:1;84279;84272:12;84296:102;84337:6;84388:2;84384:7;84379:2;84372:5;84368:14;84364:28;84354:38;;84296:102;;;:::o;84404:241::-;84544:34;84540:1;84532:6;84528:14;84521:58;84613:24;84608:2;84600:6;84596:15;84589:49;84404:241;:::o;84651:173::-;84791:25;84787:1;84779:6;84775:14;84768:49;84651:173;:::o;84830:293::-;84970:34;84966:1;84958:6;84954:14;84947:58;85039:34;85034:2;85026:6;85022:15;85015:59;85108:7;85103:2;85095:6;85091:15;85084:32;84830:293;:::o;85129:171::-;85269:19;85265:1;85257:6;85253:14;85246:43;85129:171;:::o;85310:314::-;85454:34;85450:1;85442:6;85438:14;85431:58;85527:34;85522:2;85514:6;85510:15;85503:59;85600:12;85595:2;85587:6;85583:15;85576:37;85310:314;:::o;85634:187::-;85778:31;85774:1;85766:6;85762:14;85755:55;85634:187;:::o;85831:164::-;85975:8;85971:1;85963:6;85959:14;85952:32;85831:164;:::o;86005:315::-;86149:34;86145:1;86137:6;86133:14;86126:58;86222:34;86217:2;86209:6;86205:15;86198:59;86295:13;86290:2;86282:6;86278:15;86271:38;86005:315;:::o;86330:185::-;86474:29;86470:1;86462:6;86458:14;86451:53;86330:185;:::o;86525:174::-;86669:18;86665:1;86657:6;86653:14;86646:42;86525:174;:::o;86709:243::-;86853:34;86849:1;86841:6;86837:14;86830:58;86926:14;86921:2;86913:6;86909:15;86902:39;86709:243;:::o;86962:312::-;87106:34;87102:1;87094:6;87090:14;87083:58;87179:34;87174:2;87166:6;87162:15;87155:59;87252:10;87247:2;87239:6;87235:15;87228:35;86962:312;:::o;87284:170::-;87428:14;87424:1;87416:6;87412:14;87405:38;87284:170;:::o;87464:151::-;87604:3;87600:1;87592:6;87588:14;87581:27;87464:151;:::o;87621:156::-;87761:8;87757:1;87749:6;87745:14;87738:32;87621:156;:::o;87783:165::-;87923:17;87919:1;87911:6;87907:14;87900:41;87783:165;:::o;87954:296::-;88094:34;88090:1;88082:6;88078:14;88071:58;88163:34;88158:2;88150:6;88146:15;88139:59;88232:10;88227:2;88219:6;88215:15;88208:35;87954:296;:::o;88256:166::-;88396:18;88392:1;88384:6;88380:14;88373:42;88256:166;:::o;88428:298::-;88568:34;88564:1;88556:6;88552:14;88545:58;88637:34;88632:2;88624:6;88620:15;88613:59;88706:12;88701:2;88693:6;88689:15;88682:37;88428:298;:::o;88732:::-;88872:34;88868:1;88860:6;88856:14;88849:58;88941:34;88936:2;88928:6;88924:15;88917:59;89010:12;89005:2;88997:6;88993:15;88986:37;88732:298;:::o;89036:224::-;89176:34;89172:1;89164:6;89160:14;89153:58;89245:3;89240:2;89232:6;89228:15;89221:28;89036:224;:::o;89270:311::-;89414:34;89410:1;89402:6;89398:14;89391:58;89487:34;89482:2;89474:6;89470:15;89463:59;89560:9;89555:2;89547:6;89543:15;89536:34;89270:311;:::o;89591:312::-;89735:34;89731:1;89723:6;89719:14;89712:58;89808:34;89803:2;89795:6;89791:15;89784:59;89881:10;89876:2;89868:6;89864:15;89857:35;89591:312;:::o;89913:184::-;90057:28;90053:1;90045:6;90041:14;90034:52;89913:184;:::o;90107:235::-;90251:34;90247:1;90239:6;90235:14;90228:58;90324:6;90319:2;90311:6;90307:15;90300:31;90107:235;:::o;90352:311::-;90496:34;90492:1;90484:6;90480:14;90473:58;90569:34;90564:2;90556:6;90552:15;90545:59;90642:9;90637:2;90629:6;90625:15;90618:34;90352:311;:::o;90673:186::-;90817:30;90813:1;90805:6;90801:14;90794:54;90673:186;:::o;90869:184::-;91013:28;91009:1;91001:6;90997:14;90990:52;90869:184;:::o;91063:310::-;91207:34;91203:1;91195:6;91191:14;91184:58;91280:34;91275:2;91267:6;91263:15;91256:59;91353:8;91348:2;91340:6;91336:15;91329:33;91063:310;:::o;91383:187::-;91527:31;91523:1;91515:6;91511:14;91504:55;91383:187;:::o;91580:168::-;91724:12;91720:1;91712:6;91708:14;91701:36;91580:168;:::o;91758:313::-;91902:34;91898:1;91890:6;91886:14;91879:58;91975:34;91970:2;91962:6;91958:15;91951:59;92048:11;92043:2;92035:6;92031:15;92024:36;91758:313;:::o;92081:243::-;92225:34;92221:1;92213:6;92209:14;92202:58;92298:10;92293:2;92285:6;92281:15;92274:35;92081:243;:::o;92338:174::-;92486:10;92482:1;92474:6;92470:14;92463:34;92338:174;:::o;92526:::-;92674:10;92670:1;92662:6;92658:14;92651:34;92526:174;:::o;92714:138::-;92810:3;92803:5;92800:14;92790:48;;92818:18;;:::i;:::-;92790:48;92714:138;:::o;92866:132::-;92944:21;92959:5;92944:21;:::i;:::-;92937:5;92934:32;92924:60;;92980:1;92977;92970:12;92924:60;92866:132;:::o;93012:138::-;93093:24;93111:5;93093:24;:::i;:::-;93086:5;93083:35;93073:63;;93132:1;93129;93122:12;93073:63;93012:138;:::o;93164:136::-;93244:23;93261:5;93244:23;:::i;:::-;93237:5;93234:34;93224:62;;93282:1;93279;93272:12;93224:62;93164:136;:::o;93314:134::-;93393:22;93409:5;93393:22;:::i;:::-;93386:5;93383:33;93373:61;;93430:1;93427;93420:12;93373:61;93314:134;:::o;93462:136::-;93542:23;93559:5;93542:23;:::i;:::-;93535:5;93532:34;93522:62;;93580:1;93577;93570:12;93522:62;93462:136;:::o;93612:::-;93692:23;93709:5;93692:23;:::i;:::-;93685:5;93682:34;93672:62;;93730:1;93727;93720:12;93672:62;93612:136;:::o;93762:134::-;93841:22;93857:5;93841:22;:::i;:::-;93834:5;93831:33;93821:61;;93878:1;93875;93868:12;93821:61;93762:134;:::o"},"gasEstimates":{"creation":{"codeDepositCost":"4061400","executionCost":"4673","totalCost":"4066073"},"external":{"asBool(Witnet.Result)":"infinite","asBytes(Witnet.Result)":"infinite","asBytes32(Witnet.Result)":"infinite","asErrorCode(Witnet.Result)":"infinite","asErrorMessage(Witnet.Result)":"infinite","asFixed16(Witnet.Result)":"infinite","asFixed16Array(Witnet.Result)":"infinite","asInt128(Witnet.Result)":"infinite","asInt128Array(Witnet.Result)":"infinite","asRawError(Witnet.Result)":"infinite","asString(Witnet.Result)":"infinite","asStringArray(Witnet.Result)":"infinite","asUint64(Witnet.Result)":"infinite","asUint64Array(Witnet.Result)":"infinite","isError(Witnet.Result)":"infinite","isOk(Witnet.Result)":"infinite","resultFromCborBytes(bytes)":"infinite","resultFromCborValue(Witnet.CBOR)":"infinite","stageName(uint64)":"infinite"},"internal":{"_supportedErrorOrElseUnknown(uint64)":"83","_utoa(uint64)":"infinite","_utohex(uint64)":"infinite"}},"methodIdentifiers":{"asBool(Witnet.Result)":"abf82f4c","asBytes(Witnet.Result)":"a1b90891","asBytes32(Witnet.Result)":"a2e87655","asErrorCode(Witnet.Result)":"d45d097d","asErrorMessage(Witnet.Result)":"8cc5eb54","asFixed16(Witnet.Result)":"d8868db6","asFixed16Array(Witnet.Result)":"08efc097","asInt128(Witnet.Result)":"c71db521","asInt128Array(Witnet.Result)":"fc853c37","asRawError(Witnet.Result)":"0879730d","asString(Witnet.Result)":"f417daf5","asStringArray(Witnet.Result)":"2d26b9e2","asUint64(Witnet.Result)":"8233f9b3","asUint64Array(Witnet.Result)":"147e5c8f","isError(Witnet.Result)":"a1d45d56","isOk(Witnet.Result)":"6646c119","resultFromCborBytes(bytes)":"e99e47f3","resultFromCborValue(Witnet.CBOR)":"130283ee","stageName(uint64)":"cb5371c0"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asErrorCode\",\"outputs\":[{\"internalType\":\"enum Witnet.ErrorCodes\",\"name\":\"\",\"type\":\"Witnet.ErrorCodes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asErrorMessage\",\"outputs\":[{\"internalType\":\"enum Witnet.ErrorCodes\",\"name\":\"\",\"type\":\"Witnet.ErrorCodes\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asFixed16\",\"outputs\":[{\"internalType\":\"int32\",\"name\":\"\",\"type\":\"int32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asFixed16Array\",\"outputs\":[{\"internalType\":\"int32[]\",\"name\":\"\",\"type\":\"int32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asInt128\",\"outputs\":[{\"internalType\":\"int128\",\"name\":\"\",\"type\":\"int128\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asInt128Array\",\"outputs\":[{\"internalType\":\"int128[]\",\"name\":\"\",\"type\":\"int128[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asRawError\",\"outputs\":[{\"internalType\":\"uint64[]\",\"name\":\"\",\"type\":\"uint64[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asUint64\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"asUint64Array\",\"outputs\":[{\"internalType\":\"uint64[]\",\"name\":\"\",\"type\":\"uint64[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"isError\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"_result\",\"type\":\"tuple\"}],\"name\":\"isOk\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_cborBytes\",\"type\":\"bytes\"}],\"name\":\"resultFromCborBytes\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"_cborValue\",\"type\":\"tuple\"}],\"name\":\"resultFromCborValue\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"cursor\",\"type\":\"uint32\"}],\"internalType\":\"struct Witnet.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_stageIndex\",\"type\":\"uint64\"}],\"name\":\"stageName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"kind\":\"dev\",\"methods\":{\"asBool(Witnet.Result)\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `bool` decoded from the Witnet.Result.\"}},\"asBytes(Witnet.Result)\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `bytes` decoded from the Witnet.Result.\"}},\"asBytes32(Witnet.Result)\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `bytes32` decoded from the Witnet.Result.\"}},\"asErrorCode(Witnet.Result)\":{\"params\":{\"_result\":\"An instance of `Witnet.Result`.\"},\"returns\":{\"_0\":\"The `CBORValue.Error memory` decoded from the Witnet.Result.\"}},\"asErrorMessage(Witnet.Result)\":{\"details\":\"WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\",\"params\":{\"_result\":\"An instance of `Witnet.Result`.\"},\"returns\":{\"_0\":\"A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\"}},\"asFixed16(Witnet.Result)\":{\"details\":\"Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values. by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`. use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\",\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128` decoded from the Witnet.Result.\"}},\"asFixed16Array(Witnet.Result)\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128[]` decoded from the Witnet.Result.\"}},\"asInt128(Witnet.Result)\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128` decoded from the Witnet.Result.\"}},\"asInt128Array(Witnet.Result)\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `int128[]` decoded from the Witnet.Result.\"}},\"asRawError(Witnet.Result)\":{\"params\":{\"_result\":\"An instance of `Witnet.Result`.\"},\"returns\":{\"_0\":\"The `uint64[]` raw error as decoded from the `Witnet.Result`.\"}},\"asString(Witnet.Result)\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `string` decoded from the Witnet.Result.\"}},\"asStringArray(Witnet.Result)\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `string[]` decoded from the Witnet.Result.\"}},\"asUint64(Witnet.Result)\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `uint64` decoded from the Witnet.Result.\"}},\"asUint64Array(Witnet.Result)\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"The `uint64[]` decoded from the Witnet.Result.\"}},\"isError(Witnet.Result)\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"`true` if errored, `false` if successful.\"}},\"isOk(Witnet.Result)\":{\"params\":{\"_result\":\"An instance of Witnet.Result.\"},\"returns\":{\"_0\":\"`true` if successful, `false` if errored.\"}},\"resultFromCborBytes(bytes)\":{\"params\":{\"_cborBytes\":\"Raw bytes representing a CBOR-encoded value.\"},\"returns\":{\"_0\":\"A `Witnet.Result` instance.\"}},\"resultFromCborValue(Witnet.CBOR)\":{\"params\":{\"_cborValue\":\"An instance of `Witnet.Value`.\"},\"returns\":{\"_0\":\"A `Witnet.Result` instance.\"}},\"stageName(uint64)\":{\"params\":{\"_stageIndex\":\"A `uint64` identifying the index of one of the Witnet request stages.\"},\"returns\":{\"_0\":\"The name of the matching stage.\"}}},\"title\":\"A library for decoding Witnet request results\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"asBool(Witnet.Result)\":{\"notice\":\"Decode a boolean value from a Witnet.Result as an `bool` value.\"},\"asBytes(Witnet.Result)\":{\"notice\":\"Decode a bytes value from a Witnet.Result as a `bytes` value.\"},\"asBytes32(Witnet.Result)\":{\"notice\":\"Decode a bytes value from a Witnet.Result as a `bytes32` value.\"},\"asErrorCode(Witnet.Result)\":{\"notice\":\"Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\"},\"asErrorMessage(Witnet.Result)\":{\"notice\":\"Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\"},\"asFixed16(Witnet.Result)\":{\"notice\":\"Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\"},\"asFixed16Array(Witnet.Result)\":{\"notice\":\"Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\"},\"asInt128(Witnet.Result)\":{\"notice\":\"Decode a integer numeric value from a Witnet.Result as an `int128` value.\"},\"asInt128Array(Witnet.Result)\":{\"notice\":\"Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\"},\"asRawError(Witnet.Result)\":{\"notice\":\"Decode a raw error from a `Witnet.Result` as a `uint64[]`.\"},\"asString(Witnet.Result)\":{\"notice\":\"Decode a string value from a Witnet.Result as a `string` value.\"},\"asStringArray(Witnet.Result)\":{\"notice\":\"Decode an array of string values from a Witnet.Result as a `string[]` value.\"},\"asUint64(Witnet.Result)\":{\"notice\":\"Decode a natural numeric value from a Witnet.Result as a `uint64` value.\"},\"asUint64Array(Witnet.Result)\":{\"notice\":\"Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\"},\"isError(Witnet.Result)\":{\"notice\":\"Tell if a Witnet.Result is errored.\"},\"isOk(Witnet.Result)\":{\"notice\":\"Tell if a Witnet.Result is successful.\"},\"resultFromCborBytes(bytes)\":{\"notice\":\"Decode raw CBOR bytes into a Witnet.Result instance.\"},\"resultFromCborValue(Witnet.CBOR)\":{\"notice\":\"Decode a CBOR value into a Witnet.Result instance.\"},\"stageName(uint64)\":{\"notice\":\"Convert a stage index number into the name of the matching Witnet request stage.\"}},\"notice\":\"The library exposes functions to check the Witnet request success. and retrieve Witnet results from CBOR values into solidity types.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/libs/WitnetParserLib.sol\":\"WitnetParserLib\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/WitnetBuffer.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"./Witnet.sol\\\";\\n\\n/// @title A convenient wrapper around the `bytes memory` type that exposes a buffer-like interface\\n/// @notice The buffer has an inner cursor that tracks the final offset of every read, i.e. any subsequent read will\\n/// start with the byte that goes right after the last one in the previous read.\\n/// @dev `uint32` is used here for `cursor` because `uint16` would only enable seeking up to 8KB, which could in some\\n/// theoretical use cases be exceeded. Conversely, `uint32` supports up to 512MB, which cannot credibly be exceeded.\\n/// @author The Witnet Foundation.\\nlibrary WitnetBuffer {\\n\\n  // Ensures we access an existing index in an array\\n  modifier notOutOfBounds(uint32 index, uint256 length) {\\n    require(index < length, \\\"WitnetBuffer: Tried to read from a consumed Buffer (must rewind it first)\\\");\\n    _;\\n  }\\n\\n  /// @notice Read and consume a certain amount of bytes from the buffer.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @param _length How many bytes to read and consume from the buffer.\\n  /// @return A `bytes memory` containing the first `_length` bytes from the buffer, counting from the cursor position.\\n  function read(Witnet.Buffer memory _buffer, uint32 _length) internal pure returns (bytes memory) {\\n    // Make sure not to read out of the bounds of the original bytes\\n    require(_buffer.cursor + _length <= _buffer.data.length, \\\"WitnetBuffer: Not enough bytes in buffer when reading\\\");\\n\\n    // Create a new `bytes memory destination` value\\n    bytes memory destination = new bytes(_length);\\n\\n    // Early return in case that bytes length is 0\\n    if (_length != 0) {\\n      bytes memory source = _buffer.data;\\n      uint32 offset = _buffer.cursor;\\n\\n      // Get raw pointers for source and destination\\n      uint sourcePointer;\\n      uint destinationPointer;\\n      assembly {\\n        sourcePointer := add(add(source, 32), offset)\\n        destinationPointer := add(destination, 32)\\n      }\\n      // Copy `_length` bytes from source to destination\\n      memcpy(destinationPointer, sourcePointer, uint(_length));\\n\\n      // Move the cursor forward by `_length` bytes\\n      seek(_buffer, _length, true);\\n    }\\n    return destination;\\n  }\\n\\n  /// @notice Read and consume the next byte from the buffer.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The next byte in the buffer counting from the cursor position.\\n  function next(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor, _buffer.data.length) returns (bytes1) {\\n    // Return the byte at the position marked by the cursor and advance the cursor all at once\\n    return _buffer.data[_buffer.cursor++];\\n  }\\n\\n  /// @notice Move the inner cursor of the buffer to a relative or absolute position.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @param _offset How many bytes to move the cursor forward.\\n  /// @param _relative Whether to count `_offset` from the last position of the cursor (`true`) or the beginning of the\\n  /// buffer (`true`).\\n  /// @return The final position of the cursor (will equal `_offset` if `_relative` is `false`).\\n  // solium-disable-next-line security/no-assign-params\\n  function seek(Witnet.Buffer memory _buffer, uint32 _offset, bool _relative) internal pure returns (uint32) {\\n    // Deal with relative offsets\\n    if (_relative) {\\n      require(_offset + _buffer.cursor > _offset, \\\"WitnetBuffer: Integer overflow when seeking\\\");\\n      _offset += _buffer.cursor;\\n    }\\n    // Make sure not to read out of the bounds of the original bytes\\n    require(_offset <= _buffer.data.length, \\\"WitnetBuffer: Not enough bytes in buffer when seeking\\\");\\n    _buffer.cursor = _offset;\\n    return _buffer.cursor;\\n  }\\n\\n  /// @notice Move the inner cursor a number of bytes forward.\\n  /// @dev This is a simple wrapper around the relative offset case of `seek()`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @param _relativeOffset How many bytes to move the cursor forward.\\n  /// @return The final position of the cursor.\\n  function seek(Witnet.Buffer memory _buffer, uint32 _relativeOffset) internal pure returns (uint32) {\\n    return seek(_buffer, _relativeOffset, true);\\n  }\\n\\n  /// @notice Move the inner cursor back to the first byte in the buffer.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  function rewind(Witnet.Buffer memory _buffer) internal pure {\\n    _buffer.cursor = 0;\\n  }\\n\\n  /// @notice Read and consume the next byte from the buffer as an `uint8`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint8` value of the next byte in the buffer counting from the cursor position.\\n  function readUint8(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor, _buffer.data.length) returns (uint8) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint8 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 1), offset))\\n    }\\n    _buffer.cursor++;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 2 bytes from the buffer as an `uint16`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint16` value of the next 2 bytes in the buffer counting from the cursor position.\\n  function readUint16(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 1, _buffer.data.length) returns (uint16) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint16 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 2), offset))\\n    }\\n    _buffer.cursor += 2;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 4 bytes from the buffer as an `uint32`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint32` value of the next 4 bytes in the buffer counting from the cursor position.\\n  function readUint32(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 3, _buffer.data.length) returns (uint32) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint32 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 4), offset))\\n    }\\n    _buffer.cursor += 4;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 8 bytes from the buffer as an `uint64`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint64` value of the next 8 bytes in the buffer counting from the cursor position.\\n  function readUint64(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 7, _buffer.data.length) returns (uint64) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint64 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 8), offset))\\n    }\\n    _buffer.cursor += 8;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 16 bytes from the buffer as an `uint128`.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint128` value of the next 16 bytes in the buffer counting from the cursor position.\\n  function readUint128(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 15, _buffer.data.length) returns (uint128) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint128 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 16), offset))\\n    }\\n    _buffer.cursor += 16;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 32 bytes from the buffer as an `uint256`.\\n  /// @return The `uint256` value of the next 32 bytes in the buffer counting from the cursor position.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  function readUint256(Witnet.Buffer memory _buffer) internal pure notOutOfBounds(_buffer.cursor + 31, _buffer.data.length) returns (uint256) {\\n    bytes memory bytesValue = _buffer.data;\\n    uint32 offset = _buffer.cursor;\\n    uint256 value;\\n    assembly {\\n      value := mload(add(add(bytesValue, 32), offset))\\n    }\\n    _buffer.cursor += 32;\\n\\n    return value;\\n  }\\n\\n  /// @notice Read and consume the next 2 bytes from the buffer as an IEEE 754-2008 floating point number enclosed in an\\n  /// `int32`.\\n  /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values\\n  /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `float16`\\n  /// use cases. In other words, the integer output of this method is 10,000 times the actual value. The input bytes are\\n  /// expected to follow the 16-bit base-2 format (a.k.a. `binary16`) in the IEEE 754-2008 standard.\\n  /// @param _buffer An instance of `Witnet.Buffer`.\\n  /// @return The `uint32` value of the next 4 bytes in the buffer counting from the cursor position.\\n  function readFloat16(Witnet.Buffer memory _buffer) internal pure returns (int32) {\\n    uint32 bytesValue = readUint16(_buffer);\\n    // Get bit at position 0\\n    uint32 sign = bytesValue & 0x8000;\\n    // Get bits 1 to 5, then normalize to the [-14, 15] range so as to counterweight the IEEE 754 exponent bias\\n    int32 exponent = (int32(bytesValue & 0x7c00) >> 10) - 15;\\n    // Get bits 6 to 15\\n    int32 significand = int32(bytesValue & 0x03ff);\\n\\n    // Add 1024 to the fraction if the exponent is 0\\n    if (exponent == 15) {\\n      significand |= 0x400;\\n    }\\n\\n    // Compute `2 ^ exponent \\u00b7 (1 + fraction / 1024)`\\n    int32 result = 0;\\n    if (exponent >= 0) {\\n      result = int32((int256(1 << uint256(int256(exponent))) * 10000 * int256(uint256(int256(significand)) | 0x400)) >> 10);\\n    } else {\\n      result = int32(((int256(uint256(int256(significand)) | 0x400) * 10000) / int256(1 << uint256(int256(- exponent)))) >> 10);\\n    }\\n\\n    // Make the result negative if the sign bit is not 0\\n    if (sign != 0) {\\n      result *= - 1;\\n    }\\n    return result;\\n  }\\n\\n  /// @notice Copy bytes from one memory address into another.\\n  /// @dev This function was borrowed from Nick Johnson's `solidity-stringutils` lib, and reproduced here under the terms\\n  /// of [Apache License 2.0](https://github.com/Arachnid/solidity-stringutils/blob/master/LICENSE).\\n  /// @param _dest Address of the destination memory.\\n  /// @param _src Address to the source memory.\\n  /// @param _len How many bytes to copy.\\n  // solium-disable-next-line security/no-assign-params\\n  function memcpy(uint _dest, uint _src, uint _len) private pure {\\n    require(_len > 0, \\\"WitnetBuffer: Cannot copy 0 bytes\\\");\\n\\n    // Copy word-length chunks while possible\\n    for (; _len >= 32; _len -= 32) {\\n      assembly {\\n        mstore(_dest, mload(_src))\\n      }\\n      _dest += 32;\\n      _src += 32;\\n    }\\n    if (_len > 0) {\\n      // Copy remaining bytes\\n      uint mask = 256 ** (32 - _len) - 1;\\n      assembly {\\n        let srcpart := and(mload(_src), not(mask))\\n        let destpart := and(mload(_dest), mask)\\n        mstore(_dest, or(destpart, srcpart))\\n      }\\n    }\\n  }\\n\\n}\\n\",\"keccak256\":\"0x7ef46325fb4d37649e8ef4c2250240ea63c32720d44d7e4da5a7b412fb348524\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/WitnetDecoderLib.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./WitnetBuffer.sol\\\";\\n\\n/// @title A minimalistic implementation of \\u201cRFC 7049 Concise Binary Object Representation\\u201d\\n/// @notice This library leverages a buffer-like structure for step-by-step decoding of bytes so as to minimize\\n/// the gas cost of decoding them into a useful native type.\\n/// @dev Most of the logic has been borrowed from Patrick Gansterer\\u2019s cbor.js library: https://github.com/paroga/cbor-js\\n/// @author The Witnet Foundation.\\n/// \\n/// TODO: add support for Array (majorType = 4)\\n/// TODO: add support for Map (majorType = 5)\\n/// TODO: add support for Float32 (majorType = 7, additionalInformation = 26)\\n/// TODO: add support for Float64 (majorType = 7, additionalInformation = 27) \\n\\nlibrary WitnetDecoderLib {\\n\\n  using WitnetBuffer for Witnet.Buffer;\\n\\n  uint32 constant internal _UINT32_MAX = type(uint32).max;\\n  uint64 constant internal _UINT64_MAX = type(uint64).max;\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `bool` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as a `bool` value.\\n  function decodeBool(Witnet.CBOR memory _cborValue) public pure returns(bool) {\\n    _cborValue.len = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(_cborValue.majorType == 7, \\\"WitnetDecoderLib: Tried to read a `bool` value from a `Witnet.CBOR` with majorType != 7\\\");\\n    if (_cborValue.len == 20) {\\n      return false;\\n    } else if (_cborValue.len == 21) {\\n      return true;\\n    } else {\\n      revert(\\\"WitnetDecoderLib: Tried to read `bool` from a `Witnet.CBOR` with len different than 20 or 21\\\");\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `bytes` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as a `bytes` value.   \\n  function decodeBytes(Witnet.CBOR memory _cborValue) public pure returns(bytes memory) {\\n    _cborValue.len = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    if (_cborValue.len == _UINT32_MAX) {\\n      bytes memory bytesData;\\n\\n      // These checks look repetitive but the equivalent loop would be more expensive.\\n      uint32 itemLength = uint32(readIndefiniteStringLength(_cborValue.buffer, _cborValue.majorType));\\n      if (itemLength < _UINT32_MAX) {\\n        bytesData = abi.encodePacked(bytesData, _cborValue.buffer.read(itemLength));\\n        itemLength = uint32(readIndefiniteStringLength(_cborValue.buffer, _cborValue.majorType));\\n        if (itemLength < _UINT32_MAX) {\\n          bytesData = abi.encodePacked(bytesData, _cborValue.buffer.read(itemLength));\\n        }\\n      }\\n      return bytesData;\\n    } else {\\n      return _cborValue.buffer.read(uint32(_cborValue.len));\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `bytes32` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return _bytes32 The value represented by the input, as a `bytes32` value.\\n  function decodeBytes32(Witnet.CBOR memory _cborValue) public pure returns(bytes32 _bytes32) {\\n    bytes memory _bb = decodeBytes(_cborValue);\\n    uint _len = _bb.length > 32 ? 32 : _bb.length;\\n    for (uint _i = 0; _i < _len; _i ++) {\\n        _bytes32 |= bytes32(_bb[_i] & 0xff) >> (_i * 8);\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a `fixed16` value.\\n  /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values\\n  /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`\\n  /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128` value.\\n  function decodeFixed16(Witnet.CBOR memory _cborValue) public pure returns(int32) {\\n    require(_cborValue.majorType == 7, \\\"WitnetDecoderLib: Tried to read a `fixed` value from a `WT.CBOR` with majorType != 7\\\");\\n    require(_cborValue.additionalInformation == 25, \\\"WitnetDecoderLib: Tried to read `fixed16` from a `WT.CBOR` with additionalInformation != 25\\\");\\n    return _cborValue.buffer.readFloat16();\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `int128[]` value whose inner values follow the same convention.\\n  /// as explained in `decodeFixed16`.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128[]` value.\\n  function decodeFixed16Array(Witnet.CBOR memory _cborValue) external pure returns(int32[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `int128[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    int32[] memory array = new int32[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeFixed16(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `int128` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128` value.\\n  function decodeInt128(Witnet.CBOR memory _cborValue) public pure returns(int128) {\\n    if (_cborValue.majorType == 1) {\\n      uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n      return int128(-1) - int128(uint128(length));\\n    } else if (_cborValue.majorType == 0) {\\n      // Any `uint64` can be safely casted to `int128`, so this method supports majorType 1 as well so as to have offer\\n      // a uniform API for positive and negative numbers\\n      return int128(uint128(decodeUint64(_cborValue)));\\n    }\\n    revert(\\\"WitnetDecoderLib: Tried to read `int128` from a `Witnet.CBOR` with majorType not 0 or 1\\\");\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `int128[]` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `int128[]` value.\\n  function decodeInt128Array(Witnet.CBOR memory _cborValue) external pure returns(int128[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `int128[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    int128[] memory array = new int128[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeInt128(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `string` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as a `string` value.\\n  function decodeString(Witnet.CBOR memory _cborValue) public pure returns(string memory) {\\n    _cborValue.len = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    if (_cborValue.len == _UINT64_MAX) {\\n      bytes memory textData;\\n      bool done;\\n      while (!done) {\\n        uint64 itemLength = readIndefiniteStringLength(_cborValue.buffer, _cborValue.majorType);\\n        if (itemLength < _UINT64_MAX) {\\n          textData = abi.encodePacked(textData, readText(_cborValue.buffer, itemLength / 4));\\n        } else {\\n          done = true;\\n        }\\n      }\\n      return string(textData);\\n    } else {\\n      return string(readText(_cborValue.buffer, _cborValue.len));\\n    }\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `string[]` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `string[]` value.\\n  function decodeStringArray(Witnet.CBOR memory _cborValue) external pure returns(string[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `string[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    string[] memory array = new string[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeString(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `uint64` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `uint64` value.\\n  function decodeUint64(Witnet.CBOR memory _cborValue) public pure returns(uint64) {\\n    require(_cborValue.majorType == 0, \\\"WitnetDecoderLib: Tried to read `uint64` from a `Witnet.CBOR` with majorType != 0\\\");\\n    return readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n  }\\n\\n  /// @notice Decode a `Witnet.CBOR` structure into a native `uint64[]` value.\\n  /// @param _cborValue An instance of `Witnet.CBOR`.\\n  /// @return The value represented by the input, as an `uint64[]` value.\\n  function decodeUint64Array(Witnet.CBOR memory _cborValue) external pure returns(uint64[] memory) {\\n    require(_cborValue.majorType == 4, \\\"WitnetDecoderLib: Tried to read `uint64[]` from a `Witnet.CBOR` with majorType != 4\\\");\\n\\n    uint64 length = readLength(_cborValue.buffer, _cborValue.additionalInformation);\\n    require(length < _UINT64_MAX, \\\"WitnetDecoderLib: Indefinite-length CBOR arrays are not supported\\\");\\n\\n    uint64[] memory array = new uint64[](length);\\n    for (uint64 i = 0; i < length; i++) {\\n      Witnet.CBOR memory item = valueFromBuffer(_cborValue.buffer);\\n      array[i] = decodeUint64(item);\\n    }\\n\\n    return array;\\n  }\\n\\n  /// @notice Decode a Witnet.CBOR structure from raw bytes.\\n  /// @dev This is the main factory for Witnet.CBOR instances, which can be later decoded into native EVM types.\\n  /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n  /// @return A `Witnet.CBOR` instance containing a partially decoded value.\\n  function valueFromBytes(bytes memory _cborBytes) external pure returns(Witnet.CBOR memory) {\\n    Witnet.Buffer memory buffer = Witnet.Buffer(_cborBytes, 0);\\n\\n    return valueFromBuffer(buffer);\\n  }\\n\\n  /// @notice Decode a Witnet.CBOR structure from raw bytes.\\n  /// @dev This is an alternate factory for Witnet.CBOR instances, which can be later decoded into native EVM types.\\n  /// @param _buffer A Buffer structure representing a CBOR-encoded value.\\n  /// @return A `Witnet.CBOR` instance containing a partially decoded value.\\n  function valueFromBuffer(Witnet.Buffer memory _buffer) public pure returns(Witnet.CBOR memory) {\\n    require(_buffer.data.length > 0, \\\"WitnetDecoderLib: Found empty buffer when parsing CBOR value\\\");\\n\\n    uint8 initialByte;\\n    uint8 majorType = 255;\\n    uint8 additionalInformation;\\n    uint64 tag = _UINT64_MAX;\\n\\n    bool isTagged = true;\\n    while (isTagged) {\\n      // Extract basic CBOR properties from input bytes\\n      initialByte = _buffer.readUint8();\\n      majorType = initialByte >> 5;\\n      additionalInformation = initialByte & 0x1f;\\n\\n      // Early CBOR tag parsing.\\n      if (majorType == 6) {\\n        tag = readLength(_buffer, additionalInformation);\\n      } else {\\n        isTagged = false;\\n      }\\n    }\\n\\n    require(majorType <= 7, \\\"WitnetDecoderLib: Invalid CBOR major type\\\");\\n\\n    return Witnet.CBOR(\\n      _buffer,\\n      initialByte,\\n      majorType,\\n      additionalInformation,\\n      0,\\n      tag);\\n  }\\n\\n  /// Reads the length of the next CBOR item from a buffer, consuming a different number of bytes depending on the\\n  /// value of the `additionalInformation` argument.\\n  function readLength(Witnet.Buffer memory _buffer, uint8 additionalInformation) private pure returns(uint64) {\\n    if (additionalInformation < 24) {\\n      return additionalInformation;\\n    }\\n    if (additionalInformation == 24) {\\n      return _buffer.readUint8();\\n    }\\n    if (additionalInformation == 25) {\\n      return _buffer.readUint16();\\n    }\\n    if (additionalInformation == 26) {\\n      return _buffer.readUint32();\\n    }\\n    if (additionalInformation == 27) {\\n      return _buffer.readUint64();\\n    }\\n    if (additionalInformation == 31) {\\n      return _UINT64_MAX;\\n    }\\n    revert(\\\"WitnetDecoderLib: Invalid length encoding (non-existent additionalInformation value)\\\");\\n  }\\n\\n  /// Read the length of a CBOR indifinite-length item (arrays, maps, byte strings and text) from a buffer, consuming\\n  /// as many bytes as specified by the first byte.\\n  function readIndefiniteStringLength(Witnet.Buffer memory _buffer, uint8 majorType) private pure returns(uint64) {\\n    uint8 initialByte = _buffer.readUint8();\\n    if (initialByte == 0xff) {\\n      return _UINT64_MAX;\\n    }\\n    uint64 length = readLength(_buffer, initialByte & 0x1f);\\n    require(length < _UINT64_MAX && (initialByte >> 5) == majorType, \\\"WitnetDecoderLib: Invalid indefinite length\\\");\\n    return length;\\n  }\\n\\n  /// Read a text string of a given length from a buffer. Returns a `bytes memory` value for the sake of genericness,\\n  /// but it can be easily casted into a string with `string(result)`.\\n  // solium-disable-next-line security/no-assign-params\\n  function readText(Witnet.Buffer memory _buffer, uint64 _length) private pure returns(bytes memory) {\\n    bytes memory result;\\n    for (uint64 index = 0; index < _length; index++) {\\n      uint8 value = _buffer.readUint8();\\n      if (value & 0x80 != 0) {\\n        if (value < 0xe0) {\\n          value = (value & 0x1f) << 6 |\\n            (_buffer.readUint8() & 0x3f);\\n          _length -= 1;\\n        } else if (value < 0xf0) {\\n          value = (value & 0x0f) << 12 |\\n            (_buffer.readUint8() & 0x3f) << 6 |\\n            (_buffer.readUint8() & 0x3f);\\n          _length -= 2;\\n        } else {\\n          value = (value & 0x0f) << 18 |\\n            (_buffer.readUint8() & 0x3f) << 12 |\\n            (_buffer.readUint8() & 0x3f) << 6  |\\n            (_buffer.readUint8() & 0x3f);\\n          _length -= 3;\\n        }\\n      }\\n      result = abi.encodePacked(result, value);\\n    }\\n    return result;\\n  }\\n}\\n\",\"keccak256\":\"0xb8f5b618ebae15a7f5d21870ac8ba7034afe5dce876b53a1a81572378a817c32\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/WitnetParserLib.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./WitnetDecoderLib.sol\\\";\\n\\n/// @title A library for decoding Witnet request results\\n/// @notice The library exposes functions to check the Witnet request success.\\n/// and retrieve Witnet results from CBOR values into solidity types.\\n/// @author The Witnet Foundation.\\nlibrary WitnetParserLib {\\n\\n    using WitnetDecoderLib for bytes;\\n    using WitnetDecoderLib for Witnet.CBOR;\\n\\n    /// @notice Decode raw CBOR bytes into a Witnet.Result instance.\\n    /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborBytes(bytes calldata _cborBytes)\\n        external pure\\n        returns (Witnet.Result memory)\\n    {\\n        Witnet.CBOR memory cborValue = _cborBytes.valueFromBytes();\\n        return resultFromCborValue(cborValue);\\n    }\\n\\n    /// @notice Decode a CBOR value into a Witnet.Result instance.\\n    /// @param _cborValue An instance of `Witnet.Value`.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborValue(Witnet.CBOR memory _cborValue)\\n        public pure\\n        returns (Witnet.Result memory)    \\n    {\\n        // Witnet uses CBOR tag 39 to represent RADON error code identifiers.\\n        // [CBOR tag 39] Identifiers for CBOR: https://github.com/lucas-clemente/cbor-specs/blob/master/id.md\\n        bool success = _cborValue.tag != 39;\\n        return Witnet.Result(success, _cborValue);\\n    }\\n\\n    /// @notice Tell if a Witnet.Result is successful.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if successful, `false` if errored.\\n    function isOk(Witnet.Result memory _result)\\n        external pure\\n        returns (bool)\\n    {\\n        return _result.success;\\n    }\\n\\n    /// @notice Tell if a Witnet.Result is errored.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if errored, `false` if successful.\\n    function isError(Witnet.Result memory _result)\\n      external pure\\n      returns (bool)\\n    {\\n        return !_result.success;\\n    }\\n\\n    /// @notice Decode a bytes value from a Witnet.Result as a `bytes` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes` decoded from the Witnet.Result.\\n    function asBytes(Witnet.Result memory _result)\\n        external pure\\n        returns(bytes memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read bytes value from errored Witnet.Result\\\");\\n        return _result.value.decodeBytes();\\n    }\\n\\n    /// @notice Decode a bytes value from a Witnet.Result as a `bytes32` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes32` decoded from the Witnet.Result.\\n    function asBytes32(Witnet.Result memory _result)\\n        external pure\\n        returns(bytes32)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: tried to read bytes32 value from errored Witnet.Result\\\");\\n        return _result.value.decodeBytes32();\\n    }\\n\\n    /// @notice Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `CBORValue.Error memory` decoded from the Witnet.Result.\\n    function asErrorCode(Witnet.Result memory _result)\\n        external pure\\n        returns (Witnet.ErrorCodes)\\n    {\\n        uint64[] memory error = asRawError(_result);\\n        if (error.length == 0) {\\n            return Witnet.ErrorCodes.Unknown;\\n        }\\n        return _supportedErrorOrElseUnknown(error[0]);\\n    }\\n\\n    /// @notice Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\\n    /// @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\\n    function asErrorMessage(Witnet.Result memory _result)\\n      public pure\\n      returns (Witnet.ErrorCodes, string memory)\\n    {\\n        uint64[] memory error = asRawError(_result);\\n        if (error.length == 0) {\\n            return (Witnet.ErrorCodes.Unknown, \\\"Unknown error (no error code)\\\");\\n        }\\n        Witnet.ErrorCodes errorCode = _supportedErrorOrElseUnknown(error[0]);\\n        bytes memory errorMessage;\\n\\n        if (errorCode == Witnet.ErrorCodes.SourceScriptNotCBOR && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Source script #\\\",\\n                _utoa(error[1]),\\n                \\\" was not a valid CBOR value\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.SourceScriptNotArray && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"The CBOR value in script #\\\",\\n                _utoa(error[1]),\\n                \\\" was not an Array of calls\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.SourceScriptNotRADON && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"The CBOR value in script #\\\",\\n                _utoa(error[1]),\\n                \\\" was not a valid Data Request\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.RequestTooManySources && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"The request contained too many sources (\\\", \\n                _utoa(error[1]), \\n                \\\")\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.ScriptTooManyCalls && error.length >= 4) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Script #\\\",\\n                _utoa(error[2]),\\n                \\\" from the \\\",\\n                stageName(error[1]),\\n                \\\" stage contained too many calls (\\\",\\n                _utoa(error[3]),\\n                \\\")\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.UnsupportedOperator && error.length >= 5) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Operator code 0x\\\",\\n                _utohex(error[4]),\\n                \\\" found at call #\\\",\\n                _utoa(error[3]),\\n                \\\" in script #\\\",\\n                _utoa(error[2]),\\n                \\\" from \\\",\\n                stageName(error[1]),\\n                \\\" stage is not supported\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.HTTP && error.length >= 3) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Source #\\\",\\n                _utoa(error[1]),\\n                \\\" could not be retrieved. Failed with HTTP error code: \\\",\\n                _utoa(error[2] / 100),\\n                _utoa(error[2] % 100 / 10),\\n                _utoa(error[2] % 10)\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.RetrievalTimeout && error.length >= 2) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Source #\\\",\\n                _utoa(error[1]),\\n                \\\" could not be retrieved because of a timeout\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.Underflow && error.length >= 5) {\\n              errorMessage = abi.encodePacked(\\n                \\\"Underflow at operator code 0x\\\",\\n                _utohex(error[4]),\\n                \\\" found at call #\\\",\\n                _utoa(error[3]),\\n                \\\" in script #\\\",\\n                _utoa(error[2]),\\n                \\\" from \\\",\\n                stageName(error[1]),\\n                \\\" stage\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.Overflow && error.length >= 5) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Overflow at operator code 0x\\\",\\n                _utohex(error[4]),\\n                \\\" found at call #\\\",\\n                _utoa(error[3]),\\n                \\\" in script #\\\",\\n                _utoa(error[2]),\\n                \\\" from \\\",\\n                stageName(error[1]),\\n                \\\" stage\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.DivisionByZero && error.length >= 5) {\\n            errorMessage = abi.encodePacked(\\n                \\\"Division by zero at operator code 0x\\\",\\n                _utohex(error[4]),\\n                \\\" found at call #\\\",\\n                _utoa(error[3]),\\n                \\\" in script #\\\",\\n                _utoa(error[2]),\\n                \\\" from \\\",\\n                stageName(error[1]),\\n                \\\" stage\\\"\\n            );\\n        } else if (errorCode == Witnet.ErrorCodes.BridgeMalformedRequest) {\\n            errorMessage = \\\"The structure of the request is invalid and it cannot be parsed\\\";\\n        } else if (errorCode == Witnet.ErrorCodes.BridgePoorIncentives) {\\n            errorMessage = \\\"The request has been rejected by the bridge node due to poor incentives\\\";\\n        } else if (errorCode == Witnet.ErrorCodes.BridgeOversizedResult) {\\n            errorMessage = \\\"The request result length exceeds a bridge contract defined limit\\\";\\n        } else {\\n            errorMessage = abi.encodePacked(\\\"Unknown error (0x\\\", _utohex(error[0]), \\\")\\\");\\n        }\\n        return (errorCode, string(errorMessage));\\n    }\\n\\n    /// @notice Decode a raw error from a `Witnet.Result` as a `uint64[]`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `uint64[]` raw error as decoded from the `Witnet.Result`.\\n    function asRawError(Witnet.Result memory _result)\\n        public pure\\n        returns(uint64[] memory)\\n    {\\n        require(\\n            !_result.success,\\n            \\\"WitnetParserLib: Tried to read error code from successful Witnet.Result\\\"\\n        );\\n        return _result.value.decodeUint64Array();\\n    }\\n\\n    /// @notice Decode a boolean value from a Witnet.Result as an `bool` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bool` decoded from the Witnet.Result.\\n    function asBool(Witnet.Result memory _result)\\n        external pure\\n        returns (bool)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `bool` value from errored Witnet.Result\\\");\\n        return _result.value.decodeBool();\\n    }\\n\\n    /// @notice Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\\n    /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\\n    /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\\n    /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asFixed16(Witnet.Result memory _result)\\n        external pure\\n        returns (int32)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `fixed16` value from errored Witnet.Result\\\");\\n        return _result.value.decodeFixed16();\\n    }\\n\\n    /// @notice Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asFixed16Array(Witnet.Result memory _result)\\n        external pure\\n        returns (int32[] memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `fixed16[]` value from errored Witnet.Result\\\");\\n        return _result.value.decodeFixed16Array();\\n    }\\n\\n    /// @notice Decode a integer numeric value from a Witnet.Result as an `int128` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asInt128(Witnet.Result memory _result)\\n      external pure\\n      returns (int128)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `int128` value from errored Witnet.Result\\\");\\n        return _result.value.decodeInt128();\\n    }\\n\\n    /// @notice Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asInt128Array(Witnet.Result memory _result)\\n        external pure\\n        returns (int128[] memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `int128[]` value from errored Witnet.Result\\\");\\n        return _result.value.decodeInt128Array();\\n    }\\n\\n    /// @notice Decode a string value from a Witnet.Result as a `string` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string` decoded from the Witnet.Result.\\n    function asString(Witnet.Result memory _result)\\n        external pure\\n        returns(string memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `string` value from errored Witnet.Result\\\");\\n        return _result.value.decodeString();\\n    }\\n\\n    /// @notice Decode an array of string values from a Witnet.Result as a `string[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string[]` decoded from the Witnet.Result.\\n    function asStringArray(Witnet.Result memory _result)\\n        external pure\\n        returns (string[] memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `string[]` value from errored Witnet.Result\\\");\\n        return _result.value.decodeStringArray();\\n    }\\n\\n    /// @notice Decode a natural numeric value from a Witnet.Result as a `uint64` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64` decoded from the Witnet.Result.\\n    function asUint64(Witnet.Result memory _result)\\n        external pure\\n        returns(uint64)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `uint64` value from errored Witnet.Result\\\");\\n        return _result.value.decodeUint64();\\n    }\\n\\n    /// @notice Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64[]` decoded from the Witnet.Result.\\n    function asUint64Array(Witnet.Result memory _result)\\n        external pure\\n        returns (uint64[] memory)\\n    {\\n        require(_result.success, \\\"WitnetParserLib: Tried to read `uint64[]` value from errored Witnet.Result\\\");\\n        return _result.value.decodeUint64Array();\\n    }\\n\\n    /// @notice Convert a stage index number into the name of the matching Witnet request stage.\\n    /// @param _stageIndex A `uint64` identifying the index of one of the Witnet request stages.\\n    /// @return The name of the matching stage.\\n    function stageName(uint64 _stageIndex)\\n        public pure\\n        returns (string memory)\\n    {\\n        if (_stageIndex == 0) {\\n            return \\\"retrieval\\\";\\n        } else if (_stageIndex == 1) {\\n            return \\\"aggregation\\\";\\n        } else if (_stageIndex == 2) {\\n            return \\\"tally\\\";\\n        } else {\\n            return \\\"unknown\\\";\\n        }\\n    }\\n\\n    /// @notice Get an `Witnet.ErrorCodes` item from its `uint64` discriminant.\\n    /// @param _discriminant The numeric identifier of an error.\\n    /// @return A member of `Witnet.ErrorCodes`.\\n    function _supportedErrorOrElseUnknown(uint64 _discriminant)\\n        private pure\\n        returns (Witnet.ErrorCodes)\\n    {\\n        return Witnet.ErrorCodes(_discriminant);\\n    }\\n\\n    /// @notice Convert a `uint64` into a 1, 2 or 3 characters long `string` representing its.\\n    /// three less significant decimal values.\\n    /// @param _u A `uint64` value.\\n    /// @return The `string` representing its decimal value.\\n    function _utoa(uint64 _u)\\n        private pure\\n        returns (string memory)\\n    {\\n        if (_u < 10) {\\n            bytes memory b1 = new bytes(1);\\n            b1[0] = bytes1(uint8(_u) + 48);\\n            return string(b1);\\n        } else if (_u < 100) {\\n            bytes memory b2 = new bytes(2);\\n            b2[0] = bytes1(uint8(_u / 10) + 48);\\n            b2[1] = bytes1(uint8(_u % 10) + 48);\\n            return string(b2);\\n        } else {\\n            bytes memory b3 = new bytes(3);\\n            b3[0] = bytes1(uint8(_u / 100) + 48);\\n            b3[1] = bytes1(uint8(_u % 100 / 10) + 48);\\n            b3[2] = bytes1(uint8(_u % 10) + 48);\\n            return string(b3);\\n        }\\n    }\\n\\n    /// @notice Convert a `uint64` into a 2 characters long `string` representing its two less significant hexadecimal values.\\n    /// @param _u A `uint64` value.\\n    /// @return The `string` representing its hexadecimal value.\\n    function _utohex(uint64 _u)\\n        private pure\\n        returns (string memory)\\n    {\\n        bytes memory b2 = new bytes(2);\\n        uint8 d0 = uint8(_u / 16) + 48;\\n        uint8 d1 = uint8(_u % 16) + 48;\\n        if (d0 > 57)\\n            d0 += 7;\\n        if (d1 > 57)\\n            d1 += 7;\\n        b2[0] = bytes1(d0);\\n        b2[1] = bytes1(d1);\\n        return string(b2);\\n    }\\n}\\n\",\"keccak256\":\"0x250634a50e7ad8aaa9f3dde002ca3718de06a65b93be86896011331b996403f0\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{"asBool(Witnet.Result)":{"notice":"Decode a boolean value from a Witnet.Result as an `bool` value."},"asBytes(Witnet.Result)":{"notice":"Decode a bytes value from a Witnet.Result as a `bytes` value."},"asBytes32(Witnet.Result)":{"notice":"Decode a bytes value from a Witnet.Result as a `bytes32` value."},"asErrorCode(Witnet.Result)":{"notice":"Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`."},"asErrorMessage(Witnet.Result)":{"notice":"Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments."},"asFixed16(Witnet.Result)":{"notice":"Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value."},"asFixed16Array(Witnet.Result)":{"notice":"Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value."},"asInt128(Witnet.Result)":{"notice":"Decode a integer numeric value from a Witnet.Result as an `int128` value."},"asInt128Array(Witnet.Result)":{"notice":"Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value."},"asRawError(Witnet.Result)":{"notice":"Decode a raw error from a `Witnet.Result` as a `uint64[]`."},"asString(Witnet.Result)":{"notice":"Decode a string value from a Witnet.Result as a `string` value."},"asStringArray(Witnet.Result)":{"notice":"Decode an array of string values from a Witnet.Result as a `string[]` value."},"asUint64(Witnet.Result)":{"notice":"Decode a natural numeric value from a Witnet.Result as a `uint64` value."},"asUint64Array(Witnet.Result)":{"notice":"Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value."},"isError(Witnet.Result)":{"notice":"Tell if a Witnet.Result is errored."},"isOk(Witnet.Result)":{"notice":"Tell if a Witnet.Result is successful."},"resultFromCborBytes(bytes)":{"notice":"Decode raw CBOR bytes into a Witnet.Result instance."},"resultFromCborValue(Witnet.CBOR)":{"notice":"Decode a CBOR value into a Witnet.Result instance."},"stageName(uint64)":{"notice":"Convert a stage index number into the name of the matching Witnet request stage."}},"notice":"The library exposes functions to check the Witnet request success. and retrieve Witnet results from CBOR values into solidity types.","version":1}}},"witnet-solidity-bridge/contracts/mocks/WitnetRandomnessMock.sol":{"WitnetRandomnessMock":{"abi":[{"inputs":[{"internalType":"uint8","name":"_mockRandomizeLatencyBlocks","type":"uint8"},{"internalType":"uint256","name":"_mockRandomizeFee","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"by","type":"address"},{"indexed":true,"internalType":"contract Clonable","name":"self","type":"address"},{"indexed":true,"internalType":"contract Clonable","name":"clone","type":"address"}],"name":"Cloned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"uint256","name":"prevBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"witnetQueryId","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"witnetRequestHash","type":"bytes32"}],"name":"Randomized","type":"event"},{"inputs":[],"name":"clone","outputs":[{"internalType":"contract Clonable","name":"_newInstance","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_salt","type":"bytes32"}],"name":"cloneDeterministic","outputs":[{"internalType":"contract Clonable","name":"_newInstance","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cloned","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"estimateRandomizeFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_block","type":"uint256"}],"name":"getRandomizeData","outputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"uint256","name":"_prevBlock","type":"uint256"},{"internalType":"uint256","name":"_nextBlock","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_block","type":"uint256"}],"name":"getRandomnessAfter","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_block","type":"uint256"}],"name":"getRandomnessNextBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_block","type":"uint256"}],"name":"getRandomnessPrevBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"_initData","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_block","type":"uint256"}],"name":"isRandomized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestRandomizeBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_range","type":"uint32"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"uint256","name":"_block","type":"uint256"}],"name":"random","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_range","type":"uint32"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"bytes32","name":"_seed","type":"bytes32"}],"name":"random","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"randomize","outputs":[{"internalType":"uint256","name":"_usedFunds","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"self","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"upgradeRandomizeFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"witnet","outputs":[{"internalType":"contract WitnetRequestBoard","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"witnetRandomnessRequest","outputs":[{"internalType":"contract WitnetRequestRandomness","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"devdoc":{"author":"Witnet Foundation.","details":"TO BE USED ONLY ON DEVELOPMENT ENVIRONMENTS. ON SUPPORTED TESTNETS, PLEASE USE THE `WitnetRandomness`CONTRACT ADDRESS PROVIDED BY THE WITNET FOUNDATION.SEE: https://docs.witnet.io/smart-contracts/witnet-randomness-oracle/contract-addresses","kind":"dev","methods":{"clone()":{"details":"This function should always provide a new address, no matter how many times is actually called from the same `msg.sender`."},"cloneDeterministic(bytes32)":{"details":"This function uses the CREATE2 opcode and a `_salt` to deterministically deploythe clone. Using the same `_salt` multiple time will revert, sinceno contract can be deployed more than once at the same address."},"constructor":{"params":{"_mockRandomizeFee":"Mocked randomize fee (will be constant no matter what tx gas price is provided).","_mockRandomizeLatencyBlocks":"Mocked number of blocks in which a new randomness will be provided after `randomize()`"}},"getRandomizeData(uint256)":{"details":"Returns zero values if no randomness request was actually posted within a given block.","params":{"_block":"Block number whose randomness request is being queried for."},"returns":{"_from":"Address from which the latest randomness request was posted.","_id":"Unique request identifier as provided by the WRB.","_nextBlock":"Block number in which a randomness request got posted just after this one, 0 if none.","_prevBlock":"Block number in which a randomness request got posted just before this one. 0 if none."}},"getRandomnessAfter(uint256)":{"details":"Please, note that 256 blocks after a `randomize()` request, randomness will be possibly returned as `bytes32(0)` (depending on actual EVM implementation). Fails if:i.   no `randomize()` was not called in either the given block, or afterwards.ii.  a request posted in/after given block does exist, but lest than `__mockRandomizeLatencyBlocks` have elapsed.","params":{"_block":"Block number from which the search will start."}},"getRandomnessNextBlock(uint256)":{"params":{"_block":"Block number from which the search will start."},"returns":{"_0":"Number of the first block found after the given one, or `0` otherwise."}},"getRandomnessPrevBlock(uint256)":{"params":{"_block":"Block number from which the search will start. Cannot be zero."},"returns":{"_0":"First block found before the given one, or `0` otherwise."}},"initialize(bytes)":{"details":"Initializes contract's storage context."},"random(uint32,uint256,bytes32)":{"params":{"_nonce":"Nonce value enabling multiple random numbers from the same randomness value.","_range":"Range within which the uniformly-distributed random number will be generated.","_seed":"Seed value used as entropy source."}},"random(uint32,uint256,uint256)":{"details":"Fails under same conditions as `getRandomnessAfter(uint256)` may do.","params":{"_block":"Block number from which the search will start.","_nonce":"Nonce value enabling multiple random numbers from the same randomness value.","_range":"Range within which the uniformly-distributed random number will be generated."}},"randomize()":{"details":"FOR UNITARY TESTING ONLY. DO NOT USE IN PRODUCTION, AS PROVIDED RANDOMNESSWILL NEITHER BE EVM-AGNOSTIC, NOR SECURE.","returns":{"_usedFunds":"Amount of funds actually used from those provided by the tx sender."}},"upgradeRandomizeFee(uint256)":{"details":"The whole `msg.value` shall be transferred back to the tx sender.","returns":{"_0":"_usedFunds Amount of funds actually used from those provided by the tx sender."}}},"title":"WitnetRandomness mock contract implementation. ","version":1},"evm":{"bytecode":{"functionDebugData":{"@_11247":{"entryPoint":null,"id":11247,"parameterSlots":2,"returnSlots":0},"@_3963":{"entryPoint":null,"id":3963,"parameterSlots":1,"returnSlots":0},"@_4220":{"entryPoint":null,"id":4220,"parameterSlots":1,"returnSlots":0},"abi_decode_t_uint256_fromMemory":{"entryPoint":609,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint8_fromMemory":{"entryPoint":632,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint8t_uint256_fromMemory":{"entryPoint":655,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_t_address_to_t_address_fromStack":{"entryPoint":726,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_stringliteral_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f_to_t_string_memory_ptr_fromStack":{"entryPoint":743,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":782,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":811,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_fromStack":{"entryPoint":845,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_address":{"entryPoint":862,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":882,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":914,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint8":{"entryPoint":924,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":937,"id":null,"parameterSlots":0,"returnSlots":0},"store_literal_in_memory_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f":{"entryPoint":942,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":983,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint8":{"entryPoint":1009,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:3300:67","statements":[{"body":{"nodeType":"YulBlock","src":"70:80:67","statements":[{"nodeType":"YulAssignment","src":"80:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"95:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"89:5:67"},"nodeType":"YulFunctionCall","src":"89:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"80:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"138:5:67"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"111:26:67"},"nodeType":"YulFunctionCall","src":"111:33:67"},"nodeType":"YulExpressionStatement","src":"111:33:67"}]},"name":"abi_decode_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"48:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"56:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"64:5:67","type":""}],"src":"7:143:67"},{"body":{"nodeType":"YulBlock","src":"217:78:67","statements":[{"nodeType":"YulAssignment","src":"227:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"242:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"236:5:67"},"nodeType":"YulFunctionCall","src":"236:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"227:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"283:5:67"}],"functionName":{"name":"validator_revert_t_uint8","nodeType":"YulIdentifier","src":"258:24:67"},"nodeType":"YulFunctionCall","src":"258:31:67"},"nodeType":"YulExpressionStatement","src":"258:31:67"}]},"name":"abi_decode_t_uint8_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"195:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"203:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"211:5:67","type":""}],"src":"156:139:67"},{"body":{"nodeType":"YulBlock","src":"393:411:67","statements":[{"body":{"nodeType":"YulBlock","src":"439:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"441:77:67"},"nodeType":"YulFunctionCall","src":"441:79:67"},"nodeType":"YulExpressionStatement","src":"441:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"414:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"423:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"410:3:67"},"nodeType":"YulFunctionCall","src":"410:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"435:2:67","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"406:3:67"},"nodeType":"YulFunctionCall","src":"406:32:67"},"nodeType":"YulIf","src":"403:119:67"},{"nodeType":"YulBlock","src":"532:126:67","statements":[{"nodeType":"YulVariableDeclaration","src":"547:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"561:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"551:6:67","type":""}]},{"nodeType":"YulAssignment","src":"576:72:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"620:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"631:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"616:3:67"},"nodeType":"YulFunctionCall","src":"616:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"640:7:67"}],"functionName":{"name":"abi_decode_t_uint8_fromMemory","nodeType":"YulIdentifier","src":"586:29:67"},"nodeType":"YulFunctionCall","src":"586:62:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"576:6:67"}]}]},{"nodeType":"YulBlock","src":"668:129:67","statements":[{"nodeType":"YulVariableDeclaration","src":"683:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"697:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"687:6:67","type":""}]},{"nodeType":"YulAssignment","src":"713:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"759:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"770:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"755:3:67"},"nodeType":"YulFunctionCall","src":"755:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"779:7:67"}],"functionName":{"name":"abi_decode_t_uint256_fromMemory","nodeType":"YulIdentifier","src":"723:31:67"},"nodeType":"YulFunctionCall","src":"723:64:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"713:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint8t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"355:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"366:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"378:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"386:6:67","type":""}],"src":"301:503:67"},{"body":{"nodeType":"YulBlock","src":"875:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"892:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"915:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"897:17:67"},"nodeType":"YulFunctionCall","src":"897:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"885:6:67"},"nodeType":"YulFunctionCall","src":"885:37:67"},"nodeType":"YulExpressionStatement","src":"885:37:67"}]},"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"863:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"870:3:67","type":""}],"src":"810:118:67"},{"body":{"nodeType":"YulBlock","src":"1080:220:67","statements":[{"nodeType":"YulAssignment","src":"1090:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1156:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"1161:2:67","type":"","value":"25"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"1097:58:67"},"nodeType":"YulFunctionCall","src":"1097:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"1090:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1262:3:67"}],"functionName":{"name":"store_literal_in_memory_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f","nodeType":"YulIdentifier","src":"1173:88:67"},"nodeType":"YulFunctionCall","src":"1173:93:67"},"nodeType":"YulExpressionStatement","src":"1173:93:67"},{"nodeType":"YulAssignment","src":"1275:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1286:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"1291:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1282:3:67"},"nodeType":"YulFunctionCall","src":"1282:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1275:3:67"}]}]},"name":"abi_encode_t_stringliteral_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"1068:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"1076:3:67","type":""}],"src":"934:366:67"},{"body":{"nodeType":"YulBlock","src":"1404:124:67","statements":[{"nodeType":"YulAssignment","src":"1414:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1426:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"1437:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1422:3:67"},"nodeType":"YulFunctionCall","src":"1422:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1414:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1494:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1507:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"1518:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1503:3:67"},"nodeType":"YulFunctionCall","src":"1503:17:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"1450:43:67"},"nodeType":"YulFunctionCall","src":"1450:71:67"},"nodeType":"YulExpressionStatement","src":"1450:71:67"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1376:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1388:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1399:4:67","type":""}],"src":"1306:222:67"},{"body":{"nodeType":"YulBlock","src":"1705:248:67","statements":[{"nodeType":"YulAssignment","src":"1715:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1727:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"1738:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1723:3:67"},"nodeType":"YulFunctionCall","src":"1723:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1715:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1762:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"1773:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1758:3:67"},"nodeType":"YulFunctionCall","src":"1758:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"1781:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"1787:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1777:3:67"},"nodeType":"YulFunctionCall","src":"1777:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1751:6:67"},"nodeType":"YulFunctionCall","src":"1751:47:67"},"nodeType":"YulExpressionStatement","src":"1751:47:67"},{"nodeType":"YulAssignment","src":"1807:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"1941:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"1815:124:67"},"nodeType":"YulFunctionCall","src":"1815:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1807:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1685:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1700:4:67","type":""}],"src":"1534:419:67"},{"body":{"nodeType":"YulBlock","src":"1999:35:67","statements":[{"nodeType":"YulAssignment","src":"2009:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2025:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2019:5:67"},"nodeType":"YulFunctionCall","src":"2019:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2009:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1992:6:67","type":""}],"src":"1959:75:67"},{"body":{"nodeType":"YulBlock","src":"2136:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2153:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"2158:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2146:6:67"},"nodeType":"YulFunctionCall","src":"2146:19:67"},"nodeType":"YulExpressionStatement","src":"2146:19:67"},{"nodeType":"YulAssignment","src":"2174:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2193:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"2198:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2189:3:67"},"nodeType":"YulFunctionCall","src":"2189:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"2174:11:67"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"2108:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"2113:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"2124:11:67","type":""}],"src":"2040:169:67"},{"body":{"nodeType":"YulBlock","src":"2260:51:67","statements":[{"nodeType":"YulAssignment","src":"2270:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2299:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"2281:17:67"},"nodeType":"YulFunctionCall","src":"2281:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"2270:7:67"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2242:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"2252:7:67","type":""}],"src":"2215:96:67"},{"body":{"nodeType":"YulBlock","src":"2362:81:67","statements":[{"nodeType":"YulAssignment","src":"2372:65:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2387:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"2394:42:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2383:3:67"},"nodeType":"YulFunctionCall","src":"2383:54:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"2372:7:67"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2344:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"2354:7:67","type":""}],"src":"2317:126:67"},{"body":{"nodeType":"YulBlock","src":"2494:32:67","statements":[{"nodeType":"YulAssignment","src":"2504:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"2515:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"2504:7:67"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2476:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"2486:7:67","type":""}],"src":"2449:77:67"},{"body":{"nodeType":"YulBlock","src":"2575:43:67","statements":[{"nodeType":"YulAssignment","src":"2585:27:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2600:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"2607:4:67","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2596:3:67"},"nodeType":"YulFunctionCall","src":"2596:16:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"2585:7:67"}]}]},"name":"cleanup_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2557:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"2567:7:67","type":""}],"src":"2532:86:67"},{"body":{"nodeType":"YulBlock","src":"2713:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2730:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2733:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2723:6:67"},"nodeType":"YulFunctionCall","src":"2723:12:67"},"nodeType":"YulExpressionStatement","src":"2723:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"2624:117:67"},{"body":{"nodeType":"YulBlock","src":"2836:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2853:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2856:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2846:6:67"},"nodeType":"YulFunctionCall","src":"2846:12:67"},"nodeType":"YulExpressionStatement","src":"2846:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"2747:117:67"},{"body":{"nodeType":"YulBlock","src":"2976:69:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2998:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"3006:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2994:3:67"},"nodeType":"YulFunctionCall","src":"2994:14:67"},{"hexValue":"5573696e675769746e65743a207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"3010:27:67","type":"","value":"UsingWitnet: zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2987:6:67"},"nodeType":"YulFunctionCall","src":"2987:51:67"},"nodeType":"YulExpressionStatement","src":"2987:51:67"}]},"name":"store_literal_in_memory_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"2968:6:67","type":""}],"src":"2870:175:67"},{"body":{"nodeType":"YulBlock","src":"3094:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"3151:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3160:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3163:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3153:6:67"},"nodeType":"YulFunctionCall","src":"3153:12:67"},"nodeType":"YulExpressionStatement","src":"3153:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3117:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3142:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"3124:17:67"},"nodeType":"YulFunctionCall","src":"3124:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3114:2:67"},"nodeType":"YulFunctionCall","src":"3114:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3107:6:67"},"nodeType":"YulFunctionCall","src":"3107:43:67"},"nodeType":"YulIf","src":"3104:63:67"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3087:5:67","type":""}],"src":"3051:122:67"},{"body":{"nodeType":"YulBlock","src":"3220:77:67","statements":[{"body":{"nodeType":"YulBlock","src":"3275:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3284:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3287:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3277:6:67"},"nodeType":"YulFunctionCall","src":"3277:12:67"},"nodeType":"YulExpressionStatement","src":"3277:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3243:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3266:5:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"3250:15:67"},"nodeType":"YulFunctionCall","src":"3250:22:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3240:2:67"},"nodeType":"YulFunctionCall","src":"3240:33:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3233:6:67"},"nodeType":"YulFunctionCall","src":"3233:41:67"},"nodeType":"YulIf","src":"3230:61:67"}]},"name":"validator_revert_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3213:5:67","type":""}],"src":"3179:118:67"}]},"contents":"{\n\n    function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_uint256(value)\n    }\n\n    function abi_decode_t_uint8_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_uint8(value)\n    }\n\n    function abi_decode_tuple_t_uint8t_uint256_fromMemory(headStart, dataEnd) -> value0, value1 {\n        if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint8_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n        mstore(pos, cleanup_t_address(value))\n    }\n\n    function abi_encode_t_stringliteral_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n        store_literal_in_memory_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_address_to_t_address_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function cleanup_t_address(value) -> cleaned {\n        cleaned := cleanup_t_uint160(value)\n    }\n\n    function cleanup_t_uint160(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n    }\n\n    function cleanup_t_uint256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_uint8(value) -> cleaned {\n        cleaned := and(value, 0xff)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function store_literal_in_memory_77a452e7d6fe4812bea821f1f1ea3a6b4df6607e22167ac0bae47f4bb97e2e4f(memPtr) {\n\n        mstore(add(memPtr, 0), \"UsingWitnet: zero address\")\n\n    }\n\n    function validator_revert_t_uint256(value) {\n        if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint8(value) {\n        if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60c06040523073ffffffffffffffffffffffffffffffffffffffff1660a09073ffffffffffffffffffffffffffffffffffffffff1660601b8152503480156200004757600080fd5b50604051620063bf380380620063bf83398181016040528101906200006d91906200028f565b73ffffffffffffffffffffffffffffffffffffffff80600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620000f6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000ed906200032b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b81525050506040516200013c9062000253565b604051809103906000f08015801562000159573d6000803e3d6000fd5b506000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2fde38b336040518263ffffffff1660e01b8152600401620001f491906200030e565b600060405180830381600087803b1580156200020f57600080fd5b505af115801562000224573d6000803e3d6000fd5b505050505081600360006101000a81548160ff021916908360ff1602179055508060048190555050506200040b565b613cb0806200270f83390190565b6000815190506200027281620003d7565b92915050565b6000815190506200028981620003f1565b92915050565b60008060408385031215620002a957620002a8620003a9565b5b6000620002b98582860162000278565b9250506020620002cc8582860162000261565b9150509250929050565b620002e1816200035e565b82525050565b6000620002f66019836200034d565b91506200030382620003ae565b602082019050919050565b6000602082019050620003256000830184620002d6565b92915050565b600060208201905081810360008301526200034681620002e7565b9050919050565b600082825260208201905092915050565b60006200036b8262000372565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600080fd5b7f5573696e675769746e65743a207a65726f206164647265737300000000000000600082015250565b620003e28162000392565b8114620003ee57600080fd5b50565b620003fc816200039c565b81146200040857600080fd5b50565b60805160601c60a05160601c6122b56200045a60003960008181610979015281816109f701528181610cfa01528181610e02015281816110a801526111b10152600061070301526122b56000f3fe6080604052600436106101095760003560e01c80639938fd0c11610095578063a60ee26811610064578063a60ee2681461038b578063daaa360c146103c8578063e35329f814610405578063e7d4a01614610435578063fb476cad1461047257610109565b80639938fd0c146102b85780639bc86fec146102e3578063a04daef014610320578063a3252f681461034b57610109565b806340b41daa116100dc57806340b41daa146101de578063439fab911461021b57806346d1d21a14610244578063699b328a1461026f5780637104ddb21461028d57610109565b806309ed46071461010e57806324cbbfc11461013957806336b651bb146101765780633b13e76e146101b3575b600080fd5b34801561011a57600080fd5b506101236104af565b6040516101309190611959565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b9190611679565b6104c7565b60405161016d9190611aae565b60405180910390f35b34801561018257600080fd5b5061019d600480360381019061019891906115f9565b61050d565b6040516101aa9190611a6a565b60405180910390f35b3480156101bf57600080fd5b506101c861055c565b6040516101d5919061198f565b60405180910390f35b3480156101ea57600080fd5b50610205600480360381019061020091906115f9565b610580565b6040516102129190611a6a565b60405180910390f35b34801561022757600080fd5b50610242600480360381019061023d9190611583565b61061c565b005b34801561025057600080fd5b50610259610701565b6040516102669190611974565b60405180910390f35b610277610725565b6040516102849190611a6a565b60405180910390f35b34801561029957600080fd5b506102a2610977565b6040516102af919061184f565b60405180910390f35b3480156102c457600080fd5b506102cd61099b565b6040516102da9190611a6a565b60405180910390f35b3480156102ef57600080fd5b5061030a600480360381019061030591906115f9565b6109a1565b60405161031791906118d8565b60405180910390f35b34801561032c57600080fd5b506103356109f3565b60405161034291906118d8565b60405180910390f35b34801561035757600080fd5b50610372600480360381019061036d91906115f9565b610a4a565b6040516103829493929190611893565b60405180910390f35b34801561039757600080fd5b506103b260048036038101906103ad91906115f9565b610aab565b6040516103bf9190611a6a565b60405180910390f35b3480156103d457600080fd5b506103ef60048036038101906103ea9190611529565b610ab7565b6040516103fc9190611959565b60405180910390f35b61041f600480360381019061041a91906115f9565b610ad2565b60405161042c9190611a6a565b60405180910390f35b34801561044157600080fd5b5061045c60048036038101906104579190611626565b610b2d565b6040516104699190611aae565b60405180910390f35b34801561047e57600080fd5b50610499600480360381019061049491906115f9565b610bb4565b6040516104a691906118f3565b60405180910390f35b60006104b9610cf5565b90506104c481610e7e565b90565b60006105048484336104d886610bb4565b6040516020016104e992919061186a565b60405160208183030381529060405280519060200120610b2d565b90509392505050565b600080821161051f5761051e611f90565b5b600060015490508083116105525761054d83600260008481526020019081526020016000206001015461101c565b610554565b805b915050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156105fd576105f882600154611054565b610615565b60026000838152602001908152602001600020600201545b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a2906119aa565b60405180910390fd5b808060200190518101906106bf91906114fc565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600043600154101561091957600454905080341015610779576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077090611a0a565b60405180910390fd5b600060056000815461078a90611f47565b91905081905590506000600260004381526020019081526020016000209050338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508181600301819055506000600154905080826001018190555043600260008381526020019081526020016000206002018190555043600181905550803373ffffffffffffffffffffffffffffffffffffffff167faf291bb4e1767569c77502edb6ad1009e856f57c09f214886c6becc9836c20c08560008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309bd5a606040518163ffffffff1660e01b815260040160206040518083038186803b1580156108c757600080fd5b505afa1580156108db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ff9190611556565b60405161090d929190611a85565b60405180910390a35050505b34811015610974573373ffffffffffffffffffffffffffffffffffffffff166108fc82346109479190611d6d565b9081150290604051600060405180830381858888f19350505050158015610972573d6000803e3d6000fd5b505b90565b7f000000000000000000000000000000000000000000000000000000000000000081565b60015481565b60008060026000848152602001908152602001600020905060008160030154141580156109eb5750600360009054906101000a900460ff1660ff16836109e79190611b4c565b4310155b915050919050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415905090565b6000806000806000600260008781526020019081526020016000209050806003015493508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1694508060010154925080600201549150509193509193565b60006004549050919050565b6000610ac2826110a3565b9050610acd81610e7e565b919050565b600080341115610b24573373ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610b22573d6000803e3d6000fd5b505b60009050919050565b600080610b398561122f565b60ff610b459190611da1565b905060006001826002610b589190611bf5565b610b629190611d6d565b8486604051602001610b7592919061190e565b6040516020818303038152906040528051906020012060001c1690508160ff168663ffffffff1682610ba79190611d13565b901c925050509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610c2c57610c2982610580565b91505b6000600260008481526020019081526020016000206003015490506000811415610c8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8290611a2a565b60405180910390fd5b600360009054906101000a900460ff1660ff1683610ca99190611b4c565b431015610ceb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce2906119ca565b60405180910390fd5b8240915050919050565b6000807f000000000000000000000000000000000000000000000000000000000000000090506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160601b60148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f0925050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610de9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de090611a4a565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff376596be5039d6b2fb36fead4c8a370eae426e790a869be8db074ab608cc24860405160405180910390a45090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309ed46076040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610ee957600080fd5b505af1158015610efd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2191906115cc565b90508073ffffffffffffffffffffffffffffffffffffffff1663f2fde38b336040518263ffffffff1660e01b8152600401610f5c919061184f565b600060405180830381600087803b158015610f7657600080fd5b505af1158015610f8a573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663439fab9182604051602001610fbb919061184f565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401610fe69190611937565b600060405180830381600087803b15801561100057600080fd5b505af1158015611014573d6000803e3d6000fd5b505050505050565b600081831161104a5761104583600260008581526020019081526020016000206001015461101c565b61104c565b815b905092915050565b6000818310156110835761107e836002600085815260200190815260200160002060010154611054565b61109b565b60026000838152602001908152602001600020600201545b905092915050565b6000807f000000000000000000000000000000000000000000000000000000000000000090506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160601b60148201527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006028820152836037826000f5925050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611198576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118f906119ea565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff376596be5039d6b2fb36fead4c8a370eae426e790a869be8db074ab608cc24860405160405180910390a450919050565b600080604051806104000160405280600060ff168152602001600960ff168152602001600160ff168152602001600a60ff168152602001600d60ff168152602001601560ff168152602001600260ff168152602001601d60ff168152602001600b60ff168152602001600e60ff168152602001601060ff168152602001601260ff168152602001601660ff168152602001601960ff168152602001600360ff168152602001601e60ff168152602001600860ff168152602001600c60ff168152602001601460ff168152602001601c60ff168152602001600f60ff168152602001601160ff168152602001601860ff168152602001600760ff168152602001601360ff168152602001601b60ff168152602001601760ff168152602001600660ff168152602001601a60ff168152602001600560ff168152602001600460ff168152602001601f60ff16815250905060018363ffffffff16901c8317925060028363ffffffff16901c8317925060048363ffffffff16901c8317925060088363ffffffff16901c8317925060108363ffffffff16901c8317925080601b6307c4acdd8563ffffffff166113e29190611d13565b63ffffffff16901c63ffffffff166020811061140157611400611fee565b5b6020020151915050919050565b600061142161141c84611aee565b611ac9565b90508281526020810184848401111561143d5761143c612051565b5b611448848285611ed4565b509392505050565b60008151905061145f8161220c565b92915050565b60008135905061147481612223565b92915050565b60008151905061148981612223565b92915050565b600082601f8301126114a4576114a361204c565b5b81356114b484826020860161140e565b91505092915050565b6000815190506114cc8161223a565b92915050565b6000813590506114e181612251565b92915050565b6000813590506114f681612268565b92915050565b6000602082840312156115125761151161205b565b5b600061152084828501611450565b91505092915050565b60006020828403121561153f5761153e61205b565b5b600061154d84828501611465565b91505092915050565b60006020828403121561156c5761156b61205b565b5b600061157a8482850161147a565b91505092915050565b6000602082840312156115995761159861205b565b5b600082013567ffffffffffffffff8111156115b7576115b6612056565b5b6115c38482850161148f565b91505092915050565b6000602082840312156115e2576115e161205b565b5b60006115f0848285016114bd565b91505092915050565b60006020828403121561160f5761160e61205b565b5b600061161d848285016114d2565b91505092915050565b60008060006060848603121561163f5761163e61205b565b5b600061164d868287016114e7565b935050602061165e868287016114d2565b925050604061166f86828701611465565b9150509250925092565b6000806000606084860312156116925761169161205b565b5b60006116a0868287016114e7565b93505060206116b1868287016114d2565b92505060406116c2868287016114d2565b9150509250925092565b6116d581611dd5565b82525050565b6116e481611df9565b82525050565b6116f381611e05565b82525050565b600061170482611b1f565b61170e8185611b2a565b935061171e818560208601611ee3565b61172781612060565b840191505092915050565b61173b81611e68565b82525050565b61174a81611e7a565b82525050565b61175981611e8c565b82525050565b600061176c602583611b3b565b91506117778261207e565b604082019050919050565b600061178f602783611b3b565b915061179a826120cd565b604082019050919050565b60006117b2601883611b3b565b91506117bd8261211c565b602082019050919050565b60006117d5602483611b3b565b91506117e082612145565b604082019050919050565b60006117f8602483611b3b565b915061180382612194565b604082019050919050565b600061181b601783611b3b565b9150611826826121e3565b602082019050919050565b61183a81611e41565b82525050565b61184981611e4b565b82525050565b600060208201905061186460008301846116cc565b92915050565b600060408201905061187f60008301856116cc565b61188c60208301846116ea565b9392505050565b60006080820190506118a860008301876116cc565b6118b56020830186611831565b6118c26040830185611831565b6118cf6060830184611831565b95945050505050565b60006020820190506118ed60008301846116db565b92915050565b600060208201905061190860008301846116ea565b92915050565b600060408201905061192360008301856116ea565b6119306020830184611831565b9392505050565b6000602082019050818103600083015261195181846116f9565b905092915050565b600060208201905061196e6000830184611732565b92915050565b60006020820190506119896000830184611741565b92915050565b60006020820190506119a46000830184611750565b92915050565b600060208201905081810360008301526119c38161175f565b9050919050565b600060208201905081810360008301526119e381611782565b9050919050565b60006020820190508181036000830152611a03816117a5565b9050919050565b60006020820190508181036000830152611a23816117c8565b9050919050565b60006020820190508181036000830152611a43816117eb565b9050919050565b60006020820190508181036000830152611a638161180e565b9050919050565b6000602082019050611a7f6000830184611831565b92915050565b6000604082019050611a9a6000830185611831565b611aa760208301846116ea565b9392505050565b6000602082019050611ac36000830184611840565b92915050565b6000611ad3611ae4565b9050611adf8282611f16565b919050565b6000604051905090565b600067ffffffffffffffff821115611b0957611b0861201d565b5b611b1282612060565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000611b5782611e41565b9150611b6283611e41565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611b9757611b96611fbf565b5b828201905092915050565b6000808291508390505b6001851115611bec57808604811115611bc857611bc7611fbf565b5b6001851615611bd75780820291505b8081029050611be585612071565b9450611bac565b94509492505050565b6000611c0082611e41565b9150611c0b83611e5b565b9250611c387fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611c40565b905092915050565b600082611c505760019050611d0c565b81611c5e5760009050611d0c565b8160018114611c745760028114611c7e57611cad565b6001915050611d0c565b60ff841115611c9057611c8f611fbf565b5b8360020a915084821115611ca757611ca6611fbf565b5b50611d0c565b5060208310610133831016604e8410600b8410161715611ce25782820a905083811115611cdd57611cdc611fbf565b5b611d0c565b611cef8484846001611ba2565b92509050818404811115611d0657611d05611fbf565b5b81810290505b9392505050565b6000611d1e82611e41565b9150611d2983611e41565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611d6257611d61611fbf565b5b828202905092915050565b6000611d7882611e41565b9150611d8383611e41565b925082821015611d9657611d95611fbf565b5b828203905092915050565b6000611dac82611e5b565b9150611db783611e5b565b925082821015611dca57611dc9611fbf565b5b828203905092915050565b6000611de082611e21565b9050919050565b6000611df282611e21565b9050919050565b60008115159050919050565b6000819050919050565b6000611e1a82611dd5565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600060ff82169050919050565b6000611e7382611e9e565b9050919050565b6000611e8582611eb0565b9050919050565b6000611e9782611e9e565b9050919050565b6000611ea982611ec2565b9050919050565b6000611ebb82611ec2565b9050919050565b6000611ecd82611e21565b9050919050565b82818337600083830152505050565b60005b83811015611f01578082015181840152602081019050611ee6565b83811115611f10576000848401525b50505050565b611f1f82612060565b810181811067ffffffffffffffff82111715611f3e57611f3d61201d565b5b80604052505050565b6000611f5282611e41565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611f8557611f84611fbf565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f5769746e657452616e646f6d6e6573733a20616c726561647920696e6974696160008201527f6c697a6564000000000000000000000000000000000000000000000000000000602082015250565b7f5769746e657452616e646f6d6e6573734d6f636b3a2070656e64696e6720726160008201527f6e646f6d697a6500000000000000000000000000000000000000000000000000602082015250565b7f436c6f6e61626c653a2043524541544532206661696c65640000000000000000600082015250565b7f5769746e657452616e646f6d6e6573734d6f636b3a2072657761726420746f6f60008201527f206c6f7700000000000000000000000000000000000000000000000000000000602082015250565b7f5769746e657452616e646f6d6e6573734d6f636b3a206e6f742072616e646f6d60008201527f697a656400000000000000000000000000000000000000000000000000000000602082015250565b7f436c6f6e61626c653a20435245415445206661696c6564000000000000000000600082015250565b61221581611de7565b811461222057600080fd5b50565b61222c81611e05565b811461223757600080fd5b50565b61224381611e0f565b811461224e57600080fd5b50565b61225a81611e41565b811461226557600080fd5b50565b61227181611e4b565b811461227c57600080fd5b5056fea2646970667358221220c43f6e704bfd58fc565704a9130b6e8f4fd24f92ba9c5a37c952af2ebf55964064736f6c6343000807003360a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152503480156200004757600080fd5b50620000686200005c6200008e60201b60201c565b6200009660201b60201c565b62000088604051806020016040528060008152506200017e60201b60201c565b62001259565b600033905090565b6000620000a8620001cc60201b60201c565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081620000df620001cc60201b60201c565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620001c96040518060400160405280601181526020017f0a0f120508021a01801a0210022202100b000000000000000000000000000000815250620001f460201b62000e261760201c565b50565b60007f375930152e1d0d102998be6e496b0cee86c9ecd0efef01014ecff169b17dfba7905090565b600062000206620001cc60201b60201c565b6001018054620002169062000f58565b9050146200025b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002529062000d78565b60405180910390fd5b6200026c816200028f60201b60201c565b6200028c620002806200008e60201b60201c565b6200009660201b60201c565b50565b6000815111620002a457620002a362000fc4565b5b80620002b5620001cc60201b60201c565b6001019080519060200190620002cd92919062000a17565b506000620002e0620001cc60201b60201c565b600401905060028160000160006101000a81548160ff021916908360ff16021790555060338160000160016101000a81548160ff021916908360ff160217905550633b9aca008160000160026101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506207a12081600001600a6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506203d0908160000160126101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506200042b8160000160009054906101000a900460ff168260000160019054906101000a900460ff168360000160029054906101000a900467ffffffffffffffff1684600001600a9054906101000a900467ffffffffffffffff168560000160129054906101000a900467ffffffffffffffff166200042f60201b60201c565b5050565b60008267ffffffffffffffff16116200047f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004769062000d56565b60405180910390fd5b60018560ff1610158015620004985750607f8560ff1611155b620004da576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004d19062000d9a565b60405180910390fd5b60338460ff1610158015620004f3575060638460ff1611155b62000535576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200052c9062000d34565b60405180910390fd5b633b9aca008367ffffffffffffffff16101562000589576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005809062000dbc565b60405180910390fd5b62000599620001cc60201b60201c565b600101620005b2601060f81b846200078860201b60201c565b620005c8601860f81b886200099a60201b60201c565b620005de602060f81b856200078860201b60201c565b620005f4602860f81b896200099a60201b60201c565b6200060a603060f81b896200078860201b60201c565b604051602001620006219695949392919062000cd0565b60405160208183030381529060405262000640620001cc60201b60201c565b60020190805190602001906200065892919062000a17565b50620007126200066d620001cc60201b60201c565b60020180546200067d9062000f58565b80601f0160208091040260200160405190810160405280929190818152602001828054620006ab9062000f58565b8015620006fc5780601f10620006d057610100808354040283529160200191620006fc565b820191906000526020600020905b815481529060010190602001808311620006de57829003601f168201915b5050505050620009b960201b62000e9c1760201c565b62000722620001cc60201b60201c565b600301819055503373ffffffffffffffffffffffffffffffffffffffff167f897a395aeb2699d9730b6377870654a5c371d6bb6dc4486cfc5c80eeafd095b086868686866040516200077995949392919062000dde565b60405180910390a25050505050565b606060008290506000600290505b607f8267ffffffffffffffff161115620007d25760078267ffffffffffffffff16901c9150600181620007ca919062000e77565b905062000796565b60008167ffffffffffffffff1667ffffffffffffffff811115620007fb57620007fa62001080565b5b6040519080825280601f01601f1916602001820160405280156200082e5781602001600182028036833780820191505090505b50905084925085816000815181106200084c576200084b62001051565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600190505b8267ffffffffffffffff168167ffffffffffffffff1610156200091f57607f841660801760f81b828267ffffffffffffffff1681518110620008c957620008c862001051565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060078467ffffffffffffffff16901c93508080620009169062000f8e565b91505062000882565b50607f60f81b8160018462000935919062000ebc565b67ffffffffffffffff168151811062000953576200095262001051565b5b6020010181815160f81c60f81b169150907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080935050505092915050565b6060620009b1838360ff166200078860201b60201c565b905092915050565b6000600282604051620009cd919062000cb7565b602060405180830381855afa158015620009eb573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019062000a10919062000ade565b9050919050565b82805462000a259062000f58565b90600052602060002090601f01602090048101928262000a49576000855562000a95565b82601f1062000a6457805160ff191683800117855562000a95565b8280016001018555821562000a95579182015b8281111562000a9457825182559160200191906001019062000a77565b5b50905062000aa4919062000aa8565b5090565b5b8082111562000ac357600081600090555060010162000aa9565b5090565b60008151905062000ad8816200123f565b92915050565b60006020828403121562000af75762000af6620010af565b5b600062000b078482850162000ac7565b91505092915050565b600062000b1d8262000e50565b62000b29818562000e5b565b935062000b3b81856020860162000f22565b80840191505092915050565b6000815462000b568162000f58565b62000b62818662000e5b565b9450600182166000811462000b80576001811462000b925762000bc9565b60ff1983168652818601935062000bc9565b62000b9d8562000e3b565b60005b8381101562000bc15781548189015260018201915060208101905062000ba0565b838801955050505b50505092915050565b600062000be1603d8362000e66565b915062000bee82620010b4565b604082019050919050565b600062000c0860258362000e66565b915062000c158262001103565b604082019050919050565b600062000c2f602f8362000e66565b915062000c3c8262001152565b604082019050919050565b600062000c56603c8362000e66565b915062000c6382620011a1565b604082019050919050565b600062000c7d603d8362000e66565b915062000c8a82620011f0565b604082019050919050565b62000ca08162000f01565b82525050565b62000cb18162000f15565b82525050565b600062000cc5828462000b10565b915081905092915050565b600062000cde828962000b47565b915062000cec828862000b10565b915062000cfa828762000b10565b915062000d08828662000b10565b915062000d16828562000b10565b915062000d24828462000b10565b9150819050979650505050505050565b6000602082019050818103600083015262000d4f8162000bd2565b9050919050565b6000602082019050818103600083015262000d718162000bf9565b9050919050565b6000602082019050818103600083015262000d938162000c20565b9050919050565b6000602082019050818103600083015262000db58162000c47565b9050919050565b6000602082019050818103600083015262000dd78162000c6e565b9050919050565b600060a08201905062000df5600083018862000ca6565b62000e04602083018762000ca6565b62000e13604083018662000c95565b62000e22606083018562000c95565b62000e31608083018462000c95565b9695505050505050565b60008190508160005260206000209050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600062000e848262000f01565b915062000e918362000f01565b92508267ffffffffffffffff0382111562000eb15762000eb062000ff3565b5b828201905092915050565b600062000ec98262000f01565b915062000ed68362000f01565b92508282101562000eec5762000eeb62000ff3565b5b828203905092915050565b6000819050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b60005b8381101562000f4257808201518184015260208101905062000f25565b8381111562000f52576000848401525b50505050565b6000600282049050600182168062000f7157607f821691505b6020821081141562000f885762000f8762001022565b5b50919050565b600062000f9b8262000f01565b915067ffffffffffffffff82141562000fb95762000fb862000ff3565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b7f5769746e6574526571756573744d616c6c6561626c65426173653a207769746e60008201527f657373696e6720636f6e73656e737573206f7574206f662072616e6765000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a206e6f207260008201527f6577617264000000000000000000000000000000000000000000000000000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a20616c726560008201527f61647920696e697469616c697a65640000000000000000000000000000000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a206e756d6260008201527f6572206f66207769746e6573736573206f7574206f662072616e676500000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a207769746e60008201527f657373696e6720636f6c6c61746572616c2062656c6f77203120574954000000602082015250565b6200124a8162000ef7565b81146200125657600080fd5b50565b60805160601c612a156200129b600039600081816106290152818161079101528181610f220152818161102a01528181611473015261157c0152612a156000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80638da5cb5b116100a2578063daaa360c11610071578063daaa360c14610287578063ef53d97a146102b7578063f0940002146102d5578063f2fde38b146102f3578063ff21c3ba1461030f57610116565b80638da5cb5b14610213578063a04daef014610231578063d196c2e31461024f578063d9b9a9611461026b57610116565b806352d1902d116100e957806352d1902d146101915780636f2ddd93146101af5780637104ddb2146101cd578063715018a6146101eb5780638a481dad146101f557610116565b806309bd5a601461011b57806309ed460714610139578063439fab911461015757806348f9b83114610173575b600080fd5b61012361032b565b6040516101309190612113565b60405180910390f35b61014161033e565b60405161014e9190612172565b60405180910390f35b610171600480360381019061016c9190611be5565b61042d565b005b61017b61046e565b60405161018891906122ad565b60405180910390f35b610199610561565b6040516101a69190612113565b60405180910390f35b6101b761058c565b6040516101c4919061212e565b60405180910390f35b6101d5610627565b6040516101e291906120dd565b60405180910390f35b6101f361064b565b005b6101fd6106d3565b60405161020a91906122c8565b60405180910390f35b61021b61075a565b60405161022891906120dd565b60405180910390f35b61023961078d565b60405161024691906120f8565b60405180910390f35b61026960048036038101906102649190611c9b565b6107e4565b005b61028560048036038101906102809190611c2e565b610903565b005b6102a1600480360381019061029c9190611b8b565b610a1c565b6040516102ae9190612172565b60405180910390f35b6102bf610b0e565b6040516102cc91906122c8565b60405180910390f35b6102dd610b66565b6040516102ea919061212e565b60405180910390f35b61030d60048036038101906103089190611b5e565b610c01565b005b61032960048036038101906103249190611c5b565b610cf9565b005b6000610335610ef5565b60030154905090565b6000610348610f1d565b90508073ffffffffffffffffffffffffffffffffffffffff1663439fab9161036e610ef5565b6001016040518263ffffffff1660e01b815260040161038d9190612150565b600060405180830381600087803b1580156103a757600080fd5b505af11580156103bb573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663f2fde38b336040518263ffffffff1660e01b81526004016103f891906120dd565b600060405180830381600087803b15801561041257600080fd5b505af1158015610426573d6000803e3d6000fd5b5050505090565b61046b6040518060400160405280601181526020017f0a0f120508021a01801a0210022202100b000000000000000000000000000000815250610e26565b50565b61047661198f565b61047e610ef5565b6004016040518060a00160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201600a9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016000820160129054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681525050905090565b60007f851d0a92a3ad30295bef33afc69d6874779826b7789386b336e22621365ed2c260001b905090565b6060610596610ef5565b60010180546105a49061258a565b80601f01602080910402602001604051908101604052809291908181526020018280546105d09061258a565b801561061d5780601f106105f25761010080835404028352916020019161061d565b820191906000526020600020905b81548152906001019060200180831161060057829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6106536110a6565b73ffffffffffffffffffffffffffffffffffffffff1661067161075a565b73ffffffffffffffffffffffffffffffffffffffff16146106c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106be9061224d565b60405180910390fd5b6106d160006110ae565b565b6000806106de610ef5565b600401905080600001600a9054906101000a900467ffffffffffffffff168160000160129054906101000a900467ffffffffffffffff1660026107219190612417565b61072b91906123d9565b8160000160009054906101000a900460ff1660ff1661074a9190612417565b67ffffffffffffffff1691505090565b6000610764610ef5565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415905090565b6107ec6110a6565b73ffffffffffffffffffffffffffffffffffffffff1661080a61075a565b73ffffffffffffffffffffffffffffffffffffffff1614610860576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108579061224d565b60405180910390fd5b600061086a610ef5565b6004019050828160000160006101000a81548160ff021916908360ff160217905550818160000160016101000a81548160ff021916908360ff1602179055506108fe83838360000160029054906101000a900467ffffffffffffffff1684600001600a9054906101000a900467ffffffffffffffff168560000160129054906101000a900467ffffffffffffffff16611186565b505050565b61090b6110a6565b73ffffffffffffffffffffffffffffffffffffffff1661092961075a565b73ffffffffffffffffffffffffffffffffffffffff161461097f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109769061224d565b60405180910390fd5b6000610989610ef5565b6004019050818160000160026101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550610a188160000160009054906101000a900460ff168260000160019054906101000a900460ff168484600001600a9054906101000a900467ffffffffffffffff168560000160129054906101000a900467ffffffffffffffff16611186565b5050565b6000610a278261146e565b90508073ffffffffffffffffffffffffffffffffffffffff1663439fab91610a4d610ef5565b6001016040518263ffffffff1660e01b8152600401610a6c9190612150565b600060405180830381600087803b158015610a8657600080fd5b505af1158015610a9a573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663f2fde38b336040518263ffffffff1660e01b8152600401610ad791906120dd565b600060405180830381600087803b158015610af157600080fd5b505af1158015610b05573d6000803e3d6000fd5b50505050919050565b600080610b19610ef5565b60040190508060000160029054906101000a900467ffffffffffffffff168160000160009054906101000a900460ff1660ff16610b569190612417565b67ffffffffffffffff1691505090565b6060610b70610ef5565b6002018054610b7e9061258a565b80601f0160208091040260200160405190810160405280929190818152602001828054610baa9061258a565b8015610bf75780601f10610bcc57610100808354040283529160200191610bf7565b820191906000526020600020905b815481529060010190602001808311610bda57829003601f168201915b5050505050905090565b610c096110a6565b73ffffffffffffffffffffffffffffffffffffffff16610c2761075a565b73ffffffffffffffffffffffffffffffffffffffff1614610c7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c749061224d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ced576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce49061218d565b60405180910390fd5b610cf6816110ae565b50565b610d016110a6565b73ffffffffffffffffffffffffffffffffffffffff16610d1f61075a565b73ffffffffffffffffffffffffffffffffffffffff1614610d75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6c9061224d565b60405180910390fd5b6000610d7f610ef5565b60040190508281600001600a6101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550818160000160126101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550610e218160000160009054906101000a900460ff168260000160019054906101000a900460ff168360000160029054906101000a900467ffffffffffffffff168686611186565b505050565b6000610e30610ef5565b6001018054610e3e9061258a565b905014610e80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e779061220d565b60405180910390fd5b610e89816115fa565b610e99610e946110a6565b6110ae565b50565b6000600282604051610eae919061206e565b602060405180830381855afa158015610ecb573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610eee9190611bb8565b9050919050565b60007f375930152e1d0d102998be6e496b0cee86c9ecd0efef01014ecff169b17dfba7905090565b6000807f000000000000000000000000000000000000000000000000000000000000000090506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160601b60148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f0925050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611011576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110089061228d565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff376596be5039d6b2fb36fead4c8a370eae426e790a869be8db074ab608cc24860405160405180910390a45090565b600033905090565b60006110b8610ef5565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816110e7610ef5565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008267ffffffffffffffff16116111d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ca906121cd565b60405180910390fd5b60018560ff16101580156111eb5750607f8560ff1611155b61122a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112219061222d565b60405180910390fd5b60338460ff1610158015611242575060638460ff1611155b611281576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611278906121ad565b60405180910390fd5b633b9aca008367ffffffffffffffff1610156112d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c99061226d565b60405180910390fd5b6112da610ef5565b6001016112eb601060f81b8461177d565b6112f9601860f81b88611978565b611307602060f81b8561177d565b611315602860f81b89611978565b611323603060f81b8961177d565b60405160200161133896959493929190612085565b60405160208183030381529060405261134f610ef5565b60020190805190602001906113659291906119e2565b50611402611371610ef5565b600201805461137f9061258a565b80601f01602080910402602001604051908101604052809291908181526020018280546113ab9061258a565b80156113f85780601f106113cd576101008083540402835291602001916113f8565b820191906000526020600020905b8154815290600101906020018083116113db57829003601f168201915b5050505050610e9c565b61140a610ef5565b600301819055503373ffffffffffffffffffffffffffffffffffffffff167f897a395aeb2699d9730b6377870654a5c371d6bb6dc4486cfc5c80eeafd095b0868686868660405161145f9594939291906122e3565b60405180910390a25050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000090506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160601b60148201527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006028820152836037826000f5925050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611563576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155a906121ed565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff376596be5039d6b2fb36fead4c8a370eae426e790a869be8db074ab608cc24860405160405180910390a450919050565b600081511161160c5761160b61261e565b5b80611615610ef5565b600101908051906020019061162b9291906119e2565b506000611636610ef5565b600401905060028160000160006101000a81548160ff021916908360ff16021790555060338160000160016101000a81548160ff021916908360ff160217905550633b9aca008160000160026101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506207a12081600001600a6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506203d0908160000160126101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506117798160000160009054906101000a900460ff168260000160019054906101000a900460ff168360000160029054906101000a900467ffffffffffffffff1684600001600a9054906101000a900467ffffffffffffffff168560000160129054906101000a900467ffffffffffffffff16611186565b5050565b606060008290506000600290505b607f8267ffffffffffffffff1611156117c35760078267ffffffffffffffff16901c91506001816117bc91906123d9565b905061178b565b60008167ffffffffffffffff1667ffffffffffffffff8111156117e9576117e86126da565b5b6040519080825280601f01601f19166020018201604052801561181b5781602001600182028036833780820191505090505b5090508492508581600081518110611836576118356126ab565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600190505b8267ffffffffffffffff168167ffffffffffffffff16101561190257607f841660801760f81b828267ffffffffffffffff16815181106118af576118ae6126ab565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060078467ffffffffffffffff16901c935080806118fa906125ed565b91505061186c565b50607f60f81b816001846119169190612459565b67ffffffffffffffff1681518110611931576119306126ab565b5b6020010181815160f81c60f81b169150907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080935050505092915050565b6060611987838360ff1661177d565b905092915050565b6040518060a00160405280600060ff168152602001600060ff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff1681525090565b8280546119ee9061258a565b90600052602060002090601f016020900481019282611a105760008555611a57565b82601f10611a2957805160ff1916838001178555611a57565b82800160010185558215611a57579182015b82811115611a56578251825591602001919060010190611a3b565b5b509050611a649190611a68565b5090565b5b80821115611a81576000816000905550600101611a69565b5090565b6000611a98611a938461235b565b612336565b905082815260208101848484011115611ab457611ab361270e565b5b611abf848285612548565b509392505050565b600081359050611ad681612983565b92915050565b600081359050611aeb8161299a565b92915050565b600081519050611b008161299a565b92915050565b600082601f830112611b1b57611b1a612709565b5b8135611b2b848260208601611a85565b91505092915050565b600081359050611b43816129b1565b92915050565b600081359050611b58816129c8565b92915050565b600060208284031215611b7457611b73612718565b5b6000611b8284828501611ac7565b91505092915050565b600060208284031215611ba157611ba0612718565b5b6000611baf84828501611adc565b91505092915050565b600060208284031215611bce57611bcd612718565b5b6000611bdc84828501611af1565b91505092915050565b600060208284031215611bfb57611bfa612718565b5b600082013567ffffffffffffffff811115611c1957611c18612713565b5b611c2584828501611b06565b91505092915050565b600060208284031215611c4457611c43612718565b5b6000611c5284828501611b34565b91505092915050565b60008060408385031215611c7257611c71612718565b5b6000611c8085828601611b34565b9250506020611c9185828601611b34565b9150509250929050565b60008060408385031215611cb257611cb1612718565b5b6000611cc085828601611b49565b9250506020611cd185828601611b49565b9150509250929050565b611ce48161248d565b82525050565b611cf38161249f565b82525050565b611d02816124ab565b82525050565b6000611d13826123a1565b611d1d81856123ac565b9350611d2d818560208601612557565b611d368161271d565b840191505092915050565b6000611d4c826123a1565b611d5681856123bd565b9350611d66818560208601612557565b80840191505092915050565b60008154611d7f8161258a565b611d8981866123ac565b94506001821660008114611da45760018114611db657611de9565b60ff1983168652602086019350611de9565b611dbf8561238c565b60005b83811015611de157815481890152600182019150602081019050611dc2565b808801955050505b50505092915050565b60008154611dff8161258a565b611e0981866123bd565b94506001821660008114611e245760018114611e3557611e68565b60ff19831686528186019350611e68565b611e3e8561238c565b60005b83811015611e6057815481890152600182019150602081019050611e41565b838801955050505b50505092915050565b611e7a81612512565b82525050565b6000611e8d6026836123c8565b9150611e988261272e565b604082019050919050565b6000611eb0603d836123c8565b9150611ebb8261277d565b604082019050919050565b6000611ed36025836123c8565b9150611ede826127cc565b604082019050919050565b6000611ef66018836123c8565b9150611f018261281b565b602082019050919050565b6000611f19602f836123c8565b9150611f2482612844565b604082019050919050565b6000611f3c603c836123c8565b9150611f4782612893565b604082019050919050565b6000611f5f6020836123c8565b9150611f6a826128e2565b602082019050919050565b6000611f82603d836123c8565b9150611f8d8261290b565b604082019050919050565b6000611fa56017836123c8565b9150611fb08261295a565b602082019050919050565b60a082016000820151611fd16000850182612050565b506020820151611fe46020850182612050565b506040820151611ff76040850182612032565b50606082015161200a6060850182612032565b50608082015161201d6080850182612032565b50505050565b61202c816124b5565b82525050565b61203b816124f1565b82525050565b61204a816124f1565b82525050565b61205981612505565b82525050565b61206881612505565b82525050565b600061207a8284611d41565b915081905092915050565b60006120918289611df2565b915061209d8288611d41565b91506120a98287611d41565b91506120b58286611d41565b91506120c18285611d41565b91506120cd8284611d41565b9150819050979650505050505050565b60006020820190506120f26000830184611cdb565b92915050565b600060208201905061210d6000830184611cea565b92915050565b60006020820190506121286000830184611cf9565b92915050565b600060208201905081810360008301526121488184611d08565b905092915050565b6000602082019050818103600083015261216a8184611d72565b905092915050565b60006020820190506121876000830184611e71565b92915050565b600060208201905081810360008301526121a681611e80565b9050919050565b600060208201905081810360008301526121c681611ea3565b9050919050565b600060208201905081810360008301526121e681611ec6565b9050919050565b6000602082019050818103600083015261220681611ee9565b9050919050565b6000602082019050818103600083015261222681611f0c565b9050919050565b6000602082019050818103600083015261224681611f2f565b9050919050565b6000602082019050818103600083015261226681611f52565b9050919050565b6000602082019050818103600083015261228681611f75565b9050919050565b600060208201905081810360008301526122a681611f98565b9050919050565b600060a0820190506122c26000830184611fbb565b92915050565b60006020820190506122dd6000830184612023565b92915050565b600060a0820190506122f8600083018861205f565b612305602083018761205f565b6123126040830186612041565b61231f6060830185612041565b61232c6080830184612041565b9695505050505050565b6000612340612351565b905061234c82826125bc565b919050565b6000604051905090565b600067ffffffffffffffff821115612376576123756126da565b5b61237f8261271d565b9050602081019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006123e4826124f1565b91506123ef836124f1565b92508267ffffffffffffffff0382111561240c5761240b61264d565b5b828201905092915050565b6000612422826124f1565b915061242d836124f1565b92508167ffffffffffffffff048311821515161561244e5761244d61264d565b5b828202905092915050565b6000612464826124f1565b915061246f836124f1565b9250828210156124825761248161264d565b5b828203905092915050565b6000612498826124d1565b9050919050565b60008115159050919050565b6000819050919050565b60006fffffffffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b600061251d82612524565b9050919050565b600061252f82612536565b9050919050565b6000612541826124d1565b9050919050565b82818337600083830152505050565b60005b8381101561257557808201518184015260208101905061255a565b83811115612584576000848401525b50505050565b600060028204905060018216806125a257607f821691505b602082108114156125b6576125b561267c565b5b50919050565b6125c58261271d565b810181811067ffffffffffffffff821117156125e4576125e36126da565b5b80604052505050565b60006125f8826124f1565b915067ffffffffffffffff8214156126135761261261264d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a207769746e60008201527f657373696e6720636f6e73656e737573206f7574206f662072616e6765000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a206e6f207260008201527f6577617264000000000000000000000000000000000000000000000000000000602082015250565b7f436c6f6e61626c653a2043524541544532206661696c65640000000000000000600082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a20616c726560008201527f61647920696e697469616c697a65640000000000000000000000000000000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a206e756d6260008201527f6572206f66207769746e6573736573206f7574206f662072616e676500000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a207769746e60008201527f657373696e6720636f6c6c61746572616c2062656c6f77203120574954000000602082015250565b7f436c6f6e61626c653a20435245415445206661696c6564000000000000000000600082015250565b61298c8161248d565b811461299757600080fd5b50565b6129a3816124ab565b81146129ae57600080fd5b50565b6129ba816124f1565b81146129c557600080fd5b50565b6129d181612505565b81146129dc57600080fd5b5056fea264697066735822122018d3be95fdcbd8bc6f0654dc2eb3dcdc04b923b60a7642bd2f454937f279d0f064736f6c63430008070033","opcodes":"PUSH1 0xC0 PUSH1 0x40 MSTORE ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xA0 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 SHL DUP2 MSTORE POP CALLVALUE DUP1 ISZERO PUSH3 0x47 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x63BF CODESIZE SUB DUP1 PUSH3 0x63BF DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x6D SWAP2 SWAP1 PUSH3 0x28F JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH3 0xF6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0xED SWAP1 PUSH3 0x32B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 SHL DUP2 MSTORE POP POP POP PUSH1 0x40 MLOAD PUSH3 0x13C SWAP1 PUSH3 0x253 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0x159 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF2FDE38B CALLER PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1F4 SWAP2 SWAP1 PUSH3 0x30E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH3 0x20F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH3 0x224 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP DUP2 PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x4 DUP2 SWAP1 SSTORE POP POP POP PUSH3 0x40B JUMP JUMPDEST PUSH2 0x3CB0 DUP1 PUSH3 0x270F DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x272 DUP2 PUSH3 0x3D7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x289 DUP2 PUSH3 0x3F1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x2A9 JUMPI PUSH3 0x2A8 PUSH3 0x3A9 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH3 0x2B9 DUP6 DUP3 DUP7 ADD PUSH3 0x278 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH3 0x2CC DUP6 DUP3 DUP7 ADD PUSH3 0x261 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH3 0x2E1 DUP2 PUSH3 0x35E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2F6 PUSH1 0x19 DUP4 PUSH3 0x34D JUMP JUMPDEST SWAP2 POP PUSH3 0x303 DUP3 PUSH3 0x3AE JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x325 PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x2D6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x346 DUP2 PUSH3 0x2E7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x36B DUP3 PUSH3 0x372 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x5573696E675769746E65743A207A65726F206164647265737300000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH3 0x3E2 DUP2 PUSH3 0x392 JUMP JUMPDEST DUP2 EQ PUSH3 0x3EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH3 0x3FC DUP2 PUSH3 0x39C JUMP JUMPDEST DUP2 EQ PUSH3 0x408 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0x60 SHR PUSH1 0xA0 MLOAD PUSH1 0x60 SHR PUSH2 0x22B5 PUSH3 0x45A PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x979 ADD MSTORE DUP2 DUP2 PUSH2 0x9F7 ADD MSTORE DUP2 DUP2 PUSH2 0xCFA ADD MSTORE DUP2 DUP2 PUSH2 0xE02 ADD MSTORE DUP2 DUP2 PUSH2 0x10A8 ADD MSTORE PUSH2 0x11B1 ADD MSTORE PUSH1 0x0 PUSH2 0x703 ADD MSTORE PUSH2 0x22B5 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x109 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9938FD0C GT PUSH2 0x95 JUMPI DUP1 PUSH4 0xA60EE268 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xA60EE268 EQ PUSH2 0x38B JUMPI DUP1 PUSH4 0xDAAA360C EQ PUSH2 0x3C8 JUMPI DUP1 PUSH4 0xE35329F8 EQ PUSH2 0x405 JUMPI DUP1 PUSH4 0xE7D4A016 EQ PUSH2 0x435 JUMPI DUP1 PUSH4 0xFB476CAD EQ PUSH2 0x472 JUMPI PUSH2 0x109 JUMP JUMPDEST DUP1 PUSH4 0x9938FD0C EQ PUSH2 0x2B8 JUMPI DUP1 PUSH4 0x9BC86FEC EQ PUSH2 0x2E3 JUMPI DUP1 PUSH4 0xA04DAEF0 EQ PUSH2 0x320 JUMPI DUP1 PUSH4 0xA3252F68 EQ PUSH2 0x34B JUMPI PUSH2 0x109 JUMP JUMPDEST DUP1 PUSH4 0x40B41DAA GT PUSH2 0xDC JUMPI DUP1 PUSH4 0x40B41DAA EQ PUSH2 0x1DE JUMPI DUP1 PUSH4 0x439FAB91 EQ PUSH2 0x21B JUMPI DUP1 PUSH4 0x46D1D21A EQ PUSH2 0x244 JUMPI DUP1 PUSH4 0x699B328A EQ PUSH2 0x26F JUMPI DUP1 PUSH4 0x7104DDB2 EQ PUSH2 0x28D JUMPI PUSH2 0x109 JUMP JUMPDEST DUP1 PUSH4 0x9ED4607 EQ PUSH2 0x10E JUMPI DUP1 PUSH4 0x24CBBFC1 EQ PUSH2 0x139 JUMPI DUP1 PUSH4 0x36B651BB EQ PUSH2 0x176 JUMPI DUP1 PUSH4 0x3B13E76E EQ PUSH2 0x1B3 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x123 PUSH2 0x4AF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x130 SWAP2 SWAP1 PUSH2 0x1959 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x145 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x160 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15B SWAP2 SWAP1 PUSH2 0x1679 JUMP JUMPDEST PUSH2 0x4C7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x16D SWAP2 SWAP1 PUSH2 0x1AAE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x182 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x19D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x198 SWAP2 SWAP1 PUSH2 0x15F9 JUMP JUMPDEST PUSH2 0x50D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AA SWAP2 SWAP1 PUSH2 0x1A6A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C8 PUSH2 0x55C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D5 SWAP2 SWAP1 PUSH2 0x198F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x205 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x200 SWAP2 SWAP1 PUSH2 0x15F9 JUMP JUMPDEST PUSH2 0x580 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x212 SWAP2 SWAP1 PUSH2 0x1A6A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x227 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x242 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x23D SWAP2 SWAP1 PUSH2 0x1583 JUMP JUMPDEST PUSH2 0x61C JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x250 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x259 PUSH2 0x701 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x266 SWAP2 SWAP1 PUSH2 0x1974 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x277 PUSH2 0x725 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x284 SWAP2 SWAP1 PUSH2 0x1A6A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x299 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2A2 PUSH2 0x977 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2AF SWAP2 SWAP1 PUSH2 0x184F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2CD PUSH2 0x99B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2DA SWAP2 SWAP1 PUSH2 0x1A6A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x30A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x305 SWAP2 SWAP1 PUSH2 0x15F9 JUMP JUMPDEST PUSH2 0x9A1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x317 SWAP2 SWAP1 PUSH2 0x18D8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x335 PUSH2 0x9F3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x342 SWAP2 SWAP1 PUSH2 0x18D8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x357 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x372 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x36D SWAP2 SWAP1 PUSH2 0x15F9 JUMP JUMPDEST PUSH2 0xA4A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x382 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1893 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x397 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3AD SWAP2 SWAP1 PUSH2 0x15F9 JUMP JUMPDEST PUSH2 0xAAB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3BF SWAP2 SWAP1 PUSH2 0x1A6A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3EA SWAP2 SWAP1 PUSH2 0x1529 JUMP JUMPDEST PUSH2 0xAB7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3FC SWAP2 SWAP1 PUSH2 0x1959 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x41F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x41A SWAP2 SWAP1 PUSH2 0x15F9 JUMP JUMPDEST PUSH2 0xAD2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x42C SWAP2 SWAP1 PUSH2 0x1A6A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x441 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x457 SWAP2 SWAP1 PUSH2 0x1626 JUMP JUMPDEST PUSH2 0xB2D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x469 SWAP2 SWAP1 PUSH2 0x1AAE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x47E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x499 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x494 SWAP2 SWAP1 PUSH2 0x15F9 JUMP JUMPDEST PUSH2 0xBB4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4A6 SWAP2 SWAP1 PUSH2 0x18F3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x4B9 PUSH2 0xCF5 JUMP JUMPDEST SWAP1 POP PUSH2 0x4C4 DUP2 PUSH2 0xE7E JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x504 DUP5 DUP5 CALLER PUSH2 0x4D8 DUP7 PUSH2 0xBB4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x4E9 SWAP3 SWAP2 SWAP1 PUSH2 0x186A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0xB2D JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 GT PUSH2 0x51F JUMPI PUSH2 0x51E PUSH2 0x1F90 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH1 0x1 SLOAD SWAP1 POP DUP1 DUP4 GT PUSH2 0x552 JUMPI PUSH2 0x54D DUP4 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x101C JUMP JUMPDEST PUSH2 0x554 JUMP JUMPDEST DUP1 JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x5FD JUMPI PUSH2 0x5F8 DUP3 PUSH1 0x1 SLOAD PUSH2 0x1054 JUMP JUMPDEST PUSH2 0x615 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD SLOAD JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x6AB JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6A2 SWAP1 PUSH2 0x19AA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x6BF SWAP2 SWAP1 PUSH2 0x14FC JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 NUMBER PUSH1 0x1 SLOAD LT ISZERO PUSH2 0x919 JUMPI PUSH1 0x4 SLOAD SWAP1 POP DUP1 CALLVALUE LT ISZERO PUSH2 0x779 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x770 SWAP1 PUSH2 0x1A0A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 DUP2 SLOAD PUSH2 0x78A SWAP1 PUSH2 0x1F47 JUMP JUMPDEST SWAP2 SWAP1 POP DUP2 SWAP1 SSTORE SWAP1 POP PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 NUMBER DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP CALLER DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x1 SLOAD SWAP1 POP DUP1 DUP3 PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP NUMBER PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP NUMBER PUSH1 0x1 DUP2 SWAP1 SSTORE POP DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xAF291BB4E1767569C77502EDB6AD1009E856F57C09F214886C6BECC9836C20C0 DUP6 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x9BD5A60 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 0x8C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x8DB 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 0x8FF SWAP2 SWAP1 PUSH2 0x1556 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x90D SWAP3 SWAP2 SWAP1 PUSH2 0x1A85 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMPDEST CALLVALUE DUP2 LT ISZERO PUSH2 0x974 JUMPI CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 CALLVALUE PUSH2 0x947 SWAP2 SWAP1 PUSH2 0x1D6D JUMP JUMPDEST SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x972 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMPDEST SWAP1 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x3 ADD SLOAD EQ ISZERO DUP1 ISZERO PUSH2 0x9EB JUMPI POP PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND DUP4 PUSH2 0x9E7 SWAP2 SWAP1 PUSH2 0x1B4C JUMP JUMPDEST NUMBER LT ISZERO JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x3 ADD SLOAD SWAP4 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP5 POP DUP1 PUSH1 0x1 ADD SLOAD SWAP3 POP DUP1 PUSH1 0x2 ADD SLOAD SWAP2 POP POP SWAP2 SWAP4 POP SWAP2 SWAP4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAC2 DUP3 PUSH2 0x10A3 JUMP JUMPDEST SWAP1 POP PUSH2 0xACD DUP2 PUSH2 0xE7E JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLVALUE GT ISZERO PUSH2 0xB24 JUMPI CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC CALLVALUE SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0xB22 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMPDEST PUSH1 0x0 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB39 DUP6 PUSH2 0x122F JUMP JUMPDEST PUSH1 0xFF PUSH2 0xB45 SWAP2 SWAP1 PUSH2 0x1DA1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x1 DUP3 PUSH1 0x2 PUSH2 0xB58 SWAP2 SWAP1 PUSH2 0x1BF5 JUMP JUMPDEST PUSH2 0xB62 SWAP2 SWAP1 PUSH2 0x1D6D JUMP JUMPDEST DUP5 DUP7 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB75 SWAP3 SWAP2 SWAP1 PUSH2 0x190E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x0 SHR AND SWAP1 POP DUP2 PUSH1 0xFF AND DUP7 PUSH4 0xFFFFFFFF AND DUP3 PUSH2 0xBA7 SWAP2 SWAP1 PUSH2 0x1D13 JUMP JUMPDEST SWAP1 SHR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xC2C JUMPI PUSH2 0xC29 DUP3 PUSH2 0x580 JUMP JUMPDEST SWAP2 POP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD SLOAD SWAP1 POP PUSH1 0x0 DUP2 EQ ISZERO PUSH2 0xC8B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC82 SWAP1 PUSH2 0x1A2A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND DUP4 PUSH2 0xCA9 SWAP2 SWAP1 PUSH2 0x1B4C JUMP JUMPDEST NUMBER LT ISZERO PUSH2 0xCEB JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCE2 SWAP1 PUSH2 0x19CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 BLOCKHASH SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 SWAP1 POP PUSH1 0x40 MLOAD PUSH32 0x3D602D80600A3D3981F3363D3D373D3D3D363D73000000000000000000000000 DUP2 MSTORE DUP2 PUSH1 0x60 SHL PUSH1 0x14 DUP3 ADD MSTORE PUSH32 0x5AF43D82803E903D91602B57FD5BF30000000000000000000000000000000000 PUSH1 0x28 DUP3 ADD MSTORE PUSH1 0x37 DUP2 PUSH1 0x0 CREATE SWAP3 POP POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xDE9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDE0 SWAP1 PUSH2 0x1A4A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF376596BE5039D6B2FB36FEAD4C8A370EAE426E790A869BE8DB074AB608CC248 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x9ED4607 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xEE9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xEFD 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 0xF21 SWAP2 SWAP1 PUSH2 0x15CC JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF2FDE38B CALLER PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF5C SWAP2 SWAP1 PUSH2 0x184F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xF76 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xF8A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x439FAB91 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xFBB SWAP2 SWAP1 PUSH2 0x184F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFE6 SWAP2 SWAP1 PUSH2 0x1937 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1000 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1014 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 GT PUSH2 0x104A JUMPI PUSH2 0x1045 DUP4 PUSH1 0x2 PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x101C JUMP JUMPDEST PUSH2 0x104C JUMP JUMPDEST DUP2 JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT ISZERO PUSH2 0x1083 JUMPI PUSH2 0x107E DUP4 PUSH1 0x2 PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x1054 JUMP JUMPDEST PUSH2 0x109B JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD SLOAD JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 SWAP1 POP PUSH1 0x40 MLOAD PUSH32 0x3D602D80600A3D3981F3363D3D373D3D3D363D73000000000000000000000000 DUP2 MSTORE DUP2 PUSH1 0x60 SHL PUSH1 0x14 DUP3 ADD MSTORE PUSH32 0x5AF43D82803E903D91602B57FD5BF30000000000000000000000000000000000 PUSH1 0x28 DUP3 ADD MSTORE DUP4 PUSH1 0x37 DUP3 PUSH1 0x0 CREATE2 SWAP3 POP POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1198 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x118F SWAP1 PUSH2 0x19EA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF376596BE5039D6B2FB36FEAD4C8A370EAE426E790A869BE8DB074AB608CC248 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 MLOAD DUP1 PUSH2 0x400 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x9 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xA PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xD PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x15 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1D PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xB PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xE PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x10 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x12 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x16 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x19 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1E PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x8 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xC PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x14 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1C PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xF PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x11 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x18 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x7 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x13 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1B PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x17 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1A PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1F PUSH1 0xFF AND DUP2 MSTORE POP SWAP1 POP PUSH1 0x1 DUP4 PUSH4 0xFFFFFFFF AND SWAP1 SHR DUP4 OR SWAP3 POP PUSH1 0x2 DUP4 PUSH4 0xFFFFFFFF AND SWAP1 SHR DUP4 OR SWAP3 POP PUSH1 0x4 DUP4 PUSH4 0xFFFFFFFF AND SWAP1 SHR DUP4 OR SWAP3 POP PUSH1 0x8 DUP4 PUSH4 0xFFFFFFFF AND SWAP1 SHR DUP4 OR SWAP3 POP PUSH1 0x10 DUP4 PUSH4 0xFFFFFFFF AND SWAP1 SHR DUP4 OR SWAP3 POP DUP1 PUSH1 0x1B PUSH4 0x7C4ACDD DUP6 PUSH4 0xFFFFFFFF AND PUSH2 0x13E2 SWAP2 SWAP1 PUSH2 0x1D13 JUMP JUMPDEST PUSH4 0xFFFFFFFF AND SWAP1 SHR PUSH4 0xFFFFFFFF AND PUSH1 0x20 DUP2 LT PUSH2 0x1401 JUMPI PUSH2 0x1400 PUSH2 0x1FEE JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD MLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1421 PUSH2 0x141C DUP5 PUSH2 0x1AEE JUMP JUMPDEST PUSH2 0x1AC9 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x143D JUMPI PUSH2 0x143C PUSH2 0x2051 JUMP JUMPDEST JUMPDEST PUSH2 0x1448 DUP5 DUP3 DUP6 PUSH2 0x1ED4 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x145F DUP2 PUSH2 0x220C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1474 DUP2 PUSH2 0x2223 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1489 DUP2 PUSH2 0x2223 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x14A4 JUMPI PUSH2 0x14A3 PUSH2 0x204C JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x14B4 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x140E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x14CC DUP2 PUSH2 0x223A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x14E1 DUP2 PUSH2 0x2251 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x14F6 DUP2 PUSH2 0x2268 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1512 JUMPI PUSH2 0x1511 PUSH2 0x205B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1520 DUP5 DUP3 DUP6 ADD PUSH2 0x1450 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x153F JUMPI PUSH2 0x153E PUSH2 0x205B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x154D DUP5 DUP3 DUP6 ADD PUSH2 0x1465 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x156C JUMPI PUSH2 0x156B PUSH2 0x205B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x157A DUP5 DUP3 DUP6 ADD PUSH2 0x147A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1599 JUMPI PUSH2 0x1598 PUSH2 0x205B JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x15B7 JUMPI PUSH2 0x15B6 PUSH2 0x2056 JUMP JUMPDEST JUMPDEST PUSH2 0x15C3 DUP5 DUP3 DUP6 ADD PUSH2 0x148F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x15E2 JUMPI PUSH2 0x15E1 PUSH2 0x205B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x15F0 DUP5 DUP3 DUP6 ADD PUSH2 0x14BD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x160F JUMPI PUSH2 0x160E PUSH2 0x205B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x161D DUP5 DUP3 DUP6 ADD PUSH2 0x14D2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x163F JUMPI PUSH2 0x163E PUSH2 0x205B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x164D DUP7 DUP3 DUP8 ADD PUSH2 0x14E7 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x165E DUP7 DUP3 DUP8 ADD PUSH2 0x14D2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x166F DUP7 DUP3 DUP8 ADD PUSH2 0x1465 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1692 JUMPI PUSH2 0x1691 PUSH2 0x205B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x16A0 DUP7 DUP3 DUP8 ADD PUSH2 0x14E7 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x16B1 DUP7 DUP3 DUP8 ADD PUSH2 0x14D2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x16C2 DUP7 DUP3 DUP8 ADD PUSH2 0x14D2 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x16D5 DUP2 PUSH2 0x1DD5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x16E4 DUP2 PUSH2 0x1DF9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x16F3 DUP2 PUSH2 0x1E05 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1704 DUP3 PUSH2 0x1B1F JUMP JUMPDEST PUSH2 0x170E DUP2 DUP6 PUSH2 0x1B2A JUMP JUMPDEST SWAP4 POP PUSH2 0x171E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1EE3 JUMP JUMPDEST PUSH2 0x1727 DUP2 PUSH2 0x2060 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x173B DUP2 PUSH2 0x1E68 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x174A DUP2 PUSH2 0x1E7A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1759 DUP2 PUSH2 0x1E8C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x176C PUSH1 0x25 DUP4 PUSH2 0x1B3B JUMP JUMPDEST SWAP2 POP PUSH2 0x1777 DUP3 PUSH2 0x207E JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x178F PUSH1 0x27 DUP4 PUSH2 0x1B3B JUMP JUMPDEST SWAP2 POP PUSH2 0x179A DUP3 PUSH2 0x20CD JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17B2 PUSH1 0x18 DUP4 PUSH2 0x1B3B JUMP JUMPDEST SWAP2 POP PUSH2 0x17BD DUP3 PUSH2 0x211C JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17D5 PUSH1 0x24 DUP4 PUSH2 0x1B3B JUMP JUMPDEST SWAP2 POP PUSH2 0x17E0 DUP3 PUSH2 0x2145 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17F8 PUSH1 0x24 DUP4 PUSH2 0x1B3B JUMP JUMPDEST SWAP2 POP PUSH2 0x1803 DUP3 PUSH2 0x2194 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x181B PUSH1 0x17 DUP4 PUSH2 0x1B3B JUMP JUMPDEST SWAP2 POP PUSH2 0x1826 DUP3 PUSH2 0x21E3 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x183A DUP2 PUSH2 0x1E41 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1849 DUP2 PUSH2 0x1E4B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1864 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x16CC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x187F PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x16CC JUMP JUMPDEST PUSH2 0x188C PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x16EA JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x18A8 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x16CC JUMP JUMPDEST PUSH2 0x18B5 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x1831 JUMP JUMPDEST PUSH2 0x18C2 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x1831 JUMP JUMPDEST PUSH2 0x18CF PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1831 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x18ED PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x16DB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1908 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x16EA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1923 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x16EA JUMP JUMPDEST PUSH2 0x1930 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1831 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1951 DUP2 DUP5 PUSH2 0x16F9 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x196E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1732 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1989 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1741 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x19A4 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1750 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x19C3 DUP2 PUSH2 0x175F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x19E3 DUP2 PUSH2 0x1782 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1A03 DUP2 PUSH2 0x17A5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1A23 DUP2 PUSH2 0x17C8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1A43 DUP2 PUSH2 0x17EB JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1A63 DUP2 PUSH2 0x180E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1A7F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1831 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1A9A PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1831 JUMP JUMPDEST PUSH2 0x1AA7 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x16EA JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1AC3 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1840 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1AD3 PUSH2 0x1AE4 JUMP JUMPDEST SWAP1 POP PUSH2 0x1ADF DUP3 DUP3 PUSH2 0x1F16 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1B09 JUMPI PUSH2 0x1B08 PUSH2 0x201D JUMP JUMPDEST JUMPDEST PUSH2 0x1B12 DUP3 PUSH2 0x2060 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B57 DUP3 PUSH2 0x1E41 JUMP JUMPDEST SWAP2 POP PUSH2 0x1B62 DUP4 PUSH2 0x1E41 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x1B97 JUMPI PUSH2 0x1B96 PUSH2 0x1FBF JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP2 POP DUP4 SWAP1 POP JUMPDEST PUSH1 0x1 DUP6 GT ISZERO PUSH2 0x1BEC JUMPI DUP1 DUP7 DIV DUP2 GT ISZERO PUSH2 0x1BC8 JUMPI PUSH2 0x1BC7 PUSH2 0x1FBF JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP6 AND ISZERO PUSH2 0x1BD7 JUMPI DUP1 DUP3 MUL SWAP2 POP JUMPDEST DUP1 DUP2 MUL SWAP1 POP PUSH2 0x1BE5 DUP6 PUSH2 0x2071 JUMP JUMPDEST SWAP5 POP PUSH2 0x1BAC JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C00 DUP3 PUSH2 0x1E41 JUMP JUMPDEST SWAP2 POP PUSH2 0x1C0B DUP4 PUSH2 0x1E5B JUMP JUMPDEST SWAP3 POP PUSH2 0x1C38 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 DUP5 PUSH2 0x1C40 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1C50 JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x1D0C JUMP JUMPDEST DUP2 PUSH2 0x1C5E JUMPI PUSH1 0x0 SWAP1 POP PUSH2 0x1D0C JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x1C74 JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x1C7E JUMPI PUSH2 0x1CAD JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x1D0C JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x1C90 JUMPI PUSH2 0x1C8F PUSH2 0x1FBF JUMP JUMPDEST JUMPDEST DUP4 PUSH1 0x2 EXP SWAP2 POP DUP5 DUP3 GT ISZERO PUSH2 0x1CA7 JUMPI PUSH2 0x1CA6 PUSH2 0x1FBF JUMP JUMPDEST JUMPDEST POP PUSH2 0x1D0C JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x1CE2 JUMPI DUP3 DUP3 EXP SWAP1 POP DUP4 DUP2 GT ISZERO PUSH2 0x1CDD JUMPI PUSH2 0x1CDC PUSH2 0x1FBF JUMP JUMPDEST JUMPDEST PUSH2 0x1D0C JUMP JUMPDEST PUSH2 0x1CEF DUP5 DUP5 DUP5 PUSH1 0x1 PUSH2 0x1BA2 JUMP JUMPDEST SWAP3 POP SWAP1 POP DUP2 DUP5 DIV DUP2 GT ISZERO PUSH2 0x1D06 JUMPI PUSH2 0x1D05 PUSH2 0x1FBF JUMP JUMPDEST JUMPDEST DUP2 DUP2 MUL SWAP1 POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D1E DUP3 PUSH2 0x1E41 JUMP JUMPDEST SWAP2 POP PUSH2 0x1D29 DUP4 PUSH2 0x1E41 JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x1D62 JUMPI PUSH2 0x1D61 PUSH2 0x1FBF JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D78 DUP3 PUSH2 0x1E41 JUMP JUMPDEST SWAP2 POP PUSH2 0x1D83 DUP4 PUSH2 0x1E41 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x1D96 JUMPI PUSH2 0x1D95 PUSH2 0x1FBF JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DAC DUP3 PUSH2 0x1E5B JUMP JUMPDEST SWAP2 POP PUSH2 0x1DB7 DUP4 PUSH2 0x1E5B JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x1DCA JUMPI PUSH2 0x1DC9 PUSH2 0x1FBF JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DE0 DUP3 PUSH2 0x1E21 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DF2 DUP3 PUSH2 0x1E21 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E1A DUP3 PUSH2 0x1DD5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E73 DUP3 PUSH2 0x1E9E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E85 DUP3 PUSH2 0x1EB0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E97 DUP3 PUSH2 0x1E9E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EA9 DUP3 PUSH2 0x1EC2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EBB DUP3 PUSH2 0x1EC2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1ECD DUP3 PUSH2 0x1E21 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1F01 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1EE6 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1F10 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x1F1F DUP3 PUSH2 0x2060 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1F3E JUMPI PUSH2 0x1F3D PUSH2 0x201D JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F52 DUP3 PUSH2 0x1E41 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x1F85 JUMPI PUSH2 0x1F84 PUSH2 0x1FBF JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 SHR SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x5769746E657452616E646F6D6E6573733A20616C726561647920696E69746961 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6C697A6564000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452616E646F6D6E6573734D6F636B3A2070656E64696E67207261 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6E646F6D697A6500000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436C6F6E61626C653A2043524541544532206661696C65640000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452616E646F6D6E6573734D6F636B3A2072657761726420746F6F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206C6F7700000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452616E646F6D6E6573734D6F636B3A206E6F742072616E646F6D PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x697A656400000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436C6F6E61626C653A20435245415445206661696C6564000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x2215 DUP2 PUSH2 0x1DE7 JUMP JUMPDEST DUP2 EQ PUSH2 0x2220 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x222C DUP2 PUSH2 0x1E05 JUMP JUMPDEST DUP2 EQ PUSH2 0x2237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2243 DUP2 PUSH2 0x1E0F JUMP JUMPDEST DUP2 EQ PUSH2 0x224E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x225A DUP2 PUSH2 0x1E41 JUMP JUMPDEST DUP2 EQ PUSH2 0x2265 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2271 DUP2 PUSH2 0x1E4B JUMP JUMPDEST DUP2 EQ PUSH2 0x227C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC4 EXTCODEHASH PUSH15 0x704BFD58FC565704A9130B6E8F4FD2 0x4F SWAP3 0xBA SWAP13 GAS CALLDATACOPY 0xC9 MSTORE 0xAF 0x2E 0xBF SSTORE SWAP7 BLOCKHASH PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 SHL DUP2 MSTORE POP CALLVALUE DUP1 ISZERO PUSH3 0x47 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x68 PUSH3 0x5C PUSH3 0x8E PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x96 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x88 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH3 0x17E PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x1259 JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH3 0xA8 PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH3 0xDF PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH3 0x1C9 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x11 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0xA0F120508021A01801A0210022202100B000000000000000000000000000000 DUP2 MSTORE POP PUSH3 0x1F4 PUSH1 0x20 SHL PUSH3 0xE26 OR PUSH1 0x20 SHR JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x375930152E1D0D102998BE6E496B0CEE86C9ECD0EFEF01014ECFF169B17DFBA7 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH3 0x206 PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x1 ADD DUP1 SLOAD PUSH3 0x216 SWAP1 PUSH3 0xF58 JUMP JUMPDEST SWAP1 POP EQ PUSH3 0x25B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x252 SWAP1 PUSH3 0xD78 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0x26C DUP2 PUSH3 0x28F PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x28C PUSH3 0x280 PUSH3 0x8E PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x96 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD GT PUSH3 0x2A4 JUMPI PUSH3 0x2A3 PUSH3 0xFC4 JUMP JUMPDEST JUMPDEST DUP1 PUSH3 0x2B5 PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x2CD SWAP3 SWAP2 SWAP1 PUSH3 0xA17 JUMP JUMPDEST POP PUSH1 0x0 PUSH3 0x2E0 PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP PUSH1 0x2 DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x33 DUP2 PUSH1 0x0 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH4 0x3B9ACA00 DUP2 PUSH1 0x0 ADD PUSH1 0x2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x7A120 DUP2 PUSH1 0x0 ADD PUSH1 0xA PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x3D090 DUP2 PUSH1 0x0 ADD PUSH1 0x12 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x42B DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP3 PUSH1 0x0 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP4 PUSH1 0x0 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0x0 ADD PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP6 PUSH1 0x0 ADD PUSH1 0x12 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH3 0x42F PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND GT PUSH3 0x47F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x476 SWAP1 PUSH3 0xD56 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP6 PUSH1 0xFF AND LT ISZERO DUP1 ISZERO PUSH3 0x498 JUMPI POP PUSH1 0x7F DUP6 PUSH1 0xFF AND GT ISZERO JUMPDEST PUSH3 0x4DA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x4D1 SWAP1 PUSH3 0xD9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x33 DUP5 PUSH1 0xFF AND LT ISZERO DUP1 ISZERO PUSH3 0x4F3 JUMPI POP PUSH1 0x63 DUP5 PUSH1 0xFF AND GT ISZERO JUMPDEST PUSH3 0x535 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x52C SWAP1 PUSH3 0xD34 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH4 0x3B9ACA00 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH3 0x589 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x580 SWAP1 PUSH3 0xDBC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0x599 PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x1 ADD PUSH3 0x5B2 PUSH1 0x10 PUSH1 0xF8 SHL DUP5 PUSH3 0x788 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x5C8 PUSH1 0x18 PUSH1 0xF8 SHL DUP9 PUSH3 0x99A PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x5DE PUSH1 0x20 PUSH1 0xF8 SHL DUP6 PUSH3 0x788 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x5F4 PUSH1 0x28 PUSH1 0xF8 SHL DUP10 PUSH3 0x99A PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x60A PUSH1 0x30 PUSH1 0xF8 SHL DUP10 PUSH3 0x788 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH3 0x621 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0xCD0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH3 0x640 PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x658 SWAP3 SWAP2 SWAP1 PUSH3 0xA17 JUMP JUMPDEST POP PUSH3 0x712 PUSH3 0x66D PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x2 ADD DUP1 SLOAD PUSH3 0x67D SWAP1 PUSH3 0xF58 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH3 0x6AB SWAP1 PUSH3 0xF58 JUMP JUMPDEST DUP1 ISZERO PUSH3 0x6FC JUMPI DUP1 PUSH1 0x1F LT PUSH3 0x6D0 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH3 0x6FC JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH3 0x6DE JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP PUSH3 0x9B9 PUSH1 0x20 SHL PUSH3 0xE9C OR PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x722 PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x897A395AEB2699D9730B6377870654A5C371D6BB6DC4486CFC5C80EEAFD095B0 DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH3 0x779 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0xDDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP3 SWAP1 POP PUSH1 0x0 PUSH1 0x2 SWAP1 POP JUMPDEST PUSH1 0x7F DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND GT ISZERO PUSH3 0x7D2 JUMPI PUSH1 0x7 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 SHR SWAP2 POP PUSH1 0x1 DUP2 PUSH3 0x7CA SWAP2 SWAP1 PUSH3 0xE77 JUMP JUMPDEST SWAP1 POP PUSH3 0x796 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x7FB JUMPI PUSH3 0x7FA PUSH3 0x1080 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH3 0x82E JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP DUP5 SWAP3 POP DUP6 DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH3 0x84C JUMPI PUSH3 0x84B PUSH3 0x1051 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x0 PUSH1 0x1 SWAP1 POP JUMPDEST DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH3 0x91F JUMPI PUSH1 0x7F DUP5 AND PUSH1 0x80 OR PUSH1 0xF8 SHL DUP3 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MLOAD DUP2 LT PUSH3 0x8C9 JUMPI PUSH3 0x8C8 PUSH3 0x1051 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x7 DUP5 PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 SHR SWAP4 POP DUP1 DUP1 PUSH3 0x916 SWAP1 PUSH3 0xF8E JUMP JUMPDEST SWAP2 POP POP PUSH3 0x882 JUMP JUMPDEST POP PUSH1 0x7F PUSH1 0xF8 SHL DUP2 PUSH1 0x1 DUP5 PUSH3 0x935 SWAP2 SWAP1 PUSH3 0xEBC JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MLOAD DUP2 LT PUSH3 0x953 JUMPI PUSH3 0x952 PUSH3 0x1051 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD DUP2 DUP2 MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL AND SWAP2 POP SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP1 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH3 0x9B1 DUP4 DUP4 PUSH1 0xFF AND PUSH3 0x788 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 PUSH1 0x40 MLOAD PUSH3 0x9CD SWAP2 SWAP1 PUSH3 0xCB7 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x9EB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST 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 PUSH3 0xA10 SWAP2 SWAP1 PUSH3 0xADE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0xA25 SWAP1 PUSH3 0xF58 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0xA49 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0xA95 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0xA64 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0xA95 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0xA95 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0xA94 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0xA77 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0xAA4 SWAP2 SWAP1 PUSH3 0xAA8 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0xAC3 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH3 0xAA9 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0xAD8 DUP2 PUSH3 0x123F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0xAF7 JUMPI PUSH3 0xAF6 PUSH3 0x10AF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH3 0xB07 DUP5 DUP3 DUP6 ADD PUSH3 0xAC7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xB1D DUP3 PUSH3 0xE50 JUMP JUMPDEST PUSH3 0xB29 DUP2 DUP6 PUSH3 0xE5B JUMP JUMPDEST SWAP4 POP PUSH3 0xB3B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH3 0xF22 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SLOAD PUSH3 0xB56 DUP2 PUSH3 0xF58 JUMP JUMPDEST PUSH3 0xB62 DUP2 DUP7 PUSH3 0xE5B JUMP JUMPDEST SWAP5 POP PUSH1 0x1 DUP3 AND PUSH1 0x0 DUP2 EQ PUSH3 0xB80 JUMPI PUSH1 0x1 DUP2 EQ PUSH3 0xB92 JUMPI PUSH3 0xBC9 JUMP JUMPDEST PUSH1 0xFF NOT DUP4 AND DUP7 MSTORE DUP2 DUP7 ADD SWAP4 POP PUSH3 0xBC9 JUMP JUMPDEST PUSH3 0xB9D DUP6 PUSH3 0xE3B JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0xBC1 JUMPI DUP2 SLOAD DUP2 DUP10 ADD MSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0xBA0 JUMP JUMPDEST DUP4 DUP9 ADD SWAP6 POP POP POP JUMPDEST POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xBE1 PUSH1 0x3D DUP4 PUSH3 0xE66 JUMP JUMPDEST SWAP2 POP PUSH3 0xBEE DUP3 PUSH3 0x10B4 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xC08 PUSH1 0x25 DUP4 PUSH3 0xE66 JUMP JUMPDEST SWAP2 POP PUSH3 0xC15 DUP3 PUSH3 0x1103 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xC2F PUSH1 0x2F DUP4 PUSH3 0xE66 JUMP JUMPDEST SWAP2 POP PUSH3 0xC3C DUP3 PUSH3 0x1152 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xC56 PUSH1 0x3C DUP4 PUSH3 0xE66 JUMP JUMPDEST SWAP2 POP PUSH3 0xC63 DUP3 PUSH3 0x11A1 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xC7D PUSH1 0x3D DUP4 PUSH3 0xE66 JUMP JUMPDEST SWAP2 POP PUSH3 0xC8A DUP3 PUSH3 0x11F0 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0xCA0 DUP2 PUSH3 0xF01 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH3 0xCB1 DUP2 PUSH3 0xF15 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xCC5 DUP3 DUP5 PUSH3 0xB10 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xCDE DUP3 DUP10 PUSH3 0xB47 JUMP JUMPDEST SWAP2 POP PUSH3 0xCEC DUP3 DUP9 PUSH3 0xB10 JUMP JUMPDEST SWAP2 POP PUSH3 0xCFA DUP3 DUP8 PUSH3 0xB10 JUMP JUMPDEST SWAP2 POP PUSH3 0xD08 DUP3 DUP7 PUSH3 0xB10 JUMP JUMPDEST SWAP2 POP PUSH3 0xD16 DUP3 DUP6 PUSH3 0xB10 JUMP JUMPDEST SWAP2 POP PUSH3 0xD24 DUP3 DUP5 PUSH3 0xB10 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xD4F DUP2 PUSH3 0xBD2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xD71 DUP2 PUSH3 0xBF9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xD93 DUP2 PUSH3 0xC20 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xDB5 DUP2 PUSH3 0xC47 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xDD7 DUP2 PUSH3 0xC6E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH3 0xDF5 PUSH1 0x0 DUP4 ADD DUP9 PUSH3 0xCA6 JUMP JUMPDEST PUSH3 0xE04 PUSH1 0x20 DUP4 ADD DUP8 PUSH3 0xCA6 JUMP JUMPDEST PUSH3 0xE13 PUSH1 0x40 DUP4 ADD DUP7 PUSH3 0xC95 JUMP JUMPDEST PUSH3 0xE22 PUSH1 0x60 DUP4 ADD DUP6 PUSH3 0xC95 JUMP JUMPDEST PUSH3 0xE31 PUSH1 0x80 DUP4 ADD DUP5 PUSH3 0xC95 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xE84 DUP3 PUSH3 0xF01 JUMP JUMPDEST SWAP2 POP PUSH3 0xE91 DUP4 PUSH3 0xF01 JUMP JUMPDEST SWAP3 POP DUP3 PUSH8 0xFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH3 0xEB1 JUMPI PUSH3 0xEB0 PUSH3 0xFF3 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xEC9 DUP3 PUSH3 0xF01 JUMP JUMPDEST SWAP2 POP PUSH3 0xED6 DUP4 PUSH3 0xF01 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH3 0xEEC JUMPI PUSH3 0xEEB PUSH3 0xFF3 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0xF42 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0xF25 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH3 0xF52 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0xF71 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0xF88 JUMPI PUSH3 0xF87 PUSH3 0x1022 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xF9B DUP3 PUSH3 0xF01 JUMP JUMPDEST SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH3 0xFB9 JUMPI PUSH3 0xFB8 PUSH3 0xFF3 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A207769746E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x657373696E6720636F6E73656E737573206F7574206F662072616E6765000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A206E6F2072 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6577617264000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A20616C7265 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x61647920696E697469616C697A65640000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A206E756D62 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6572206F66207769746E6573736573206F7574206F662072616E676500000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A207769746E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x657373696E6720636F6C6C61746572616C2062656C6F77203120574954000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH3 0x124A DUP2 PUSH3 0xEF7 JUMP JUMPDEST DUP2 EQ PUSH3 0x1256 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0x60 SHR PUSH2 0x2A15 PUSH3 0x129B PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x629 ADD MSTORE DUP2 DUP2 PUSH2 0x791 ADD MSTORE DUP2 DUP2 PUSH2 0xF22 ADD MSTORE DUP2 DUP2 PUSH2 0x102A ADD MSTORE DUP2 DUP2 PUSH2 0x1473 ADD MSTORE PUSH2 0x157C ADD MSTORE PUSH2 0x2A15 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x116 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0xA2 JUMPI DUP1 PUSH4 0xDAAA360C GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xDAAA360C EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0xEF53D97A EQ PUSH2 0x2B7 JUMPI DUP1 PUSH4 0xF0940002 EQ PUSH2 0x2D5 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x2F3 JUMPI DUP1 PUSH4 0xFF21C3BA EQ PUSH2 0x30F JUMPI PUSH2 0x116 JUMP JUMPDEST DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x213 JUMPI DUP1 PUSH4 0xA04DAEF0 EQ PUSH2 0x231 JUMPI DUP1 PUSH4 0xD196C2E3 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0xD9B9A961 EQ PUSH2 0x26B JUMPI PUSH2 0x116 JUMP JUMPDEST DUP1 PUSH4 0x52D1902D GT PUSH2 0xE9 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x191 JUMPI DUP1 PUSH4 0x6F2DDD93 EQ PUSH2 0x1AF JUMPI DUP1 PUSH4 0x7104DDB2 EQ PUSH2 0x1CD JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1EB JUMPI DUP1 PUSH4 0x8A481DAD EQ PUSH2 0x1F5 JUMPI PUSH2 0x116 JUMP JUMPDEST DUP1 PUSH4 0x9BD5A60 EQ PUSH2 0x11B JUMPI DUP1 PUSH4 0x9ED4607 EQ PUSH2 0x139 JUMPI DUP1 PUSH4 0x439FAB91 EQ PUSH2 0x157 JUMPI DUP1 PUSH4 0x48F9B831 EQ PUSH2 0x173 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x123 PUSH2 0x32B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x130 SWAP2 SWAP1 PUSH2 0x2113 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x141 PUSH2 0x33E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14E SWAP2 SWAP1 PUSH2 0x2172 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x171 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16C SWAP2 SWAP1 PUSH2 0x1BE5 JUMP JUMPDEST PUSH2 0x42D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x17B PUSH2 0x46E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x188 SWAP2 SWAP1 PUSH2 0x22AD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x199 PUSH2 0x561 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A6 SWAP2 SWAP1 PUSH2 0x2113 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B7 PUSH2 0x58C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C4 SWAP2 SWAP1 PUSH2 0x212E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1D5 PUSH2 0x627 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E2 SWAP2 SWAP1 PUSH2 0x20DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F3 PUSH2 0x64B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1FD PUSH2 0x6D3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x20A SWAP2 SWAP1 PUSH2 0x22C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x21B PUSH2 0x75A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x228 SWAP2 SWAP1 PUSH2 0x20DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x239 PUSH2 0x78D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x246 SWAP2 SWAP1 PUSH2 0x20F8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x269 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x264 SWAP2 SWAP1 PUSH2 0x1C9B JUMP JUMPDEST PUSH2 0x7E4 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x285 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x280 SWAP2 SWAP1 PUSH2 0x1C2E JUMP JUMPDEST PUSH2 0x903 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2A1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x29C SWAP2 SWAP1 PUSH2 0x1B8B JUMP JUMPDEST PUSH2 0xA1C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2AE SWAP2 SWAP1 PUSH2 0x2172 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2BF PUSH2 0xB0E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2CC SWAP2 SWAP1 PUSH2 0x22C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2DD PUSH2 0xB66 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2EA SWAP2 SWAP1 PUSH2 0x212E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x30D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x308 SWAP2 SWAP1 PUSH2 0x1B5E JUMP JUMPDEST PUSH2 0xC01 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x329 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x324 SWAP2 SWAP1 PUSH2 0x1C5B JUMP JUMPDEST PUSH2 0xCF9 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH2 0x335 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x348 PUSH2 0xF1D JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x439FAB91 PUSH2 0x36E PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x38D SWAP2 SWAP1 PUSH2 0x2150 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3BB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF2FDE38B CALLER PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3F8 SWAP2 SWAP1 PUSH2 0x20DD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x412 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x426 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP SWAP1 JUMP JUMPDEST PUSH2 0x46B PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x11 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0xA0F120508021A01801A0210022202100B000000000000000000000000000000 DUP2 MSTORE POP PUSH2 0xE26 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x476 PUSH2 0x198F JUMP JUMPDEST PUSH2 0x47E PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x12 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x851D0A92A3AD30295BEF33AFC69D6874779826B7789386B336E22621365ED2C2 PUSH1 0x0 SHL SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x596 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x5A4 SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x5D0 SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 ISZERO PUSH2 0x61D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5F2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x61D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x600 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH2 0x653 PUSH2 0x10A6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x671 PUSH2 0x75A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x6C7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6BE SWAP1 PUSH2 0x224D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x6D1 PUSH1 0x0 PUSH2 0x10AE JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6DE PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH1 0x0 ADD PUSH1 0x12 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x2 PUSH2 0x721 SWAP2 SWAP1 PUSH2 0x2417 JUMP JUMPDEST PUSH2 0x72B SWAP2 SWAP1 PUSH2 0x23D9 JUMP JUMPDEST DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH2 0x74A SWAP2 SWAP1 PUSH2 0x2417 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x764 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x7EC PUSH2 0x10A6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x80A PUSH2 0x75A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x860 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x857 SWAP1 PUSH2 0x224D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x86A PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP DUP3 DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x0 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x8FE DUP4 DUP4 DUP4 PUSH1 0x0 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0x0 ADD PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP6 PUSH1 0x0 ADD PUSH1 0x12 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x1186 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x90B PUSH2 0x10A6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x929 PUSH2 0x75A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x97F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x976 SWAP1 PUSH2 0x224D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x989 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP DUP2 DUP2 PUSH1 0x0 ADD PUSH1 0x2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0xA18 DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP3 PUSH1 0x0 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP5 DUP5 PUSH1 0x0 ADD PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP6 PUSH1 0x0 ADD PUSH1 0x12 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x1186 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA27 DUP3 PUSH2 0x146E JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x439FAB91 PUSH2 0xA4D PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA6C SWAP2 SWAP1 PUSH2 0x2150 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xA9A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF2FDE38B CALLER PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAD7 SWAP2 SWAP1 PUSH2 0x20DD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xAF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xB05 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB19 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH2 0xB56 SWAP2 SWAP1 PUSH2 0x2417 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0xB70 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0xB7E SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xBAA SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 ISZERO PUSH2 0xBF7 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xBCC JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xBF7 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xBDA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xC09 PUSH2 0x10A6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xC27 PUSH2 0x75A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xC7D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC74 SWAP1 PUSH2 0x224D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xCED JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCE4 SWAP1 PUSH2 0x218D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xCF6 DUP2 PUSH2 0x10AE JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0xD01 PUSH2 0x10A6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xD1F PUSH2 0x75A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xD75 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD6C SWAP1 PUSH2 0x224D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xD7F PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP DUP3 DUP2 PUSH1 0x0 ADD PUSH1 0xA PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x0 ADD PUSH1 0x12 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0xE21 DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP3 PUSH1 0x0 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP4 PUSH1 0x0 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP7 DUP7 PUSH2 0x1186 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE30 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0xE3E SWAP1 PUSH2 0x258A JUMP JUMPDEST SWAP1 POP EQ PUSH2 0xE80 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE77 SWAP1 PUSH2 0x220D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xE89 DUP2 PUSH2 0x15FA JUMP JUMPDEST PUSH2 0xE99 PUSH2 0xE94 PUSH2 0x10A6 JUMP JUMPDEST PUSH2 0x10AE JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 PUSH1 0x40 MLOAD PUSH2 0xEAE SWAP2 SWAP1 PUSH2 0x206E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xECB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST 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 0xEEE SWAP2 SWAP1 PUSH2 0x1BB8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x375930152E1D0D102998BE6E496B0CEE86C9ECD0EFEF01014ECFF169B17DFBA7 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 SWAP1 POP PUSH1 0x40 MLOAD PUSH32 0x3D602D80600A3D3981F3363D3D373D3D3D363D73000000000000000000000000 DUP2 MSTORE DUP2 PUSH1 0x60 SHL PUSH1 0x14 DUP3 ADD MSTORE PUSH32 0x5AF43D82803E903D91602B57FD5BF30000000000000000000000000000000000 PUSH1 0x28 DUP3 ADD MSTORE PUSH1 0x37 DUP2 PUSH1 0x0 CREATE SWAP3 POP POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1011 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1008 SWAP1 PUSH2 0x228D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF376596BE5039D6B2FB36FEAD4C8A370EAE426E790A869BE8DB074AB608CC248 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10B8 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH2 0x10E7 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND GT PUSH2 0x11D3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11CA SWAP1 PUSH2 0x21CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP6 PUSH1 0xFF AND LT ISZERO DUP1 ISZERO PUSH2 0x11EB JUMPI POP PUSH1 0x7F DUP6 PUSH1 0xFF AND GT ISZERO JUMPDEST PUSH2 0x122A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1221 SWAP1 PUSH2 0x222D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x33 DUP5 PUSH1 0xFF AND LT ISZERO DUP1 ISZERO PUSH2 0x1242 JUMPI POP PUSH1 0x63 DUP5 PUSH1 0xFF AND GT ISZERO JUMPDEST PUSH2 0x1281 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1278 SWAP1 PUSH2 0x21AD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH4 0x3B9ACA00 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x12D2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12C9 SWAP1 PUSH2 0x226D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x12DA PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD PUSH2 0x12EB PUSH1 0x10 PUSH1 0xF8 SHL DUP5 PUSH2 0x177D JUMP JUMPDEST PUSH2 0x12F9 PUSH1 0x18 PUSH1 0xF8 SHL DUP9 PUSH2 0x1978 JUMP JUMPDEST PUSH2 0x1307 PUSH1 0x20 PUSH1 0xF8 SHL DUP6 PUSH2 0x177D JUMP JUMPDEST PUSH2 0x1315 PUSH1 0x28 PUSH1 0xF8 SHL DUP10 PUSH2 0x1978 JUMP JUMPDEST PUSH2 0x1323 PUSH1 0x30 PUSH1 0xF8 SHL DUP10 PUSH2 0x177D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1338 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2085 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH2 0x134F PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x1365 SWAP3 SWAP2 SWAP1 PUSH2 0x19E2 JUMP JUMPDEST POP PUSH2 0x1402 PUSH2 0x1371 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x137F SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x13AB SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 ISZERO PUSH2 0x13F8 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x13CD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x13F8 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x13DB JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP PUSH2 0xE9C JUMP JUMPDEST PUSH2 0x140A PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x897A395AEB2699D9730B6377870654A5C371D6BB6DC4486CFC5C80EEAFD095B0 DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x145F SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x22E3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 SWAP1 POP PUSH1 0x40 MLOAD PUSH32 0x3D602D80600A3D3981F3363D3D373D3D3D363D73000000000000000000000000 DUP2 MSTORE DUP2 PUSH1 0x60 SHL PUSH1 0x14 DUP3 ADD MSTORE PUSH32 0x5AF43D82803E903D91602B57FD5BF30000000000000000000000000000000000 PUSH1 0x28 DUP3 ADD MSTORE DUP4 PUSH1 0x37 DUP3 PUSH1 0x0 CREATE2 SWAP3 POP POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1563 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x155A SWAP1 PUSH2 0x21ED JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF376596BE5039D6B2FB36FEAD4C8A370EAE426E790A869BE8DB074AB608CC248 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x160C JUMPI PUSH2 0x160B PUSH2 0x261E JUMP JUMPDEST JUMPDEST DUP1 PUSH2 0x1615 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x162B SWAP3 SWAP2 SWAP1 PUSH2 0x19E2 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x1636 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP PUSH1 0x2 DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x33 DUP2 PUSH1 0x0 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH4 0x3B9ACA00 DUP2 PUSH1 0x0 ADD PUSH1 0x2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x7A120 DUP2 PUSH1 0x0 ADD PUSH1 0xA PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x3D090 DUP2 PUSH1 0x0 ADD PUSH1 0x12 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x1779 DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP3 PUSH1 0x0 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP4 PUSH1 0x0 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0x0 ADD PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP6 PUSH1 0x0 ADD PUSH1 0x12 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x1186 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP3 SWAP1 POP PUSH1 0x0 PUSH1 0x2 SWAP1 POP JUMPDEST PUSH1 0x7F DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND GT ISZERO PUSH2 0x17C3 JUMPI PUSH1 0x7 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 SHR SWAP2 POP PUSH1 0x1 DUP2 PUSH2 0x17BC SWAP2 SWAP1 PUSH2 0x23D9 JUMP JUMPDEST SWAP1 POP PUSH2 0x178B JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x17E9 JUMPI PUSH2 0x17E8 PUSH2 0x26DA JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x181B JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP DUP5 SWAP3 POP DUP6 DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1836 JUMPI PUSH2 0x1835 PUSH2 0x26AB JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x0 PUSH1 0x1 SWAP1 POP JUMPDEST DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x1902 JUMPI PUSH1 0x7F DUP5 AND PUSH1 0x80 OR PUSH1 0xF8 SHL DUP3 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MLOAD DUP2 LT PUSH2 0x18AF JUMPI PUSH2 0x18AE PUSH2 0x26AB JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x7 DUP5 PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 SHR SWAP4 POP DUP1 DUP1 PUSH2 0x18FA SWAP1 PUSH2 0x25ED JUMP JUMPDEST SWAP2 POP POP PUSH2 0x186C JUMP JUMPDEST POP PUSH1 0x7F PUSH1 0xF8 SHL DUP2 PUSH1 0x1 DUP5 PUSH2 0x1916 SWAP2 SWAP1 PUSH2 0x2459 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MLOAD DUP2 LT PUSH2 0x1931 JUMPI PUSH2 0x1930 PUSH2 0x26AB JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD DUP2 DUP2 MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL AND SWAP2 POP SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP1 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1987 DUP4 DUP4 PUSH1 0xFF AND PUSH2 0x177D JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x19EE SWAP1 PUSH2 0x258A JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x1A10 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x1A57 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x1A29 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x1A57 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x1A57 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x1A56 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1A3B JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x1A64 SWAP2 SWAP1 PUSH2 0x1A68 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x1A81 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x1A69 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A98 PUSH2 0x1A93 DUP5 PUSH2 0x235B JUMP JUMPDEST PUSH2 0x2336 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1AB4 JUMPI PUSH2 0x1AB3 PUSH2 0x270E JUMP JUMPDEST JUMPDEST PUSH2 0x1ABF DUP5 DUP3 DUP6 PUSH2 0x2548 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1AD6 DUP2 PUSH2 0x2983 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1AEB DUP2 PUSH2 0x299A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1B00 DUP2 PUSH2 0x299A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1B1B JUMPI PUSH2 0x1B1A PUSH2 0x2709 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1B2B DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1A85 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1B43 DUP2 PUSH2 0x29B1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1B58 DUP2 PUSH2 0x29C8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1B74 JUMPI PUSH2 0x1B73 PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1B82 DUP5 DUP3 DUP6 ADD PUSH2 0x1AC7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1BA1 JUMPI PUSH2 0x1BA0 PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1BAF DUP5 DUP3 DUP6 ADD PUSH2 0x1ADC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1BCE JUMPI PUSH2 0x1BCD PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1BDC DUP5 DUP3 DUP6 ADD PUSH2 0x1AF1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1BFB JUMPI PUSH2 0x1BFA PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1C19 JUMPI PUSH2 0x1C18 PUSH2 0x2713 JUMP JUMPDEST JUMPDEST PUSH2 0x1C25 DUP5 DUP3 DUP6 ADD PUSH2 0x1B06 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1C44 JUMPI PUSH2 0x1C43 PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1C52 DUP5 DUP3 DUP6 ADD PUSH2 0x1B34 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1C72 JUMPI PUSH2 0x1C71 PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1C80 DUP6 DUP3 DUP7 ADD PUSH2 0x1B34 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1C91 DUP6 DUP3 DUP7 ADD PUSH2 0x1B34 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CB2 JUMPI PUSH2 0x1CB1 PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1CC0 DUP6 DUP3 DUP7 ADD PUSH2 0x1B49 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1CD1 DUP6 DUP3 DUP7 ADD PUSH2 0x1B49 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x1CE4 DUP2 PUSH2 0x248D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1CF3 DUP2 PUSH2 0x249F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1D02 DUP2 PUSH2 0x24AB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D13 DUP3 PUSH2 0x23A1 JUMP JUMPDEST PUSH2 0x1D1D DUP2 DUP6 PUSH2 0x23AC JUMP JUMPDEST SWAP4 POP PUSH2 0x1D2D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2557 JUMP JUMPDEST PUSH2 0x1D36 DUP2 PUSH2 0x271D JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D4C DUP3 PUSH2 0x23A1 JUMP JUMPDEST PUSH2 0x1D56 DUP2 DUP6 PUSH2 0x23BD JUMP JUMPDEST SWAP4 POP PUSH2 0x1D66 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2557 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SLOAD PUSH2 0x1D7F DUP2 PUSH2 0x258A JUMP JUMPDEST PUSH2 0x1D89 DUP2 DUP7 PUSH2 0x23AC JUMP JUMPDEST SWAP5 POP PUSH1 0x1 DUP3 AND PUSH1 0x0 DUP2 EQ PUSH2 0x1DA4 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x1DB6 JUMPI PUSH2 0x1DE9 JUMP JUMPDEST PUSH1 0xFF NOT DUP4 AND DUP7 MSTORE PUSH1 0x20 DUP7 ADD SWAP4 POP PUSH2 0x1DE9 JUMP JUMPDEST PUSH2 0x1DBF DUP6 PUSH2 0x238C JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1DE1 JUMPI DUP2 SLOAD DUP2 DUP10 ADD MSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1DC2 JUMP JUMPDEST DUP1 DUP9 ADD SWAP6 POP POP POP JUMPDEST POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SLOAD PUSH2 0x1DFF DUP2 PUSH2 0x258A JUMP JUMPDEST PUSH2 0x1E09 DUP2 DUP7 PUSH2 0x23BD JUMP JUMPDEST SWAP5 POP PUSH1 0x1 DUP3 AND PUSH1 0x0 DUP2 EQ PUSH2 0x1E24 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x1E35 JUMPI PUSH2 0x1E68 JUMP JUMPDEST PUSH1 0xFF NOT DUP4 AND DUP7 MSTORE DUP2 DUP7 ADD SWAP4 POP PUSH2 0x1E68 JUMP JUMPDEST PUSH2 0x1E3E DUP6 PUSH2 0x238C JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1E60 JUMPI DUP2 SLOAD DUP2 DUP10 ADD MSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1E41 JUMP JUMPDEST DUP4 DUP9 ADD SWAP6 POP POP POP JUMPDEST POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1E7A DUP2 PUSH2 0x2512 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E8D PUSH1 0x26 DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1E98 DUP3 PUSH2 0x272E JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EB0 PUSH1 0x3D DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1EBB DUP3 PUSH2 0x277D JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1ED3 PUSH1 0x25 DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1EDE DUP3 PUSH2 0x27CC JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EF6 PUSH1 0x18 DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F01 DUP3 PUSH2 0x281B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F19 PUSH1 0x2F DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F24 DUP3 PUSH2 0x2844 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F3C PUSH1 0x3C DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F47 DUP3 PUSH2 0x2893 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F5F PUSH1 0x20 DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F6A DUP3 PUSH2 0x28E2 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F82 PUSH1 0x3D DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F8D DUP3 PUSH2 0x290B JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FA5 PUSH1 0x17 DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1FB0 DUP3 PUSH2 0x295A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0x1FD1 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x2050 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0x1FE4 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x2050 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0x1FF7 PUSH1 0x40 DUP6 ADD DUP3 PUSH2 0x2032 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD PUSH2 0x200A PUSH1 0x60 DUP6 ADD DUP3 PUSH2 0x2032 JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD PUSH2 0x201D PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x2032 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x202C DUP2 PUSH2 0x24B5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x203B DUP2 PUSH2 0x24F1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x204A DUP2 PUSH2 0x24F1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2059 DUP2 PUSH2 0x2505 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2068 DUP2 PUSH2 0x2505 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x207A DUP3 DUP5 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2091 DUP3 DUP10 PUSH2 0x1DF2 JUMP JUMPDEST SWAP2 POP PUSH2 0x209D DUP3 DUP9 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP PUSH2 0x20A9 DUP3 DUP8 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP PUSH2 0x20B5 DUP3 DUP7 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP PUSH2 0x20C1 DUP3 DUP6 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP PUSH2 0x20CD DUP3 DUP5 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x20F2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1CDB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x210D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1CEA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2128 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1CF9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2148 DUP2 DUP5 PUSH2 0x1D08 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x216A DUP2 DUP5 PUSH2 0x1D72 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2187 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1E71 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x21A6 DUP2 PUSH2 0x1E80 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x21C6 DUP2 PUSH2 0x1EA3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x21E6 DUP2 PUSH2 0x1EC6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2206 DUP2 PUSH2 0x1EE9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2226 DUP2 PUSH2 0x1F0C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2246 DUP2 PUSH2 0x1F2F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2266 DUP2 PUSH2 0x1F52 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2286 DUP2 PUSH2 0x1F75 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x22A6 DUP2 PUSH2 0x1F98 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x22C2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1FBB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x22DD PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2023 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x22F8 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x205F JUMP JUMPDEST PUSH2 0x2305 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x205F JUMP JUMPDEST PUSH2 0x2312 PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x2041 JUMP JUMPDEST PUSH2 0x231F PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x2041 JUMP JUMPDEST PUSH2 0x232C PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x2041 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2340 PUSH2 0x2351 JUMP JUMPDEST SWAP1 POP PUSH2 0x234C DUP3 DUP3 PUSH2 0x25BC JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x2376 JUMPI PUSH2 0x2375 PUSH2 0x26DA JUMP JUMPDEST JUMPDEST PUSH2 0x237F DUP3 PUSH2 0x271D JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23E4 DUP3 PUSH2 0x24F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x23EF DUP4 PUSH2 0x24F1 JUMP JUMPDEST SWAP3 POP DUP3 PUSH8 0xFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x240C JUMPI PUSH2 0x240B PUSH2 0x264D JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2422 DUP3 PUSH2 0x24F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x242D DUP4 PUSH2 0x24F1 JUMP JUMPDEST SWAP3 POP DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x244E JUMPI PUSH2 0x244D PUSH2 0x264D JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2464 DUP3 PUSH2 0x24F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x246F DUP4 PUSH2 0x24F1 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x2482 JUMPI PUSH2 0x2481 PUSH2 0x264D JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2498 DUP3 PUSH2 0x24D1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH16 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x251D DUP3 PUSH2 0x2524 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x252F DUP3 PUSH2 0x2536 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2541 DUP3 PUSH2 0x24D1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2575 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x255A JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x2584 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x25A2 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x25B6 JUMPI PUSH2 0x25B5 PUSH2 0x267C JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x25C5 DUP3 PUSH2 0x271D JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x25E4 JUMPI PUSH2 0x25E3 PUSH2 0x26DA JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x25F8 DUP3 PUSH2 0x24F1 JUMP JUMPDEST SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x2613 JUMPI PUSH2 0x2612 PUSH2 0x264D JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A207769746E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x657373696E6720636F6E73656E737573206F7574206F662072616E6765000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A206E6F2072 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6577617264000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436C6F6E61626C653A2043524541544532206661696C65640000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A20616C7265 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x61647920696E697469616C697A65640000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A206E756D62 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6572206F66207769746E6573736573206F7574206F662072616E676500000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A207769746E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x657373696E6720636F6C6C61746572616C2062656C6F77203120574954000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436C6F6E61626C653A20435245415445206661696C6564000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x298C DUP2 PUSH2 0x248D JUMP JUMPDEST DUP2 EQ PUSH2 0x2997 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x29A3 DUP2 PUSH2 0x24AB JUMP JUMPDEST DUP2 EQ PUSH2 0x29AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x29BA DUP2 PUSH2 0x24F1 JUMP JUMPDEST DUP2 EQ PUSH2 0x29C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x29D1 DUP2 PUSH2 0x2505 JUMP JUMPDEST DUP2 EQ PUSH2 0x29DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 XOR 0xD3 0xBE SWAP6 REVERT 0xCB 0xD8 0xBC PUSH16 0x654DC2EB3DCDC04B923B60A7642BD2F GASLIMIT 0x49 CALLDATACOPY CALLCODE PUSH26 0xD0F064736F6C6343000807003300000000000000000000000000 ","sourceMap":"509:6192:54:-:0;;;350:4:55;310:45;;;;;;;;;;;1013:334:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1174:42;1001:4:31;620:1:29;595:27;;603:4;595:27;;;;587:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;671:4;662:13;;;;;;;;;;;;536:146;1047:29:31::1;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;1021:23;::::0;:55:::1;;;;;;;;;;;;;;;;;;1086:23;::::0;::::1;;;;;;;;:41;;;1128:10;1086:53;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;944:202:::0;1265:27:54::1;1234:28;;:58;;;;;;;;;;;;;;;;;;1323:17;1302:18;:38;;;;1013:334:::0;;509:6192;;;;;;;;;;:::o;7:143:67:-;64:5;95:6;89:13;80:22;;111:33;138:5;111:33;:::i;:::-;7:143;;;;:::o;156:139::-;211:5;242:6;236:13;227:22;;258:31;283:5;258:31;:::i;:::-;156:139;;;;:::o;301:503::-;378:6;386;435:2;423:9;414:7;410:23;406:32;403:119;;;441:79;;:::i;:::-;403:119;561:1;586:62;640:7;631:6;620:9;616:22;586:62;:::i;:::-;576:72;;532:126;697:2;723:64;779:7;770:6;759:9;755:22;723:64;:::i;:::-;713:74;;668:129;301:503;;;;;:::o;810:118::-;897:24;915:5;897:24;:::i;:::-;892:3;885:37;810:118;;:::o;934:366::-;1076:3;1097:67;1161:2;1156:3;1097:67;:::i;:::-;1090:74;;1173:93;1262:3;1173:93;:::i;:::-;1291:2;1286:3;1282:12;1275:19;;934:366;;;:::o;1306:222::-;1399:4;1437:2;1426:9;1422:18;1414:26;;1450:71;1518:1;1507:9;1503:17;1494:6;1450:71;:::i;:::-;1306:222;;;;:::o;1534:419::-;1700:4;1738:2;1727:9;1723:18;1715:26;;1787:9;1781:4;1777:20;1773:1;1762:9;1758:17;1751:47;1815:131;1941:4;1815:131;:::i;:::-;1807:139;;1534:419;;;:::o;2040:169::-;2124:11;2158:6;2153:3;2146:19;2198:4;2193:3;2189:14;2174:29;;2040:169;;;;:::o;2215:96::-;2252:7;2281:24;2299:5;2281:24;:::i;:::-;2270:35;;2215:96;;;:::o;2317:126::-;2354:7;2394:42;2387:5;2383:54;2372:65;;2317:126;;;:::o;2449:77::-;2486:7;2515:5;2504:16;;2449:77;;;:::o;2532:86::-;2567:7;2607:4;2600:5;2596:16;2585:27;;2532:86;;;:::o;2747:117::-;2856:1;2853;2846:12;2870:175;3010:27;3006:1;2998:6;2994:14;2987:51;2870:175;:::o;3051:122::-;3124:24;3142:5;3124:24;:::i;:::-;3117:5;3114:35;3104:63;;3163:1;3160;3153:12;3104:63;3051:122;:::o;3179:118::-;3250:22;3266:5;3250:22;:::i;:::-;3243:5;3240:33;3230:61;;3287:1;3284;3277:12;3230:61;3179:118;:::o;509:6192:54:-;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_clone_4803":{"entryPoint":3710,"id":4803,"parameterSlots":1,"returnSlots":0},"@_msbDeBruijn32_4896":{"entryPoint":4655,"id":4896,"parameterSlots":1,"returnSlots":1},"@_searchNextBlock_4925":{"entryPoint":4180,"id":4925,"parameterSlots":2,"returnSlots":1},"@_searchPrevBlock_4951":{"entryPoint":4124,"id":4951,"parameterSlots":2,"returnSlots":1},"@cloneDeterministic_11628":{"entryPoint":4259,"id":11628,"parameterSlots":1,"returnSlots":1},"@cloneDeterministic_4736":{"entryPoint":2743,"id":4736,"parameterSlots":1,"returnSlots":1},"@clone_11591":{"entryPoint":3317,"id":11591,"parameterSlots":0,"returnSlots":1},"@clone_4714":{"entryPoint":1199,"id":4714,"parameterSlots":0,"returnSlots":1},"@cloned_11556":{"entryPoint":2547,"id":11556,"parameterSlots":0,"returnSlots":1},"@estimateRandomizeFee_11259":{"entryPoint":2731,"id":11259,"parameterSlots":1,"returnSlots":1},"@getRandomizeData_11302":{"entryPoint":2634,"id":11302,"parameterSlots":1,"returnSlots":4},"@getRandomnessAfter_11357":{"entryPoint":2996,"id":11357,"parameterSlots":1,"returnSlots":1},"@getRandomnessNextBlock_4395":{"entryPoint":1408,"id":4395,"parameterSlots":1,"returnSlots":1},"@getRandomnessPrevBlock_4430":{"entryPoint":1293,"id":4430,"parameterSlots":1,"returnSlots":1},"@initialize_4769":{"entryPoint":1564,"id":4769,"parameterSlots":1,"returnSlots":0},"@isRandomized_11387":{"entryPoint":2465,"id":11387,"parameterSlots":1,"returnSlots":1},"@latestRandomizeBlock_4181":{"entryPoint":2459,"id":4181,"parameterSlots":0,"returnSlots":0},"@random_4487":{"entryPoint":1223,"id":4487,"parameterSlots":3,"returnSlots":1},"@random_4544":{"entryPoint":2861,"id":4544,"parameterSlots":3,"returnSlots":1},"@randomize_11490":{"entryPoint":1829,"id":11490,"parameterSlots":0,"returnSlots":1},"@self_11531":{"entryPoint":2423,"id":11531,"parameterSlots":0,"returnSlots":0},"@upgradeRandomizeFee_11518":{"entryPoint":2770,"id":11518,"parameterSlots":1,"returnSlots":1},"@witnetRandomnessRequest_4178":{"entryPoint":1372,"id":4178,"parameterSlots":0,"returnSlots":0},"@witnet_3938":{"entryPoint":1793,"id":3938,"parameterSlots":0,"returnSlots":0},"abi_decode_available_length_t_bytes_memory_ptr":{"entryPoint":5134,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_address_payable_fromMemory":{"entryPoint":5200,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32":{"entryPoint":5221,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32_fromMemory":{"entryPoint":5242,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes_memory_ptr":{"entryPoint":5263,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_contract$_Clonable_$11629_fromMemory":{"entryPoint":5309,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":5330,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint32":{"entryPoint":5351,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_payable_fromMemory":{"entryPoint":5372,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32":{"entryPoint":5417,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":5462,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes_memory_ptr":{"entryPoint":5507,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_Clonable_$11629_fromMemory":{"entryPoint":5580,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":5625,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint32t_uint256t_bytes32":{"entryPoint":5670,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_uint32t_uint256t_uint256":{"entryPoint":5753,"id":null,"parameterSlots":2,"returnSlots":3},"abi_encode_t_address_to_t_address_fromStack":{"entryPoint":5836,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bool_to_t_bool_fromStack":{"entryPoint":5851,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes32_to_t_bytes32_fromStack":{"entryPoint":5866,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack":{"entryPoint":5881,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_contract$_Clonable_$11629_to_t_address_fromStack":{"entryPoint":5938,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_contract$_WitnetRequestBoard_$4162_to_t_address_payable_fromStack":{"entryPoint":5953,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_contract$_WitnetRequestRandomness_$12753_to_t_address_fromStack":{"entryPoint":5968,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_stringliteral_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c_to_t_string_memory_ptr_fromStack":{"entryPoint":5983,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_5deec3b7674efa4143e47ae07c41ec89edefa27737b7dda5e9c508b304376e18_to_t_string_memory_ptr_fromStack":{"entryPoint":6018,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf_to_t_string_memory_ptr_fromStack":{"entryPoint":6053,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_97ea46a021217f19ea885ad2c0a0acbc990fcf1a215843f01e514975240412d1_to_t_string_memory_ptr_fromStack":{"entryPoint":6088,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_dab070d3b10f889718e0289cd93aedef962a048e98d90e7f3d37a0e511d23892_to_t_string_memory_ptr_fromStack":{"entryPoint":6123,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e_to_t_string_memory_ptr_fromStack":{"entryPoint":6158,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":6193,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint32_to_t_uint32_fromStack":{"entryPoint":6208,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":6223,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed":{"entryPoint":6250,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":6291,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":6360,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":6387,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed":{"entryPoint":6414,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":6455,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_Clonable_$11629__to_t_address__fromStack_reversed":{"entryPoint":6489,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_WitnetRequestBoard_$4162__to_t_address_payable__fromStack_reversed":{"entryPoint":6516,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_WitnetRequestRandomness_$12753__to_t_address__fromStack_reversed":{"entryPoint":6543,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":6570,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_5deec3b7674efa4143e47ae07c41ec89edefa27737b7dda5e9c508b304376e18__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":6602,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":6634,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_97ea46a021217f19ea885ad2c0a0acbc990fcf1a215843f01e514975240412d1__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":6666,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_dab070d3b10f889718e0289cd93aedef962a048e98d90e7f3d37a0e511d23892__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":6698,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":6730,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":6762,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_bytes32__to_t_uint256_t_bytes32__fromStack_reversed":{"entryPoint":6789,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint32__to_t_uint32__fromStack_reversed":{"entryPoint":6830,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":6857,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":6884,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_bytes_memory_ptr":{"entryPoint":6894,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_bytes_memory_ptr":{"entryPoint":6943,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack":{"entryPoint":6954,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_fromStack":{"entryPoint":6971,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":6988,"id":null,"parameterSlots":2,"returnSlots":1},"checked_exp_helper":{"entryPoint":7074,"id":null,"parameterSlots":4,"returnSlots":2},"checked_exp_t_uint256_t_uint8":{"entryPoint":7157,"id":null,"parameterSlots":2,"returnSlots":1},"checked_exp_unsigned":{"entryPoint":7232,"id":null,"parameterSlots":3,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":7443,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":7533,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint8":{"entryPoint":7585,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_address":{"entryPoint":7637,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_address_payable":{"entryPoint":7655,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bool":{"entryPoint":7673,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":7685,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_contract$_Clonable_$11629":{"entryPoint":7695,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":7713,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":7745,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint32":{"entryPoint":7755,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint8":{"entryPoint":7771,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_contract$_Clonable_$11629_to_t_address":{"entryPoint":7784,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_contract$_WitnetRequestBoard_$4162_to_t_address_payable":{"entryPoint":7802,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_contract$_WitnetRequestRandomness_$12753_to_t_address":{"entryPoint":7820,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_address":{"entryPoint":7838,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_address_payable":{"entryPoint":7856,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_uint160":{"entryPoint":7874,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory":{"entryPoint":7892,"id":null,"parameterSlots":3,"returnSlots":0},"copy_memory_to_memory":{"entryPoint":7907,"id":null,"parameterSlots":3,"returnSlots":0},"finalize_allocation":{"entryPoint":7958,"id":null,"parameterSlots":2,"returnSlots":0},"increment_t_uint256":{"entryPoint":8007,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x01":{"entryPoint":8080,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x11":{"entryPoint":8127,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":8174,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":8221,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":8268,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae":{"entryPoint":8273,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":8278,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":8283,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":8288,"id":null,"parameterSlots":1,"returnSlots":1},"shift_right_1_unsigned":{"entryPoint":8305,"id":null,"parameterSlots":1,"returnSlots":1},"store_literal_in_memory_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c":{"entryPoint":8318,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_5deec3b7674efa4143e47ae07c41ec89edefa27737b7dda5e9c508b304376e18":{"entryPoint":8397,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf":{"entryPoint":8476,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_97ea46a021217f19ea885ad2c0a0acbc990fcf1a215843f01e514975240412d1":{"entryPoint":8517,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_dab070d3b10f889718e0289cd93aedef962a048e98d90e7f3d37a0e511d23892":{"entryPoint":8596,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e":{"entryPoint":8675,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_address_payable":{"entryPoint":8716,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":8739,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_contract$_Clonable_$11629":{"entryPoint":8762,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":8785,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint32":{"entryPoint":8808,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:25941:67","statements":[{"body":{"nodeType":"YulBlock","src":"90:327:67","statements":[{"nodeType":"YulAssignment","src":"100:74:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"166:6:67"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"125:40:67"},"nodeType":"YulFunctionCall","src":"125:48:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"109:15:67"},"nodeType":"YulFunctionCall","src":"109:65:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"100:5:67"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"190:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"197:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"183:6:67"},"nodeType":"YulFunctionCall","src":"183:21:67"},"nodeType":"YulExpressionStatement","src":"183:21:67"},{"nodeType":"YulVariableDeclaration","src":"213:27:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"228:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"235:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"224:3:67"},"nodeType":"YulFunctionCall","src":"224:16:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"217:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"278:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulIdentifier","src":"280:77:67"},"nodeType":"YulFunctionCall","src":"280:79:67"},"nodeType":"YulExpressionStatement","src":"280:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"259:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"264:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"255:3:67"},"nodeType":"YulFunctionCall","src":"255:16:67"},{"name":"end","nodeType":"YulIdentifier","src":"273:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"252:2:67"},"nodeType":"YulFunctionCall","src":"252:25:67"},"nodeType":"YulIf","src":"249:112:67"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"394:3:67"},{"name":"dst","nodeType":"YulIdentifier","src":"399:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"404:6:67"}],"functionName":{"name":"copy_calldata_to_memory","nodeType":"YulIdentifier","src":"370:23:67"},"nodeType":"YulFunctionCall","src":"370:41:67"},"nodeType":"YulExpressionStatement","src":"370:41:67"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"63:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"68:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"76:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"84:5:67","type":""}],"src":"7:410:67"},{"body":{"nodeType":"YulBlock","src":"494:88:67","statements":[{"nodeType":"YulAssignment","src":"504:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"519:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"513:5:67"},"nodeType":"YulFunctionCall","src":"513:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"504:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"570:5:67"}],"functionName":{"name":"validator_revert_t_address_payable","nodeType":"YulIdentifier","src":"535:34:67"},"nodeType":"YulFunctionCall","src":"535:41:67"},"nodeType":"YulExpressionStatement","src":"535:41:67"}]},"name":"abi_decode_t_address_payable_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"472:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"480:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"488:5:67","type":""}],"src":"423:159:67"},{"body":{"nodeType":"YulBlock","src":"640:87:67","statements":[{"nodeType":"YulAssignment","src":"650:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"672:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"659:12:67"},"nodeType":"YulFunctionCall","src":"659:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"650:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"715:5:67"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"688:26:67"},"nodeType":"YulFunctionCall","src":"688:33:67"},"nodeType":"YulExpressionStatement","src":"688:33:67"}]},"name":"abi_decode_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"618:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"626:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"634:5:67","type":""}],"src":"588:139:67"},{"body":{"nodeType":"YulBlock","src":"796:80:67","statements":[{"nodeType":"YulAssignment","src":"806:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"821:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"815:5:67"},"nodeType":"YulFunctionCall","src":"815:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"806:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"864:5:67"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"837:26:67"},"nodeType":"YulFunctionCall","src":"837:33:67"},"nodeType":"YulExpressionStatement","src":"837:33:67"}]},"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"774:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"782:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"790:5:67","type":""}],"src":"733:143:67"},{"body":{"nodeType":"YulBlock","src":"956:277:67","statements":[{"body":{"nodeType":"YulBlock","src":"1005:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"1007:77:67"},"nodeType":"YulFunctionCall","src":"1007:79:67"},"nodeType":"YulExpressionStatement","src":"1007:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"984:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"992:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"980:3:67"},"nodeType":"YulFunctionCall","src":"980:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"999:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"976:3:67"},"nodeType":"YulFunctionCall","src":"976:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"969:6:67"},"nodeType":"YulFunctionCall","src":"969:35:67"},"nodeType":"YulIf","src":"966:122:67"},{"nodeType":"YulVariableDeclaration","src":"1097:34:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1124:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1111:12:67"},"nodeType":"YulFunctionCall","src":"1111:20:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1101:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1140:87:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1200:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1208:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1196:3:67"},"nodeType":"YulFunctionCall","src":"1196:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"1215:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"1223:3:67"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"1149:46:67"},"nodeType":"YulFunctionCall","src":"1149:78:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1140:5:67"}]}]},"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"934:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"942:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"950:5:67","type":""}],"src":"895:338:67"},{"body":{"nodeType":"YulBlock","src":"1320:98:67","statements":[{"nodeType":"YulAssignment","src":"1330:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1345:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1339:5:67"},"nodeType":"YulFunctionCall","src":"1339:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1330:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1406:5:67"}],"functionName":{"name":"validator_revert_t_contract$_Clonable_$11629","nodeType":"YulIdentifier","src":"1361:44:67"},"nodeType":"YulFunctionCall","src":"1361:51:67"},"nodeType":"YulExpressionStatement","src":"1361:51:67"}]},"name":"abi_decode_t_contract$_Clonable_$11629_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1298:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1306:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1314:5:67","type":""}],"src":"1239:179:67"},{"body":{"nodeType":"YulBlock","src":"1476:87:67","statements":[{"nodeType":"YulAssignment","src":"1486:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1508:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1495:12:67"},"nodeType":"YulFunctionCall","src":"1495:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1486:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1551:5:67"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"1524:26:67"},"nodeType":"YulFunctionCall","src":"1524:33:67"},"nodeType":"YulExpressionStatement","src":"1524:33:67"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1454:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1462:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1470:5:67","type":""}],"src":"1424:139:67"},{"body":{"nodeType":"YulBlock","src":"1620:86:67","statements":[{"nodeType":"YulAssignment","src":"1630:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1652:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1639:12:67"},"nodeType":"YulFunctionCall","src":"1639:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1630:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1694:5:67"}],"functionName":{"name":"validator_revert_t_uint32","nodeType":"YulIdentifier","src":"1668:25:67"},"nodeType":"YulFunctionCall","src":"1668:32:67"},"nodeType":"YulExpressionStatement","src":"1668:32:67"}]},"name":"abi_decode_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1598:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1606:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1614:5:67","type":""}],"src":"1569:137:67"},{"body":{"nodeType":"YulBlock","src":"1797:282:67","statements":[{"body":{"nodeType":"YulBlock","src":"1843:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1845:77:67"},"nodeType":"YulFunctionCall","src":"1845:79:67"},"nodeType":"YulExpressionStatement","src":"1845:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1818:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"1827:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1814:3:67"},"nodeType":"YulFunctionCall","src":"1814:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"1839:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1810:3:67"},"nodeType":"YulFunctionCall","src":"1810:32:67"},"nodeType":"YulIf","src":"1807:119:67"},{"nodeType":"YulBlock","src":"1936:136:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1951:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1965:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1955:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1980:82:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2034:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2045:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2030:3:67"},"nodeType":"YulFunctionCall","src":"2030:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2054:7:67"}],"functionName":{"name":"abi_decode_t_address_payable_fromMemory","nodeType":"YulIdentifier","src":"1990:39:67"},"nodeType":"YulFunctionCall","src":"1990:72:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1980:6:67"}]}]}]},"name":"abi_decode_tuple_t_address_payable_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1767:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1778:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1790:6:67","type":""}],"src":"1712:367:67"},{"body":{"nodeType":"YulBlock","src":"2151:263:67","statements":[{"body":{"nodeType":"YulBlock","src":"2197:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"2199:77:67"},"nodeType":"YulFunctionCall","src":"2199:79:67"},"nodeType":"YulExpressionStatement","src":"2199:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2172:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"2181:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2168:3:67"},"nodeType":"YulFunctionCall","src":"2168:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"2193:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2164:3:67"},"nodeType":"YulFunctionCall","src":"2164:32:67"},"nodeType":"YulIf","src":"2161:119:67"},{"nodeType":"YulBlock","src":"2290:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2305:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"2319:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2309:6:67","type":""}]},{"nodeType":"YulAssignment","src":"2334:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2369:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2380:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2365:3:67"},"nodeType":"YulFunctionCall","src":"2365:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2389:7:67"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"2344:20:67"},"nodeType":"YulFunctionCall","src":"2344:53:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2334:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2121:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2132:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2144:6:67","type":""}],"src":"2085:329:67"},{"body":{"nodeType":"YulBlock","src":"2497:274:67","statements":[{"body":{"nodeType":"YulBlock","src":"2543:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"2545:77:67"},"nodeType":"YulFunctionCall","src":"2545:79:67"},"nodeType":"YulExpressionStatement","src":"2545:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2518:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"2527:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2514:3:67"},"nodeType":"YulFunctionCall","src":"2514:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"2539:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2510:3:67"},"nodeType":"YulFunctionCall","src":"2510:32:67"},"nodeType":"YulIf","src":"2507:119:67"},{"nodeType":"YulBlock","src":"2636:128:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2651:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"2665:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2655:6:67","type":""}]},{"nodeType":"YulAssignment","src":"2680:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2726:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2737:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2722:3:67"},"nodeType":"YulFunctionCall","src":"2722:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2746:7:67"}],"functionName":{"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulIdentifier","src":"2690:31:67"},"nodeType":"YulFunctionCall","src":"2690:64:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2680:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2467:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2478:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2490:6:67","type":""}],"src":"2420:351:67"},{"body":{"nodeType":"YulBlock","src":"2852:432:67","statements":[{"body":{"nodeType":"YulBlock","src":"2898:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"2900:77:67"},"nodeType":"YulFunctionCall","src":"2900:79:67"},"nodeType":"YulExpressionStatement","src":"2900:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2873:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"2882:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2869:3:67"},"nodeType":"YulFunctionCall","src":"2869:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"2894:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2865:3:67"},"nodeType":"YulFunctionCall","src":"2865:32:67"},"nodeType":"YulIf","src":"2862:119:67"},{"nodeType":"YulBlock","src":"2991:286:67","statements":[{"nodeType":"YulVariableDeclaration","src":"3006:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3037:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"3048:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3033:3:67"},"nodeType":"YulFunctionCall","src":"3033:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3020:12:67"},"nodeType":"YulFunctionCall","src":"3020:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3010:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"3098:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"3100:77:67"},"nodeType":"YulFunctionCall","src":"3100:79:67"},"nodeType":"YulExpressionStatement","src":"3100:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3070:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"3078:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3067:2:67"},"nodeType":"YulFunctionCall","src":"3067:30:67"},"nodeType":"YulIf","src":"3064:117:67"},{"nodeType":"YulAssignment","src":"3195:72:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3239:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"3250:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3235:3:67"},"nodeType":"YulFunctionCall","src":"3235:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3259:7:67"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"3205:29:67"},"nodeType":"YulFunctionCall","src":"3205:62:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3195:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2822:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2833:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2845:6:67","type":""}],"src":"2777:507:67"},{"body":{"nodeType":"YulBlock","src":"3385:292:67","statements":[{"body":{"nodeType":"YulBlock","src":"3431:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"3433:77:67"},"nodeType":"YulFunctionCall","src":"3433:79:67"},"nodeType":"YulExpressionStatement","src":"3433:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3406:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"3415:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3402:3:67"},"nodeType":"YulFunctionCall","src":"3402:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"3427:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3398:3:67"},"nodeType":"YulFunctionCall","src":"3398:32:67"},"nodeType":"YulIf","src":"3395:119:67"},{"nodeType":"YulBlock","src":"3524:146:67","statements":[{"nodeType":"YulVariableDeclaration","src":"3539:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"3553:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3543:6:67","type":""}]},{"nodeType":"YulAssignment","src":"3568:92:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3632:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"3643:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3628:3:67"},"nodeType":"YulFunctionCall","src":"3628:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3652:7:67"}],"functionName":{"name":"abi_decode_t_contract$_Clonable_$11629_fromMemory","nodeType":"YulIdentifier","src":"3578:49:67"},"nodeType":"YulFunctionCall","src":"3578:82:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3568:6:67"}]}]}]},"name":"abi_decode_tuple_t_contract$_Clonable_$11629_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3355:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3366:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3378:6:67","type":""}],"src":"3290:387:67"},{"body":{"nodeType":"YulBlock","src":"3749:263:67","statements":[{"body":{"nodeType":"YulBlock","src":"3795:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"3797:77:67"},"nodeType":"YulFunctionCall","src":"3797:79:67"},"nodeType":"YulExpressionStatement","src":"3797:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3770:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"3779:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3766:3:67"},"nodeType":"YulFunctionCall","src":"3766:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"3791:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3762:3:67"},"nodeType":"YulFunctionCall","src":"3762:32:67"},"nodeType":"YulIf","src":"3759:119:67"},{"nodeType":"YulBlock","src":"3888:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"3903:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"3917:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3907:6:67","type":""}]},{"nodeType":"YulAssignment","src":"3932:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3967:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"3978:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3963:3:67"},"nodeType":"YulFunctionCall","src":"3963:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3987:7:67"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"3942:20:67"},"nodeType":"YulFunctionCall","src":"3942:53:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3932:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3719:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3730:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3742:6:67","type":""}],"src":"3683:329:67"},{"body":{"nodeType":"YulBlock","src":"4117:518:67","statements":[{"body":{"nodeType":"YulBlock","src":"4163:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"4165:77:67"},"nodeType":"YulFunctionCall","src":"4165:79:67"},"nodeType":"YulExpressionStatement","src":"4165:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4138:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"4147:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4134:3:67"},"nodeType":"YulFunctionCall","src":"4134:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"4159:2:67","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4130:3:67"},"nodeType":"YulFunctionCall","src":"4130:32:67"},"nodeType":"YulIf","src":"4127:119:67"},{"nodeType":"YulBlock","src":"4256:116:67","statements":[{"nodeType":"YulVariableDeclaration","src":"4271:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"4285:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4275:6:67","type":""}]},{"nodeType":"YulAssignment","src":"4300:62:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4334:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"4345:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4330:3:67"},"nodeType":"YulFunctionCall","src":"4330:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4354:7:67"}],"functionName":{"name":"abi_decode_t_uint32","nodeType":"YulIdentifier","src":"4310:19:67"},"nodeType":"YulFunctionCall","src":"4310:52:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4300:6:67"}]}]},{"nodeType":"YulBlock","src":"4382:118:67","statements":[{"nodeType":"YulVariableDeclaration","src":"4397:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"4411:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4401:6:67","type":""}]},{"nodeType":"YulAssignment","src":"4427:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4462:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"4473:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4458:3:67"},"nodeType":"YulFunctionCall","src":"4458:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4482:7:67"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"4437:20:67"},"nodeType":"YulFunctionCall","src":"4437:53:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4427:6:67"}]}]},{"nodeType":"YulBlock","src":"4510:118:67","statements":[{"nodeType":"YulVariableDeclaration","src":"4525:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"4539:2:67","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4529:6:67","type":""}]},{"nodeType":"YulAssignment","src":"4555:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4590:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"4601:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4586:3:67"},"nodeType":"YulFunctionCall","src":"4586:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4610:7:67"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"4565:20:67"},"nodeType":"YulFunctionCall","src":"4565:53:67"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"4555:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint32t_uint256t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4071:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4082:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4094:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4102:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4110:6:67","type":""}],"src":"4018:617:67"},{"body":{"nodeType":"YulBlock","src":"4740:518:67","statements":[{"body":{"nodeType":"YulBlock","src":"4786:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"4788:77:67"},"nodeType":"YulFunctionCall","src":"4788:79:67"},"nodeType":"YulExpressionStatement","src":"4788:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4761:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"4770:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4757:3:67"},"nodeType":"YulFunctionCall","src":"4757:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"4782:2:67","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4753:3:67"},"nodeType":"YulFunctionCall","src":"4753:32:67"},"nodeType":"YulIf","src":"4750:119:67"},{"nodeType":"YulBlock","src":"4879:116:67","statements":[{"nodeType":"YulVariableDeclaration","src":"4894:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"4908:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4898:6:67","type":""}]},{"nodeType":"YulAssignment","src":"4923:62:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4957:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"4968:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4953:3:67"},"nodeType":"YulFunctionCall","src":"4953:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4977:7:67"}],"functionName":{"name":"abi_decode_t_uint32","nodeType":"YulIdentifier","src":"4933:19:67"},"nodeType":"YulFunctionCall","src":"4933:52:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4923:6:67"}]}]},{"nodeType":"YulBlock","src":"5005:118:67","statements":[{"nodeType":"YulVariableDeclaration","src":"5020:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"5034:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5024:6:67","type":""}]},{"nodeType":"YulAssignment","src":"5050:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5085:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"5096:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5081:3:67"},"nodeType":"YulFunctionCall","src":"5081:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5105:7:67"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"5060:20:67"},"nodeType":"YulFunctionCall","src":"5060:53:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5050:6:67"}]}]},{"nodeType":"YulBlock","src":"5133:118:67","statements":[{"nodeType":"YulVariableDeclaration","src":"5148:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"5162:2:67","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5152:6:67","type":""}]},{"nodeType":"YulAssignment","src":"5178:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5213:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"5224:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5209:3:67"},"nodeType":"YulFunctionCall","src":"5209:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5233:7:67"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"5188:20:67"},"nodeType":"YulFunctionCall","src":"5188:53:67"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"5178:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint32t_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4694:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4705:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4717:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4725:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4733:6:67","type":""}],"src":"4641:617:67"},{"body":{"nodeType":"YulBlock","src":"5329:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5346:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5369:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"5351:17:67"},"nodeType":"YulFunctionCall","src":"5351:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5339:6:67"},"nodeType":"YulFunctionCall","src":"5339:37:67"},"nodeType":"YulExpressionStatement","src":"5339:37:67"}]},"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5317:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5324:3:67","type":""}],"src":"5264:118:67"},{"body":{"nodeType":"YulBlock","src":"5447:50:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5464:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5484:5:67"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"5469:14:67"},"nodeType":"YulFunctionCall","src":"5469:21:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5457:6:67"},"nodeType":"YulFunctionCall","src":"5457:34:67"},"nodeType":"YulExpressionStatement","src":"5457:34:67"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5435:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5442:3:67","type":""}],"src":"5388:109:67"},{"body":{"nodeType":"YulBlock","src":"5568:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5585:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5608:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"5590:17:67"},"nodeType":"YulFunctionCall","src":"5590:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5578:6:67"},"nodeType":"YulFunctionCall","src":"5578:37:67"},"nodeType":"YulExpressionStatement","src":"5578:37:67"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5556:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5563:3:67","type":""}],"src":"5503:118:67"},{"body":{"nodeType":"YulBlock","src":"5717:270:67","statements":[{"nodeType":"YulVariableDeclaration","src":"5727:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5773:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"5741:31:67"},"nodeType":"YulFunctionCall","src":"5741:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"5731:6:67","type":""}]},{"nodeType":"YulAssignment","src":"5788:77:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5853:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"5858:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"5795:57:67"},"nodeType":"YulFunctionCall","src":"5795:70:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"5788:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5900:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"5907:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5896:3:67"},"nodeType":"YulFunctionCall","src":"5896:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"5914:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"5919:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"5874:21:67"},"nodeType":"YulFunctionCall","src":"5874:52:67"},"nodeType":"YulExpressionStatement","src":"5874:52:67"},{"nodeType":"YulAssignment","src":"5935:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5946:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5973:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"5951:21:67"},"nodeType":"YulFunctionCall","src":"5951:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5942:3:67"},"nodeType":"YulFunctionCall","src":"5942:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"5935:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5698:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5705:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"5713:3:67","type":""}],"src":"5627:360:67"},{"body":{"nodeType":"YulBlock","src":"6076:84:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6093:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6147:5:67"}],"functionName":{"name":"convert_t_contract$_Clonable_$11629_to_t_address","nodeType":"YulIdentifier","src":"6098:48:67"},"nodeType":"YulFunctionCall","src":"6098:55:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6086:6:67"},"nodeType":"YulFunctionCall","src":"6086:68:67"},"nodeType":"YulExpressionStatement","src":"6086:68:67"}]},"name":"abi_encode_t_contract$_Clonable_$11629_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6064:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6071:3:67","type":""}],"src":"5993:167:67"},{"body":{"nodeType":"YulBlock","src":"6266:101:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6283:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6354:5:67"}],"functionName":{"name":"convert_t_contract$_WitnetRequestBoard_$4162_to_t_address_payable","nodeType":"YulIdentifier","src":"6288:65:67"},"nodeType":"YulFunctionCall","src":"6288:72:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6276:6:67"},"nodeType":"YulFunctionCall","src":"6276:85:67"},"nodeType":"YulExpressionStatement","src":"6276:85:67"}]},"name":"abi_encode_t_contract$_WitnetRequestBoard_$4162_to_t_address_payable_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6254:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6261:3:67","type":""}],"src":"6166:201:67"},{"body":{"nodeType":"YulBlock","src":"6471:99:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6488:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6557:5:67"}],"functionName":{"name":"convert_t_contract$_WitnetRequestRandomness_$12753_to_t_address","nodeType":"YulIdentifier","src":"6493:63:67"},"nodeType":"YulFunctionCall","src":"6493:70:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6481:6:67"},"nodeType":"YulFunctionCall","src":"6481:83:67"},"nodeType":"YulExpressionStatement","src":"6481:83:67"}]},"name":"abi_encode_t_contract$_WitnetRequestRandomness_$12753_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6459:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6466:3:67","type":""}],"src":"6373:197:67"},{"body":{"nodeType":"YulBlock","src":"6722:220:67","statements":[{"nodeType":"YulAssignment","src":"6732:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6798:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"6803:2:67","type":"","value":"37"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"6739:58:67"},"nodeType":"YulFunctionCall","src":"6739:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6732:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6904:3:67"}],"functionName":{"name":"store_literal_in_memory_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c","nodeType":"YulIdentifier","src":"6815:88:67"},"nodeType":"YulFunctionCall","src":"6815:93:67"},"nodeType":"YulExpressionStatement","src":"6815:93:67"},{"nodeType":"YulAssignment","src":"6917:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6928:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"6933:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6924:3:67"},"nodeType":"YulFunctionCall","src":"6924:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"6917:3:67"}]}]},"name":"abi_encode_t_stringliteral_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"6710:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"6718:3:67","type":""}],"src":"6576:366:67"},{"body":{"nodeType":"YulBlock","src":"7094:220:67","statements":[{"nodeType":"YulAssignment","src":"7104:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7170:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"7175:2:67","type":"","value":"39"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"7111:58:67"},"nodeType":"YulFunctionCall","src":"7111:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7104:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7276:3:67"}],"functionName":{"name":"store_literal_in_memory_5deec3b7674efa4143e47ae07c41ec89edefa27737b7dda5e9c508b304376e18","nodeType":"YulIdentifier","src":"7187:88:67"},"nodeType":"YulFunctionCall","src":"7187:93:67"},"nodeType":"YulExpressionStatement","src":"7187:93:67"},{"nodeType":"YulAssignment","src":"7289:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7300:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"7305:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7296:3:67"},"nodeType":"YulFunctionCall","src":"7296:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7289:3:67"}]}]},"name":"abi_encode_t_stringliteral_5deec3b7674efa4143e47ae07c41ec89edefa27737b7dda5e9c508b304376e18_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"7082:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7090:3:67","type":""}],"src":"6948:366:67"},{"body":{"nodeType":"YulBlock","src":"7466:220:67","statements":[{"nodeType":"YulAssignment","src":"7476:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7542:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"7547:2:67","type":"","value":"24"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"7483:58:67"},"nodeType":"YulFunctionCall","src":"7483:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7476:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7648:3:67"}],"functionName":{"name":"store_literal_in_memory_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf","nodeType":"YulIdentifier","src":"7559:88:67"},"nodeType":"YulFunctionCall","src":"7559:93:67"},"nodeType":"YulExpressionStatement","src":"7559:93:67"},{"nodeType":"YulAssignment","src":"7661:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7672:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"7677:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7668:3:67"},"nodeType":"YulFunctionCall","src":"7668:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7661:3:67"}]}]},"name":"abi_encode_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"7454:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7462:3:67","type":""}],"src":"7320:366:67"},{"body":{"nodeType":"YulBlock","src":"7838:220:67","statements":[{"nodeType":"YulAssignment","src":"7848:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7914:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"7919:2:67","type":"","value":"36"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"7855:58:67"},"nodeType":"YulFunctionCall","src":"7855:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7848:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8020:3:67"}],"functionName":{"name":"store_literal_in_memory_97ea46a021217f19ea885ad2c0a0acbc990fcf1a215843f01e514975240412d1","nodeType":"YulIdentifier","src":"7931:88:67"},"nodeType":"YulFunctionCall","src":"7931:93:67"},"nodeType":"YulExpressionStatement","src":"7931:93:67"},{"nodeType":"YulAssignment","src":"8033:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8044:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"8049:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8040:3:67"},"nodeType":"YulFunctionCall","src":"8040:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"8033:3:67"}]}]},"name":"abi_encode_t_stringliteral_97ea46a021217f19ea885ad2c0a0acbc990fcf1a215843f01e514975240412d1_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"7826:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7834:3:67","type":""}],"src":"7692:366:67"},{"body":{"nodeType":"YulBlock","src":"8210:220:67","statements":[{"nodeType":"YulAssignment","src":"8220:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8286:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"8291:2:67","type":"","value":"36"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"8227:58:67"},"nodeType":"YulFunctionCall","src":"8227:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"8220:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8392:3:67"}],"functionName":{"name":"store_literal_in_memory_dab070d3b10f889718e0289cd93aedef962a048e98d90e7f3d37a0e511d23892","nodeType":"YulIdentifier","src":"8303:88:67"},"nodeType":"YulFunctionCall","src":"8303:93:67"},"nodeType":"YulExpressionStatement","src":"8303:93:67"},{"nodeType":"YulAssignment","src":"8405:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8416:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"8421:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8412:3:67"},"nodeType":"YulFunctionCall","src":"8412:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"8405:3:67"}]}]},"name":"abi_encode_t_stringliteral_dab070d3b10f889718e0289cd93aedef962a048e98d90e7f3d37a0e511d23892_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"8198:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8206:3:67","type":""}],"src":"8064:366:67"},{"body":{"nodeType":"YulBlock","src":"8582:220:67","statements":[{"nodeType":"YulAssignment","src":"8592:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8658:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"8663:2:67","type":"","value":"23"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"8599:58:67"},"nodeType":"YulFunctionCall","src":"8599:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"8592:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8764:3:67"}],"functionName":{"name":"store_literal_in_memory_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e","nodeType":"YulIdentifier","src":"8675:88:67"},"nodeType":"YulFunctionCall","src":"8675:93:67"},"nodeType":"YulExpressionStatement","src":"8675:93:67"},{"nodeType":"YulAssignment","src":"8777:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8788:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"8793:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8784:3:67"},"nodeType":"YulFunctionCall","src":"8784:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"8777:3:67"}]}]},"name":"abi_encode_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"8570:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8578:3:67","type":""}],"src":"8436:366:67"},{"body":{"nodeType":"YulBlock","src":"8873:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8890:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8913:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"8895:17:67"},"nodeType":"YulFunctionCall","src":"8895:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8883:6:67"},"nodeType":"YulFunctionCall","src":"8883:37:67"},"nodeType":"YulExpressionStatement","src":"8883:37:67"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8861:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"8868:3:67","type":""}],"src":"8808:118:67"},{"body":{"nodeType":"YulBlock","src":"8995:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9012:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9034:5:67"}],"functionName":{"name":"cleanup_t_uint32","nodeType":"YulIdentifier","src":"9017:16:67"},"nodeType":"YulFunctionCall","src":"9017:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9005:6:67"},"nodeType":"YulFunctionCall","src":"9005:36:67"},"nodeType":"YulExpressionStatement","src":"9005:36:67"}]},"name":"abi_encode_t_uint32_to_t_uint32_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8983:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"8990:3:67","type":""}],"src":"8932:115:67"},{"body":{"nodeType":"YulBlock","src":"9151:124:67","statements":[{"nodeType":"YulAssignment","src":"9161:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9173:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"9184:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9169:3:67"},"nodeType":"YulFunctionCall","src":"9169:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9161:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9241:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9254:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"9265:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9250:3:67"},"nodeType":"YulFunctionCall","src":"9250:17:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"9197:43:67"},"nodeType":"YulFunctionCall","src":"9197:71:67"},"nodeType":"YulExpressionStatement","src":"9197:71:67"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9123:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9135:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9146:4:67","type":""}],"src":"9053:222:67"},{"body":{"nodeType":"YulBlock","src":"9407:206:67","statements":[{"nodeType":"YulAssignment","src":"9417:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9429:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"9440:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9425:3:67"},"nodeType":"YulFunctionCall","src":"9425:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9417:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9497:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9510:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"9521:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9506:3:67"},"nodeType":"YulFunctionCall","src":"9506:17:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"9453:43:67"},"nodeType":"YulFunctionCall","src":"9453:71:67"},"nodeType":"YulExpressionStatement","src":"9453:71:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"9578:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9591:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"9602:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9587:3:67"},"nodeType":"YulFunctionCall","src":"9587:18:67"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"9534:43:67"},"nodeType":"YulFunctionCall","src":"9534:72:67"},"nodeType":"YulExpressionStatement","src":"9534:72:67"}]},"name":"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9371:9:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9383:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9391:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9402:4:67","type":""}],"src":"9281:332:67"},{"body":{"nodeType":"YulBlock","src":"9801:371:67","statements":[{"nodeType":"YulAssignment","src":"9811:27:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9823:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"9834:3:67","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9819:3:67"},"nodeType":"YulFunctionCall","src":"9819:19:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9811:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9892:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9905:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"9916:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9901:3:67"},"nodeType":"YulFunctionCall","src":"9901:17:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"9848:43:67"},"nodeType":"YulFunctionCall","src":"9848:71:67"},"nodeType":"YulExpressionStatement","src":"9848:71:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"9973:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9986:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"9997:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9982:3:67"},"nodeType":"YulFunctionCall","src":"9982:18:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"9929:43:67"},"nodeType":"YulFunctionCall","src":"9929:72:67"},"nodeType":"YulExpressionStatement","src":"9929:72:67"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"10055:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10068:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"10079:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10064:3:67"},"nodeType":"YulFunctionCall","src":"10064:18:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"10011:43:67"},"nodeType":"YulFunctionCall","src":"10011:72:67"},"nodeType":"YulExpressionStatement","src":"10011:72:67"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"10137:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10150:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"10161:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10146:3:67"},"nodeType":"YulFunctionCall","src":"10146:18:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"10093:43:67"},"nodeType":"YulFunctionCall","src":"10093:72:67"},"nodeType":"YulExpressionStatement","src":"10093:72:67"}]},"name":"abi_encode_tuple_t_address_t_uint256_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9749:9:67","type":""},{"name":"value3","nodeType":"YulTypedName","src":"9761:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"9769:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9777:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9785:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9796:4:67","type":""}],"src":"9619:553:67"},{"body":{"nodeType":"YulBlock","src":"10270:118:67","statements":[{"nodeType":"YulAssignment","src":"10280:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10292:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"10303:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10288:3:67"},"nodeType":"YulFunctionCall","src":"10288:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10280:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10354:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10367:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"10378:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10363:3:67"},"nodeType":"YulFunctionCall","src":"10363:17:67"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulIdentifier","src":"10316:37:67"},"nodeType":"YulFunctionCall","src":"10316:65:67"},"nodeType":"YulExpressionStatement","src":"10316:65:67"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10242:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10254:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10265:4:67","type":""}],"src":"10178:210:67"},{"body":{"nodeType":"YulBlock","src":"10492:124:67","statements":[{"nodeType":"YulAssignment","src":"10502:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10514:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"10525:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10510:3:67"},"nodeType":"YulFunctionCall","src":"10510:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10502:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10582:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10595:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"10606:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10591:3:67"},"nodeType":"YulFunctionCall","src":"10591:17:67"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"10538:43:67"},"nodeType":"YulFunctionCall","src":"10538:71:67"},"nodeType":"YulExpressionStatement","src":"10538:71:67"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10464:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10476:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10487:4:67","type":""}],"src":"10394:222:67"},{"body":{"nodeType":"YulBlock","src":"10748:206:67","statements":[{"nodeType":"YulAssignment","src":"10758:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10770:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"10781:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10766:3:67"},"nodeType":"YulFunctionCall","src":"10766:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10758:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10838:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10851:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"10862:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10847:3:67"},"nodeType":"YulFunctionCall","src":"10847:17:67"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"10794:43:67"},"nodeType":"YulFunctionCall","src":"10794:71:67"},"nodeType":"YulExpressionStatement","src":"10794:71:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"10919:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10932:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"10943:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10928:3:67"},"nodeType":"YulFunctionCall","src":"10928:18:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"10875:43:67"},"nodeType":"YulFunctionCall","src":"10875:72:67"},"nodeType":"YulExpressionStatement","src":"10875:72:67"}]},"name":"abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10712:9:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10724:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10732:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10743:4:67","type":""}],"src":"10622:332:67"},{"body":{"nodeType":"YulBlock","src":"11076:193:67","statements":[{"nodeType":"YulAssignment","src":"11086:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11098:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"11109:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11094:3:67"},"nodeType":"YulFunctionCall","src":"11094:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11086:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11133:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"11144:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11129:3:67"},"nodeType":"YulFunctionCall","src":"11129:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"11152:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"11158:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11148:3:67"},"nodeType":"YulFunctionCall","src":"11148:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11122:6:67"},"nodeType":"YulFunctionCall","src":"11122:47:67"},"nodeType":"YulExpressionStatement","src":"11122:47:67"},{"nodeType":"YulAssignment","src":"11178:84:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11248:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"11257:4:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"11186:61:67"},"nodeType":"YulFunctionCall","src":"11186:76:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11178:4:67"}]}]},"name":"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11048:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11060:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11071:4:67","type":""}],"src":"10960:309:67"},{"body":{"nodeType":"YulBlock","src":"11391:142:67","statements":[{"nodeType":"YulAssignment","src":"11401:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11413:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"11424:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11409:3:67"},"nodeType":"YulFunctionCall","src":"11409:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11401:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11499:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11512:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"11523:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11508:3:67"},"nodeType":"YulFunctionCall","src":"11508:17:67"}],"functionName":{"name":"abi_encode_t_contract$_Clonable_$11629_to_t_address_fromStack","nodeType":"YulIdentifier","src":"11437:61:67"},"nodeType":"YulFunctionCall","src":"11437:89:67"},"nodeType":"YulExpressionStatement","src":"11437:89:67"}]},"name":"abi_encode_tuple_t_contract$_Clonable_$11629__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11363:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11375:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11386:4:67","type":""}],"src":"11275:258:67"},{"body":{"nodeType":"YulBlock","src":"11672:159:67","statements":[{"nodeType":"YulAssignment","src":"11682:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11694:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"11705:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11690:3:67"},"nodeType":"YulFunctionCall","src":"11690:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11682:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11797:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11810:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"11821:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11806:3:67"},"nodeType":"YulFunctionCall","src":"11806:17:67"}],"functionName":{"name":"abi_encode_t_contract$_WitnetRequestBoard_$4162_to_t_address_payable_fromStack","nodeType":"YulIdentifier","src":"11718:78:67"},"nodeType":"YulFunctionCall","src":"11718:106:67"},"nodeType":"YulExpressionStatement","src":"11718:106:67"}]},"name":"abi_encode_tuple_t_contract$_WitnetRequestBoard_$4162__to_t_address_payable__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11644:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11656:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11667:4:67","type":""}],"src":"11539:292:67"},{"body":{"nodeType":"YulBlock","src":"11968:157:67","statements":[{"nodeType":"YulAssignment","src":"11978:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11990:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"12001:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11986:3:67"},"nodeType":"YulFunctionCall","src":"11986:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11978:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12091:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12104:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"12115:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12100:3:67"},"nodeType":"YulFunctionCall","src":"12100:17:67"}],"functionName":{"name":"abi_encode_t_contract$_WitnetRequestRandomness_$12753_to_t_address_fromStack","nodeType":"YulIdentifier","src":"12014:76:67"},"nodeType":"YulFunctionCall","src":"12014:104:67"},"nodeType":"YulExpressionStatement","src":"12014:104:67"}]},"name":"abi_encode_tuple_t_contract$_WitnetRequestRandomness_$12753__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11940:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11952:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11963:4:67","type":""}],"src":"11837:288:67"},{"body":{"nodeType":"YulBlock","src":"12302:248:67","statements":[{"nodeType":"YulAssignment","src":"12312:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12324:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"12335:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12320:3:67"},"nodeType":"YulFunctionCall","src":"12320:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12312:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12359:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"12370:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12355:3:67"},"nodeType":"YulFunctionCall","src":"12355:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"12378:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"12384:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12374:3:67"},"nodeType":"YulFunctionCall","src":"12374:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12348:6:67"},"nodeType":"YulFunctionCall","src":"12348:47:67"},"nodeType":"YulExpressionStatement","src":"12348:47:67"},{"nodeType":"YulAssignment","src":"12404:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"12538:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"12412:124:67"},"nodeType":"YulFunctionCall","src":"12412:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12404:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12282:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12297:4:67","type":""}],"src":"12131:419:67"},{"body":{"nodeType":"YulBlock","src":"12727:248:67","statements":[{"nodeType":"YulAssignment","src":"12737:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12749:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"12760:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12745:3:67"},"nodeType":"YulFunctionCall","src":"12745:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12737:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12784:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"12795:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12780:3:67"},"nodeType":"YulFunctionCall","src":"12780:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"12803:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"12809:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12799:3:67"},"nodeType":"YulFunctionCall","src":"12799:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12773:6:67"},"nodeType":"YulFunctionCall","src":"12773:47:67"},"nodeType":"YulExpressionStatement","src":"12773:47:67"},{"nodeType":"YulAssignment","src":"12829:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"12963:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_5deec3b7674efa4143e47ae07c41ec89edefa27737b7dda5e9c508b304376e18_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"12837:124:67"},"nodeType":"YulFunctionCall","src":"12837:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12829:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_5deec3b7674efa4143e47ae07c41ec89edefa27737b7dda5e9c508b304376e18__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12707:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12722:4:67","type":""}],"src":"12556:419:67"},{"body":{"nodeType":"YulBlock","src":"13152:248:67","statements":[{"nodeType":"YulAssignment","src":"13162:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13174:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"13185:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13170:3:67"},"nodeType":"YulFunctionCall","src":"13170:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13162:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13209:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"13220:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13205:3:67"},"nodeType":"YulFunctionCall","src":"13205:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"13228:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"13234:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13224:3:67"},"nodeType":"YulFunctionCall","src":"13224:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13198:6:67"},"nodeType":"YulFunctionCall","src":"13198:47:67"},"nodeType":"YulExpressionStatement","src":"13198:47:67"},{"nodeType":"YulAssignment","src":"13254:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"13388:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"13262:124:67"},"nodeType":"YulFunctionCall","src":"13262:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13254:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13132:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13147:4:67","type":""}],"src":"12981:419:67"},{"body":{"nodeType":"YulBlock","src":"13577:248:67","statements":[{"nodeType":"YulAssignment","src":"13587:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13599:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"13610:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13595:3:67"},"nodeType":"YulFunctionCall","src":"13595:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13587:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13634:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"13645:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13630:3:67"},"nodeType":"YulFunctionCall","src":"13630:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"13653:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"13659:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13649:3:67"},"nodeType":"YulFunctionCall","src":"13649:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13623:6:67"},"nodeType":"YulFunctionCall","src":"13623:47:67"},"nodeType":"YulExpressionStatement","src":"13623:47:67"},{"nodeType":"YulAssignment","src":"13679:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"13813:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_97ea46a021217f19ea885ad2c0a0acbc990fcf1a215843f01e514975240412d1_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"13687:124:67"},"nodeType":"YulFunctionCall","src":"13687:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13679:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_97ea46a021217f19ea885ad2c0a0acbc990fcf1a215843f01e514975240412d1__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13557:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13572:4:67","type":""}],"src":"13406:419:67"},{"body":{"nodeType":"YulBlock","src":"14002:248:67","statements":[{"nodeType":"YulAssignment","src":"14012:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14024:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"14035:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14020:3:67"},"nodeType":"YulFunctionCall","src":"14020:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14012:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14059:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"14070:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14055:3:67"},"nodeType":"YulFunctionCall","src":"14055:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"14078:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"14084:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14074:3:67"},"nodeType":"YulFunctionCall","src":"14074:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14048:6:67"},"nodeType":"YulFunctionCall","src":"14048:47:67"},"nodeType":"YulExpressionStatement","src":"14048:47:67"},{"nodeType":"YulAssignment","src":"14104:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"14238:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_dab070d3b10f889718e0289cd93aedef962a048e98d90e7f3d37a0e511d23892_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"14112:124:67"},"nodeType":"YulFunctionCall","src":"14112:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14104:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_dab070d3b10f889718e0289cd93aedef962a048e98d90e7f3d37a0e511d23892__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13982:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13997:4:67","type":""}],"src":"13831:419:67"},{"body":{"nodeType":"YulBlock","src":"14427:248:67","statements":[{"nodeType":"YulAssignment","src":"14437:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14449:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"14460:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14445:3:67"},"nodeType":"YulFunctionCall","src":"14445:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14437:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14484:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"14495:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14480:3:67"},"nodeType":"YulFunctionCall","src":"14480:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"14503:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"14509:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14499:3:67"},"nodeType":"YulFunctionCall","src":"14499:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14473:6:67"},"nodeType":"YulFunctionCall","src":"14473:47:67"},"nodeType":"YulExpressionStatement","src":"14473:47:67"},{"nodeType":"YulAssignment","src":"14529:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"14663:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"14537:124:67"},"nodeType":"YulFunctionCall","src":"14537:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14529:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14407:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14422:4:67","type":""}],"src":"14256:419:67"},{"body":{"nodeType":"YulBlock","src":"14779:124:67","statements":[{"nodeType":"YulAssignment","src":"14789:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14801:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"14812:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14797:3:67"},"nodeType":"YulFunctionCall","src":"14797:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14789:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14869:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14882:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"14893:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14878:3:67"},"nodeType":"YulFunctionCall","src":"14878:17:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"14825:43:67"},"nodeType":"YulFunctionCall","src":"14825:71:67"},"nodeType":"YulExpressionStatement","src":"14825:71:67"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14751:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14763:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14774:4:67","type":""}],"src":"14681:222:67"},{"body":{"nodeType":"YulBlock","src":"15035:206:67","statements":[{"nodeType":"YulAssignment","src":"15045:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15057:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"15068:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15053:3:67"},"nodeType":"YulFunctionCall","src":"15053:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15045:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15125:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15138:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"15149:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15134:3:67"},"nodeType":"YulFunctionCall","src":"15134:17:67"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"15081:43:67"},"nodeType":"YulFunctionCall","src":"15081:71:67"},"nodeType":"YulExpressionStatement","src":"15081:71:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"15206:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15219:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"15230:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15215:3:67"},"nodeType":"YulFunctionCall","src":"15215:18:67"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"15162:43:67"},"nodeType":"YulFunctionCall","src":"15162:72:67"},"nodeType":"YulExpressionStatement","src":"15162:72:67"}]},"name":"abi_encode_tuple_t_uint256_t_bytes32__to_t_uint256_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14999:9:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"15011:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15019:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15030:4:67","type":""}],"src":"14909:332:67"},{"body":{"nodeType":"YulBlock","src":"15343:122:67","statements":[{"nodeType":"YulAssignment","src":"15353:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15365:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"15376:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15361:3:67"},"nodeType":"YulFunctionCall","src":"15361:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15353:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15431:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15444:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"15455:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15440:3:67"},"nodeType":"YulFunctionCall","src":"15440:17:67"}],"functionName":{"name":"abi_encode_t_uint32_to_t_uint32_fromStack","nodeType":"YulIdentifier","src":"15389:41:67"},"nodeType":"YulFunctionCall","src":"15389:69:67"},"nodeType":"YulExpressionStatement","src":"15389:69:67"}]},"name":"abi_encode_tuple_t_uint32__to_t_uint32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15315:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15327:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15338:4:67","type":""}],"src":"15247:218:67"},{"body":{"nodeType":"YulBlock","src":"15512:88:67","statements":[{"nodeType":"YulAssignment","src":"15522:30:67","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"15532:18:67"},"nodeType":"YulFunctionCall","src":"15532:20:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"15522:6:67"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"15581:6:67"},{"name":"size","nodeType":"YulIdentifier","src":"15589:4:67"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"15561:19:67"},"nodeType":"YulFunctionCall","src":"15561:33:67"},"nodeType":"YulExpressionStatement","src":"15561:33:67"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"15496:4:67","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"15505:6:67","type":""}],"src":"15471:129:67"},{"body":{"nodeType":"YulBlock","src":"15646:35:67","statements":[{"nodeType":"YulAssignment","src":"15656:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15672:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15666:5:67"},"nodeType":"YulFunctionCall","src":"15666:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"15656:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"15639:6:67","type":""}],"src":"15606:75:67"},{"body":{"nodeType":"YulBlock","src":"15753:241:67","statements":[{"body":{"nodeType":"YulBlock","src":"15858:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"15860:16:67"},"nodeType":"YulFunctionCall","src":"15860:18:67"},"nodeType":"YulExpressionStatement","src":"15860:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"15830:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"15838:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15827:2:67"},"nodeType":"YulFunctionCall","src":"15827:30:67"},"nodeType":"YulIf","src":"15824:56:67"},{"nodeType":"YulAssignment","src":"15890:37:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"15920:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"15898:21:67"},"nodeType":"YulFunctionCall","src":"15898:29:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"15890:4:67"}]},{"nodeType":"YulAssignment","src":"15964:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"15976:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"15982:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15972:3:67"},"nodeType":"YulFunctionCall","src":"15972:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"15964:4:67"}]}]},"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"15737:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"15748:4:67","type":""}],"src":"15687:307:67"},{"body":{"nodeType":"YulBlock","src":"16058:40:67","statements":[{"nodeType":"YulAssignment","src":"16069:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16085:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16079:5:67"},"nodeType":"YulFunctionCall","src":"16079:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"16069:6:67"}]}]},"name":"array_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16041:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"16051:6:67","type":""}],"src":"16000:98:67"},{"body":{"nodeType":"YulBlock","src":"16199:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16216:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"16221:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16209:6:67"},"nodeType":"YulFunctionCall","src":"16209:19:67"},"nodeType":"YulExpressionStatement","src":"16209:19:67"},{"nodeType":"YulAssignment","src":"16237:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16256:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"16261:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16252:3:67"},"nodeType":"YulFunctionCall","src":"16252:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"16237:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"16171:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"16176:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"16187:11:67","type":""}],"src":"16104:168:67"},{"body":{"nodeType":"YulBlock","src":"16374:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16391:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"16396:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16384:6:67"},"nodeType":"YulFunctionCall","src":"16384:19:67"},"nodeType":"YulExpressionStatement","src":"16384:19:67"},{"nodeType":"YulAssignment","src":"16412:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16431:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"16436:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16427:3:67"},"nodeType":"YulFunctionCall","src":"16427:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"16412:11:67"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"16346:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"16351:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"16362:11:67","type":""}],"src":"16278:169:67"},{"body":{"nodeType":"YulBlock","src":"16497:261:67","statements":[{"nodeType":"YulAssignment","src":"16507:25:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"16530:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"16512:17:67"},"nodeType":"YulFunctionCall","src":"16512:20:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"16507:1:67"}]},{"nodeType":"YulAssignment","src":"16541:25:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"16564:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"16546:17:67"},"nodeType":"YulFunctionCall","src":"16546:20:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"16541:1:67"}]},{"body":{"nodeType":"YulBlock","src":"16704:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"16706:16:67"},"nodeType":"YulFunctionCall","src":"16706:18:67"},"nodeType":"YulExpressionStatement","src":"16706:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"16625:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16632:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"y","nodeType":"YulIdentifier","src":"16700:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16628:3:67"},"nodeType":"YulFunctionCall","src":"16628:74:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"16622:2:67"},"nodeType":"YulFunctionCall","src":"16622:81:67"},"nodeType":"YulIf","src":"16619:107:67"},{"nodeType":"YulAssignment","src":"16736:16:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"16747:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"16750:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16743:3:67"},"nodeType":"YulFunctionCall","src":"16743:9:67"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"16736:3:67"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"16484:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"16487:1:67","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"16493:3:67","type":""}],"src":"16453:305:67"},{"body":{"nodeType":"YulBlock","src":"16837:775:67","statements":[{"nodeType":"YulAssignment","src":"16847:15:67","value":{"name":"_power","nodeType":"YulIdentifier","src":"16856:6:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"16847:5:67"}]},{"nodeType":"YulAssignment","src":"16871:14:67","value":{"name":"_base","nodeType":"YulIdentifier","src":"16880:5:67"},"variableNames":[{"name":"base","nodeType":"YulIdentifier","src":"16871:4:67"}]},{"body":{"nodeType":"YulBlock","src":"16929:677:67","statements":[{"body":{"nodeType":"YulBlock","src":"17017:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"17019:16:67"},"nodeType":"YulFunctionCall","src":"17019:18:67"},"nodeType":"YulExpressionStatement","src":"17019:18:67"}]},"condition":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"16995:4:67"},{"arguments":[{"name":"max","nodeType":"YulIdentifier","src":"17005:3:67"},{"name":"base","nodeType":"YulIdentifier","src":"17010:4:67"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"17001:3:67"},"nodeType":"YulFunctionCall","src":"17001:14:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"16992:2:67"},"nodeType":"YulFunctionCall","src":"16992:24:67"},"nodeType":"YulIf","src":"16989:50:67"},{"body":{"nodeType":"YulBlock","src":"17084:419:67","statements":[{"nodeType":"YulAssignment","src":"17464:25:67","value":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"17477:5:67"},{"name":"base","nodeType":"YulIdentifier","src":"17484:4:67"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"17473:3:67"},"nodeType":"YulFunctionCall","src":"17473:16:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"17464:5:67"}]}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"17059:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"17069:1:67","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17055:3:67"},"nodeType":"YulFunctionCall","src":"17055:16:67"},"nodeType":"YulIf","src":"17052:451:67"},{"nodeType":"YulAssignment","src":"17516:23:67","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"17528:4:67"},{"name":"base","nodeType":"YulIdentifier","src":"17534:4:67"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"17524:3:67"},"nodeType":"YulFunctionCall","src":"17524:15:67"},"variableNames":[{"name":"base","nodeType":"YulIdentifier","src":"17516:4:67"}]},{"nodeType":"YulAssignment","src":"17552:44:67","value":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"17587:8:67"}],"functionName":{"name":"shift_right_1_unsigned","nodeType":"YulIdentifier","src":"17564:22:67"},"nodeType":"YulFunctionCall","src":"17564:32:67"},"variableNames":[{"name":"exponent","nodeType":"YulIdentifier","src":"17552:8:67"}]}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"16905:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"16915:1:67","type":"","value":"1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"16902:2:67"},"nodeType":"YulFunctionCall","src":"16902:15:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"16918:2:67","statements":[]},"pre":{"nodeType":"YulBlock","src":"16898:3:67","statements":[]},"src":"16894:712:67"}]},"name":"checked_exp_helper","nodeType":"YulFunctionDefinition","parameters":[{"name":"_power","nodeType":"YulTypedName","src":"16792:6:67","type":""},{"name":"_base","nodeType":"YulTypedName","src":"16800:5:67","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"16807:8:67","type":""},{"name":"max","nodeType":"YulTypedName","src":"16817:3:67","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"16825:5:67","type":""},{"name":"base","nodeType":"YulTypedName","src":"16832:4:67","type":""}],"src":"16764:848:67"},{"body":{"nodeType":"YulBlock","src":"17682:217:67","statements":[{"nodeType":"YulAssignment","src":"17692:31:67","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"17718:4:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"17700:17:67"},"nodeType":"YulFunctionCall","src":"17700:23:67"},"variableNames":[{"name":"base","nodeType":"YulIdentifier","src":"17692:4:67"}]},{"nodeType":"YulAssignment","src":"17732:37:67","value":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"17760:8:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"17744:15:67"},"nodeType":"YulFunctionCall","src":"17744:25:67"},"variableNames":[{"name":"exponent","nodeType":"YulIdentifier","src":"17732:8:67"}]},{"nodeType":"YulAssignment","src":"17779:113:67","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"17809:4:67"},{"name":"exponent","nodeType":"YulIdentifier","src":"17815:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"17825:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"checked_exp_unsigned","nodeType":"YulIdentifier","src":"17788:20:67"},"nodeType":"YulFunctionCall","src":"17788:104:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"17779:5:67"}]}]},"name":"checked_exp_t_uint256_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"base","nodeType":"YulTypedName","src":"17657:4:67","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"17663:8:67","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"17676:5:67","type":""}],"src":"17618:281:67"},{"body":{"nodeType":"YulBlock","src":"17965:1013:67","statements":[{"body":{"nodeType":"YulBlock","src":"18160:20:67","statements":[{"nodeType":"YulAssignment","src":"18162:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"18171:1:67","type":"","value":"1"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"18162:5:67"}]},{"nodeType":"YulLeave","src":"18173:5:67"}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"18150:8:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"18143:6:67"},"nodeType":"YulFunctionCall","src":"18143:16:67"},"nodeType":"YulIf","src":"18140:40:67"},{"body":{"nodeType":"YulBlock","src":"18205:20:67","statements":[{"nodeType":"YulAssignment","src":"18207:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"18216:1:67","type":"","value":"0"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"18207:5:67"}]},{"nodeType":"YulLeave","src":"18218:5:67"}]},"condition":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"18199:4:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"18192:6:67"},"nodeType":"YulFunctionCall","src":"18192:12:67"},"nodeType":"YulIf","src":"18189:36:67"},{"cases":[{"body":{"nodeType":"YulBlock","src":"18335:20:67","statements":[{"nodeType":"YulAssignment","src":"18337:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"18346:1:67","type":"","value":"1"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"18337:5:67"}]},{"nodeType":"YulLeave","src":"18348:5:67"}]},"nodeType":"YulCase","src":"18328:27:67","value":{"kind":"number","nodeType":"YulLiteral","src":"18333:1:67","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"18379:176:67","statements":[{"body":{"nodeType":"YulBlock","src":"18414:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"18416:16:67"},"nodeType":"YulFunctionCall","src":"18416:18:67"},"nodeType":"YulExpressionStatement","src":"18416:18:67"}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"18399:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"18409:3:67","type":"","value":"255"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18396:2:67"},"nodeType":"YulFunctionCall","src":"18396:17:67"},"nodeType":"YulIf","src":"18393:43:67"},{"nodeType":"YulAssignment","src":"18449:25:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18462:1:67","type":"","value":"2"},{"name":"exponent","nodeType":"YulIdentifier","src":"18465:8:67"}],"functionName":{"name":"exp","nodeType":"YulIdentifier","src":"18458:3:67"},"nodeType":"YulFunctionCall","src":"18458:16:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"18449:5:67"}]},{"body":{"nodeType":"YulBlock","src":"18505:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"18507:16:67"},"nodeType":"YulFunctionCall","src":"18507:18:67"},"nodeType":"YulExpressionStatement","src":"18507:18:67"}]},"condition":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"18493:5:67"},{"name":"max","nodeType":"YulIdentifier","src":"18500:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18490:2:67"},"nodeType":"YulFunctionCall","src":"18490:14:67"},"nodeType":"YulIf","src":"18487:40:67"},{"nodeType":"YulLeave","src":"18540:5:67"}]},"nodeType":"YulCase","src":"18364:191:67","value":{"kind":"number","nodeType":"YulLiteral","src":"18369:1:67","type":"","value":"2"}}],"expression":{"name":"base","nodeType":"YulIdentifier","src":"18285:4:67"},"nodeType":"YulSwitch","src":"18278:277:67"},{"body":{"nodeType":"YulBlock","src":"18687:123:67","statements":[{"nodeType":"YulAssignment","src":"18701:28:67","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"18714:4:67"},{"name":"exponent","nodeType":"YulIdentifier","src":"18720:8:67"}],"functionName":{"name":"exp","nodeType":"YulIdentifier","src":"18710:3:67"},"nodeType":"YulFunctionCall","src":"18710:19:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"18701:5:67"}]},{"body":{"nodeType":"YulBlock","src":"18760:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"18762:16:67"},"nodeType":"YulFunctionCall","src":"18762:18:67"},"nodeType":"YulExpressionStatement","src":"18762:18:67"}]},"condition":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"18748:5:67"},{"name":"max","nodeType":"YulIdentifier","src":"18755:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18745:2:67"},"nodeType":"YulFunctionCall","src":"18745:14:67"},"nodeType":"YulIf","src":"18742:40:67"},{"nodeType":"YulLeave","src":"18795:5:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"18590:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"18596:2:67","type":"","value":"11"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"18587:2:67"},"nodeType":"YulFunctionCall","src":"18587:12:67"},{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"18604:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"18614:2:67","type":"","value":"78"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"18601:2:67"},"nodeType":"YulFunctionCall","src":"18601:16:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"18583:3:67"},"nodeType":"YulFunctionCall","src":"18583:35:67"},{"arguments":[{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"18639:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"18645:3:67","type":"","value":"307"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"18636:2:67"},"nodeType":"YulFunctionCall","src":"18636:13:67"},{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"18654:8:67"},{"kind":"number","nodeType":"YulLiteral","src":"18664:2:67","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"18651:2:67"},"nodeType":"YulFunctionCall","src":"18651:16:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"18632:3:67"},"nodeType":"YulFunctionCall","src":"18632:36:67"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"18567:2:67"},"nodeType":"YulFunctionCall","src":"18567:111:67"},"nodeType":"YulIf","src":"18564:246:67"},{"nodeType":"YulAssignment","src":"18820:57:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18854:1:67","type":"","value":"1"},{"name":"base","nodeType":"YulIdentifier","src":"18857:4:67"},{"name":"exponent","nodeType":"YulIdentifier","src":"18863:8:67"},{"name":"max","nodeType":"YulIdentifier","src":"18873:3:67"}],"functionName":{"name":"checked_exp_helper","nodeType":"YulIdentifier","src":"18835:18:67"},"nodeType":"YulFunctionCall","src":"18835:42:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"18820:5:67"},{"name":"base","nodeType":"YulIdentifier","src":"18827:4:67"}]},{"body":{"nodeType":"YulBlock","src":"18916:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"18918:16:67"},"nodeType":"YulFunctionCall","src":"18918:18:67"},"nodeType":"YulExpressionStatement","src":"18918:18:67"}]},"condition":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"18893:5:67"},{"arguments":[{"name":"max","nodeType":"YulIdentifier","src":"18904:3:67"},{"name":"base","nodeType":"YulIdentifier","src":"18909:4:67"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"18900:3:67"},"nodeType":"YulFunctionCall","src":"18900:14:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18890:2:67"},"nodeType":"YulFunctionCall","src":"18890:25:67"},"nodeType":"YulIf","src":"18887:51:67"},{"nodeType":"YulAssignment","src":"18947:25:67","value":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"18960:5:67"},{"name":"base","nodeType":"YulIdentifier","src":"18967:4:67"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"18956:3:67"},"nodeType":"YulFunctionCall","src":"18956:16:67"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"18947:5:67"}]}]},"name":"checked_exp_unsigned","nodeType":"YulFunctionDefinition","parameters":[{"name":"base","nodeType":"YulTypedName","src":"17935:4:67","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"17941:8:67","type":""},{"name":"max","nodeType":"YulTypedName","src":"17951:3:67","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"17959:5:67","type":""}],"src":"17905:1073:67"},{"body":{"nodeType":"YulBlock","src":"19032:300:67","statements":[{"nodeType":"YulAssignment","src":"19042:25:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"19065:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"19047:17:67"},"nodeType":"YulFunctionCall","src":"19047:20:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"19042:1:67"}]},{"nodeType":"YulAssignment","src":"19076:25:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"19099:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"19081:17:67"},"nodeType":"YulFunctionCall","src":"19081:20:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"19076:1:67"}]},{"body":{"nodeType":"YulBlock","src":"19274:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"19276:16:67"},"nodeType":"YulFunctionCall","src":"19276:18:67"},"nodeType":"YulExpressionStatement","src":"19276:18:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"19186:1:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"19179:6:67"},"nodeType":"YulFunctionCall","src":"19179:9:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"19172:6:67"},"nodeType":"YulFunctionCall","src":"19172:17:67"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"19194:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19201:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"x","nodeType":"YulIdentifier","src":"19269:1:67"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"19197:3:67"},"nodeType":"YulFunctionCall","src":"19197:74:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"19191:2:67"},"nodeType":"YulFunctionCall","src":"19191:81:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19168:3:67"},"nodeType":"YulFunctionCall","src":"19168:105:67"},"nodeType":"YulIf","src":"19165:131:67"},{"nodeType":"YulAssignment","src":"19306:20:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"19321:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"19324:1:67"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"19317:3:67"},"nodeType":"YulFunctionCall","src":"19317:9:67"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"19306:7:67"}]}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"19015:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"19018:1:67","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"19024:7:67","type":""}],"src":"18984:348:67"},{"body":{"nodeType":"YulBlock","src":"19383:146:67","statements":[{"nodeType":"YulAssignment","src":"19393:25:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"19416:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"19398:17:67"},"nodeType":"YulFunctionCall","src":"19398:20:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"19393:1:67"}]},{"nodeType":"YulAssignment","src":"19427:25:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"19450:1:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"19432:17:67"},"nodeType":"YulFunctionCall","src":"19432:20:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"19427:1:67"}]},{"body":{"nodeType":"YulBlock","src":"19474:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"19476:16:67"},"nodeType":"YulFunctionCall","src":"19476:18:67"},"nodeType":"YulExpressionStatement","src":"19476:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"19468:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"19471:1:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"19465:2:67"},"nodeType":"YulFunctionCall","src":"19465:8:67"},"nodeType":"YulIf","src":"19462:34:67"},{"nodeType":"YulAssignment","src":"19506:17:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"19518:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"19521:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19514:3:67"},"nodeType":"YulFunctionCall","src":"19514:9:67"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"19506:4:67"}]}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"19369:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"19372:1:67","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"19378:4:67","type":""}],"src":"19338:191:67"},{"body":{"nodeType":"YulBlock","src":"19578:142:67","statements":[{"nodeType":"YulAssignment","src":"19588:23:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"19609:1:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"19593:15:67"},"nodeType":"YulFunctionCall","src":"19593:18:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"19588:1:67"}]},{"nodeType":"YulAssignment","src":"19620:23:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"19641:1:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"19625:15:67"},"nodeType":"YulFunctionCall","src":"19625:18:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"19620:1:67"}]},{"body":{"nodeType":"YulBlock","src":"19665:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"19667:16:67"},"nodeType":"YulFunctionCall","src":"19667:18:67"},"nodeType":"YulExpressionStatement","src":"19667:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"19659:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"19662:1:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"19656:2:67"},"nodeType":"YulFunctionCall","src":"19656:8:67"},"nodeType":"YulIf","src":"19653:34:67"},{"nodeType":"YulAssignment","src":"19697:17:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"19709:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"19712:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19705:3:67"},"nodeType":"YulFunctionCall","src":"19705:9:67"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"19697:4:67"}]}]},"name":"checked_sub_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"19564:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"19567:1:67","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"19573:4:67","type":""}],"src":"19535:185:67"},{"body":{"nodeType":"YulBlock","src":"19771:51:67","statements":[{"nodeType":"YulAssignment","src":"19781:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19810:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"19792:17:67"},"nodeType":"YulFunctionCall","src":"19792:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"19781:7:67"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19753:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"19763:7:67","type":""}],"src":"19726:96:67"},{"body":{"nodeType":"YulBlock","src":"19881:51:67","statements":[{"nodeType":"YulAssignment","src":"19891:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19920:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"19902:17:67"},"nodeType":"YulFunctionCall","src":"19902:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"19891:7:67"}]}]},"name":"cleanup_t_address_payable","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19863:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"19873:7:67","type":""}],"src":"19828:104:67"},{"body":{"nodeType":"YulBlock","src":"19980:48:67","statements":[{"nodeType":"YulAssignment","src":"19990:32:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20015:5:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"20008:6:67"},"nodeType":"YulFunctionCall","src":"20008:13:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"20001:6:67"},"nodeType":"YulFunctionCall","src":"20001:21:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"19990:7:67"}]}]},"name":"cleanup_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19962:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"19972:7:67","type":""}],"src":"19938:90:67"},{"body":{"nodeType":"YulBlock","src":"20079:32:67","statements":[{"nodeType":"YulAssignment","src":"20089:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"20100:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"20089:7:67"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"20061:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"20071:7:67","type":""}],"src":"20034:77:67"},{"body":{"nodeType":"YulBlock","src":"20180:51:67","statements":[{"nodeType":"YulAssignment","src":"20190:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20219:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"20201:17:67"},"nodeType":"YulFunctionCall","src":"20201:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"20190:7:67"}]}]},"name":"cleanup_t_contract$_Clonable_$11629","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"20162:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"20172:7:67","type":""}],"src":"20117:114:67"},{"body":{"nodeType":"YulBlock","src":"20282:81:67","statements":[{"nodeType":"YulAssignment","src":"20292:65:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20307:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"20314:42:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"20303:3:67"},"nodeType":"YulFunctionCall","src":"20303:54:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"20292:7:67"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"20264:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"20274:7:67","type":""}],"src":"20237:126:67"},{"body":{"nodeType":"YulBlock","src":"20414:32:67","statements":[{"nodeType":"YulAssignment","src":"20424:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"20435:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"20424:7:67"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"20396:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"20406:7:67","type":""}],"src":"20369:77:67"},{"body":{"nodeType":"YulBlock","src":"20496:49:67","statements":[{"nodeType":"YulAssignment","src":"20506:33:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20521:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"20528:10:67","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"20517:3:67"},"nodeType":"YulFunctionCall","src":"20517:22:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"20506:7:67"}]}]},"name":"cleanup_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"20478:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"20488:7:67","type":""}],"src":"20452:93:67"},{"body":{"nodeType":"YulBlock","src":"20594:43:67","statements":[{"nodeType":"YulAssignment","src":"20604:27:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20619:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"20626:4:67","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"20615:3:67"},"nodeType":"YulFunctionCall","src":"20615:16:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"20604:7:67"}]}]},"name":"cleanup_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"20576:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"20586:7:67","type":""}],"src":"20551:86:67"},{"body":{"nodeType":"YulBlock","src":"20721:66:67","statements":[{"nodeType":"YulAssignment","src":"20731:50:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20775:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_address","nodeType":"YulIdentifier","src":"20744:30:67"},"nodeType":"YulFunctionCall","src":"20744:37:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"20731:9:67"}]}]},"name":"convert_t_contract$_Clonable_$11629_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"20701:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"20711:9:67","type":""}],"src":"20643:144:67"},{"body":{"nodeType":"YulBlock","src":"20888:74:67","statements":[{"nodeType":"YulAssignment","src":"20898:58:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20950:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_address_payable","nodeType":"YulIdentifier","src":"20911:38:67"},"nodeType":"YulFunctionCall","src":"20911:45:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"20898:9:67"}]}]},"name":"convert_t_contract$_WitnetRequestBoard_$4162_to_t_address_payable","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"20868:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"20878:9:67","type":""}],"src":"20793:169:67"},{"body":{"nodeType":"YulBlock","src":"21061:66:67","statements":[{"nodeType":"YulAssignment","src":"21071:50:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21115:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_address","nodeType":"YulIdentifier","src":"21084:30:67"},"nodeType":"YulFunctionCall","src":"21084:37:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"21071:9:67"}]}]},"name":"convert_t_contract$_WitnetRequestRandomness_$12753_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21041:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"21051:9:67","type":""}],"src":"20968:159:67"},{"body":{"nodeType":"YulBlock","src":"21193:66:67","statements":[{"nodeType":"YulAssignment","src":"21203:50:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21247:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_uint160","nodeType":"YulIdentifier","src":"21216:30:67"},"nodeType":"YulFunctionCall","src":"21216:37:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"21203:9:67"}]}]},"name":"convert_t_uint160_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21173:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"21183:9:67","type":""}],"src":"21133:126:67"},{"body":{"nodeType":"YulBlock","src":"21333:66:67","statements":[{"nodeType":"YulAssignment","src":"21343:50:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21387:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_uint160","nodeType":"YulIdentifier","src":"21356:30:67"},"nodeType":"YulFunctionCall","src":"21356:37:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"21343:9:67"}]}]},"name":"convert_t_uint160_to_t_address_payable","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21313:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"21323:9:67","type":""}],"src":"21265:134:67"},{"body":{"nodeType":"YulBlock","src":"21465:53:67","statements":[{"nodeType":"YulAssignment","src":"21475:37:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21506:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"21488:17:67"},"nodeType":"YulFunctionCall","src":"21488:24:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"21475:9:67"}]}]},"name":"convert_t_uint160_to_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21445:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"21455:9:67","type":""}],"src":"21405:113:67"},{"body":{"nodeType":"YulBlock","src":"21575:103:67","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"21598:3:67"},{"name":"src","nodeType":"YulIdentifier","src":"21603:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"21608:6:67"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"21585:12:67"},"nodeType":"YulFunctionCall","src":"21585:30:67"},"nodeType":"YulExpressionStatement","src":"21585:30:67"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"21656:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"21661:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21652:3:67"},"nodeType":"YulFunctionCall","src":"21652:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"21670:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21645:6:67"},"nodeType":"YulFunctionCall","src":"21645:27:67"},"nodeType":"YulExpressionStatement","src":"21645:27:67"}]},"name":"copy_calldata_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"21557:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"21562:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"21567:6:67","type":""}],"src":"21524:154:67"},{"body":{"nodeType":"YulBlock","src":"21733:258:67","statements":[{"nodeType":"YulVariableDeclaration","src":"21743:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"21752:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"21747:1:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"21812:63:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"21837:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"21842:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21833:3:67"},"nodeType":"YulFunctionCall","src":"21833:11:67"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"21856:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"21861:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21852:3:67"},"nodeType":"YulFunctionCall","src":"21852:11:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21846:5:67"},"nodeType":"YulFunctionCall","src":"21846:18:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21826:6:67"},"nodeType":"YulFunctionCall","src":"21826:39:67"},"nodeType":"YulExpressionStatement","src":"21826:39:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"21773:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"21776:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"21770:2:67"},"nodeType":"YulFunctionCall","src":"21770:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"21784:19:67","statements":[{"nodeType":"YulAssignment","src":"21786:15:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"21795:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"21798:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21791:3:67"},"nodeType":"YulFunctionCall","src":"21791:10:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"21786:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"21766:3:67","statements":[]},"src":"21762:113:67"},{"body":{"nodeType":"YulBlock","src":"21909:76:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"21959:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"21964:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21955:3:67"},"nodeType":"YulFunctionCall","src":"21955:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"21973:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21948:6:67"},"nodeType":"YulFunctionCall","src":"21948:27:67"},"nodeType":"YulExpressionStatement","src":"21948:27:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"21890:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"21893:6:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"21887:2:67"},"nodeType":"YulFunctionCall","src":"21887:13:67"},"nodeType":"YulIf","src":"21884:101:67"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"21715:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"21720:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"21725:6:67","type":""}],"src":"21684:307:67"},{"body":{"nodeType":"YulBlock","src":"22040:238:67","statements":[{"nodeType":"YulVariableDeclaration","src":"22050:58:67","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"22072:6:67"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"22102:4:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"22080:21:67"},"nodeType":"YulFunctionCall","src":"22080:27:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22068:3:67"},"nodeType":"YulFunctionCall","src":"22068:40:67"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"22054:10:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"22219:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"22221:16:67"},"nodeType":"YulFunctionCall","src":"22221:18:67"},"nodeType":"YulExpressionStatement","src":"22221:18:67"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"22162:10:67"},{"kind":"number","nodeType":"YulLiteral","src":"22174:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22159:2:67"},"nodeType":"YulFunctionCall","src":"22159:34:67"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"22198:10:67"},{"name":"memPtr","nodeType":"YulIdentifier","src":"22210:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"22195:2:67"},"nodeType":"YulFunctionCall","src":"22195:22:67"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"22156:2:67"},"nodeType":"YulFunctionCall","src":"22156:62:67"},"nodeType":"YulIf","src":"22153:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22257:2:67","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"22261:10:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22250:6:67"},"nodeType":"YulFunctionCall","src":"22250:22:67"},"nodeType":"YulExpressionStatement","src":"22250:22:67"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"22026:6:67","type":""},{"name":"size","nodeType":"YulTypedName","src":"22034:4:67","type":""}],"src":"21997:281:67"},{"body":{"nodeType":"YulBlock","src":"22327:190:67","statements":[{"nodeType":"YulAssignment","src":"22337:33:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22364:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"22346:17:67"},"nodeType":"YulFunctionCall","src":"22346:24:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"22337:5:67"}]},{"body":{"nodeType":"YulBlock","src":"22460:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"22462:16:67"},"nodeType":"YulFunctionCall","src":"22462:18:67"},"nodeType":"YulExpressionStatement","src":"22462:18:67"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22385:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"22392:66:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"22382:2:67"},"nodeType":"YulFunctionCall","src":"22382:77:67"},"nodeType":"YulIf","src":"22379:103:67"},{"nodeType":"YulAssignment","src":"22491:20:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22502:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"22509:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22498:3:67"},"nodeType":"YulFunctionCall","src":"22498:13:67"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"22491:3:67"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"22313:5:67","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"22323:3:67","type":""}],"src":"22284:233:67"},{"body":{"nodeType":"YulBlock","src":"22551:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22568:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22571:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22561:6:67"},"nodeType":"YulFunctionCall","src":"22561:88:67"},"nodeType":"YulExpressionStatement","src":"22561:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22665:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"22668:4:67","type":"","value":"0x01"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22658:6:67"},"nodeType":"YulFunctionCall","src":"22658:15:67"},"nodeType":"YulExpressionStatement","src":"22658:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22689:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22692:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22682:6:67"},"nodeType":"YulFunctionCall","src":"22682:15:67"},"nodeType":"YulExpressionStatement","src":"22682:15:67"}]},"name":"panic_error_0x01","nodeType":"YulFunctionDefinition","src":"22523:180:67"},{"body":{"nodeType":"YulBlock","src":"22737:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22754:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22757:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22747:6:67"},"nodeType":"YulFunctionCall","src":"22747:88:67"},"nodeType":"YulExpressionStatement","src":"22747:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22851:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"22854:4:67","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22844:6:67"},"nodeType":"YulFunctionCall","src":"22844:15:67"},"nodeType":"YulExpressionStatement","src":"22844:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22875:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22878:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22868:6:67"},"nodeType":"YulFunctionCall","src":"22868:15:67"},"nodeType":"YulExpressionStatement","src":"22868:15:67"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"22709:180:67"},{"body":{"nodeType":"YulBlock","src":"22923:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22940:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22943:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22933:6:67"},"nodeType":"YulFunctionCall","src":"22933:88:67"},"nodeType":"YulExpressionStatement","src":"22933:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23037:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"23040:4:67","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23030:6:67"},"nodeType":"YulFunctionCall","src":"23030:15:67"},"nodeType":"YulExpressionStatement","src":"23030:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23061:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23064:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23054:6:67"},"nodeType":"YulFunctionCall","src":"23054:15:67"},"nodeType":"YulExpressionStatement","src":"23054:15:67"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"22895:180:67"},{"body":{"nodeType":"YulBlock","src":"23109:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23126:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23129:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23119:6:67"},"nodeType":"YulFunctionCall","src":"23119:88:67"},"nodeType":"YulExpressionStatement","src":"23119:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23223:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"23226:4:67","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23216:6:67"},"nodeType":"YulFunctionCall","src":"23216:15:67"},"nodeType":"YulExpressionStatement","src":"23216:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23247:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23250:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23240:6:67"},"nodeType":"YulFunctionCall","src":"23240:15:67"},"nodeType":"YulExpressionStatement","src":"23240:15:67"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"23081:180:67"},{"body":{"nodeType":"YulBlock","src":"23356:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23373:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23376:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23366:6:67"},"nodeType":"YulFunctionCall","src":"23366:12:67"},"nodeType":"YulExpressionStatement","src":"23366:12:67"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"23267:117:67"},{"body":{"nodeType":"YulBlock","src":"23479:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23496:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23499:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23489:6:67"},"nodeType":"YulFunctionCall","src":"23489:12:67"},"nodeType":"YulExpressionStatement","src":"23489:12:67"}]},"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulFunctionDefinition","src":"23390:117:67"},{"body":{"nodeType":"YulBlock","src":"23602:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23619:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23622:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23612:6:67"},"nodeType":"YulFunctionCall","src":"23612:12:67"},"nodeType":"YulExpressionStatement","src":"23612:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"23513:117:67"},{"body":{"nodeType":"YulBlock","src":"23725:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23742:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23745:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23735:6:67"},"nodeType":"YulFunctionCall","src":"23735:12:67"},"nodeType":"YulExpressionStatement","src":"23735:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"23636:117:67"},{"body":{"nodeType":"YulBlock","src":"23807:54:67","statements":[{"nodeType":"YulAssignment","src":"23817:38:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23835:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"23842:2:67","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23831:3:67"},"nodeType":"YulFunctionCall","src":"23831:14:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23851:2:67","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"23847:3:67"},"nodeType":"YulFunctionCall","src":"23847:7:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23827:3:67"},"nodeType":"YulFunctionCall","src":"23827:28:67"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"23817:6:67"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"23790:5:67","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"23800:6:67","type":""}],"src":"23759:102:67"},{"body":{"nodeType":"YulBlock","src":"23918:51:67","statements":[{"nodeType":"YulAssignment","src":"23928:34:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23953:1:67","type":"","value":"1"},{"name":"value","nodeType":"YulIdentifier","src":"23956:5:67"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"23949:3:67"},"nodeType":"YulFunctionCall","src":"23949:13:67"},"variableNames":[{"name":"newValue","nodeType":"YulIdentifier","src":"23928:8:67"}]}]},"name":"shift_right_1_unsigned","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"23899:5:67","type":""}],"returnVariables":[{"name":"newValue","nodeType":"YulTypedName","src":"23909:8:67","type":""}],"src":"23867:102:67"},{"body":{"nodeType":"YulBlock","src":"24081:118:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"24103:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"24111:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24099:3:67"},"nodeType":"YulFunctionCall","src":"24099:14:67"},{"hexValue":"5769746e657452616e646f6d6e6573733a20616c726561647920696e69746961","kind":"string","nodeType":"YulLiteral","src":"24115:34:67","type":"","value":"WitnetRandomness: already initia"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24092:6:67"},"nodeType":"YulFunctionCall","src":"24092:58:67"},"nodeType":"YulExpressionStatement","src":"24092:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"24171:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"24179:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24167:3:67"},"nodeType":"YulFunctionCall","src":"24167:15:67"},{"hexValue":"6c697a6564","kind":"string","nodeType":"YulLiteral","src":"24184:7:67","type":"","value":"lized"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24160:6:67"},"nodeType":"YulFunctionCall","src":"24160:32:67"},"nodeType":"YulExpressionStatement","src":"24160:32:67"}]},"name":"store_literal_in_memory_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"24073:6:67","type":""}],"src":"23975:224:67"},{"body":{"nodeType":"YulBlock","src":"24311:120:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"24333:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"24341:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24329:3:67"},"nodeType":"YulFunctionCall","src":"24329:14:67"},{"hexValue":"5769746e657452616e646f6d6e6573734d6f636b3a2070656e64696e67207261","kind":"string","nodeType":"YulLiteral","src":"24345:34:67","type":"","value":"WitnetRandomnessMock: pending ra"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24322:6:67"},"nodeType":"YulFunctionCall","src":"24322:58:67"},"nodeType":"YulExpressionStatement","src":"24322:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"24401:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"24409:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24397:3:67"},"nodeType":"YulFunctionCall","src":"24397:15:67"},{"hexValue":"6e646f6d697a65","kind":"string","nodeType":"YulLiteral","src":"24414:9:67","type":"","value":"ndomize"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24390:6:67"},"nodeType":"YulFunctionCall","src":"24390:34:67"},"nodeType":"YulExpressionStatement","src":"24390:34:67"}]},"name":"store_literal_in_memory_5deec3b7674efa4143e47ae07c41ec89edefa27737b7dda5e9c508b304376e18","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"24303:6:67","type":""}],"src":"24205:226:67"},{"body":{"nodeType":"YulBlock","src":"24543:68:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"24565:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"24573:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24561:3:67"},"nodeType":"YulFunctionCall","src":"24561:14:67"},{"hexValue":"436c6f6e61626c653a2043524541544532206661696c6564","kind":"string","nodeType":"YulLiteral","src":"24577:26:67","type":"","value":"Clonable: CREATE2 failed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24554:6:67"},"nodeType":"YulFunctionCall","src":"24554:50:67"},"nodeType":"YulExpressionStatement","src":"24554:50:67"}]},"name":"store_literal_in_memory_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"24535:6:67","type":""}],"src":"24437:174:67"},{"body":{"nodeType":"YulBlock","src":"24723:117:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"24745:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"24753:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24741:3:67"},"nodeType":"YulFunctionCall","src":"24741:14:67"},{"hexValue":"5769746e657452616e646f6d6e6573734d6f636b3a2072657761726420746f6f","kind":"string","nodeType":"YulLiteral","src":"24757:34:67","type":"","value":"WitnetRandomnessMock: reward too"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24734:6:67"},"nodeType":"YulFunctionCall","src":"24734:58:67"},"nodeType":"YulExpressionStatement","src":"24734:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"24813:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"24821:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24809:3:67"},"nodeType":"YulFunctionCall","src":"24809:15:67"},{"hexValue":"206c6f77","kind":"string","nodeType":"YulLiteral","src":"24826:6:67","type":"","value":" low"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24802:6:67"},"nodeType":"YulFunctionCall","src":"24802:31:67"},"nodeType":"YulExpressionStatement","src":"24802:31:67"}]},"name":"store_literal_in_memory_97ea46a021217f19ea885ad2c0a0acbc990fcf1a215843f01e514975240412d1","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"24715:6:67","type":""}],"src":"24617:223:67"},{"body":{"nodeType":"YulBlock","src":"24952:117:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"24974:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"24982:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24970:3:67"},"nodeType":"YulFunctionCall","src":"24970:14:67"},{"hexValue":"5769746e657452616e646f6d6e6573734d6f636b3a206e6f742072616e646f6d","kind":"string","nodeType":"YulLiteral","src":"24986:34:67","type":"","value":"WitnetRandomnessMock: not random"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24963:6:67"},"nodeType":"YulFunctionCall","src":"24963:58:67"},"nodeType":"YulExpressionStatement","src":"24963:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"25042:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"25050:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25038:3:67"},"nodeType":"YulFunctionCall","src":"25038:15:67"},{"hexValue":"697a6564","kind":"string","nodeType":"YulLiteral","src":"25055:6:67","type":"","value":"ized"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25031:6:67"},"nodeType":"YulFunctionCall","src":"25031:31:67"},"nodeType":"YulExpressionStatement","src":"25031:31:67"}]},"name":"store_literal_in_memory_dab070d3b10f889718e0289cd93aedef962a048e98d90e7f3d37a0e511d23892","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"24944:6:67","type":""}],"src":"24846:223:67"},{"body":{"nodeType":"YulBlock","src":"25181:67:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"25203:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"25211:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25199:3:67"},"nodeType":"YulFunctionCall","src":"25199:14:67"},{"hexValue":"436c6f6e61626c653a20435245415445206661696c6564","kind":"string","nodeType":"YulLiteral","src":"25215:25:67","type":"","value":"Clonable: CREATE failed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25192:6:67"},"nodeType":"YulFunctionCall","src":"25192:49:67"},"nodeType":"YulExpressionStatement","src":"25192:49:67"}]},"name":"store_literal_in_memory_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"25173:6:67","type":""}],"src":"25075:173:67"},{"body":{"nodeType":"YulBlock","src":"25305:87:67","statements":[{"body":{"nodeType":"YulBlock","src":"25370:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25379:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25382:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25372:6:67"},"nodeType":"YulFunctionCall","src":"25372:12:67"},"nodeType":"YulExpressionStatement","src":"25372:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25328:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25361:5:67"}],"functionName":{"name":"cleanup_t_address_payable","nodeType":"YulIdentifier","src":"25335:25:67"},"nodeType":"YulFunctionCall","src":"25335:32:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"25325:2:67"},"nodeType":"YulFunctionCall","src":"25325:43:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"25318:6:67"},"nodeType":"YulFunctionCall","src":"25318:51:67"},"nodeType":"YulIf","src":"25315:71:67"}]},"name":"validator_revert_t_address_payable","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"25298:5:67","type":""}],"src":"25254:138:67"},{"body":{"nodeType":"YulBlock","src":"25441:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"25498:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25507:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25510:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25500:6:67"},"nodeType":"YulFunctionCall","src":"25500:12:67"},"nodeType":"YulExpressionStatement","src":"25500:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25464:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25489:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"25471:17:67"},"nodeType":"YulFunctionCall","src":"25471:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"25461:2:67"},"nodeType":"YulFunctionCall","src":"25461:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"25454:6:67"},"nodeType":"YulFunctionCall","src":"25454:43:67"},"nodeType":"YulIf","src":"25451:63:67"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"25434:5:67","type":""}],"src":"25398:122:67"},{"body":{"nodeType":"YulBlock","src":"25587:97:67","statements":[{"body":{"nodeType":"YulBlock","src":"25662:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25671:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25674:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25664:6:67"},"nodeType":"YulFunctionCall","src":"25664:12:67"},"nodeType":"YulExpressionStatement","src":"25664:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25610:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25653:5:67"}],"functionName":{"name":"cleanup_t_contract$_Clonable_$11629","nodeType":"YulIdentifier","src":"25617:35:67"},"nodeType":"YulFunctionCall","src":"25617:42:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"25607:2:67"},"nodeType":"YulFunctionCall","src":"25607:53:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"25600:6:67"},"nodeType":"YulFunctionCall","src":"25600:61:67"},"nodeType":"YulIf","src":"25597:81:67"}]},"name":"validator_revert_t_contract$_Clonable_$11629","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"25580:5:67","type":""}],"src":"25526:158:67"},{"body":{"nodeType":"YulBlock","src":"25733:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"25790:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25799:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25802:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25792:6:67"},"nodeType":"YulFunctionCall","src":"25792:12:67"},"nodeType":"YulExpressionStatement","src":"25792:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25756:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25781:5:67"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"25763:17:67"},"nodeType":"YulFunctionCall","src":"25763:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"25753:2:67"},"nodeType":"YulFunctionCall","src":"25753:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"25746:6:67"},"nodeType":"YulFunctionCall","src":"25746:43:67"},"nodeType":"YulIf","src":"25743:63:67"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"25726:5:67","type":""}],"src":"25690:122:67"},{"body":{"nodeType":"YulBlock","src":"25860:78:67","statements":[{"body":{"nodeType":"YulBlock","src":"25916:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25925:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25928:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25918:6:67"},"nodeType":"YulFunctionCall","src":"25918:12:67"},"nodeType":"YulExpressionStatement","src":"25918:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25883:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25907:5:67"}],"functionName":{"name":"cleanup_t_uint32","nodeType":"YulIdentifier","src":"25890:16:67"},"nodeType":"YulFunctionCall","src":"25890:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"25880:2:67"},"nodeType":"YulFunctionCall","src":"25880:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"25873:6:67"},"nodeType":"YulFunctionCall","src":"25873:42:67"},"nodeType":"YulIf","src":"25870:62:67"}]},"name":"validator_revert_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"25853:5:67","type":""}],"src":"25818:120:67"}]},"contents":"{\n\n    function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n        mstore(array, length)\n        let dst := add(array, 0x20)\n        if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n        copy_calldata_to_memory(src, dst, length)\n    }\n\n    function abi_decode_t_address_payable_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_address_payable(value)\n    }\n\n    function abi_decode_t_bytes32(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_bytes32(value)\n    }\n\n    function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_bytes32(value)\n    }\n\n    // bytes\n    function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := calldataload(offset)\n        array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n    }\n\n    function abi_decode_t_contract$_Clonable_$11629_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_contract$_Clonable_$11629(value)\n    }\n\n    function abi_decode_t_uint256(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint256(value)\n    }\n\n    function abi_decode_t_uint32(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint32(value)\n    }\n\n    function abi_decode_tuple_t_address_payable_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_address_payable_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_bytes32_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_contract$_Clonable_$11629_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_contract$_Clonable_$11629_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint32t_uint256t_bytes32(headStart, dataEnd) -> value0, value1, value2 {\n        if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint32(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 64\n\n            value2 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint32t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2 {\n        if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint32(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 64\n\n            value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n        mstore(pos, cleanup_t_address(value))\n    }\n\n    function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n        mstore(pos, cleanup_t_bool(value))\n    }\n\n    function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n        mstore(pos, cleanup_t_bytes32(value))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_contract$_Clonable_$11629_to_t_address_fromStack(value, pos) {\n        mstore(pos, convert_t_contract$_Clonable_$11629_to_t_address(value))\n    }\n\n    function abi_encode_t_contract$_WitnetRequestBoard_$4162_to_t_address_payable_fromStack(value, pos) {\n        mstore(pos, convert_t_contract$_WitnetRequestBoard_$4162_to_t_address_payable(value))\n    }\n\n    function abi_encode_t_contract$_WitnetRequestRandomness_$12753_to_t_address_fromStack(value, pos) {\n        mstore(pos, convert_t_contract$_WitnetRequestRandomness_$12753_to_t_address(value))\n    }\n\n    function abi_encode_t_stringliteral_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n        store_literal_in_memory_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_5deec3b7674efa4143e47ae07c41ec89edefa27737b7dda5e9c508b304376e18_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 39)\n        store_literal_in_memory_5deec3b7674efa4143e47ae07c41ec89edefa27737b7dda5e9c508b304376e18(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n        store_literal_in_memory_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_t_stringliteral_97ea46a021217f19ea885ad2c0a0acbc990fcf1a215843f01e514975240412d1_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n        store_literal_in_memory_97ea46a021217f19ea885ad2c0a0acbc990fcf1a215843f01e514975240412d1(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_dab070d3b10f889718e0289cd93aedef962a048e98d90e7f3d37a0e511d23892_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n        store_literal_in_memory_dab070d3b10f889718e0289cd93aedef962a048e98d90e7f3d37a0e511d23892(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 23)\n        store_literal_in_memory_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint256(value))\n    }\n\n    function abi_encode_t_uint32_to_t_uint32_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint32(value))\n    }\n\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_address_to_t_address_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart , value1, value0) -> tail {\n        tail := add(headStart, 64)\n\n        abi_encode_t_address_to_t_address_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_bytes32_to_t_bytes32_fromStack(value1,  add(headStart, 32))\n\n    }\n\n    function abi_encode_tuple_t_address_t_uint256_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n        tail := add(headStart, 128)\n\n        abi_encode_t_address_to_t_address_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value1,  add(headStart, 32))\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value2,  add(headStart, 64))\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value3,  add(headStart, 96))\n\n    }\n\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_bool_to_t_bool_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_bytes32_to_t_bytes32_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n        tail := add(headStart, 64)\n\n        abi_encode_t_bytes32_to_t_bytes32_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value1,  add(headStart, 32))\n\n    }\n\n    function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_contract$_Clonable_$11629__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_contract$_Clonable_$11629_to_t_address_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_contract$_WitnetRequestBoard_$4162__to_t_address_payable__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_contract$_WitnetRequestBoard_$4162_to_t_address_payable_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_contract$_WitnetRequestRandomness_$12753__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_contract$_WitnetRequestRandomness_$12753_to_t_address_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_5deec3b7674efa4143e47ae07c41ec89edefa27737b7dda5e9c508b304376e18__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_5deec3b7674efa4143e47ae07c41ec89edefa27737b7dda5e9c508b304376e18_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_97ea46a021217f19ea885ad2c0a0acbc990fcf1a215843f01e514975240412d1__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_97ea46a021217f19ea885ad2c0a0acbc990fcf1a215843f01e514975240412d1_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_dab070d3b10f889718e0289cd93aedef962a048e98d90e7f3d37a0e511d23892__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_dab070d3b10f889718e0289cd93aedef962a048e98d90e7f3d37a0e511d23892_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_uint256_t_bytes32__to_t_uint256_t_bytes32__fromStack_reversed(headStart , value1, value0) -> tail {\n        tail := add(headStart, 64)\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_bytes32_to_t_bytes32_fromStack(value1,  add(headStart, 32))\n\n    }\n\n    function abi_encode_tuple_t_uint32__to_t_uint32__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_uint32_to_t_uint32_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function allocate_memory(size) -> memPtr {\n        memPtr := allocate_unbounded()\n        finalize_allocation(memPtr, size)\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := round_up_to_mul_of_32(length)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_length_t_bytes_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function checked_add_t_uint256(x, y) -> sum {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        // overflow, if x > (maxValue - y)\n        if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n        sum := add(x, y)\n    }\n\n    function checked_exp_helper(_power, _base, exponent, max) -> power, base {\n        power := _power\n        base  := _base\n        for { } gt(exponent, 1) {}\n        {\n            // overflow check for base * base\n            if gt(base, div(max, base)) { panic_error_0x11() }\n            if and(exponent, 1)\n            {\n                // No checks for power := mul(power, base) needed, because the check\n                // for base * base above is sufficient, since:\n                // |power| <= base (proof by induction) and thus:\n                // |power * base| <= base * base <= max <= |min| (for signed)\n                // (this is equally true for signed and unsigned exp)\n                power := mul(power, base)\n            }\n            base := mul(base, base)\n            exponent := shift_right_1_unsigned(exponent)\n        }\n    }\n\n    function checked_exp_t_uint256_t_uint8(base, exponent) -> power {\n        base := cleanup_t_uint256(base)\n        exponent := cleanup_t_uint8(exponent)\n\n        power := checked_exp_unsigned(base, exponent, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n\n    }\n\n    function checked_exp_unsigned(base, exponent, max) -> power {\n        // This function currently cannot be inlined because of the\n        // \"leave\" statements. We have to improve the optimizer.\n\n        // Note that 0**0 == 1\n        if iszero(exponent) { power := 1 leave }\n        if iszero(base) { power := 0 leave }\n\n        // Specializations for small bases\n        switch base\n        // 0 is handled above\n        case 1 { power := 1 leave }\n        case 2\n        {\n            if gt(exponent, 255) { panic_error_0x11() }\n            power := exp(2, exponent)\n            if gt(power, max) { panic_error_0x11() }\n            leave\n        }\n        if or(\n            and(lt(base, 11), lt(exponent, 78)),\n            and(lt(base, 307), lt(exponent, 32))\n        )\n        {\n            power := exp(base, exponent)\n            if gt(power, max) { panic_error_0x11() }\n            leave\n        }\n\n        power, base := checked_exp_helper(1, base, exponent, max)\n\n        if gt(power, div(max, base)) { panic_error_0x11() }\n        power := mul(power, base)\n    }\n\n    function checked_mul_t_uint256(x, y) -> product {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        // overflow, if x != 0 and y > (maxValue / x)\n        if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n        product := mul(x, y)\n    }\n\n    function checked_sub_t_uint256(x, y) -> diff {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        if lt(x, y) { panic_error_0x11() }\n\n        diff := sub(x, y)\n    }\n\n    function checked_sub_t_uint8(x, y) -> diff {\n        x := cleanup_t_uint8(x)\n        y := cleanup_t_uint8(y)\n\n        if lt(x, y) { panic_error_0x11() }\n\n        diff := sub(x, y)\n    }\n\n    function cleanup_t_address(value) -> cleaned {\n        cleaned := cleanup_t_uint160(value)\n    }\n\n    function cleanup_t_address_payable(value) -> cleaned {\n        cleaned := cleanup_t_uint160(value)\n    }\n\n    function cleanup_t_bool(value) -> cleaned {\n        cleaned := iszero(iszero(value))\n    }\n\n    function cleanup_t_bytes32(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_contract$_Clonable_$11629(value) -> cleaned {\n        cleaned := cleanup_t_address(value)\n    }\n\n    function cleanup_t_uint160(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n    }\n\n    function cleanup_t_uint256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_uint32(value) -> cleaned {\n        cleaned := and(value, 0xffffffff)\n    }\n\n    function cleanup_t_uint8(value) -> cleaned {\n        cleaned := and(value, 0xff)\n    }\n\n    function convert_t_contract$_Clonable_$11629_to_t_address(value) -> converted {\n        converted := convert_t_uint160_to_t_address(value)\n    }\n\n    function convert_t_contract$_WitnetRequestBoard_$4162_to_t_address_payable(value) -> converted {\n        converted := convert_t_uint160_to_t_address_payable(value)\n    }\n\n    function convert_t_contract$_WitnetRequestRandomness_$12753_to_t_address(value) -> converted {\n        converted := convert_t_uint160_to_t_address(value)\n    }\n\n    function convert_t_uint160_to_t_address(value) -> converted {\n        converted := convert_t_uint160_to_t_uint160(value)\n    }\n\n    function convert_t_uint160_to_t_address_payable(value) -> converted {\n        converted := convert_t_uint160_to_t_uint160(value)\n    }\n\n    function convert_t_uint160_to_t_uint160(value) -> converted {\n        converted := cleanup_t_uint160(value)\n    }\n\n    function copy_calldata_to_memory(src, dst, length) {\n        calldatacopy(dst, src, length)\n        // clear end\n        mstore(add(dst, length), 0)\n    }\n\n    function copy_memory_to_memory(src, dst, length) {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        if gt(i, length)\n        {\n            // clear end\n            mstore(add(dst, length), 0)\n        }\n    }\n\n    function finalize_allocation(memPtr, size) {\n        let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n        // protect against overflow\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n\n    function increment_t_uint256(value) -> ret {\n        value := cleanup_t_uint256(value)\n        if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n\n    function panic_error_0x01() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x01)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x11() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x32() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x41() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n\n    function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n        revert(0, 0)\n    }\n\n    function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n        revert(0, 0)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function round_up_to_mul_of_32(value) -> result {\n        result := and(add(value, 31), not(31))\n    }\n\n    function shift_right_1_unsigned(value) -> newValue {\n        newValue :=\n\n        shr(1, value)\n\n    }\n\n    function store_literal_in_memory_27c0b327cc0b018b53b9b18cb2a71bb258135ad5b76449ea5db5c16e0520006c(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRandomness: already initia\")\n\n        mstore(add(memPtr, 32), \"lized\")\n\n    }\n\n    function store_literal_in_memory_5deec3b7674efa4143e47ae07c41ec89edefa27737b7dda5e9c508b304376e18(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRandomnessMock: pending ra\")\n\n        mstore(add(memPtr, 32), \"ndomize\")\n\n    }\n\n    function store_literal_in_memory_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf(memPtr) {\n\n        mstore(add(memPtr, 0), \"Clonable: CREATE2 failed\")\n\n    }\n\n    function store_literal_in_memory_97ea46a021217f19ea885ad2c0a0acbc990fcf1a215843f01e514975240412d1(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRandomnessMock: reward too\")\n\n        mstore(add(memPtr, 32), \" low\")\n\n    }\n\n    function store_literal_in_memory_dab070d3b10f889718e0289cd93aedef962a048e98d90e7f3d37a0e511d23892(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRandomnessMock: not random\")\n\n        mstore(add(memPtr, 32), \"ized\")\n\n    }\n\n    function store_literal_in_memory_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e(memPtr) {\n\n        mstore(add(memPtr, 0), \"Clonable: CREATE failed\")\n\n    }\n\n    function validator_revert_t_address_payable(value) {\n        if iszero(eq(value, cleanup_t_address_payable(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_bytes32(value) {\n        if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_contract$_Clonable_$11629(value) {\n        if iszero(eq(value, cleanup_t_contract$_Clonable_$11629(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint256(value) {\n        if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint32(value) {\n        if iszero(eq(value, cleanup_t_uint32(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"3938":[{"length":32,"start":1795}],"11531":[{"length":32,"start":2425},{"length":32,"start":2551},{"length":32,"start":3322},{"length":32,"start":3586},{"length":32,"start":4264},{"length":32,"start":4529}]},"linkReferences":{},"object":"6080604052600436106101095760003560e01c80639938fd0c11610095578063a60ee26811610064578063a60ee2681461038b578063daaa360c146103c8578063e35329f814610405578063e7d4a01614610435578063fb476cad1461047257610109565b80639938fd0c146102b85780639bc86fec146102e3578063a04daef014610320578063a3252f681461034b57610109565b806340b41daa116100dc57806340b41daa146101de578063439fab911461021b57806346d1d21a14610244578063699b328a1461026f5780637104ddb21461028d57610109565b806309ed46071461010e57806324cbbfc11461013957806336b651bb146101765780633b13e76e146101b3575b600080fd5b34801561011a57600080fd5b506101236104af565b6040516101309190611959565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b9190611679565b6104c7565b60405161016d9190611aae565b60405180910390f35b34801561018257600080fd5b5061019d600480360381019061019891906115f9565b61050d565b6040516101aa9190611a6a565b60405180910390f35b3480156101bf57600080fd5b506101c861055c565b6040516101d5919061198f565b60405180910390f35b3480156101ea57600080fd5b50610205600480360381019061020091906115f9565b610580565b6040516102129190611a6a565b60405180910390f35b34801561022757600080fd5b50610242600480360381019061023d9190611583565b61061c565b005b34801561025057600080fd5b50610259610701565b6040516102669190611974565b60405180910390f35b610277610725565b6040516102849190611a6a565b60405180910390f35b34801561029957600080fd5b506102a2610977565b6040516102af919061184f565b60405180910390f35b3480156102c457600080fd5b506102cd61099b565b6040516102da9190611a6a565b60405180910390f35b3480156102ef57600080fd5b5061030a600480360381019061030591906115f9565b6109a1565b60405161031791906118d8565b60405180910390f35b34801561032c57600080fd5b506103356109f3565b60405161034291906118d8565b60405180910390f35b34801561035757600080fd5b50610372600480360381019061036d91906115f9565b610a4a565b6040516103829493929190611893565b60405180910390f35b34801561039757600080fd5b506103b260048036038101906103ad91906115f9565b610aab565b6040516103bf9190611a6a565b60405180910390f35b3480156103d457600080fd5b506103ef60048036038101906103ea9190611529565b610ab7565b6040516103fc9190611959565b60405180910390f35b61041f600480360381019061041a91906115f9565b610ad2565b60405161042c9190611a6a565b60405180910390f35b34801561044157600080fd5b5061045c60048036038101906104579190611626565b610b2d565b6040516104699190611aae565b60405180910390f35b34801561047e57600080fd5b50610499600480360381019061049491906115f9565b610bb4565b6040516104a691906118f3565b60405180910390f35b60006104b9610cf5565b90506104c481610e7e565b90565b60006105048484336104d886610bb4565b6040516020016104e992919061186a565b60405160208183030381529060405280519060200120610b2d565b90509392505050565b600080821161051f5761051e611f90565b5b600060015490508083116105525761054d83600260008481526020019081526020016000206001015461101c565b610554565b805b915050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156105fd576105f882600154611054565b610615565b60026000838152602001908152602001600020600201545b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a2906119aa565b60405180910390fd5b808060200190518101906106bf91906114fc565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600043600154101561091957600454905080341015610779576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077090611a0a565b60405180910390fd5b600060056000815461078a90611f47565b91905081905590506000600260004381526020019081526020016000209050338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508181600301819055506000600154905080826001018190555043600260008381526020019081526020016000206002018190555043600181905550803373ffffffffffffffffffffffffffffffffffffffff167faf291bb4e1767569c77502edb6ad1009e856f57c09f214886c6becc9836c20c08560008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309bd5a606040518163ffffffff1660e01b815260040160206040518083038186803b1580156108c757600080fd5b505afa1580156108db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ff9190611556565b60405161090d929190611a85565b60405180910390a35050505b34811015610974573373ffffffffffffffffffffffffffffffffffffffff166108fc82346109479190611d6d565b9081150290604051600060405180830381858888f19350505050158015610972573d6000803e3d6000fd5b505b90565b7f000000000000000000000000000000000000000000000000000000000000000081565b60015481565b60008060026000848152602001908152602001600020905060008160030154141580156109eb5750600360009054906101000a900460ff1660ff16836109e79190611b4c565b4310155b915050919050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415905090565b6000806000806000600260008781526020019081526020016000209050806003015493508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1694508060010154925080600201549150509193509193565b60006004549050919050565b6000610ac2826110a3565b9050610acd81610e7e565b919050565b600080341115610b24573373ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610b22573d6000803e3d6000fd5b505b60009050919050565b600080610b398561122f565b60ff610b459190611da1565b905060006001826002610b589190611bf5565b610b629190611d6d565b8486604051602001610b7592919061190e565b6040516020818303038152906040528051906020012060001c1690508160ff168663ffffffff1682610ba79190611d13565b901c925050509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610c2c57610c2982610580565b91505b6000600260008481526020019081526020016000206003015490506000811415610c8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8290611a2a565b60405180910390fd5b600360009054906101000a900460ff1660ff1683610ca99190611b4c565b431015610ceb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce2906119ca565b60405180910390fd5b8240915050919050565b6000807f000000000000000000000000000000000000000000000000000000000000000090506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160601b60148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f0925050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610de9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de090611a4a565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff376596be5039d6b2fb36fead4c8a370eae426e790a869be8db074ab608cc24860405160405180910390a45090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309ed46076040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610ee957600080fd5b505af1158015610efd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2191906115cc565b90508073ffffffffffffffffffffffffffffffffffffffff1663f2fde38b336040518263ffffffff1660e01b8152600401610f5c919061184f565b600060405180830381600087803b158015610f7657600080fd5b505af1158015610f8a573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663439fab9182604051602001610fbb919061184f565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401610fe69190611937565b600060405180830381600087803b15801561100057600080fd5b505af1158015611014573d6000803e3d6000fd5b505050505050565b600081831161104a5761104583600260008581526020019081526020016000206001015461101c565b61104c565b815b905092915050565b6000818310156110835761107e836002600085815260200190815260200160002060010154611054565b61109b565b60026000838152602001908152602001600020600201545b905092915050565b6000807f000000000000000000000000000000000000000000000000000000000000000090506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160601b60148201527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006028820152836037826000f5925050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611198576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118f906119ea565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff376596be5039d6b2fb36fead4c8a370eae426e790a869be8db074ab608cc24860405160405180910390a450919050565b600080604051806104000160405280600060ff168152602001600960ff168152602001600160ff168152602001600a60ff168152602001600d60ff168152602001601560ff168152602001600260ff168152602001601d60ff168152602001600b60ff168152602001600e60ff168152602001601060ff168152602001601260ff168152602001601660ff168152602001601960ff168152602001600360ff168152602001601e60ff168152602001600860ff168152602001600c60ff168152602001601460ff168152602001601c60ff168152602001600f60ff168152602001601160ff168152602001601860ff168152602001600760ff168152602001601360ff168152602001601b60ff168152602001601760ff168152602001600660ff168152602001601a60ff168152602001600560ff168152602001600460ff168152602001601f60ff16815250905060018363ffffffff16901c8317925060028363ffffffff16901c8317925060048363ffffffff16901c8317925060088363ffffffff16901c8317925060108363ffffffff16901c8317925080601b6307c4acdd8563ffffffff166113e29190611d13565b63ffffffff16901c63ffffffff166020811061140157611400611fee565b5b6020020151915050919050565b600061142161141c84611aee565b611ac9565b90508281526020810184848401111561143d5761143c612051565b5b611448848285611ed4565b509392505050565b60008151905061145f8161220c565b92915050565b60008135905061147481612223565b92915050565b60008151905061148981612223565b92915050565b600082601f8301126114a4576114a361204c565b5b81356114b484826020860161140e565b91505092915050565b6000815190506114cc8161223a565b92915050565b6000813590506114e181612251565b92915050565b6000813590506114f681612268565b92915050565b6000602082840312156115125761151161205b565b5b600061152084828501611450565b91505092915050565b60006020828403121561153f5761153e61205b565b5b600061154d84828501611465565b91505092915050565b60006020828403121561156c5761156b61205b565b5b600061157a8482850161147a565b91505092915050565b6000602082840312156115995761159861205b565b5b600082013567ffffffffffffffff8111156115b7576115b6612056565b5b6115c38482850161148f565b91505092915050565b6000602082840312156115e2576115e161205b565b5b60006115f0848285016114bd565b91505092915050565b60006020828403121561160f5761160e61205b565b5b600061161d848285016114d2565b91505092915050565b60008060006060848603121561163f5761163e61205b565b5b600061164d868287016114e7565b935050602061165e868287016114d2565b925050604061166f86828701611465565b9150509250925092565b6000806000606084860312156116925761169161205b565b5b60006116a0868287016114e7565b93505060206116b1868287016114d2565b92505060406116c2868287016114d2565b9150509250925092565b6116d581611dd5565b82525050565b6116e481611df9565b82525050565b6116f381611e05565b82525050565b600061170482611b1f565b61170e8185611b2a565b935061171e818560208601611ee3565b61172781612060565b840191505092915050565b61173b81611e68565b82525050565b61174a81611e7a565b82525050565b61175981611e8c565b82525050565b600061176c602583611b3b565b91506117778261207e565b604082019050919050565b600061178f602783611b3b565b915061179a826120cd565b604082019050919050565b60006117b2601883611b3b565b91506117bd8261211c565b602082019050919050565b60006117d5602483611b3b565b91506117e082612145565b604082019050919050565b60006117f8602483611b3b565b915061180382612194565b604082019050919050565b600061181b601783611b3b565b9150611826826121e3565b602082019050919050565b61183a81611e41565b82525050565b61184981611e4b565b82525050565b600060208201905061186460008301846116cc565b92915050565b600060408201905061187f60008301856116cc565b61188c60208301846116ea565b9392505050565b60006080820190506118a860008301876116cc565b6118b56020830186611831565b6118c26040830185611831565b6118cf6060830184611831565b95945050505050565b60006020820190506118ed60008301846116db565b92915050565b600060208201905061190860008301846116ea565b92915050565b600060408201905061192360008301856116ea565b6119306020830184611831565b9392505050565b6000602082019050818103600083015261195181846116f9565b905092915050565b600060208201905061196e6000830184611732565b92915050565b60006020820190506119896000830184611741565b92915050565b60006020820190506119a46000830184611750565b92915050565b600060208201905081810360008301526119c38161175f565b9050919050565b600060208201905081810360008301526119e381611782565b9050919050565b60006020820190508181036000830152611a03816117a5565b9050919050565b60006020820190508181036000830152611a23816117c8565b9050919050565b60006020820190508181036000830152611a43816117eb565b9050919050565b60006020820190508181036000830152611a638161180e565b9050919050565b6000602082019050611a7f6000830184611831565b92915050565b6000604082019050611a9a6000830185611831565b611aa760208301846116ea565b9392505050565b6000602082019050611ac36000830184611840565b92915050565b6000611ad3611ae4565b9050611adf8282611f16565b919050565b6000604051905090565b600067ffffffffffffffff821115611b0957611b0861201d565b5b611b1282612060565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000611b5782611e41565b9150611b6283611e41565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611b9757611b96611fbf565b5b828201905092915050565b6000808291508390505b6001851115611bec57808604811115611bc857611bc7611fbf565b5b6001851615611bd75780820291505b8081029050611be585612071565b9450611bac565b94509492505050565b6000611c0082611e41565b9150611c0b83611e5b565b9250611c387fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611c40565b905092915050565b600082611c505760019050611d0c565b81611c5e5760009050611d0c565b8160018114611c745760028114611c7e57611cad565b6001915050611d0c565b60ff841115611c9057611c8f611fbf565b5b8360020a915084821115611ca757611ca6611fbf565b5b50611d0c565b5060208310610133831016604e8410600b8410161715611ce25782820a905083811115611cdd57611cdc611fbf565b5b611d0c565b611cef8484846001611ba2565b92509050818404811115611d0657611d05611fbf565b5b81810290505b9392505050565b6000611d1e82611e41565b9150611d2983611e41565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611d6257611d61611fbf565b5b828202905092915050565b6000611d7882611e41565b9150611d8383611e41565b925082821015611d9657611d95611fbf565b5b828203905092915050565b6000611dac82611e5b565b9150611db783611e5b565b925082821015611dca57611dc9611fbf565b5b828203905092915050565b6000611de082611e21565b9050919050565b6000611df282611e21565b9050919050565b60008115159050919050565b6000819050919050565b6000611e1a82611dd5565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600060ff82169050919050565b6000611e7382611e9e565b9050919050565b6000611e8582611eb0565b9050919050565b6000611e9782611e9e565b9050919050565b6000611ea982611ec2565b9050919050565b6000611ebb82611ec2565b9050919050565b6000611ecd82611e21565b9050919050565b82818337600083830152505050565b60005b83811015611f01578082015181840152602081019050611ee6565b83811115611f10576000848401525b50505050565b611f1f82612060565b810181811067ffffffffffffffff82111715611f3e57611f3d61201d565b5b80604052505050565b6000611f5282611e41565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611f8557611f84611fbf565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f5769746e657452616e646f6d6e6573733a20616c726561647920696e6974696160008201527f6c697a6564000000000000000000000000000000000000000000000000000000602082015250565b7f5769746e657452616e646f6d6e6573734d6f636b3a2070656e64696e6720726160008201527f6e646f6d697a6500000000000000000000000000000000000000000000000000602082015250565b7f436c6f6e61626c653a2043524541544532206661696c65640000000000000000600082015250565b7f5769746e657452616e646f6d6e6573734d6f636b3a2072657761726420746f6f60008201527f206c6f7700000000000000000000000000000000000000000000000000000000602082015250565b7f5769746e657452616e646f6d6e6573734d6f636b3a206e6f742072616e646f6d60008201527f697a656400000000000000000000000000000000000000000000000000000000602082015250565b7f436c6f6e61626c653a20435245415445206661696c6564000000000000000000600082015250565b61221581611de7565b811461222057600080fd5b50565b61222c81611e05565b811461223757600080fd5b50565b61224381611e0f565b811461224e57600080fd5b50565b61225a81611e41565b811461226557600080fd5b50565b61227181611e4b565b811461227c57600080fd5b5056fea2646970667358221220c43f6e704bfd58fc565704a9130b6e8f4fd24f92ba9c5a37c952af2ebf55964064736f6c63430008070033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x109 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9938FD0C GT PUSH2 0x95 JUMPI DUP1 PUSH4 0xA60EE268 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xA60EE268 EQ PUSH2 0x38B JUMPI DUP1 PUSH4 0xDAAA360C EQ PUSH2 0x3C8 JUMPI DUP1 PUSH4 0xE35329F8 EQ PUSH2 0x405 JUMPI DUP1 PUSH4 0xE7D4A016 EQ PUSH2 0x435 JUMPI DUP1 PUSH4 0xFB476CAD EQ PUSH2 0x472 JUMPI PUSH2 0x109 JUMP JUMPDEST DUP1 PUSH4 0x9938FD0C EQ PUSH2 0x2B8 JUMPI DUP1 PUSH4 0x9BC86FEC EQ PUSH2 0x2E3 JUMPI DUP1 PUSH4 0xA04DAEF0 EQ PUSH2 0x320 JUMPI DUP1 PUSH4 0xA3252F68 EQ PUSH2 0x34B JUMPI PUSH2 0x109 JUMP JUMPDEST DUP1 PUSH4 0x40B41DAA GT PUSH2 0xDC JUMPI DUP1 PUSH4 0x40B41DAA EQ PUSH2 0x1DE JUMPI DUP1 PUSH4 0x439FAB91 EQ PUSH2 0x21B JUMPI DUP1 PUSH4 0x46D1D21A EQ PUSH2 0x244 JUMPI DUP1 PUSH4 0x699B328A EQ PUSH2 0x26F JUMPI DUP1 PUSH4 0x7104DDB2 EQ PUSH2 0x28D JUMPI PUSH2 0x109 JUMP JUMPDEST DUP1 PUSH4 0x9ED4607 EQ PUSH2 0x10E JUMPI DUP1 PUSH4 0x24CBBFC1 EQ PUSH2 0x139 JUMPI DUP1 PUSH4 0x36B651BB EQ PUSH2 0x176 JUMPI DUP1 PUSH4 0x3B13E76E EQ PUSH2 0x1B3 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x123 PUSH2 0x4AF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x130 SWAP2 SWAP1 PUSH2 0x1959 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x145 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x160 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15B SWAP2 SWAP1 PUSH2 0x1679 JUMP JUMPDEST PUSH2 0x4C7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x16D SWAP2 SWAP1 PUSH2 0x1AAE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x182 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x19D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x198 SWAP2 SWAP1 PUSH2 0x15F9 JUMP JUMPDEST PUSH2 0x50D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AA SWAP2 SWAP1 PUSH2 0x1A6A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C8 PUSH2 0x55C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D5 SWAP2 SWAP1 PUSH2 0x198F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x205 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x200 SWAP2 SWAP1 PUSH2 0x15F9 JUMP JUMPDEST PUSH2 0x580 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x212 SWAP2 SWAP1 PUSH2 0x1A6A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x227 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x242 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x23D SWAP2 SWAP1 PUSH2 0x1583 JUMP JUMPDEST PUSH2 0x61C JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x250 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x259 PUSH2 0x701 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x266 SWAP2 SWAP1 PUSH2 0x1974 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x277 PUSH2 0x725 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x284 SWAP2 SWAP1 PUSH2 0x1A6A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x299 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2A2 PUSH2 0x977 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2AF SWAP2 SWAP1 PUSH2 0x184F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2CD PUSH2 0x99B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2DA SWAP2 SWAP1 PUSH2 0x1A6A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x30A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x305 SWAP2 SWAP1 PUSH2 0x15F9 JUMP JUMPDEST PUSH2 0x9A1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x317 SWAP2 SWAP1 PUSH2 0x18D8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x335 PUSH2 0x9F3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x342 SWAP2 SWAP1 PUSH2 0x18D8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x357 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x372 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x36D SWAP2 SWAP1 PUSH2 0x15F9 JUMP JUMPDEST PUSH2 0xA4A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x382 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1893 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x397 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3AD SWAP2 SWAP1 PUSH2 0x15F9 JUMP JUMPDEST PUSH2 0xAAB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3BF SWAP2 SWAP1 PUSH2 0x1A6A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3EA SWAP2 SWAP1 PUSH2 0x1529 JUMP JUMPDEST PUSH2 0xAB7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3FC SWAP2 SWAP1 PUSH2 0x1959 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x41F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x41A SWAP2 SWAP1 PUSH2 0x15F9 JUMP JUMPDEST PUSH2 0xAD2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x42C SWAP2 SWAP1 PUSH2 0x1A6A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x441 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x457 SWAP2 SWAP1 PUSH2 0x1626 JUMP JUMPDEST PUSH2 0xB2D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x469 SWAP2 SWAP1 PUSH2 0x1AAE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x47E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x499 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x494 SWAP2 SWAP1 PUSH2 0x15F9 JUMP JUMPDEST PUSH2 0xBB4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4A6 SWAP2 SWAP1 PUSH2 0x18F3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x4B9 PUSH2 0xCF5 JUMP JUMPDEST SWAP1 POP PUSH2 0x4C4 DUP2 PUSH2 0xE7E JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x504 DUP5 DUP5 CALLER PUSH2 0x4D8 DUP7 PUSH2 0xBB4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x4E9 SWAP3 SWAP2 SWAP1 PUSH2 0x186A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0xB2D JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 GT PUSH2 0x51F JUMPI PUSH2 0x51E PUSH2 0x1F90 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH1 0x1 SLOAD SWAP1 POP DUP1 DUP4 GT PUSH2 0x552 JUMPI PUSH2 0x54D DUP4 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x101C JUMP JUMPDEST PUSH2 0x554 JUMP JUMPDEST DUP1 JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x5FD JUMPI PUSH2 0x5F8 DUP3 PUSH1 0x1 SLOAD PUSH2 0x1054 JUMP JUMPDEST PUSH2 0x615 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD SLOAD JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x6AB JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6A2 SWAP1 PUSH2 0x19AA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x6BF SWAP2 SWAP1 PUSH2 0x14FC JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 NUMBER PUSH1 0x1 SLOAD LT ISZERO PUSH2 0x919 JUMPI PUSH1 0x4 SLOAD SWAP1 POP DUP1 CALLVALUE LT ISZERO PUSH2 0x779 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x770 SWAP1 PUSH2 0x1A0A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 DUP2 SLOAD PUSH2 0x78A SWAP1 PUSH2 0x1F47 JUMP JUMPDEST SWAP2 SWAP1 POP DUP2 SWAP1 SSTORE SWAP1 POP PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 NUMBER DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP CALLER DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x1 SLOAD SWAP1 POP DUP1 DUP3 PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP NUMBER PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP NUMBER PUSH1 0x1 DUP2 SWAP1 SSTORE POP DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xAF291BB4E1767569C77502EDB6AD1009E856F57C09F214886C6BECC9836C20C0 DUP6 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x9BD5A60 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 0x8C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x8DB 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 0x8FF SWAP2 SWAP1 PUSH2 0x1556 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x90D SWAP3 SWAP2 SWAP1 PUSH2 0x1A85 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMPDEST CALLVALUE DUP2 LT ISZERO PUSH2 0x974 JUMPI CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 CALLVALUE PUSH2 0x947 SWAP2 SWAP1 PUSH2 0x1D6D JUMP JUMPDEST SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x972 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMPDEST SWAP1 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x3 ADD SLOAD EQ ISZERO DUP1 ISZERO PUSH2 0x9EB JUMPI POP PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND DUP4 PUSH2 0x9E7 SWAP2 SWAP1 PUSH2 0x1B4C JUMP JUMPDEST NUMBER LT ISZERO JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x3 ADD SLOAD SWAP4 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP5 POP DUP1 PUSH1 0x1 ADD SLOAD SWAP3 POP DUP1 PUSH1 0x2 ADD SLOAD SWAP2 POP POP SWAP2 SWAP4 POP SWAP2 SWAP4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAC2 DUP3 PUSH2 0x10A3 JUMP JUMPDEST SWAP1 POP PUSH2 0xACD DUP2 PUSH2 0xE7E JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLVALUE GT ISZERO PUSH2 0xB24 JUMPI CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC CALLVALUE SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0xB22 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMPDEST PUSH1 0x0 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB39 DUP6 PUSH2 0x122F JUMP JUMPDEST PUSH1 0xFF PUSH2 0xB45 SWAP2 SWAP1 PUSH2 0x1DA1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x1 DUP3 PUSH1 0x2 PUSH2 0xB58 SWAP2 SWAP1 PUSH2 0x1BF5 JUMP JUMPDEST PUSH2 0xB62 SWAP2 SWAP1 PUSH2 0x1D6D JUMP JUMPDEST DUP5 DUP7 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB75 SWAP3 SWAP2 SWAP1 PUSH2 0x190E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x0 SHR AND SWAP1 POP DUP2 PUSH1 0xFF AND DUP7 PUSH4 0xFFFFFFFF AND DUP3 PUSH2 0xBA7 SWAP2 SWAP1 PUSH2 0x1D13 JUMP JUMPDEST SWAP1 SHR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xC2C JUMPI PUSH2 0xC29 DUP3 PUSH2 0x580 JUMP JUMPDEST SWAP2 POP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD SLOAD SWAP1 POP PUSH1 0x0 DUP2 EQ ISZERO PUSH2 0xC8B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC82 SWAP1 PUSH2 0x1A2A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND DUP4 PUSH2 0xCA9 SWAP2 SWAP1 PUSH2 0x1B4C JUMP JUMPDEST NUMBER LT ISZERO PUSH2 0xCEB JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCE2 SWAP1 PUSH2 0x19CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 BLOCKHASH SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 SWAP1 POP PUSH1 0x40 MLOAD PUSH32 0x3D602D80600A3D3981F3363D3D373D3D3D363D73000000000000000000000000 DUP2 MSTORE DUP2 PUSH1 0x60 SHL PUSH1 0x14 DUP3 ADD MSTORE PUSH32 0x5AF43D82803E903D91602B57FD5BF30000000000000000000000000000000000 PUSH1 0x28 DUP3 ADD MSTORE PUSH1 0x37 DUP2 PUSH1 0x0 CREATE SWAP3 POP POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xDE9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDE0 SWAP1 PUSH2 0x1A4A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF376596BE5039D6B2FB36FEAD4C8A370EAE426E790A869BE8DB074AB608CC248 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x9ED4607 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xEE9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xEFD 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 0xF21 SWAP2 SWAP1 PUSH2 0x15CC JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF2FDE38B CALLER PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF5C SWAP2 SWAP1 PUSH2 0x184F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xF76 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xF8A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x439FAB91 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xFBB SWAP2 SWAP1 PUSH2 0x184F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFE6 SWAP2 SWAP1 PUSH2 0x1937 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1000 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1014 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 GT PUSH2 0x104A JUMPI PUSH2 0x1045 DUP4 PUSH1 0x2 PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x101C JUMP JUMPDEST PUSH2 0x104C JUMP JUMPDEST DUP2 JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT ISZERO PUSH2 0x1083 JUMPI PUSH2 0x107E DUP4 PUSH1 0x2 PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x1054 JUMP JUMPDEST PUSH2 0x109B JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD SLOAD JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 SWAP1 POP PUSH1 0x40 MLOAD PUSH32 0x3D602D80600A3D3981F3363D3D373D3D3D363D73000000000000000000000000 DUP2 MSTORE DUP2 PUSH1 0x60 SHL PUSH1 0x14 DUP3 ADD MSTORE PUSH32 0x5AF43D82803E903D91602B57FD5BF30000000000000000000000000000000000 PUSH1 0x28 DUP3 ADD MSTORE DUP4 PUSH1 0x37 DUP3 PUSH1 0x0 CREATE2 SWAP3 POP POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1198 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x118F SWAP1 PUSH2 0x19EA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF376596BE5039D6B2FB36FEAD4C8A370EAE426E790A869BE8DB074AB608CC248 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 MLOAD DUP1 PUSH2 0x400 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x9 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xA PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xD PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x15 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1D PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xB PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xE PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x10 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x12 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x16 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x19 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1E PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x8 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xC PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x14 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1C PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0xF PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x11 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x18 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x7 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x13 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1B PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x17 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1A PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1F PUSH1 0xFF AND DUP2 MSTORE POP SWAP1 POP PUSH1 0x1 DUP4 PUSH4 0xFFFFFFFF AND SWAP1 SHR DUP4 OR SWAP3 POP PUSH1 0x2 DUP4 PUSH4 0xFFFFFFFF AND SWAP1 SHR DUP4 OR SWAP3 POP PUSH1 0x4 DUP4 PUSH4 0xFFFFFFFF AND SWAP1 SHR DUP4 OR SWAP3 POP PUSH1 0x8 DUP4 PUSH4 0xFFFFFFFF AND SWAP1 SHR DUP4 OR SWAP3 POP PUSH1 0x10 DUP4 PUSH4 0xFFFFFFFF AND SWAP1 SHR DUP4 OR SWAP3 POP DUP1 PUSH1 0x1B PUSH4 0x7C4ACDD DUP6 PUSH4 0xFFFFFFFF AND PUSH2 0x13E2 SWAP2 SWAP1 PUSH2 0x1D13 JUMP JUMPDEST PUSH4 0xFFFFFFFF AND SWAP1 SHR PUSH4 0xFFFFFFFF AND PUSH1 0x20 DUP2 LT PUSH2 0x1401 JUMPI PUSH2 0x1400 PUSH2 0x1FEE JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD MLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1421 PUSH2 0x141C DUP5 PUSH2 0x1AEE JUMP JUMPDEST PUSH2 0x1AC9 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x143D JUMPI PUSH2 0x143C PUSH2 0x2051 JUMP JUMPDEST JUMPDEST PUSH2 0x1448 DUP5 DUP3 DUP6 PUSH2 0x1ED4 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x145F DUP2 PUSH2 0x220C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1474 DUP2 PUSH2 0x2223 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1489 DUP2 PUSH2 0x2223 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x14A4 JUMPI PUSH2 0x14A3 PUSH2 0x204C JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x14B4 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x140E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x14CC DUP2 PUSH2 0x223A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x14E1 DUP2 PUSH2 0x2251 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x14F6 DUP2 PUSH2 0x2268 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1512 JUMPI PUSH2 0x1511 PUSH2 0x205B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1520 DUP5 DUP3 DUP6 ADD PUSH2 0x1450 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x153F JUMPI PUSH2 0x153E PUSH2 0x205B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x154D DUP5 DUP3 DUP6 ADD PUSH2 0x1465 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x156C JUMPI PUSH2 0x156B PUSH2 0x205B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x157A DUP5 DUP3 DUP6 ADD PUSH2 0x147A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1599 JUMPI PUSH2 0x1598 PUSH2 0x205B JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x15B7 JUMPI PUSH2 0x15B6 PUSH2 0x2056 JUMP JUMPDEST JUMPDEST PUSH2 0x15C3 DUP5 DUP3 DUP6 ADD PUSH2 0x148F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x15E2 JUMPI PUSH2 0x15E1 PUSH2 0x205B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x15F0 DUP5 DUP3 DUP6 ADD PUSH2 0x14BD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x160F JUMPI PUSH2 0x160E PUSH2 0x205B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x161D DUP5 DUP3 DUP6 ADD PUSH2 0x14D2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x163F JUMPI PUSH2 0x163E PUSH2 0x205B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x164D DUP7 DUP3 DUP8 ADD PUSH2 0x14E7 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x165E DUP7 DUP3 DUP8 ADD PUSH2 0x14D2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x166F DUP7 DUP3 DUP8 ADD PUSH2 0x1465 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1692 JUMPI PUSH2 0x1691 PUSH2 0x205B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x16A0 DUP7 DUP3 DUP8 ADD PUSH2 0x14E7 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x16B1 DUP7 DUP3 DUP8 ADD PUSH2 0x14D2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x16C2 DUP7 DUP3 DUP8 ADD PUSH2 0x14D2 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x16D5 DUP2 PUSH2 0x1DD5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x16E4 DUP2 PUSH2 0x1DF9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x16F3 DUP2 PUSH2 0x1E05 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1704 DUP3 PUSH2 0x1B1F JUMP JUMPDEST PUSH2 0x170E DUP2 DUP6 PUSH2 0x1B2A JUMP JUMPDEST SWAP4 POP PUSH2 0x171E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1EE3 JUMP JUMPDEST PUSH2 0x1727 DUP2 PUSH2 0x2060 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x173B DUP2 PUSH2 0x1E68 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x174A DUP2 PUSH2 0x1E7A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1759 DUP2 PUSH2 0x1E8C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x176C PUSH1 0x25 DUP4 PUSH2 0x1B3B JUMP JUMPDEST SWAP2 POP PUSH2 0x1777 DUP3 PUSH2 0x207E JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x178F PUSH1 0x27 DUP4 PUSH2 0x1B3B JUMP JUMPDEST SWAP2 POP PUSH2 0x179A DUP3 PUSH2 0x20CD JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17B2 PUSH1 0x18 DUP4 PUSH2 0x1B3B JUMP JUMPDEST SWAP2 POP PUSH2 0x17BD DUP3 PUSH2 0x211C JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17D5 PUSH1 0x24 DUP4 PUSH2 0x1B3B JUMP JUMPDEST SWAP2 POP PUSH2 0x17E0 DUP3 PUSH2 0x2145 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17F8 PUSH1 0x24 DUP4 PUSH2 0x1B3B JUMP JUMPDEST SWAP2 POP PUSH2 0x1803 DUP3 PUSH2 0x2194 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x181B PUSH1 0x17 DUP4 PUSH2 0x1B3B JUMP JUMPDEST SWAP2 POP PUSH2 0x1826 DUP3 PUSH2 0x21E3 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x183A DUP2 PUSH2 0x1E41 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1849 DUP2 PUSH2 0x1E4B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1864 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x16CC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x187F PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x16CC JUMP JUMPDEST PUSH2 0x188C PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x16EA JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x18A8 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x16CC JUMP JUMPDEST PUSH2 0x18B5 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x1831 JUMP JUMPDEST PUSH2 0x18C2 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x1831 JUMP JUMPDEST PUSH2 0x18CF PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1831 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x18ED PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x16DB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1908 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x16EA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1923 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x16EA JUMP JUMPDEST PUSH2 0x1930 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1831 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1951 DUP2 DUP5 PUSH2 0x16F9 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x196E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1732 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1989 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1741 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x19A4 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1750 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x19C3 DUP2 PUSH2 0x175F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x19E3 DUP2 PUSH2 0x1782 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1A03 DUP2 PUSH2 0x17A5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1A23 DUP2 PUSH2 0x17C8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1A43 DUP2 PUSH2 0x17EB JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1A63 DUP2 PUSH2 0x180E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1A7F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1831 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1A9A PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1831 JUMP JUMPDEST PUSH2 0x1AA7 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x16EA JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1AC3 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1840 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1AD3 PUSH2 0x1AE4 JUMP JUMPDEST SWAP1 POP PUSH2 0x1ADF DUP3 DUP3 PUSH2 0x1F16 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1B09 JUMPI PUSH2 0x1B08 PUSH2 0x201D JUMP JUMPDEST JUMPDEST PUSH2 0x1B12 DUP3 PUSH2 0x2060 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B57 DUP3 PUSH2 0x1E41 JUMP JUMPDEST SWAP2 POP PUSH2 0x1B62 DUP4 PUSH2 0x1E41 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x1B97 JUMPI PUSH2 0x1B96 PUSH2 0x1FBF JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP2 POP DUP4 SWAP1 POP JUMPDEST PUSH1 0x1 DUP6 GT ISZERO PUSH2 0x1BEC JUMPI DUP1 DUP7 DIV DUP2 GT ISZERO PUSH2 0x1BC8 JUMPI PUSH2 0x1BC7 PUSH2 0x1FBF JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP6 AND ISZERO PUSH2 0x1BD7 JUMPI DUP1 DUP3 MUL SWAP2 POP JUMPDEST DUP1 DUP2 MUL SWAP1 POP PUSH2 0x1BE5 DUP6 PUSH2 0x2071 JUMP JUMPDEST SWAP5 POP PUSH2 0x1BAC JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C00 DUP3 PUSH2 0x1E41 JUMP JUMPDEST SWAP2 POP PUSH2 0x1C0B DUP4 PUSH2 0x1E5B JUMP JUMPDEST SWAP3 POP PUSH2 0x1C38 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 DUP5 PUSH2 0x1C40 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1C50 JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x1D0C JUMP JUMPDEST DUP2 PUSH2 0x1C5E JUMPI PUSH1 0x0 SWAP1 POP PUSH2 0x1D0C JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x1C74 JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x1C7E JUMPI PUSH2 0x1CAD JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x1D0C JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x1C90 JUMPI PUSH2 0x1C8F PUSH2 0x1FBF JUMP JUMPDEST JUMPDEST DUP4 PUSH1 0x2 EXP SWAP2 POP DUP5 DUP3 GT ISZERO PUSH2 0x1CA7 JUMPI PUSH2 0x1CA6 PUSH2 0x1FBF JUMP JUMPDEST JUMPDEST POP PUSH2 0x1D0C JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x1CE2 JUMPI DUP3 DUP3 EXP SWAP1 POP DUP4 DUP2 GT ISZERO PUSH2 0x1CDD JUMPI PUSH2 0x1CDC PUSH2 0x1FBF JUMP JUMPDEST JUMPDEST PUSH2 0x1D0C JUMP JUMPDEST PUSH2 0x1CEF DUP5 DUP5 DUP5 PUSH1 0x1 PUSH2 0x1BA2 JUMP JUMPDEST SWAP3 POP SWAP1 POP DUP2 DUP5 DIV DUP2 GT ISZERO PUSH2 0x1D06 JUMPI PUSH2 0x1D05 PUSH2 0x1FBF JUMP JUMPDEST JUMPDEST DUP2 DUP2 MUL SWAP1 POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D1E DUP3 PUSH2 0x1E41 JUMP JUMPDEST SWAP2 POP PUSH2 0x1D29 DUP4 PUSH2 0x1E41 JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x1D62 JUMPI PUSH2 0x1D61 PUSH2 0x1FBF JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D78 DUP3 PUSH2 0x1E41 JUMP JUMPDEST SWAP2 POP PUSH2 0x1D83 DUP4 PUSH2 0x1E41 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x1D96 JUMPI PUSH2 0x1D95 PUSH2 0x1FBF JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DAC DUP3 PUSH2 0x1E5B JUMP JUMPDEST SWAP2 POP PUSH2 0x1DB7 DUP4 PUSH2 0x1E5B JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x1DCA JUMPI PUSH2 0x1DC9 PUSH2 0x1FBF JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DE0 DUP3 PUSH2 0x1E21 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DF2 DUP3 PUSH2 0x1E21 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E1A DUP3 PUSH2 0x1DD5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E73 DUP3 PUSH2 0x1E9E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E85 DUP3 PUSH2 0x1EB0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E97 DUP3 PUSH2 0x1E9E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EA9 DUP3 PUSH2 0x1EC2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EBB DUP3 PUSH2 0x1EC2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1ECD DUP3 PUSH2 0x1E21 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1F01 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1EE6 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1F10 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x1F1F DUP3 PUSH2 0x2060 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1F3E JUMPI PUSH2 0x1F3D PUSH2 0x201D JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F52 DUP3 PUSH2 0x1E41 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x1F85 JUMPI PUSH2 0x1F84 PUSH2 0x1FBF JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 SHR SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x5769746E657452616E646F6D6E6573733A20616C726561647920696E69746961 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6C697A6564000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452616E646F6D6E6573734D6F636B3A2070656E64696E67207261 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6E646F6D697A6500000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436C6F6E61626C653A2043524541544532206661696C65640000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452616E646F6D6E6573734D6F636B3A2072657761726420746F6F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206C6F7700000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E657452616E646F6D6E6573734D6F636B3A206E6F742072616E646F6D PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x697A656400000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436C6F6E61626C653A20435245415445206661696C6564000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x2215 DUP2 PUSH2 0x1DE7 JUMP JUMPDEST DUP2 EQ PUSH2 0x2220 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x222C DUP2 PUSH2 0x1E05 JUMP JUMPDEST DUP2 EQ PUSH2 0x2237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2243 DUP2 PUSH2 0x1E0F JUMP JUMPDEST DUP2 EQ PUSH2 0x224E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x225A DUP2 PUSH2 0x1E41 JUMP JUMPDEST DUP2 EQ PUSH2 0x2265 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2271 DUP2 PUSH2 0x1E4B JUMP JUMPDEST DUP2 EQ PUSH2 0x227C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC4 EXTCODEHASH PUSH15 0x704BFD58FC565704A9130B6E8F4FD2 0x4F SWAP3 0xBA SWAP13 GAS CALLDATACOPY 0xC9 MSTORE 0xAF 0x2E 0xBF SSTORE SWAP7 BLOCKHASH PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ","sourceMap":"509:6192:54:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11169:176:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6666:382;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5195:396;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;466:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4584:355;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12264:362;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;341:42:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4969:1228:54;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;310:45:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;526:44:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4187:316:54;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;522:134:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2290:442:54;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;1454:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11743:220:31;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6466:233:54;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7493:433:31;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3483:528:54;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11169:176:31;11243:21;11295:13;:11;:13::i;:::-;11280:28;;11318:20;11325:12;11318:6;:20::i;:::-;11169:176;:::o;6666:382::-;6793:6;6822:219;6842:6;6862;6941:10;6973:26;6992:6;6973:18;:26::i;:::-;6909:108;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6882:149;;;;;;6822:6;:219::i;:::-;6815:226;;6666:382;;;;;:::o;5195:396::-;5305:7;5344:1;5335:6;:10;5328:18;;;;:::i;:::-;;5356:15;5374:20;;5356:38;;5422:7;5413:6;:16;5412:162;;5517:57;5534:6;5542:12;:21;5555:7;5542:21;;;;;;;;;;;:31;;;5517:16;:57::i;:::-;5412:162;;;5445:7;5412:162;5404:180;;;5195:396;;;:::o;466:54::-;;;;;;;;;;;;:::o;4584:355::-;4694:7;4763:1;4726:39;;:12;:20;4739:6;4726:20;;;;;;;;;;;:25;;;;;;;;;;;;:39;;;;4725:197;;4876:46;4893:6;4901:20;;4876:16;:46::i;:::-;4725:197;;;4781:12;:20;4794:6;4781:20;;;;;;;;;;;:30;;;4725:197;4717:215;;4584:355;;;:::o;12264:362::-;12414:1;12370:46;;12378:23;;;;;;;;;;12370:46;;;12362:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;12559:9;12531:78;;;;;;;;;;;;:::i;:::-;12468:23;;:151;;;;;;;;;;;;;;;;;;12264:362;:::o;341:42:29:-;;;:::o;4969:1228:54:-;5057:18;5118:12;5095:20;;:35;5091:944;;;5159:18;;5146:31;;5229:10;5216:9;:23;;5191:118;;;;;;;;;;;;:::i;:::-;;;;;;;;;5374:13;5393:23;;5390:26;;;;;:::i;:::-;;;;;;;5374:42;;5430:27;5460:12;:26;5473:12;5460:26;;;;;;;;;;;5430:56;;5513:10;5500:5;:10;;;:23;;;;;;;;;;;;;;;;;;5559:8;5537:5;:19;;:30;;;;5628:18;5649:20;;5628:41;;5701:10;5683:5;:15;;:28;;;;5762:12;5725;:24;5738:10;5725:24;;;;;;;;;;;:34;;:49;;;;5811:12;5788:20;:35;;;;5926:10;5898;5870:154;;;5954:8;5980:23;;;;;;;;;;:28;;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5870:154;;;;;;;:::i;:::-;;;;;;;;5132:903;;;5091:944;6103:9;6090:10;:22;6086:105;;;6136:10;6128:28;;:52;6169:10;6157:9;:22;;;;:::i;:::-;6128:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6086:105;4969:1228;:::o;310:45:55:-;;;:::o;526:44:31:-;;;;:::o;4187:316:54:-;4287:4;4307:27;4337:12;:20;4350:6;4337:20;;;;;;;;;;;4307:50;;4411:1;4388:5;:19;;;:24;;:98;;;;;4458:28;;;;;;;;;;;4449:37;;:6;:37;;;;:::i;:::-;4433:12;:53;;4388:98;4367:129;;;4187:316;;;:::o;522:134:55:-;577:4;635;618:21;;626:4;618:21;;;;597:52;;522:134;:::o;2290:442:54:-;2409:13;2436:11;2461:18;2493;2536:27;2566:12;:20;2579:6;2566:20;;;;;;;;;;;2536:50;;2602:5;:19;;;2596:25;;2639:5;:10;;;;;;;;;;;;2631:18;;2672:5;:15;;;2659:28;;2710:5;:15;;;2697:28;;2526:206;2290:442;;;;;:::o;1454:156::-;1555:7;1585:18;;1578:25;;1454:156;;;:::o;11743:220:31:-;11843:21;11895:31;11920:5;11895:24;:31::i;:::-;11880:46;;11936:20;11943:12;11936:6;:20::i;:::-;11743:220;;;:::o;6466:233:54:-;6569:7;6608:1;6596:9;:13;6592:83;;;6633:10;6625:28;;:39;6654:9;6625:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6592:83;6691:1;6684:8;;6466:233;;;:::o;7493:433:31:-;7617:6;7639:15;7669:22;7684:6;7669:14;:22::i;:::-;7663:3;:28;;;;:::i;:::-;7639:53;;7702:15;7861:1;7849:9;7844:1;:14;;;;:::i;:::-;:18;;;;:::i;:::-;7787:5;7794:6;7776:25;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7745:74;;;;;;7720:113;;:143;7702:161;;7909:9;7887:31;;7898:6;7888:16;;:7;:16;;;;:::i;:::-;7887:31;;7873:46;;;;7493:433;;;;;:::o;3483:528:54:-;3589:7;3653:1;3616:39;;:12;:20;3629:6;3616:20;;;;;;;;;;;:25;;;;;;;;;;;;:39;;;3612:109;;;3680:30;3703:6;3680:22;:30::i;:::-;3671:39;;3612:109;3730:16;3749:12;:20;3762:6;3749:20;;;;;;;;;;;:34;;;3730:53;;3813:1;3801:8;:13;;3793:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;3898:28;;;;;;;;;;;3889:37;;:6;:37;;;;:::i;:::-;3873:12;:53;;3865:105;;;;;;;;;;;;:::i;:::-;;;;;;;;;3997:6;3987:17;3980:24;;;3483:528;;;:::o;1102:870:55:-;1159:18;1193:13;1209:4;1193:20;;1295:4;1289:11;1383:66;1378:3;1371:79;1562:5;1556:4;1552:16;1545:4;1540:3;1536:14;1529:40;1661:66;1654:4;1649:3;1645:14;1638:90;1805:4;1800:3;1797:1;1790:20;1777:33;;1232:588;1875:1;1845:32;;1853:9;1845:32;;;;1837:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1955:9;1920:45;;1948:4;1920:45;;1927:10;1920:45;;;;;;;;;;;;1183:789;1102:870;:::o;12954:230:31:-;13009:16;13036:23;;;;;;;;;;;:29;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13009:59;;13086:8;13078:35;;;13114:10;13078:47;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13135:9;:20;;;13167:8;13156:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;13135:42;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12999:185;12954:230;:::o;14475:241::-;14558:7;14596;14586;:17;14585:114;;14641:58;14658:7;14667:12;:21;14680:7;14667:21;;;;;;;;;;;:31;;;14641:16;:58::i;:::-;14585:114;;;14619:7;14585:114;14577:132;;14475:241;;;;:::o;14022:267::-;14105:7;14144;14133;:18;;14132:140;;14214:58;14231:7;14240:12;:21;14253:7;14240:21;;;;;;;;;;;:31;;;14214:16;:58::i;:::-;14132:140;;;14168:12;:21;14181:7;14168:21;;;;;;;;;;;:31;;;14132:140;14124:158;;14022:267;;;;:::o;2520:840:55:-;2603:18;2637:13;2653:4;2637:20;;2739:4;2733:11;2769:66;2764:3;2757:79;2948:5;2942:4;2938:16;2931:4;2926:3;2922:14;2915:40;3047:66;3040:4;3035:3;3031:14;3024:90;3199:5;3193:4;3188:3;3185:1;3177:28;3164:41;;2676:539;3262:1;3232:32;;3240:9;3232:32;;;;3224:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;3343:9;3308:45;;3336:4;3308:45;;3315:10;3308:45;;;;;;;;;;;;2627:733;2520:840;;;:::o;13301:537:31:-;13375:5;13396:29;:228;;;;;;;;13446:1;13396:228;;;;;;13449:1;13396:228;;;;;;13452:1;13396:228;;;;;;13455:2;13396:228;;;;;;13459:2;13396:228;;;;;;13463:2;13396:228;;;;;;13467:1;13396:228;;;;;;13470:2;13396:228;;;;;;13490:2;13396:228;;;;;;13494:2;13396:228;;;;;;13498:2;13396:228;;;;;;13502:2;13396:228;;;;;;13506:2;13396:228;;;;;;13510:2;13396:228;;;;;;13514:1;13396:228;;;;;;13517:2;13396:228;;;;;;13537:1;13396:228;;;;;;13540:2;13396:228;;;;;;13544:2;13396:228;;;;;;13548:2;13396:228;;;;;;13552:2;13396:228;;;;;;13556:2;13396:228;;;;;;13560:2;13396:228;;;;;;13564:1;13396:228;;;;;;13583:2;13396:228;;;;;;13587:2;13396:228;;;;;;13591:2;13396:228;;;;;;13595:1;13396:228;;;;;;13598:2;13396:228;;;;;;13602:1;13396:228;;;;;;13605:1;13396:228;;;;;;13608:2;13396:228;;;;;;;13646:1;13640:2;:7;;;;13634:13;;;;13669:1;13663:2;:7;;;;13657:13;;;;13692:1;13686:2;:7;;;;13680:13;;;;13715:1;13709:2;:7;;;;13703:13;;;;13738:2;13732;:8;;;;13726:14;;;;13757:12;13819:2;13803:10;13790:2;:24;;;;;;:::i;:::-;13783:38;;;;13757:74;;;;;;;;;:::i;:::-;;;;;;13750:81;;;13301:537;;;:::o;7:410:67:-;84:5;109:65;125:48;166:6;125:48;:::i;:::-;109:65;:::i;:::-;100:74;;197:6;190:5;183:21;235:4;228:5;224:16;273:3;264:6;259:3;255:16;252:25;249:112;;;280:79;;:::i;:::-;249:112;370:41;404:6;399:3;394;370:41;:::i;:::-;90:327;7:410;;;;;:::o;423:159::-;488:5;519:6;513:13;504:22;;535:41;570:5;535:41;:::i;:::-;423:159;;;;:::o;588:139::-;634:5;672:6;659:20;650:29;;688:33;715:5;688:33;:::i;:::-;588:139;;;;:::o;733:143::-;790:5;821:6;815:13;806:22;;837:33;864:5;837:33;:::i;:::-;733:143;;;;:::o;895:338::-;950:5;999:3;992:4;984:6;980:17;976:27;966:122;;1007:79;;:::i;:::-;966:122;1124:6;1111:20;1149:78;1223:3;1215:6;1208:4;1200:6;1196:17;1149:78;:::i;:::-;1140:87;;956:277;895:338;;;;:::o;1239:179::-;1314:5;1345:6;1339:13;1330:22;;1361:51;1406:5;1361:51;:::i;:::-;1239:179;;;;:::o;1424:139::-;1470:5;1508:6;1495:20;1486:29;;1524:33;1551:5;1524:33;:::i;:::-;1424:139;;;;:::o;1569:137::-;1614:5;1652:6;1639:20;1630:29;;1668:32;1694:5;1668:32;:::i;:::-;1569:137;;;;:::o;1712:367::-;1790:6;1839:2;1827:9;1818:7;1814:23;1810:32;1807:119;;;1845:79;;:::i;:::-;1807:119;1965:1;1990:72;2054:7;2045:6;2034:9;2030:22;1990:72;:::i;:::-;1980:82;;1936:136;1712:367;;;;:::o;2085:329::-;2144:6;2193:2;2181:9;2172:7;2168:23;2164:32;2161:119;;;2199:79;;:::i;:::-;2161:119;2319:1;2344:53;2389:7;2380:6;2369:9;2365:22;2344:53;:::i;:::-;2334:63;;2290:117;2085:329;;;;:::o;2420:351::-;2490:6;2539:2;2527:9;2518:7;2514:23;2510:32;2507:119;;;2545:79;;:::i;:::-;2507:119;2665:1;2690:64;2746:7;2737:6;2726:9;2722:22;2690:64;:::i;:::-;2680:74;;2636:128;2420:351;;;;:::o;2777:507::-;2845:6;2894:2;2882:9;2873:7;2869:23;2865:32;2862:119;;;2900:79;;:::i;:::-;2862:119;3048:1;3037:9;3033:17;3020:31;3078:18;3070:6;3067:30;3064:117;;;3100:79;;:::i;:::-;3064:117;3205:62;3259:7;3250:6;3239:9;3235:22;3205:62;:::i;:::-;3195:72;;2991:286;2777:507;;;;:::o;3290:387::-;3378:6;3427:2;3415:9;3406:7;3402:23;3398:32;3395:119;;;3433:79;;:::i;:::-;3395:119;3553:1;3578:82;3652:7;3643:6;3632:9;3628:22;3578:82;:::i;:::-;3568:92;;3524:146;3290:387;;;;:::o;3683:329::-;3742:6;3791:2;3779:9;3770:7;3766:23;3762:32;3759:119;;;3797:79;;:::i;:::-;3759:119;3917:1;3942:53;3987:7;3978:6;3967:9;3963:22;3942:53;:::i;:::-;3932:63;;3888:117;3683:329;;;;:::o;4018:617::-;4094:6;4102;4110;4159:2;4147:9;4138:7;4134:23;4130:32;4127:119;;;4165:79;;:::i;:::-;4127:119;4285:1;4310:52;4354:7;4345:6;4334:9;4330:22;4310:52;:::i;:::-;4300:62;;4256:116;4411:2;4437:53;4482:7;4473:6;4462:9;4458:22;4437:53;:::i;:::-;4427:63;;4382:118;4539:2;4565:53;4610:7;4601:6;4590:9;4586:22;4565:53;:::i;:::-;4555:63;;4510:118;4018:617;;;;;:::o;4641:::-;4717:6;4725;4733;4782:2;4770:9;4761:7;4757:23;4753:32;4750:119;;;4788:79;;:::i;:::-;4750:119;4908:1;4933:52;4977:7;4968:6;4957:9;4953:22;4933:52;:::i;:::-;4923:62;;4879:116;5034:2;5060:53;5105:7;5096:6;5085:9;5081:22;5060:53;:::i;:::-;5050:63;;5005:118;5162:2;5188:53;5233:7;5224:6;5213:9;5209:22;5188:53;:::i;:::-;5178:63;;5133:118;4641:617;;;;;:::o;5264:118::-;5351:24;5369:5;5351:24;:::i;:::-;5346:3;5339:37;5264:118;;:::o;5388:109::-;5469:21;5484:5;5469:21;:::i;:::-;5464:3;5457:34;5388:109;;:::o;5503:118::-;5590:24;5608:5;5590:24;:::i;:::-;5585:3;5578:37;5503:118;;:::o;5627:360::-;5713:3;5741:38;5773:5;5741:38;:::i;:::-;5795:70;5858:6;5853:3;5795:70;:::i;:::-;5788:77;;5874:52;5919:6;5914:3;5907:4;5900:5;5896:16;5874:52;:::i;:::-;5951:29;5973:6;5951:29;:::i;:::-;5946:3;5942:39;5935:46;;5717:270;5627:360;;;;:::o;5993:167::-;6098:55;6147:5;6098:55;:::i;:::-;6093:3;6086:68;5993:167;;:::o;6166:201::-;6288:72;6354:5;6288:72;:::i;:::-;6283:3;6276:85;6166:201;;:::o;6373:197::-;6493:70;6557:5;6493:70;:::i;:::-;6488:3;6481:83;6373:197;;:::o;6576:366::-;6718:3;6739:67;6803:2;6798:3;6739:67;:::i;:::-;6732:74;;6815:93;6904:3;6815:93;:::i;:::-;6933:2;6928:3;6924:12;6917:19;;6576:366;;;:::o;6948:::-;7090:3;7111:67;7175:2;7170:3;7111:67;:::i;:::-;7104:74;;7187:93;7276:3;7187:93;:::i;:::-;7305:2;7300:3;7296:12;7289:19;;6948:366;;;:::o;7320:::-;7462:3;7483:67;7547:2;7542:3;7483:67;:::i;:::-;7476:74;;7559:93;7648:3;7559:93;:::i;:::-;7677:2;7672:3;7668:12;7661:19;;7320:366;;;:::o;7692:::-;7834:3;7855:67;7919:2;7914:3;7855:67;:::i;:::-;7848:74;;7931:93;8020:3;7931:93;:::i;:::-;8049:2;8044:3;8040:12;8033:19;;7692:366;;;:::o;8064:::-;8206:3;8227:67;8291:2;8286:3;8227:67;:::i;:::-;8220:74;;8303:93;8392:3;8303:93;:::i;:::-;8421:2;8416:3;8412:12;8405:19;;8064:366;;;:::o;8436:::-;8578:3;8599:67;8663:2;8658:3;8599:67;:::i;:::-;8592:74;;8675:93;8764:3;8675:93;:::i;:::-;8793:2;8788:3;8784:12;8777:19;;8436:366;;;:::o;8808:118::-;8895:24;8913:5;8895:24;:::i;:::-;8890:3;8883:37;8808:118;;:::o;8932:115::-;9017:23;9034:5;9017:23;:::i;:::-;9012:3;9005:36;8932:115;;:::o;9053:222::-;9146:4;9184:2;9173:9;9169:18;9161:26;;9197:71;9265:1;9254:9;9250:17;9241:6;9197:71;:::i;:::-;9053:222;;;;:::o;9281:332::-;9402:4;9440:2;9429:9;9425:18;9417:26;;9453:71;9521:1;9510:9;9506:17;9497:6;9453:71;:::i;:::-;9534:72;9602:2;9591:9;9587:18;9578:6;9534:72;:::i;:::-;9281:332;;;;;:::o;9619:553::-;9796:4;9834:3;9823:9;9819:19;9811:27;;9848:71;9916:1;9905:9;9901:17;9892:6;9848:71;:::i;:::-;9929:72;9997:2;9986:9;9982:18;9973:6;9929:72;:::i;:::-;10011;10079:2;10068:9;10064:18;10055:6;10011:72;:::i;:::-;10093;10161:2;10150:9;10146:18;10137:6;10093:72;:::i;:::-;9619:553;;;;;;;:::o;10178:210::-;10265:4;10303:2;10292:9;10288:18;10280:26;;10316:65;10378:1;10367:9;10363:17;10354:6;10316:65;:::i;:::-;10178:210;;;;:::o;10394:222::-;10487:4;10525:2;10514:9;10510:18;10502:26;;10538:71;10606:1;10595:9;10591:17;10582:6;10538:71;:::i;:::-;10394:222;;;;:::o;10622:332::-;10743:4;10781:2;10770:9;10766:18;10758:26;;10794:71;10862:1;10851:9;10847:17;10838:6;10794:71;:::i;:::-;10875:72;10943:2;10932:9;10928:18;10919:6;10875:72;:::i;:::-;10622:332;;;;;:::o;10960:309::-;11071:4;11109:2;11098:9;11094:18;11086:26;;11158:9;11152:4;11148:20;11144:1;11133:9;11129:17;11122:47;11186:76;11257:4;11248:6;11186:76;:::i;:::-;11178:84;;10960:309;;;;:::o;11275:258::-;11386:4;11424:2;11413:9;11409:18;11401:26;;11437:89;11523:1;11512:9;11508:17;11499:6;11437:89;:::i;:::-;11275:258;;;;:::o;11539:292::-;11667:4;11705:2;11694:9;11690:18;11682:26;;11718:106;11821:1;11810:9;11806:17;11797:6;11718:106;:::i;:::-;11539:292;;;;:::o;11837:288::-;11963:4;12001:2;11990:9;11986:18;11978:26;;12014:104;12115:1;12104:9;12100:17;12091:6;12014:104;:::i;:::-;11837:288;;;;:::o;12131:419::-;12297:4;12335:2;12324:9;12320:18;12312:26;;12384:9;12378:4;12374:20;12370:1;12359:9;12355:17;12348:47;12412:131;12538:4;12412:131;:::i;:::-;12404:139;;12131:419;;;:::o;12556:::-;12722:4;12760:2;12749:9;12745:18;12737:26;;12809:9;12803:4;12799:20;12795:1;12784:9;12780:17;12773:47;12837:131;12963:4;12837:131;:::i;:::-;12829:139;;12556:419;;;:::o;12981:::-;13147:4;13185:2;13174:9;13170:18;13162:26;;13234:9;13228:4;13224:20;13220:1;13209:9;13205:17;13198:47;13262:131;13388:4;13262:131;:::i;:::-;13254:139;;12981:419;;;:::o;13406:::-;13572:4;13610:2;13599:9;13595:18;13587:26;;13659:9;13653:4;13649:20;13645:1;13634:9;13630:17;13623:47;13687:131;13813:4;13687:131;:::i;:::-;13679:139;;13406:419;;;:::o;13831:::-;13997:4;14035:2;14024:9;14020:18;14012:26;;14084:9;14078:4;14074:20;14070:1;14059:9;14055:17;14048:47;14112:131;14238:4;14112:131;:::i;:::-;14104:139;;13831:419;;;:::o;14256:::-;14422:4;14460:2;14449:9;14445:18;14437:26;;14509:9;14503:4;14499:20;14495:1;14484:9;14480:17;14473:47;14537:131;14663:4;14537:131;:::i;:::-;14529:139;;14256:419;;;:::o;14681:222::-;14774:4;14812:2;14801:9;14797:18;14789:26;;14825:71;14893:1;14882:9;14878:17;14869:6;14825:71;:::i;:::-;14681:222;;;;:::o;14909:332::-;15030:4;15068:2;15057:9;15053:18;15045:26;;15081:71;15149:1;15138:9;15134:17;15125:6;15081:71;:::i;:::-;15162:72;15230:2;15219:9;15215:18;15206:6;15162:72;:::i;:::-;14909:332;;;;;:::o;15247:218::-;15338:4;15376:2;15365:9;15361:18;15353:26;;15389:69;15455:1;15444:9;15440:17;15431:6;15389:69;:::i;:::-;15247:218;;;;:::o;15471:129::-;15505:6;15532:20;;:::i;:::-;15522:30;;15561:33;15589:4;15581:6;15561:33;:::i;:::-;15471:129;;;:::o;15606:75::-;15639:6;15672:2;15666:9;15656:19;;15606:75;:::o;15687:307::-;15748:4;15838:18;15830:6;15827:30;15824:56;;;15860:18;;:::i;:::-;15824:56;15898:29;15920:6;15898:29;:::i;:::-;15890:37;;15982:4;15976;15972:15;15964:23;;15687:307;;;:::o;16000:98::-;16051:6;16085:5;16079:12;16069:22;;16000:98;;;:::o;16104:168::-;16187:11;16221:6;16216:3;16209:19;16261:4;16256:3;16252:14;16237:29;;16104:168;;;;:::o;16278:169::-;16362:11;16396:6;16391:3;16384:19;16436:4;16431:3;16427:14;16412:29;;16278:169;;;;:::o;16453:305::-;16493:3;16512:20;16530:1;16512:20;:::i;:::-;16507:25;;16546:20;16564:1;16546:20;:::i;:::-;16541:25;;16700:1;16632:66;16628:74;16625:1;16622:81;16619:107;;;16706:18;;:::i;:::-;16619:107;16750:1;16747;16743:9;16736:16;;16453:305;;;;:::o;16764:848::-;16825:5;16832:4;16856:6;16847:15;;16880:5;16871:14;;16894:712;16915:1;16905:8;16902:15;16894:712;;;17010:4;17005:3;17001:14;16995:4;16992:24;16989:50;;;17019:18;;:::i;:::-;16989:50;17069:1;17059:8;17055:16;17052:451;;;17484:4;17477:5;17473:16;17464:25;;17052:451;17534:4;17528;17524:15;17516:23;;17564:32;17587:8;17564:32;:::i;:::-;17552:44;;16894:712;;;16764:848;;;;;;;:::o;17618:281::-;17676:5;17700:23;17718:4;17700:23;:::i;:::-;17692:31;;17744:25;17760:8;17744:25;:::i;:::-;17732:37;;17788:104;17825:66;17815:8;17809:4;17788:104;:::i;:::-;17779:113;;17618:281;;;;:::o;17905:1073::-;17959:5;18150:8;18140:40;;18171:1;18162:10;;18173:5;;18140:40;18199:4;18189:36;;18216:1;18207:10;;18218:5;;18189:36;18285:4;18333:1;18328:27;;;;18369:1;18364:191;;;;18278:277;;18328:27;18346:1;18337:10;;18348:5;;;18364:191;18409:3;18399:8;18396:17;18393:43;;;18416:18;;:::i;:::-;18393:43;18465:8;18462:1;18458:16;18449:25;;18500:3;18493:5;18490:14;18487:40;;;18507:18;;:::i;:::-;18487:40;18540:5;;;18278:277;;18664:2;18654:8;18651:16;18645:3;18639:4;18636:13;18632:36;18614:2;18604:8;18601:16;18596:2;18590:4;18587:12;18583:35;18567:111;18564:246;;;18720:8;18714:4;18710:19;18701:28;;18755:3;18748:5;18745:14;18742:40;;;18762:18;;:::i;:::-;18742:40;18795:5;;18564:246;18835:42;18873:3;18863:8;18857:4;18854:1;18835:42;:::i;:::-;18820:57;;;;18909:4;18904:3;18900:14;18893:5;18890:25;18887:51;;;18918:18;;:::i;:::-;18887:51;18967:4;18960:5;18956:16;18947:25;;17905:1073;;;;;;:::o;18984:348::-;19024:7;19047:20;19065:1;19047:20;:::i;:::-;19042:25;;19081:20;19099:1;19081:20;:::i;:::-;19076:25;;19269:1;19201:66;19197:74;19194:1;19191:81;19186:1;19179:9;19172:17;19168:105;19165:131;;;19276:18;;:::i;:::-;19165:131;19324:1;19321;19317:9;19306:20;;18984:348;;;;:::o;19338:191::-;19378:4;19398:20;19416:1;19398:20;:::i;:::-;19393:25;;19432:20;19450:1;19432:20;:::i;:::-;19427:25;;19471:1;19468;19465:8;19462:34;;;19476:18;;:::i;:::-;19462:34;19521:1;19518;19514:9;19506:17;;19338:191;;;;:::o;19535:185::-;19573:4;19593:18;19609:1;19593:18;:::i;:::-;19588:23;;19625:18;19641:1;19625:18;:::i;:::-;19620:23;;19662:1;19659;19656:8;19653:34;;;19667:18;;:::i;:::-;19653:34;19712:1;19709;19705:9;19697:17;;19535:185;;;;:::o;19726:96::-;19763:7;19792:24;19810:5;19792:24;:::i;:::-;19781:35;;19726:96;;;:::o;19828:104::-;19873:7;19902:24;19920:5;19902:24;:::i;:::-;19891:35;;19828:104;;;:::o;19938:90::-;19972:7;20015:5;20008:13;20001:21;19990:32;;19938:90;;;:::o;20034:77::-;20071:7;20100:5;20089:16;;20034:77;;;:::o;20117:114::-;20172:7;20201:24;20219:5;20201:24;:::i;:::-;20190:35;;20117:114;;;:::o;20237:126::-;20274:7;20314:42;20307:5;20303:54;20292:65;;20237:126;;;:::o;20369:77::-;20406:7;20435:5;20424:16;;20369:77;;;:::o;20452:93::-;20488:7;20528:10;20521:5;20517:22;20506:33;;20452:93;;;:::o;20551:86::-;20586:7;20626:4;20619:5;20615:16;20604:27;;20551:86;;;:::o;20643:144::-;20711:9;20744:37;20775:5;20744:37;:::i;:::-;20731:50;;20643:144;;;:::o;20793:169::-;20878:9;20911:45;20950:5;20911:45;:::i;:::-;20898:58;;20793:169;;;:::o;20968:159::-;21051:9;21084:37;21115:5;21084:37;:::i;:::-;21071:50;;20968:159;;;:::o;21133:126::-;21183:9;21216:37;21247:5;21216:37;:::i;:::-;21203:50;;21133:126;;;:::o;21265:134::-;21323:9;21356:37;21387:5;21356:37;:::i;:::-;21343:50;;21265:134;;;:::o;21405:113::-;21455:9;21488:24;21506:5;21488:24;:::i;:::-;21475:37;;21405:113;;;:::o;21524:154::-;21608:6;21603:3;21598;21585:30;21670:1;21661:6;21656:3;21652:16;21645:27;21524:154;;;:::o;21684:307::-;21752:1;21762:113;21776:6;21773:1;21770:13;21762:113;;;21861:1;21856:3;21852:11;21846:18;21842:1;21837:3;21833:11;21826:39;21798:2;21795:1;21791:10;21786:15;;21762:113;;;21893:6;21890:1;21887:13;21884:101;;;21973:1;21964:6;21959:3;21955:16;21948:27;21884:101;21733:258;21684:307;;;:::o;21997:281::-;22080:27;22102:4;22080:27;:::i;:::-;22072:6;22068:40;22210:6;22198:10;22195:22;22174:18;22162:10;22159:34;22156:62;22153:88;;;22221:18;;:::i;:::-;22153:88;22261:10;22257:2;22250:22;22040:238;21997:281;;:::o;22284:233::-;22323:3;22346:24;22364:5;22346:24;:::i;:::-;22337:33;;22392:66;22385:5;22382:77;22379:103;;;22462:18;;:::i;:::-;22379:103;22509:1;22502:5;22498:13;22491:20;;22284:233;;;:::o;22523:180::-;22571:77;22568:1;22561:88;22668:4;22665:1;22658:15;22692:4;22689:1;22682:15;22709:180;22757:77;22754:1;22747:88;22854:4;22851:1;22844:15;22878:4;22875:1;22868:15;22895:180;22943:77;22940:1;22933:88;23040:4;23037:1;23030:15;23064:4;23061:1;23054:15;23081:180;23129:77;23126:1;23119:88;23226:4;23223:1;23216:15;23250:4;23247:1;23240:15;23267:117;23376:1;23373;23366:12;23390:117;23499:1;23496;23489:12;23513:117;23622:1;23619;23612:12;23636:117;23745:1;23742;23735:12;23759:102;23800:6;23851:2;23847:7;23842:2;23835:5;23831:14;23827:28;23817:38;;23759:102;;;:::o;23867:::-;23909:8;23956:5;23953:1;23949:13;23928:34;;23867:102;;;:::o;23975:224::-;24115:34;24111:1;24103:6;24099:14;24092:58;24184:7;24179:2;24171:6;24167:15;24160:32;23975:224;:::o;24205:226::-;24345:34;24341:1;24333:6;24329:14;24322:58;24414:9;24409:2;24401:6;24397:15;24390:34;24205:226;:::o;24437:174::-;24577:26;24573:1;24565:6;24561:14;24554:50;24437:174;:::o;24617:223::-;24757:34;24753:1;24745:6;24741:14;24734:58;24826:6;24821:2;24813:6;24809:15;24802:31;24617:223;:::o;24846:::-;24986:34;24982:1;24974:6;24970:14;24963:58;25055:6;25050:2;25042:6;25038:15;25031:31;24846:223;:::o;25075:173::-;25215:25;25211:1;25203:6;25199:14;25192:49;25075:173;:::o;25254:138::-;25335:32;25361:5;25335:32;:::i;:::-;25328:5;25325:43;25315:71;;25382:1;25379;25372:12;25315:71;25254:138;:::o;25398:122::-;25471:24;25489:5;25471:24;:::i;:::-;25464:5;25461:35;25451:63;;25510:1;25507;25500:12;25451:63;25398:122;:::o;25526:158::-;25617:42;25653:5;25617:42;:::i;:::-;25610:5;25607:53;25597:81;;25674:1;25671;25664:12;25597:81;25526:158;:::o;25690:122::-;25763:24;25781:5;25763:24;:::i;:::-;25756:5;25753:35;25743:63;;25802:1;25799;25792:12;25743:63;25690:122;:::o;25818:120::-;25890:23;25907:5;25890:23;:::i;:::-;25883:5;25880:34;25870:62;;25928:1;25925;25918:12;25870:62;25818:120;:::o"},"gasEstimates":{"creation":{"codeDepositCost":"1777000","executionCost":"infinite","totalCost":"infinite"},"external":{"clone()":"infinite","cloneDeterministic(bytes32)":"infinite","cloned()":"infinite","estimateRandomizeFee(uint256)":"infinite","getRandomizeData(uint256)":"infinite","getRandomnessAfter(uint256)":"infinite","getRandomnessNextBlock(uint256)":"infinite","getRandomnessPrevBlock(uint256)":"infinite","initialize(bytes)":"infinite","isRandomized(uint256)":"infinite","latestRandomizeBlock()":"2452","random(uint32,uint256,bytes32)":"infinite","random(uint32,uint256,uint256)":"infinite","randomize()":"infinite","self()":"infinite","upgradeRandomizeFee(uint256)":"infinite","witnet()":"infinite","witnetRandomnessRequest()":"2687"}},"methodIdentifiers":{"clone()":"09ed4607","cloneDeterministic(bytes32)":"daaa360c","cloned()":"a04daef0","estimateRandomizeFee(uint256)":"a60ee268","getRandomizeData(uint256)":"a3252f68","getRandomnessAfter(uint256)":"fb476cad","getRandomnessNextBlock(uint256)":"40b41daa","getRandomnessPrevBlock(uint256)":"36b651bb","initialize(bytes)":"439fab91","isRandomized(uint256)":"9bc86fec","latestRandomizeBlock()":"9938fd0c","random(uint32,uint256,bytes32)":"e7d4a016","random(uint32,uint256,uint256)":"24cbbfc1","randomize()":"699b328a","self()":"7104ddb2","upgradeRandomizeFee(uint256)":"e35329f8","witnet()":"46d1d21a","witnetRandomnessRequest()":"3b13e76e"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_mockRandomizeLatencyBlocks\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"_mockRandomizeFee\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"by\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract Clonable\",\"name\":\"self\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract Clonable\",\"name\":\"clone\",\"type\":\"address\"}],\"name\":\"Cloned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"prevBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"witnetQueryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"witnetRequestHash\",\"type\":\"bytes32\"}],\"name\":\"Randomized\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"clone\",\"outputs\":[{\"internalType\":\"contract Clonable\",\"name\":\"_newInstance\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_salt\",\"type\":\"bytes32\"}],\"name\":\"cloneDeterministic\",\"outputs\":[{\"internalType\":\"contract Clonable\",\"name\":\"_newInstance\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloned\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"estimateRandomizeFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_block\",\"type\":\"uint256\"}],\"name\":\"getRandomizeData\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_prevBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nextBlock\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_block\",\"type\":\"uint256\"}],\"name\":\"getRandomnessAfter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_block\",\"type\":\"uint256\"}],\"name\":\"getRandomnessNextBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_block\",\"type\":\"uint256\"}],\"name\":\"getRandomnessPrevBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_initData\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_block\",\"type\":\"uint256\"}],\"name\":\"isRandomized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestRandomizeBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_range\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_block\",\"type\":\"uint256\"}],\"name\":\"random\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_range\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_seed\",\"type\":\"bytes32\"}],\"name\":\"random\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_usedFunds\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"self\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"upgradeRandomizeFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"witnet\",\"outputs\":[{\"internalType\":\"contract WitnetRequestBoard\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"witnetRandomnessRequest\",\"outputs\":[{\"internalType\":\"contract WitnetRequestRandomness\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Witnet Foundation.\",\"details\":\"TO BE USED ONLY ON DEVELOPMENT ENVIRONMENTS. ON SUPPORTED TESTNETS, PLEASE USE THE `WitnetRandomness`CONTRACT ADDRESS PROVIDED BY THE WITNET FOUNDATION.SEE: https://docs.witnet.io/smart-contracts/witnet-randomness-oracle/contract-addresses\",\"kind\":\"dev\",\"methods\":{\"clone()\":{\"details\":\"This function should always provide a new address, no matter how many times is actually called from the same `msg.sender`.\"},\"cloneDeterministic(bytes32)\":{\"details\":\"This function uses the CREATE2 opcode and a `_salt` to deterministically deploythe clone. Using the same `_salt` multiple time will revert, sinceno contract can be deployed more than once at the same address.\"},\"constructor\":{\"params\":{\"_mockRandomizeFee\":\"Mocked randomize fee (will be constant no matter what tx gas price is provided).\",\"_mockRandomizeLatencyBlocks\":\"Mocked number of blocks in which a new randomness will be provided after `randomize()`\"}},\"getRandomizeData(uint256)\":{\"details\":\"Returns zero values if no randomness request was actually posted within a given block.\",\"params\":{\"_block\":\"Block number whose randomness request is being queried for.\"},\"returns\":{\"_from\":\"Address from which the latest randomness request was posted.\",\"_id\":\"Unique request identifier as provided by the WRB.\",\"_nextBlock\":\"Block number in which a randomness request got posted just after this one, 0 if none.\",\"_prevBlock\":\"Block number in which a randomness request got posted just before this one. 0 if none.\"}},\"getRandomnessAfter(uint256)\":{\"details\":\"Please, note that 256 blocks after a `randomize()` request, randomness will be possibly returned as `bytes32(0)` (depending on actual EVM implementation). Fails if:i.   no `randomize()` was not called in either the given block, or afterwards.ii.  a request posted in/after given block does exist, but lest than `__mockRandomizeLatencyBlocks` have elapsed.\",\"params\":{\"_block\":\"Block number from which the search will start.\"}},\"getRandomnessNextBlock(uint256)\":{\"params\":{\"_block\":\"Block number from which the search will start.\"},\"returns\":{\"_0\":\"Number of the first block found after the given one, or `0` otherwise.\"}},\"getRandomnessPrevBlock(uint256)\":{\"params\":{\"_block\":\"Block number from which the search will start. Cannot be zero.\"},\"returns\":{\"_0\":\"First block found before the given one, or `0` otherwise.\"}},\"initialize(bytes)\":{\"details\":\"Initializes contract's storage context.\"},\"random(uint32,uint256,bytes32)\":{\"params\":{\"_nonce\":\"Nonce value enabling multiple random numbers from the same randomness value.\",\"_range\":\"Range within which the uniformly-distributed random number will be generated.\",\"_seed\":\"Seed value used as entropy source.\"}},\"random(uint32,uint256,uint256)\":{\"details\":\"Fails under same conditions as `getRandomnessAfter(uint256)` may do.\",\"params\":{\"_block\":\"Block number from which the search will start.\",\"_nonce\":\"Nonce value enabling multiple random numbers from the same randomness value.\",\"_range\":\"Range within which the uniformly-distributed random number will be generated.\"}},\"randomize()\":{\"details\":\"FOR UNITARY TESTING ONLY. DO NOT USE IN PRODUCTION, AS PROVIDED RANDOMNESSWILL NEITHER BE EVM-AGNOSTIC, NOR SECURE.\",\"returns\":{\"_usedFunds\":\"Amount of funds actually used from those provided by the tx sender.\"}},\"upgradeRandomizeFee(uint256)\":{\"details\":\"The whole `msg.value` shall be transferred back to the tx sender.\",\"returns\":{\"_0\":\"_usedFunds Amount of funds actually used from those provided by the tx sender.\"}}},\"title\":\"WitnetRandomness mock contract implementation. \",\"version\":1},\"userdoc\":{\"events\":{\"Randomized(address,uint256,uint256,bytes32)\":{\"notice\":\"Thrown every time a new WitnetRandomnessRequest gets succesfully posted to the WitnetRequestBoard.\"}},\"kind\":\"user\",\"methods\":{\"clone()\":{\"notice\":\"Deploys and returns the address of a minimal proxy clone that replicates contract behaviour while using its own EVM storage.\"},\"cloneDeterministic(bytes32)\":{\"notice\":\"Deploys and returns the address of a minimal proxy clone that replicates contract  behaviour while using its own EVM storage.\"},\"cloned()\":{\"notice\":\"Tells whether this contract is a clone of another (i.e. `self()`)\"},\"constructor\":{\"notice\":\"Constructor: new WitnetRandomnessMock contract\"},\"estimateRandomizeFee(uint256)\":{\"notice\":\"Returns mocked amount of wei required to be paid as a fee when requesting new randomization.\"},\"getRandomizeData(uint256)\":{\"notice\":\"Retrieves data of a randomization request that got successfully posted to the WRB within a given block.\"},\"getRandomnessAfter(uint256)\":{\"notice\":\"Mocks randomness generated upon solving a request that was posted within a given block, if more than `__mockRandomizeLatencyBlocks` have elapsed since rquest, or to the _first_ request  posted after that block, otherwise. \"},\"getRandomnessNextBlock(uint256)\":{\"notice\":\"Tells what is the number of the next block in which a randomization request was posted after the given one. \"},\"getRandomnessPrevBlock(uint256)\":{\"notice\":\"Gets previous block in which a randomness request was posted before the given one.\"},\"isRandomized(uint256)\":{\"notice\":\"Mocks `true` only when a randomness request got actually posted within given block, and at least `__mockRandomizeLatencyBlocks` have elapsed since then. \"},\"latestRandomizeBlock()\":{\"notice\":\"Returns latest block in which a randomness request got sucessfully posted to the WRB.\"},\"random(uint32,uint256,bytes32)\":{\"notice\":\"Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using  the given `_nonce` value and the given `_seed` as a source of entropy.\"},\"random(uint32,uint256,uint256)\":{\"notice\":\"Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using  the given `_nonce` value and the randomness returned by `getRandomnessAfter(_block)`. \"},\"randomize()\":{\"notice\":\"Mocks request to generate randomness, using underlying EVM as entropy source. Only one randomness request per block will be actually posted. Unused funds shall  be transfered back to the tx sender.\"},\"self()\":{\"notice\":\"Immutable contract address that actually attends all calls to this contract.\"},\"upgradeRandomizeFee(uint256)\":{\"notice\":\"Mocks by ignoring any fee increase on a pending-to-be-solved randomness request.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/mocks/WitnetRandomnessMock.sol\":\"WitnetRandomnessMock\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/UsingWitnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./WitnetRequestBoard.sol\\\";\\n\\n/// @title The UsingWitnet contract\\n/// @dev Witnet-aware contracts can inherit from this contract in order to interact with Witnet.\\n/// @author The Witnet Foundation.\\nabstract contract UsingWitnet {\\n\\n    WitnetRequestBoard public immutable witnet;\\n\\n    /// Include an address to specify the WitnetRequestBoard entry point address.\\n    /// @param _wrb The WitnetRequestBoard entry point address.\\n    constructor(WitnetRequestBoard _wrb)\\n    {\\n        require(address(_wrb) != address(0), \\\"UsingWitnet: zero address\\\");\\n        witnet = _wrb;\\n    }\\n\\n    /// Provides a convenient way for client contracts extending this to block the execution of the main logic of the\\n    /// contract until a particular request has been successfully solved and reported by Witnet.\\n    modifier witnetRequestSolved(uint256 _id) {\\n        require(\\n                _witnetCheckResultAvailability(_id),\\n                \\\"UsingWitnet: request not solved\\\"\\n            );\\n        _;\\n    }\\n\\n    /// Check if a data request has been solved and reported by Witnet.\\n    /// @dev Contracts depending on Witnet should not start their main business logic (e.g. receiving value from third.\\n    /// parties) before this method returns `true`.\\n    /// @param _id The unique identifier of a previously posted data request.\\n    /// @return A boolean telling if the request has been already resolved or not. Returns `false` also, if the result was deleted.\\n    function _witnetCheckResultAvailability(uint256 _id)\\n        internal view\\n        virtual\\n        returns (bool)\\n    {\\n        return witnet.getQueryStatus(_id) == Witnet.QueryStatus.Reported;\\n    }\\n\\n    /// Estimate the reward amount.\\n    /// @param _gasPrice The gas price for which we want to retrieve the estimation.\\n    /// @return The reward to be included when either posting a new request, or upgrading the reward of a previously posted one.\\n    function _witnetEstimateReward(uint256 _gasPrice)\\n        internal view\\n        virtual\\n        returns (uint256)\\n    {\\n        return witnet.estimateReward(_gasPrice);\\n    }\\n\\n    /// Estimates the reward amount, considering current transaction gas price.\\n    /// @return The reward to be included when either posting a new request, or upgrading the reward of a previously posted one.\\n    function _witnetEstimateReward()\\n        internal view\\n        virtual\\n        returns (uint256)\\n    {\\n        return witnet.estimateReward(tx.gasprice);\\n    }\\n\\n    /// Send a new request to the Witnet network with transaction value as a reward.\\n    /// @param _request An instance of `IWitnetRequest` contract.\\n    /// @return _id Sequential identifier for the request included in the WitnetRequestBoard.\\n    /// @return _reward Current reward amount escrowed by the WRB until a result gets reported.\\n    function _witnetPostRequest(IWitnetRequest _request)\\n        internal\\n        virtual\\n        returns (uint256 _id, uint256 _reward)\\n    {\\n        _reward = _witnetEstimateReward();\\n        require(\\n            _reward <= msg.value,\\n            \\\"UsingWitnet: reward too low\\\"\\n        );\\n        _id = witnet.postRequest{value: _reward}(_request);\\n    }\\n\\n    /// Upgrade the reward for a previously posted request.\\n    /// @dev Call to `upgradeReward` function in the WitnetRequestBoard contract.\\n    /// @param _id The unique identifier of a request that has been previously sent to the WitnetRequestBoard.\\n    /// @return Amount in which the reward has been increased.\\n    function _witnetUpgradeReward(uint256 _id)\\n        internal\\n        virtual\\n        returns (uint256)\\n    {\\n        uint256 _currentReward = witnet.readRequestReward(_id);        \\n        uint256 _newReward = _witnetEstimateReward();\\n        uint256 _fundsToAdd = 0;\\n        if (_newReward > _currentReward) {\\n            _fundsToAdd = (_newReward - _currentReward);\\n        }\\n        witnet.upgradeReward{value: _fundsToAdd}(_id); // Let Request.gasPrice be updated\\n        return _fundsToAdd;\\n    }\\n\\n    /// Read the Witnet-provided result to a previously posted request.\\n    /// @param _id The unique identifier of a request that was posted to Witnet.\\n    /// @return The result of the request as an instance of `Witnet.Result`.\\n    function _witnetReadResult(uint256 _id)\\n        internal view\\n        virtual\\n        returns (Witnet.Result memory)\\n    {\\n        return witnet.readResponseResult(_id);\\n    }\\n\\n    /// Retrieves copy of all response data related to a previously posted request, removing the whole query from storage.\\n    /// @param _id The unique identifier of a previously posted request.\\n    /// @return The Witnet-provided result to the request.\\n    function _witnetDeleteQuery(uint256 _id)\\n        internal\\n        virtual\\n        returns (Witnet.Response memory)\\n    {\\n        return witnet.deleteQuery(_id);\\n    }\\n\\n}\\n\",\"keccak256\":\"0x197b4fcecea2958249928d85183e3c9e094bff8c2f4dab29ef13361683c576bd\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/WitnetRequestBoard.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"./interfaces/IWitnetRequestBoardEvents.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardReporter.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardRequestor.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestBoardView.sol\\\";\\nimport \\\"./interfaces/IWitnetRequestParser.sol\\\";\\n\\n/// @title Witnet Request Board functionality base contract.\\n/// @author The Witnet Foundation.\\nabstract contract WitnetRequestBoard is\\n    IWitnetRequestBoardEvents,\\n    IWitnetRequestBoardReporter,\\n    IWitnetRequestBoardRequestor,\\n    IWitnetRequestBoardView,\\n    IWitnetRequestParser\\n{\\n    receive() external payable {\\n        revert(\\\"WitnetRequestBoard: no transfers accepted\\\");\\n    }\\n}\\n\",\"keccak256\":\"0xb04deadd6e24568accfcbb7b76f1c03cb925933aee189115b5b23badc5b6e9ab\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/apps/WitnetRandomness.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../UsingWitnet.sol\\\";\\nimport \\\"../interfaces/IWitnetRandomness.sol\\\";\\nimport \\\"../requests/WitnetRequestRandomness.sol\\\";\\n\\n/// @title WitnetRandomness: A trustless randomness generator and registry, based on the Witnet oracle. \\n/// @author Witnet Foundation.\\ncontract WitnetRandomness\\n    is\\n        IWitnetRandomness,\\n        UsingWitnet,\\n        Clonable\\n{\\n    WitnetRequestRandomness public witnetRandomnessRequest;\\n    uint256 public override latestRandomizeBlock;\\n\\n    mapping (uint256 => RandomizeData) internal __randomize_;\\n    struct RandomizeData {\\n        address from;\\n        uint256 prevBlock;\\n        uint256 nextBlock;\\n        uint256 witnetQueryId;\\n    }\\n\\n    /// Include an address to specify the immutable WitnetRequestBoard entrypoint address.\\n    /// @param _wrb The WitnetRequestBoard immutable entrypoint address.\\n    constructor(WitnetRequestBoard _wrb)\\n        UsingWitnet(_wrb)\\n    {\\n        witnetRandomnessRequest = new WitnetRequestRandomness();\\n        witnetRandomnessRequest.transferOwnership(msg.sender);\\n    }\\n\\n    /// Returns amount of wei required to be paid as a fee when requesting randomization with a \\n    /// transaction gas price as the one given.\\n    function estimateRandomizeFee(uint256 _gasPrice)\\n        public view\\n        virtual override\\n        returns (uint256)\\n    {\\n        return _witnetEstimateReward(_gasPrice);\\n    }\\n\\n    /// Retrieves data of a randomization request that got successfully posted to the WRB within a given block.\\n    /// @dev Returns zero values if no randomness request was actually posted within a given block.\\n    /// @param _block Block number whose randomness request is being queried for.\\n    /// @return _from Address from which the latest randomness request was posted.\\n    /// @return _id Unique request identifier as provided by the WRB.\\n    /// @return _prevBlock Block number in which a randomness request got posted just before this one. 0 if none.\\n    /// @return _nextBlock Block number in which a randomness request got posted just after this one, 0 if none.\\n    function getRandomizeData(uint256 _block)\\n        external view\\n        virtual override\\n        returns (\\n            address _from,\\n            uint256 _id,\\n            uint256 _prevBlock,\\n            uint256 _nextBlock\\n        )\\n    {\\n        RandomizeData storage _data = __randomize_[_block];\\n        _id = _data.witnetQueryId;\\n        _from = _data.from;\\n        _prevBlock = _data.prevBlock;\\n        _nextBlock = _data.nextBlock;\\n    }\\n\\n    /// Retrieves the randomness generated upon solving a request that was posted within a given block,\\n    /// if any, or to the _first_ request posted after that block, otherwise. Should the intended \\n    /// request happen to be finalized with errors on the Witnet oracle network side, this function \\n    /// will recursively try to return randomness from the next non-faulty randomization request found \\n    /// in storage, if any. \\n    /// @dev Fails if:\\n    /// @dev   i.   no `randomize()` was not called in either the given block, or afterwards.\\n    /// @dev   ii.  a request posted in/after given block does exist, but no result has been provided yet.\\n    /// @dev   iii. all requests in/after the given block were solved with errors.\\n    /// @param _block Block number from which the search will start.\\n    function getRandomnessAfter(uint256 _block)\\n        public view\\n        virtual override\\n        returns (bytes32)\\n    {\\n        if (__randomize_[_block].from == address(0)) {\\n            _block = getRandomnessNextBlock(_block);\\n        }\\n        uint256 _queryId = __randomize_[_block].witnetQueryId;\\n        require(_queryId != 0, \\\"WitnetRandomness: not randomized\\\");\\n        require(_witnetCheckResultAvailability(_queryId), \\\"WitnetRandomness: pending randomize\\\");\\n        Witnet.Result memory _witnetResult = _witnetReadResult(_queryId);\\n        if (witnet.isOk(_witnetResult)) {\\n            return witnet.asBytes32(_witnetResult);\\n        } else {\\n            uint256 _nextRandomizeBlock = __randomize_[_block].nextBlock;\\n            require(_nextRandomizeBlock != 0, \\\"WitnetRandomness: faulty randomize\\\");\\n            return getRandomnessAfter(_nextRandomizeBlock);\\n        }\\n    }\\n\\n    /// Tells what is the number of the next block in which a randomization request was posted after the given one. \\n    /// @param _block Block number from which the search will start.\\n    /// @return Number of the first block found after the given one, or `0` otherwise.\\n    function getRandomnessNextBlock(uint256 _block)\\n        public view\\n        virtual override\\n        returns (uint256)\\n    {\\n        return ((__randomize_[_block].from != address(0))\\n            ? __randomize_[_block].nextBlock\\n            // start search from the latest block\\n            : _searchNextBlock(_block, latestRandomizeBlock)\\n        );\\n    }\\n\\n    /// Gets previous block in which a randomness request was posted before the given one.\\n    /// @param _block Block number from which the search will start. Cannot be zero.\\n    /// @return First block found before the given one, or `0` otherwise.\\n    function getRandomnessPrevBlock(uint256 _block)\\n        public view\\n        virtual override\\n        returns (uint256)\\n    {\\n        assert(_block > 0);\\n        uint256 _latest = latestRandomizeBlock;\\n        return ((_block > _latest)\\n            ? _latest\\n            // start search from the latest block\\n            : _searchPrevBlock(_block, __randomize_[_latest].prevBlock)\\n        );\\n    }\\n\\n    /// Returns `true` only when the randomness request that got posted within given block was already\\n    /// reported back from the Witnet oracle, either successfully or with an error of any kind.\\n    function isRandomized(uint256 _block)\\n        public view\\n        virtual override\\n        returns (bool)\\n    {\\n        RandomizeData storage _data = __randomize_[_block];\\n        return (\\n            _data.witnetQueryId != 0 \\n                && _witnetCheckResultAvailability(_data.witnetQueryId)\\n        );\\n    }\\n\\n    /// Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using \\n    /// the given `_nonce` value and the randomness returned by `getRandomnessAfter(_block)`. \\n    /// @dev Fails under same conditions as `getRandomnessAfter(uint256)` may do.\\n    /// @param _range Range within which the uniformly-distributed random number will be generated.\\n    /// @param _nonce Nonce value enabling multiple random numbers from the same randomness value.\\n    /// @param _block Block number from which the search will start.\\n    function random(uint32 _range, uint256 _nonce, uint256 _block)\\n        external view\\n        virtual override\\n        returns (uint32)\\n    {\\n        return random(\\n            _range,\\n            _nonce,\\n            keccak256(\\n                abi.encode(\\n                    msg.sender,\\n                    getRandomnessAfter(_block)\\n                )\\n            )\\n        );\\n    }\\n\\n    /// Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using \\n    /// the given `_nonce` value and the given `_seed` as a source of entropy.\\n    /// @param _range Range within which the uniformly-distributed random number will be generated.\\n    /// @param _nonce Nonce value enabling multiple random numbers from the same randomness value.\\n    /// @param _seed Seed value used as entropy source.\\n    function random(uint32 _range, uint256 _nonce, bytes32 _seed)\\n        public pure\\n        virtual override\\n        returns (uint32)\\n    {\\n        uint8 _flagBits = uint8(255 - _msbDeBruijn32(_range));\\n        uint256 _number = uint256(\\n                keccak256(\\n                    abi.encode(_seed, _nonce)\\n                )\\n            ) & uint256(2 ** _flagBits - 1);\\n        return uint32((_number * _range) >> _flagBits);\\n    }\\n\\n    /// Requests the Witnet oracle to generate an EVM-agnostic and trustless source of randomness. \\n    /// Only one randomness request per block will be actually posted to the WRB. Should there \\n    /// already be a posted request within current block, it will try to upgrade Witnet fee of current's \\n    /// block randomness request according to current gas price. In both cases, all unused funds shall \\n    /// be transfered back to the tx sender.\\n    /// @return _usedFunds Amount of funds actually used from those provided by the tx sender.\\n    function randomize()\\n        external payable\\n        virtual override\\n        returns (uint256 _usedFunds)\\n    {\\n        if (latestRandomizeBlock < block.number) {\\n            // Post the Witnet Randomness request:\\n            uint _queryId;\\n            (_queryId, _usedFunds) = _witnetPostRequest(witnetRandomnessRequest);\\n            // Keep Randomize data in storage:\\n            RandomizeData storage _data = __randomize_[block.number];\\n            _data.witnetQueryId = _queryId;\\n            _data.from = msg.sender;\\n            // Update block links:\\n            uint256 _prevBlock = latestRandomizeBlock;\\n            _data.prevBlock = _prevBlock;\\n            __randomize_[_prevBlock].nextBlock = block.number;\\n            latestRandomizeBlock = block.number;\\n            // Throw event:\\n            emit Randomized(\\n                msg.sender,\\n                _prevBlock,\\n                _queryId,\\n                witnetRandomnessRequest.hash()\\n            );\\n            // Transfer back unused tx value:\\n            if (_usedFunds < msg.value) {\\n                payable(msg.sender).transfer(msg.value - _usedFunds);\\n            }\\n        } else {\\n            return upgradeRandomizeFee(block.number);\\n        }\\n    }\\n\\n    /// Increases Witnet fee related to a pending-to-be-solved randomness request, as much as it\\n    /// may be required in proportion to how much bigger the current tx gas price is with respect the \\n    /// highest gas price that was paid in either previous fee upgrades, or when the given randomness \\n    /// request was posted. All unused funds shall be transferred back to the tx sender.\\n    /// @return _usedFunds Amount of dunds actually used from those provided by the tx sender.\\n    function upgradeRandomizeFee(uint256 _block)\\n        public payable\\n        virtual override\\n        returns (uint256 _usedFunds)\\n    {\\n        RandomizeData storage _data = __randomize_[_block];\\n        if (_data.witnetQueryId != 0) {\\n            _usedFunds = _witnetUpgradeReward(_data.witnetQueryId);\\n        }\\n        if (_usedFunds < msg.value) {\\n            payable(msg.sender).transfer(msg.value - _usedFunds);\\n        }\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- 'Clonable' overriden functions -----------------------------------------------------------------------------\\n\\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract\\n    /// behaviour while using its own EVM storage.\\n    /// @dev This function should always provide a new address, no matter how many times \\n    /// @dev is actually called from the same `msg.sender`.\\n    function clone()\\n        public\\n        virtual override\\n        returns (Clonable _newInstance)\\n    {\\n        _newInstance = super.clone();\\n        _clone(_newInstance);\\n    }\\n\\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract \\n    /// behaviour while using its own EVM storage.\\n    /// @dev This function uses the CREATE2 opcode and a `_salt` to deterministically deploy\\n    /// @dev the clone. Using the same `_salt` multiple time will revert, since\\n    /// @dev no contract can be deployed more than once at the same address.\\n    function cloneDeterministic(bytes32 _salt)\\n        public\\n        virtual override\\n        returns (Clonable _newInstance)\\n    {\\n        _newInstance = super.cloneDeterministic(_salt);\\n        _clone(_newInstance);\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- 'Initializable' overriden functions ------------------------------------------------------------------------\\n\\n    /// @dev Initializes contract's storage context.\\n    function initialize(bytes memory _initData)\\n        public\\n        virtual override\\n    {\\n        require(address(witnetRandomnessRequest) == address(0), \\\"WitnetRandomness: already initialized\\\");\\n        witnetRandomnessRequest = WitnetRequestRandomness(\\n            abi.decode(\\n                _initData,\\n                (address)\\n            )\\n        );\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- INTERNAL FUNCTIONS -----------------------------------------------------------------------------------------\\n\\n    /// @dev Common steps for both deterministic and non-deterministic cloning.\\n    function _clone(Clonable _instance) internal {\\n        address _request = address(witnetRandomnessRequest.clone());\\n        Ownable(_request).transferOwnership(msg.sender);\\n        _instance.initialize(abi.encode(_request));\\n    }\\n\\n    /// @dev Returns index of the Most Significant Bit of the given number, applying De Bruijn O(1) algorithm.\\n    function _msbDeBruijn32(uint32 _v)\\n        internal pure\\n        returns (uint8)\\n    {\\n        uint8[32] memory _bitPosition = [\\n                0, 9, 1, 10, 13, 21, 2, 29,\\n                11, 14, 16, 18, 22, 25, 3, 30,\\n                8, 12, 20, 28, 15, 17, 24, 7,\\n                19, 27, 23, 6, 26, 5, 4, 31\\n            ];\\n        _v |= _v >> 1;\\n        _v |= _v >> 2;\\n        _v |= _v >> 4;\\n        _v |= _v >> 8;\\n        _v |= _v >> 16;\\n        return _bitPosition[\\n            uint32(_v * uint256(0x07c4acdd)) >> 27\\n        ];\\n    }\\n\\n    /// @dev Recursively searches for the number of the first block after the given one in which a Witnet randomization request was posted.\\n    /// @dev Returns 0 if none found.\\n    function _searchNextBlock(uint256 _target, uint256 _latest) internal view returns (uint256) {\\n        return ((_target >= _latest) \\n            ? __randomize_[_latest].nextBlock\\n            : _searchNextBlock(_target, __randomize_[_latest].prevBlock)\\n        );\\n    }\\n\\n    /// @dev Recursively searches for the number of the first block before the given one in which a Witnet randomization request was posted.\\n    /// @dev Returns 0 if none found.\\n\\n    function _searchPrevBlock(uint256 _target, uint256 _latest) internal view returns (uint256) {\\n        return ((_target > _latest)\\n            ? _latest\\n            : _searchPrevBlock(_target, __randomize_[_latest].prevBlock)\\n        );\\n    }\\n}\\n\",\"keccak256\":\"0x04a32e324f78f56c2c5d5f85fc813ece2e37cd37f773c4cdd3de7cad22512fab\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRandomness.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title The Witnet Randomness generator interface.\\n/// @author Witnet Foundation.\\ninterface IWitnetRandomness {\\n\\n    /// Thrown every time a new WitnetRandomnessRequest gets succesfully posted to the WitnetRequestBoard.\\n    /// @param from Address from which the randomize() function was called. \\n    /// @param prevBlock Block number in which a randomness request got posted just before this one. 0 if none.\\n    /// @param witnetQueryId Unique query id assigned to this request by the WRB.\\n    /// @param witnetRequestHash SHA-256 hash of the WitnetRandomnessRequest actual bytecode just posted to the WRB.\\n    event Randomized(\\n        address indexed from,\\n        uint256 indexed prevBlock,\\n        uint256 witnetQueryId,\\n        bytes32 witnetRequestHash\\n    );\\n\\n    /// Returns amount of wei required to be paid as a fee when requesting randomization with a \\n    /// transaction gas price as the one given.\\n    function estimateRandomizeFee(uint256 _gasPrice) external view returns (uint256);\\n\\n    /// Retrieves data of a randomization request that got successfully posted to the WRB within a given block.\\n    /// @dev Returns zero values if no randomness request was actually posted within a given block.\\n    /// @param _block Block number whose randomness request is being queried for.\\n    /// @return _from Address from which the latest randomness request was posted.\\n    /// @return _id Unique request identifier as provided by the WRB.\\n    /// @return _prevBlock Block number in which a randomness request got posted just before this one. 0 if none.\\n    /// @return _nextBlock Block number in which a randomness request got posted just after this one, 0 if none.\\n    function getRandomizeData(uint256 _block)\\n        external view returns (address _from, uint256 _id, uint256 _prevBlock, uint256 _nextBlock);\\n\\n    /// Retrieves the randomness generated upon solving a request that was posted within a given block,\\n    /// if any, or to the _first_ request posted after that block, otherwise. Should the intended \\n    /// request happen to be finalized with errors on the Witnet oracle network side, this function \\n    /// will recursively try to return randomness from the next non-faulty randomization request found \\n    /// in storage, if any. \\n    /// @dev Fails if:\\n    /// @dev   i.   no `randomize()` was not called in either the given block, or afterwards.\\n    /// @dev   ii.  a request posted in/after given block does exist, but no result has been provided yet.\\n    /// @dev   iii. all requests in/after the given block were solved with errors.\\n    /// @param _block Block number from which the search will start.\\n    function getRandomnessAfter(uint256 _block) external view returns (bytes32); \\n\\n    /// Tells what is the number of the next block in which a randomization request was posted after the given one. \\n    /// @param _block Block number from which the search will start.\\n    /// @return Number of the first block found after the given one, or `0` otherwise.\\n    function getRandomnessNextBlock(uint256 _block) external view returns (uint256); \\n\\n    /// Gets previous block in which a randomness request was posted before the given one.\\n    /// @param _block Block number from which the search will start.\\n    /// @return First block found before the given one, or `0` otherwise.\\n    function getRandomnessPrevBlock(uint256 _block) external view returns (uint256);\\n\\n    /// Returns `true` only when the randomness request that got posted within given block was already\\n    /// reported back from the Witnet oracle, either successfully or with an error of any kind.\\n    function isRandomized(uint256 _block) external view returns (bool);\\n\\n    /// Returns latest block in which a randomness request got sucessfully posted to the WRB.\\n    function latestRandomizeBlock() external view returns (uint256);\\n\\n    /// Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using \\n    /// the given `_nonce` value and the randomness returned by `getRandomnessAfter(_block)`. \\n    /// @dev Fails under same conditions as `getRandomnessAfter(uint256)` may do.\\n    /// @param _range Range within which the uniformly-distributed random number will be generated.\\n    /// @param _nonce Nonce value enabling multiple random numbers from the same randomness value.\\n    /// @param _block Block number from which the search will start.\\n    function random(uint32 _range, uint256 _nonce, uint256 _block) external view returns (uint32);\\n\\n    /// Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using \\n    /// the given `_nonce` value and the given `_seed` as a source of entropy.\\n    /// @param _range Range within which the uniformly-distributed random number will be generated.\\n    /// @param _nonce Nonce value enabling multiple random numbers from the same randomness value.\\n    /// @param _seed Seed value used as entropy source.\\n    function random(uint32 _range, uint256 _nonce, bytes32 _seed) external pure returns (uint32);\\n\\n    /// Requests the Witnet oracle to generate an EVM-agnostic and trustless source of randomness. \\n    /// Only one randomness request per block will be actually posted to the WRB. Should there \\n    /// already be a posted request within current block, it will try to upgrade Witnet fee of current's \\n    /// block randomness request according to current gas price. In both cases, all unused funds shall \\n    /// be transfered back to the tx sender.\\n    /// @return _usedFunds Amount of funds actually used from those provided by the tx sender.\\n    function randomize() external payable returns (uint256 _usedFunds);\\n\\n    /// Increases Witnet fee related to a pending-to-be-solved randomness request, as much as it\\n    /// may be required in proportion to how much bigger the current tx gas price is with respect the \\n    /// highest gas price that was paid in either previous fee upgrades, or when the given randomness \\n    /// request was posted. All unused funds shall be transferred back to the tx sender.\\n    /// @return _usedFunds Amount of dunds actually used from those provided by the tx sender.\\n    function upgradeRandomizeFee(uint256 _block) external payable returns (uint256 _usedFunds);\\n}\\n\",\"keccak256\":\"0x67868d08fe2406086cdd9a3860614201911a1ad16e3d34a94151fad721a12934\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardEvents.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title Witnet Request Board emitting events interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardEvents {\\n    /// Emitted when a Witnet Data Request is posted to the WRB.\\n    event PostedRequest(uint256 queryId, address from);\\n\\n    /// Emitted when a Witnet-solved result is reported to the WRB.\\n    event PostedResult(uint256 queryId, address from);\\n\\n    /// Emitted when all data related to given query is deleted from the WRB.\\n    event DeletedQuery(uint256 queryId, address from);\\n}\\n\",\"keccak256\":\"0xe2cb1369ba158db394c0380231f99174a88d62a66b0e7f8be14179b8c2fbd12f\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardReporter.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Request Board Reporter interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardReporter {\\n    /// Reports the Witnet-provided result to a previously posted request. \\n    /// @dev Will assume `block.timestamp` as the timestamp at which the request was solved.\\n    /// @dev Fails if:\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique identifier of the data request.\\n    /// @param _drTxHash The hash of the corresponding data request transaction in Witnet.\\n    /// @param _result The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            bytes32 _drTxHash,\\n            bytes calldata _result\\n        ) external;\\n\\n    /// Reports the Witnet-provided result to a previously posted request.\\n    /// @dev Fails if:\\n    /// @dev - called from unauthorized address;\\n    /// @dev - the `_queryId` is not in 'Posted' status.\\n    /// @dev - provided `_drTxHash` is zero;\\n    /// @dev - length of provided `_result` is zero.\\n    /// @param _queryId The unique query identifier\\n    /// @param _timestamp The timestamp of the solving tally transaction in Witnet.\\n    /// @param _drTxHash The hash of the corresponding data request transaction in Witnet.\\n    /// @param _result The result itself as bytes.\\n    function reportResult(\\n            uint256 _queryId,\\n            uint256 _timestamp,\\n            bytes32 _drTxHash,\\n            bytes calldata _result\\n        ) external;\\n\\n    /// Reports Witnet-provided results to multiple requests within a single EVM tx.\\n    /// @dev Must emit a PostedResult event for every succesfully reported result.\\n    /// @param _batchResults Array of BatchResult structs, every one containing:\\n    ///         - unique query identifier;\\n    ///         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;\\n    ///         - hash of the corresponding data request tx at the Witnet side-chain level;\\n    ///         - data request result in raw bytes.\\n    /// @param _verbose If true, must emit a BatchReportError event for every failing report, if any. \\n    function reportResultBatch(BatchResult[] calldata _batchResults, bool _verbose) external;\\n        \\n        struct BatchResult {\\n            uint256 queryId;\\n            uint256 timestamp;\\n            bytes32 drTxHash;\\n            bytes   cborBytes;\\n        }\\n\\n        event BatchReportError(uint256 queryId, string reason);\\n}\\n\",\"keccak256\":\"0x70655a9a394143ac1f03477a2cca5e2d1773523832bf127b9e9971596c105812\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardRequestor.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Requestor Interface\\n/// @notice It defines how to interact with the Witnet Request Board in order to:\\n///   - request the execution of Witnet Radon scripts (data request);\\n///   - upgrade the resolution reward of any previously posted request, in case gas price raises in mainnet;\\n///   - read the result of any previously posted request, eventually reported by the Witnet DON.\\n///   - remove from storage all data related to past and solved data requests, and results.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardRequestor {\\n    /// Retrieves a copy of all Witnet-provided data related to a previously posted request, removing the whole query from the WRB storage.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status, or called from an address different to\\n    /// @dev the one that actually posted the given request.\\n    /// @param _queryId The unique query identifier.\\n    function deleteQuery(uint256 _queryId) external returns (Witnet.Response memory);\\n\\n    /// Requests the execution of the given Witnet Data Request in expectation that it will be relayed and solved by the Witnet DON.\\n    /// A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provided \\n    /// result to this request.\\n    /// @dev Fails if:\\n    /// @dev - provided reward is too low.\\n    /// @dev - provided script is zero address.\\n    /// @dev - provided script bytecode is empty.\\n    /// @param _addr The address of the IWitnetRequest contract that can provide the actual Data Request bytecode.\\n    /// @return _queryId An unique query identifier.\\n    function postRequest(IWitnetRequest _addr) external payable returns (uint256 _queryId);\\n\\n    /// Increments the reward of a previously posted request by adding the transaction value to it.\\n    /// @dev Updates request `gasPrice` in case this method is called with a higher \\n    /// @dev gas price value than the one used in previous calls to `postRequest` or\\n    /// @dev `upgradeReward`. \\n    /// @dev Fails if the `_queryId` is not in 'Posted' status.\\n    /// @dev Fails also in case the request `gasPrice` is increased, and the new \\n    /// @dev reward value gets below new recalculated threshold. \\n    /// @param _queryId The unique query identifier.\\n    function upgradeReward(uint256 _queryId) external payable;\\n}\\n\",\"keccak256\":\"0x7c7a991de5f087102b1931d5d8b2e3716d7a90354b3cbafef95d2509a0643453\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestBoardView.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title Witnet Request Board info interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestBoardView {\\n    /// Estimates the amount of reward we need to insert for a given gas price.\\n    /// @param _gasPrice The gas price for which we need to calculate the rewards.\\n    function estimateReward(uint256 _gasPrice) external view returns (uint256);\\n\\n    /// Returns next query id to be generated by the Witnet Request Board.\\n    function getNextQueryId() external view returns (uint256);\\n\\n    /// Gets the whole Query data contents, if any, no matter its current status.\\n    function getQueryData(uint256 _queryId) external view returns (Witnet.Query memory);\\n\\n    /// Gets current status of given query.\\n    function getQueryStatus(uint256 _queryId) external view returns (Witnet.QueryStatus);\\n\\n    /// Retrieves the whole Request record posted to the Witnet Request Board.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been reported\\n    /// @dev or deleted.\\n    /// @param _queryId The unique identifier of a previously posted query.\\n    function readRequest(uint256 _queryId) external view returns (Witnet.Request memory);\\n\\n    /// Retrieves the serialized bytecode of a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not valid, or if the related script bytecode \\n    /// @dev got changed after being posted. Returns empty array once it gets reported, \\n    /// @dev or deleted.\\n    /// @param _queryId The unique query identifier.\\n    function readRequestBytecode(uint256 _queryId) external view returns (bytes memory);\\n\\n    /// Retrieves the gas price that any assigned reporter will have to pay when reporting \\n    /// result to a previously posted Witnet data request.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifie\\n    function readRequestGasPrice(uint256 _queryId) external view returns (uint256);\\n\\n    /// Retrieves the reward currently set for the referred query.\\n    /// @dev Fails if the `_queryId` is not valid or, if it has already been \\n    /// @dev reported, or deleted. \\n    /// @param _queryId The unique query identifier.\\n    function readRequestReward(uint256 _queryId) external view returns (uint256);\\n\\n    /// Retrieves the whole `Witnet.Response` record referred to a previously posted Witnet Data Request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponse(uint256 _queryId) external view returns (Witnet.Response memory);\\n\\n    /// Retrieves the hash of the Witnet transaction hash that actually solved the referred query.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseDrTxHash(uint256 _queryId) external view returns (bytes32);    \\n\\n    /// Retrieves the address that reported the result to a previously-posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseReporter(uint256 _queryId) external view returns (address);\\n\\n    /// Retrieves the Witnet-provided CBOR-bytes result of a previously posted request.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseResult(uint256 _queryId) external view returns (Witnet.Result memory);\\n\\n    /// Retrieves the timestamp in which the result to the referred query was solved by the Witnet DON.\\n    /// @dev Fails if the `_queryId` is not in 'Reported' status.\\n    /// @param _queryId The unique query identifier.\\n    function readResponseTimestamp(uint256 _queryId) external view returns (uint256);\\n}\\n\",\"keccak256\":\"0x782ec2ff166948f5d097765c0190b352793d8b8887af5f8384d875d63cff4e9b\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequestParser.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\n/// @title The Witnet interface for decoding Witnet-provided request to Data Requests.\\n/// This interface exposes functions to check for the success/failure of\\n/// a Witnet-provided result, as well as to parse and convert result into\\n/// Solidity types suitable to the application level. \\n/// @author The Witnet Foundation.\\ninterface IWitnetRequestParser {\\n\\n    /// Decode raw CBOR bytes into a Witnet.Result instance.\\n    /// @param _cborBytes Raw bytes representing a CBOR-encoded value.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborBytes(bytes memory _cborBytes) external pure returns (Witnet.Result memory);\\n\\n    /// Decode a CBOR value into a Witnet.Result instance.\\n    /// @param _cborValue An instance of `Witnet.CBOR`.\\n    /// @return A `Witnet.Result` instance.\\n    function resultFromCborValue(Witnet.CBOR memory _cborValue) external pure returns (Witnet.Result memory);\\n\\n    /// Tell if a Witnet.Result is successful.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if successful, `false` if errored.\\n    function isOk(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Tell if a Witnet.Result is errored.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return `true` if errored, `false` if successful.\\n    function isError(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes` decoded from the Witnet.Result.\\n    function asBytes(Witnet.Result memory _result) external pure returns (bytes memory);\\n\\n    /// Decode a bytes value from a Witnet.Result as a `bytes32` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bytes32` decoded from the Witnet.Result.\\n    function asBytes32(Witnet.Result memory _result) external pure returns (bytes32);\\n\\n    /// Decode an error code from a Witnet.Result as a member of `Witnet.ErrorCodes`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `CBORValue.Error memory` decoded from the Witnet.Result.\\n    function asErrorCode(Witnet.Result memory _result) external pure returns (Witnet.ErrorCodes);\\n\\n\\n    /// Generate a suitable error message for a member of `Witnet.ErrorCodes` and its corresponding arguments.\\n    /// @dev WARN: Note that client contracts should wrap this function into a try-catch foreseing potential errors generated in this function\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return A tuple containing the `CBORValue.Error memory` decoded from the `Witnet.Result`, plus a loggable error message.\\n    function asErrorMessage(Witnet.Result memory _result) external pure returns (Witnet.ErrorCodes, string memory);\\n\\n    /// Decode a raw error from a `Witnet.Result` as a `uint64[]`.\\n    /// @param _result An instance of `Witnet.Result`.\\n    /// @return The `uint64[]` raw error as decoded from the `Witnet.Result`.\\n    function asRawError(Witnet.Result memory _result) external pure returns(uint64[] memory);\\n\\n    /// Decode a boolean value from a Witnet.Result as an `bool` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `bool` decoded from the Witnet.Result.\\n    function asBool(Witnet.Result memory _result) external pure returns (bool);\\n\\n    /// Decode a fixed16 (half-precision) numeric value from a Witnet.Result as an `int32` value.\\n    /// @dev Due to the lack of support for floating or fixed point arithmetic in the EVM, this method offsets all values.\\n    /// by 5 decimal orders so as to get a fixed precision of 5 decimal positions, which should be OK for most `fixed16`.\\n    /// use cases. In other words, the output of this method is 10,000 times the actual value, encoded into an `int32`.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asFixed16(Witnet.Result memory _result) external pure returns (int32);\\n\\n    /// Decode an array of fixed16 values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asFixed16Array(Witnet.Result memory _result) external pure returns (int32[] memory);\\n\\n    /// Decode a integer numeric value from a Witnet.Result as an `int128` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128` decoded from the Witnet.Result.\\n    function asInt128(Witnet.Result memory _result) external pure returns (int128);\\n\\n    /// Decode an array of integer numeric values from a Witnet.Result as an `int128[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `int128[]` decoded from the Witnet.Result.\\n    function asInt128Array(Witnet.Result memory _result) external pure returns (int128[] memory);\\n\\n    /// Decode a string value from a Witnet.Result as a `string` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string` decoded from the Witnet.Result.\\n    function asString(Witnet.Result memory _result) external pure returns (string memory);\\n\\n    /// Decode an array of string values from a Witnet.Result as a `string[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `string[]` decoded from the Witnet.Result.\\n    function asStringArray(Witnet.Result memory _result) external pure returns (string[] memory);\\n\\n    /// Decode a natural numeric value from a Witnet.Result as a `uint64` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64` decoded from the Witnet.Result.\\n    function asUint64(Witnet.Result memory _result) external pure returns(uint64);\\n\\n    /// Decode an array of natural numeric values from a Witnet.Result as a `uint64[]` value.\\n    /// @param _result An instance of Witnet.Result.\\n    /// @return The `uint64[]` decoded from the Witnet.Result.\\n    function asUint64Array(Witnet.Result memory _result) external pure returns (uint64[] memory);\\n\\n}\\n\",\"keccak256\":\"0xe7c24475babac7d21172d37d976a97b81053739e81b4697be39decfe2aa90945\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/mocks/WitnetRandomnessMock.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../apps/WitnetRandomness.sol\\\";\\n\\n/// @title WitnetRandomness mock contract implementation. \\n/// @dev TO BE USED ONLY ON DEVELOPMENT ENVIRONMENTS. \\n/// @dev ON SUPPORTED TESTNETS, PLEASE USE THE `WitnetRandomness`\\n/// @dev CONTRACT ADDRESS PROVIDED BY THE WITNET FOUNDATION.\\n/// @dev SEE: https://docs.witnet.io/smart-contracts/witnet-randomness-oracle/contract-addresses\\n/// @author Witnet Foundation.\\ncontract WitnetRandomnessMock\\n    is\\n        WitnetRandomness\\n{\\n    uint8 internal __mockRandomizeLatencyBlocks;\\n    uint256 internal __mockRandomizeFee;\\n    uint256 internal __mockRandomizeLatestId;\\n\\n    /// Constructor: new WitnetRandomnessMock contract\\n    /// @param _mockRandomizeLatencyBlocks Mocked number of blocks in which a new randomness will be provided after `randomize()`\\n    /// @param _mockRandomizeFee Mocked randomize fee (will be constant no matter what tx gas price is provided).\\n    constructor (\\n            uint8 _mockRandomizeLatencyBlocks,\\n            uint256 _mockRandomizeFee\\n        )\\n        WitnetRandomness(WitnetRequestBoard(payable(0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF)))\\n    {\\n        __mockRandomizeLatencyBlocks = _mockRandomizeLatencyBlocks;\\n        __mockRandomizeFee = _mockRandomizeFee;\\n    }\\n\\n    /// Returns mocked amount of wei required to be paid as a fee when requesting new randomization.\\n    function estimateRandomizeFee(uint256)\\n        public view\\n        virtual override\\n        returns (uint256)\\n    {\\n        return __mockRandomizeFee;\\n    }\\n\\n    /// Retrieves data of a randomization request that got successfully posted to the WRB within a given block.\\n    /// @dev Returns zero values if no randomness request was actually posted within a given block.\\n    /// @param _block Block number whose randomness request is being queried for.\\n    /// @return _from Address from which the latest randomness request was posted.\\n    /// @return _id Unique request identifier as provided by the WRB.\\n    /// @return _prevBlock Block number in which a randomness request got posted just before this one. 0 if none.\\n    /// @return _nextBlock Block number in which a randomness request got posted just after this one, 0 if none.\\n    function getRandomizeData(uint256 _block)\\n        external view\\n        virtual override\\n        returns (\\n            address _from,\\n            uint256 _id,\\n            uint256 _prevBlock,\\n            uint256 _nextBlock\\n        )\\n    {\\n        RandomizeData storage _data = __randomize_[_block];\\n        _id = _data.witnetQueryId;\\n        _from = _data.from;\\n        _prevBlock = _data.prevBlock;\\n        _nextBlock = _data.nextBlock;\\n    }\\n\\n    /// Mocks randomness generated upon solving a request that was posted within a given block,\\n    /// if more than `__mockRandomizeLatencyBlocks` have elapsed since rquest, or to the _first_ request \\n    /// posted after that block, otherwise. \\n    /// @dev Please, note that 256 blocks after a `randomize()` request, randomness will be possibly returned \\n    /// @dev as `bytes32(0)` (depending on actual EVM implementation). \\n    /// @dev Fails if:\\n    /// @dev   i.   no `randomize()` was not called in either the given block, or afterwards.\\n    /// @dev   ii.  a request posted in/after given block does exist, but lest than `__mockRandomizeLatencyBlocks` have elapsed.\\n    /// @param _block Block number from which the search will start.\\n    function getRandomnessAfter(uint256 _block)\\n        public view\\n        virtual override\\n        returns (bytes32)\\n    {\\n        if (__randomize_[_block].from == address(0)) {\\n            _block = getRandomnessNextBlock(_block);\\n        }\\n        uint256 _queryId = __randomize_[_block].witnetQueryId;\\n        require(_queryId != 0, \\\"WitnetRandomnessMock: not randomized\\\");\\n        require(block.number >= _block + __mockRandomizeLatencyBlocks, \\\"WitnetRandomnessMock: pending randomize\\\");\\n        return blockhash(_block);\\n    }\\n\\n    /// Mocks `true` only when a randomness request got actually posted within given block,\\n    /// and at least `__mockRandomizeLatencyBlocks` have elapsed since then. \\n    function isRandomized(uint256 _block)\\n        public view\\n        virtual override\\n        returns (bool)\\n    {\\n        RandomizeData storage _data = __randomize_[_block];\\n        return (\\n            _data.witnetQueryId != 0 \\n                && block.number >= _block + __mockRandomizeLatencyBlocks\\n        );\\n    }\\n\\n    /// Mocks request to generate randomness, using underlying EVM as entropy source.\\n    /// Only one randomness request per block will be actually posted. Unused funds shall \\n    /// be transfered back to the tx sender.\\n    /// @dev FOR UNITARY TESTING ONLY. DO NOT USE IN PRODUCTION, AS PROVIDED RANDOMNESS\\n    /// @dev WILL NEITHER BE EVM-AGNOSTIC, NOR SECURE.\\n    /// @return _usedFunds Amount of funds actually used from those provided by the tx sender.\\n    function randomize()\\n        external payable\\n        virtual override\\n        returns (uint256 _usedFunds)\\n    {\\n        if (latestRandomizeBlock < block.number) {\\n            _usedFunds = __mockRandomizeFee;\\n            require(\\n                msg.value >= _usedFunds,\\n                \\\"WitnetRandomnessMock: reward too low\\\"\\n            );\\n            // Post the Witnet Randomness request:\\n            uint _queryId = ++ __mockRandomizeLatestId;\\n            RandomizeData storage _data = __randomize_[block.number];\\n            _data.from = msg.sender;\\n            _data.witnetQueryId = _queryId;            \\n            // Update block links:\\n            uint256 _prevBlock = latestRandomizeBlock;\\n            _data.prevBlock = _prevBlock;\\n            __randomize_[_prevBlock].nextBlock = block.number;\\n            latestRandomizeBlock = block.number;\\n            // Throw event:\\n            emit Randomized(\\n                msg.sender,\\n                _prevBlock,\\n                _queryId,\\n                witnetRandomnessRequest.hash()\\n            );\\n        }\\n        // Transfer back unused tx value:\\n        if (_usedFunds < msg.value) {\\n            payable(msg.sender).transfer(msg.value - _usedFunds);\\n        }\\n    }\\n\\n    /// Mocks by ignoring any fee increase on a pending-to-be-solved randomness request.\\n    /// @dev The whole `msg.value` shall be transferred back to the tx sender.\\n    /// @return _usedFunds Amount of funds actually used from those provided by the tx sender.\\n    function upgradeRandomizeFee(uint256)\\n        public payable\\n        virtual override\\n        returns (uint256)\\n    {\\n        if (msg.value > 0) {\\n            payable(msg.sender).transfer(msg.value);\\n        }\\n        return 0;\\n    }\\n}\\n\",\"keccak256\":\"0xb53b027c34190887c264cec104300e4325640abbedbc022bdda7482afe0e2895\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Clonable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\nimport \\\"./Initializable.sol\\\";\\n\\nabstract contract Clonable is Initializable {\\n    /// Immutable contract address that actually attends all calls to this contract.\\n    /// @dev Differs from `address(this)` when reached within a DELEGATECALL.\\n    address immutable public self = address(this);\\n\\n    event Cloned(address indexed by, Clonable indexed self, Clonable indexed clone);\\n\\n    /// Tells whether this contract is a clone of another (i.e. `self()`)\\n    function cloned()\\n        public view\\n        returns (bool)\\n    {\\n        return (\\n            address(this) != self\\n        );\\n    }\\n\\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract\\n    /// behaviour while using its own EVM storage.\\n    /// @dev This function should always provide a new address, no matter how many times \\n    /// @dev is actually called from the same `msg.sender`.\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1167.\\n    /// @dev See https://blog.openzeppelin.com/deep-dive-into-the-minimal-proxy-contract/.\\n    function clone()\\n        public virtual\\n        returns (Clonable _instance)\\n    {\\n        address _self = self;\\n        assembly {\\n            // ptr to free mem:\\n            let ptr := mload(0x40)\\n            // begin minimal proxy construction bytecode:\\n            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)\\n            // make minimal proxy delegate all calls to `self()`:\\n            mstore(add(ptr, 0x14), shl(0x60, _self))\\n            // end minimal proxy construction bytecode:\\n            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)\\n            // CREATE new instance:\\n            _instance := create(0, ptr, 0x37)\\n        }        \\n        require(address(_instance) != address(0), \\\"Clonable: CREATE failed\\\");\\n        emit Cloned(msg.sender, Clonable(self), _instance);\\n    }\\n\\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract \\n    /// behaviour while using its own EVM storage.\\n    /// @dev This function uses the CREATE2 opcode and a `_salt` to deterministically deploy\\n    /// @dev the clone. Using the same `_salt` multiple times will revert, since\\n    /// @dev no contract can be deployed more than once at the same address.\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1167.\\n    /// @dev See https://blog.openzeppelin.com/deep-dive-into-the-minimal-proxy-contract/.\\n    function cloneDeterministic(bytes32 _salt)\\n        public virtual\\n        returns (Clonable _instance)\\n    {\\n        address _self = self;\\n        assembly {\\n            // ptr to free mem:\\n            let ptr := mload(0x40)\\n            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)\\n            // make minimal proxy delegate all calls to `self()`:\\n            mstore(add(ptr, 0x14), shl(0x60, _self))\\n            // end minimal proxy construction bytecode:\\n            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)\\n            // CREATE2 new instance:\\n            _instance := create2(0, ptr, 0x37, _salt)\\n        }\\n        require(address(_instance) != address(0), \\\"Clonable: CREATE2 failed\\\");\\n        emit Cloned(msg.sender, Clonable(self), _instance);\\n    }\\n}\\n\",\"keccak256\":\"0xbb8cfcfc7f44e289bd3dff357e1bb3da5809b2a39b58b7805aa3bfc1ec47ff2d\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Context.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity ^0.8.0;\\n\\n/// @dev Provides information about the current execution context, including the\\n/// sender of the transaction and its data. While these are generally available\\n/// via msg.sender and msg.data, they should not be accessed in such a direct\\n/// manner, since when dealing with meta-transactions the account sending and\\n/// paying for execution may not be the actual sender (as far as an application\\n/// is concerned).\\nabstract contract Context {\\n    function _msgSender() internal view virtual returns (address) {\\n        return msg.sender;\\n    }\\n\\n    function _msgData() internal view virtual returns (bytes calldata) {\\n        return msg.data;\\n    }\\n\\n    function _msgValue() internal view virtual returns (uint256) {\\n        return msg.value;\\n    }\\n}\\n\",\"keccak256\":\"0x1a17c0fd9fcd98aa49c5c428a415634b9db839e560f20da81f7c223a18ad12fc\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Initializable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Initializable {\\n    /// @dev Initialize contract's storage context.\\n    function initialize(bytes calldata) external;\\n}\\n\",\"keccak256\":\"0x17c2e66648596deb4f71dbaaa4b95293c99536431e7697f3b69d205a09796f0e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Ownable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.3.2 (access/Ownable.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"./Context.sol\\\";\\n\\n/// @dev Contract module which provides a basic access control mechanism, where\\n/// there is an account (an owner) that can be granted exclusive access to\\n/// specific functions.\\n///\\n/// By default, the owner account will be the one that deploys the contract. This\\n/// can later be changed with {transferOwnership}.\\n///\\n/// This module is used through inheritance. It will make available the modifier\\n/// `onlyOwner`, which can be applied to your functions to restrict their use to\\n/// the owner.\\n\\nabstract contract Ownable is Context {\\n    address private _owner;\\n\\n    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\\n\\n    /// @dev Initializes the contract setting the deployer as the initial owner.\\n    constructor() {\\n        _transferOwnership(_msgSender());\\n    }\\n\\n    /// @dev Returns the address of the current owner.\\n    function owner() public view virtual returns (address) {\\n        return _owner;\\n    }\\n\\n    /// @dev Throws if called by any account other than the owner.\\n    modifier onlyOwner() {\\n        require(owner() == _msgSender(), \\\"Ownable: caller is not the owner\\\");\\n        _;\\n    }\\n\\n    /// @dev Leaves the contract without owner. It will not be possible to call\\n    /// `onlyOwner` functions anymore. Can only be called by the current owner.\\n    /// NOTE: Renouncing ownership will leave the contract without an owner,\\n    /// thereby removing any functionality that is only available to the owner.\\n    function renounceOwnership() public virtual onlyOwner {\\n        _transferOwnership(address(0));\\n    }\\n\\n    /// @dev Transfers ownership of the contract to a new account (`newOwner`).\\n    /// Can only be called by the current owner.\\n    function transferOwnership(address newOwner) public virtual onlyOwner {\\n        require(newOwner != address(0), \\\"Ownable: new owner is the zero address\\\");\\n        _transferOwnership(newOwner);\\n    }\\n\\n    /// @dev Transfers ownership of the contract to a new account (`newOwner`).\\n    /// Internal function without access restriction.\\n    function _transferOwnership(address newOwner) internal virtual {\\n        address oldOwner = _owner;\\n        _owner = newOwner;\\n        emit OwnershipTransferred(oldOwner, newOwner);\\n    }\\n}\",\"keccak256\":\"0xb8ce9f1e03440d40dbb9898c5ec2cfad520ccd3a5c76176058c44f5033c656a2\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Proxiable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Proxiable {\\n    /// @dev Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1822.\\n    function proxiableUUID() external pure returns (bytes32);\\n}\\n\",\"keccak256\":\"0x3ed71dc147c30cd8aa1ca248a045217b6ea513bae96c4c76d66496af4b8d6ff1\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/requests/WitnetRequestMalleableBase.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\nimport \\\"../patterns/Clonable.sol\\\";\\nimport \\\"../patterns/Ownable.sol\\\";\\nimport \\\"../patterns/Proxiable.sol\\\";\\n\\nabstract contract WitnetRequestMalleableBase\\n    is\\n        IWitnetRequest,\\n        Clonable,\\n        Ownable,\\n        Proxiable\\n{   \\n    using Witnet for *;\\n\\n    event WitnessingParamsChanged(\\n        address indexed by,\\n        uint8 numWitnesses,\\n        uint8 minWitnessingConsensus,\\n        uint64 witnssingCollateral,\\n        uint64 witnessingReward,\\n        uint64 witnessingUnitaryFee\\n    );\\n\\n    struct WitnetRequestMalleableBaseContext {\\n        /// Contract owner address.\\n        address owner;\\n        /// Immutable bytecode template.\\n        bytes template;\\n        /// Current request bytecode.\\n        bytes bytecode;\\n        /// Current request hash.\\n        bytes32 hash;\\n        /// Current request witnessing params.\\n        WitnetRequestWitnessingParams params;\\n    }\\n\\n    struct WitnetRequestWitnessingParams {\\n        /// Number of witnesses required to be involved for solving this Witnet Data Request.\\n        uint8 numWitnesses;\\n\\n        /// Threshold percentage for aborting resolution of a request if the witnessing nodes did not arrive to a broad consensus.\\n        uint8 minWitnessingConsensus;\\n\\n        /// Amount of nanowits that a witness solving the request will be required to collateralize in the commitment transaction.\\n        uint64 witnessingCollateral;\\n\\n        /// Amount of nanowits that every request-solving witness will be rewarded with.\\n        uint64 witnessingReward;\\n\\n        /// Amount of nanowits that will be earned by Witnet miners for each each valid commit/reveal transaction they include in a block.\\n        uint64 witnessingUnitaryFee;\\n    }\\n\\n    /// Returns current Witnet Data Request bytecode, encoded using Protocol Buffers.\\n    function bytecode() external view override returns (bytes memory) {\\n        return _request().bytecode;\\n    }\\n\\n    /// Returns SHA256 hash of current Witnet Data Request bytecode.\\n    function hash() external view override returns (bytes32) {\\n        return _request().hash;\\n    }\\n\\n    /// Sets amount of nanowits that a witness solving the request will be required to collateralize in the commitment transaction.\\n    function setWitnessingCollateral(uint64 _witnessingCollateral)\\n        public\\n        virtual\\n        onlyOwner\\n    {\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        _params.witnessingCollateral = _witnessingCollateral;\\n        _malleateBytecode(\\n            _params.numWitnesses,\\n            _params.minWitnessingConsensus,\\n            _witnessingCollateral,\\n            _params.witnessingReward,\\n            _params.witnessingUnitaryFee\\n        );\\n    }\\n\\n    /// Specifies how much you want to pay for rewarding each of the Witnet nodes.\\n    /// @param _witnessingReward Amount of nanowits that every request-solving witness will be rewarded with.\\n    /// @param _witnessingUnitaryFee Amount of nanowits that will be earned by Witnet miners for each each valid \\n    /// commit/reveal transaction they include in a block.\\n    function setWitnessingFees(uint64 _witnessingReward, uint64 _witnessingUnitaryFee)\\n        public\\n        virtual\\n        onlyOwner\\n    {\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        _params.witnessingReward = _witnessingReward;\\n        _params.witnessingUnitaryFee = _witnessingUnitaryFee;\\n        _malleateBytecode(\\n            _params.numWitnesses,\\n            _params.minWitnessingConsensus,\\n            _params.witnessingCollateral,\\n            _witnessingReward,\\n            _witnessingUnitaryFee\\n        );\\n    }\\n\\n    /// Sets how many Witnet nodes will be \\\"hired\\\" for resolving the request.\\n    /// @param _numWitnesses Number of witnesses required to be involved for solving this Witnet Data Request.\\n    /// @param _minWitnessingConsensus Threshold percentage for aborting resolution of a request if the witnessing \\n    /// nodes did not arrive to a broad consensus.\\n    function setWitnessingQuorum(uint8 _numWitnesses, uint8 _minWitnessingConsensus)\\n        public\\n        virtual\\n        onlyOwner\\n    {\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        _params.numWitnesses = _numWitnesses;\\n        _params.minWitnessingConsensus = _minWitnessingConsensus;\\n        _malleateBytecode(\\n            _numWitnesses,\\n            _minWitnessingConsensus,\\n            _params.witnessingCollateral,\\n            _params.witnessingReward,\\n            _params.witnessingUnitaryFee\\n        );\\n    }\\n\\n    /// Returns immutable template bytecode: actual CBOR-encoded data request at the Witnet protocol\\n    /// level, including no witnessing parameters at all.\\n    function template()\\n        external view\\n        returns (bytes memory)\\n    {\\n        return _request().template;\\n    }\\n\\n    /// Returns total amount of nanowits that witnessing nodes will need to collateralize all together.\\n    function totalWitnessingCollateral()\\n        external view\\n        returns (uint128)\\n    {\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        return _params.numWitnesses * _params.witnessingCollateral;\\n    }\\n\\n    /// Returns total amount of nanowits that will have to be paid in total for this request to be solved.\\n    function totalWitnessingFee()\\n        external view\\n        returns (uint128)\\n    {\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        return _params.numWitnesses * (2 * _params.witnessingUnitaryFee + _params.witnessingReward);\\n    }\\n\\n    /// Returns witnessing parameters of current Witnet Data Request.\\n    function witnessingParams()\\n        external view\\n        returns (WitnetRequestWitnessingParams memory)\\n    {\\n        return _request().params;\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- 'Clonable' overriden functions -----------------------------------------------------------------------------\\n\\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract\\n    /// behaviour while using its own EVM storage.\\n    /// @dev This function should always provide a new address, no matter how many times \\n    /// @dev is actually called from the same `msg.sender`.\\n    function clone()\\n        public\\n        virtual override\\n        returns (Clonable _instance)\\n    {\\n        _instance = super.clone();\\n        _instance.initialize(_request().template);\\n        Ownable(address(_instance)).transferOwnership(msg.sender);\\n    }\\n\\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract \\n    /// behaviour while using its own EVM storage.\\n    /// @dev This function uses the CREATE2 opcode and a `_salt` to deterministically deploy\\n    /// @dev the clone. Using the same `_salt` multiple time will revert, since\\n    /// @dev no contract can be deployed more than once at the same address.\\n    function cloneDeterministic(bytes32 _salt)\\n        public\\n        virtual override\\n        returns (Clonable _instance)\\n    {\\n        _instance = super.cloneDeterministic(_salt);\\n        _instance.initialize(_request().template);\\n        Ownable(address(_instance)).transferOwnership(msg.sender);\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- 'Initializable' overriden functions ------------------------------------------------------------------------\\n\\n    /// @dev Initializes contract's storage context.\\n    function initialize(bytes memory _template)\\n        public\\n        virtual override\\n    {\\n        require(_request().template.length == 0, \\\"WitnetRequestMalleableBase: already initialized\\\");\\n        _initialize(_template);\\n        _transferOwnership(_msgSender());\\n    }\\n\\n    // ================================================================================================================\\n    // --- 'Ownable' overriden functions ------------------------------------------------------------------------------\\n\\n    /// Returns the address of the current owner.\\n    function owner()\\n        public view\\n        virtual override\\n        returns (address)\\n    {\\n        return _request().owner;\\n    }\\n\\n    /// @dev Transfers ownership of the contract to a new account (`newOwner`).\\n    function _transferOwnership(address newOwner)\\n        internal\\n        virtual override\\n    {\\n        address oldOwner = _request().owner;\\n        _request().owner = newOwner;\\n        emit OwnershipTransferred(oldOwner, newOwner);\\n    }\\n\\n    // ================================================================================================================\\n    // --- 'Proxiable 'overriden functions ----------------------------------------------------------------------------\\n\\n    /// @dev Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1822.\\n    function proxiableUUID()\\n        external pure\\n        virtual override\\n        returns (bytes32)\\n    {\\n        return (\\n            /* keccak256(\\\"io.witnet.requests.malleable\\\") */\\n            0x851d0a92a3ad30295bef33afc69d6874779826b7789386b336e22621365ed2c2\\n        );\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- INTERNAL FUNCTIONS -----------------------------------------------------------------------------------------    \\n\\n    /// @dev Initializes witnessing params and template bytecode.\\n    function _initialize(bytes memory _template)\\n        internal\\n    {\\n        assert(_template.length > 0);\\n        _request().template = _template;\\n\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        _params.numWitnesses = 2;\\n        _params.minWitnessingConsensus = 51;\\n        _params.witnessingCollateral = 10 ** 9;      // 1 WIT\\n        _params.witnessingReward = 5 * 10 ** 5;      // 0.5 milliWITs\\n        _params.witnessingUnitaryFee = 25 * 10 ** 4; // 0.25 milliWITs\\n        \\n        _malleateBytecode(\\n            _params.numWitnesses,\\n            _params.minWitnessingConsensus,\\n            _params.witnessingCollateral,\\n            _params.witnessingReward,\\n            _params.witnessingUnitaryFee\\n        );\\n    }\\n\\n    /// @dev Serializes new `bytecode` by combining immutable template with given parameters.\\n    function _malleateBytecode(\\n            uint8 _numWitnesses,\\n            uint8 _minWitnessingConsensus,\\n            uint64 _witnessingCollateral,\\n            uint64 _witnessingReward,\\n            uint64 _witnessingUnitaryFee\\n        )\\n        internal\\n        virtual\\n    {\\n        require(\\n            _witnessingReward > 0,\\n            \\\"WitnetRequestMalleableBase: no reward\\\"\\n        );\\n        require(\\n            _numWitnesses >= 1 && _numWitnesses <= 127,\\n            \\\"WitnetRequestMalleableBase: number of witnesses out of range\\\"\\n        );\\n        require(\\n            _minWitnessingConsensus >= 51 && _minWitnessingConsensus <= 99,\\n            \\\"WitnetRequestMalleableBase: witnessing consensus out of range\\\"\\n        );\\n        require(\\n            _witnessingCollateral >= 10 ** 9,\\n            \\\"WitnetRequestMalleableBase: witnessing collateral below 1 WIT\\\"\\n        );\\n\\n        _request().bytecode = abi.encodePacked(\\n            _request().template,\\n            _uint64varint(bytes1(0x10), _witnessingReward),\\n            _uint8varint(bytes1(0x18), _numWitnesses),\\n            _uint64varint(0x20, _witnessingUnitaryFee),\\n            _uint8varint(0x28, _minWitnessingConsensus),\\n            _uint64varint(0x30, _witnessingCollateral)\\n        );\\n        _request().hash = _request().bytecode.hash();\\n        emit WitnessingParamsChanged(\\n            msg.sender,\\n            _numWitnesses,\\n            _minWitnessingConsensus,\\n            _witnessingCollateral,\\n            _witnessingReward,\\n            _witnessingUnitaryFee\\n        );\\n    }\\n\\n    /// @dev Returns pointer to storage slot where State struct is located.\\n    function _request()\\n        internal pure\\n        virtual\\n        returns (WitnetRequestMalleableBaseContext storage _ptr)\\n    {\\n        assembly {\\n            _ptr.slot :=\\n                /* keccak256(\\\"io.witnet.requests.malleable.context\\\") */\\n                0x375930152e1d0d102998be6e496b0cee86c9ecd0efef01014ecff169b17dfba7\\n        }\\n    }\\n\\n    /// @dev Encode uint64 into tagged varint.\\n    /// @dev See https://developers.google.com/protocol-buffers/docs/encoding#varints.\\n    /// @param t Tag\\n    /// @param n Number\\n    /// @return Marshaled bytes\\n    function _uint64varint(bytes1 t, uint64 n)\\n        internal pure\\n        returns (bytes memory)\\n    {\\n        // Count the number of groups of 7 bits\\n        // We need this pre-processing step since Solidity doesn't allow dynamic memory resizing\\n        uint64 tmp = n;\\n        uint64 numBytes = 2;\\n        while (tmp > 0x7F) {\\n            tmp = tmp >> 7;\\n            numBytes += 1;\\n        }\\n        bytes memory buf = new bytes(numBytes);\\n        tmp = n;\\n        buf[0] = t;\\n        for (uint64 i = 1; i < numBytes; i++) {\\n            // Set the first bit in the byte for each group of 7 bits\\n            buf[i] = bytes1(0x80 | uint8(tmp & 0x7F));\\n            tmp = tmp >> 7;\\n        }\\n        // Unset the first bit of the last byte\\n        buf[numBytes - 1] &= 0x7F;\\n        return buf;\\n    }\\n\\n    /// @dev Encode uint8 into tagged varint.\\n    /// @param t Tag\\n    /// @param n Number\\n    /// @return Marshaled bytes\\n    function _uint8varint(bytes1 t, uint8 n)\\n        internal pure\\n        returns (bytes memory)\\n    {\\n        return _uint64varint(t, uint64(n));\\n    }\\n}\\n\",\"keccak256\":\"0x53d0d402776e310c678643ed6b07d4f73511de9d1fa73732abf4251d69755b22\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/requests/WitnetRequestRandomness.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"./WitnetRequestMalleableBase.sol\\\";\\n\\ncontract WitnetRequestRandomness is WitnetRequestMalleableBase {\\n    bytes internal constant _WITNET_RANDOMNESS_BYTECODE_TEMPLATE = hex\\\"0a0f120508021a01801a0210022202100b\\\";\\n\\n    constructor() {\\n        initialize(bytes(\\\"\\\"));\\n    }\\n\\n    function initialize(bytes memory)\\n        public\\n        virtual override\\n    {\\n        super.initialize(_WITNET_RANDOMNESS_BYTECODE_TEMPLATE);\\n    }\\n}\\n\",\"keccak256\":\"0xc3b4a7d0dc396fb83b71beeae2a6d7de86b300919f894fcae73b7680829d716f\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[{"astId":4178,"contract":"witnet-solidity-bridge/contracts/mocks/WitnetRandomnessMock.sol:WitnetRandomnessMock","label":"witnetRandomnessRequest","offset":0,"slot":"0","type":"t_contract(WitnetRequestRandomness)12753"},{"astId":4181,"contract":"witnet-solidity-bridge/contracts/mocks/WitnetRandomnessMock.sol:WitnetRandomnessMock","label":"latestRandomizeBlock","offset":0,"slot":"1","type":"t_uint256"},{"astId":4186,"contract":"witnet-solidity-bridge/contracts/mocks/WitnetRandomnessMock.sol:WitnetRandomnessMock","label":"__randomize_","offset":0,"slot":"2","type":"t_mapping(t_uint256,t_struct(RandomizeData)4195_storage)"},{"astId":11218,"contract":"witnet-solidity-bridge/contracts/mocks/WitnetRandomnessMock.sol:WitnetRandomnessMock","label":"__mockRandomizeLatencyBlocks","offset":0,"slot":"3","type":"t_uint8"},{"astId":11220,"contract":"witnet-solidity-bridge/contracts/mocks/WitnetRandomnessMock.sol:WitnetRandomnessMock","label":"__mockRandomizeFee","offset":0,"slot":"4","type":"t_uint256"},{"astId":11222,"contract":"witnet-solidity-bridge/contracts/mocks/WitnetRandomnessMock.sol:WitnetRandomnessMock","label":"__mockRandomizeLatestId","offset":0,"slot":"5","type":"t_uint256"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_contract(WitnetRequestRandomness)12753":{"encoding":"inplace","label":"contract WitnetRequestRandomness","numberOfBytes":"20"},"t_mapping(t_uint256,t_struct(RandomizeData)4195_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct WitnetRandomness.RandomizeData)","numberOfBytes":"32","value":"t_struct(RandomizeData)4195_storage"},"t_struct(RandomizeData)4195_storage":{"encoding":"inplace","label":"struct WitnetRandomness.RandomizeData","members":[{"astId":4188,"contract":"witnet-solidity-bridge/contracts/mocks/WitnetRandomnessMock.sol:WitnetRandomnessMock","label":"from","offset":0,"slot":"0","type":"t_address"},{"astId":4190,"contract":"witnet-solidity-bridge/contracts/mocks/WitnetRandomnessMock.sol:WitnetRandomnessMock","label":"prevBlock","offset":0,"slot":"1","type":"t_uint256"},{"astId":4192,"contract":"witnet-solidity-bridge/contracts/mocks/WitnetRandomnessMock.sol:WitnetRandomnessMock","label":"nextBlock","offset":0,"slot":"2","type":"t_uint256"},{"astId":4194,"contract":"witnet-solidity-bridge/contracts/mocks/WitnetRandomnessMock.sol:WitnetRandomnessMock","label":"witnetQueryId","offset":0,"slot":"3","type":"t_uint256"}],"numberOfBytes":"128"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"userdoc":{"events":{"Randomized(address,uint256,uint256,bytes32)":{"notice":"Thrown every time a new WitnetRandomnessRequest gets succesfully posted to the WitnetRequestBoard."}},"kind":"user","methods":{"clone()":{"notice":"Deploys and returns the address of a minimal proxy clone that replicates contract behaviour while using its own EVM storage."},"cloneDeterministic(bytes32)":{"notice":"Deploys and returns the address of a minimal proxy clone that replicates contract  behaviour while using its own EVM storage."},"cloned()":{"notice":"Tells whether this contract is a clone of another (i.e. `self()`)"},"constructor":{"notice":"Constructor: new WitnetRandomnessMock contract"},"estimateRandomizeFee(uint256)":{"notice":"Returns mocked amount of wei required to be paid as a fee when requesting new randomization."},"getRandomizeData(uint256)":{"notice":"Retrieves data of a randomization request that got successfully posted to the WRB within a given block."},"getRandomnessAfter(uint256)":{"notice":"Mocks randomness generated upon solving a request that was posted within a given block, if more than `__mockRandomizeLatencyBlocks` have elapsed since rquest, or to the _first_ request  posted after that block, otherwise. "},"getRandomnessNextBlock(uint256)":{"notice":"Tells what is the number of the next block in which a randomization request was posted after the given one. "},"getRandomnessPrevBlock(uint256)":{"notice":"Gets previous block in which a randomness request was posted before the given one."},"isRandomized(uint256)":{"notice":"Mocks `true` only when a randomness request got actually posted within given block, and at least `__mockRandomizeLatencyBlocks` have elapsed since then. "},"latestRandomizeBlock()":{"notice":"Returns latest block in which a randomness request got sucessfully posted to the WRB."},"random(uint32,uint256,bytes32)":{"notice":"Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using  the given `_nonce` value and the given `_seed` as a source of entropy."},"random(uint32,uint256,uint256)":{"notice":"Generates a pseudo-random number uniformly distributed within the range [0 .. _range), by using  the given `_nonce` value and the randomness returned by `getRandomnessAfter(_block)`. "},"randomize()":{"notice":"Mocks request to generate randomness, using underlying EVM as entropy source. Only one randomness request per block will be actually posted. Unused funds shall  be transfered back to the tx sender."},"self()":{"notice":"Immutable contract address that actually attends all calls to this contract."},"upgradeRandomizeFee(uint256)":{"notice":"Mocks by ignoring any fee increase on a pending-to-be-solved randomness request."}},"version":1}}},"witnet-solidity-bridge/contracts/patterns/Clonable.sol":{"Clonable":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"by","type":"address"},{"indexed":true,"internalType":"contract Clonable","name":"self","type":"address"},{"indexed":true,"internalType":"contract Clonable","name":"clone","type":"address"}],"name":"Cloned","type":"event"},{"inputs":[],"name":"clone","outputs":[{"internalType":"contract Clonable","name":"_instance","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_salt","type":"bytes32"}],"name":"cloneDeterministic","outputs":[{"internalType":"contract Clonable","name":"_instance","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cloned","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"self","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{"clone()":{"details":"This function should always provide a new address, no matter how many times is actually called from the same `msg.sender`.See https://eips.ethereum.org/EIPS/eip-1167.See https://blog.openzeppelin.com/deep-dive-into-the-minimal-proxy-contract/."},"cloneDeterministic(bytes32)":{"details":"This function uses the CREATE2 opcode and a `_salt` to deterministically deploythe clone. Using the same `_salt` multiple times will revert, sinceno contract can be deployed more than once at the same address.See https://eips.ethereum.org/EIPS/eip-1167.See https://blog.openzeppelin.com/deep-dive-into-the-minimal-proxy-contract/."},"initialize(bytes)":{"details":"Initialize contract's storage context."}},"stateVariables":{"self":{"details":"Differs from `address(this)` when reached within a DELEGATECALL."}},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"clone()":"09ed4607","cloneDeterministic(bytes32)":"daaa360c","cloned()":"a04daef0","initialize(bytes)":"439fab91","self()":"7104ddb2"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"by\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract Clonable\",\"name\":\"self\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract Clonable\",\"name\":\"clone\",\"type\":\"address\"}],\"name\":\"Cloned\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"clone\",\"outputs\":[{\"internalType\":\"contract Clonable\",\"name\":\"_instance\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_salt\",\"type\":\"bytes32\"}],\"name\":\"cloneDeterministic\",\"outputs\":[{\"internalType\":\"contract Clonable\",\"name\":\"_instance\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloned\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"self\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"clone()\":{\"details\":\"This function should always provide a new address, no matter how many times is actually called from the same `msg.sender`.See https://eips.ethereum.org/EIPS/eip-1167.See https://blog.openzeppelin.com/deep-dive-into-the-minimal-proxy-contract/.\"},\"cloneDeterministic(bytes32)\":{\"details\":\"This function uses the CREATE2 opcode and a `_salt` to deterministically deploythe clone. Using the same `_salt` multiple times will revert, sinceno contract can be deployed more than once at the same address.See https://eips.ethereum.org/EIPS/eip-1167.See https://blog.openzeppelin.com/deep-dive-into-the-minimal-proxy-contract/.\"},\"initialize(bytes)\":{\"details\":\"Initialize contract's storage context.\"}},\"stateVariables\":{\"self\":{\"details\":\"Differs from `address(this)` when reached within a DELEGATECALL.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"clone()\":{\"notice\":\"Deploys and returns the address of a minimal proxy clone that replicates contract behaviour while using its own EVM storage.\"},\"cloneDeterministic(bytes32)\":{\"notice\":\"Deploys and returns the address of a minimal proxy clone that replicates contract  behaviour while using its own EVM storage.\"},\"cloned()\":{\"notice\":\"Tells whether this contract is a clone of another (i.e. `self()`)\"},\"self()\":{\"notice\":\"Immutable contract address that actually attends all calls to this contract.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/patterns/Clonable.sol\":\"Clonable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/patterns/Clonable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\nimport \\\"./Initializable.sol\\\";\\n\\nabstract contract Clonable is Initializable {\\n    /// Immutable contract address that actually attends all calls to this contract.\\n    /// @dev Differs from `address(this)` when reached within a DELEGATECALL.\\n    address immutable public self = address(this);\\n\\n    event Cloned(address indexed by, Clonable indexed self, Clonable indexed clone);\\n\\n    /// Tells whether this contract is a clone of another (i.e. `self()`)\\n    function cloned()\\n        public view\\n        returns (bool)\\n    {\\n        return (\\n            address(this) != self\\n        );\\n    }\\n\\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract\\n    /// behaviour while using its own EVM storage.\\n    /// @dev This function should always provide a new address, no matter how many times \\n    /// @dev is actually called from the same `msg.sender`.\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1167.\\n    /// @dev See https://blog.openzeppelin.com/deep-dive-into-the-minimal-proxy-contract/.\\n    function clone()\\n        public virtual\\n        returns (Clonable _instance)\\n    {\\n        address _self = self;\\n        assembly {\\n            // ptr to free mem:\\n            let ptr := mload(0x40)\\n            // begin minimal proxy construction bytecode:\\n            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)\\n            // make minimal proxy delegate all calls to `self()`:\\n            mstore(add(ptr, 0x14), shl(0x60, _self))\\n            // end minimal proxy construction bytecode:\\n            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)\\n            // CREATE new instance:\\n            _instance := create(0, ptr, 0x37)\\n        }        \\n        require(address(_instance) != address(0), \\\"Clonable: CREATE failed\\\");\\n        emit Cloned(msg.sender, Clonable(self), _instance);\\n    }\\n\\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract \\n    /// behaviour while using its own EVM storage.\\n    /// @dev This function uses the CREATE2 opcode and a `_salt` to deterministically deploy\\n    /// @dev the clone. Using the same `_salt` multiple times will revert, since\\n    /// @dev no contract can be deployed more than once at the same address.\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1167.\\n    /// @dev See https://blog.openzeppelin.com/deep-dive-into-the-minimal-proxy-contract/.\\n    function cloneDeterministic(bytes32 _salt)\\n        public virtual\\n        returns (Clonable _instance)\\n    {\\n        address _self = self;\\n        assembly {\\n            // ptr to free mem:\\n            let ptr := mload(0x40)\\n            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)\\n            // make minimal proxy delegate all calls to `self()`:\\n            mstore(add(ptr, 0x14), shl(0x60, _self))\\n            // end minimal proxy construction bytecode:\\n            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)\\n            // CREATE2 new instance:\\n            _instance := create2(0, ptr, 0x37, _salt)\\n        }\\n        require(address(_instance) != address(0), \\\"Clonable: CREATE2 failed\\\");\\n        emit Cloned(msg.sender, Clonable(self), _instance);\\n    }\\n}\\n\",\"keccak256\":\"0xbb8cfcfc7f44e289bd3dff357e1bb3da5809b2a39b58b7805aa3bfc1ec47ff2d\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Initializable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Initializable {\\n    /// @dev Initialize contract's storage context.\\n    function initialize(bytes calldata) external;\\n}\\n\",\"keccak256\":\"0x17c2e66648596deb4f71dbaaa4b95293c99536431e7697f3b69d205a09796f0e\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{"clone()":{"notice":"Deploys and returns the address of a minimal proxy clone that replicates contract behaviour while using its own EVM storage."},"cloneDeterministic(bytes32)":{"notice":"Deploys and returns the address of a minimal proxy clone that replicates contract  behaviour while using its own EVM storage."},"cloned()":{"notice":"Tells whether this contract is a clone of another (i.e. `self()`)"},"self()":{"notice":"Immutable contract address that actually attends all calls to this contract."}},"version":1}}},"witnet-solidity-bridge/contracts/patterns/Context.sol":{"Context":{"abi":[],"devdoc":{"details":"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned).","kind":"dev","methods":{},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned).\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/patterns/Context.sol\":\"Context\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/patterns/Context.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity ^0.8.0;\\n\\n/// @dev Provides information about the current execution context, including the\\n/// sender of the transaction and its data. While these are generally available\\n/// via msg.sender and msg.data, they should not be accessed in such a direct\\n/// manner, since when dealing with meta-transactions the account sending and\\n/// paying for execution may not be the actual sender (as far as an application\\n/// is concerned).\\nabstract contract Context {\\n    function _msgSender() internal view virtual returns (address) {\\n        return msg.sender;\\n    }\\n\\n    function _msgData() internal view virtual returns (bytes calldata) {\\n        return msg.data;\\n    }\\n\\n    function _msgValue() internal view virtual returns (uint256) {\\n        return msg.value;\\n    }\\n}\\n\",\"keccak256\":\"0x1a17c0fd9fcd98aa49c5c428a415634b9db839e560f20da81f7c223a18ad12fc\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"version":1}}},"witnet-solidity-bridge/contracts/patterns/Destructible.sol":{"Destructible":{"abi":[{"inputs":[],"name":"destruct","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{"destruct()":{"details":"Self-destruct the whole contract."}},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"destruct()":"2b68b9c6"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"destruct\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"destruct()\":{\"details\":\"Self-destruct the whole contract.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/patterns/Destructible.sol\":\"Destructible\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/patterns/Destructible.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Destructible {\\n    /// @dev Self-destruct the whole contract.\\n    function destruct() external;\\n}\\n\",\"keccak256\":\"0x58c9296ad2920fd26779933226ac807a70d6d70963965b781780e53f69625c87\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"version":1}}},"witnet-solidity-bridge/contracts/patterns/Initializable.sol":{"Initializable":{"abi":[{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{"initialize(bytes)":{"details":"Initialize contract's storage context."}},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"initialize(bytes)":"439fab91"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"initialize(bytes)\":{\"details\":\"Initialize contract's storage context.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/patterns/Initializable.sol\":\"Initializable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/patterns/Initializable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Initializable {\\n    /// @dev Initialize contract's storage context.\\n    function initialize(bytes calldata) external;\\n}\\n\",\"keccak256\":\"0x17c2e66648596deb4f71dbaaa4b95293c99536431e7697f3b69d205a09796f0e\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"version":1}}},"witnet-solidity-bridge/contracts/patterns/Ownable.sol":{"Ownable":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"details":"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.","kind":"dev","methods":{"constructor":{"details":"Initializes the contract setting the deployer as the initial owner."},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"owner()":"8da5cb5b","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/patterns/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/patterns/Context.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity ^0.8.0;\\n\\n/// @dev Provides information about the current execution context, including the\\n/// sender of the transaction and its data. While these are generally available\\n/// via msg.sender and msg.data, they should not be accessed in such a direct\\n/// manner, since when dealing with meta-transactions the account sending and\\n/// paying for execution may not be the actual sender (as far as an application\\n/// is concerned).\\nabstract contract Context {\\n    function _msgSender() internal view virtual returns (address) {\\n        return msg.sender;\\n    }\\n\\n    function _msgData() internal view virtual returns (bytes calldata) {\\n        return msg.data;\\n    }\\n\\n    function _msgValue() internal view virtual returns (uint256) {\\n        return msg.value;\\n    }\\n}\\n\",\"keccak256\":\"0x1a17c0fd9fcd98aa49c5c428a415634b9db839e560f20da81f7c223a18ad12fc\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Ownable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.3.2 (access/Ownable.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"./Context.sol\\\";\\n\\n/// @dev Contract module which provides a basic access control mechanism, where\\n/// there is an account (an owner) that can be granted exclusive access to\\n/// specific functions.\\n///\\n/// By default, the owner account will be the one that deploys the contract. This\\n/// can later be changed with {transferOwnership}.\\n///\\n/// This module is used through inheritance. It will make available the modifier\\n/// `onlyOwner`, which can be applied to your functions to restrict their use to\\n/// the owner.\\n\\nabstract contract Ownable is Context {\\n    address private _owner;\\n\\n    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\\n\\n    /// @dev Initializes the contract setting the deployer as the initial owner.\\n    constructor() {\\n        _transferOwnership(_msgSender());\\n    }\\n\\n    /// @dev Returns the address of the current owner.\\n    function owner() public view virtual returns (address) {\\n        return _owner;\\n    }\\n\\n    /// @dev Throws if called by any account other than the owner.\\n    modifier onlyOwner() {\\n        require(owner() == _msgSender(), \\\"Ownable: caller is not the owner\\\");\\n        _;\\n    }\\n\\n    /// @dev Leaves the contract without owner. It will not be possible to call\\n    /// `onlyOwner` functions anymore. Can only be called by the current owner.\\n    /// NOTE: Renouncing ownership will leave the contract without an owner,\\n    /// thereby removing any functionality that is only available to the owner.\\n    function renounceOwnership() public virtual onlyOwner {\\n        _transferOwnership(address(0));\\n    }\\n\\n    /// @dev Transfers ownership of the contract to a new account (`newOwner`).\\n    /// Can only be called by the current owner.\\n    function transferOwnership(address newOwner) public virtual onlyOwner {\\n        require(newOwner != address(0), \\\"Ownable: new owner is the zero address\\\");\\n        _transferOwnership(newOwner);\\n    }\\n\\n    /// @dev Transfers ownership of the contract to a new account (`newOwner`).\\n    /// Internal function without access restriction.\\n    function _transferOwnership(address newOwner) internal virtual {\\n        address oldOwner = _owner;\\n        _owner = newOwner;\\n        emit OwnershipTransferred(oldOwner, newOwner);\\n    }\\n}\",\"keccak256\":\"0xb8ce9f1e03440d40dbb9898c5ec2cfad520ccd3a5c76176058c44f5033c656a2\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[{"astId":11684,"contract":"witnet-solidity-bridge/contracts/patterns/Ownable.sol:Ownable","label":"_owner","offset":0,"slot":"0","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"}}},"userdoc":{"kind":"user","methods":{},"version":1}}},"witnet-solidity-bridge/contracts/patterns/Payable.sol":{"Payable":{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Received","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"currency","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"currency()":"e5a6b10f"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Received\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"currency\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/patterns/Payable.sol\":\"Payable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/interfaces/IERC20.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/**\\n * @dev Interface of the ERC20 standard as defined in the EIP.\\n */\\ninterface IERC20 {\\n    /// Returns the amount of tokens in existence.\\n    function totalSupply() external view returns (uint256);\\n\\n    /// Returns the amount of tokens owned by `_account`.\\n    function balanceOf(address _account) external view returns (uint256);\\n\\n    /// Moves `_amount` tokens from the caller's account to `_recipient`.\\n    /// Returns a boolean value indicating whether the operation succeeded.\\n    /// Emits a {Transfer} event.\\n    function transfer(address _recipient, uint256 _amount) external returns (bool);\\n\\n    /// Returns the remaining number of tokens that `_spender` will be\\n    /// allowed to spend on behalf of `_owner` through {transferFrom}. This is\\n    /// zero by default.\\n    /// This value changes when {approve} or {transferFrom} are called.\\n    function allowance(address _owner, address _spender) external view returns (uint256);\\n\\n    /// Sets `_amount` as the allowance of `_spender` over the caller's tokens.\\n    /// Returns a boolean value indicating whether the operation succeeded.\\n    /// \\n    /// IMPORTANT: Beware that changing an allowance with this method brings the risk\\n    /// that someone may use both the old and the new allowance by unfortunate\\n    /// transaction ordering. One possible solution to mitigate this race\\n    /// condition is to first reduce the spender's allowance to 0 and set the\\n    /// desired value afterwards:\\n    /// https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\\n    ///\\n    /// Emits an {Approval} event.     \\n    function approve(address _spender, uint256 _amount) external returns (bool);\\n\\n    /// Moves `amount` tokens from `_sender` to `_recipient` using the\\n    /// allowance mechanism. `amount` is then deducted from the caller's\\n    /// allowance.\\n    /// Returns a boolean value indicating whether the operation succeeded.\\n    /// Emits a {Transfer} event. \\n    function transferFrom(\\n        address _sender,\\n        address _recipient,\\n        uint256 _amount\\n    ) external returns (bool);\\n\\n    /// Emitted when `value` tokens are moved from one account (`from`) to\\n    /// another (`to`).\\n    /// Note that `:value` may be zero.\\n    event Transfer(address indexed from, address indexed to, uint256 value);\\n\\n    /// Emitted when the allowance of a `spender` for an `owner` is set by\\n    /// a call to {approve}. `value` is the new allowance.\\n    event Approval(address indexed owner, address indexed spender, uint256 value);\\n}\\n\",\"keccak256\":\"0xd6b25613fab1f6172ca58e377371a0b708f1af8982961364fecf9da196213f48\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Payable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\nimport \\\"../interfaces/IERC20.sol\\\";\\n\\nabstract contract Payable {\\n    IERC20 public immutable currency;\\n\\n    event Received(address from, uint256 amount);\\n    event Transfer(address to, uint256 amount);\\n\\n    constructor(address _currency) {\\n        currency = IERC20(_currency);\\n    }\\n\\n    /// Gets current transaction price.\\n    function _getGasPrice() internal view virtual returns (uint256);\\n\\n    /// Gets current payment value.\\n    function _getMsgValue() internal view virtual returns (uint256);\\n\\n    /// Perform safe transfer or whatever token is used for paying rewards.\\n    function _safeTransferTo(address payable, uint256) internal virtual;\\n}\\n\",\"keccak256\":\"0xc7f50e489030643b7f061512ad0d8430abc87351941a77589f6b06376c5831b9\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"version":1}}},"witnet-solidity-bridge/contracts/patterns/Proxiable.sol":{"Proxiable":{"abi":[{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"}],"devdoc":{"kind":"dev","methods":{"proxiableUUID()":{"details":"Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)See https://eips.ethereum.org/EIPS/eip-1822."}},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"proxiableUUID()":"52d1902d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"details\":\"Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)See https://eips.ethereum.org/EIPS/eip-1822.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/patterns/Proxiable.sol\":\"Proxiable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/patterns/Proxiable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Proxiable {\\n    /// @dev Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1822.\\n    function proxiableUUID() external pure returns (bytes32);\\n}\\n\",\"keccak256\":\"0x3ed71dc147c30cd8aa1ca248a045217b6ea513bae96c4c76d66496af4b8d6ff1\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"kind":"user","methods":{},"version":1}}},"witnet-solidity-bridge/contracts/patterns/Upgradable.sol":{"Upgradable":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"baseAddr","type":"address"},{"indexed":true,"internalType":"bytes32","name":"baseCodehash","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"versionTag","type":"bytes32"}],"name":"Upgraded","type":"event"},{"inputs":[],"name":"base","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"codehash","outputs":[{"internalType":"bytes32","name":"_codehash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isUpgradable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"}],"name":"isUpgradableFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}],"devdoc":{"events":{"Upgraded(address,address,bytes32,bytes32)":{"params":{"baseAddr":"The address of the new implementation contract.","baseCodehash":"The EVM-codehash of the new implementation contract.","from":"The address who ordered the upgrading. Namely, the WRB operator in \"trustable\" implementations.","versionTag":"Ascii-encoded version literal with which the implementation deployer decided to tag it."}}},"kind":"dev","methods":{"base()":{"details":"Retrieves base contract. Differs from address(this) when via delegate-proxy pattern."},"codehash()":{"details":"Retrieves the immutable codehash of this contract, even if invoked as delegatecall.","returns":{"_codehash":"This contracts immutable codehash."}},"initialize(bytes)":{"details":"Initialize contract's storage context."},"isUpgradable()":{"details":"Determines whether current instance allows being upgraded.Returned value should be invariant from whoever is calling."},"isUpgradableFrom(address)":{"details":"Tells whether provided address could eventually upgrade the contract."},"proxiableUUID()":{"details":"Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)See https://eips.ethereum.org/EIPS/eip-1822."},"version()":{"details":"Retrieves human-redable named version of current implementation."}},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"base()":"5001f3b5","codehash()":"a9e954b9","initialize(bytes)":"439fab91","isUpgradable()":"5479d940","isUpgradableFrom(address)":"6b58960a","proxiableUUID()":"52d1902d","version()":"54fd4d50"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"baseAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"baseCodehash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"versionTag\",\"type\":\"bytes32\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"base\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"codehash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_codehash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isUpgradable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"isUpgradableFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Upgraded(address,address,bytes32,bytes32)\":{\"params\":{\"baseAddr\":\"The address of the new implementation contract.\",\"baseCodehash\":\"The EVM-codehash of the new implementation contract.\",\"from\":\"The address who ordered the upgrading. Namely, the WRB operator in \\\"trustable\\\" implementations.\",\"versionTag\":\"Ascii-encoded version literal with which the implementation deployer decided to tag it.\"}}},\"kind\":\"dev\",\"methods\":{\"base()\":{\"details\":\"Retrieves base contract. Differs from address(this) when via delegate-proxy pattern.\"},\"codehash()\":{\"details\":\"Retrieves the immutable codehash of this contract, even if invoked as delegatecall.\",\"returns\":{\"_codehash\":\"This contracts immutable codehash.\"}},\"initialize(bytes)\":{\"details\":\"Initialize contract's storage context.\"},\"isUpgradable()\":{\"details\":\"Determines whether current instance allows being upgraded.Returned value should be invariant from whoever is calling.\"},\"isUpgradableFrom(address)\":{\"details\":\"Tells whether provided address could eventually upgrade the contract.\"},\"proxiableUUID()\":{\"details\":\"Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)See https://eips.ethereum.org/EIPS/eip-1822.\"},\"version()\":{\"details\":\"Retrieves human-redable named version of current implementation.\"}},\"version\":1},\"userdoc\":{\"events\":{\"Upgraded(address,address,bytes32,bytes32)\":{\"notice\":\"Emitted every time the contract gets upgraded.\"}},\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/patterns/Upgradable.sol\":\"Upgradable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/patterns/Initializable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Initializable {\\n    /// @dev Initialize contract's storage context.\\n    function initialize(bytes calldata) external;\\n}\\n\",\"keccak256\":\"0x17c2e66648596deb4f71dbaaa4b95293c99536431e7697f3b69d205a09796f0e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Proxiable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Proxiable {\\n    /// @dev Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1822.\\n    function proxiableUUID() external pure returns (bytes32);\\n}\\n\",\"keccak256\":\"0x3ed71dc147c30cd8aa1ca248a045217b6ea513bae96c4c76d66496af4b8d6ff1\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Upgradable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\n/* solhint-disable var-name-mixedcase */\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\nimport \\\"./Initializable.sol\\\";\\nimport \\\"./Proxiable.sol\\\";\\n\\nabstract contract Upgradable is Initializable, Proxiable {\\n\\n    address internal immutable _BASE;\\n    bytes32 internal immutable _CODEHASH;\\n    bool internal immutable _UPGRADABLE;\\n\\n    /// Emitted every time the contract gets upgraded.\\n    /// @param from The address who ordered the upgrading. Namely, the WRB operator in \\\"trustable\\\" implementations.\\n    /// @param baseAddr The address of the new implementation contract.\\n    /// @param baseCodehash The EVM-codehash of the new implementation contract.\\n    /// @param versionTag Ascii-encoded version literal with which the implementation deployer decided to tag it.\\n    event Upgraded(\\n        address indexed from,\\n        address indexed baseAddr,\\n        bytes32 indexed baseCodehash,\\n        bytes32 versionTag\\n    );\\n\\n    constructor (bool _isUpgradable) {\\n        address _base = address(this);\\n        bytes32 _codehash;        \\n        assembly {\\n            _codehash := extcodehash(_base)\\n        }\\n        _BASE = _base;\\n        _CODEHASH = _codehash;        \\n        _UPGRADABLE = _isUpgradable;\\n    }\\n\\n    /// @dev Tells whether provided address could eventually upgrade the contract.\\n    function isUpgradableFrom(address from) virtual external view returns (bool);\\n\\n\\n    /// TODO: the following methods should be all declared as pure \\n    ///       whenever this Solidity's PR gets merged and released: \\n    ///       https://github.com/ethereum/solidity/pull/10240\\n\\n    /// @dev Retrieves base contract. Differs from address(this) when via delegate-proxy pattern.\\n    function base() public view returns (address) {\\n        return _BASE;\\n    }\\n\\n    /// @dev Retrieves the immutable codehash of this contract, even if invoked as delegatecall.\\n    /// @return _codehash This contracts immutable codehash.\\n    function codehash() public view returns (bytes32 _codehash) {\\n        return _CODEHASH;\\n    }\\n    \\n    /// @dev Determines whether current instance allows being upgraded.\\n    /// @dev Returned value should be invariant from whoever is calling.\\n    function isUpgradable() public view returns (bool) {        \\n        return _UPGRADABLE;\\n    }\\n\\n    /// @dev Retrieves human-redable named version of current implementation.\\n    function version() virtual public view returns (bytes32); \\n}\",\"keccak256\":\"0x91a8c88f85a691bafab375a8a38361f1dae551530755989636531468870ead98\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[],"types":null},"userdoc":{"events":{"Upgraded(address,address,bytes32,bytes32)":{"notice":"Emitted every time the contract gets upgraded."}},"kind":"user","methods":{},"version":1}}},"witnet-solidity-bridge/contracts/requests/WitnetRequestBase.sol":{"WitnetRequestBase":{"abi":[{"inputs":[],"name":"bytecode","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"bytecode()":"f0940002","hash()":"09bd5a60"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"bytecode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"bytecode()\":{\"notice\":\"Contains a well-formed Witnet Data Request, encoded using Protocol Buffers.\"},\"hash()\":{\"notice\":\"Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/requests/WitnetRequestBase.sol\":\"WitnetRequestBase\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/requests/WitnetRequestBase.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\nabstract contract WitnetRequestBase\\n    is\\n        IWitnetRequest\\n{\\n    /// Contains a well-formed Witnet Data Request, encoded using Protocol Buffers.\\n    bytes public override bytecode;\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    bytes32 public override hash;\\n}\\n\",\"keccak256\":\"0x1a3220346005ca91601a89896523f67bdd0fd3dc79b6e684d3e5dbf20f11c5ab\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[{"astId":11946,"contract":"witnet-solidity-bridge/contracts/requests/WitnetRequestBase.sol:WitnetRequestBase","label":"bytecode","offset":0,"slot":"0","type":"t_bytes_storage"},{"astId":11950,"contract":"witnet-solidity-bridge/contracts/requests/WitnetRequestBase.sol:WitnetRequestBase","label":"hash","offset":0,"slot":"1","type":"t_bytes32"}],"types":{"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"}}},"userdoc":{"kind":"user","methods":{"bytecode()":{"notice":"Contains a well-formed Witnet Data Request, encoded using Protocol Buffers."},"hash()":{"notice":"Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes."}},"version":1}}},"witnet-solidity-bridge/contracts/requests/WitnetRequestInitializableBase.sol":{"WitnetRequestInitializableBase":{"abi":[{"inputs":[],"name":"bytecode","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"_bytecode","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"bytecode()":"f0940002","hash()":"09bd5a60","initialize(bytes)":"439fab91"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"bytecode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_bytecode\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"bytecode()\":{\"notice\":\"Contains a well-formed Witnet Data Request, encoded using Protocol Buffers.\"},\"hash()\":{\"notice\":\"Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/requests/WitnetRequestInitializableBase.sol\":\"WitnetRequestInitializableBase\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Initializable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Initializable {\\n    /// @dev Initialize contract's storage context.\\n    function initialize(bytes calldata) external;\\n}\\n\",\"keccak256\":\"0x17c2e66648596deb4f71dbaaa4b95293c99536431e7697f3b69d205a09796f0e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/requests/WitnetRequestBase.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\n\\nabstract contract WitnetRequestBase\\n    is\\n        IWitnetRequest\\n{\\n    /// Contains a well-formed Witnet Data Request, encoded using Protocol Buffers.\\n    bytes public override bytecode;\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    bytes32 public override hash;\\n}\\n\",\"keccak256\":\"0x1a3220346005ca91601a89896523f67bdd0fd3dc79b6e684d3e5dbf20f11c5ab\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/requests/WitnetRequestInitializableBase.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"./WitnetRequestBase.sol\\\";\\nimport \\\"../patterns/Initializable.sol\\\";\\n\\nabstract contract WitnetRequestInitializableBase\\n    is\\n        Initializable,\\n        WitnetRequestBase\\n{\\n    using Witnet for bytes;\\n    function initialize(bytes memory _bytecode)\\n        public\\n        virtual override\\n    {\\n        require(\\n            bytecode.length == 0,\\n            \\\"WitnetRequestInitializableBase: cannot change bytecode\\\"\\n        );\\n        bytecode = _bytecode;\\n        hash = _bytecode.hash();\\n    }\\n}\\n\",\"keccak256\":\"0x9d2956ca1e83989996c70e5419130dc95168cf6cfeee39f4896b13d0505f78b0\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[{"astId":11946,"contract":"witnet-solidity-bridge/contracts/requests/WitnetRequestInitializableBase.sol:WitnetRequestInitializableBase","label":"bytecode","offset":0,"slot":"0","type":"t_bytes_storage"},{"astId":11950,"contract":"witnet-solidity-bridge/contracts/requests/WitnetRequestInitializableBase.sol:WitnetRequestInitializableBase","label":"hash","offset":0,"slot":"1","type":"t_bytes32"}],"types":{"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"}}},"userdoc":{"kind":"user","methods":{"bytecode()":{"notice":"Contains a well-formed Witnet Data Request, encoded using Protocol Buffers."},"hash()":{"notice":"Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes."}},"version":1}}},"witnet-solidity-bridge/contracts/requests/WitnetRequestMalleableBase.sol":{"WitnetRequestMalleableBase":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"by","type":"address"},{"indexed":true,"internalType":"contract Clonable","name":"self","type":"address"},{"indexed":true,"internalType":"contract Clonable","name":"clone","type":"address"}],"name":"Cloned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"by","type":"address"},{"indexed":false,"internalType":"uint8","name":"numWitnesses","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"minWitnessingConsensus","type":"uint8"},{"indexed":false,"internalType":"uint64","name":"witnssingCollateral","type":"uint64"},{"indexed":false,"internalType":"uint64","name":"witnessingReward","type":"uint64"},{"indexed":false,"internalType":"uint64","name":"witnessingUnitaryFee","type":"uint64"}],"name":"WitnessingParamsChanged","type":"event"},{"inputs":[],"name":"bytecode","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clone","outputs":[{"internalType":"contract Clonable","name":"_instance","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_salt","type":"bytes32"}],"name":"cloneDeterministic","outputs":[{"internalType":"contract Clonable","name":"_instance","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cloned","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"_template","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"self","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"_witnessingCollateral","type":"uint64"}],"name":"setWitnessingCollateral","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"_witnessingReward","type":"uint64"},{"internalType":"uint64","name":"_witnessingUnitaryFee","type":"uint64"}],"name":"setWitnessingFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_numWitnesses","type":"uint8"},{"internalType":"uint8","name":"_minWitnessingConsensus","type":"uint8"}],"name":"setWitnessingQuorum","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"template","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalWitnessingCollateral","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalWitnessingFee","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"witnessingParams","outputs":[{"components":[{"internalType":"uint8","name":"numWitnesses","type":"uint8"},{"internalType":"uint8","name":"minWitnessingConsensus","type":"uint8"},{"internalType":"uint64","name":"witnessingCollateral","type":"uint64"},{"internalType":"uint64","name":"witnessingReward","type":"uint64"},{"internalType":"uint64","name":"witnessingUnitaryFee","type":"uint64"}],"internalType":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams","name":"","type":"tuple"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{"clone()":{"details":"This function should always provide a new address, no matter how many times is actually called from the same `msg.sender`."},"cloneDeterministic(bytes32)":{"details":"This function uses the CREATE2 opcode and a `_salt` to deterministically deploythe clone. Using the same `_salt` multiple time will revert, sinceno contract can be deployed more than once at the same address."},"initialize(bytes)":{"details":"Initializes contract's storage context."},"proxiableUUID()":{"details":"Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)See https://eips.ethereum.org/EIPS/eip-1822."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner."},"setWitnessingFees(uint64,uint64)":{"params":{"_witnessingReward":"Amount of nanowits that every request-solving witness will be rewarded with.","_witnessingUnitaryFee":"Amount of nanowits that will be earned by Witnet miners for each each valid  commit/reveal transaction they include in a block."}},"setWitnessingQuorum(uint8,uint8)":{"params":{"_minWitnessingConsensus":"Threshold percentage for aborting resolution of a request if the witnessing  nodes did not arrive to a broad consensus.","_numWitnesses":"Number of witnesses required to be involved for solving this Witnet Data Request."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"gasEstimates":null,"methodIdentifiers":{"bytecode()":"f0940002","clone()":"09ed4607","cloneDeterministic(bytes32)":"daaa360c","cloned()":"a04daef0","hash()":"09bd5a60","initialize(bytes)":"439fab91","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","renounceOwnership()":"715018a6","self()":"7104ddb2","setWitnessingCollateral(uint64)":"d9b9a961","setWitnessingFees(uint64,uint64)":"ff21c3ba","setWitnessingQuorum(uint8,uint8)":"d196c2e3","template()":"6f2ddd93","totalWitnessingCollateral()":"ef53d97a","totalWitnessingFee()":"8a481dad","transferOwnership(address)":"f2fde38b","witnessingParams()":"48f9b831"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"by\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract Clonable\",\"name\":\"self\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract Clonable\",\"name\":\"clone\",\"type\":\"address\"}],\"name\":\"Cloned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"by\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"numWitnesses\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"minWitnessingConsensus\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"witnssingCollateral\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"witnessingReward\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"witnessingUnitaryFee\",\"type\":\"uint64\"}],\"name\":\"WitnessingParamsChanged\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"bytecode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clone\",\"outputs\":[{\"internalType\":\"contract Clonable\",\"name\":\"_instance\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_salt\",\"type\":\"bytes32\"}],\"name\":\"cloneDeterministic\",\"outputs\":[{\"internalType\":\"contract Clonable\",\"name\":\"_instance\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloned\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_template\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"self\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_witnessingCollateral\",\"type\":\"uint64\"}],\"name\":\"setWitnessingCollateral\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_witnessingReward\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"_witnessingUnitaryFee\",\"type\":\"uint64\"}],\"name\":\"setWitnessingFees\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_numWitnesses\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"_minWitnessingConsensus\",\"type\":\"uint8\"}],\"name\":\"setWitnessingQuorum\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"template\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalWitnessingCollateral\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalWitnessingFee\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"witnessingParams\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"numWitnesses\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"minWitnessingConsensus\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingCollateral\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"witnessingReward\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"witnessingUnitaryFee\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"clone()\":{\"details\":\"This function should always provide a new address, no matter how many times is actually called from the same `msg.sender`.\"},\"cloneDeterministic(bytes32)\":{\"details\":\"This function uses the CREATE2 opcode and a `_salt` to deterministically deploythe clone. Using the same `_salt` multiple time will revert, sinceno contract can be deployed more than once at the same address.\"},\"initialize(bytes)\":{\"details\":\"Initializes contract's storage context.\"},\"proxiableUUID()\":{\"details\":\"Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)See https://eips.ethereum.org/EIPS/eip-1822.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"setWitnessingFees(uint64,uint64)\":{\"params\":{\"_witnessingReward\":\"Amount of nanowits that every request-solving witness will be rewarded with.\",\"_witnessingUnitaryFee\":\"Amount of nanowits that will be earned by Witnet miners for each each valid  commit/reveal transaction they include in a block.\"}},\"setWitnessingQuorum(uint8,uint8)\":{\"params\":{\"_minWitnessingConsensus\":\"Threshold percentage for aborting resolution of a request if the witnessing  nodes did not arrive to a broad consensus.\",\"_numWitnesses\":\"Number of witnesses required to be involved for solving this Witnet Data Request.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"bytecode()\":{\"notice\":\"Returns current Witnet Data Request bytecode, encoded using Protocol Buffers.\"},\"clone()\":{\"notice\":\"Deploys and returns the address of a minimal proxy clone that replicates contract behaviour while using its own EVM storage.\"},\"cloneDeterministic(bytes32)\":{\"notice\":\"Deploys and returns the address of a minimal proxy clone that replicates contract  behaviour while using its own EVM storage.\"},\"cloned()\":{\"notice\":\"Tells whether this contract is a clone of another (i.e. `self()`)\"},\"hash()\":{\"notice\":\"Returns SHA256 hash of current Witnet Data Request bytecode.\"},\"owner()\":{\"notice\":\"Returns the address of the current owner.\"},\"self()\":{\"notice\":\"Immutable contract address that actually attends all calls to this contract.\"},\"setWitnessingCollateral(uint64)\":{\"notice\":\"Sets amount of nanowits that a witness solving the request will be required to collateralize in the commitment transaction.\"},\"setWitnessingFees(uint64,uint64)\":{\"notice\":\"Specifies how much you want to pay for rewarding each of the Witnet nodes.\"},\"setWitnessingQuorum(uint8,uint8)\":{\"notice\":\"Sets how many Witnet nodes will be \\\"hired\\\" for resolving the request.\"},\"template()\":{\"notice\":\"Returns immutable template bytecode: actual CBOR-encoded data request at the Witnet protocol level, including no witnessing parameters at all.\"},\"totalWitnessingCollateral()\":{\"notice\":\"Returns total amount of nanowits that witnessing nodes will need to collateralize all together.\"},\"totalWitnessingFee()\":{\"notice\":\"Returns total amount of nanowits that will have to be paid in total for this request to be solved.\"},\"witnessingParams()\":{\"notice\":\"Returns witnessing parameters of current Witnet Data Request.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/requests/WitnetRequestMalleableBase.sol\":\"WitnetRequestMalleableBase\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Clonable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\nimport \\\"./Initializable.sol\\\";\\n\\nabstract contract Clonable is Initializable {\\n    /// Immutable contract address that actually attends all calls to this contract.\\n    /// @dev Differs from `address(this)` when reached within a DELEGATECALL.\\n    address immutable public self = address(this);\\n\\n    event Cloned(address indexed by, Clonable indexed self, Clonable indexed clone);\\n\\n    /// Tells whether this contract is a clone of another (i.e. `self()`)\\n    function cloned()\\n        public view\\n        returns (bool)\\n    {\\n        return (\\n            address(this) != self\\n        );\\n    }\\n\\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract\\n    /// behaviour while using its own EVM storage.\\n    /// @dev This function should always provide a new address, no matter how many times \\n    /// @dev is actually called from the same `msg.sender`.\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1167.\\n    /// @dev See https://blog.openzeppelin.com/deep-dive-into-the-minimal-proxy-contract/.\\n    function clone()\\n        public virtual\\n        returns (Clonable _instance)\\n    {\\n        address _self = self;\\n        assembly {\\n            // ptr to free mem:\\n            let ptr := mload(0x40)\\n            // begin minimal proxy construction bytecode:\\n            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)\\n            // make minimal proxy delegate all calls to `self()`:\\n            mstore(add(ptr, 0x14), shl(0x60, _self))\\n            // end minimal proxy construction bytecode:\\n            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)\\n            // CREATE new instance:\\n            _instance := create(0, ptr, 0x37)\\n        }        \\n        require(address(_instance) != address(0), \\\"Clonable: CREATE failed\\\");\\n        emit Cloned(msg.sender, Clonable(self), _instance);\\n    }\\n\\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract \\n    /// behaviour while using its own EVM storage.\\n    /// @dev This function uses the CREATE2 opcode and a `_salt` to deterministically deploy\\n    /// @dev the clone. Using the same `_salt` multiple times will revert, since\\n    /// @dev no contract can be deployed more than once at the same address.\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1167.\\n    /// @dev See https://blog.openzeppelin.com/deep-dive-into-the-minimal-proxy-contract/.\\n    function cloneDeterministic(bytes32 _salt)\\n        public virtual\\n        returns (Clonable _instance)\\n    {\\n        address _self = self;\\n        assembly {\\n            // ptr to free mem:\\n            let ptr := mload(0x40)\\n            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)\\n            // make minimal proxy delegate all calls to `self()`:\\n            mstore(add(ptr, 0x14), shl(0x60, _self))\\n            // end minimal proxy construction bytecode:\\n            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)\\n            // CREATE2 new instance:\\n            _instance := create2(0, ptr, 0x37, _salt)\\n        }\\n        require(address(_instance) != address(0), \\\"Clonable: CREATE2 failed\\\");\\n        emit Cloned(msg.sender, Clonable(self), _instance);\\n    }\\n}\\n\",\"keccak256\":\"0xbb8cfcfc7f44e289bd3dff357e1bb3da5809b2a39b58b7805aa3bfc1ec47ff2d\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Context.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity ^0.8.0;\\n\\n/// @dev Provides information about the current execution context, including the\\n/// sender of the transaction and its data. While these are generally available\\n/// via msg.sender and msg.data, they should not be accessed in such a direct\\n/// manner, since when dealing with meta-transactions the account sending and\\n/// paying for execution may not be the actual sender (as far as an application\\n/// is concerned).\\nabstract contract Context {\\n    function _msgSender() internal view virtual returns (address) {\\n        return msg.sender;\\n    }\\n\\n    function _msgData() internal view virtual returns (bytes calldata) {\\n        return msg.data;\\n    }\\n\\n    function _msgValue() internal view virtual returns (uint256) {\\n        return msg.value;\\n    }\\n}\\n\",\"keccak256\":\"0x1a17c0fd9fcd98aa49c5c428a415634b9db839e560f20da81f7c223a18ad12fc\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Initializable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Initializable {\\n    /// @dev Initialize contract's storage context.\\n    function initialize(bytes calldata) external;\\n}\\n\",\"keccak256\":\"0x17c2e66648596deb4f71dbaaa4b95293c99536431e7697f3b69d205a09796f0e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Ownable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.3.2 (access/Ownable.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"./Context.sol\\\";\\n\\n/// @dev Contract module which provides a basic access control mechanism, where\\n/// there is an account (an owner) that can be granted exclusive access to\\n/// specific functions.\\n///\\n/// By default, the owner account will be the one that deploys the contract. This\\n/// can later be changed with {transferOwnership}.\\n///\\n/// This module is used through inheritance. It will make available the modifier\\n/// `onlyOwner`, which can be applied to your functions to restrict their use to\\n/// the owner.\\n\\nabstract contract Ownable is Context {\\n    address private _owner;\\n\\n    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\\n\\n    /// @dev Initializes the contract setting the deployer as the initial owner.\\n    constructor() {\\n        _transferOwnership(_msgSender());\\n    }\\n\\n    /// @dev Returns the address of the current owner.\\n    function owner() public view virtual returns (address) {\\n        return _owner;\\n    }\\n\\n    /// @dev Throws if called by any account other than the owner.\\n    modifier onlyOwner() {\\n        require(owner() == _msgSender(), \\\"Ownable: caller is not the owner\\\");\\n        _;\\n    }\\n\\n    /// @dev Leaves the contract without owner. It will not be possible to call\\n    /// `onlyOwner` functions anymore. Can only be called by the current owner.\\n    /// NOTE: Renouncing ownership will leave the contract without an owner,\\n    /// thereby removing any functionality that is only available to the owner.\\n    function renounceOwnership() public virtual onlyOwner {\\n        _transferOwnership(address(0));\\n    }\\n\\n    /// @dev Transfers ownership of the contract to a new account (`newOwner`).\\n    /// Can only be called by the current owner.\\n    function transferOwnership(address newOwner) public virtual onlyOwner {\\n        require(newOwner != address(0), \\\"Ownable: new owner is the zero address\\\");\\n        _transferOwnership(newOwner);\\n    }\\n\\n    /// @dev Transfers ownership of the contract to a new account (`newOwner`).\\n    /// Internal function without access restriction.\\n    function _transferOwnership(address newOwner) internal virtual {\\n        address oldOwner = _owner;\\n        _owner = newOwner;\\n        emit OwnershipTransferred(oldOwner, newOwner);\\n    }\\n}\",\"keccak256\":\"0xb8ce9f1e03440d40dbb9898c5ec2cfad520ccd3a5c76176058c44f5033c656a2\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Proxiable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Proxiable {\\n    /// @dev Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1822.\\n    function proxiableUUID() external pure returns (bytes32);\\n}\\n\",\"keccak256\":\"0x3ed71dc147c30cd8aa1ca248a045217b6ea513bae96c4c76d66496af4b8d6ff1\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/requests/WitnetRequestMalleableBase.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\nimport \\\"../patterns/Clonable.sol\\\";\\nimport \\\"../patterns/Ownable.sol\\\";\\nimport \\\"../patterns/Proxiable.sol\\\";\\n\\nabstract contract WitnetRequestMalleableBase\\n    is\\n        IWitnetRequest,\\n        Clonable,\\n        Ownable,\\n        Proxiable\\n{   \\n    using Witnet for *;\\n\\n    event WitnessingParamsChanged(\\n        address indexed by,\\n        uint8 numWitnesses,\\n        uint8 minWitnessingConsensus,\\n        uint64 witnssingCollateral,\\n        uint64 witnessingReward,\\n        uint64 witnessingUnitaryFee\\n    );\\n\\n    struct WitnetRequestMalleableBaseContext {\\n        /// Contract owner address.\\n        address owner;\\n        /// Immutable bytecode template.\\n        bytes template;\\n        /// Current request bytecode.\\n        bytes bytecode;\\n        /// Current request hash.\\n        bytes32 hash;\\n        /// Current request witnessing params.\\n        WitnetRequestWitnessingParams params;\\n    }\\n\\n    struct WitnetRequestWitnessingParams {\\n        /// Number of witnesses required to be involved for solving this Witnet Data Request.\\n        uint8 numWitnesses;\\n\\n        /// Threshold percentage for aborting resolution of a request if the witnessing nodes did not arrive to a broad consensus.\\n        uint8 minWitnessingConsensus;\\n\\n        /// Amount of nanowits that a witness solving the request will be required to collateralize in the commitment transaction.\\n        uint64 witnessingCollateral;\\n\\n        /// Amount of nanowits that every request-solving witness will be rewarded with.\\n        uint64 witnessingReward;\\n\\n        /// Amount of nanowits that will be earned by Witnet miners for each each valid commit/reveal transaction they include in a block.\\n        uint64 witnessingUnitaryFee;\\n    }\\n\\n    /// Returns current Witnet Data Request bytecode, encoded using Protocol Buffers.\\n    function bytecode() external view override returns (bytes memory) {\\n        return _request().bytecode;\\n    }\\n\\n    /// Returns SHA256 hash of current Witnet Data Request bytecode.\\n    function hash() external view override returns (bytes32) {\\n        return _request().hash;\\n    }\\n\\n    /// Sets amount of nanowits that a witness solving the request will be required to collateralize in the commitment transaction.\\n    function setWitnessingCollateral(uint64 _witnessingCollateral)\\n        public\\n        virtual\\n        onlyOwner\\n    {\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        _params.witnessingCollateral = _witnessingCollateral;\\n        _malleateBytecode(\\n            _params.numWitnesses,\\n            _params.minWitnessingConsensus,\\n            _witnessingCollateral,\\n            _params.witnessingReward,\\n            _params.witnessingUnitaryFee\\n        );\\n    }\\n\\n    /// Specifies how much you want to pay for rewarding each of the Witnet nodes.\\n    /// @param _witnessingReward Amount of nanowits that every request-solving witness will be rewarded with.\\n    /// @param _witnessingUnitaryFee Amount of nanowits that will be earned by Witnet miners for each each valid \\n    /// commit/reveal transaction they include in a block.\\n    function setWitnessingFees(uint64 _witnessingReward, uint64 _witnessingUnitaryFee)\\n        public\\n        virtual\\n        onlyOwner\\n    {\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        _params.witnessingReward = _witnessingReward;\\n        _params.witnessingUnitaryFee = _witnessingUnitaryFee;\\n        _malleateBytecode(\\n            _params.numWitnesses,\\n            _params.minWitnessingConsensus,\\n            _params.witnessingCollateral,\\n            _witnessingReward,\\n            _witnessingUnitaryFee\\n        );\\n    }\\n\\n    /// Sets how many Witnet nodes will be \\\"hired\\\" for resolving the request.\\n    /// @param _numWitnesses Number of witnesses required to be involved for solving this Witnet Data Request.\\n    /// @param _minWitnessingConsensus Threshold percentage for aborting resolution of a request if the witnessing \\n    /// nodes did not arrive to a broad consensus.\\n    function setWitnessingQuorum(uint8 _numWitnesses, uint8 _minWitnessingConsensus)\\n        public\\n        virtual\\n        onlyOwner\\n    {\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        _params.numWitnesses = _numWitnesses;\\n        _params.minWitnessingConsensus = _minWitnessingConsensus;\\n        _malleateBytecode(\\n            _numWitnesses,\\n            _minWitnessingConsensus,\\n            _params.witnessingCollateral,\\n            _params.witnessingReward,\\n            _params.witnessingUnitaryFee\\n        );\\n    }\\n\\n    /// Returns immutable template bytecode: actual CBOR-encoded data request at the Witnet protocol\\n    /// level, including no witnessing parameters at all.\\n    function template()\\n        external view\\n        returns (bytes memory)\\n    {\\n        return _request().template;\\n    }\\n\\n    /// Returns total amount of nanowits that witnessing nodes will need to collateralize all together.\\n    function totalWitnessingCollateral()\\n        external view\\n        returns (uint128)\\n    {\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        return _params.numWitnesses * _params.witnessingCollateral;\\n    }\\n\\n    /// Returns total amount of nanowits that will have to be paid in total for this request to be solved.\\n    function totalWitnessingFee()\\n        external view\\n        returns (uint128)\\n    {\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        return _params.numWitnesses * (2 * _params.witnessingUnitaryFee + _params.witnessingReward);\\n    }\\n\\n    /// Returns witnessing parameters of current Witnet Data Request.\\n    function witnessingParams()\\n        external view\\n        returns (WitnetRequestWitnessingParams memory)\\n    {\\n        return _request().params;\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- 'Clonable' overriden functions -----------------------------------------------------------------------------\\n\\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract\\n    /// behaviour while using its own EVM storage.\\n    /// @dev This function should always provide a new address, no matter how many times \\n    /// @dev is actually called from the same `msg.sender`.\\n    function clone()\\n        public\\n        virtual override\\n        returns (Clonable _instance)\\n    {\\n        _instance = super.clone();\\n        _instance.initialize(_request().template);\\n        Ownable(address(_instance)).transferOwnership(msg.sender);\\n    }\\n\\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract \\n    /// behaviour while using its own EVM storage.\\n    /// @dev This function uses the CREATE2 opcode and a `_salt` to deterministically deploy\\n    /// @dev the clone. Using the same `_salt` multiple time will revert, since\\n    /// @dev no contract can be deployed more than once at the same address.\\n    function cloneDeterministic(bytes32 _salt)\\n        public\\n        virtual override\\n        returns (Clonable _instance)\\n    {\\n        _instance = super.cloneDeterministic(_salt);\\n        _instance.initialize(_request().template);\\n        Ownable(address(_instance)).transferOwnership(msg.sender);\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- 'Initializable' overriden functions ------------------------------------------------------------------------\\n\\n    /// @dev Initializes contract's storage context.\\n    function initialize(bytes memory _template)\\n        public\\n        virtual override\\n    {\\n        require(_request().template.length == 0, \\\"WitnetRequestMalleableBase: already initialized\\\");\\n        _initialize(_template);\\n        _transferOwnership(_msgSender());\\n    }\\n\\n    // ================================================================================================================\\n    // --- 'Ownable' overriden functions ------------------------------------------------------------------------------\\n\\n    /// Returns the address of the current owner.\\n    function owner()\\n        public view\\n        virtual override\\n        returns (address)\\n    {\\n        return _request().owner;\\n    }\\n\\n    /// @dev Transfers ownership of the contract to a new account (`newOwner`).\\n    function _transferOwnership(address newOwner)\\n        internal\\n        virtual override\\n    {\\n        address oldOwner = _request().owner;\\n        _request().owner = newOwner;\\n        emit OwnershipTransferred(oldOwner, newOwner);\\n    }\\n\\n    // ================================================================================================================\\n    // --- 'Proxiable 'overriden functions ----------------------------------------------------------------------------\\n\\n    /// @dev Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1822.\\n    function proxiableUUID()\\n        external pure\\n        virtual override\\n        returns (bytes32)\\n    {\\n        return (\\n            /* keccak256(\\\"io.witnet.requests.malleable\\\") */\\n            0x851d0a92a3ad30295bef33afc69d6874779826b7789386b336e22621365ed2c2\\n        );\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- INTERNAL FUNCTIONS -----------------------------------------------------------------------------------------    \\n\\n    /// @dev Initializes witnessing params and template bytecode.\\n    function _initialize(bytes memory _template)\\n        internal\\n    {\\n        assert(_template.length > 0);\\n        _request().template = _template;\\n\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        _params.numWitnesses = 2;\\n        _params.minWitnessingConsensus = 51;\\n        _params.witnessingCollateral = 10 ** 9;      // 1 WIT\\n        _params.witnessingReward = 5 * 10 ** 5;      // 0.5 milliWITs\\n        _params.witnessingUnitaryFee = 25 * 10 ** 4; // 0.25 milliWITs\\n        \\n        _malleateBytecode(\\n            _params.numWitnesses,\\n            _params.minWitnessingConsensus,\\n            _params.witnessingCollateral,\\n            _params.witnessingReward,\\n            _params.witnessingUnitaryFee\\n        );\\n    }\\n\\n    /// @dev Serializes new `bytecode` by combining immutable template with given parameters.\\n    function _malleateBytecode(\\n            uint8 _numWitnesses,\\n            uint8 _minWitnessingConsensus,\\n            uint64 _witnessingCollateral,\\n            uint64 _witnessingReward,\\n            uint64 _witnessingUnitaryFee\\n        )\\n        internal\\n        virtual\\n    {\\n        require(\\n            _witnessingReward > 0,\\n            \\\"WitnetRequestMalleableBase: no reward\\\"\\n        );\\n        require(\\n            _numWitnesses >= 1 && _numWitnesses <= 127,\\n            \\\"WitnetRequestMalleableBase: number of witnesses out of range\\\"\\n        );\\n        require(\\n            _minWitnessingConsensus >= 51 && _minWitnessingConsensus <= 99,\\n            \\\"WitnetRequestMalleableBase: witnessing consensus out of range\\\"\\n        );\\n        require(\\n            _witnessingCollateral >= 10 ** 9,\\n            \\\"WitnetRequestMalleableBase: witnessing collateral below 1 WIT\\\"\\n        );\\n\\n        _request().bytecode = abi.encodePacked(\\n            _request().template,\\n            _uint64varint(bytes1(0x10), _witnessingReward),\\n            _uint8varint(bytes1(0x18), _numWitnesses),\\n            _uint64varint(0x20, _witnessingUnitaryFee),\\n            _uint8varint(0x28, _minWitnessingConsensus),\\n            _uint64varint(0x30, _witnessingCollateral)\\n        );\\n        _request().hash = _request().bytecode.hash();\\n        emit WitnessingParamsChanged(\\n            msg.sender,\\n            _numWitnesses,\\n            _minWitnessingConsensus,\\n            _witnessingCollateral,\\n            _witnessingReward,\\n            _witnessingUnitaryFee\\n        );\\n    }\\n\\n    /// @dev Returns pointer to storage slot where State struct is located.\\n    function _request()\\n        internal pure\\n        virtual\\n        returns (WitnetRequestMalleableBaseContext storage _ptr)\\n    {\\n        assembly {\\n            _ptr.slot :=\\n                /* keccak256(\\\"io.witnet.requests.malleable.context\\\") */\\n                0x375930152e1d0d102998be6e496b0cee86c9ecd0efef01014ecff169b17dfba7\\n        }\\n    }\\n\\n    /// @dev Encode uint64 into tagged varint.\\n    /// @dev See https://developers.google.com/protocol-buffers/docs/encoding#varints.\\n    /// @param t Tag\\n    /// @param n Number\\n    /// @return Marshaled bytes\\n    function _uint64varint(bytes1 t, uint64 n)\\n        internal pure\\n        returns (bytes memory)\\n    {\\n        // Count the number of groups of 7 bits\\n        // We need this pre-processing step since Solidity doesn't allow dynamic memory resizing\\n        uint64 tmp = n;\\n        uint64 numBytes = 2;\\n        while (tmp > 0x7F) {\\n            tmp = tmp >> 7;\\n            numBytes += 1;\\n        }\\n        bytes memory buf = new bytes(numBytes);\\n        tmp = n;\\n        buf[0] = t;\\n        for (uint64 i = 1; i < numBytes; i++) {\\n            // Set the first bit in the byte for each group of 7 bits\\n            buf[i] = bytes1(0x80 | uint8(tmp & 0x7F));\\n            tmp = tmp >> 7;\\n        }\\n        // Unset the first bit of the last byte\\n        buf[numBytes - 1] &= 0x7F;\\n        return buf;\\n    }\\n\\n    /// @dev Encode uint8 into tagged varint.\\n    /// @param t Tag\\n    /// @param n Number\\n    /// @return Marshaled bytes\\n    function _uint8varint(bytes1 t, uint8 n)\\n        internal pure\\n        returns (bytes memory)\\n    {\\n        return _uint64varint(t, uint64(n));\\n    }\\n}\\n\",\"keccak256\":\"0x53d0d402776e310c678643ed6b07d4f73511de9d1fa73732abf4251d69755b22\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[{"astId":11684,"contract":"witnet-solidity-bridge/contracts/requests/WitnetRequestMalleableBase.sol:WitnetRequestMalleableBase","label":"_owner","offset":0,"slot":"0","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"}}},"userdoc":{"kind":"user","methods":{"bytecode()":{"notice":"Returns current Witnet Data Request bytecode, encoded using Protocol Buffers."},"clone()":{"notice":"Deploys and returns the address of a minimal proxy clone that replicates contract behaviour while using its own EVM storage."},"cloneDeterministic(bytes32)":{"notice":"Deploys and returns the address of a minimal proxy clone that replicates contract  behaviour while using its own EVM storage."},"cloned()":{"notice":"Tells whether this contract is a clone of another (i.e. `self()`)"},"hash()":{"notice":"Returns SHA256 hash of current Witnet Data Request bytecode."},"owner()":{"notice":"Returns the address of the current owner."},"self()":{"notice":"Immutable contract address that actually attends all calls to this contract."},"setWitnessingCollateral(uint64)":{"notice":"Sets amount of nanowits that a witness solving the request will be required to collateralize in the commitment transaction."},"setWitnessingFees(uint64,uint64)":{"notice":"Specifies how much you want to pay for rewarding each of the Witnet nodes."},"setWitnessingQuorum(uint8,uint8)":{"notice":"Sets how many Witnet nodes will be \"hired\" for resolving the request."},"template()":{"notice":"Returns immutable template bytecode: actual CBOR-encoded data request at the Witnet protocol level, including no witnessing parameters at all."},"totalWitnessingCollateral()":{"notice":"Returns total amount of nanowits that witnessing nodes will need to collateralize all together."},"totalWitnessingFee()":{"notice":"Returns total amount of nanowits that will have to be paid in total for this request to be solved."},"witnessingParams()":{"notice":"Returns witnessing parameters of current Witnet Data Request."}},"version":1}}},"witnet-solidity-bridge/contracts/requests/WitnetRequestRandomness.sol":{"WitnetRequestRandomness":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"by","type":"address"},{"indexed":true,"internalType":"contract Clonable","name":"self","type":"address"},{"indexed":true,"internalType":"contract Clonable","name":"clone","type":"address"}],"name":"Cloned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"by","type":"address"},{"indexed":false,"internalType":"uint8","name":"numWitnesses","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"minWitnessingConsensus","type":"uint8"},{"indexed":false,"internalType":"uint64","name":"witnssingCollateral","type":"uint64"},{"indexed":false,"internalType":"uint64","name":"witnessingReward","type":"uint64"},{"indexed":false,"internalType":"uint64","name":"witnessingUnitaryFee","type":"uint64"}],"name":"WitnessingParamsChanged","type":"event"},{"inputs":[],"name":"bytecode","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clone","outputs":[{"internalType":"contract Clonable","name":"_instance","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_salt","type":"bytes32"}],"name":"cloneDeterministic","outputs":[{"internalType":"contract Clonable","name":"_instance","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cloned","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"self","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"_witnessingCollateral","type":"uint64"}],"name":"setWitnessingCollateral","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"_witnessingReward","type":"uint64"},{"internalType":"uint64","name":"_witnessingUnitaryFee","type":"uint64"}],"name":"setWitnessingFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_numWitnesses","type":"uint8"},{"internalType":"uint8","name":"_minWitnessingConsensus","type":"uint8"}],"name":"setWitnessingQuorum","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"template","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalWitnessingCollateral","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalWitnessingFee","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"witnessingParams","outputs":[{"components":[{"internalType":"uint8","name":"numWitnesses","type":"uint8"},{"internalType":"uint8","name":"minWitnessingConsensus","type":"uint8"},{"internalType":"uint64","name":"witnessingCollateral","type":"uint64"},{"internalType":"uint64","name":"witnessingReward","type":"uint64"},{"internalType":"uint64","name":"witnessingUnitaryFee","type":"uint64"}],"internalType":"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams","name":"","type":"tuple"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{"clone()":{"details":"This function should always provide a new address, no matter how many times is actually called from the same `msg.sender`."},"cloneDeterministic(bytes32)":{"details":"This function uses the CREATE2 opcode and a `_salt` to deterministically deploythe clone. Using the same `_salt` multiple time will revert, sinceno contract can be deployed more than once at the same address."},"proxiableUUID()":{"details":"Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)See https://eips.ethereum.org/EIPS/eip-1822."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner."},"setWitnessingFees(uint64,uint64)":{"params":{"_witnessingReward":"Amount of nanowits that every request-solving witness will be rewarded with.","_witnessingUnitaryFee":"Amount of nanowits that will be earned by Witnet miners for each each valid  commit/reveal transaction they include in a block."}},"setWitnessingQuorum(uint8,uint8)":{"params":{"_minWitnessingConsensus":"Threshold percentage for aborting resolution of a request if the witnessing  nodes did not arrive to a broad consensus.","_numWitnesses":"Number of witnesses required to be involved for solving this Witnet Data Request."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"evm":{"bytecode":{"functionDebugData":{"@_11700":{"entryPoint":null,"id":11700,"parameterSlots":0,"returnSlots":0},"@_12739":{"entryPoint":null,"id":12739,"parameterSlots":0,"returnSlots":0},"@_initialize_12486":{"entryPoint":655,"id":12486,"parameterSlots":1,"returnSlots":0},"@_malleateBytecode_12596":{"entryPoint":1071,"id":12596,"parameterSlots":5,"returnSlots":0},"@_msgSender_11641":{"entryPoint":142,"id":11641,"parameterSlots":0,"returnSlots":1},"@_request_12605":{"entryPoint":460,"id":12605,"parameterSlots":0,"returnSlots":1},"@_transferOwnership_12395":{"entryPoint":150,"id":12395,"parameterSlots":1,"returnSlots":0},"@_uint64varint_12700":{"entryPoint":1928,"id":12700,"parameterSlots":2,"returnSlots":1},"@_uint8varint_12719":{"entryPoint":2458,"id":12719,"parameterSlots":2,"returnSlots":1},"@hash_7982":{"entryPoint":2489,"id":7982,"parameterSlots":1,"returnSlots":1},"@initialize_12358":{"entryPoint":500,"id":12358,"parameterSlots":1,"returnSlots":0},"@initialize_12752":{"entryPoint":382,"id":12752,"parameterSlots":1,"returnSlots":0},"abi_decode_t_bytes32_fromMemory":{"entryPoint":2759,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":2782,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":2832,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes_storage_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":2887,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_stringliteral_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18_to_t_string_memory_ptr_fromStack":{"entryPoint":3026,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf_to_t_string_memory_ptr_fromStack":{"entryPoint":3065,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff_to_t_string_memory_ptr_fromStack":{"entryPoint":3104,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae_to_t_string_memory_ptr_fromStack":{"entryPoint":3143,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e_to_t_string_memory_ptr_fromStack":{"entryPoint":3182,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_uint64_to_t_uint64_fromStack":{"entryPoint":3221,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint8_to_t_uint8_fromStack":{"entryPoint":3238,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":3255,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_storage_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":3280,"id":null,"parameterSlots":7,"returnSlots":1},"abi_encode_tuple_t_stringliteral_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3380,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3414,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3448,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3482,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3516,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint8_t_uint8_t_uint64_t_uint64_t_uint64__to_t_uint8_t_uint8_t_uint64_t_uint64_t_uint64__fromStack_reversed":{"entryPoint":3550,"id":null,"parameterSlots":6,"returnSlots":1},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"array_dataslot_t_bytes_storage":{"entryPoint":3643,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_bytes_memory_ptr":{"entryPoint":3664,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":3675,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_fromStack":{"entryPoint":3686,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint64":{"entryPoint":3703,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint64":{"entryPoint":3772,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":3831,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint64":{"entryPoint":3841,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint8":{"entryPoint":3861,"id":null,"parameterSlots":1,"returnSlots":1},"copy_memory_to_memory":{"entryPoint":3874,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":3928,"id":null,"parameterSlots":1,"returnSlots":1},"increment_t_uint64":{"entryPoint":3982,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x01":{"entryPoint":4036,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x11":{"entryPoint":4083,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x22":{"entryPoint":4130,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":4177,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":4224,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":4271,"id":null,"parameterSlots":0,"returnSlots":0},"store_literal_in_memory_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18":{"entryPoint":4276,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf":{"entryPoint":4355,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff":{"entryPoint":4434,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae":{"entryPoint":4513,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e":{"entryPoint":4592,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":4671,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:12710:67","statements":[{"body":{"nodeType":"YulBlock","src":"70:80:67","statements":[{"nodeType":"YulAssignment","src":"80:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"95:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"89:5:67"},"nodeType":"YulFunctionCall","src":"89:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"80:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"138:5:67"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"111:26:67"},"nodeType":"YulFunctionCall","src":"111:33:67"},"nodeType":"YulExpressionStatement","src":"111:33:67"}]},"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"48:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"56:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"64:5:67","type":""}],"src":"7:143:67"},{"body":{"nodeType":"YulBlock","src":"233:274:67","statements":[{"body":{"nodeType":"YulBlock","src":"279:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"281:77:67"},"nodeType":"YulFunctionCall","src":"281:79:67"},"nodeType":"YulExpressionStatement","src":"281:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"254:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"263:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"250:3:67"},"nodeType":"YulFunctionCall","src":"250:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"275:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"246:3:67"},"nodeType":"YulFunctionCall","src":"246:32:67"},"nodeType":"YulIf","src":"243:119:67"},{"nodeType":"YulBlock","src":"372:128:67","statements":[{"nodeType":"YulVariableDeclaration","src":"387:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"401:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"391:6:67","type":""}]},{"nodeType":"YulAssignment","src":"416:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"462:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"473:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"458:3:67"},"nodeType":"YulFunctionCall","src":"458:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"482:7:67"}],"functionName":{"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulIdentifier","src":"426:31:67"},"nodeType":"YulFunctionCall","src":"426:64:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"416:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"203:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"214:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"226:6:67","type":""}],"src":"156:351:67"},{"body":{"nodeType":"YulBlock","src":"621:265:67","statements":[{"nodeType":"YulVariableDeclaration","src":"631:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"677:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"645:31:67"},"nodeType":"YulFunctionCall","src":"645:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"635:6:67","type":""}]},{"nodeType":"YulAssignment","src":"692:95:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"775:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"780:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"699:75:67"},"nodeType":"YulFunctionCall","src":"699:88:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"692:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"822:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"829:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"818:3:67"},"nodeType":"YulFunctionCall","src":"818:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"836:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"841:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"796:21:67"},"nodeType":"YulFunctionCall","src":"796:52:67"},"nodeType":"YulExpressionStatement","src":"796:52:67"},{"nodeType":"YulAssignment","src":"857:23:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"868:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"873:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"864:3:67"},"nodeType":"YulFunctionCall","src":"864:16:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"857:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"602:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"609:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"617:3:67","type":""}],"src":"513:373:67"},{"body":{"nodeType":"YulBlock","src":"1019:736:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1029:29:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1052:5:67"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"1046:5:67"},"nodeType":"YulFunctionCall","src":"1046:12:67"},"variables":[{"name":"slotValue","nodeType":"YulTypedName","src":"1033:9:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1067:50:67","value":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"1107:9:67"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"1081:25:67"},"nodeType":"YulFunctionCall","src":"1081:36:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1071:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1126:95:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1209:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"1214:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"1133:75:67"},"nodeType":"YulFunctionCall","src":"1133:88:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"1126:3:67"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"1270:130:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1323:3:67"},{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"1332:9:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1347:4:67","type":"","value":"0xff"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1343:3:67"},"nodeType":"YulFunctionCall","src":"1343:9:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1328:3:67"},"nodeType":"YulFunctionCall","src":"1328:25:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1316:6:67"},"nodeType":"YulFunctionCall","src":"1316:38:67"},"nodeType":"YulExpressionStatement","src":"1316:38:67"},{"nodeType":"YulAssignment","src":"1367:23:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1378:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"1383:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1374:3:67"},"nodeType":"YulFunctionCall","src":"1374:16:67"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"1367:3:67"}]}]},"nodeType":"YulCase","src":"1263:137:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1268:1:67","type":"","value":"0"}},{"body":{"nodeType":"YulBlock","src":"1416:333:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1461:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1507:5:67"}],"functionName":{"name":"array_dataslot_t_bytes_storage","nodeType":"YulIdentifier","src":"1476:30:67"},"nodeType":"YulFunctionCall","src":"1476:37:67"},"variables":[{"name":"dataPos","nodeType":"YulTypedName","src":"1465:7:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1526:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1535:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1530:1:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"1593:110:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1622:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"1627:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1618:3:67"},"nodeType":"YulFunctionCall","src":"1618:11:67"},{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"1637:7:67"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"1631:5:67"},"nodeType":"YulFunctionCall","src":"1631:14:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1611:6:67"},"nodeType":"YulFunctionCall","src":"1611:35:67"},"nodeType":"YulExpressionStatement","src":"1611:35:67"},{"nodeType":"YulAssignment","src":"1663:26:67","value":{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"1678:7:67"},{"kind":"number","nodeType":"YulLiteral","src":"1687:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1674:3:67"},"nodeType":"YulFunctionCall","src":"1674:15:67"},"variableNames":[{"name":"dataPos","nodeType":"YulIdentifier","src":"1663:7:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1560:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"1563:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1557:2:67"},"nodeType":"YulFunctionCall","src":"1557:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1571:21:67","statements":[{"nodeType":"YulAssignment","src":"1573:17:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1582:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"1585:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1578:3:67"},"nodeType":"YulFunctionCall","src":"1578:12:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1573:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"1553:3:67","statements":[]},"src":"1549:154:67"},{"nodeType":"YulAssignment","src":"1716:23:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1727:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"1732:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1723:3:67"},"nodeType":"YulFunctionCall","src":"1723:16:67"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"1716:3:67"}]}]},"nodeType":"YulCase","src":"1409:340:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1414:1:67","type":"","value":"1"}}],"expression":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"1241:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"1252:1:67","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1237:3:67"},"nodeType":"YulFunctionCall","src":"1237:17:67"},"nodeType":"YulSwitch","src":"1230:519:67"}]},"name":"abi_encode_t_bytes_storage_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1000:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1007:3:67","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"1015:3:67","type":""}],"src":"914:841:67"},{"body":{"nodeType":"YulBlock","src":"1907:220:67","statements":[{"nodeType":"YulAssignment","src":"1917:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1983:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"1988:2:67","type":"","value":"61"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"1924:58:67"},"nodeType":"YulFunctionCall","src":"1924:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"1917:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2089:3:67"}],"functionName":{"name":"store_literal_in_memory_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18","nodeType":"YulIdentifier","src":"2000:88:67"},"nodeType":"YulFunctionCall","src":"2000:93:67"},"nodeType":"YulExpressionStatement","src":"2000:93:67"},{"nodeType":"YulAssignment","src":"2102:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2113:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"2118:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2109:3:67"},"nodeType":"YulFunctionCall","src":"2109:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2102:3:67"}]}]},"name":"abi_encode_t_stringliteral_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"1895:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"1903:3:67","type":""}],"src":"1761:366:67"},{"body":{"nodeType":"YulBlock","src":"2279:220:67","statements":[{"nodeType":"YulAssignment","src":"2289:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2355:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"2360:2:67","type":"","value":"37"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"2296:58:67"},"nodeType":"YulFunctionCall","src":"2296:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2289:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2461:3:67"}],"functionName":{"name":"store_literal_in_memory_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf","nodeType":"YulIdentifier","src":"2372:88:67"},"nodeType":"YulFunctionCall","src":"2372:93:67"},"nodeType":"YulExpressionStatement","src":"2372:93:67"},{"nodeType":"YulAssignment","src":"2474:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2485:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"2490:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2481:3:67"},"nodeType":"YulFunctionCall","src":"2481:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2474:3:67"}]}]},"name":"abi_encode_t_stringliteral_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"2267:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2275:3:67","type":""}],"src":"2133:366:67"},{"body":{"nodeType":"YulBlock","src":"2651:220:67","statements":[{"nodeType":"YulAssignment","src":"2661:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2727:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"2732:2:67","type":"","value":"47"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"2668:58:67"},"nodeType":"YulFunctionCall","src":"2668:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2661:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2833:3:67"}],"functionName":{"name":"store_literal_in_memory_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff","nodeType":"YulIdentifier","src":"2744:88:67"},"nodeType":"YulFunctionCall","src":"2744:93:67"},"nodeType":"YulExpressionStatement","src":"2744:93:67"},{"nodeType":"YulAssignment","src":"2846:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2857:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"2862:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2853:3:67"},"nodeType":"YulFunctionCall","src":"2853:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2846:3:67"}]}]},"name":"abi_encode_t_stringliteral_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"2639:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2647:3:67","type":""}],"src":"2505:366:67"},{"body":{"nodeType":"YulBlock","src":"3023:220:67","statements":[{"nodeType":"YulAssignment","src":"3033:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3099:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"3104:2:67","type":"","value":"60"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"3040:58:67"},"nodeType":"YulFunctionCall","src":"3040:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3033:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3205:3:67"}],"functionName":{"name":"store_literal_in_memory_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae","nodeType":"YulIdentifier","src":"3116:88:67"},"nodeType":"YulFunctionCall","src":"3116:93:67"},"nodeType":"YulExpressionStatement","src":"3116:93:67"},{"nodeType":"YulAssignment","src":"3218:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3229:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"3234:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3225:3:67"},"nodeType":"YulFunctionCall","src":"3225:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3218:3:67"}]}]},"name":"abi_encode_t_stringliteral_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"3011:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"3019:3:67","type":""}],"src":"2877:366:67"},{"body":{"nodeType":"YulBlock","src":"3395:220:67","statements":[{"nodeType":"YulAssignment","src":"3405:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3471:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"3476:2:67","type":"","value":"61"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"3412:58:67"},"nodeType":"YulFunctionCall","src":"3412:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3405:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3577:3:67"}],"functionName":{"name":"store_literal_in_memory_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e","nodeType":"YulIdentifier","src":"3488:88:67"},"nodeType":"YulFunctionCall","src":"3488:93:67"},"nodeType":"YulExpressionStatement","src":"3488:93:67"},{"nodeType":"YulAssignment","src":"3590:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3601:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"3606:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3597:3:67"},"nodeType":"YulFunctionCall","src":"3597:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3590:3:67"}]}]},"name":"abi_encode_t_stringliteral_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"3383:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"3391:3:67","type":""}],"src":"3249:366:67"},{"body":{"nodeType":"YulBlock","src":"3684:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3701:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3723:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"3706:16:67"},"nodeType":"YulFunctionCall","src":"3706:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3694:6:67"},"nodeType":"YulFunctionCall","src":"3694:36:67"},"nodeType":"YulExpressionStatement","src":"3694:36:67"}]},"name":"abi_encode_t_uint64_to_t_uint64_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3672:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3679:3:67","type":""}],"src":"3621:115:67"},{"body":{"nodeType":"YulBlock","src":"3803:51:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3820:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3841:5:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"3825:15:67"},"nodeType":"YulFunctionCall","src":"3825:22:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3813:6:67"},"nodeType":"YulFunctionCall","src":"3813:35:67"},"nodeType":"YulExpressionStatement","src":"3813:35:67"}]},"name":"abi_encode_t_uint8_to_t_uint8_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3791:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3798:3:67","type":""}],"src":"3742:112:67"},{"body":{"nodeType":"YulBlock","src":"3994:137:67","statements":[{"nodeType":"YulAssignment","src":"4005:100:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4092:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"4101:3:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"4012:79:67"},"nodeType":"YulFunctionCall","src":"4012:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4005:3:67"}]},{"nodeType":"YulAssignment","src":"4115:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"4122:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"4115:3:67"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"3973:3:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3979:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"3990:3:67","type":""}],"src":"3860:271:67"},{"body":{"nodeType":"YulBlock","src":"4498:684:67","statements":[{"nodeType":"YulAssignment","src":"4509:97:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4593:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"4602:3:67"}],"functionName":{"name":"abi_encode_t_bytes_storage_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"4516:76:67"},"nodeType":"YulFunctionCall","src":"4516:90:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4509:3:67"}]},{"nodeType":"YulAssignment","src":"4616:100:67","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"4703:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"4712:3:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"4623:79:67"},"nodeType":"YulFunctionCall","src":"4623:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4616:3:67"}]},{"nodeType":"YulAssignment","src":"4726:100:67","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"4813:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"4822:3:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"4733:79:67"},"nodeType":"YulFunctionCall","src":"4733:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4726:3:67"}]},{"nodeType":"YulAssignment","src":"4836:100:67","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"4923:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"4932:3:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"4843:79:67"},"nodeType":"YulFunctionCall","src":"4843:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4836:3:67"}]},{"nodeType":"YulAssignment","src":"4946:100:67","value":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"5033:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"5042:3:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"4953:79:67"},"nodeType":"YulFunctionCall","src":"4953:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4946:3:67"}]},{"nodeType":"YulAssignment","src":"5056:100:67","value":{"arguments":[{"name":"value5","nodeType":"YulIdentifier","src":"5143:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"5152:3:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"5063:79:67"},"nodeType":"YulFunctionCall","src":"5063:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"5056:3:67"}]},{"nodeType":"YulAssignment","src":"5166:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"5173:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"5166:3:67"}]}]},"name":"abi_encode_tuple_packed_t_bytes_storage_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"4437:3:67","type":""},{"name":"value5","nodeType":"YulTypedName","src":"4443:6:67","type":""},{"name":"value4","nodeType":"YulTypedName","src":"4451:6:67","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4459:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4467:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4475:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4483:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"4494:3:67","type":""}],"src":"4137:1045:67"},{"body":{"nodeType":"YulBlock","src":"5359:248:67","statements":[{"nodeType":"YulAssignment","src":"5369:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5381:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"5392:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5377:3:67"},"nodeType":"YulFunctionCall","src":"5377:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5369:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5416:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"5427:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5412:3:67"},"nodeType":"YulFunctionCall","src":"5412:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"5435:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"5441:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5431:3:67"},"nodeType":"YulFunctionCall","src":"5431:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5405:6:67"},"nodeType":"YulFunctionCall","src":"5405:47:67"},"nodeType":"YulExpressionStatement","src":"5405:47:67"},{"nodeType":"YulAssignment","src":"5461:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"5595:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"5469:124:67"},"nodeType":"YulFunctionCall","src":"5469:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5461:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5339:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5354:4:67","type":""}],"src":"5188:419:67"},{"body":{"nodeType":"YulBlock","src":"5784:248:67","statements":[{"nodeType":"YulAssignment","src":"5794:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5806:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"5817:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5802:3:67"},"nodeType":"YulFunctionCall","src":"5802:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5794:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5841:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"5852:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5837:3:67"},"nodeType":"YulFunctionCall","src":"5837:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"5860:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"5866:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5856:3:67"},"nodeType":"YulFunctionCall","src":"5856:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5830:6:67"},"nodeType":"YulFunctionCall","src":"5830:47:67"},"nodeType":"YulExpressionStatement","src":"5830:47:67"},{"nodeType":"YulAssignment","src":"5886:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"6020:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"5894:124:67"},"nodeType":"YulFunctionCall","src":"5894:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5886:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5764:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5779:4:67","type":""}],"src":"5613:419:67"},{"body":{"nodeType":"YulBlock","src":"6209:248:67","statements":[{"nodeType":"YulAssignment","src":"6219:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6231:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"6242:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6227:3:67"},"nodeType":"YulFunctionCall","src":"6227:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6219:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6266:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"6277:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6262:3:67"},"nodeType":"YulFunctionCall","src":"6262:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"6285:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"6291:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6281:3:67"},"nodeType":"YulFunctionCall","src":"6281:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6255:6:67"},"nodeType":"YulFunctionCall","src":"6255:47:67"},"nodeType":"YulExpressionStatement","src":"6255:47:67"},{"nodeType":"YulAssignment","src":"6311:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"6445:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"6319:124:67"},"nodeType":"YulFunctionCall","src":"6319:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6311:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6189:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6204:4:67","type":""}],"src":"6038:419:67"},{"body":{"nodeType":"YulBlock","src":"6634:248:67","statements":[{"nodeType":"YulAssignment","src":"6644:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6656:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"6667:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6652:3:67"},"nodeType":"YulFunctionCall","src":"6652:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6644:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6691:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"6702:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6687:3:67"},"nodeType":"YulFunctionCall","src":"6687:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"6710:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"6716:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6706:3:67"},"nodeType":"YulFunctionCall","src":"6706:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6680:6:67"},"nodeType":"YulFunctionCall","src":"6680:47:67"},"nodeType":"YulExpressionStatement","src":"6680:47:67"},{"nodeType":"YulAssignment","src":"6736:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"6870:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"6744:124:67"},"nodeType":"YulFunctionCall","src":"6744:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6736:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6614:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6629:4:67","type":""}],"src":"6463:419:67"},{"body":{"nodeType":"YulBlock","src":"7059:248:67","statements":[{"nodeType":"YulAssignment","src":"7069:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7081:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"7092:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7077:3:67"},"nodeType":"YulFunctionCall","src":"7077:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7069:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7116:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"7127:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7112:3:67"},"nodeType":"YulFunctionCall","src":"7112:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"7135:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"7141:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7131:3:67"},"nodeType":"YulFunctionCall","src":"7131:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7105:6:67"},"nodeType":"YulFunctionCall","src":"7105:47:67"},"nodeType":"YulExpressionStatement","src":"7105:47:67"},{"nodeType":"YulAssignment","src":"7161:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"7295:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"7169:124:67"},"nodeType":"YulFunctionCall","src":"7169:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7161:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7039:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7054:4:67","type":""}],"src":"6888:419:67"},{"body":{"nodeType":"YulBlock","src":"7509:440:67","statements":[{"nodeType":"YulAssignment","src":"7519:27:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7531:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"7542:3:67","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7527:3:67"},"nodeType":"YulFunctionCall","src":"7527:19:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7519:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7596:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7609:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"7620:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7605:3:67"},"nodeType":"YulFunctionCall","src":"7605:17:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_fromStack","nodeType":"YulIdentifier","src":"7556:39:67"},"nodeType":"YulFunctionCall","src":"7556:67:67"},"nodeType":"YulExpressionStatement","src":"7556:67:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"7673:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7686:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"7697:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7682:3:67"},"nodeType":"YulFunctionCall","src":"7682:18:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_fromStack","nodeType":"YulIdentifier","src":"7633:39:67"},"nodeType":"YulFunctionCall","src":"7633:68:67"},"nodeType":"YulExpressionStatement","src":"7633:68:67"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"7753:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7766:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"7777:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7762:3:67"},"nodeType":"YulFunctionCall","src":"7762:18:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_fromStack","nodeType":"YulIdentifier","src":"7711:41:67"},"nodeType":"YulFunctionCall","src":"7711:70:67"},"nodeType":"YulExpressionStatement","src":"7711:70:67"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"7833:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7846:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"7857:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7842:3:67"},"nodeType":"YulFunctionCall","src":"7842:18:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_fromStack","nodeType":"YulIdentifier","src":"7791:41:67"},"nodeType":"YulFunctionCall","src":"7791:70:67"},"nodeType":"YulExpressionStatement","src":"7791:70:67"},{"expression":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"7913:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7926:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"7937:3:67","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7922:3:67"},"nodeType":"YulFunctionCall","src":"7922:19:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_fromStack","nodeType":"YulIdentifier","src":"7871:41:67"},"nodeType":"YulFunctionCall","src":"7871:71:67"},"nodeType":"YulExpressionStatement","src":"7871:71:67"}]},"name":"abi_encode_tuple_t_uint8_t_uint8_t_uint64_t_uint64_t_uint64__to_t_uint8_t_uint8_t_uint64_t_uint64_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7449:9:67","type":""},{"name":"value4","nodeType":"YulTypedName","src":"7461:6:67","type":""},{"name":"value3","nodeType":"YulTypedName","src":"7469:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7477:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7485:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7493:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7504:4:67","type":""}],"src":"7313:636:67"},{"body":{"nodeType":"YulBlock","src":"7995:35:67","statements":[{"nodeType":"YulAssignment","src":"8005:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8021:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8015:5:67"},"nodeType":"YulFunctionCall","src":"8015:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"8005:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"7988:6:67","type":""}],"src":"7955:75:67"},{"body":{"nodeType":"YulBlock","src":"8089:87:67","statements":[{"nodeType":"YulAssignment","src":"8099:11:67","value":{"name":"ptr","nodeType":"YulIdentifier","src":"8107:3:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"8099:4:67"}]},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8127:1:67","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"8130:3:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8120:6:67"},"nodeType":"YulFunctionCall","src":"8120:14:67"},"nodeType":"YulExpressionStatement","src":"8120:14:67"},{"nodeType":"YulAssignment","src":"8143:26:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8161:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8164:4:67","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"8151:9:67"},"nodeType":"YulFunctionCall","src":"8151:18:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"8143:4:67"}]}]},"name":"array_dataslot_t_bytes_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"8076:3:67","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"8084:4:67","type":""}],"src":"8036:140:67"},{"body":{"nodeType":"YulBlock","src":"8240:40:67","statements":[{"nodeType":"YulAssignment","src":"8251:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8267:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8261:5:67"},"nodeType":"YulFunctionCall","src":"8261:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"8251:6:67"}]}]},"name":"array_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8223:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"8233:6:67","type":""}],"src":"8182:98:67"},{"body":{"nodeType":"YulBlock","src":"8399:34:67","statements":[{"nodeType":"YulAssignment","src":"8409:18:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"8424:3:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"8409:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"8371:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"8376:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"8387:11:67","type":""}],"src":"8286:147:67"},{"body":{"nodeType":"YulBlock","src":"8535:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8552:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"8557:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8545:6:67"},"nodeType":"YulFunctionCall","src":"8545:19:67"},"nodeType":"YulExpressionStatement","src":"8545:19:67"},{"nodeType":"YulAssignment","src":"8573:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8592:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"8597:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8588:3:67"},"nodeType":"YulFunctionCall","src":"8588:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"8573:11:67"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"8507:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"8512:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"8523:11:67","type":""}],"src":"8439:169:67"},{"body":{"nodeType":"YulBlock","src":"8657:211:67","statements":[{"nodeType":"YulAssignment","src":"8667:24:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"8689:1:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"8672:16:67"},"nodeType":"YulFunctionCall","src":"8672:19:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"8667:1:67"}]},{"nodeType":"YulAssignment","src":"8700:24:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"8722:1:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"8705:16:67"},"nodeType":"YulFunctionCall","src":"8705:19:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"8700:1:67"}]},{"body":{"nodeType":"YulBlock","src":"8814:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"8816:16:67"},"nodeType":"YulFunctionCall","src":"8816:18:67"},"nodeType":"YulExpressionStatement","src":"8816:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"8783:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8790:18:67","type":"","value":"0xffffffffffffffff"},{"name":"y","nodeType":"YulIdentifier","src":"8810:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8786:3:67"},"nodeType":"YulFunctionCall","src":"8786:26:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8780:2:67"},"nodeType":"YulFunctionCall","src":"8780:33:67"},"nodeType":"YulIf","src":"8777:59:67"},{"nodeType":"YulAssignment","src":"8846:16:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"8857:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"8860:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8853:3:67"},"nodeType":"YulFunctionCall","src":"8853:9:67"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"8846:3:67"}]}]},"name":"checked_add_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"8644:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"8647:1:67","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"8653:3:67","type":""}],"src":"8614:254:67"},{"body":{"nodeType":"YulBlock","src":"8918:144:67","statements":[{"nodeType":"YulAssignment","src":"8928:24:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"8950:1:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"8933:16:67"},"nodeType":"YulFunctionCall","src":"8933:19:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"8928:1:67"}]},{"nodeType":"YulAssignment","src":"8961:24:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"8983:1:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"8966:16:67"},"nodeType":"YulFunctionCall","src":"8966:19:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"8961:1:67"}]},{"body":{"nodeType":"YulBlock","src":"9007:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"9009:16:67"},"nodeType":"YulFunctionCall","src":"9009:18:67"},"nodeType":"YulExpressionStatement","src":"9009:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"9001:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"9004:1:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"8998:2:67"},"nodeType":"YulFunctionCall","src":"8998:8:67"},"nodeType":"YulIf","src":"8995:34:67"},{"nodeType":"YulAssignment","src":"9039:17:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"9051:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"9054:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9047:3:67"},"nodeType":"YulFunctionCall","src":"9047:9:67"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"9039:4:67"}]}]},"name":"checked_sub_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"8904:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"8907:1:67","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"8913:4:67","type":""}],"src":"8874:188:67"},{"body":{"nodeType":"YulBlock","src":"9113:32:67","statements":[{"nodeType":"YulAssignment","src":"9123:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"9134:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"9123:7:67"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9095:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"9105:7:67","type":""}],"src":"9068:77:67"},{"body":{"nodeType":"YulBlock","src":"9195:57:67","statements":[{"nodeType":"YulAssignment","src":"9205:41:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9220:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"9227:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9216:3:67"},"nodeType":"YulFunctionCall","src":"9216:30:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"9205:7:67"}]}]},"name":"cleanup_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9177:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"9187:7:67","type":""}],"src":"9151:101:67"},{"body":{"nodeType":"YulBlock","src":"9301:43:67","statements":[{"nodeType":"YulAssignment","src":"9311:27:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9326:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"9333:4:67","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9322:3:67"},"nodeType":"YulFunctionCall","src":"9322:16:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"9311:7:67"}]}]},"name":"cleanup_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9283:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"9293:7:67","type":""}],"src":"9258:86:67"},{"body":{"nodeType":"YulBlock","src":"9399:258:67","statements":[{"nodeType":"YulVariableDeclaration","src":"9409:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"9418:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"9413:1:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"9478:63:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"9503:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"9508:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9499:3:67"},"nodeType":"YulFunctionCall","src":"9499:11:67"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"9522:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"9527:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9518:3:67"},"nodeType":"YulFunctionCall","src":"9518:11:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9512:5:67"},"nodeType":"YulFunctionCall","src":"9512:18:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9492:6:67"},"nodeType":"YulFunctionCall","src":"9492:39:67"},"nodeType":"YulExpressionStatement","src":"9492:39:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"9439:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"9442:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"9436:2:67"},"nodeType":"YulFunctionCall","src":"9436:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"9450:19:67","statements":[{"nodeType":"YulAssignment","src":"9452:15:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"9461:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"9464:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9457:3:67"},"nodeType":"YulFunctionCall","src":"9457:10:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"9452:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"9432:3:67","statements":[]},"src":"9428:113:67"},{"body":{"nodeType":"YulBlock","src":"9575:76:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"9625:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"9630:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9621:3:67"},"nodeType":"YulFunctionCall","src":"9621:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"9639:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9614:6:67"},"nodeType":"YulFunctionCall","src":"9614:27:67"},"nodeType":"YulExpressionStatement","src":"9614:27:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"9556:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"9559:6:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9553:2:67"},"nodeType":"YulFunctionCall","src":"9553:13:67"},"nodeType":"YulIf","src":"9550:101:67"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"9381:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"9386:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"9391:6:67","type":""}],"src":"9350:307:67"},{"body":{"nodeType":"YulBlock","src":"9714:269:67","statements":[{"nodeType":"YulAssignment","src":"9724:22:67","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"9738:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"9744:1:67","type":"","value":"2"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"9734:3:67"},"nodeType":"YulFunctionCall","src":"9734:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"9724:6:67"}]},{"nodeType":"YulVariableDeclaration","src":"9755:38:67","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"9785:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"9791:1:67","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9781:3:67"},"nodeType":"YulFunctionCall","src":"9781:12:67"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"9759:18:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"9832:51:67","statements":[{"nodeType":"YulAssignment","src":"9846:27:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"9860:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"9868:4:67","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9856:3:67"},"nodeType":"YulFunctionCall","src":"9856:17:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"9846:6:67"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"9812:18:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"9805:6:67"},"nodeType":"YulFunctionCall","src":"9805:26:67"},"nodeType":"YulIf","src":"9802:81:67"},{"body":{"nodeType":"YulBlock","src":"9935:42:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x22","nodeType":"YulIdentifier","src":"9949:16:67"},"nodeType":"YulFunctionCall","src":"9949:18:67"},"nodeType":"YulExpressionStatement","src":"9949:18:67"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"9899:18:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"9922:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"9930:2:67","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"9919:2:67"},"nodeType":"YulFunctionCall","src":"9919:14:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"9896:2:67"},"nodeType":"YulFunctionCall","src":"9896:38:67"},"nodeType":"YulIf","src":"9893:84:67"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"9698:4:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"9707:6:67","type":""}],"src":"9663:320:67"},{"body":{"nodeType":"YulBlock","src":"10031:141:67","statements":[{"nodeType":"YulAssignment","src":"10041:32:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10067:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"10050:16:67"},"nodeType":"YulFunctionCall","src":"10050:23:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"10041:5:67"}]},{"body":{"nodeType":"YulBlock","src":"10115:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"10117:16:67"},"nodeType":"YulFunctionCall","src":"10117:18:67"},"nodeType":"YulExpressionStatement","src":"10117:18:67"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10088:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"10095:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"10085:2:67"},"nodeType":"YulFunctionCall","src":"10085:29:67"},"nodeType":"YulIf","src":"10082:55:67"},{"nodeType":"YulAssignment","src":"10146:20:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10157:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"10164:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10153:3:67"},"nodeType":"YulFunctionCall","src":"10153:13:67"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"10146:3:67"}]}]},"name":"increment_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10017:5:67","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"10027:3:67","type":""}],"src":"9989:183:67"},{"body":{"nodeType":"YulBlock","src":"10206:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10223:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10226:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10216:6:67"},"nodeType":"YulFunctionCall","src":"10216:88:67"},"nodeType":"YulExpressionStatement","src":"10216:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10320:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"10323:4:67","type":"","value":"0x01"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10313:6:67"},"nodeType":"YulFunctionCall","src":"10313:15:67"},"nodeType":"YulExpressionStatement","src":"10313:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10344:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10347:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10337:6:67"},"nodeType":"YulFunctionCall","src":"10337:15:67"},"nodeType":"YulExpressionStatement","src":"10337:15:67"}]},"name":"panic_error_0x01","nodeType":"YulFunctionDefinition","src":"10178:180:67"},{"body":{"nodeType":"YulBlock","src":"10392:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10409:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10412:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10402:6:67"},"nodeType":"YulFunctionCall","src":"10402:88:67"},"nodeType":"YulExpressionStatement","src":"10402:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10506:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"10509:4:67","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10499:6:67"},"nodeType":"YulFunctionCall","src":"10499:15:67"},"nodeType":"YulExpressionStatement","src":"10499:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10530:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10533:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10523:6:67"},"nodeType":"YulFunctionCall","src":"10523:15:67"},"nodeType":"YulExpressionStatement","src":"10523:15:67"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"10364:180:67"},{"body":{"nodeType":"YulBlock","src":"10578:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10595:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10598:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10588:6:67"},"nodeType":"YulFunctionCall","src":"10588:88:67"},"nodeType":"YulExpressionStatement","src":"10588:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10692:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"10695:4:67","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10685:6:67"},"nodeType":"YulFunctionCall","src":"10685:15:67"},"nodeType":"YulExpressionStatement","src":"10685:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10716:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10719:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10709:6:67"},"nodeType":"YulFunctionCall","src":"10709:15:67"},"nodeType":"YulExpressionStatement","src":"10709:15:67"}]},"name":"panic_error_0x22","nodeType":"YulFunctionDefinition","src":"10550:180:67"},{"body":{"nodeType":"YulBlock","src":"10764:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10781:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10784:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10774:6:67"},"nodeType":"YulFunctionCall","src":"10774:88:67"},"nodeType":"YulExpressionStatement","src":"10774:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10878:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"10881:4:67","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10871:6:67"},"nodeType":"YulFunctionCall","src":"10871:15:67"},"nodeType":"YulExpressionStatement","src":"10871:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10902:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10905:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10895:6:67"},"nodeType":"YulFunctionCall","src":"10895:15:67"},"nodeType":"YulExpressionStatement","src":"10895:15:67"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"10736:180:67"},{"body":{"nodeType":"YulBlock","src":"10950:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10967:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10970:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10960:6:67"},"nodeType":"YulFunctionCall","src":"10960:88:67"},"nodeType":"YulExpressionStatement","src":"10960:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11064:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"11067:4:67","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11057:6:67"},"nodeType":"YulFunctionCall","src":"11057:15:67"},"nodeType":"YulExpressionStatement","src":"11057:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11088:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11091:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11081:6:67"},"nodeType":"YulFunctionCall","src":"11081:15:67"},"nodeType":"YulExpressionStatement","src":"11081:15:67"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"10922:180:67"},{"body":{"nodeType":"YulBlock","src":"11197:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11214:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11217:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11207:6:67"},"nodeType":"YulFunctionCall","src":"11207:12:67"},"nodeType":"YulExpressionStatement","src":"11207:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"11108:117:67"},{"body":{"nodeType":"YulBlock","src":"11320:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11337:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11340:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11330:6:67"},"nodeType":"YulFunctionCall","src":"11330:12:67"},"nodeType":"YulExpressionStatement","src":"11330:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"11231:117:67"},{"body":{"nodeType":"YulBlock","src":"11460:142:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"11482:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"11490:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11478:3:67"},"nodeType":"YulFunctionCall","src":"11478:14:67"},{"hexValue":"5769746e6574526571756573744d616c6c6561626c65426173653a207769746e","kind":"string","nodeType":"YulLiteral","src":"11494:34:67","type":"","value":"WitnetRequestMalleableBase: witn"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11471:6:67"},"nodeType":"YulFunctionCall","src":"11471:58:67"},"nodeType":"YulExpressionStatement","src":"11471:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"11550:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"11558:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11546:3:67"},"nodeType":"YulFunctionCall","src":"11546:15:67"},{"hexValue":"657373696e6720636f6e73656e737573206f7574206f662072616e6765","kind":"string","nodeType":"YulLiteral","src":"11563:31:67","type":"","value":"essing consensus out of range"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11539:6:67"},"nodeType":"YulFunctionCall","src":"11539:56:67"},"nodeType":"YulExpressionStatement","src":"11539:56:67"}]},"name":"store_literal_in_memory_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"11452:6:67","type":""}],"src":"11354:248:67"},{"body":{"nodeType":"YulBlock","src":"11714:118:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"11736:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"11744:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11732:3:67"},"nodeType":"YulFunctionCall","src":"11732:14:67"},{"hexValue":"5769746e6574526571756573744d616c6c6561626c65426173653a206e6f2072","kind":"string","nodeType":"YulLiteral","src":"11748:34:67","type":"","value":"WitnetRequestMalleableBase: no r"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11725:6:67"},"nodeType":"YulFunctionCall","src":"11725:58:67"},"nodeType":"YulExpressionStatement","src":"11725:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"11804:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"11812:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11800:3:67"},"nodeType":"YulFunctionCall","src":"11800:15:67"},{"hexValue":"6577617264","kind":"string","nodeType":"YulLiteral","src":"11817:7:67","type":"","value":"eward"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11793:6:67"},"nodeType":"YulFunctionCall","src":"11793:32:67"},"nodeType":"YulExpressionStatement","src":"11793:32:67"}]},"name":"store_literal_in_memory_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"11706:6:67","type":""}],"src":"11608:224:67"},{"body":{"nodeType":"YulBlock","src":"11944:128:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"11966:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"11974:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11962:3:67"},"nodeType":"YulFunctionCall","src":"11962:14:67"},{"hexValue":"5769746e6574526571756573744d616c6c6561626c65426173653a20616c7265","kind":"string","nodeType":"YulLiteral","src":"11978:34:67","type":"","value":"WitnetRequestMalleableBase: alre"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11955:6:67"},"nodeType":"YulFunctionCall","src":"11955:58:67"},"nodeType":"YulExpressionStatement","src":"11955:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"12034:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"12042:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12030:3:67"},"nodeType":"YulFunctionCall","src":"12030:15:67"},{"hexValue":"61647920696e697469616c697a6564","kind":"string","nodeType":"YulLiteral","src":"12047:17:67","type":"","value":"ady initialized"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12023:6:67"},"nodeType":"YulFunctionCall","src":"12023:42:67"},"nodeType":"YulExpressionStatement","src":"12023:42:67"}]},"name":"store_literal_in_memory_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"11936:6:67","type":""}],"src":"11838:234:67"},{"body":{"nodeType":"YulBlock","src":"12184:141:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"12206:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"12214:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12202:3:67"},"nodeType":"YulFunctionCall","src":"12202:14:67"},{"hexValue":"5769746e6574526571756573744d616c6c6561626c65426173653a206e756d62","kind":"string","nodeType":"YulLiteral","src":"12218:34:67","type":"","value":"WitnetRequestMalleableBase: numb"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12195:6:67"},"nodeType":"YulFunctionCall","src":"12195:58:67"},"nodeType":"YulExpressionStatement","src":"12195:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"12274:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"12282:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12270:3:67"},"nodeType":"YulFunctionCall","src":"12270:15:67"},{"hexValue":"6572206f66207769746e6573736573206f7574206f662072616e6765","kind":"string","nodeType":"YulLiteral","src":"12287:30:67","type":"","value":"er of witnesses out of range"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12263:6:67"},"nodeType":"YulFunctionCall","src":"12263:55:67"},"nodeType":"YulExpressionStatement","src":"12263:55:67"}]},"name":"store_literal_in_memory_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"12176:6:67","type":""}],"src":"12078:247:67"},{"body":{"nodeType":"YulBlock","src":"12437:142:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"12459:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"12467:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12455:3:67"},"nodeType":"YulFunctionCall","src":"12455:14:67"},{"hexValue":"5769746e6574526571756573744d616c6c6561626c65426173653a207769746e","kind":"string","nodeType":"YulLiteral","src":"12471:34:67","type":"","value":"WitnetRequestMalleableBase: witn"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12448:6:67"},"nodeType":"YulFunctionCall","src":"12448:58:67"},"nodeType":"YulExpressionStatement","src":"12448:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"12527:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"12535:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12523:3:67"},"nodeType":"YulFunctionCall","src":"12523:15:67"},{"hexValue":"657373696e6720636f6c6c61746572616c2062656c6f77203120574954","kind":"string","nodeType":"YulLiteral","src":"12540:31:67","type":"","value":"essing collateral below 1 WIT"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12516:6:67"},"nodeType":"YulFunctionCall","src":"12516:56:67"},"nodeType":"YulExpressionStatement","src":"12516:56:67"}]},"name":"store_literal_in_memory_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"12429:6:67","type":""}],"src":"12331:248:67"},{"body":{"nodeType":"YulBlock","src":"12628:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"12685:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12694:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12697:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12687:6:67"},"nodeType":"YulFunctionCall","src":"12687:12:67"},"nodeType":"YulExpressionStatement","src":"12687:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12651:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12676:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"12658:17:67"},"nodeType":"YulFunctionCall","src":"12658:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"12648:2:67"},"nodeType":"YulFunctionCall","src":"12648:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12641:6:67"},"nodeType":"YulFunctionCall","src":"12641:43:67"},"nodeType":"YulIf","src":"12638:63:67"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12621:5:67","type":""}],"src":"12585:122:67"}]},"contents":"{\n\n    function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_bytes32(value)\n    }\n\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_bytes32_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, length)\n    }\n\n    // bytes -> bytes\n    function abi_encode_t_bytes_storage_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> ret {\n        let slotValue := sload(value)\n        let length := extract_byte_array_length(slotValue)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n        switch and(slotValue, 1)\n        case 0 {\n            // short byte array\n            mstore(pos, and(slotValue, not(0xff)))\n            ret := add(pos, length)\n        }\n        case 1 {\n            // long byte array\n            let dataPos := array_dataslot_t_bytes_storage(value)\n            let i := 0\n            for { } lt(i, length) { i := add(i, 0x20) } {\n                mstore(add(pos, i), sload(dataPos))\n                dataPos := add(dataPos, 1)\n            }\n            ret := add(pos, length)\n        }\n    }\n\n    function abi_encode_t_stringliteral_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 61)\n        store_literal_in_memory_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n        store_literal_in_memory_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\n        store_literal_in_memory_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 60)\n        store_literal_in_memory_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 61)\n        store_literal_in_memory_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_uint64_to_t_uint64_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint64(value))\n    }\n\n    function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint8(value))\n    }\n\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n        pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_packed_t_bytes_storage_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value5, value4, value3, value2, value1, value0) -> end {\n\n        pos := abi_encode_t_bytes_storage_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value1,  pos)\n\n        pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value2,  pos)\n\n        pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value3,  pos)\n\n        pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value4,  pos)\n\n        pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value5,  pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_t_stringliteral_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_uint8_t_uint8_t_uint64_t_uint64_t_uint64__to_t_uint8_t_uint8_t_uint64_t_uint64_t_uint64__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n        tail := add(headStart, 160)\n\n        abi_encode_t_uint8_to_t_uint8_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_uint8_to_t_uint8_fromStack(value1,  add(headStart, 32))\n\n        abi_encode_t_uint64_to_t_uint64_fromStack(value2,  add(headStart, 64))\n\n        abi_encode_t_uint64_to_t_uint64_fromStack(value3,  add(headStart, 96))\n\n        abi_encode_t_uint64_to_t_uint64_fromStack(value4,  add(headStart, 128))\n\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function array_dataslot_t_bytes_storage(ptr) -> data {\n        data := ptr\n\n        mstore(0, ptr)\n        data := keccak256(0, 0x20)\n\n    }\n\n    function array_length_t_bytes_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n        updated_pos := pos\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function checked_add_t_uint64(x, y) -> sum {\n        x := cleanup_t_uint64(x)\n        y := cleanup_t_uint64(y)\n\n        // overflow, if x > (maxValue - y)\n        if gt(x, sub(0xffffffffffffffff, y)) { panic_error_0x11() }\n\n        sum := add(x, y)\n    }\n\n    function checked_sub_t_uint64(x, y) -> diff {\n        x := cleanup_t_uint64(x)\n        y := cleanup_t_uint64(y)\n\n        if lt(x, y) { panic_error_0x11() }\n\n        diff := sub(x, y)\n    }\n\n    function cleanup_t_bytes32(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_uint64(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffff)\n    }\n\n    function cleanup_t_uint8(value) -> cleaned {\n        cleaned := and(value, 0xff)\n    }\n\n    function copy_memory_to_memory(src, dst, length) {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        if gt(i, length)\n        {\n            // clear end\n            mstore(add(dst, length), 0)\n        }\n    }\n\n    function extract_byte_array_length(data) -> length {\n        length := div(data, 2)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) {\n            length := and(length, 0x7f)\n        }\n\n        if eq(outOfPlaceEncoding, lt(length, 32)) {\n            panic_error_0x22()\n        }\n    }\n\n    function increment_t_uint64(value) -> ret {\n        value := cleanup_t_uint64(value)\n        if eq(value, 0xffffffffffffffff) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n\n    function panic_error_0x01() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x01)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x11() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x22() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x22)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x32() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x41() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function store_literal_in_memory_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestMalleableBase: witn\")\n\n        mstore(add(memPtr, 32), \"essing consensus out of range\")\n\n    }\n\n    function store_literal_in_memory_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestMalleableBase: no r\")\n\n        mstore(add(memPtr, 32), \"eward\")\n\n    }\n\n    function store_literal_in_memory_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestMalleableBase: alre\")\n\n        mstore(add(memPtr, 32), \"ady initialized\")\n\n    }\n\n    function store_literal_in_memory_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestMalleableBase: numb\")\n\n        mstore(add(memPtr, 32), \"er of witnesses out of range\")\n\n    }\n\n    function store_literal_in_memory_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestMalleableBase: witn\")\n\n        mstore(add(memPtr, 32), \"essing collateral below 1 WIT\")\n\n    }\n\n    function validator_revert_t_bytes32(value) {\n        if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152503480156200004757600080fd5b50620000686200005c6200008e60201b60201c565b6200009660201b60201c565b62000088604051806020016040528060008152506200017e60201b60201c565b62001259565b600033905090565b6000620000a8620001cc60201b60201c565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081620000df620001cc60201b60201c565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620001c96040518060400160405280601181526020017f0a0f120508021a01801a0210022202100b000000000000000000000000000000815250620001f460201b62000e261760201c565b50565b60007f375930152e1d0d102998be6e496b0cee86c9ecd0efef01014ecff169b17dfba7905090565b600062000206620001cc60201b60201c565b6001018054620002169062000f58565b9050146200025b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002529062000d78565b60405180910390fd5b6200026c816200028f60201b60201c565b6200028c620002806200008e60201b60201c565b6200009660201b60201c565b50565b6000815111620002a457620002a362000fc4565b5b80620002b5620001cc60201b60201c565b6001019080519060200190620002cd92919062000a17565b506000620002e0620001cc60201b60201c565b600401905060028160000160006101000a81548160ff021916908360ff16021790555060338160000160016101000a81548160ff021916908360ff160217905550633b9aca008160000160026101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506207a12081600001600a6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506203d0908160000160126101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506200042b8160000160009054906101000a900460ff168260000160019054906101000a900460ff168360000160029054906101000a900467ffffffffffffffff1684600001600a9054906101000a900467ffffffffffffffff168560000160129054906101000a900467ffffffffffffffff166200042f60201b60201c565b5050565b60008267ffffffffffffffff16116200047f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004769062000d56565b60405180910390fd5b60018560ff1610158015620004985750607f8560ff1611155b620004da576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004d19062000d9a565b60405180910390fd5b60338460ff1610158015620004f3575060638460ff1611155b62000535576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200052c9062000d34565b60405180910390fd5b633b9aca008367ffffffffffffffff16101562000589576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005809062000dbc565b60405180910390fd5b62000599620001cc60201b60201c565b600101620005b2601060f81b846200078860201b60201c565b620005c8601860f81b886200099a60201b60201c565b620005de602060f81b856200078860201b60201c565b620005f4602860f81b896200099a60201b60201c565b6200060a603060f81b896200078860201b60201c565b604051602001620006219695949392919062000cd0565b60405160208183030381529060405262000640620001cc60201b60201c565b60020190805190602001906200065892919062000a17565b50620007126200066d620001cc60201b60201c565b60020180546200067d9062000f58565b80601f0160208091040260200160405190810160405280929190818152602001828054620006ab9062000f58565b8015620006fc5780601f10620006d057610100808354040283529160200191620006fc565b820191906000526020600020905b815481529060010190602001808311620006de57829003601f168201915b5050505050620009b960201b62000e9c1760201c565b62000722620001cc60201b60201c565b600301819055503373ffffffffffffffffffffffffffffffffffffffff167f897a395aeb2699d9730b6377870654a5c371d6bb6dc4486cfc5c80eeafd095b086868686866040516200077995949392919062000dde565b60405180910390a25050505050565b606060008290506000600290505b607f8267ffffffffffffffff161115620007d25760078267ffffffffffffffff16901c9150600181620007ca919062000e77565b905062000796565b60008167ffffffffffffffff1667ffffffffffffffff811115620007fb57620007fa62001080565b5b6040519080825280601f01601f1916602001820160405280156200082e5781602001600182028036833780820191505090505b50905084925085816000815181106200084c576200084b62001051565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600190505b8267ffffffffffffffff168167ffffffffffffffff1610156200091f57607f841660801760f81b828267ffffffffffffffff1681518110620008c957620008c862001051565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060078467ffffffffffffffff16901c93508080620009169062000f8e565b91505062000882565b50607f60f81b8160018462000935919062000ebc565b67ffffffffffffffff168151811062000953576200095262001051565b5b6020010181815160f81c60f81b169150907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080935050505092915050565b6060620009b1838360ff166200078860201b60201c565b905092915050565b6000600282604051620009cd919062000cb7565b602060405180830381855afa158015620009eb573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019062000a10919062000ade565b9050919050565b82805462000a259062000f58565b90600052602060002090601f01602090048101928262000a49576000855562000a95565b82601f1062000a6457805160ff191683800117855562000a95565b8280016001018555821562000a95579182015b8281111562000a9457825182559160200191906001019062000a77565b5b50905062000aa4919062000aa8565b5090565b5b8082111562000ac357600081600090555060010162000aa9565b5090565b60008151905062000ad8816200123f565b92915050565b60006020828403121562000af75762000af6620010af565b5b600062000b078482850162000ac7565b91505092915050565b600062000b1d8262000e50565b62000b29818562000e5b565b935062000b3b81856020860162000f22565b80840191505092915050565b6000815462000b568162000f58565b62000b62818662000e5b565b9450600182166000811462000b80576001811462000b925762000bc9565b60ff1983168652818601935062000bc9565b62000b9d8562000e3b565b60005b8381101562000bc15781548189015260018201915060208101905062000ba0565b838801955050505b50505092915050565b600062000be1603d8362000e66565b915062000bee82620010b4565b604082019050919050565b600062000c0860258362000e66565b915062000c158262001103565b604082019050919050565b600062000c2f602f8362000e66565b915062000c3c8262001152565b604082019050919050565b600062000c56603c8362000e66565b915062000c6382620011a1565b604082019050919050565b600062000c7d603d8362000e66565b915062000c8a82620011f0565b604082019050919050565b62000ca08162000f01565b82525050565b62000cb18162000f15565b82525050565b600062000cc5828462000b10565b915081905092915050565b600062000cde828962000b47565b915062000cec828862000b10565b915062000cfa828762000b10565b915062000d08828662000b10565b915062000d16828562000b10565b915062000d24828462000b10565b9150819050979650505050505050565b6000602082019050818103600083015262000d4f8162000bd2565b9050919050565b6000602082019050818103600083015262000d718162000bf9565b9050919050565b6000602082019050818103600083015262000d938162000c20565b9050919050565b6000602082019050818103600083015262000db58162000c47565b9050919050565b6000602082019050818103600083015262000dd78162000c6e565b9050919050565b600060a08201905062000df5600083018862000ca6565b62000e04602083018762000ca6565b62000e13604083018662000c95565b62000e22606083018562000c95565b62000e31608083018462000c95565b9695505050505050565b60008190508160005260206000209050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600062000e848262000f01565b915062000e918362000f01565b92508267ffffffffffffffff0382111562000eb15762000eb062000ff3565b5b828201905092915050565b600062000ec98262000f01565b915062000ed68362000f01565b92508282101562000eec5762000eeb62000ff3565b5b828203905092915050565b6000819050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b60005b8381101562000f4257808201518184015260208101905062000f25565b8381111562000f52576000848401525b50505050565b6000600282049050600182168062000f7157607f821691505b6020821081141562000f885762000f8762001022565b5b50919050565b600062000f9b8262000f01565b915067ffffffffffffffff82141562000fb95762000fb862000ff3565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b7f5769746e6574526571756573744d616c6c6561626c65426173653a207769746e60008201527f657373696e6720636f6e73656e737573206f7574206f662072616e6765000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a206e6f207260008201527f6577617264000000000000000000000000000000000000000000000000000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a20616c726560008201527f61647920696e697469616c697a65640000000000000000000000000000000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a206e756d6260008201527f6572206f66207769746e6573736573206f7574206f662072616e676500000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a207769746e60008201527f657373696e6720636f6c6c61746572616c2062656c6f77203120574954000000602082015250565b6200124a8162000ef7565b81146200125657600080fd5b50565b60805160601c612a156200129b600039600081816106290152818161079101528181610f220152818161102a01528181611473015261157c0152612a156000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80638da5cb5b116100a2578063daaa360c11610071578063daaa360c14610287578063ef53d97a146102b7578063f0940002146102d5578063f2fde38b146102f3578063ff21c3ba1461030f57610116565b80638da5cb5b14610213578063a04daef014610231578063d196c2e31461024f578063d9b9a9611461026b57610116565b806352d1902d116100e957806352d1902d146101915780636f2ddd93146101af5780637104ddb2146101cd578063715018a6146101eb5780638a481dad146101f557610116565b806309bd5a601461011b57806309ed460714610139578063439fab911461015757806348f9b83114610173575b600080fd5b61012361032b565b6040516101309190612113565b60405180910390f35b61014161033e565b60405161014e9190612172565b60405180910390f35b610171600480360381019061016c9190611be5565b61042d565b005b61017b61046e565b60405161018891906122ad565b60405180910390f35b610199610561565b6040516101a69190612113565b60405180910390f35b6101b761058c565b6040516101c4919061212e565b60405180910390f35b6101d5610627565b6040516101e291906120dd565b60405180910390f35b6101f361064b565b005b6101fd6106d3565b60405161020a91906122c8565b60405180910390f35b61021b61075a565b60405161022891906120dd565b60405180910390f35b61023961078d565b60405161024691906120f8565b60405180910390f35b61026960048036038101906102649190611c9b565b6107e4565b005b61028560048036038101906102809190611c2e565b610903565b005b6102a1600480360381019061029c9190611b8b565b610a1c565b6040516102ae9190612172565b60405180910390f35b6102bf610b0e565b6040516102cc91906122c8565b60405180910390f35b6102dd610b66565b6040516102ea919061212e565b60405180910390f35b61030d60048036038101906103089190611b5e565b610c01565b005b61032960048036038101906103249190611c5b565b610cf9565b005b6000610335610ef5565b60030154905090565b6000610348610f1d565b90508073ffffffffffffffffffffffffffffffffffffffff1663439fab9161036e610ef5565b6001016040518263ffffffff1660e01b815260040161038d9190612150565b600060405180830381600087803b1580156103a757600080fd5b505af11580156103bb573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663f2fde38b336040518263ffffffff1660e01b81526004016103f891906120dd565b600060405180830381600087803b15801561041257600080fd5b505af1158015610426573d6000803e3d6000fd5b5050505090565b61046b6040518060400160405280601181526020017f0a0f120508021a01801a0210022202100b000000000000000000000000000000815250610e26565b50565b61047661198f565b61047e610ef5565b6004016040518060a00160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201600a9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016000820160129054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681525050905090565b60007f851d0a92a3ad30295bef33afc69d6874779826b7789386b336e22621365ed2c260001b905090565b6060610596610ef5565b60010180546105a49061258a565b80601f01602080910402602001604051908101604052809291908181526020018280546105d09061258a565b801561061d5780601f106105f25761010080835404028352916020019161061d565b820191906000526020600020905b81548152906001019060200180831161060057829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6106536110a6565b73ffffffffffffffffffffffffffffffffffffffff1661067161075a565b73ffffffffffffffffffffffffffffffffffffffff16146106c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106be9061224d565b60405180910390fd5b6106d160006110ae565b565b6000806106de610ef5565b600401905080600001600a9054906101000a900467ffffffffffffffff168160000160129054906101000a900467ffffffffffffffff1660026107219190612417565b61072b91906123d9565b8160000160009054906101000a900460ff1660ff1661074a9190612417565b67ffffffffffffffff1691505090565b6000610764610ef5565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415905090565b6107ec6110a6565b73ffffffffffffffffffffffffffffffffffffffff1661080a61075a565b73ffffffffffffffffffffffffffffffffffffffff1614610860576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108579061224d565b60405180910390fd5b600061086a610ef5565b6004019050828160000160006101000a81548160ff021916908360ff160217905550818160000160016101000a81548160ff021916908360ff1602179055506108fe83838360000160029054906101000a900467ffffffffffffffff1684600001600a9054906101000a900467ffffffffffffffff168560000160129054906101000a900467ffffffffffffffff16611186565b505050565b61090b6110a6565b73ffffffffffffffffffffffffffffffffffffffff1661092961075a565b73ffffffffffffffffffffffffffffffffffffffff161461097f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109769061224d565b60405180910390fd5b6000610989610ef5565b6004019050818160000160026101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550610a188160000160009054906101000a900460ff168260000160019054906101000a900460ff168484600001600a9054906101000a900467ffffffffffffffff168560000160129054906101000a900467ffffffffffffffff16611186565b5050565b6000610a278261146e565b90508073ffffffffffffffffffffffffffffffffffffffff1663439fab91610a4d610ef5565b6001016040518263ffffffff1660e01b8152600401610a6c9190612150565b600060405180830381600087803b158015610a8657600080fd5b505af1158015610a9a573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663f2fde38b336040518263ffffffff1660e01b8152600401610ad791906120dd565b600060405180830381600087803b158015610af157600080fd5b505af1158015610b05573d6000803e3d6000fd5b50505050919050565b600080610b19610ef5565b60040190508060000160029054906101000a900467ffffffffffffffff168160000160009054906101000a900460ff1660ff16610b569190612417565b67ffffffffffffffff1691505090565b6060610b70610ef5565b6002018054610b7e9061258a565b80601f0160208091040260200160405190810160405280929190818152602001828054610baa9061258a565b8015610bf75780601f10610bcc57610100808354040283529160200191610bf7565b820191906000526020600020905b815481529060010190602001808311610bda57829003601f168201915b5050505050905090565b610c096110a6565b73ffffffffffffffffffffffffffffffffffffffff16610c2761075a565b73ffffffffffffffffffffffffffffffffffffffff1614610c7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c749061224d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ced576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce49061218d565b60405180910390fd5b610cf6816110ae565b50565b610d016110a6565b73ffffffffffffffffffffffffffffffffffffffff16610d1f61075a565b73ffffffffffffffffffffffffffffffffffffffff1614610d75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6c9061224d565b60405180910390fd5b6000610d7f610ef5565b60040190508281600001600a6101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550818160000160126101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550610e218160000160009054906101000a900460ff168260000160019054906101000a900460ff168360000160029054906101000a900467ffffffffffffffff168686611186565b505050565b6000610e30610ef5565b6001018054610e3e9061258a565b905014610e80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e779061220d565b60405180910390fd5b610e89816115fa565b610e99610e946110a6565b6110ae565b50565b6000600282604051610eae919061206e565b602060405180830381855afa158015610ecb573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610eee9190611bb8565b9050919050565b60007f375930152e1d0d102998be6e496b0cee86c9ecd0efef01014ecff169b17dfba7905090565b6000807f000000000000000000000000000000000000000000000000000000000000000090506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160601b60148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f0925050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611011576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110089061228d565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff376596be5039d6b2fb36fead4c8a370eae426e790a869be8db074ab608cc24860405160405180910390a45090565b600033905090565b60006110b8610ef5565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816110e7610ef5565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008267ffffffffffffffff16116111d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ca906121cd565b60405180910390fd5b60018560ff16101580156111eb5750607f8560ff1611155b61122a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112219061222d565b60405180910390fd5b60338460ff1610158015611242575060638460ff1611155b611281576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611278906121ad565b60405180910390fd5b633b9aca008367ffffffffffffffff1610156112d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c99061226d565b60405180910390fd5b6112da610ef5565b6001016112eb601060f81b8461177d565b6112f9601860f81b88611978565b611307602060f81b8561177d565b611315602860f81b89611978565b611323603060f81b8961177d565b60405160200161133896959493929190612085565b60405160208183030381529060405261134f610ef5565b60020190805190602001906113659291906119e2565b50611402611371610ef5565b600201805461137f9061258a565b80601f01602080910402602001604051908101604052809291908181526020018280546113ab9061258a565b80156113f85780601f106113cd576101008083540402835291602001916113f8565b820191906000526020600020905b8154815290600101906020018083116113db57829003601f168201915b5050505050610e9c565b61140a610ef5565b600301819055503373ffffffffffffffffffffffffffffffffffffffff167f897a395aeb2699d9730b6377870654a5c371d6bb6dc4486cfc5c80eeafd095b0868686868660405161145f9594939291906122e3565b60405180910390a25050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000090506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160601b60148201527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006028820152836037826000f5925050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611563576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155a906121ed565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff376596be5039d6b2fb36fead4c8a370eae426e790a869be8db074ab608cc24860405160405180910390a450919050565b600081511161160c5761160b61261e565b5b80611615610ef5565b600101908051906020019061162b9291906119e2565b506000611636610ef5565b600401905060028160000160006101000a81548160ff021916908360ff16021790555060338160000160016101000a81548160ff021916908360ff160217905550633b9aca008160000160026101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506207a12081600001600a6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506203d0908160000160126101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506117798160000160009054906101000a900460ff168260000160019054906101000a900460ff168360000160029054906101000a900467ffffffffffffffff1684600001600a9054906101000a900467ffffffffffffffff168560000160129054906101000a900467ffffffffffffffff16611186565b5050565b606060008290506000600290505b607f8267ffffffffffffffff1611156117c35760078267ffffffffffffffff16901c91506001816117bc91906123d9565b905061178b565b60008167ffffffffffffffff1667ffffffffffffffff8111156117e9576117e86126da565b5b6040519080825280601f01601f19166020018201604052801561181b5781602001600182028036833780820191505090505b5090508492508581600081518110611836576118356126ab565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600190505b8267ffffffffffffffff168167ffffffffffffffff16101561190257607f841660801760f81b828267ffffffffffffffff16815181106118af576118ae6126ab565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060078467ffffffffffffffff16901c935080806118fa906125ed565b91505061186c565b50607f60f81b816001846119169190612459565b67ffffffffffffffff1681518110611931576119306126ab565b5b6020010181815160f81c60f81b169150907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080935050505092915050565b6060611987838360ff1661177d565b905092915050565b6040518060a00160405280600060ff168152602001600060ff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff1681525090565b8280546119ee9061258a565b90600052602060002090601f016020900481019282611a105760008555611a57565b82601f10611a2957805160ff1916838001178555611a57565b82800160010185558215611a57579182015b82811115611a56578251825591602001919060010190611a3b565b5b509050611a649190611a68565b5090565b5b80821115611a81576000816000905550600101611a69565b5090565b6000611a98611a938461235b565b612336565b905082815260208101848484011115611ab457611ab361270e565b5b611abf848285612548565b509392505050565b600081359050611ad681612983565b92915050565b600081359050611aeb8161299a565b92915050565b600081519050611b008161299a565b92915050565b600082601f830112611b1b57611b1a612709565b5b8135611b2b848260208601611a85565b91505092915050565b600081359050611b43816129b1565b92915050565b600081359050611b58816129c8565b92915050565b600060208284031215611b7457611b73612718565b5b6000611b8284828501611ac7565b91505092915050565b600060208284031215611ba157611ba0612718565b5b6000611baf84828501611adc565b91505092915050565b600060208284031215611bce57611bcd612718565b5b6000611bdc84828501611af1565b91505092915050565b600060208284031215611bfb57611bfa612718565b5b600082013567ffffffffffffffff811115611c1957611c18612713565b5b611c2584828501611b06565b91505092915050565b600060208284031215611c4457611c43612718565b5b6000611c5284828501611b34565b91505092915050565b60008060408385031215611c7257611c71612718565b5b6000611c8085828601611b34565b9250506020611c9185828601611b34565b9150509250929050565b60008060408385031215611cb257611cb1612718565b5b6000611cc085828601611b49565b9250506020611cd185828601611b49565b9150509250929050565b611ce48161248d565b82525050565b611cf38161249f565b82525050565b611d02816124ab565b82525050565b6000611d13826123a1565b611d1d81856123ac565b9350611d2d818560208601612557565b611d368161271d565b840191505092915050565b6000611d4c826123a1565b611d5681856123bd565b9350611d66818560208601612557565b80840191505092915050565b60008154611d7f8161258a565b611d8981866123ac565b94506001821660008114611da45760018114611db657611de9565b60ff1983168652602086019350611de9565b611dbf8561238c565b60005b83811015611de157815481890152600182019150602081019050611dc2565b808801955050505b50505092915050565b60008154611dff8161258a565b611e0981866123bd565b94506001821660008114611e245760018114611e3557611e68565b60ff19831686528186019350611e68565b611e3e8561238c565b60005b83811015611e6057815481890152600182019150602081019050611e41565b838801955050505b50505092915050565b611e7a81612512565b82525050565b6000611e8d6026836123c8565b9150611e988261272e565b604082019050919050565b6000611eb0603d836123c8565b9150611ebb8261277d565b604082019050919050565b6000611ed36025836123c8565b9150611ede826127cc565b604082019050919050565b6000611ef66018836123c8565b9150611f018261281b565b602082019050919050565b6000611f19602f836123c8565b9150611f2482612844565b604082019050919050565b6000611f3c603c836123c8565b9150611f4782612893565b604082019050919050565b6000611f5f6020836123c8565b9150611f6a826128e2565b602082019050919050565b6000611f82603d836123c8565b9150611f8d8261290b565b604082019050919050565b6000611fa56017836123c8565b9150611fb08261295a565b602082019050919050565b60a082016000820151611fd16000850182612050565b506020820151611fe46020850182612050565b506040820151611ff76040850182612032565b50606082015161200a6060850182612032565b50608082015161201d6080850182612032565b50505050565b61202c816124b5565b82525050565b61203b816124f1565b82525050565b61204a816124f1565b82525050565b61205981612505565b82525050565b61206881612505565b82525050565b600061207a8284611d41565b915081905092915050565b60006120918289611df2565b915061209d8288611d41565b91506120a98287611d41565b91506120b58286611d41565b91506120c18285611d41565b91506120cd8284611d41565b9150819050979650505050505050565b60006020820190506120f26000830184611cdb565b92915050565b600060208201905061210d6000830184611cea565b92915050565b60006020820190506121286000830184611cf9565b92915050565b600060208201905081810360008301526121488184611d08565b905092915050565b6000602082019050818103600083015261216a8184611d72565b905092915050565b60006020820190506121876000830184611e71565b92915050565b600060208201905081810360008301526121a681611e80565b9050919050565b600060208201905081810360008301526121c681611ea3565b9050919050565b600060208201905081810360008301526121e681611ec6565b9050919050565b6000602082019050818103600083015261220681611ee9565b9050919050565b6000602082019050818103600083015261222681611f0c565b9050919050565b6000602082019050818103600083015261224681611f2f565b9050919050565b6000602082019050818103600083015261226681611f52565b9050919050565b6000602082019050818103600083015261228681611f75565b9050919050565b600060208201905081810360008301526122a681611f98565b9050919050565b600060a0820190506122c26000830184611fbb565b92915050565b60006020820190506122dd6000830184612023565b92915050565b600060a0820190506122f8600083018861205f565b612305602083018761205f565b6123126040830186612041565b61231f6060830185612041565b61232c6080830184612041565b9695505050505050565b6000612340612351565b905061234c82826125bc565b919050565b6000604051905090565b600067ffffffffffffffff821115612376576123756126da565b5b61237f8261271d565b9050602081019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006123e4826124f1565b91506123ef836124f1565b92508267ffffffffffffffff0382111561240c5761240b61264d565b5b828201905092915050565b6000612422826124f1565b915061242d836124f1565b92508167ffffffffffffffff048311821515161561244e5761244d61264d565b5b828202905092915050565b6000612464826124f1565b915061246f836124f1565b9250828210156124825761248161264d565b5b828203905092915050565b6000612498826124d1565b9050919050565b60008115159050919050565b6000819050919050565b60006fffffffffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b600061251d82612524565b9050919050565b600061252f82612536565b9050919050565b6000612541826124d1565b9050919050565b82818337600083830152505050565b60005b8381101561257557808201518184015260208101905061255a565b83811115612584576000848401525b50505050565b600060028204905060018216806125a257607f821691505b602082108114156125b6576125b561267c565b5b50919050565b6125c58261271d565b810181811067ffffffffffffffff821117156125e4576125e36126da565b5b80604052505050565b60006125f8826124f1565b915067ffffffffffffffff8214156126135761261261264d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a207769746e60008201527f657373696e6720636f6e73656e737573206f7574206f662072616e6765000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a206e6f207260008201527f6577617264000000000000000000000000000000000000000000000000000000602082015250565b7f436c6f6e61626c653a2043524541544532206661696c65640000000000000000600082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a20616c726560008201527f61647920696e697469616c697a65640000000000000000000000000000000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a206e756d6260008201527f6572206f66207769746e6573736573206f7574206f662072616e676500000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a207769746e60008201527f657373696e6720636f6c6c61746572616c2062656c6f77203120574954000000602082015250565b7f436c6f6e61626c653a20435245415445206661696c6564000000000000000000600082015250565b61298c8161248d565b811461299757600080fd5b50565b6129a3816124ab565b81146129ae57600080fd5b50565b6129ba816124f1565b81146129c557600080fd5b50565b6129d181612505565b81146129dc57600080fd5b5056fea264697066735822122018d3be95fdcbd8bc6f0654dc2eb3dcdc04b923b60a7642bd2f454937f279d0f064736f6c63430008070033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 SHL DUP2 MSTORE POP CALLVALUE DUP1 ISZERO PUSH3 0x47 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x68 PUSH3 0x5C PUSH3 0x8E PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x96 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x88 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH3 0x17E PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x1259 JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH3 0xA8 PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH3 0xDF PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH3 0x1C9 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x11 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0xA0F120508021A01801A0210022202100B000000000000000000000000000000 DUP2 MSTORE POP PUSH3 0x1F4 PUSH1 0x20 SHL PUSH3 0xE26 OR PUSH1 0x20 SHR JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x375930152E1D0D102998BE6E496B0CEE86C9ECD0EFEF01014ECFF169B17DFBA7 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH3 0x206 PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x1 ADD DUP1 SLOAD PUSH3 0x216 SWAP1 PUSH3 0xF58 JUMP JUMPDEST SWAP1 POP EQ PUSH3 0x25B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x252 SWAP1 PUSH3 0xD78 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0x26C DUP2 PUSH3 0x28F PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x28C PUSH3 0x280 PUSH3 0x8E PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x96 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD GT PUSH3 0x2A4 JUMPI PUSH3 0x2A3 PUSH3 0xFC4 JUMP JUMPDEST JUMPDEST DUP1 PUSH3 0x2B5 PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x2CD SWAP3 SWAP2 SWAP1 PUSH3 0xA17 JUMP JUMPDEST POP PUSH1 0x0 PUSH3 0x2E0 PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP PUSH1 0x2 DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x33 DUP2 PUSH1 0x0 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH4 0x3B9ACA00 DUP2 PUSH1 0x0 ADD PUSH1 0x2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x7A120 DUP2 PUSH1 0x0 ADD PUSH1 0xA PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x3D090 DUP2 PUSH1 0x0 ADD PUSH1 0x12 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x42B DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP3 PUSH1 0x0 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP4 PUSH1 0x0 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0x0 ADD PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP6 PUSH1 0x0 ADD PUSH1 0x12 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH3 0x42F PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND GT PUSH3 0x47F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x476 SWAP1 PUSH3 0xD56 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP6 PUSH1 0xFF AND LT ISZERO DUP1 ISZERO PUSH3 0x498 JUMPI POP PUSH1 0x7F DUP6 PUSH1 0xFF AND GT ISZERO JUMPDEST PUSH3 0x4DA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x4D1 SWAP1 PUSH3 0xD9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x33 DUP5 PUSH1 0xFF AND LT ISZERO DUP1 ISZERO PUSH3 0x4F3 JUMPI POP PUSH1 0x63 DUP5 PUSH1 0xFF AND GT ISZERO JUMPDEST PUSH3 0x535 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x52C SWAP1 PUSH3 0xD34 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH4 0x3B9ACA00 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH3 0x589 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x580 SWAP1 PUSH3 0xDBC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0x599 PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x1 ADD PUSH3 0x5B2 PUSH1 0x10 PUSH1 0xF8 SHL DUP5 PUSH3 0x788 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x5C8 PUSH1 0x18 PUSH1 0xF8 SHL DUP9 PUSH3 0x99A PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x5DE PUSH1 0x20 PUSH1 0xF8 SHL DUP6 PUSH3 0x788 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x5F4 PUSH1 0x28 PUSH1 0xF8 SHL DUP10 PUSH3 0x99A PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x60A PUSH1 0x30 PUSH1 0xF8 SHL DUP10 PUSH3 0x788 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH3 0x621 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0xCD0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH3 0x640 PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x658 SWAP3 SWAP2 SWAP1 PUSH3 0xA17 JUMP JUMPDEST POP PUSH3 0x712 PUSH3 0x66D PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x2 ADD DUP1 SLOAD PUSH3 0x67D SWAP1 PUSH3 0xF58 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH3 0x6AB SWAP1 PUSH3 0xF58 JUMP JUMPDEST DUP1 ISZERO PUSH3 0x6FC JUMPI DUP1 PUSH1 0x1F LT PUSH3 0x6D0 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH3 0x6FC JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH3 0x6DE JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP PUSH3 0x9B9 PUSH1 0x20 SHL PUSH3 0xE9C OR PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x722 PUSH3 0x1CC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x897A395AEB2699D9730B6377870654A5C371D6BB6DC4486CFC5C80EEAFD095B0 DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH3 0x779 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0xDDE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP3 SWAP1 POP PUSH1 0x0 PUSH1 0x2 SWAP1 POP JUMPDEST PUSH1 0x7F DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND GT ISZERO PUSH3 0x7D2 JUMPI PUSH1 0x7 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 SHR SWAP2 POP PUSH1 0x1 DUP2 PUSH3 0x7CA SWAP2 SWAP1 PUSH3 0xE77 JUMP JUMPDEST SWAP1 POP PUSH3 0x796 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x7FB JUMPI PUSH3 0x7FA PUSH3 0x1080 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH3 0x82E JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP DUP5 SWAP3 POP DUP6 DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH3 0x84C JUMPI PUSH3 0x84B PUSH3 0x1051 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x0 PUSH1 0x1 SWAP1 POP JUMPDEST DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH3 0x91F JUMPI PUSH1 0x7F DUP5 AND PUSH1 0x80 OR PUSH1 0xF8 SHL DUP3 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MLOAD DUP2 LT PUSH3 0x8C9 JUMPI PUSH3 0x8C8 PUSH3 0x1051 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x7 DUP5 PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 SHR SWAP4 POP DUP1 DUP1 PUSH3 0x916 SWAP1 PUSH3 0xF8E JUMP JUMPDEST SWAP2 POP POP PUSH3 0x882 JUMP JUMPDEST POP PUSH1 0x7F PUSH1 0xF8 SHL DUP2 PUSH1 0x1 DUP5 PUSH3 0x935 SWAP2 SWAP1 PUSH3 0xEBC JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MLOAD DUP2 LT PUSH3 0x953 JUMPI PUSH3 0x952 PUSH3 0x1051 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD DUP2 DUP2 MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL AND SWAP2 POP SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP1 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH3 0x9B1 DUP4 DUP4 PUSH1 0xFF AND PUSH3 0x788 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 PUSH1 0x40 MLOAD PUSH3 0x9CD SWAP2 SWAP1 PUSH3 0xCB7 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x9EB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST 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 PUSH3 0xA10 SWAP2 SWAP1 PUSH3 0xADE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0xA25 SWAP1 PUSH3 0xF58 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0xA49 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0xA95 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0xA64 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0xA95 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0xA95 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0xA94 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0xA77 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0xAA4 SWAP2 SWAP1 PUSH3 0xAA8 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0xAC3 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH3 0xAA9 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0xAD8 DUP2 PUSH3 0x123F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0xAF7 JUMPI PUSH3 0xAF6 PUSH3 0x10AF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH3 0xB07 DUP5 DUP3 DUP6 ADD PUSH3 0xAC7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xB1D DUP3 PUSH3 0xE50 JUMP JUMPDEST PUSH3 0xB29 DUP2 DUP6 PUSH3 0xE5B JUMP JUMPDEST SWAP4 POP PUSH3 0xB3B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH3 0xF22 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SLOAD PUSH3 0xB56 DUP2 PUSH3 0xF58 JUMP JUMPDEST PUSH3 0xB62 DUP2 DUP7 PUSH3 0xE5B JUMP JUMPDEST SWAP5 POP PUSH1 0x1 DUP3 AND PUSH1 0x0 DUP2 EQ PUSH3 0xB80 JUMPI PUSH1 0x1 DUP2 EQ PUSH3 0xB92 JUMPI PUSH3 0xBC9 JUMP JUMPDEST PUSH1 0xFF NOT DUP4 AND DUP7 MSTORE DUP2 DUP7 ADD SWAP4 POP PUSH3 0xBC9 JUMP JUMPDEST PUSH3 0xB9D DUP6 PUSH3 0xE3B JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0xBC1 JUMPI DUP2 SLOAD DUP2 DUP10 ADD MSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0xBA0 JUMP JUMPDEST DUP4 DUP9 ADD SWAP6 POP POP POP JUMPDEST POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xBE1 PUSH1 0x3D DUP4 PUSH3 0xE66 JUMP JUMPDEST SWAP2 POP PUSH3 0xBEE DUP3 PUSH3 0x10B4 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xC08 PUSH1 0x25 DUP4 PUSH3 0xE66 JUMP JUMPDEST SWAP2 POP PUSH3 0xC15 DUP3 PUSH3 0x1103 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xC2F PUSH1 0x2F DUP4 PUSH3 0xE66 JUMP JUMPDEST SWAP2 POP PUSH3 0xC3C DUP3 PUSH3 0x1152 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xC56 PUSH1 0x3C DUP4 PUSH3 0xE66 JUMP JUMPDEST SWAP2 POP PUSH3 0xC63 DUP3 PUSH3 0x11A1 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xC7D PUSH1 0x3D DUP4 PUSH3 0xE66 JUMP JUMPDEST SWAP2 POP PUSH3 0xC8A DUP3 PUSH3 0x11F0 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0xCA0 DUP2 PUSH3 0xF01 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH3 0xCB1 DUP2 PUSH3 0xF15 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xCC5 DUP3 DUP5 PUSH3 0xB10 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xCDE DUP3 DUP10 PUSH3 0xB47 JUMP JUMPDEST SWAP2 POP PUSH3 0xCEC DUP3 DUP9 PUSH3 0xB10 JUMP JUMPDEST SWAP2 POP PUSH3 0xCFA DUP3 DUP8 PUSH3 0xB10 JUMP JUMPDEST SWAP2 POP PUSH3 0xD08 DUP3 DUP7 PUSH3 0xB10 JUMP JUMPDEST SWAP2 POP PUSH3 0xD16 DUP3 DUP6 PUSH3 0xB10 JUMP JUMPDEST SWAP2 POP PUSH3 0xD24 DUP3 DUP5 PUSH3 0xB10 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xD4F DUP2 PUSH3 0xBD2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xD71 DUP2 PUSH3 0xBF9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xD93 DUP2 PUSH3 0xC20 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xDB5 DUP2 PUSH3 0xC47 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xDD7 DUP2 PUSH3 0xC6E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH3 0xDF5 PUSH1 0x0 DUP4 ADD DUP9 PUSH3 0xCA6 JUMP JUMPDEST PUSH3 0xE04 PUSH1 0x20 DUP4 ADD DUP8 PUSH3 0xCA6 JUMP JUMPDEST PUSH3 0xE13 PUSH1 0x40 DUP4 ADD DUP7 PUSH3 0xC95 JUMP JUMPDEST PUSH3 0xE22 PUSH1 0x60 DUP4 ADD DUP6 PUSH3 0xC95 JUMP JUMPDEST PUSH3 0xE31 PUSH1 0x80 DUP4 ADD DUP5 PUSH3 0xC95 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xE84 DUP3 PUSH3 0xF01 JUMP JUMPDEST SWAP2 POP PUSH3 0xE91 DUP4 PUSH3 0xF01 JUMP JUMPDEST SWAP3 POP DUP3 PUSH8 0xFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH3 0xEB1 JUMPI PUSH3 0xEB0 PUSH3 0xFF3 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xEC9 DUP3 PUSH3 0xF01 JUMP JUMPDEST SWAP2 POP PUSH3 0xED6 DUP4 PUSH3 0xF01 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH3 0xEEC JUMPI PUSH3 0xEEB PUSH3 0xFF3 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0xF42 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0xF25 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH3 0xF52 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0xF71 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0xF88 JUMPI PUSH3 0xF87 PUSH3 0x1022 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xF9B DUP3 PUSH3 0xF01 JUMP JUMPDEST SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH3 0xFB9 JUMPI PUSH3 0xFB8 PUSH3 0xFF3 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A207769746E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x657373696E6720636F6E73656E737573206F7574206F662072616E6765000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A206E6F2072 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6577617264000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A20616C7265 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x61647920696E697469616C697A65640000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A206E756D62 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6572206F66207769746E6573736573206F7574206F662072616E676500000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A207769746E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x657373696E6720636F6C6C61746572616C2062656C6F77203120574954000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH3 0x124A DUP2 PUSH3 0xEF7 JUMP JUMPDEST DUP2 EQ PUSH3 0x1256 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0x60 SHR PUSH2 0x2A15 PUSH3 0x129B PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x629 ADD MSTORE DUP2 DUP2 PUSH2 0x791 ADD MSTORE DUP2 DUP2 PUSH2 0xF22 ADD MSTORE DUP2 DUP2 PUSH2 0x102A ADD MSTORE DUP2 DUP2 PUSH2 0x1473 ADD MSTORE PUSH2 0x157C ADD MSTORE PUSH2 0x2A15 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x116 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0xA2 JUMPI DUP1 PUSH4 0xDAAA360C GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xDAAA360C EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0xEF53D97A EQ PUSH2 0x2B7 JUMPI DUP1 PUSH4 0xF0940002 EQ PUSH2 0x2D5 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x2F3 JUMPI DUP1 PUSH4 0xFF21C3BA EQ PUSH2 0x30F JUMPI PUSH2 0x116 JUMP JUMPDEST DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x213 JUMPI DUP1 PUSH4 0xA04DAEF0 EQ PUSH2 0x231 JUMPI DUP1 PUSH4 0xD196C2E3 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0xD9B9A961 EQ PUSH2 0x26B JUMPI PUSH2 0x116 JUMP JUMPDEST DUP1 PUSH4 0x52D1902D GT PUSH2 0xE9 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x191 JUMPI DUP1 PUSH4 0x6F2DDD93 EQ PUSH2 0x1AF JUMPI DUP1 PUSH4 0x7104DDB2 EQ PUSH2 0x1CD JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1EB JUMPI DUP1 PUSH4 0x8A481DAD EQ PUSH2 0x1F5 JUMPI PUSH2 0x116 JUMP JUMPDEST DUP1 PUSH4 0x9BD5A60 EQ PUSH2 0x11B JUMPI DUP1 PUSH4 0x9ED4607 EQ PUSH2 0x139 JUMPI DUP1 PUSH4 0x439FAB91 EQ PUSH2 0x157 JUMPI DUP1 PUSH4 0x48F9B831 EQ PUSH2 0x173 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x123 PUSH2 0x32B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x130 SWAP2 SWAP1 PUSH2 0x2113 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x141 PUSH2 0x33E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14E SWAP2 SWAP1 PUSH2 0x2172 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x171 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16C SWAP2 SWAP1 PUSH2 0x1BE5 JUMP JUMPDEST PUSH2 0x42D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x17B PUSH2 0x46E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x188 SWAP2 SWAP1 PUSH2 0x22AD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x199 PUSH2 0x561 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A6 SWAP2 SWAP1 PUSH2 0x2113 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B7 PUSH2 0x58C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C4 SWAP2 SWAP1 PUSH2 0x212E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1D5 PUSH2 0x627 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E2 SWAP2 SWAP1 PUSH2 0x20DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F3 PUSH2 0x64B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1FD PUSH2 0x6D3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x20A SWAP2 SWAP1 PUSH2 0x22C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x21B PUSH2 0x75A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x228 SWAP2 SWAP1 PUSH2 0x20DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x239 PUSH2 0x78D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x246 SWAP2 SWAP1 PUSH2 0x20F8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x269 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x264 SWAP2 SWAP1 PUSH2 0x1C9B JUMP JUMPDEST PUSH2 0x7E4 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x285 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x280 SWAP2 SWAP1 PUSH2 0x1C2E JUMP JUMPDEST PUSH2 0x903 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2A1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x29C SWAP2 SWAP1 PUSH2 0x1B8B JUMP JUMPDEST PUSH2 0xA1C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2AE SWAP2 SWAP1 PUSH2 0x2172 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2BF PUSH2 0xB0E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2CC SWAP2 SWAP1 PUSH2 0x22C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2DD PUSH2 0xB66 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2EA SWAP2 SWAP1 PUSH2 0x212E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x30D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x308 SWAP2 SWAP1 PUSH2 0x1B5E JUMP JUMPDEST PUSH2 0xC01 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x329 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x324 SWAP2 SWAP1 PUSH2 0x1C5B JUMP JUMPDEST PUSH2 0xCF9 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH2 0x335 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x348 PUSH2 0xF1D JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x439FAB91 PUSH2 0x36E PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x38D SWAP2 SWAP1 PUSH2 0x2150 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3BB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF2FDE38B CALLER PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3F8 SWAP2 SWAP1 PUSH2 0x20DD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x412 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x426 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP SWAP1 JUMP JUMPDEST PUSH2 0x46B PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x11 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0xA0F120508021A01801A0210022202100B000000000000000000000000000000 DUP2 MSTORE POP PUSH2 0xE26 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x476 PUSH2 0x198F JUMP JUMPDEST PUSH2 0x47E PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x12 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x851D0A92A3AD30295BEF33AFC69D6874779826B7789386B336E22621365ED2C2 PUSH1 0x0 SHL SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x596 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x5A4 SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x5D0 SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 ISZERO PUSH2 0x61D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5F2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x61D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x600 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH2 0x653 PUSH2 0x10A6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x671 PUSH2 0x75A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x6C7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6BE SWAP1 PUSH2 0x224D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x6D1 PUSH1 0x0 PUSH2 0x10AE JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6DE PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH1 0x0 ADD PUSH1 0x12 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x2 PUSH2 0x721 SWAP2 SWAP1 PUSH2 0x2417 JUMP JUMPDEST PUSH2 0x72B SWAP2 SWAP1 PUSH2 0x23D9 JUMP JUMPDEST DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH2 0x74A SWAP2 SWAP1 PUSH2 0x2417 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x764 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x7EC PUSH2 0x10A6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x80A PUSH2 0x75A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x860 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x857 SWAP1 PUSH2 0x224D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x86A PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP DUP3 DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x0 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x8FE DUP4 DUP4 DUP4 PUSH1 0x0 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0x0 ADD PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP6 PUSH1 0x0 ADD PUSH1 0x12 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x1186 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x90B PUSH2 0x10A6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x929 PUSH2 0x75A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x97F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x976 SWAP1 PUSH2 0x224D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x989 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP DUP2 DUP2 PUSH1 0x0 ADD PUSH1 0x2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0xA18 DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP3 PUSH1 0x0 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP5 DUP5 PUSH1 0x0 ADD PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP6 PUSH1 0x0 ADD PUSH1 0x12 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x1186 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA27 DUP3 PUSH2 0x146E JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x439FAB91 PUSH2 0xA4D PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA6C SWAP2 SWAP1 PUSH2 0x2150 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xA9A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF2FDE38B CALLER PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAD7 SWAP2 SWAP1 PUSH2 0x20DD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xAF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xB05 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB19 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH2 0xB56 SWAP2 SWAP1 PUSH2 0x2417 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0xB70 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0xB7E SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xBAA SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 ISZERO PUSH2 0xBF7 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xBCC JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xBF7 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xBDA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xC09 PUSH2 0x10A6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xC27 PUSH2 0x75A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xC7D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC74 SWAP1 PUSH2 0x224D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xCED JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCE4 SWAP1 PUSH2 0x218D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xCF6 DUP2 PUSH2 0x10AE JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0xD01 PUSH2 0x10A6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xD1F PUSH2 0x75A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xD75 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD6C SWAP1 PUSH2 0x224D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xD7F PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP DUP3 DUP2 PUSH1 0x0 ADD PUSH1 0xA PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x0 ADD PUSH1 0x12 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0xE21 DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP3 PUSH1 0x0 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP4 PUSH1 0x0 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP7 DUP7 PUSH2 0x1186 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE30 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0xE3E SWAP1 PUSH2 0x258A JUMP JUMPDEST SWAP1 POP EQ PUSH2 0xE80 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE77 SWAP1 PUSH2 0x220D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xE89 DUP2 PUSH2 0x15FA JUMP JUMPDEST PUSH2 0xE99 PUSH2 0xE94 PUSH2 0x10A6 JUMP JUMPDEST PUSH2 0x10AE JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 PUSH1 0x40 MLOAD PUSH2 0xEAE SWAP2 SWAP1 PUSH2 0x206E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xECB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST 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 0xEEE SWAP2 SWAP1 PUSH2 0x1BB8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x375930152E1D0D102998BE6E496B0CEE86C9ECD0EFEF01014ECFF169B17DFBA7 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 SWAP1 POP PUSH1 0x40 MLOAD PUSH32 0x3D602D80600A3D3981F3363D3D373D3D3D363D73000000000000000000000000 DUP2 MSTORE DUP2 PUSH1 0x60 SHL PUSH1 0x14 DUP3 ADD MSTORE PUSH32 0x5AF43D82803E903D91602B57FD5BF30000000000000000000000000000000000 PUSH1 0x28 DUP3 ADD MSTORE PUSH1 0x37 DUP2 PUSH1 0x0 CREATE SWAP3 POP POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1011 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1008 SWAP1 PUSH2 0x228D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF376596BE5039D6B2FB36FEAD4C8A370EAE426E790A869BE8DB074AB608CC248 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10B8 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH2 0x10E7 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND GT PUSH2 0x11D3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11CA SWAP1 PUSH2 0x21CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP6 PUSH1 0xFF AND LT ISZERO DUP1 ISZERO PUSH2 0x11EB JUMPI POP PUSH1 0x7F DUP6 PUSH1 0xFF AND GT ISZERO JUMPDEST PUSH2 0x122A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1221 SWAP1 PUSH2 0x222D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x33 DUP5 PUSH1 0xFF AND LT ISZERO DUP1 ISZERO PUSH2 0x1242 JUMPI POP PUSH1 0x63 DUP5 PUSH1 0xFF AND GT ISZERO JUMPDEST PUSH2 0x1281 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1278 SWAP1 PUSH2 0x21AD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH4 0x3B9ACA00 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x12D2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12C9 SWAP1 PUSH2 0x226D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x12DA PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD PUSH2 0x12EB PUSH1 0x10 PUSH1 0xF8 SHL DUP5 PUSH2 0x177D JUMP JUMPDEST PUSH2 0x12F9 PUSH1 0x18 PUSH1 0xF8 SHL DUP9 PUSH2 0x1978 JUMP JUMPDEST PUSH2 0x1307 PUSH1 0x20 PUSH1 0xF8 SHL DUP6 PUSH2 0x177D JUMP JUMPDEST PUSH2 0x1315 PUSH1 0x28 PUSH1 0xF8 SHL DUP10 PUSH2 0x1978 JUMP JUMPDEST PUSH2 0x1323 PUSH1 0x30 PUSH1 0xF8 SHL DUP10 PUSH2 0x177D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1338 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2085 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH2 0x134F PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x1365 SWAP3 SWAP2 SWAP1 PUSH2 0x19E2 JUMP JUMPDEST POP PUSH2 0x1402 PUSH2 0x1371 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x137F SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x13AB SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 ISZERO PUSH2 0x13F8 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x13CD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x13F8 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x13DB JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP PUSH2 0xE9C JUMP JUMPDEST PUSH2 0x140A PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x897A395AEB2699D9730B6377870654A5C371D6BB6DC4486CFC5C80EEAFD095B0 DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x145F SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x22E3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 SWAP1 POP PUSH1 0x40 MLOAD PUSH32 0x3D602D80600A3D3981F3363D3D373D3D3D363D73000000000000000000000000 DUP2 MSTORE DUP2 PUSH1 0x60 SHL PUSH1 0x14 DUP3 ADD MSTORE PUSH32 0x5AF43D82803E903D91602B57FD5BF30000000000000000000000000000000000 PUSH1 0x28 DUP3 ADD MSTORE DUP4 PUSH1 0x37 DUP3 PUSH1 0x0 CREATE2 SWAP3 POP POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1563 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x155A SWAP1 PUSH2 0x21ED JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF376596BE5039D6B2FB36FEAD4C8A370EAE426E790A869BE8DB074AB608CC248 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x160C JUMPI PUSH2 0x160B PUSH2 0x261E JUMP JUMPDEST JUMPDEST DUP1 PUSH2 0x1615 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x162B SWAP3 SWAP2 SWAP1 PUSH2 0x19E2 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x1636 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP PUSH1 0x2 DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x33 DUP2 PUSH1 0x0 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH4 0x3B9ACA00 DUP2 PUSH1 0x0 ADD PUSH1 0x2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x7A120 DUP2 PUSH1 0x0 ADD PUSH1 0xA PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x3D090 DUP2 PUSH1 0x0 ADD PUSH1 0x12 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x1779 DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP3 PUSH1 0x0 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP4 PUSH1 0x0 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0x0 ADD PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP6 PUSH1 0x0 ADD PUSH1 0x12 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x1186 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP3 SWAP1 POP PUSH1 0x0 PUSH1 0x2 SWAP1 POP JUMPDEST PUSH1 0x7F DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND GT ISZERO PUSH2 0x17C3 JUMPI PUSH1 0x7 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 SHR SWAP2 POP PUSH1 0x1 DUP2 PUSH2 0x17BC SWAP2 SWAP1 PUSH2 0x23D9 JUMP JUMPDEST SWAP1 POP PUSH2 0x178B JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x17E9 JUMPI PUSH2 0x17E8 PUSH2 0x26DA JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x181B JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP DUP5 SWAP3 POP DUP6 DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1836 JUMPI PUSH2 0x1835 PUSH2 0x26AB JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x0 PUSH1 0x1 SWAP1 POP JUMPDEST DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x1902 JUMPI PUSH1 0x7F DUP5 AND PUSH1 0x80 OR PUSH1 0xF8 SHL DUP3 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MLOAD DUP2 LT PUSH2 0x18AF JUMPI PUSH2 0x18AE PUSH2 0x26AB JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x7 DUP5 PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 SHR SWAP4 POP DUP1 DUP1 PUSH2 0x18FA SWAP1 PUSH2 0x25ED JUMP JUMPDEST SWAP2 POP POP PUSH2 0x186C JUMP JUMPDEST POP PUSH1 0x7F PUSH1 0xF8 SHL DUP2 PUSH1 0x1 DUP5 PUSH2 0x1916 SWAP2 SWAP1 PUSH2 0x2459 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MLOAD DUP2 LT PUSH2 0x1931 JUMPI PUSH2 0x1930 PUSH2 0x26AB JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD DUP2 DUP2 MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL AND SWAP2 POP SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP1 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1987 DUP4 DUP4 PUSH1 0xFF AND PUSH2 0x177D JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x19EE SWAP1 PUSH2 0x258A JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x1A10 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x1A57 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x1A29 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x1A57 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x1A57 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x1A56 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1A3B JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x1A64 SWAP2 SWAP1 PUSH2 0x1A68 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x1A81 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x1A69 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A98 PUSH2 0x1A93 DUP5 PUSH2 0x235B JUMP JUMPDEST PUSH2 0x2336 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1AB4 JUMPI PUSH2 0x1AB3 PUSH2 0x270E JUMP JUMPDEST JUMPDEST PUSH2 0x1ABF DUP5 DUP3 DUP6 PUSH2 0x2548 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1AD6 DUP2 PUSH2 0x2983 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1AEB DUP2 PUSH2 0x299A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1B00 DUP2 PUSH2 0x299A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1B1B JUMPI PUSH2 0x1B1A PUSH2 0x2709 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1B2B DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1A85 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1B43 DUP2 PUSH2 0x29B1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1B58 DUP2 PUSH2 0x29C8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1B74 JUMPI PUSH2 0x1B73 PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1B82 DUP5 DUP3 DUP6 ADD PUSH2 0x1AC7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1BA1 JUMPI PUSH2 0x1BA0 PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1BAF DUP5 DUP3 DUP6 ADD PUSH2 0x1ADC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1BCE JUMPI PUSH2 0x1BCD PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1BDC DUP5 DUP3 DUP6 ADD PUSH2 0x1AF1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1BFB JUMPI PUSH2 0x1BFA PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1C19 JUMPI PUSH2 0x1C18 PUSH2 0x2713 JUMP JUMPDEST JUMPDEST PUSH2 0x1C25 DUP5 DUP3 DUP6 ADD PUSH2 0x1B06 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1C44 JUMPI PUSH2 0x1C43 PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1C52 DUP5 DUP3 DUP6 ADD PUSH2 0x1B34 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1C72 JUMPI PUSH2 0x1C71 PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1C80 DUP6 DUP3 DUP7 ADD PUSH2 0x1B34 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1C91 DUP6 DUP3 DUP7 ADD PUSH2 0x1B34 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CB2 JUMPI PUSH2 0x1CB1 PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1CC0 DUP6 DUP3 DUP7 ADD PUSH2 0x1B49 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1CD1 DUP6 DUP3 DUP7 ADD PUSH2 0x1B49 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x1CE4 DUP2 PUSH2 0x248D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1CF3 DUP2 PUSH2 0x249F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1D02 DUP2 PUSH2 0x24AB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D13 DUP3 PUSH2 0x23A1 JUMP JUMPDEST PUSH2 0x1D1D DUP2 DUP6 PUSH2 0x23AC JUMP JUMPDEST SWAP4 POP PUSH2 0x1D2D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2557 JUMP JUMPDEST PUSH2 0x1D36 DUP2 PUSH2 0x271D JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D4C DUP3 PUSH2 0x23A1 JUMP JUMPDEST PUSH2 0x1D56 DUP2 DUP6 PUSH2 0x23BD JUMP JUMPDEST SWAP4 POP PUSH2 0x1D66 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2557 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SLOAD PUSH2 0x1D7F DUP2 PUSH2 0x258A JUMP JUMPDEST PUSH2 0x1D89 DUP2 DUP7 PUSH2 0x23AC JUMP JUMPDEST SWAP5 POP PUSH1 0x1 DUP3 AND PUSH1 0x0 DUP2 EQ PUSH2 0x1DA4 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x1DB6 JUMPI PUSH2 0x1DE9 JUMP JUMPDEST PUSH1 0xFF NOT DUP4 AND DUP7 MSTORE PUSH1 0x20 DUP7 ADD SWAP4 POP PUSH2 0x1DE9 JUMP JUMPDEST PUSH2 0x1DBF DUP6 PUSH2 0x238C JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1DE1 JUMPI DUP2 SLOAD DUP2 DUP10 ADD MSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1DC2 JUMP JUMPDEST DUP1 DUP9 ADD SWAP6 POP POP POP JUMPDEST POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SLOAD PUSH2 0x1DFF DUP2 PUSH2 0x258A JUMP JUMPDEST PUSH2 0x1E09 DUP2 DUP7 PUSH2 0x23BD JUMP JUMPDEST SWAP5 POP PUSH1 0x1 DUP3 AND PUSH1 0x0 DUP2 EQ PUSH2 0x1E24 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x1E35 JUMPI PUSH2 0x1E68 JUMP JUMPDEST PUSH1 0xFF NOT DUP4 AND DUP7 MSTORE DUP2 DUP7 ADD SWAP4 POP PUSH2 0x1E68 JUMP JUMPDEST PUSH2 0x1E3E DUP6 PUSH2 0x238C JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1E60 JUMPI DUP2 SLOAD DUP2 DUP10 ADD MSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1E41 JUMP JUMPDEST DUP4 DUP9 ADD SWAP6 POP POP POP JUMPDEST POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1E7A DUP2 PUSH2 0x2512 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E8D PUSH1 0x26 DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1E98 DUP3 PUSH2 0x272E JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EB0 PUSH1 0x3D DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1EBB DUP3 PUSH2 0x277D JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1ED3 PUSH1 0x25 DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1EDE DUP3 PUSH2 0x27CC JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EF6 PUSH1 0x18 DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F01 DUP3 PUSH2 0x281B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F19 PUSH1 0x2F DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F24 DUP3 PUSH2 0x2844 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F3C PUSH1 0x3C DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F47 DUP3 PUSH2 0x2893 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F5F PUSH1 0x20 DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F6A DUP3 PUSH2 0x28E2 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F82 PUSH1 0x3D DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F8D DUP3 PUSH2 0x290B JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FA5 PUSH1 0x17 DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1FB0 DUP3 PUSH2 0x295A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0x1FD1 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x2050 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0x1FE4 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x2050 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0x1FF7 PUSH1 0x40 DUP6 ADD DUP3 PUSH2 0x2032 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD PUSH2 0x200A PUSH1 0x60 DUP6 ADD DUP3 PUSH2 0x2032 JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD PUSH2 0x201D PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x2032 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x202C DUP2 PUSH2 0x24B5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x203B DUP2 PUSH2 0x24F1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x204A DUP2 PUSH2 0x24F1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2059 DUP2 PUSH2 0x2505 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2068 DUP2 PUSH2 0x2505 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x207A DUP3 DUP5 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2091 DUP3 DUP10 PUSH2 0x1DF2 JUMP JUMPDEST SWAP2 POP PUSH2 0x209D DUP3 DUP9 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP PUSH2 0x20A9 DUP3 DUP8 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP PUSH2 0x20B5 DUP3 DUP7 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP PUSH2 0x20C1 DUP3 DUP6 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP PUSH2 0x20CD DUP3 DUP5 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x20F2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1CDB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x210D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1CEA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2128 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1CF9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2148 DUP2 DUP5 PUSH2 0x1D08 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x216A DUP2 DUP5 PUSH2 0x1D72 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2187 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1E71 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x21A6 DUP2 PUSH2 0x1E80 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x21C6 DUP2 PUSH2 0x1EA3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x21E6 DUP2 PUSH2 0x1EC6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2206 DUP2 PUSH2 0x1EE9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2226 DUP2 PUSH2 0x1F0C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2246 DUP2 PUSH2 0x1F2F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2266 DUP2 PUSH2 0x1F52 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2286 DUP2 PUSH2 0x1F75 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x22A6 DUP2 PUSH2 0x1F98 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x22C2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1FBB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x22DD PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2023 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x22F8 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x205F JUMP JUMPDEST PUSH2 0x2305 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x205F JUMP JUMPDEST PUSH2 0x2312 PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x2041 JUMP JUMPDEST PUSH2 0x231F PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x2041 JUMP JUMPDEST PUSH2 0x232C PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x2041 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2340 PUSH2 0x2351 JUMP JUMPDEST SWAP1 POP PUSH2 0x234C DUP3 DUP3 PUSH2 0x25BC JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x2376 JUMPI PUSH2 0x2375 PUSH2 0x26DA JUMP JUMPDEST JUMPDEST PUSH2 0x237F DUP3 PUSH2 0x271D JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23E4 DUP3 PUSH2 0x24F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x23EF DUP4 PUSH2 0x24F1 JUMP JUMPDEST SWAP3 POP DUP3 PUSH8 0xFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x240C JUMPI PUSH2 0x240B PUSH2 0x264D JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2422 DUP3 PUSH2 0x24F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x242D DUP4 PUSH2 0x24F1 JUMP JUMPDEST SWAP3 POP DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x244E JUMPI PUSH2 0x244D PUSH2 0x264D JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2464 DUP3 PUSH2 0x24F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x246F DUP4 PUSH2 0x24F1 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x2482 JUMPI PUSH2 0x2481 PUSH2 0x264D JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2498 DUP3 PUSH2 0x24D1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH16 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x251D DUP3 PUSH2 0x2524 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x252F DUP3 PUSH2 0x2536 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2541 DUP3 PUSH2 0x24D1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2575 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x255A JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x2584 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x25A2 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x25B6 JUMPI PUSH2 0x25B5 PUSH2 0x267C JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x25C5 DUP3 PUSH2 0x271D JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x25E4 JUMPI PUSH2 0x25E3 PUSH2 0x26DA JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x25F8 DUP3 PUSH2 0x24F1 JUMP JUMPDEST SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x2613 JUMPI PUSH2 0x2612 PUSH2 0x264D JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A207769746E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x657373696E6720636F6E73656E737573206F7574206F662072616E6765000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A206E6F2072 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6577617264000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436C6F6E61626C653A2043524541544532206661696C65640000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A20616C7265 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x61647920696E697469616C697A65640000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A206E756D62 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6572206F66207769746E6573736573206F7574206F662072616E676500000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A207769746E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x657373696E6720636F6C6C61746572616C2062656C6F77203120574954000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436C6F6E61626C653A20435245415445206661696C6564000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x298C DUP2 PUSH2 0x248D JUMP JUMPDEST DUP2 EQ PUSH2 0x2997 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x29A3 DUP2 PUSH2 0x24AB JUMP JUMPDEST DUP2 EQ PUSH2 0x29AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x29BA DUP2 PUSH2 0x24F1 JUMP JUMPDEST DUP2 EQ PUSH2 0x29C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x29D1 DUP2 PUSH2 0x2505 JUMP JUMPDEST DUP2 EQ PUSH2 0x29DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 XOR 0xD3 0xBE SWAP6 REVERT 0xCB 0xD8 0xBC PUSH16 0x654DC2EB3DCDC04B923B60A7642BD2F GASLIMIT 0x49 CALLDATACOPY CALLCODE PUSH26 0xD0F064736F6C6343000807003300000000000000000000000000 ","sourceMap":"110:387:66:-:0;;;350:4:55;310:45;;;;;;;;;;;288:52:66;;;;;;;;;;902:32:59;921:12;:10;;;:12;;:::i;:::-;902:18;;;:32;;:::i;:::-;312:21:66;323:9;;;;;;;;;;;;312:10;;;:21;;:::i;:::-;110:387;;506:96:56;559:7;585:10;578:17;;506:96;:::o;8463:236:65:-;8565:16;8584:10;:8;;;:10;;:::i;:::-;:16;;;;;;;;;;;;8565:35;;8629:8;8610:10;:8;;;:10;;:::i;:::-;:16;;;:27;;;;;;;;;;;;;;;;;;8683:8;8652:40;;8673:8;8652:40;;;;;;;;;;;;8555:144;8463:236;:::o;346:149:66:-;434:54;451:36;;;;;;;;;;;;;;;;;434:16;;;;;:54;;:::i;:::-;346:149;:::o;12167:343:65:-;12242:46;12428:66;12327:167;;12167:343;:::o;7678:270::-;7814:1;7784:10;:8;;;:10;;:::i;:::-;:19;;:26;;;;;:::i;:::-;;;:31;7776:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;7877:22;7889:9;7877:11;;;:22;;:::i;:::-;7909:32;7928:12;:10;;;:12;;:::i;:::-;7909:18;;;:32;;:::i;:::-;7678:270;:::o;9679:756::-;9781:1;9762:9;:16;:20;9755:28;;;;:::i;:::-;;9815:9;9793:10;:8;;;:10;;:::i;:::-;:19;;:31;;;;;;;;;;;;:::i;:::-;;9835:45;9883:10;:8;;;:10;;:::i;:::-;:17;;9835:65;;9933:1;9910:7;:20;;;:24;;;;;;;;;;;;;;;;;;9977:2;9944:7;:30;;;:35;;;;;;;;;;;;;;;;;;10020:7;9989;:28;;;:38;;;;;;;;;;;;;;;;;;10078:11;10051:7;:24;;;:38;;;;;;;;;;;;;;;;;;10152:12;10121:7;:28;;;:43;;;;;;;;;;;;;;;;;;10201:227;10232:7;:20;;;;;;;;;;;;10266:7;:30;;;;;;;;;;;;10310:7;:28;;;;;;;;;;;;10352:7;:24;;;;;;;;;;;;10390:7;:28;;;;;;;;;;;;10201:17;;;:227;;:::i;:::-;9745:690;9679:756;:::o;10535:1550::-;10858:1;10838:17;:21;;;10817:105;;;;;;;;;;;;:::i;:::-;;;;;;;;;10970:1;10953:13;:18;;;;:42;;;;;10992:3;10975:13;:20;;;;10953:42;10932:149;;;;;;;;;;;;:::i;:::-;;;;;;;;;11139:2;11112:23;:29;;;;:62;;;;;11172:2;11145:23;:29;;;;11112:62;11091:170;;;;;;;;;;;;:::i;:::-;;;;;;;;;11317:7;11292:21;:32;;;;11271:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;11474:10;:8;;;:10;;:::i;:::-;:19;;11507:46;11528:4;11521:12;;11535:17;11507:13;;;:46;;:::i;:::-;11567:41;11587:4;11580:12;;11594:13;11567:12;;;:41;;:::i;:::-;11622:42;11636:4;11622:42;;11642:21;11622:13;;;:42;;:::i;:::-;11678:43;11691:4;11678:43;;11697:23;11678:12;;;:43;;:::i;:::-;11735:42;11749:4;11735:42;;11755:21;11735:13;;;:42;;:::i;:::-;11444:343;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;11422:10;:8;;;:10;;:::i;:::-;:19;;:365;;;;;;;;;;;;:::i;:::-;;11815:26;:10;:8;;;:10;;:::i;:::-;:19;;:24;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:26;;:::i;:::-;11797:10;:8;;;:10;;:::i;:::-;:15;;:44;;;;11893:10;11856:222;;;11917:13;11944:23;11981:21;12016:17;12047:21;11856:222;;;;;;;;;;:::i;:::-;;;;;;;;10535:1550;;;;;:::o;12727:798::-;12809:12;12982:10;12995:1;12982:14;;13006:15;13024:1;13006:19;;13035:85;13048:4;13042:3;:10;;;13035:85;;;13081:1;13074:3;:8;;;;13068:14;;13108:1;13096:13;;;;;:::i;:::-;;;13035:85;;;13129:16;13158:8;13148:19;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13129:38;;13183:1;13177:7;;13203:1;13194:3;13198:1;13194:6;;;;;;;;:::i;:::-;;;;;:10;;;;;;;;;;;13219:8;13230:1;13219:12;;13214:202;13237:8;13233:12;;:1;:12;;;13214:202;;;13371:4;13365:3;:10;13352:4;:24;13345:32;;13336:3;13340:1;13336:6;;;;;;;;;;:::i;:::-;;;;;:41;;;;;;;;;;;13404:1;13397:3;:8;;;;13391:14;;13247:3;;;;;:::i;:::-;;;;13214:202;;;;13494:4;13473:25;;:3;13488:1;13477:8;:12;;;;:::i;:::-;13473:17;;;;;;;;;;:::i;:::-;;;;;:25;;;;;;;;;;;;;;;;;;;;;13515:3;13508:10;;;;;12727:798;;;;:::o;13654:149::-;13734:12;13769:27;13783:1;13793;13786:9;;13769:13;;;:27;;:::i;:::-;13762:34;;13654:149;;;;:::o;298:111:50:-;359:7;385:17;392:9;385:17;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;378:24;;298:111;;;:::o;110:387:66:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:143:67:-;64:5;95:6;89:13;80:22;;111:33;138:5;111:33;:::i;:::-;7:143;;;;:::o;156:351::-;226:6;275:2;263:9;254:7;250:23;246:32;243:119;;;281:79;;:::i;:::-;243:119;401:1;426:64;482:7;473:6;462:9;458:22;426:64;:::i;:::-;416:74;;372:128;156:351;;;;:::o;513:373::-;617:3;645:38;677:5;645:38;:::i;:::-;699:88;780:6;775:3;699:88;:::i;:::-;692:95;;796:52;841:6;836:3;829:4;822:5;818:16;796:52;:::i;:::-;873:6;868:3;864:16;857:23;;621:265;513:373;;;;:::o;914:841::-;1015:3;1052:5;1046:12;1081:36;1107:9;1081:36;:::i;:::-;1133:88;1214:6;1209:3;1133:88;:::i;:::-;1126:95;;1252:1;1241:9;1237:17;1268:1;1263:137;;;;1414:1;1409:340;;;;1230:519;;1263:137;1347:4;1343:9;1332;1328:25;1323:3;1316:38;1383:6;1378:3;1374:16;1367:23;;1263:137;;1409:340;1476:37;1507:5;1476:37;:::i;:::-;1535:1;1549:154;1563:6;1560:1;1557:13;1549:154;;;1637:7;1631:14;1627:1;1622:3;1618:11;1611:35;1687:1;1678:7;1674:15;1663:26;;1585:4;1582:1;1578:12;1573:17;;1549:154;;;1732:6;1727:3;1723:16;1716:23;;1416:333;;1230:519;;1019:736;;914:841;;;;:::o;1761:366::-;1903:3;1924:67;1988:2;1983:3;1924:67;:::i;:::-;1917:74;;2000:93;2089:3;2000:93;:::i;:::-;2118:2;2113:3;2109:12;2102:19;;1761:366;;;:::o;2133:::-;2275:3;2296:67;2360:2;2355:3;2296:67;:::i;:::-;2289:74;;2372:93;2461:3;2372:93;:::i;:::-;2490:2;2485:3;2481:12;2474:19;;2133:366;;;:::o;2505:::-;2647:3;2668:67;2732:2;2727:3;2668:67;:::i;:::-;2661:74;;2744:93;2833:3;2744:93;:::i;:::-;2862:2;2857:3;2853:12;2846:19;;2505:366;;;:::o;2877:::-;3019:3;3040:67;3104:2;3099:3;3040:67;:::i;:::-;3033:74;;3116:93;3205:3;3116:93;:::i;:::-;3234:2;3229:3;3225:12;3218:19;;2877:366;;;:::o;3249:::-;3391:3;3412:67;3476:2;3471:3;3412:67;:::i;:::-;3405:74;;3488:93;3577:3;3488:93;:::i;:::-;3606:2;3601:3;3597:12;3590:19;;3249:366;;;:::o;3621:115::-;3706:23;3723:5;3706:23;:::i;:::-;3701:3;3694:36;3621:115;;:::o;3742:112::-;3825:22;3841:5;3825:22;:::i;:::-;3820:3;3813:35;3742:112;;:::o;3860:271::-;3990:3;4012:93;4101:3;4092:6;4012:93;:::i;:::-;4005:100;;4122:3;4115:10;;3860:271;;;;:::o;4137:1045::-;4494:3;4516:90;4602:3;4593:6;4516:90;:::i;:::-;4509:97;;4623:93;4712:3;4703:6;4623:93;:::i;:::-;4616:100;;4733:93;4822:3;4813:6;4733:93;:::i;:::-;4726:100;;4843:93;4932:3;4923:6;4843:93;:::i;:::-;4836:100;;4953:93;5042:3;5033:6;4953:93;:::i;:::-;4946:100;;5063:93;5152:3;5143:6;5063:93;:::i;:::-;5056:100;;5173:3;5166:10;;4137:1045;;;;;;;;;:::o;5188:419::-;5354:4;5392:2;5381:9;5377:18;5369:26;;5441:9;5435:4;5431:20;5427:1;5416:9;5412:17;5405:47;5469:131;5595:4;5469:131;:::i;:::-;5461:139;;5188:419;;;:::o;5613:::-;5779:4;5817:2;5806:9;5802:18;5794:26;;5866:9;5860:4;5856:20;5852:1;5841:9;5837:17;5830:47;5894:131;6020:4;5894:131;:::i;:::-;5886:139;;5613:419;;;:::o;6038:::-;6204:4;6242:2;6231:9;6227:18;6219:26;;6291:9;6285:4;6281:20;6277:1;6266:9;6262:17;6255:47;6319:131;6445:4;6319:131;:::i;:::-;6311:139;;6038:419;;;:::o;6463:::-;6629:4;6667:2;6656:9;6652:18;6644:26;;6716:9;6710:4;6706:20;6702:1;6691:9;6687:17;6680:47;6744:131;6870:4;6744:131;:::i;:::-;6736:139;;6463:419;;;:::o;6888:::-;7054:4;7092:2;7081:9;7077:18;7069:26;;7141:9;7135:4;7131:20;7127:1;7116:9;7112:17;7105:47;7169:131;7295:4;7169:131;:::i;:::-;7161:139;;6888:419;;;:::o;7313:636::-;7504:4;7542:3;7531:9;7527:19;7519:27;;7556:67;7620:1;7609:9;7605:17;7596:6;7556:67;:::i;:::-;7633:68;7697:2;7686:9;7682:18;7673:6;7633:68;:::i;:::-;7711:70;7777:2;7766:9;7762:18;7753:6;7711:70;:::i;:::-;7791;7857:2;7846:9;7842:18;7833:6;7791:70;:::i;:::-;7871:71;7937:3;7926:9;7922:19;7913:6;7871:71;:::i;:::-;7313:636;;;;;;;;:::o;8036:140::-;8084:4;8107:3;8099:11;;8130:3;8127:1;8120:14;8164:4;8161:1;8151:18;8143:26;;8036:140;;;:::o;8182:98::-;8233:6;8267:5;8261:12;8251:22;;8182:98;;;:::o;8286:147::-;8387:11;8424:3;8409:18;;8286:147;;;;:::o;8439:169::-;8523:11;8557:6;8552:3;8545:19;8597:4;8592:3;8588:14;8573:29;;8439:169;;;;:::o;8614:254::-;8653:3;8672:19;8689:1;8672:19;:::i;:::-;8667:24;;8705:19;8722:1;8705:19;:::i;:::-;8700:24;;8810:1;8790:18;8786:26;8783:1;8780:33;8777:59;;;8816:18;;:::i;:::-;8777:59;8860:1;8857;8853:9;8846:16;;8614:254;;;;:::o;8874:188::-;8913:4;8933:19;8950:1;8933:19;:::i;:::-;8928:24;;8966:19;8983:1;8966:19;:::i;:::-;8961:24;;9004:1;9001;8998:8;8995:34;;;9009:18;;:::i;:::-;8995:34;9054:1;9051;9047:9;9039:17;;8874:188;;;;:::o;9068:77::-;9105:7;9134:5;9123:16;;9068:77;;;:::o;9151:101::-;9187:7;9227:18;9220:5;9216:30;9205:41;;9151:101;;;:::o;9258:86::-;9293:7;9333:4;9326:5;9322:16;9311:27;;9258:86;;;:::o;9350:307::-;9418:1;9428:113;9442:6;9439:1;9436:13;9428:113;;;9527:1;9522:3;9518:11;9512:18;9508:1;9503:3;9499:11;9492:39;9464:2;9461:1;9457:10;9452:15;;9428:113;;;9559:6;9556:1;9553:13;9550:101;;;9639:1;9630:6;9625:3;9621:16;9614:27;9550:101;9399:258;9350:307;;;:::o;9663:320::-;9707:6;9744:1;9738:4;9734:12;9724:22;;9791:1;9785:4;9781:12;9812:18;9802:81;;9868:4;9860:6;9856:17;9846:27;;9802:81;9930:2;9922:6;9919:14;9899:18;9896:38;9893:84;;;9949:18;;:::i;:::-;9893:84;9714:269;9663:320;;;:::o;9989:183::-;10027:3;10050:23;10067:5;10050:23;:::i;:::-;10041:32;;10095:18;10088:5;10085:29;10082:55;;;10117:18;;:::i;:::-;10082:55;10164:1;10157:5;10153:13;10146:20;;9989:183;;;:::o;10178:180::-;10226:77;10223:1;10216:88;10323:4;10320:1;10313:15;10347:4;10344:1;10337:15;10364:180;10412:77;10409:1;10402:88;10509:4;10506:1;10499:15;10533:4;10530:1;10523:15;10550:180;10598:77;10595:1;10588:88;10695:4;10692:1;10685:15;10719:4;10716:1;10709:15;10736:180;10784:77;10781:1;10774:88;10881:4;10878:1;10871:15;10905:4;10902:1;10895:15;10922:180;10970:77;10967:1;10960:88;11067:4;11064:1;11057:15;11091:4;11088:1;11081:15;11231:117;11340:1;11337;11330:12;11354:248;11494:34;11490:1;11482:6;11478:14;11471:58;11563:31;11558:2;11550:6;11546:15;11539:56;11354:248;:::o;11608:224::-;11748:34;11744:1;11736:6;11732:14;11725:58;11817:7;11812:2;11804:6;11800:15;11793:32;11608:224;:::o;11838:234::-;11978:34;11974:1;11966:6;11962:14;11955:58;12047:17;12042:2;12034:6;12030:15;12023:42;11838:234;:::o;12078:247::-;12218:34;12214:1;12206:6;12202:14;12195:58;12287:30;12282:2;12274:6;12270:15;12263:55;12078:247;:::o;12331:248::-;12471:34;12467:1;12459:6;12455:14;12448:58;12540:31;12535:2;12527:6;12523:15;12516:56;12331:248;:::o;12585:122::-;12658:24;12676:5;12658:24;:::i;:::-;12651:5;12648:35;12638:63;;12697:1;12694;12687:12;12638:63;12585:122;:::o;110:387:66:-;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_initialize_12486":{"entryPoint":5626,"id":12486,"parameterSlots":1,"returnSlots":0},"@_malleateBytecode_12596":{"entryPoint":4486,"id":12596,"parameterSlots":5,"returnSlots":0},"@_msgSender_11641":{"entryPoint":4262,"id":11641,"parameterSlots":0,"returnSlots":1},"@_request_12605":{"entryPoint":3829,"id":12605,"parameterSlots":0,"returnSlots":1},"@_transferOwnership_12395":{"entryPoint":4270,"id":12395,"parameterSlots":1,"returnSlots":0},"@_uint64varint_12700":{"entryPoint":6013,"id":12700,"parameterSlots":2,"returnSlots":1},"@_uint8varint_12719":{"entryPoint":6520,"id":12719,"parameterSlots":2,"returnSlots":1},"@bytecode_12063":{"entryPoint":2918,"id":12063,"parameterSlots":0,"returnSlots":1},"@cloneDeterministic_11628":{"entryPoint":5230,"id":11628,"parameterSlots":1,"returnSlots":1},"@cloneDeterministic_12331":{"entryPoint":2588,"id":12331,"parameterSlots":1,"returnSlots":1},"@clone_11591":{"entryPoint":3869,"id":11591,"parameterSlots":0,"returnSlots":1},"@clone_12294":{"entryPoint":830,"id":12294,"parameterSlots":0,"returnSlots":1},"@cloned_11556":{"entryPoint":1933,"id":11556,"parameterSlots":0,"returnSlots":1},"@hash_12075":{"entryPoint":811,"id":12075,"parameterSlots":0,"returnSlots":1},"@hash_7982":{"entryPoint":3740,"id":7982,"parameterSlots":1,"returnSlots":1},"@initialize_12358":{"entryPoint":3622,"id":12358,"parameterSlots":1,"returnSlots":0},"@initialize_12752":{"entryPoint":1069,"id":12752,"parameterSlots":1,"returnSlots":0},"@owner_12370":{"entryPoint":1882,"id":12370,"parameterSlots":0,"returnSlots":1},"@proxiableUUID_12406":{"entryPoint":1377,"id":12406,"parameterSlots":0,"returnSlots":1},"@renounceOwnership_11737":{"entryPoint":1611,"id":11737,"parameterSlots":0,"returnSlots":0},"@self_11531":{"entryPoint":1575,"id":11531,"parameterSlots":0,"returnSlots":0},"@setWitnessingCollateral_12109":{"entryPoint":2307,"id":12109,"parameterSlots":1,"returnSlots":0},"@setWitnessingFees_12150":{"entryPoint":3321,"id":12150,"parameterSlots":2,"returnSlots":0},"@setWitnessingQuorum_12191":{"entryPoint":2020,"id":12191,"parameterSlots":2,"returnSlots":0},"@template_12202":{"entryPoint":1420,"id":12202,"parameterSlots":0,"returnSlots":1},"@totalWitnessingCollateral_12222":{"entryPoint":2830,"id":12222,"parameterSlots":0,"returnSlots":1},"@totalWitnessingFee_12248":{"entryPoint":1747,"id":12248,"parameterSlots":0,"returnSlots":1},"@transferOwnership_11760":{"entryPoint":3073,"id":11760,"parameterSlots":1,"returnSlots":0},"@witnessingParams_12260":{"entryPoint":1134,"id":12260,"parameterSlots":0,"returnSlots":1},"abi_decode_available_length_t_bytes_memory_ptr":{"entryPoint":6789,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_address":{"entryPoint":6855,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32":{"entryPoint":6876,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32_fromMemory":{"entryPoint":6897,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes_memory_ptr":{"entryPoint":6918,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint64":{"entryPoint":6964,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint8":{"entryPoint":6985,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":7006,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32":{"entryPoint":7051,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":7096,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes_memory_ptr":{"entryPoint":7141,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint64":{"entryPoint":7214,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint64t_uint64":{"entryPoint":7259,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint8t_uint8":{"entryPoint":7323,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_t_address_to_t_address_fromStack":{"entryPoint":7387,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bool_to_t_bool_fromStack":{"entryPoint":7402,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes32_to_t_bytes32_fromStack":{"entryPoint":7417,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack":{"entryPoint":7432,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":7489,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes_storage_to_t_bytes_memory_ptr_fromStack":{"entryPoint":7538,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes_storage_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":7666,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_contract$_Clonable_$11629_to_t_address_fromStack":{"entryPoint":7793,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack":{"entryPoint":7808,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18_to_t_string_memory_ptr_fromStack":{"entryPoint":7843,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf_to_t_string_memory_ptr_fromStack":{"entryPoint":7878,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf_to_t_string_memory_ptr_fromStack":{"entryPoint":7913,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff_to_t_string_memory_ptr_fromStack":{"entryPoint":7948,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae_to_t_string_memory_ptr_fromStack":{"entryPoint":7983,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack":{"entryPoint":8018,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e_to_t_string_memory_ptr_fromStack":{"entryPoint":8053,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e_to_t_string_memory_ptr_fromStack":{"entryPoint":8088,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_struct$_WitnetRequestWitnessingParams_$12051_memory_ptr_to_t_struct$_WitnetRequestWitnessingParams_$12051_memory_ptr_fromStack":{"entryPoint":8123,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint128_to_t_uint128_fromStack":{"entryPoint":8227,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint64_to_t_uint64":{"entryPoint":8242,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint64_to_t_uint64_fromStack":{"entryPoint":8257,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint8_to_t_uint8":{"entryPoint":8272,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint8_to_t_uint8_fromStack":{"entryPoint":8287,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":8302,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_storage_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":8325,"id":null,"parameterSlots":7,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":8413,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":8440,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":8467,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":8494,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes_storage__to_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":8528,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_Clonable_$11629__to_t_address__fromStack_reversed":{"entryPoint":8562,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":8589,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":8621,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":8653,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":8685,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":8717,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":8749,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":8781,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":8813,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":8845,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_WitnetRequestWitnessingParams_$12051_memory_ptr__to_t_struct$_WitnetRequestWitnessingParams_$12051_memory_ptr__fromStack_reversed":{"entryPoint":8877,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint128__to_t_uint128__fromStack_reversed":{"entryPoint":8904,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint8_t_uint8_t_uint64_t_uint64_t_uint64__to_t_uint8_t_uint8_t_uint64_t_uint64_t_uint64__fromStack_reversed":{"entryPoint":8931,"id":null,"parameterSlots":6,"returnSlots":1},"allocate_memory":{"entryPoint":9014,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":9041,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_bytes_memory_ptr":{"entryPoint":9051,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_bytes_storage":{"entryPoint":9100,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_bytes_memory_ptr":{"entryPoint":9121,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack":{"entryPoint":9132,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":9149,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_fromStack":{"entryPoint":9160,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint64":{"entryPoint":9177,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint64":{"entryPoint":9239,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint64":{"entryPoint":9305,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_address":{"entryPoint":9357,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bool":{"entryPoint":9375,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":9387,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint128":{"entryPoint":9397,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":9425,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint64":{"entryPoint":9457,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint8":{"entryPoint":9477,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_contract$_Clonable_$11629_to_t_address":{"entryPoint":9490,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_address":{"entryPoint":9508,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_uint160":{"entryPoint":9526,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory":{"entryPoint":9544,"id":null,"parameterSlots":3,"returnSlots":0},"copy_memory_to_memory":{"entryPoint":9559,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":9610,"id":null,"parameterSlots":1,"returnSlots":1},"finalize_allocation":{"entryPoint":9660,"id":null,"parameterSlots":2,"returnSlots":0},"increment_t_uint64":{"entryPoint":9709,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x01":{"entryPoint":9758,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x11":{"entryPoint":9805,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x22":{"entryPoint":9852,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":9899,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":9946,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":9993,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae":{"entryPoint":9998,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":10003,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":10008,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":10013,"id":null,"parameterSlots":1,"returnSlots":1},"store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe":{"entryPoint":10030,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18":{"entryPoint":10109,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf":{"entryPoint":10188,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf":{"entryPoint":10267,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff":{"entryPoint":10308,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae":{"entryPoint":10387,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe":{"entryPoint":10466,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e":{"entryPoint":10507,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e":{"entryPoint":10586,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_address":{"entryPoint":10627,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":10650,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint64":{"entryPoint":10673,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint8":{"entryPoint":10696,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:29001:67","statements":[{"body":{"nodeType":"YulBlock","src":"90:327:67","statements":[{"nodeType":"YulAssignment","src":"100:74:67","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"166:6:67"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"125:40:67"},"nodeType":"YulFunctionCall","src":"125:48:67"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"109:15:67"},"nodeType":"YulFunctionCall","src":"109:65:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"100:5:67"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"190:5:67"},{"name":"length","nodeType":"YulIdentifier","src":"197:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"183:6:67"},"nodeType":"YulFunctionCall","src":"183:21:67"},"nodeType":"YulExpressionStatement","src":"183:21:67"},{"nodeType":"YulVariableDeclaration","src":"213:27:67","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"228:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"235:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"224:3:67"},"nodeType":"YulFunctionCall","src":"224:16:67"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"217:3:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"278:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulIdentifier","src":"280:77:67"},"nodeType":"YulFunctionCall","src":"280:79:67"},"nodeType":"YulExpressionStatement","src":"280:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"259:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"264:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"255:3:67"},"nodeType":"YulFunctionCall","src":"255:16:67"},{"name":"end","nodeType":"YulIdentifier","src":"273:3:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"252:2:67"},"nodeType":"YulFunctionCall","src":"252:25:67"},"nodeType":"YulIf","src":"249:112:67"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"394:3:67"},{"name":"dst","nodeType":"YulIdentifier","src":"399:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"404:6:67"}],"functionName":{"name":"copy_calldata_to_memory","nodeType":"YulIdentifier","src":"370:23:67"},"nodeType":"YulFunctionCall","src":"370:41:67"},"nodeType":"YulExpressionStatement","src":"370:41:67"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"63:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"68:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"76:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"84:5:67","type":""}],"src":"7:410:67"},{"body":{"nodeType":"YulBlock","src":"475:87:67","statements":[{"nodeType":"YulAssignment","src":"485:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"507:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"494:12:67"},"nodeType":"YulFunctionCall","src":"494:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"485:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"550:5:67"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"523:26:67"},"nodeType":"YulFunctionCall","src":"523:33:67"},"nodeType":"YulExpressionStatement","src":"523:33:67"}]},"name":"abi_decode_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"453:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"461:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"469:5:67","type":""}],"src":"423:139:67"},{"body":{"nodeType":"YulBlock","src":"620:87:67","statements":[{"nodeType":"YulAssignment","src":"630:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"652:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"639:12:67"},"nodeType":"YulFunctionCall","src":"639:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"630:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"695:5:67"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"668:26:67"},"nodeType":"YulFunctionCall","src":"668:33:67"},"nodeType":"YulExpressionStatement","src":"668:33:67"}]},"name":"abi_decode_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"598:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"606:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"614:5:67","type":""}],"src":"568:139:67"},{"body":{"nodeType":"YulBlock","src":"776:80:67","statements":[{"nodeType":"YulAssignment","src":"786:22:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"801:6:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"795:5:67"},"nodeType":"YulFunctionCall","src":"795:13:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"786:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"844:5:67"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"817:26:67"},"nodeType":"YulFunctionCall","src":"817:33:67"},"nodeType":"YulExpressionStatement","src":"817:33:67"}]},"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"754:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"762:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"770:5:67","type":""}],"src":"713:143:67"},{"body":{"nodeType":"YulBlock","src":"936:277:67","statements":[{"body":{"nodeType":"YulBlock","src":"985:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"987:77:67"},"nodeType":"YulFunctionCall","src":"987:79:67"},"nodeType":"YulExpressionStatement","src":"987:79:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"964:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"972:4:67","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"960:3:67"},"nodeType":"YulFunctionCall","src":"960:17:67"},{"name":"end","nodeType":"YulIdentifier","src":"979:3:67"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"956:3:67"},"nodeType":"YulFunctionCall","src":"956:27:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"949:6:67"},"nodeType":"YulFunctionCall","src":"949:35:67"},"nodeType":"YulIf","src":"946:122:67"},{"nodeType":"YulVariableDeclaration","src":"1077:34:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1104:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1091:12:67"},"nodeType":"YulFunctionCall","src":"1091:20:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1081:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1120:87:67","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1180:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"1188:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1176:3:67"},"nodeType":"YulFunctionCall","src":"1176:17:67"},{"name":"length","nodeType":"YulIdentifier","src":"1195:6:67"},{"name":"end","nodeType":"YulIdentifier","src":"1203:3:67"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"1129:46:67"},"nodeType":"YulFunctionCall","src":"1129:78:67"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1120:5:67"}]}]},"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"914:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"922:3:67","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"930:5:67","type":""}],"src":"875:338:67"},{"body":{"nodeType":"YulBlock","src":"1270:86:67","statements":[{"nodeType":"YulAssignment","src":"1280:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1302:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1289:12:67"},"nodeType":"YulFunctionCall","src":"1289:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1280:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1344:5:67"}],"functionName":{"name":"validator_revert_t_uint64","nodeType":"YulIdentifier","src":"1318:25:67"},"nodeType":"YulFunctionCall","src":"1318:32:67"},"nodeType":"YulExpressionStatement","src":"1318:32:67"}]},"name":"abi_decode_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1248:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1256:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1264:5:67","type":""}],"src":"1219:137:67"},{"body":{"nodeType":"YulBlock","src":"1412:85:67","statements":[{"nodeType":"YulAssignment","src":"1422:29:67","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1444:6:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1431:12:67"},"nodeType":"YulFunctionCall","src":"1431:20:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1422:5:67"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1485:5:67"}],"functionName":{"name":"validator_revert_t_uint8","nodeType":"YulIdentifier","src":"1460:24:67"},"nodeType":"YulFunctionCall","src":"1460:31:67"},"nodeType":"YulExpressionStatement","src":"1460:31:67"}]},"name":"abi_decode_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1390:6:67","type":""},{"name":"end","nodeType":"YulTypedName","src":"1398:3:67","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1406:5:67","type":""}],"src":"1362:135:67"},{"body":{"nodeType":"YulBlock","src":"1569:263:67","statements":[{"body":{"nodeType":"YulBlock","src":"1615:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1617:77:67"},"nodeType":"YulFunctionCall","src":"1617:79:67"},"nodeType":"YulExpressionStatement","src":"1617:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1590:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"1599:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1586:3:67"},"nodeType":"YulFunctionCall","src":"1586:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"1611:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1582:3:67"},"nodeType":"YulFunctionCall","src":"1582:32:67"},"nodeType":"YulIf","src":"1579:119:67"},{"nodeType":"YulBlock","src":"1708:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"1723:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"1737:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1727:6:67","type":""}]},{"nodeType":"YulAssignment","src":"1752:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1787:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"1798:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1783:3:67"},"nodeType":"YulFunctionCall","src":"1783:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1807:7:67"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"1762:20:67"},"nodeType":"YulFunctionCall","src":"1762:53:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1752:6:67"}]}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1539:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1550:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1562:6:67","type":""}],"src":"1503:329:67"},{"body":{"nodeType":"YulBlock","src":"1904:263:67","statements":[{"body":{"nodeType":"YulBlock","src":"1950:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1952:77:67"},"nodeType":"YulFunctionCall","src":"1952:79:67"},"nodeType":"YulExpressionStatement","src":"1952:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1925:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"1934:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1921:3:67"},"nodeType":"YulFunctionCall","src":"1921:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"1946:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1917:3:67"},"nodeType":"YulFunctionCall","src":"1917:32:67"},"nodeType":"YulIf","src":"1914:119:67"},{"nodeType":"YulBlock","src":"2043:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2058:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"2072:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2062:6:67","type":""}]},{"nodeType":"YulAssignment","src":"2087:63:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2122:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2133:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2118:3:67"},"nodeType":"YulFunctionCall","src":"2118:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2142:7:67"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"2097:20:67"},"nodeType":"YulFunctionCall","src":"2097:53:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2087:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1874:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1885:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1897:6:67","type":""}],"src":"1838:329:67"},{"body":{"nodeType":"YulBlock","src":"2250:274:67","statements":[{"body":{"nodeType":"YulBlock","src":"2296:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"2298:77:67"},"nodeType":"YulFunctionCall","src":"2298:79:67"},"nodeType":"YulExpressionStatement","src":"2298:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2271:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"2280:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2267:3:67"},"nodeType":"YulFunctionCall","src":"2267:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"2292:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2263:3:67"},"nodeType":"YulFunctionCall","src":"2263:32:67"},"nodeType":"YulIf","src":"2260:119:67"},{"nodeType":"YulBlock","src":"2389:128:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2404:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"2418:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2408:6:67","type":""}]},{"nodeType":"YulAssignment","src":"2433:74:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2479:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"2490:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2475:3:67"},"nodeType":"YulFunctionCall","src":"2475:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2499:7:67"}],"functionName":{"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulIdentifier","src":"2443:31:67"},"nodeType":"YulFunctionCall","src":"2443:64:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2433:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2220:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2231:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2243:6:67","type":""}],"src":"2173:351:67"},{"body":{"nodeType":"YulBlock","src":"2605:432:67","statements":[{"body":{"nodeType":"YulBlock","src":"2651:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"2653:77:67"},"nodeType":"YulFunctionCall","src":"2653:79:67"},"nodeType":"YulExpressionStatement","src":"2653:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2626:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"2635:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2622:3:67"},"nodeType":"YulFunctionCall","src":"2622:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"2647:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2618:3:67"},"nodeType":"YulFunctionCall","src":"2618:32:67"},"nodeType":"YulIf","src":"2615:119:67"},{"nodeType":"YulBlock","src":"2744:286:67","statements":[{"nodeType":"YulVariableDeclaration","src":"2759:45:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2790:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"2801:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2786:3:67"},"nodeType":"YulFunctionCall","src":"2786:17:67"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2773:12:67"},"nodeType":"YulFunctionCall","src":"2773:31:67"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2763:6:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"2851:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"2853:77:67"},"nodeType":"YulFunctionCall","src":"2853:79:67"},"nodeType":"YulExpressionStatement","src":"2853:79:67"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2823:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"2831:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2820:2:67"},"nodeType":"YulFunctionCall","src":"2820:30:67"},"nodeType":"YulIf","src":"2817:117:67"},{"nodeType":"YulAssignment","src":"2948:72:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2992:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"3003:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2988:3:67"},"nodeType":"YulFunctionCall","src":"2988:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3012:7:67"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"2958:29:67"},"nodeType":"YulFunctionCall","src":"2958:62:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2948:6:67"}]}]}]},"name":"abi_decode_tuple_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2575:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2586:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2598:6:67","type":""}],"src":"2530:507:67"},{"body":{"nodeType":"YulBlock","src":"3108:262:67","statements":[{"body":{"nodeType":"YulBlock","src":"3154:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"3156:77:67"},"nodeType":"YulFunctionCall","src":"3156:79:67"},"nodeType":"YulExpressionStatement","src":"3156:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3129:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"3138:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3125:3:67"},"nodeType":"YulFunctionCall","src":"3125:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"3150:2:67","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3121:3:67"},"nodeType":"YulFunctionCall","src":"3121:32:67"},"nodeType":"YulIf","src":"3118:119:67"},{"nodeType":"YulBlock","src":"3247:116:67","statements":[{"nodeType":"YulVariableDeclaration","src":"3262:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"3276:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3266:6:67","type":""}]},{"nodeType":"YulAssignment","src":"3291:62:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3325:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"3336:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3321:3:67"},"nodeType":"YulFunctionCall","src":"3321:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3345:7:67"}],"functionName":{"name":"abi_decode_t_uint64","nodeType":"YulIdentifier","src":"3301:19:67"},"nodeType":"YulFunctionCall","src":"3301:52:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3291:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3078:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3089:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3101:6:67","type":""}],"src":"3043:327:67"},{"body":{"nodeType":"YulBlock","src":"3457:389:67","statements":[{"body":{"nodeType":"YulBlock","src":"3503:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"3505:77:67"},"nodeType":"YulFunctionCall","src":"3505:79:67"},"nodeType":"YulExpressionStatement","src":"3505:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3478:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"3487:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3474:3:67"},"nodeType":"YulFunctionCall","src":"3474:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"3499:2:67","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3470:3:67"},"nodeType":"YulFunctionCall","src":"3470:32:67"},"nodeType":"YulIf","src":"3467:119:67"},{"nodeType":"YulBlock","src":"3596:116:67","statements":[{"nodeType":"YulVariableDeclaration","src":"3611:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"3625:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3615:6:67","type":""}]},{"nodeType":"YulAssignment","src":"3640:62:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3674:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"3685:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3670:3:67"},"nodeType":"YulFunctionCall","src":"3670:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3694:7:67"}],"functionName":{"name":"abi_decode_t_uint64","nodeType":"YulIdentifier","src":"3650:19:67"},"nodeType":"YulFunctionCall","src":"3650:52:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3640:6:67"}]}]},{"nodeType":"YulBlock","src":"3722:117:67","statements":[{"nodeType":"YulVariableDeclaration","src":"3737:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"3751:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3741:6:67","type":""}]},{"nodeType":"YulAssignment","src":"3767:62:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3801:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"3812:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3797:3:67"},"nodeType":"YulFunctionCall","src":"3797:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3821:7:67"}],"functionName":{"name":"abi_decode_t_uint64","nodeType":"YulIdentifier","src":"3777:19:67"},"nodeType":"YulFunctionCall","src":"3777:52:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3767:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint64t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3419:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3430:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3442:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3450:6:67","type":""}],"src":"3376:470:67"},{"body":{"nodeType":"YulBlock","src":"3931:387:67","statements":[{"body":{"nodeType":"YulBlock","src":"3977:83:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"3979:77:67"},"nodeType":"YulFunctionCall","src":"3979:79:67"},"nodeType":"YulExpressionStatement","src":"3979:79:67"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3952:7:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"3961:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3948:3:67"},"nodeType":"YulFunctionCall","src":"3948:23:67"},{"kind":"number","nodeType":"YulLiteral","src":"3973:2:67","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3944:3:67"},"nodeType":"YulFunctionCall","src":"3944:32:67"},"nodeType":"YulIf","src":"3941:119:67"},{"nodeType":"YulBlock","src":"4070:115:67","statements":[{"nodeType":"YulVariableDeclaration","src":"4085:15:67","value":{"kind":"number","nodeType":"YulLiteral","src":"4099:1:67","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4089:6:67","type":""}]},{"nodeType":"YulAssignment","src":"4114:61:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4147:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"4158:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4143:3:67"},"nodeType":"YulFunctionCall","src":"4143:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4167:7:67"}],"functionName":{"name":"abi_decode_t_uint8","nodeType":"YulIdentifier","src":"4124:18:67"},"nodeType":"YulFunctionCall","src":"4124:51:67"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4114:6:67"}]}]},{"nodeType":"YulBlock","src":"4195:116:67","statements":[{"nodeType":"YulVariableDeclaration","src":"4210:16:67","value":{"kind":"number","nodeType":"YulLiteral","src":"4224:2:67","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4214:6:67","type":""}]},{"nodeType":"YulAssignment","src":"4240:61:67","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4273:9:67"},{"name":"offset","nodeType":"YulIdentifier","src":"4284:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4269:3:67"},"nodeType":"YulFunctionCall","src":"4269:22:67"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4293:7:67"}],"functionName":{"name":"abi_decode_t_uint8","nodeType":"YulIdentifier","src":"4250:18:67"},"nodeType":"YulFunctionCall","src":"4250:51:67"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4240:6:67"}]}]}]},"name":"abi_decode_tuple_t_uint8t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3893:9:67","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3904:7:67","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3916:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3924:6:67","type":""}],"src":"3852:466:67"},{"body":{"nodeType":"YulBlock","src":"4389:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4406:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4429:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"4411:17:67"},"nodeType":"YulFunctionCall","src":"4411:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4399:6:67"},"nodeType":"YulFunctionCall","src":"4399:37:67"},"nodeType":"YulExpressionStatement","src":"4399:37:67"}]},"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4377:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"4384:3:67","type":""}],"src":"4324:118:67"},{"body":{"nodeType":"YulBlock","src":"4507:50:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4524:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4544:5:67"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"4529:14:67"},"nodeType":"YulFunctionCall","src":"4529:21:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4517:6:67"},"nodeType":"YulFunctionCall","src":"4517:34:67"},"nodeType":"YulExpressionStatement","src":"4517:34:67"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4495:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"4502:3:67","type":""}],"src":"4448:109:67"},{"body":{"nodeType":"YulBlock","src":"4628:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4645:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4668:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"4650:17:67"},"nodeType":"YulFunctionCall","src":"4650:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4638:6:67"},"nodeType":"YulFunctionCall","src":"4638:37:67"},"nodeType":"YulExpressionStatement","src":"4638:37:67"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4616:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"4623:3:67","type":""}],"src":"4563:118:67"},{"body":{"nodeType":"YulBlock","src":"4777:270:67","statements":[{"nodeType":"YulVariableDeclaration","src":"4787:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4833:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"4801:31:67"},"nodeType":"YulFunctionCall","src":"4801:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"4791:6:67","type":""}]},{"nodeType":"YulAssignment","src":"4848:77:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4913:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"4918:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"4855:57:67"},"nodeType":"YulFunctionCall","src":"4855:70:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4848:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4960:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"4967:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4956:3:67"},"nodeType":"YulFunctionCall","src":"4956:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"4974:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"4979:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"4934:21:67"},"nodeType":"YulFunctionCall","src":"4934:52:67"},"nodeType":"YulExpressionStatement","src":"4934:52:67"},{"nodeType":"YulAssignment","src":"4995:46:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5006:3:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5033:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"5011:21:67"},"nodeType":"YulFunctionCall","src":"5011:29:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5002:3:67"},"nodeType":"YulFunctionCall","src":"5002:39:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"4995:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4758:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"4765:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"4773:3:67","type":""}],"src":"4687:360:67"},{"body":{"nodeType":"YulBlock","src":"5161:265:67","statements":[{"nodeType":"YulVariableDeclaration","src":"5171:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5217:5:67"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"5185:31:67"},"nodeType":"YulFunctionCall","src":"5185:38:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"5175:6:67","type":""}]},{"nodeType":"YulAssignment","src":"5232:95:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5315:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"5320:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"5239:75:67"},"nodeType":"YulFunctionCall","src":"5239:88:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"5232:3:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5362:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"5369:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5358:3:67"},"nodeType":"YulFunctionCall","src":"5358:16:67"},{"name":"pos","nodeType":"YulIdentifier","src":"5376:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"5381:6:67"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"5336:21:67"},"nodeType":"YulFunctionCall","src":"5336:52:67"},"nodeType":"YulExpressionStatement","src":"5336:52:67"},{"nodeType":"YulAssignment","src":"5397:23:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5408:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"5413:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5404:3:67"},"nodeType":"YulFunctionCall","src":"5404:16:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"5397:3:67"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5142:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5149:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"5157:3:67","type":""}],"src":"5053:373:67"},{"body":{"nodeType":"YulBlock","src":"5541:711:67","statements":[{"nodeType":"YulVariableDeclaration","src":"5551:29:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5574:5:67"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"5568:5:67"},"nodeType":"YulFunctionCall","src":"5568:12:67"},"variables":[{"name":"slotValue","nodeType":"YulTypedName","src":"5555:9:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5589:50:67","value":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"5629:9:67"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"5603:25:67"},"nodeType":"YulFunctionCall","src":"5603:36:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"5593:6:67","type":""}]},{"nodeType":"YulAssignment","src":"5648:77:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5713:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"5718:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"5655:57:67"},"nodeType":"YulFunctionCall","src":"5655:70:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"5648:3:67"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"5774:128:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5827:3:67"},{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"5836:9:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5851:4:67","type":"","value":"0xff"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"5847:3:67"},"nodeType":"YulFunctionCall","src":"5847:9:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5832:3:67"},"nodeType":"YulFunctionCall","src":"5832:25:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5820:6:67"},"nodeType":"YulFunctionCall","src":"5820:38:67"},"nodeType":"YulExpressionStatement","src":"5820:38:67"},{"nodeType":"YulAssignment","src":"5871:21:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5882:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"5887:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5878:3:67"},"nodeType":"YulFunctionCall","src":"5878:14:67"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"5871:3:67"}]}]},"nodeType":"YulCase","src":"5767:135:67","value":{"kind":"number","nodeType":"YulLiteral","src":"5772:1:67","type":"","value":"0"}},{"body":{"nodeType":"YulBlock","src":"5918:328:67","statements":[{"nodeType":"YulVariableDeclaration","src":"5963:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6009:5:67"}],"functionName":{"name":"array_dataslot_t_bytes_storage","nodeType":"YulIdentifier","src":"5978:30:67"},"nodeType":"YulFunctionCall","src":"5978:37:67"},"variables":[{"name":"dataPos","nodeType":"YulTypedName","src":"5967:7:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6028:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"6037:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"6032:1:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"6095:110:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6124:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"6129:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6120:3:67"},"nodeType":"YulFunctionCall","src":"6120:11:67"},{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"6139:7:67"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"6133:5:67"},"nodeType":"YulFunctionCall","src":"6133:14:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6113:6:67"},"nodeType":"YulFunctionCall","src":"6113:35:67"},"nodeType":"YulExpressionStatement","src":"6113:35:67"},{"nodeType":"YulAssignment","src":"6165:26:67","value":{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"6180:7:67"},{"kind":"number","nodeType":"YulLiteral","src":"6189:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6176:3:67"},"nodeType":"YulFunctionCall","src":"6176:15:67"},"variableNames":[{"name":"dataPos","nodeType":"YulIdentifier","src":"6165:7:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6062:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"6065:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6059:2:67"},"nodeType":"YulFunctionCall","src":"6059:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"6073:21:67","statements":[{"nodeType":"YulAssignment","src":"6075:17:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6084:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"6087:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6080:3:67"},"nodeType":"YulFunctionCall","src":"6080:12:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"6075:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"6055:3:67","statements":[]},"src":"6051:154:67"},{"nodeType":"YulAssignment","src":"6218:18:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6229:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"6234:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6225:3:67"},"nodeType":"YulFunctionCall","src":"6225:11:67"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"6218:3:67"}]}]},"nodeType":"YulCase","src":"5911:335:67","value":{"kind":"number","nodeType":"YulLiteral","src":"5916:1:67","type":"","value":"1"}}],"expression":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"5745:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"5756:1:67","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5741:3:67"},"nodeType":"YulFunctionCall","src":"5741:17:67"},"nodeType":"YulSwitch","src":"5734:512:67"}]},"name":"abi_encode_t_bytes_storage_to_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5522:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5529:3:67","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"5537:3:67","type":""}],"src":"5454:798:67"},{"body":{"nodeType":"YulBlock","src":"6385:736:67","statements":[{"nodeType":"YulVariableDeclaration","src":"6395:29:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6418:5:67"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"6412:5:67"},"nodeType":"YulFunctionCall","src":"6412:12:67"},"variables":[{"name":"slotValue","nodeType":"YulTypedName","src":"6399:9:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6433:50:67","value":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"6473:9:67"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"6447:25:67"},"nodeType":"YulFunctionCall","src":"6447:36:67"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"6437:6:67","type":""}]},{"nodeType":"YulAssignment","src":"6492:95:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6575:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"6580:6:67"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"6499:75:67"},"nodeType":"YulFunctionCall","src":"6499:88:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6492:3:67"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"6636:130:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6689:3:67"},{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"6698:9:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6713:4:67","type":"","value":"0xff"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"6709:3:67"},"nodeType":"YulFunctionCall","src":"6709:9:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6694:3:67"},"nodeType":"YulFunctionCall","src":"6694:25:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6682:6:67"},"nodeType":"YulFunctionCall","src":"6682:38:67"},"nodeType":"YulExpressionStatement","src":"6682:38:67"},{"nodeType":"YulAssignment","src":"6733:23:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6744:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"6749:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6740:3:67"},"nodeType":"YulFunctionCall","src":"6740:16:67"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"6733:3:67"}]}]},"nodeType":"YulCase","src":"6629:137:67","value":{"kind":"number","nodeType":"YulLiteral","src":"6634:1:67","type":"","value":"0"}},{"body":{"nodeType":"YulBlock","src":"6782:333:67","statements":[{"nodeType":"YulVariableDeclaration","src":"6827:52:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6873:5:67"}],"functionName":{"name":"array_dataslot_t_bytes_storage","nodeType":"YulIdentifier","src":"6842:30:67"},"nodeType":"YulFunctionCall","src":"6842:37:67"},"variables":[{"name":"dataPos","nodeType":"YulTypedName","src":"6831:7:67","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6892:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"6901:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"6896:1:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"6959:110:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6988:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"6993:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6984:3:67"},"nodeType":"YulFunctionCall","src":"6984:11:67"},{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"7003:7:67"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"6997:5:67"},"nodeType":"YulFunctionCall","src":"6997:14:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6977:6:67"},"nodeType":"YulFunctionCall","src":"6977:35:67"},"nodeType":"YulExpressionStatement","src":"6977:35:67"},{"nodeType":"YulAssignment","src":"7029:26:67","value":{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"7044:7:67"},{"kind":"number","nodeType":"YulLiteral","src":"7053:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7040:3:67"},"nodeType":"YulFunctionCall","src":"7040:15:67"},"variableNames":[{"name":"dataPos","nodeType":"YulIdentifier","src":"7029:7:67"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6926:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"6929:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6923:2:67"},"nodeType":"YulFunctionCall","src":"6923:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"6937:21:67","statements":[{"nodeType":"YulAssignment","src":"6939:17:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6948:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"6951:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6944:3:67"},"nodeType":"YulFunctionCall","src":"6944:12:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"6939:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"6919:3:67","statements":[]},"src":"6915:154:67"},{"nodeType":"YulAssignment","src":"7082:23:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7093:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"7098:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7089:3:67"},"nodeType":"YulFunctionCall","src":"7089:16:67"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"7082:3:67"}]}]},"nodeType":"YulCase","src":"6775:340:67","value":{"kind":"number","nodeType":"YulLiteral","src":"6780:1:67","type":"","value":"1"}}],"expression":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"6607:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"6618:1:67","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6603:3:67"},"nodeType":"YulFunctionCall","src":"6603:17:67"},"nodeType":"YulSwitch","src":"6596:519:67"}]},"name":"abi_encode_t_bytes_storage_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6366:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6373:3:67","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"6381:3:67","type":""}],"src":"6280:841:67"},{"body":{"nodeType":"YulBlock","src":"7210:84:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7227:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7281:5:67"}],"functionName":{"name":"convert_t_contract$_Clonable_$11629_to_t_address","nodeType":"YulIdentifier","src":"7232:48:67"},"nodeType":"YulFunctionCall","src":"7232:55:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7220:6:67"},"nodeType":"YulFunctionCall","src":"7220:68:67"},"nodeType":"YulExpressionStatement","src":"7220:68:67"}]},"name":"abi_encode_t_contract$_Clonable_$11629_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7198:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"7205:3:67","type":""}],"src":"7127:167:67"},{"body":{"nodeType":"YulBlock","src":"7446:220:67","statements":[{"nodeType":"YulAssignment","src":"7456:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7522:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"7527:2:67","type":"","value":"38"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"7463:58:67"},"nodeType":"YulFunctionCall","src":"7463:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7456:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7628:3:67"}],"functionName":{"name":"store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe","nodeType":"YulIdentifier","src":"7539:88:67"},"nodeType":"YulFunctionCall","src":"7539:93:67"},"nodeType":"YulExpressionStatement","src":"7539:93:67"},{"nodeType":"YulAssignment","src":"7641:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7652:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"7657:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7648:3:67"},"nodeType":"YulFunctionCall","src":"7648:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7641:3:67"}]}]},"name":"abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"7434:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7442:3:67","type":""}],"src":"7300:366:67"},{"body":{"nodeType":"YulBlock","src":"7818:220:67","statements":[{"nodeType":"YulAssignment","src":"7828:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7894:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"7899:2:67","type":"","value":"61"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"7835:58:67"},"nodeType":"YulFunctionCall","src":"7835:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7828:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8000:3:67"}],"functionName":{"name":"store_literal_in_memory_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18","nodeType":"YulIdentifier","src":"7911:88:67"},"nodeType":"YulFunctionCall","src":"7911:93:67"},"nodeType":"YulExpressionStatement","src":"7911:93:67"},{"nodeType":"YulAssignment","src":"8013:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8024:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"8029:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8020:3:67"},"nodeType":"YulFunctionCall","src":"8020:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"8013:3:67"}]}]},"name":"abi_encode_t_stringliteral_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"7806:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7814:3:67","type":""}],"src":"7672:366:67"},{"body":{"nodeType":"YulBlock","src":"8190:220:67","statements":[{"nodeType":"YulAssignment","src":"8200:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8266:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"8271:2:67","type":"","value":"37"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"8207:58:67"},"nodeType":"YulFunctionCall","src":"8207:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"8200:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8372:3:67"}],"functionName":{"name":"store_literal_in_memory_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf","nodeType":"YulIdentifier","src":"8283:88:67"},"nodeType":"YulFunctionCall","src":"8283:93:67"},"nodeType":"YulExpressionStatement","src":"8283:93:67"},{"nodeType":"YulAssignment","src":"8385:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8396:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"8401:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8392:3:67"},"nodeType":"YulFunctionCall","src":"8392:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"8385:3:67"}]}]},"name":"abi_encode_t_stringliteral_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"8178:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8186:3:67","type":""}],"src":"8044:366:67"},{"body":{"nodeType":"YulBlock","src":"8562:220:67","statements":[{"nodeType":"YulAssignment","src":"8572:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8638:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"8643:2:67","type":"","value":"24"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"8579:58:67"},"nodeType":"YulFunctionCall","src":"8579:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"8572:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8744:3:67"}],"functionName":{"name":"store_literal_in_memory_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf","nodeType":"YulIdentifier","src":"8655:88:67"},"nodeType":"YulFunctionCall","src":"8655:93:67"},"nodeType":"YulExpressionStatement","src":"8655:93:67"},{"nodeType":"YulAssignment","src":"8757:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8768:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"8773:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8764:3:67"},"nodeType":"YulFunctionCall","src":"8764:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"8757:3:67"}]}]},"name":"abi_encode_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"8550:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8558:3:67","type":""}],"src":"8416:366:67"},{"body":{"nodeType":"YulBlock","src":"8934:220:67","statements":[{"nodeType":"YulAssignment","src":"8944:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9010:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"9015:2:67","type":"","value":"47"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"8951:58:67"},"nodeType":"YulFunctionCall","src":"8951:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"8944:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9116:3:67"}],"functionName":{"name":"store_literal_in_memory_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff","nodeType":"YulIdentifier","src":"9027:88:67"},"nodeType":"YulFunctionCall","src":"9027:93:67"},"nodeType":"YulExpressionStatement","src":"9027:93:67"},{"nodeType":"YulAssignment","src":"9129:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9140:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"9145:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9136:3:67"},"nodeType":"YulFunctionCall","src":"9136:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"9129:3:67"}]}]},"name":"abi_encode_t_stringliteral_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"8922:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8930:3:67","type":""}],"src":"8788:366:67"},{"body":{"nodeType":"YulBlock","src":"9306:220:67","statements":[{"nodeType":"YulAssignment","src":"9316:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9382:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"9387:2:67","type":"","value":"60"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"9323:58:67"},"nodeType":"YulFunctionCall","src":"9323:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9316:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9488:3:67"}],"functionName":{"name":"store_literal_in_memory_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae","nodeType":"YulIdentifier","src":"9399:88:67"},"nodeType":"YulFunctionCall","src":"9399:93:67"},"nodeType":"YulExpressionStatement","src":"9399:93:67"},{"nodeType":"YulAssignment","src":"9501:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9512:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"9517:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9508:3:67"},"nodeType":"YulFunctionCall","src":"9508:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"9501:3:67"}]}]},"name":"abi_encode_t_stringliteral_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"9294:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"9302:3:67","type":""}],"src":"9160:366:67"},{"body":{"nodeType":"YulBlock","src":"9678:220:67","statements":[{"nodeType":"YulAssignment","src":"9688:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9754:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"9759:2:67","type":"","value":"32"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"9695:58:67"},"nodeType":"YulFunctionCall","src":"9695:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9688:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9860:3:67"}],"functionName":{"name":"store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","nodeType":"YulIdentifier","src":"9771:88:67"},"nodeType":"YulFunctionCall","src":"9771:93:67"},"nodeType":"YulExpressionStatement","src":"9771:93:67"},{"nodeType":"YulAssignment","src":"9873:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9884:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"9889:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9880:3:67"},"nodeType":"YulFunctionCall","src":"9880:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"9873:3:67"}]}]},"name":"abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"9666:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"9674:3:67","type":""}],"src":"9532:366:67"},{"body":{"nodeType":"YulBlock","src":"10050:220:67","statements":[{"nodeType":"YulAssignment","src":"10060:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10126:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"10131:2:67","type":"","value":"61"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"10067:58:67"},"nodeType":"YulFunctionCall","src":"10067:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"10060:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10232:3:67"}],"functionName":{"name":"store_literal_in_memory_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e","nodeType":"YulIdentifier","src":"10143:88:67"},"nodeType":"YulFunctionCall","src":"10143:93:67"},"nodeType":"YulExpressionStatement","src":"10143:93:67"},{"nodeType":"YulAssignment","src":"10245:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10256:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"10261:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10252:3:67"},"nodeType":"YulFunctionCall","src":"10252:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"10245:3:67"}]}]},"name":"abi_encode_t_stringliteral_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"10038:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10046:3:67","type":""}],"src":"9904:366:67"},{"body":{"nodeType":"YulBlock","src":"10422:220:67","statements":[{"nodeType":"YulAssignment","src":"10432:74:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10498:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"10503:2:67","type":"","value":"23"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"10439:58:67"},"nodeType":"YulFunctionCall","src":"10439:67:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"10432:3:67"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10604:3:67"}],"functionName":{"name":"store_literal_in_memory_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e","nodeType":"YulIdentifier","src":"10515:88:67"},"nodeType":"YulFunctionCall","src":"10515:93:67"},"nodeType":"YulExpressionStatement","src":"10515:93:67"},{"nodeType":"YulAssignment","src":"10617:19:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10628:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"10633:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10624:3:67"},"nodeType":"YulFunctionCall","src":"10624:12:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"10617:3:67"}]}]},"name":"abi_encode_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"10410:3:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10418:3:67","type":""}],"src":"10276:366:67"},{"body":{"nodeType":"YulBlock","src":"10948:969:67","statements":[{"nodeType":"YulVariableDeclaration","src":"10958:26:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10974:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"10979:4:67","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10970:3:67"},"nodeType":"YulFunctionCall","src":"10970:14:67"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"10962:4:67","type":""}]},{"nodeType":"YulBlock","src":"10994:168:67","statements":[{"nodeType":"YulVariableDeclaration","src":"11037:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11067:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"11074:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11063:3:67"},"nodeType":"YulFunctionCall","src":"11063:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"11057:5:67"},"nodeType":"YulFunctionCall","src":"11057:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"11041:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"11123:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11141:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"11146:4:67","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11137:3:67"},"nodeType":"YulFunctionCall","src":"11137:14:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8","nodeType":"YulIdentifier","src":"11093:29:67"},"nodeType":"YulFunctionCall","src":"11093:59:67"},"nodeType":"YulExpressionStatement","src":"11093:59:67"}]},{"nodeType":"YulBlock","src":"11172:178:67","statements":[{"nodeType":"YulVariableDeclaration","src":"11225:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11255:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"11262:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11251:3:67"},"nodeType":"YulFunctionCall","src":"11251:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"11245:5:67"},"nodeType":"YulFunctionCall","src":"11245:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"11229:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"11311:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11329:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"11334:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11325:3:67"},"nodeType":"YulFunctionCall","src":"11325:14:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8","nodeType":"YulIdentifier","src":"11281:29:67"},"nodeType":"YulFunctionCall","src":"11281:59:67"},"nodeType":"YulExpressionStatement","src":"11281:59:67"}]},{"nodeType":"YulBlock","src":"11360:178:67","statements":[{"nodeType":"YulVariableDeclaration","src":"11411:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11441:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"11448:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11437:3:67"},"nodeType":"YulFunctionCall","src":"11437:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"11431:5:67"},"nodeType":"YulFunctionCall","src":"11431:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"11415:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"11499:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11517:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"11522:4:67","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11513:3:67"},"nodeType":"YulFunctionCall","src":"11513:14:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64","nodeType":"YulIdentifier","src":"11467:31:67"},"nodeType":"YulFunctionCall","src":"11467:61:67"},"nodeType":"YulExpressionStatement","src":"11467:61:67"}]},{"nodeType":"YulBlock","src":"11548:174:67","statements":[{"nodeType":"YulVariableDeclaration","src":"11595:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11625:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"11632:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11621:3:67"},"nodeType":"YulFunctionCall","src":"11621:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"11615:5:67"},"nodeType":"YulFunctionCall","src":"11615:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"11599:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"11683:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11701:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"11706:4:67","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11697:3:67"},"nodeType":"YulFunctionCall","src":"11697:14:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64","nodeType":"YulIdentifier","src":"11651:31:67"},"nodeType":"YulFunctionCall","src":"11651:61:67"},"nodeType":"YulExpressionStatement","src":"11651:61:67"}]},{"nodeType":"YulBlock","src":"11732:178:67","statements":[{"nodeType":"YulVariableDeclaration","src":"11783:43:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11813:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"11820:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11809:3:67"},"nodeType":"YulFunctionCall","src":"11809:16:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"11803:5:67"},"nodeType":"YulFunctionCall","src":"11803:23:67"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"11787:12:67","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"11871:12:67"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11889:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"11894:4:67","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11885:3:67"},"nodeType":"YulFunctionCall","src":"11885:14:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64","nodeType":"YulIdentifier","src":"11839:31:67"},"nodeType":"YulFunctionCall","src":"11839:61:67"},"nodeType":"YulExpressionStatement","src":"11839:61:67"}]}]},"name":"abi_encode_t_struct$_WitnetRequestWitnessingParams_$12051_memory_ptr_to_t_struct$_WitnetRequestWitnessingParams_$12051_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10935:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10942:3:67","type":""}],"src":"10786:1131:67"},{"body":{"nodeType":"YulBlock","src":"11988:53:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12005:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12028:5:67"}],"functionName":{"name":"cleanup_t_uint128","nodeType":"YulIdentifier","src":"12010:17:67"},"nodeType":"YulFunctionCall","src":"12010:24:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11998:6:67"},"nodeType":"YulFunctionCall","src":"11998:37:67"},"nodeType":"YulExpressionStatement","src":"11998:37:67"}]},"name":"abi_encode_t_uint128_to_t_uint128_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11976:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11983:3:67","type":""}],"src":"11923:118:67"},{"body":{"nodeType":"YulBlock","src":"12100:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12117:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12139:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"12122:16:67"},"nodeType":"YulFunctionCall","src":"12122:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12110:6:67"},"nodeType":"YulFunctionCall","src":"12110:36:67"},"nodeType":"YulExpressionStatement","src":"12110:36:67"}]},"name":"abi_encode_t_uint64_to_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12088:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"12095:3:67","type":""}],"src":"12047:105:67"},{"body":{"nodeType":"YulBlock","src":"12221:52:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12238:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12260:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"12243:16:67"},"nodeType":"YulFunctionCall","src":"12243:23:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12231:6:67"},"nodeType":"YulFunctionCall","src":"12231:36:67"},"nodeType":"YulExpressionStatement","src":"12231:36:67"}]},"name":"abi_encode_t_uint64_to_t_uint64_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12209:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"12216:3:67","type":""}],"src":"12158:115:67"},{"body":{"nodeType":"YulBlock","src":"12330:51:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12347:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12368:5:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"12352:15:67"},"nodeType":"YulFunctionCall","src":"12352:22:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12340:6:67"},"nodeType":"YulFunctionCall","src":"12340:35:67"},"nodeType":"YulExpressionStatement","src":"12340:35:67"}]},"name":"abi_encode_t_uint8_to_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12318:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"12325:3:67","type":""}],"src":"12279:102:67"},{"body":{"nodeType":"YulBlock","src":"12448:51:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12465:3:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12486:5:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"12470:15:67"},"nodeType":"YulFunctionCall","src":"12470:22:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12458:6:67"},"nodeType":"YulFunctionCall","src":"12458:35:67"},"nodeType":"YulExpressionStatement","src":"12458:35:67"}]},"name":"abi_encode_t_uint8_to_t_uint8_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12436:5:67","type":""},{"name":"pos","nodeType":"YulTypedName","src":"12443:3:67","type":""}],"src":"12387:112:67"},{"body":{"nodeType":"YulBlock","src":"12639:137:67","statements":[{"nodeType":"YulAssignment","src":"12650:100:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12737:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"12746:3:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"12657:79:67"},"nodeType":"YulFunctionCall","src":"12657:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"12650:3:67"}]},{"nodeType":"YulAssignment","src":"12760:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"12767:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"12760:3:67"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"12618:3:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12624:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"12635:3:67","type":""}],"src":"12505:271:67"},{"body":{"nodeType":"YulBlock","src":"13143:684:67","statements":[{"nodeType":"YulAssignment","src":"13154:97:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13238:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"13247:3:67"}],"functionName":{"name":"abi_encode_t_bytes_storage_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"13161:76:67"},"nodeType":"YulFunctionCall","src":"13161:90:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13154:3:67"}]},{"nodeType":"YulAssignment","src":"13261:100:67","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"13348:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"13357:3:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"13268:79:67"},"nodeType":"YulFunctionCall","src":"13268:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13261:3:67"}]},{"nodeType":"YulAssignment","src":"13371:100:67","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"13458:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"13467:3:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"13378:79:67"},"nodeType":"YulFunctionCall","src":"13378:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13371:3:67"}]},{"nodeType":"YulAssignment","src":"13481:100:67","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"13568:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"13577:3:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"13488:79:67"},"nodeType":"YulFunctionCall","src":"13488:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13481:3:67"}]},{"nodeType":"YulAssignment","src":"13591:100:67","value":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"13678:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"13687:3:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"13598:79:67"},"nodeType":"YulFunctionCall","src":"13598:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13591:3:67"}]},{"nodeType":"YulAssignment","src":"13701:100:67","value":{"arguments":[{"name":"value5","nodeType":"YulIdentifier","src":"13788:6:67"},{"name":"pos","nodeType":"YulIdentifier","src":"13797:3:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"13708:79:67"},"nodeType":"YulFunctionCall","src":"13708:93:67"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13701:3:67"}]},{"nodeType":"YulAssignment","src":"13811:10:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"13818:3:67"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"13811:3:67"}]}]},"name":"abi_encode_tuple_packed_t_bytes_storage_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"13082:3:67","type":""},{"name":"value5","nodeType":"YulTypedName","src":"13088:6:67","type":""},{"name":"value4","nodeType":"YulTypedName","src":"13096:6:67","type":""},{"name":"value3","nodeType":"YulTypedName","src":"13104:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"13112:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13120:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13128:6:67","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"13139:3:67","type":""}],"src":"12782:1045:67"},{"body":{"nodeType":"YulBlock","src":"13931:124:67","statements":[{"nodeType":"YulAssignment","src":"13941:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13953:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"13964:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13949:3:67"},"nodeType":"YulFunctionCall","src":"13949:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13941:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14021:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14034:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"14045:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14030:3:67"},"nodeType":"YulFunctionCall","src":"14030:17:67"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"13977:43:67"},"nodeType":"YulFunctionCall","src":"13977:71:67"},"nodeType":"YulExpressionStatement","src":"13977:71:67"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13903:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13915:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13926:4:67","type":""}],"src":"13833:222:67"},{"body":{"nodeType":"YulBlock","src":"14153:118:67","statements":[{"nodeType":"YulAssignment","src":"14163:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14175:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"14186:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14171:3:67"},"nodeType":"YulFunctionCall","src":"14171:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14163:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14237:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14250:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"14261:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14246:3:67"},"nodeType":"YulFunctionCall","src":"14246:17:67"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulIdentifier","src":"14199:37:67"},"nodeType":"YulFunctionCall","src":"14199:65:67"},"nodeType":"YulExpressionStatement","src":"14199:65:67"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14125:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14137:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14148:4:67","type":""}],"src":"14061:210:67"},{"body":{"nodeType":"YulBlock","src":"14375:124:67","statements":[{"nodeType":"YulAssignment","src":"14385:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14397:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"14408:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14393:3:67"},"nodeType":"YulFunctionCall","src":"14393:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14385:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14465:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14478:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"14489:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14474:3:67"},"nodeType":"YulFunctionCall","src":"14474:17:67"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"14421:43:67"},"nodeType":"YulFunctionCall","src":"14421:71:67"},"nodeType":"YulExpressionStatement","src":"14421:71:67"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14347:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14359:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14370:4:67","type":""}],"src":"14277:222:67"},{"body":{"nodeType":"YulBlock","src":"14621:193:67","statements":[{"nodeType":"YulAssignment","src":"14631:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14643:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"14654:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14639:3:67"},"nodeType":"YulFunctionCall","src":"14639:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14631:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14678:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"14689:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14674:3:67"},"nodeType":"YulFunctionCall","src":"14674:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"14697:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"14703:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14693:3:67"},"nodeType":"YulFunctionCall","src":"14693:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14667:6:67"},"nodeType":"YulFunctionCall","src":"14667:47:67"},"nodeType":"YulExpressionStatement","src":"14667:47:67"},{"nodeType":"YulAssignment","src":"14723:84:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14793:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"14802:4:67"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"14731:61:67"},"nodeType":"YulFunctionCall","src":"14731:76:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14723:4:67"}]}]},"name":"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14593:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14605:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14616:4:67","type":""}],"src":"14505:309:67"},{"body":{"nodeType":"YulBlock","src":"14933:190:67","statements":[{"nodeType":"YulAssignment","src":"14943:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14955:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"14966:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14951:3:67"},"nodeType":"YulFunctionCall","src":"14951:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14943:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14990:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"15001:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14986:3:67"},"nodeType":"YulFunctionCall","src":"14986:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"15009:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"15015:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15005:3:67"},"nodeType":"YulFunctionCall","src":"15005:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14979:6:67"},"nodeType":"YulFunctionCall","src":"14979:47:67"},"nodeType":"YulExpressionStatement","src":"14979:47:67"},{"nodeType":"YulAssignment","src":"15035:81:67","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15102:6:67"},{"name":"tail","nodeType":"YulIdentifier","src":"15111:4:67"}],"functionName":{"name":"abi_encode_t_bytes_storage_to_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"15043:58:67"},"nodeType":"YulFunctionCall","src":"15043:73:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15035:4:67"}]}]},"name":"abi_encode_tuple_t_bytes_storage__to_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14905:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14917:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14928:4:67","type":""}],"src":"14820:303:67"},{"body":{"nodeType":"YulBlock","src":"15245:142:67","statements":[{"nodeType":"YulAssignment","src":"15255:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15267:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"15278:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15263:3:67"},"nodeType":"YulFunctionCall","src":"15263:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15255:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15353:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15366:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"15377:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15362:3:67"},"nodeType":"YulFunctionCall","src":"15362:17:67"}],"functionName":{"name":"abi_encode_t_contract$_Clonable_$11629_to_t_address_fromStack","nodeType":"YulIdentifier","src":"15291:61:67"},"nodeType":"YulFunctionCall","src":"15291:89:67"},"nodeType":"YulExpressionStatement","src":"15291:89:67"}]},"name":"abi_encode_tuple_t_contract$_Clonable_$11629__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15217:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15229:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15240:4:67","type":""}],"src":"15129:258:67"},{"body":{"nodeType":"YulBlock","src":"15564:248:67","statements":[{"nodeType":"YulAssignment","src":"15574:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15586:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"15597:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15582:3:67"},"nodeType":"YulFunctionCall","src":"15582:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15574:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15621:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"15632:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15617:3:67"},"nodeType":"YulFunctionCall","src":"15617:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"15640:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"15646:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15636:3:67"},"nodeType":"YulFunctionCall","src":"15636:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15610:6:67"},"nodeType":"YulFunctionCall","src":"15610:47:67"},"nodeType":"YulExpressionStatement","src":"15610:47:67"},{"nodeType":"YulAssignment","src":"15666:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"15800:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"15674:124:67"},"nodeType":"YulFunctionCall","src":"15674:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15666:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15544:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15559:4:67","type":""}],"src":"15393:419:67"},{"body":{"nodeType":"YulBlock","src":"15989:248:67","statements":[{"nodeType":"YulAssignment","src":"15999:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16011:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"16022:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16007:3:67"},"nodeType":"YulFunctionCall","src":"16007:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15999:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16046:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"16057:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16042:3:67"},"nodeType":"YulFunctionCall","src":"16042:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"16065:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"16071:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16061:3:67"},"nodeType":"YulFunctionCall","src":"16061:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16035:6:67"},"nodeType":"YulFunctionCall","src":"16035:47:67"},"nodeType":"YulExpressionStatement","src":"16035:47:67"},{"nodeType":"YulAssignment","src":"16091:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"16225:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"16099:124:67"},"nodeType":"YulFunctionCall","src":"16099:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16091:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15969:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15984:4:67","type":""}],"src":"15818:419:67"},{"body":{"nodeType":"YulBlock","src":"16414:248:67","statements":[{"nodeType":"YulAssignment","src":"16424:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16436:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"16447:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16432:3:67"},"nodeType":"YulFunctionCall","src":"16432:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16424:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16471:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"16482:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16467:3:67"},"nodeType":"YulFunctionCall","src":"16467:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"16490:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"16496:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16486:3:67"},"nodeType":"YulFunctionCall","src":"16486:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16460:6:67"},"nodeType":"YulFunctionCall","src":"16460:47:67"},"nodeType":"YulExpressionStatement","src":"16460:47:67"},{"nodeType":"YulAssignment","src":"16516:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"16650:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"16524:124:67"},"nodeType":"YulFunctionCall","src":"16524:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16516:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16394:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16409:4:67","type":""}],"src":"16243:419:67"},{"body":{"nodeType":"YulBlock","src":"16839:248:67","statements":[{"nodeType":"YulAssignment","src":"16849:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16861:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"16872:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16857:3:67"},"nodeType":"YulFunctionCall","src":"16857:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16849:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16896:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"16907:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16892:3:67"},"nodeType":"YulFunctionCall","src":"16892:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"16915:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"16921:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16911:3:67"},"nodeType":"YulFunctionCall","src":"16911:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16885:6:67"},"nodeType":"YulFunctionCall","src":"16885:47:67"},"nodeType":"YulExpressionStatement","src":"16885:47:67"},{"nodeType":"YulAssignment","src":"16941:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"17075:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"16949:124:67"},"nodeType":"YulFunctionCall","src":"16949:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16941:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16819:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16834:4:67","type":""}],"src":"16668:419:67"},{"body":{"nodeType":"YulBlock","src":"17264:248:67","statements":[{"nodeType":"YulAssignment","src":"17274:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17286:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"17297:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17282:3:67"},"nodeType":"YulFunctionCall","src":"17282:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17274:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17321:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"17332:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17317:3:67"},"nodeType":"YulFunctionCall","src":"17317:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"17340:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"17346:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17336:3:67"},"nodeType":"YulFunctionCall","src":"17336:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17310:6:67"},"nodeType":"YulFunctionCall","src":"17310:47:67"},"nodeType":"YulExpressionStatement","src":"17310:47:67"},{"nodeType":"YulAssignment","src":"17366:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"17500:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"17374:124:67"},"nodeType":"YulFunctionCall","src":"17374:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17366:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17244:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17259:4:67","type":""}],"src":"17093:419:67"},{"body":{"nodeType":"YulBlock","src":"17689:248:67","statements":[{"nodeType":"YulAssignment","src":"17699:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17711:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"17722:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17707:3:67"},"nodeType":"YulFunctionCall","src":"17707:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17699:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17746:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"17757:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17742:3:67"},"nodeType":"YulFunctionCall","src":"17742:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"17765:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"17771:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17761:3:67"},"nodeType":"YulFunctionCall","src":"17761:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17735:6:67"},"nodeType":"YulFunctionCall","src":"17735:47:67"},"nodeType":"YulExpressionStatement","src":"17735:47:67"},{"nodeType":"YulAssignment","src":"17791:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"17925:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"17799:124:67"},"nodeType":"YulFunctionCall","src":"17799:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17791:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17669:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17684:4:67","type":""}],"src":"17518:419:67"},{"body":{"nodeType":"YulBlock","src":"18114:248:67","statements":[{"nodeType":"YulAssignment","src":"18124:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18136:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"18147:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18132:3:67"},"nodeType":"YulFunctionCall","src":"18132:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18124:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18171:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"18182:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18167:3:67"},"nodeType":"YulFunctionCall","src":"18167:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"18190:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"18196:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18186:3:67"},"nodeType":"YulFunctionCall","src":"18186:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18160:6:67"},"nodeType":"YulFunctionCall","src":"18160:47:67"},"nodeType":"YulExpressionStatement","src":"18160:47:67"},{"nodeType":"YulAssignment","src":"18216:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"18350:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"18224:124:67"},"nodeType":"YulFunctionCall","src":"18224:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18216:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18094:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18109:4:67","type":""}],"src":"17943:419:67"},{"body":{"nodeType":"YulBlock","src":"18539:248:67","statements":[{"nodeType":"YulAssignment","src":"18549:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18561:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"18572:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18557:3:67"},"nodeType":"YulFunctionCall","src":"18557:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18549:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18596:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"18607:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18592:3:67"},"nodeType":"YulFunctionCall","src":"18592:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"18615:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"18621:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18611:3:67"},"nodeType":"YulFunctionCall","src":"18611:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18585:6:67"},"nodeType":"YulFunctionCall","src":"18585:47:67"},"nodeType":"YulExpressionStatement","src":"18585:47:67"},{"nodeType":"YulAssignment","src":"18641:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"18775:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"18649:124:67"},"nodeType":"YulFunctionCall","src":"18649:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18641:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18519:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18534:4:67","type":""}],"src":"18368:419:67"},{"body":{"nodeType":"YulBlock","src":"18964:248:67","statements":[{"nodeType":"YulAssignment","src":"18974:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18986:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"18997:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18982:3:67"},"nodeType":"YulFunctionCall","src":"18982:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18974:4:67"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19021:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"19032:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19017:3:67"},"nodeType":"YulFunctionCall","src":"19017:17:67"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"19040:4:67"},{"name":"headStart","nodeType":"YulIdentifier","src":"19046:9:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19036:3:67"},"nodeType":"YulFunctionCall","src":"19036:20:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19010:6:67"},"nodeType":"YulFunctionCall","src":"19010:47:67"},"nodeType":"YulExpressionStatement","src":"19010:47:67"},{"nodeType":"YulAssignment","src":"19066:139:67","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"19200:4:67"}],"functionName":{"name":"abi_encode_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"19074:124:67"},"nodeType":"YulFunctionCall","src":"19074:131:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19066:4:67"}]}]},"name":"abi_encode_tuple_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18944:9:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18959:4:67","type":""}],"src":"18793:419:67"},{"body":{"nodeType":"YulBlock","src":"19412:221:67","statements":[{"nodeType":"YulAssignment","src":"19422:27:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19434:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"19445:3:67","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19430:3:67"},"nodeType":"YulFunctionCall","src":"19430:19:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19422:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19599:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19612:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"19623:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19608:3:67"},"nodeType":"YulFunctionCall","src":"19608:17:67"}],"functionName":{"name":"abi_encode_t_struct$_WitnetRequestWitnessingParams_$12051_memory_ptr_to_t_struct$_WitnetRequestWitnessingParams_$12051_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"19459:139:67"},"nodeType":"YulFunctionCall","src":"19459:167:67"},"nodeType":"YulExpressionStatement","src":"19459:167:67"}]},"name":"abi_encode_tuple_t_struct$_WitnetRequestWitnessingParams_$12051_memory_ptr__to_t_struct$_WitnetRequestWitnessingParams_$12051_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19384:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19396:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19407:4:67","type":""}],"src":"19218:415:67"},{"body":{"nodeType":"YulBlock","src":"19737:124:67","statements":[{"nodeType":"YulAssignment","src":"19747:26:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19759:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"19770:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19755:3:67"},"nodeType":"YulFunctionCall","src":"19755:18:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19747:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19827:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19840:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"19851:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19836:3:67"},"nodeType":"YulFunctionCall","src":"19836:17:67"}],"functionName":{"name":"abi_encode_t_uint128_to_t_uint128_fromStack","nodeType":"YulIdentifier","src":"19783:43:67"},"nodeType":"YulFunctionCall","src":"19783:71:67"},"nodeType":"YulExpressionStatement","src":"19783:71:67"}]},"name":"abi_encode_tuple_t_uint128__to_t_uint128__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19709:9:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19721:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19732:4:67","type":""}],"src":"19639:222:67"},{"body":{"nodeType":"YulBlock","src":"20063:440:67","statements":[{"nodeType":"YulAssignment","src":"20073:27:67","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20085:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"20096:3:67","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20081:3:67"},"nodeType":"YulFunctionCall","src":"20081:19:67"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20073:4:67"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"20150:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20163:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"20174:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20159:3:67"},"nodeType":"YulFunctionCall","src":"20159:17:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_fromStack","nodeType":"YulIdentifier","src":"20110:39:67"},"nodeType":"YulFunctionCall","src":"20110:67:67"},"nodeType":"YulExpressionStatement","src":"20110:67:67"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"20227:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20240:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"20251:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20236:3:67"},"nodeType":"YulFunctionCall","src":"20236:18:67"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_fromStack","nodeType":"YulIdentifier","src":"20187:39:67"},"nodeType":"YulFunctionCall","src":"20187:68:67"},"nodeType":"YulExpressionStatement","src":"20187:68:67"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"20307:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20320:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"20331:2:67","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20316:3:67"},"nodeType":"YulFunctionCall","src":"20316:18:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_fromStack","nodeType":"YulIdentifier","src":"20265:41:67"},"nodeType":"YulFunctionCall","src":"20265:70:67"},"nodeType":"YulExpressionStatement","src":"20265:70:67"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"20387:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20400:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"20411:2:67","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20396:3:67"},"nodeType":"YulFunctionCall","src":"20396:18:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_fromStack","nodeType":"YulIdentifier","src":"20345:41:67"},"nodeType":"YulFunctionCall","src":"20345:70:67"},"nodeType":"YulExpressionStatement","src":"20345:70:67"},{"expression":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"20467:6:67"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20480:9:67"},{"kind":"number","nodeType":"YulLiteral","src":"20491:3:67","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20476:3:67"},"nodeType":"YulFunctionCall","src":"20476:19:67"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint64_fromStack","nodeType":"YulIdentifier","src":"20425:41:67"},"nodeType":"YulFunctionCall","src":"20425:71:67"},"nodeType":"YulExpressionStatement","src":"20425:71:67"}]},"name":"abi_encode_tuple_t_uint8_t_uint8_t_uint64_t_uint64_t_uint64__to_t_uint8_t_uint8_t_uint64_t_uint64_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20003:9:67","type":""},{"name":"value4","nodeType":"YulTypedName","src":"20015:6:67","type":""},{"name":"value3","nodeType":"YulTypedName","src":"20023:6:67","type":""},{"name":"value2","nodeType":"YulTypedName","src":"20031:6:67","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20039:6:67","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20047:6:67","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20058:4:67","type":""}],"src":"19867:636:67"},{"body":{"nodeType":"YulBlock","src":"20550:88:67","statements":[{"nodeType":"YulAssignment","src":"20560:30:67","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"20570:18:67"},"nodeType":"YulFunctionCall","src":"20570:20:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"20560:6:67"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"20619:6:67"},{"name":"size","nodeType":"YulIdentifier","src":"20627:4:67"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"20599:19:67"},"nodeType":"YulFunctionCall","src":"20599:33:67"},"nodeType":"YulExpressionStatement","src":"20599:33:67"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"20534:4:67","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"20543:6:67","type":""}],"src":"20509:129:67"},{"body":{"nodeType":"YulBlock","src":"20684:35:67","statements":[{"nodeType":"YulAssignment","src":"20694:19:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20710:2:67","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20704:5:67"},"nodeType":"YulFunctionCall","src":"20704:9:67"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"20694:6:67"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"20677:6:67","type":""}],"src":"20644:75:67"},{"body":{"nodeType":"YulBlock","src":"20791:241:67","statements":[{"body":{"nodeType":"YulBlock","src":"20896:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"20898:16:67"},"nodeType":"YulFunctionCall","src":"20898:18:67"},"nodeType":"YulExpressionStatement","src":"20898:18:67"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"20868:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"20876:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20865:2:67"},"nodeType":"YulFunctionCall","src":"20865:30:67"},"nodeType":"YulIf","src":"20862:56:67"},{"nodeType":"YulAssignment","src":"20928:37:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"20958:6:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"20936:21:67"},"nodeType":"YulFunctionCall","src":"20936:29:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"20928:4:67"}]},{"nodeType":"YulAssignment","src":"21002:23:67","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"21014:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"21020:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21010:3:67"},"nodeType":"YulFunctionCall","src":"21010:15:67"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"21002:4:67"}]}]},"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"20775:6:67","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"20786:4:67","type":""}],"src":"20725:307:67"},{"body":{"nodeType":"YulBlock","src":"21091:87:67","statements":[{"nodeType":"YulAssignment","src":"21101:11:67","value":{"name":"ptr","nodeType":"YulIdentifier","src":"21109:3:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"21101:4:67"}]},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21129:1:67","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"21132:3:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21122:6:67"},"nodeType":"YulFunctionCall","src":"21122:14:67"},"nodeType":"YulExpressionStatement","src":"21122:14:67"},{"nodeType":"YulAssignment","src":"21145:26:67","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21163:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21166:4:67","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"21153:9:67"},"nodeType":"YulFunctionCall","src":"21153:18:67"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"21145:4:67"}]}]},"name":"array_dataslot_t_bytes_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"21078:3:67","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"21086:4:67","type":""}],"src":"21038:140:67"},{"body":{"nodeType":"YulBlock","src":"21242:40:67","statements":[{"nodeType":"YulAssignment","src":"21253:22:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21269:5:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21263:5:67"},"nodeType":"YulFunctionCall","src":"21263:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"21253:6:67"}]}]},"name":"array_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21225:5:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"21235:6:67","type":""}],"src":"21184:98:67"},{"body":{"nodeType":"YulBlock","src":"21383:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21400:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"21405:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21393:6:67"},"nodeType":"YulFunctionCall","src":"21393:19:67"},"nodeType":"YulExpressionStatement","src":"21393:19:67"},{"nodeType":"YulAssignment","src":"21421:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21440:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"21445:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21436:3:67"},"nodeType":"YulFunctionCall","src":"21436:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"21421:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"21355:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"21360:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"21371:11:67","type":""}],"src":"21288:168:67"},{"body":{"nodeType":"YulBlock","src":"21575:34:67","statements":[{"nodeType":"YulAssignment","src":"21585:18:67","value":{"name":"pos","nodeType":"YulIdentifier","src":"21600:3:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"21585:11:67"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"21547:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"21552:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"21563:11:67","type":""}],"src":"21462:147:67"},{"body":{"nodeType":"YulBlock","src":"21711:73:67","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21728:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"21733:6:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21721:6:67"},"nodeType":"YulFunctionCall","src":"21721:19:67"},"nodeType":"YulExpressionStatement","src":"21721:19:67"},{"nodeType":"YulAssignment","src":"21749:29:67","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21768:3:67"},{"kind":"number","nodeType":"YulLiteral","src":"21773:4:67","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21764:3:67"},"nodeType":"YulFunctionCall","src":"21764:14:67"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"21749:11:67"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"21683:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"21688:6:67","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"21699:11:67","type":""}],"src":"21615:169:67"},{"body":{"nodeType":"YulBlock","src":"21833:211:67","statements":[{"nodeType":"YulAssignment","src":"21843:24:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"21865:1:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"21848:16:67"},"nodeType":"YulFunctionCall","src":"21848:19:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"21843:1:67"}]},{"nodeType":"YulAssignment","src":"21876:24:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"21898:1:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"21881:16:67"},"nodeType":"YulFunctionCall","src":"21881:19:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"21876:1:67"}]},{"body":{"nodeType":"YulBlock","src":"21990:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"21992:16:67"},"nodeType":"YulFunctionCall","src":"21992:18:67"},"nodeType":"YulExpressionStatement","src":"21992:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"21959:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21966:18:67","type":"","value":"0xffffffffffffffff"},{"name":"y","nodeType":"YulIdentifier","src":"21986:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21962:3:67"},"nodeType":"YulFunctionCall","src":"21962:26:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"21956:2:67"},"nodeType":"YulFunctionCall","src":"21956:33:67"},"nodeType":"YulIf","src":"21953:59:67"},{"nodeType":"YulAssignment","src":"22022:16:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22033:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"22036:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22029:3:67"},"nodeType":"YulFunctionCall","src":"22029:9:67"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"22022:3:67"}]}]},"name":"checked_add_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"21820:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"21823:1:67","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"21829:3:67","type":""}],"src":"21790:254:67"},{"body":{"nodeType":"YulBlock","src":"22097:250:67","statements":[{"nodeType":"YulAssignment","src":"22107:24:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22129:1:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"22112:16:67"},"nodeType":"YulFunctionCall","src":"22112:19:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"22107:1:67"}]},{"nodeType":"YulAssignment","src":"22140:24:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"22162:1:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"22145:16:67"},"nodeType":"YulFunctionCall","src":"22145:19:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"22140:1:67"}]},{"body":{"nodeType":"YulBlock","src":"22289:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"22291:16:67"},"nodeType":"YulFunctionCall","src":"22291:18:67"},"nodeType":"YulExpressionStatement","src":"22291:18:67"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22249:1:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"22242:6:67"},"nodeType":"YulFunctionCall","src":"22242:9:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"22235:6:67"},"nodeType":"YulFunctionCall","src":"22235:17:67"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"22257:1:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22264:18:67","type":"","value":"0xffffffffffffffff"},{"name":"x","nodeType":"YulIdentifier","src":"22284:1:67"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"22260:3:67"},"nodeType":"YulFunctionCall","src":"22260:26:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22254:2:67"},"nodeType":"YulFunctionCall","src":"22254:33:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22231:3:67"},"nodeType":"YulFunctionCall","src":"22231:57:67"},"nodeType":"YulIf","src":"22228:83:67"},{"nodeType":"YulAssignment","src":"22321:20:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22336:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"22339:1:67"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"22332:3:67"},"nodeType":"YulFunctionCall","src":"22332:9:67"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"22321:7:67"}]}]},"name":"checked_mul_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"22080:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"22083:1:67","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"22089:7:67","type":""}],"src":"22050:297:67"},{"body":{"nodeType":"YulBlock","src":"22397:144:67","statements":[{"nodeType":"YulAssignment","src":"22407:24:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22429:1:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"22412:16:67"},"nodeType":"YulFunctionCall","src":"22412:19:67"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"22407:1:67"}]},{"nodeType":"YulAssignment","src":"22440:24:67","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"22462:1:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"22445:16:67"},"nodeType":"YulFunctionCall","src":"22445:19:67"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"22440:1:67"}]},{"body":{"nodeType":"YulBlock","src":"22486:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"22488:16:67"},"nodeType":"YulFunctionCall","src":"22488:18:67"},"nodeType":"YulExpressionStatement","src":"22488:18:67"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22480:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"22483:1:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"22477:2:67"},"nodeType":"YulFunctionCall","src":"22477:8:67"},"nodeType":"YulIf","src":"22474:34:67"},{"nodeType":"YulAssignment","src":"22518:17:67","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22530:1:67"},{"name":"y","nodeType":"YulIdentifier","src":"22533:1:67"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22526:3:67"},"nodeType":"YulFunctionCall","src":"22526:9:67"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"22518:4:67"}]}]},"name":"checked_sub_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"22383:1:67","type":""},{"name":"y","nodeType":"YulTypedName","src":"22386:1:67","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"22392:4:67","type":""}],"src":"22353:188:67"},{"body":{"nodeType":"YulBlock","src":"22592:51:67","statements":[{"nodeType":"YulAssignment","src":"22602:35:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22631:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"22613:17:67"},"nodeType":"YulFunctionCall","src":"22613:24:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"22602:7:67"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"22574:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"22584:7:67","type":""}],"src":"22547:96:67"},{"body":{"nodeType":"YulBlock","src":"22691:48:67","statements":[{"nodeType":"YulAssignment","src":"22701:32:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22726:5:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"22719:6:67"},"nodeType":"YulFunctionCall","src":"22719:13:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"22712:6:67"},"nodeType":"YulFunctionCall","src":"22712:21:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"22701:7:67"}]}]},"name":"cleanup_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"22673:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"22683:7:67","type":""}],"src":"22649:90:67"},{"body":{"nodeType":"YulBlock","src":"22790:32:67","statements":[{"nodeType":"YulAssignment","src":"22800:16:67","value":{"name":"value","nodeType":"YulIdentifier","src":"22811:5:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"22800:7:67"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"22772:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"22782:7:67","type":""}],"src":"22745:77:67"},{"body":{"nodeType":"YulBlock","src":"22873:73:67","statements":[{"nodeType":"YulAssignment","src":"22883:57:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22898:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"22905:34:67","type":"","value":"0xffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22894:3:67"},"nodeType":"YulFunctionCall","src":"22894:46:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"22883:7:67"}]}]},"name":"cleanup_t_uint128","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"22855:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"22865:7:67","type":""}],"src":"22828:118:67"},{"body":{"nodeType":"YulBlock","src":"22997:81:67","statements":[{"nodeType":"YulAssignment","src":"23007:65:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23022:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"23029:42:67","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23018:3:67"},"nodeType":"YulFunctionCall","src":"23018:54:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"23007:7:67"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"22979:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"22989:7:67","type":""}],"src":"22952:126:67"},{"body":{"nodeType":"YulBlock","src":"23128:57:67","statements":[{"nodeType":"YulAssignment","src":"23138:41:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23153:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"23160:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23149:3:67"},"nodeType":"YulFunctionCall","src":"23149:30:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"23138:7:67"}]}]},"name":"cleanup_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"23110:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"23120:7:67","type":""}],"src":"23084:101:67"},{"body":{"nodeType":"YulBlock","src":"23234:43:67","statements":[{"nodeType":"YulAssignment","src":"23244:27:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23259:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"23266:4:67","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23255:3:67"},"nodeType":"YulFunctionCall","src":"23255:16:67"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"23244:7:67"}]}]},"name":"cleanup_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"23216:5:67","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"23226:7:67","type":""}],"src":"23191:86:67"},{"body":{"nodeType":"YulBlock","src":"23361:66:67","statements":[{"nodeType":"YulAssignment","src":"23371:50:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23415:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_address","nodeType":"YulIdentifier","src":"23384:30:67"},"nodeType":"YulFunctionCall","src":"23384:37:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"23371:9:67"}]}]},"name":"convert_t_contract$_Clonable_$11629_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"23341:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"23351:9:67","type":""}],"src":"23283:144:67"},{"body":{"nodeType":"YulBlock","src":"23493:66:67","statements":[{"nodeType":"YulAssignment","src":"23503:50:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23547:5:67"}],"functionName":{"name":"convert_t_uint160_to_t_uint160","nodeType":"YulIdentifier","src":"23516:30:67"},"nodeType":"YulFunctionCall","src":"23516:37:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"23503:9:67"}]}]},"name":"convert_t_uint160_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"23473:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"23483:9:67","type":""}],"src":"23433:126:67"},{"body":{"nodeType":"YulBlock","src":"23625:53:67","statements":[{"nodeType":"YulAssignment","src":"23635:37:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23666:5:67"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"23648:17:67"},"nodeType":"YulFunctionCall","src":"23648:24:67"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"23635:9:67"}]}]},"name":"convert_t_uint160_to_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"23605:5:67","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"23615:9:67","type":""}],"src":"23565:113:67"},{"body":{"nodeType":"YulBlock","src":"23735:103:67","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"23758:3:67"},{"name":"src","nodeType":"YulIdentifier","src":"23763:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"23768:6:67"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"23745:12:67"},"nodeType":"YulFunctionCall","src":"23745:30:67"},"nodeType":"YulExpressionStatement","src":"23745:30:67"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"23816:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"23821:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23812:3:67"},"nodeType":"YulFunctionCall","src":"23812:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"23830:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23805:6:67"},"nodeType":"YulFunctionCall","src":"23805:27:67"},"nodeType":"YulExpressionStatement","src":"23805:27:67"}]},"name":"copy_calldata_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"23717:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"23722:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"23727:6:67","type":""}],"src":"23684:154:67"},{"body":{"nodeType":"YulBlock","src":"23893:258:67","statements":[{"nodeType":"YulVariableDeclaration","src":"23903:10:67","value":{"kind":"number","nodeType":"YulLiteral","src":"23912:1:67","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"23907:1:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"23972:63:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"23997:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"24002:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23993:3:67"},"nodeType":"YulFunctionCall","src":"23993:11:67"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"24016:3:67"},{"name":"i","nodeType":"YulIdentifier","src":"24021:1:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24012:3:67"},"nodeType":"YulFunctionCall","src":"24012:11:67"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"24006:5:67"},"nodeType":"YulFunctionCall","src":"24006:18:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23986:6:67"},"nodeType":"YulFunctionCall","src":"23986:39:67"},"nodeType":"YulExpressionStatement","src":"23986:39:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"23933:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"23936:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"23930:2:67"},"nodeType":"YulFunctionCall","src":"23930:13:67"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"23944:19:67","statements":[{"nodeType":"YulAssignment","src":"23946:15:67","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"23955:1:67"},{"kind":"number","nodeType":"YulLiteral","src":"23958:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23951:3:67"},"nodeType":"YulFunctionCall","src":"23951:10:67"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"23946:1:67"}]}]},"pre":{"nodeType":"YulBlock","src":"23926:3:67","statements":[]},"src":"23922:113:67"},{"body":{"nodeType":"YulBlock","src":"24069:76:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"24119:3:67"},{"name":"length","nodeType":"YulIdentifier","src":"24124:6:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24115:3:67"},"nodeType":"YulFunctionCall","src":"24115:16:67"},{"kind":"number","nodeType":"YulLiteral","src":"24133:1:67","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24108:6:67"},"nodeType":"YulFunctionCall","src":"24108:27:67"},"nodeType":"YulExpressionStatement","src":"24108:27:67"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"24050:1:67"},{"name":"length","nodeType":"YulIdentifier","src":"24053:6:67"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"24047:2:67"},"nodeType":"YulFunctionCall","src":"24047:13:67"},"nodeType":"YulIf","src":"24044:101:67"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"23875:3:67","type":""},{"name":"dst","nodeType":"YulTypedName","src":"23880:3:67","type":""},{"name":"length","nodeType":"YulTypedName","src":"23885:6:67","type":""}],"src":"23844:307:67"},{"body":{"nodeType":"YulBlock","src":"24208:269:67","statements":[{"nodeType":"YulAssignment","src":"24218:22:67","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"24232:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"24238:1:67","type":"","value":"2"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"24228:3:67"},"nodeType":"YulFunctionCall","src":"24228:12:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"24218:6:67"}]},{"nodeType":"YulVariableDeclaration","src":"24249:38:67","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"24279:4:67"},{"kind":"number","nodeType":"YulLiteral","src":"24285:1:67","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"24275:3:67"},"nodeType":"YulFunctionCall","src":"24275:12:67"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"24253:18:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"24326:51:67","statements":[{"nodeType":"YulAssignment","src":"24340:27:67","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"24354:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"24362:4:67","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"24350:3:67"},"nodeType":"YulFunctionCall","src":"24350:17:67"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"24340:6:67"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"24306:18:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"24299:6:67"},"nodeType":"YulFunctionCall","src":"24299:26:67"},"nodeType":"YulIf","src":"24296:81:67"},{"body":{"nodeType":"YulBlock","src":"24429:42:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x22","nodeType":"YulIdentifier","src":"24443:16:67"},"nodeType":"YulFunctionCall","src":"24443:18:67"},"nodeType":"YulExpressionStatement","src":"24443:18:67"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"24393:18:67"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"24416:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"24424:2:67","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"24413:2:67"},"nodeType":"YulFunctionCall","src":"24413:14:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"24390:2:67"},"nodeType":"YulFunctionCall","src":"24390:38:67"},"nodeType":"YulIf","src":"24387:84:67"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"24192:4:67","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"24201:6:67","type":""}],"src":"24157:320:67"},{"body":{"nodeType":"YulBlock","src":"24526:238:67","statements":[{"nodeType":"YulVariableDeclaration","src":"24536:58:67","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"24558:6:67"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"24588:4:67"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"24566:21:67"},"nodeType":"YulFunctionCall","src":"24566:27:67"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24554:3:67"},"nodeType":"YulFunctionCall","src":"24554:40:67"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"24540:10:67","type":""}]},{"body":{"nodeType":"YulBlock","src":"24705:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"24707:16:67"},"nodeType":"YulFunctionCall","src":"24707:18:67"},"nodeType":"YulExpressionStatement","src":"24707:18:67"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"24648:10:67"},{"kind":"number","nodeType":"YulLiteral","src":"24660:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"24645:2:67"},"nodeType":"YulFunctionCall","src":"24645:34:67"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"24684:10:67"},{"name":"memPtr","nodeType":"YulIdentifier","src":"24696:6:67"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"24681:2:67"},"nodeType":"YulFunctionCall","src":"24681:22:67"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"24642:2:67"},"nodeType":"YulFunctionCall","src":"24642:62:67"},"nodeType":"YulIf","src":"24639:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24743:2:67","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"24747:10:67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24736:6:67"},"nodeType":"YulFunctionCall","src":"24736:22:67"},"nodeType":"YulExpressionStatement","src":"24736:22:67"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"24512:6:67","type":""},{"name":"size","nodeType":"YulTypedName","src":"24520:4:67","type":""}],"src":"24483:281:67"},{"body":{"nodeType":"YulBlock","src":"24812:141:67","statements":[{"nodeType":"YulAssignment","src":"24822:32:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24848:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"24831:16:67"},"nodeType":"YulFunctionCall","src":"24831:23:67"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"24822:5:67"}]},{"body":{"nodeType":"YulBlock","src":"24896:22:67","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"24898:16:67"},"nodeType":"YulFunctionCall","src":"24898:18:67"},"nodeType":"YulExpressionStatement","src":"24898:18:67"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24869:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"24876:18:67","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"24866:2:67"},"nodeType":"YulFunctionCall","src":"24866:29:67"},"nodeType":"YulIf","src":"24863:55:67"},{"nodeType":"YulAssignment","src":"24927:20:67","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24938:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"24945:1:67","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24934:3:67"},"nodeType":"YulFunctionCall","src":"24934:13:67"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"24927:3:67"}]}]},"name":"increment_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"24798:5:67","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"24808:3:67","type":""}],"src":"24770:183:67"},{"body":{"nodeType":"YulBlock","src":"24987:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25004:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25007:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24997:6:67"},"nodeType":"YulFunctionCall","src":"24997:88:67"},"nodeType":"YulExpressionStatement","src":"24997:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25101:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"25104:4:67","type":"","value":"0x01"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25094:6:67"},"nodeType":"YulFunctionCall","src":"25094:15:67"},"nodeType":"YulExpressionStatement","src":"25094:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25125:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25128:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25118:6:67"},"nodeType":"YulFunctionCall","src":"25118:15:67"},"nodeType":"YulExpressionStatement","src":"25118:15:67"}]},"name":"panic_error_0x01","nodeType":"YulFunctionDefinition","src":"24959:180:67"},{"body":{"nodeType":"YulBlock","src":"25173:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25190:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25193:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25183:6:67"},"nodeType":"YulFunctionCall","src":"25183:88:67"},"nodeType":"YulExpressionStatement","src":"25183:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25287:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"25290:4:67","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25280:6:67"},"nodeType":"YulFunctionCall","src":"25280:15:67"},"nodeType":"YulExpressionStatement","src":"25280:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25311:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25314:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25304:6:67"},"nodeType":"YulFunctionCall","src":"25304:15:67"},"nodeType":"YulExpressionStatement","src":"25304:15:67"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"25145:180:67"},{"body":{"nodeType":"YulBlock","src":"25359:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25376:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25379:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25369:6:67"},"nodeType":"YulFunctionCall","src":"25369:88:67"},"nodeType":"YulExpressionStatement","src":"25369:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25473:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"25476:4:67","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25466:6:67"},"nodeType":"YulFunctionCall","src":"25466:15:67"},"nodeType":"YulExpressionStatement","src":"25466:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25497:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25500:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25490:6:67"},"nodeType":"YulFunctionCall","src":"25490:15:67"},"nodeType":"YulExpressionStatement","src":"25490:15:67"}]},"name":"panic_error_0x22","nodeType":"YulFunctionDefinition","src":"25331:180:67"},{"body":{"nodeType":"YulBlock","src":"25545:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25562:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25565:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25555:6:67"},"nodeType":"YulFunctionCall","src":"25555:88:67"},"nodeType":"YulExpressionStatement","src":"25555:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25659:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"25662:4:67","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25652:6:67"},"nodeType":"YulFunctionCall","src":"25652:15:67"},"nodeType":"YulExpressionStatement","src":"25652:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25683:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25686:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25676:6:67"},"nodeType":"YulFunctionCall","src":"25676:15:67"},"nodeType":"YulExpressionStatement","src":"25676:15:67"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"25517:180:67"},{"body":{"nodeType":"YulBlock","src":"25731:152:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25748:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25751:77:67","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25741:6:67"},"nodeType":"YulFunctionCall","src":"25741:88:67"},"nodeType":"YulExpressionStatement","src":"25741:88:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25845:1:67","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"25848:4:67","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25838:6:67"},"nodeType":"YulFunctionCall","src":"25838:15:67"},"nodeType":"YulExpressionStatement","src":"25838:15:67"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25869:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25872:4:67","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25862:6:67"},"nodeType":"YulFunctionCall","src":"25862:15:67"},"nodeType":"YulExpressionStatement","src":"25862:15:67"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"25703:180:67"},{"body":{"nodeType":"YulBlock","src":"25978:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25995:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25998:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25988:6:67"},"nodeType":"YulFunctionCall","src":"25988:12:67"},"nodeType":"YulExpressionStatement","src":"25988:12:67"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"25889:117:67"},{"body":{"nodeType":"YulBlock","src":"26101:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26118:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26121:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"26111:6:67"},"nodeType":"YulFunctionCall","src":"26111:12:67"},"nodeType":"YulExpressionStatement","src":"26111:12:67"}]},"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulFunctionDefinition","src":"26012:117:67"},{"body":{"nodeType":"YulBlock","src":"26224:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26241:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26244:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"26234:6:67"},"nodeType":"YulFunctionCall","src":"26234:12:67"},"nodeType":"YulExpressionStatement","src":"26234:12:67"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"26135:117:67"},{"body":{"nodeType":"YulBlock","src":"26347:28:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26364:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26367:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"26357:6:67"},"nodeType":"YulFunctionCall","src":"26357:12:67"},"nodeType":"YulExpressionStatement","src":"26357:12:67"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"26258:117:67"},{"body":{"nodeType":"YulBlock","src":"26429:54:67","statements":[{"nodeType":"YulAssignment","src":"26439:38:67","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"26457:5:67"},{"kind":"number","nodeType":"YulLiteral","src":"26464:2:67","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26453:3:67"},"nodeType":"YulFunctionCall","src":"26453:14:67"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26473:2:67","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"26469:3:67"},"nodeType":"YulFunctionCall","src":"26469:7:67"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"26449:3:67"},"nodeType":"YulFunctionCall","src":"26449:28:67"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"26439:6:67"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"26412:5:67","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"26422:6:67","type":""}],"src":"26381:102:67"},{"body":{"nodeType":"YulBlock","src":"26595:119:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"26617:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"26625:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26613:3:67"},"nodeType":"YulFunctionCall","src":"26613:14:67"},{"hexValue":"4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061","kind":"string","nodeType":"YulLiteral","src":"26629:34:67","type":"","value":"Ownable: new owner is the zero a"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26606:6:67"},"nodeType":"YulFunctionCall","src":"26606:58:67"},"nodeType":"YulExpressionStatement","src":"26606:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"26685:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"26693:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26681:3:67"},"nodeType":"YulFunctionCall","src":"26681:15:67"},{"hexValue":"646472657373","kind":"string","nodeType":"YulLiteral","src":"26698:8:67","type":"","value":"ddress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26674:6:67"},"nodeType":"YulFunctionCall","src":"26674:33:67"},"nodeType":"YulExpressionStatement","src":"26674:33:67"}]},"name":"store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"26587:6:67","type":""}],"src":"26489:225:67"},{"body":{"nodeType":"YulBlock","src":"26826:142:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"26848:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"26856:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26844:3:67"},"nodeType":"YulFunctionCall","src":"26844:14:67"},{"hexValue":"5769746e6574526571756573744d616c6c6561626c65426173653a207769746e","kind":"string","nodeType":"YulLiteral","src":"26860:34:67","type":"","value":"WitnetRequestMalleableBase: witn"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26837:6:67"},"nodeType":"YulFunctionCall","src":"26837:58:67"},"nodeType":"YulExpressionStatement","src":"26837:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"26916:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"26924:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26912:3:67"},"nodeType":"YulFunctionCall","src":"26912:15:67"},{"hexValue":"657373696e6720636f6e73656e737573206f7574206f662072616e6765","kind":"string","nodeType":"YulLiteral","src":"26929:31:67","type":"","value":"essing consensus out of range"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26905:6:67"},"nodeType":"YulFunctionCall","src":"26905:56:67"},"nodeType":"YulExpressionStatement","src":"26905:56:67"}]},"name":"store_literal_in_memory_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"26818:6:67","type":""}],"src":"26720:248:67"},{"body":{"nodeType":"YulBlock","src":"27080:118:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"27102:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"27110:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27098:3:67"},"nodeType":"YulFunctionCall","src":"27098:14:67"},{"hexValue":"5769746e6574526571756573744d616c6c6561626c65426173653a206e6f2072","kind":"string","nodeType":"YulLiteral","src":"27114:34:67","type":"","value":"WitnetRequestMalleableBase: no r"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27091:6:67"},"nodeType":"YulFunctionCall","src":"27091:58:67"},"nodeType":"YulExpressionStatement","src":"27091:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"27170:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"27178:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27166:3:67"},"nodeType":"YulFunctionCall","src":"27166:15:67"},{"hexValue":"6577617264","kind":"string","nodeType":"YulLiteral","src":"27183:7:67","type":"","value":"eward"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27159:6:67"},"nodeType":"YulFunctionCall","src":"27159:32:67"},"nodeType":"YulExpressionStatement","src":"27159:32:67"}]},"name":"store_literal_in_memory_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"27072:6:67","type":""}],"src":"26974:224:67"},{"body":{"nodeType":"YulBlock","src":"27310:68:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"27332:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"27340:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27328:3:67"},"nodeType":"YulFunctionCall","src":"27328:14:67"},{"hexValue":"436c6f6e61626c653a2043524541544532206661696c6564","kind":"string","nodeType":"YulLiteral","src":"27344:26:67","type":"","value":"Clonable: CREATE2 failed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27321:6:67"},"nodeType":"YulFunctionCall","src":"27321:50:67"},"nodeType":"YulExpressionStatement","src":"27321:50:67"}]},"name":"store_literal_in_memory_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"27302:6:67","type":""}],"src":"27204:174:67"},{"body":{"nodeType":"YulBlock","src":"27490:128:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"27512:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"27520:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27508:3:67"},"nodeType":"YulFunctionCall","src":"27508:14:67"},{"hexValue":"5769746e6574526571756573744d616c6c6561626c65426173653a20616c7265","kind":"string","nodeType":"YulLiteral","src":"27524:34:67","type":"","value":"WitnetRequestMalleableBase: alre"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27501:6:67"},"nodeType":"YulFunctionCall","src":"27501:58:67"},"nodeType":"YulExpressionStatement","src":"27501:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"27580:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"27588:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27576:3:67"},"nodeType":"YulFunctionCall","src":"27576:15:67"},{"hexValue":"61647920696e697469616c697a6564","kind":"string","nodeType":"YulLiteral","src":"27593:17:67","type":"","value":"ady initialized"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27569:6:67"},"nodeType":"YulFunctionCall","src":"27569:42:67"},"nodeType":"YulExpressionStatement","src":"27569:42:67"}]},"name":"store_literal_in_memory_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"27482:6:67","type":""}],"src":"27384:234:67"},{"body":{"nodeType":"YulBlock","src":"27730:141:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"27752:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"27760:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27748:3:67"},"nodeType":"YulFunctionCall","src":"27748:14:67"},{"hexValue":"5769746e6574526571756573744d616c6c6561626c65426173653a206e756d62","kind":"string","nodeType":"YulLiteral","src":"27764:34:67","type":"","value":"WitnetRequestMalleableBase: numb"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27741:6:67"},"nodeType":"YulFunctionCall","src":"27741:58:67"},"nodeType":"YulExpressionStatement","src":"27741:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"27820:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"27828:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27816:3:67"},"nodeType":"YulFunctionCall","src":"27816:15:67"},{"hexValue":"6572206f66207769746e6573736573206f7574206f662072616e6765","kind":"string","nodeType":"YulLiteral","src":"27833:30:67","type":"","value":"er of witnesses out of range"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27809:6:67"},"nodeType":"YulFunctionCall","src":"27809:55:67"},"nodeType":"YulExpressionStatement","src":"27809:55:67"}]},"name":"store_literal_in_memory_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"27722:6:67","type":""}],"src":"27624:247:67"},{"body":{"nodeType":"YulBlock","src":"27983:76:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"28005:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"28013:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28001:3:67"},"nodeType":"YulFunctionCall","src":"28001:14:67"},{"hexValue":"4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572","kind":"string","nodeType":"YulLiteral","src":"28017:34:67","type":"","value":"Ownable: caller is not the owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27994:6:67"},"nodeType":"YulFunctionCall","src":"27994:58:67"},"nodeType":"YulExpressionStatement","src":"27994:58:67"}]},"name":"store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"27975:6:67","type":""}],"src":"27877:182:67"},{"body":{"nodeType":"YulBlock","src":"28171:142:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"28193:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"28201:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28189:3:67"},"nodeType":"YulFunctionCall","src":"28189:14:67"},{"hexValue":"5769746e6574526571756573744d616c6c6561626c65426173653a207769746e","kind":"string","nodeType":"YulLiteral","src":"28205:34:67","type":"","value":"WitnetRequestMalleableBase: witn"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28182:6:67"},"nodeType":"YulFunctionCall","src":"28182:58:67"},"nodeType":"YulExpressionStatement","src":"28182:58:67"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"28261:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"28269:2:67","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28257:3:67"},"nodeType":"YulFunctionCall","src":"28257:15:67"},{"hexValue":"657373696e6720636f6c6c61746572616c2062656c6f77203120574954","kind":"string","nodeType":"YulLiteral","src":"28274:31:67","type":"","value":"essing collateral below 1 WIT"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28250:6:67"},"nodeType":"YulFunctionCall","src":"28250:56:67"},"nodeType":"YulExpressionStatement","src":"28250:56:67"}]},"name":"store_literal_in_memory_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"28163:6:67","type":""}],"src":"28065:248:67"},{"body":{"nodeType":"YulBlock","src":"28425:67:67","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"28447:6:67"},{"kind":"number","nodeType":"YulLiteral","src":"28455:1:67","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28443:3:67"},"nodeType":"YulFunctionCall","src":"28443:14:67"},{"hexValue":"436c6f6e61626c653a20435245415445206661696c6564","kind":"string","nodeType":"YulLiteral","src":"28459:25:67","type":"","value":"Clonable: CREATE failed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28436:6:67"},"nodeType":"YulFunctionCall","src":"28436:49:67"},"nodeType":"YulExpressionStatement","src":"28436:49:67"}]},"name":"store_literal_in_memory_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"28417:6:67","type":""}],"src":"28319:173:67"},{"body":{"nodeType":"YulBlock","src":"28541:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"28598:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28607:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"28610:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"28600:6:67"},"nodeType":"YulFunctionCall","src":"28600:12:67"},"nodeType":"YulExpressionStatement","src":"28600:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28564:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28589:5:67"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"28571:17:67"},"nodeType":"YulFunctionCall","src":"28571:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"28561:2:67"},"nodeType":"YulFunctionCall","src":"28561:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"28554:6:67"},"nodeType":"YulFunctionCall","src":"28554:43:67"},"nodeType":"YulIf","src":"28551:63:67"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"28534:5:67","type":""}],"src":"28498:122:67"},{"body":{"nodeType":"YulBlock","src":"28669:79:67","statements":[{"body":{"nodeType":"YulBlock","src":"28726:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28735:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"28738:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"28728:6:67"},"nodeType":"YulFunctionCall","src":"28728:12:67"},"nodeType":"YulExpressionStatement","src":"28728:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28692:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28717:5:67"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"28699:17:67"},"nodeType":"YulFunctionCall","src":"28699:24:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"28689:2:67"},"nodeType":"YulFunctionCall","src":"28689:35:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"28682:6:67"},"nodeType":"YulFunctionCall","src":"28682:43:67"},"nodeType":"YulIf","src":"28679:63:67"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"28662:5:67","type":""}],"src":"28626:122:67"},{"body":{"nodeType":"YulBlock","src":"28796:78:67","statements":[{"body":{"nodeType":"YulBlock","src":"28852:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28861:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"28864:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"28854:6:67"},"nodeType":"YulFunctionCall","src":"28854:12:67"},"nodeType":"YulExpressionStatement","src":"28854:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28819:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28843:5:67"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"28826:16:67"},"nodeType":"YulFunctionCall","src":"28826:23:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"28816:2:67"},"nodeType":"YulFunctionCall","src":"28816:34:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"28809:6:67"},"nodeType":"YulFunctionCall","src":"28809:42:67"},"nodeType":"YulIf","src":"28806:62:67"}]},"name":"validator_revert_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"28789:5:67","type":""}],"src":"28754:120:67"},{"body":{"nodeType":"YulBlock","src":"28921:77:67","statements":[{"body":{"nodeType":"YulBlock","src":"28976:16:67","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28985:1:67","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"28988:1:67","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"28978:6:67"},"nodeType":"YulFunctionCall","src":"28978:12:67"},"nodeType":"YulExpressionStatement","src":"28978:12:67"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28944:5:67"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28967:5:67"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"28951:15:67"},"nodeType":"YulFunctionCall","src":"28951:22:67"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"28941:2:67"},"nodeType":"YulFunctionCall","src":"28941:33:67"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"28934:6:67"},"nodeType":"YulFunctionCall","src":"28934:41:67"},"nodeType":"YulIf","src":"28931:61:67"}]},"name":"validator_revert_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"28914:5:67","type":""}],"src":"28880:118:67"}]},"contents":"{\n\n    function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n        array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n        mstore(array, length)\n        let dst := add(array, 0x20)\n        if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n        copy_calldata_to_memory(src, dst, length)\n    }\n\n    function abi_decode_t_address(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_address(value)\n    }\n\n    function abi_decode_t_bytes32(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_bytes32(value)\n    }\n\n    function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n        value := mload(offset)\n        validator_revert_t_bytes32(value)\n    }\n\n    // bytes\n    function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := calldataload(offset)\n        array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n    }\n\n    function abi_decode_t_uint64(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint64(value)\n    }\n\n    function abi_decode_t_uint8(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint8(value)\n    }\n\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_bytes32_fromMemory(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint64(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint64t_uint64(headStart, dataEnd) -> value0, value1 {\n        if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_decode_tuple_t_uint8t_uint8(headStart, dataEnd) -> value0, value1 {\n        if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint8(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_uint8(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n    function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n        mstore(pos, cleanup_t_address(value))\n    }\n\n    function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n        mstore(pos, cleanup_t_bool(value))\n    }\n\n    function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n        mstore(pos, cleanup_t_bytes32(value))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, round_up_to_mul_of_32(length))\n    }\n\n    function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n        let length := array_length_t_bytes_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, length)\n    }\n\n    // bytes -> bytes\n    function abi_encode_t_bytes_storage_to_t_bytes_memory_ptr_fromStack(value, pos) -> ret {\n        let slotValue := sload(value)\n        let length := extract_byte_array_length(slotValue)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n        switch and(slotValue, 1)\n        case 0 {\n            // short byte array\n            mstore(pos, and(slotValue, not(0xff)))\n            ret := add(pos, 0x20)\n        }\n        case 1 {\n            // long byte array\n            let dataPos := array_dataslot_t_bytes_storage(value)\n            let i := 0\n            for { } lt(i, length) { i := add(i, 0x20) } {\n                mstore(add(pos, i), sload(dataPos))\n                dataPos := add(dataPos, 1)\n            }\n            ret := add(pos, i)\n        }\n    }\n\n    // bytes -> bytes\n    function abi_encode_t_bytes_storage_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> ret {\n        let slotValue := sload(value)\n        let length := extract_byte_array_length(slotValue)\n        pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n        switch and(slotValue, 1)\n        case 0 {\n            // short byte array\n            mstore(pos, and(slotValue, not(0xff)))\n            ret := add(pos, length)\n        }\n        case 1 {\n            // long byte array\n            let dataPos := array_dataslot_t_bytes_storage(value)\n            let i := 0\n            for { } lt(i, length) { i := add(i, 0x20) } {\n                mstore(add(pos, i), sload(dataPos))\n                dataPos := add(dataPos, 1)\n            }\n            ret := add(pos, length)\n        }\n    }\n\n    function abi_encode_t_contract$_Clonable_$11629_to_t_address_fromStack(value, pos) {\n        mstore(pos, convert_t_contract$_Clonable_$11629_to_t_address(value))\n    }\n\n    function abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n        store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 61)\n        store_literal_in_memory_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n        store_literal_in_memory_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n        store_literal_in_memory_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_t_stringliteral_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\n        store_literal_in_memory_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 60)\n        store_literal_in_memory_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n        store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_t_stringliteral_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 61)\n        store_literal_in_memory_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 23)\n        store_literal_in_memory_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e(pos)\n        end := add(pos, 32)\n    }\n\n    // struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams -> struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams\n    function abi_encode_t_struct$_WitnetRequestWitnessingParams_$12051_memory_ptr_to_t_struct$_WitnetRequestWitnessingParams_$12051_memory_ptr_fromStack(value, pos)  {\n        let tail := add(pos, 0xa0)\n\n        {\n            // numWitnesses\n\n            let memberValue0 := mload(add(value, 0x00))\n            abi_encode_t_uint8_to_t_uint8(memberValue0, add(pos, 0x00))\n        }\n\n        {\n            // minWitnessingConsensus\n\n            let memberValue0 := mload(add(value, 0x20))\n            abi_encode_t_uint8_to_t_uint8(memberValue0, add(pos, 0x20))\n        }\n\n        {\n            // witnessingCollateral\n\n            let memberValue0 := mload(add(value, 0x40))\n            abi_encode_t_uint64_to_t_uint64(memberValue0, add(pos, 0x40))\n        }\n\n        {\n            // witnessingReward\n\n            let memberValue0 := mload(add(value, 0x60))\n            abi_encode_t_uint64_to_t_uint64(memberValue0, add(pos, 0x60))\n        }\n\n        {\n            // witnessingUnitaryFee\n\n            let memberValue0 := mload(add(value, 0x80))\n            abi_encode_t_uint64_to_t_uint64(memberValue0, add(pos, 0x80))\n        }\n\n    }\n\n    function abi_encode_t_uint128_to_t_uint128_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint128(value))\n    }\n\n    function abi_encode_t_uint64_to_t_uint64(value, pos) {\n        mstore(pos, cleanup_t_uint64(value))\n    }\n\n    function abi_encode_t_uint64_to_t_uint64_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint64(value))\n    }\n\n    function abi_encode_t_uint8_to_t_uint8(value, pos) {\n        mstore(pos, cleanup_t_uint8(value))\n    }\n\n    function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint8(value))\n    }\n\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n        pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_packed_t_bytes_storage_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value5, value4, value3, value2, value1, value0) -> end {\n\n        pos := abi_encode_t_bytes_storage_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value1,  pos)\n\n        pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value2,  pos)\n\n        pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value3,  pos)\n\n        pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value4,  pos)\n\n        pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value5,  pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_address_to_t_address_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_bool_to_t_bool_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_bytes32_to_t_bytes32_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_bytes_storage__to_t_bytes_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_bytes_storage_to_t_bytes_memory_ptr_fromStack(value0,  tail)\n\n    }\n\n    function abi_encode_tuple_t_contract$_Clonable_$11629__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_contract$_Clonable_$11629_to_t_address_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_struct$_WitnetRequestWitnessingParams_$12051_memory_ptr__to_t_struct$_WitnetRequestWitnessingParams_$12051_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 160)\n\n        abi_encode_t_struct$_WitnetRequestWitnessingParams_$12051_memory_ptr_to_t_struct$_WitnetRequestWitnessingParams_$12051_memory_ptr_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_uint128__to_t_uint128__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_uint128_to_t_uint128_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function abi_encode_tuple_t_uint8_t_uint8_t_uint64_t_uint64_t_uint64__to_t_uint8_t_uint8_t_uint64_t_uint64_t_uint64__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n        tail := add(headStart, 160)\n\n        abi_encode_t_uint8_to_t_uint8_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_uint8_to_t_uint8_fromStack(value1,  add(headStart, 32))\n\n        abi_encode_t_uint64_to_t_uint64_fromStack(value2,  add(headStart, 64))\n\n        abi_encode_t_uint64_to_t_uint64_fromStack(value3,  add(headStart, 96))\n\n        abi_encode_t_uint64_to_t_uint64_fromStack(value4,  add(headStart, 128))\n\n    }\n\n    function allocate_memory(size) -> memPtr {\n        memPtr := allocate_unbounded()\n        finalize_allocation(memPtr, size)\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n        // Make sure we can allocate memory without overflow\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n        size := round_up_to_mul_of_32(length)\n\n        // add length slot\n        size := add(size, 0x20)\n\n    }\n\n    function array_dataslot_t_bytes_storage(ptr) -> data {\n        data := ptr\n\n        mstore(0, ptr)\n        data := keccak256(0, 0x20)\n\n    }\n\n    function array_length_t_bytes_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n        updated_pos := pos\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function checked_add_t_uint64(x, y) -> sum {\n        x := cleanup_t_uint64(x)\n        y := cleanup_t_uint64(y)\n\n        // overflow, if x > (maxValue - y)\n        if gt(x, sub(0xffffffffffffffff, y)) { panic_error_0x11() }\n\n        sum := add(x, y)\n    }\n\n    function checked_mul_t_uint64(x, y) -> product {\n        x := cleanup_t_uint64(x)\n        y := cleanup_t_uint64(y)\n\n        // overflow, if x != 0 and y > (maxValue / x)\n        if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffff, x))) { panic_error_0x11() }\n\n        product := mul(x, y)\n    }\n\n    function checked_sub_t_uint64(x, y) -> diff {\n        x := cleanup_t_uint64(x)\n        y := cleanup_t_uint64(y)\n\n        if lt(x, y) { panic_error_0x11() }\n\n        diff := sub(x, y)\n    }\n\n    function cleanup_t_address(value) -> cleaned {\n        cleaned := cleanup_t_uint160(value)\n    }\n\n    function cleanup_t_bool(value) -> cleaned {\n        cleaned := iszero(iszero(value))\n    }\n\n    function cleanup_t_bytes32(value) -> cleaned {\n        cleaned := value\n    }\n\n    function cleanup_t_uint128(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffffffffffffffffffff)\n    }\n\n    function cleanup_t_uint160(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n    }\n\n    function cleanup_t_uint64(value) -> cleaned {\n        cleaned := and(value, 0xffffffffffffffff)\n    }\n\n    function cleanup_t_uint8(value) -> cleaned {\n        cleaned := and(value, 0xff)\n    }\n\n    function convert_t_contract$_Clonable_$11629_to_t_address(value) -> converted {\n        converted := convert_t_uint160_to_t_address(value)\n    }\n\n    function convert_t_uint160_to_t_address(value) -> converted {\n        converted := convert_t_uint160_to_t_uint160(value)\n    }\n\n    function convert_t_uint160_to_t_uint160(value) -> converted {\n        converted := cleanup_t_uint160(value)\n    }\n\n    function copy_calldata_to_memory(src, dst, length) {\n        calldatacopy(dst, src, length)\n        // clear end\n        mstore(add(dst, length), 0)\n    }\n\n    function copy_memory_to_memory(src, dst, length) {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        if gt(i, length)\n        {\n            // clear end\n            mstore(add(dst, length), 0)\n        }\n    }\n\n    function extract_byte_array_length(data) -> length {\n        length := div(data, 2)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) {\n            length := and(length, 0x7f)\n        }\n\n        if eq(outOfPlaceEncoding, lt(length, 32)) {\n            panic_error_0x22()\n        }\n    }\n\n    function finalize_allocation(memPtr, size) {\n        let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n        // protect against overflow\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n\n    function increment_t_uint64(value) -> ret {\n        value := cleanup_t_uint64(value)\n        if eq(value, 0xffffffffffffffff) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n\n    function panic_error_0x01() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x01)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x11() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x22() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x22)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x32() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x41() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n\n    function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n        revert(0, 0)\n    }\n\n    function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n        revert(0, 0)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function round_up_to_mul_of_32(value) -> result {\n        result := and(add(value, 31), not(31))\n    }\n\n    function store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(memPtr) {\n\n        mstore(add(memPtr, 0), \"Ownable: new owner is the zero a\")\n\n        mstore(add(memPtr, 32), \"ddress\")\n\n    }\n\n    function store_literal_in_memory_253d8212e2277e094a57b61f36d157bc381d508b106be0b6fcbbffe41d33bf18(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestMalleableBase: witn\")\n\n        mstore(add(memPtr, 32), \"essing consensus out of range\")\n\n    }\n\n    function store_literal_in_memory_3028811fe85e0826df2c92b176dbfdf22979bf926c81a0f3926f04f1a7204abf(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestMalleableBase: no r\")\n\n        mstore(add(memPtr, 32), \"eward\")\n\n    }\n\n    function store_literal_in_memory_62587aaa6633c4a97ccbc8d0b840d369355afe237fccc225f604c3b177c5bfdf(memPtr) {\n\n        mstore(add(memPtr, 0), \"Clonable: CREATE2 failed\")\n\n    }\n\n    function store_literal_in_memory_66186945941ba062abde9fee4c56b73a3a06cc46fda579ce7fa6afa4e66f30ff(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestMalleableBase: alre\")\n\n        mstore(add(memPtr, 32), \"ady initialized\")\n\n    }\n\n    function store_literal_in_memory_8766685b734726cea7263646f850b1addbdca2b7fd3f271ce6444480f6af6aae(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestMalleableBase: numb\")\n\n        mstore(add(memPtr, 32), \"er of witnesses out of range\")\n\n    }\n\n    function store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(memPtr) {\n\n        mstore(add(memPtr, 0), \"Ownable: caller is not the owner\")\n\n    }\n\n    function store_literal_in_memory_f7f6bfd48e19a6009adf6f0a02998771391f9b142a1219c74df79defc2a7495e(memPtr) {\n\n        mstore(add(memPtr, 0), \"WitnetRequestMalleableBase: witn\")\n\n        mstore(add(memPtr, 32), \"essing collateral below 1 WIT\")\n\n    }\n\n    function store_literal_in_memory_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e(memPtr) {\n\n        mstore(add(memPtr, 0), \"Clonable: CREATE failed\")\n\n    }\n\n    function validator_revert_t_address(value) {\n        if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_bytes32(value) {\n        if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint64(value) {\n        if iszero(eq(value, cleanup_t_uint64(value))) { revert(0, 0) }\n    }\n\n    function validator_revert_t_uint8(value) {\n        if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n    }\n\n}\n","id":67,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"11531":[{"length":32,"start":1577},{"length":32,"start":1937},{"length":32,"start":3874},{"length":32,"start":4138},{"length":32,"start":5235},{"length":32,"start":5500}]},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106101165760003560e01c80638da5cb5b116100a2578063daaa360c11610071578063daaa360c14610287578063ef53d97a146102b7578063f0940002146102d5578063f2fde38b146102f3578063ff21c3ba1461030f57610116565b80638da5cb5b14610213578063a04daef014610231578063d196c2e31461024f578063d9b9a9611461026b57610116565b806352d1902d116100e957806352d1902d146101915780636f2ddd93146101af5780637104ddb2146101cd578063715018a6146101eb5780638a481dad146101f557610116565b806309bd5a601461011b57806309ed460714610139578063439fab911461015757806348f9b83114610173575b600080fd5b61012361032b565b6040516101309190612113565b60405180910390f35b61014161033e565b60405161014e9190612172565b60405180910390f35b610171600480360381019061016c9190611be5565b61042d565b005b61017b61046e565b60405161018891906122ad565b60405180910390f35b610199610561565b6040516101a69190612113565b60405180910390f35b6101b761058c565b6040516101c4919061212e565b60405180910390f35b6101d5610627565b6040516101e291906120dd565b60405180910390f35b6101f361064b565b005b6101fd6106d3565b60405161020a91906122c8565b60405180910390f35b61021b61075a565b60405161022891906120dd565b60405180910390f35b61023961078d565b60405161024691906120f8565b60405180910390f35b61026960048036038101906102649190611c9b565b6107e4565b005b61028560048036038101906102809190611c2e565b610903565b005b6102a1600480360381019061029c9190611b8b565b610a1c565b6040516102ae9190612172565b60405180910390f35b6102bf610b0e565b6040516102cc91906122c8565b60405180910390f35b6102dd610b66565b6040516102ea919061212e565b60405180910390f35b61030d60048036038101906103089190611b5e565b610c01565b005b61032960048036038101906103249190611c5b565b610cf9565b005b6000610335610ef5565b60030154905090565b6000610348610f1d565b90508073ffffffffffffffffffffffffffffffffffffffff1663439fab9161036e610ef5565b6001016040518263ffffffff1660e01b815260040161038d9190612150565b600060405180830381600087803b1580156103a757600080fd5b505af11580156103bb573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663f2fde38b336040518263ffffffff1660e01b81526004016103f891906120dd565b600060405180830381600087803b15801561041257600080fd5b505af1158015610426573d6000803e3d6000fd5b5050505090565b61046b6040518060400160405280601181526020017f0a0f120508021a01801a0210022202100b000000000000000000000000000000815250610e26565b50565b61047661198f565b61047e610ef5565b6004016040518060a00160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201600a9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016000820160129054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681525050905090565b60007f851d0a92a3ad30295bef33afc69d6874779826b7789386b336e22621365ed2c260001b905090565b6060610596610ef5565b60010180546105a49061258a565b80601f01602080910402602001604051908101604052809291908181526020018280546105d09061258a565b801561061d5780601f106105f25761010080835404028352916020019161061d565b820191906000526020600020905b81548152906001019060200180831161060057829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6106536110a6565b73ffffffffffffffffffffffffffffffffffffffff1661067161075a565b73ffffffffffffffffffffffffffffffffffffffff16146106c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106be9061224d565b60405180910390fd5b6106d160006110ae565b565b6000806106de610ef5565b600401905080600001600a9054906101000a900467ffffffffffffffff168160000160129054906101000a900467ffffffffffffffff1660026107219190612417565b61072b91906123d9565b8160000160009054906101000a900460ff1660ff1661074a9190612417565b67ffffffffffffffff1691505090565b6000610764610ef5565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415905090565b6107ec6110a6565b73ffffffffffffffffffffffffffffffffffffffff1661080a61075a565b73ffffffffffffffffffffffffffffffffffffffff1614610860576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108579061224d565b60405180910390fd5b600061086a610ef5565b6004019050828160000160006101000a81548160ff021916908360ff160217905550818160000160016101000a81548160ff021916908360ff1602179055506108fe83838360000160029054906101000a900467ffffffffffffffff1684600001600a9054906101000a900467ffffffffffffffff168560000160129054906101000a900467ffffffffffffffff16611186565b505050565b61090b6110a6565b73ffffffffffffffffffffffffffffffffffffffff1661092961075a565b73ffffffffffffffffffffffffffffffffffffffff161461097f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109769061224d565b60405180910390fd5b6000610989610ef5565b6004019050818160000160026101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550610a188160000160009054906101000a900460ff168260000160019054906101000a900460ff168484600001600a9054906101000a900467ffffffffffffffff168560000160129054906101000a900467ffffffffffffffff16611186565b5050565b6000610a278261146e565b90508073ffffffffffffffffffffffffffffffffffffffff1663439fab91610a4d610ef5565b6001016040518263ffffffff1660e01b8152600401610a6c9190612150565b600060405180830381600087803b158015610a8657600080fd5b505af1158015610a9a573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663f2fde38b336040518263ffffffff1660e01b8152600401610ad791906120dd565b600060405180830381600087803b158015610af157600080fd5b505af1158015610b05573d6000803e3d6000fd5b50505050919050565b600080610b19610ef5565b60040190508060000160029054906101000a900467ffffffffffffffff168160000160009054906101000a900460ff1660ff16610b569190612417565b67ffffffffffffffff1691505090565b6060610b70610ef5565b6002018054610b7e9061258a565b80601f0160208091040260200160405190810160405280929190818152602001828054610baa9061258a565b8015610bf75780601f10610bcc57610100808354040283529160200191610bf7565b820191906000526020600020905b815481529060010190602001808311610bda57829003601f168201915b5050505050905090565b610c096110a6565b73ffffffffffffffffffffffffffffffffffffffff16610c2761075a565b73ffffffffffffffffffffffffffffffffffffffff1614610c7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c749061224d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ced576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce49061218d565b60405180910390fd5b610cf6816110ae565b50565b610d016110a6565b73ffffffffffffffffffffffffffffffffffffffff16610d1f61075a565b73ffffffffffffffffffffffffffffffffffffffff1614610d75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6c9061224d565b60405180910390fd5b6000610d7f610ef5565b60040190508281600001600a6101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550818160000160126101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550610e218160000160009054906101000a900460ff168260000160019054906101000a900460ff168360000160029054906101000a900467ffffffffffffffff168686611186565b505050565b6000610e30610ef5565b6001018054610e3e9061258a565b905014610e80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e779061220d565b60405180910390fd5b610e89816115fa565b610e99610e946110a6565b6110ae565b50565b6000600282604051610eae919061206e565b602060405180830381855afa158015610ecb573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610eee9190611bb8565b9050919050565b60007f375930152e1d0d102998be6e496b0cee86c9ecd0efef01014ecff169b17dfba7905090565b6000807f000000000000000000000000000000000000000000000000000000000000000090506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160601b60148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f0925050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611011576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110089061228d565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff376596be5039d6b2fb36fead4c8a370eae426e790a869be8db074ab608cc24860405160405180910390a45090565b600033905090565b60006110b8610ef5565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816110e7610ef5565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008267ffffffffffffffff16116111d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ca906121cd565b60405180910390fd5b60018560ff16101580156111eb5750607f8560ff1611155b61122a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112219061222d565b60405180910390fd5b60338460ff1610158015611242575060638460ff1611155b611281576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611278906121ad565b60405180910390fd5b633b9aca008367ffffffffffffffff1610156112d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c99061226d565b60405180910390fd5b6112da610ef5565b6001016112eb601060f81b8461177d565b6112f9601860f81b88611978565b611307602060f81b8561177d565b611315602860f81b89611978565b611323603060f81b8961177d565b60405160200161133896959493929190612085565b60405160208183030381529060405261134f610ef5565b60020190805190602001906113659291906119e2565b50611402611371610ef5565b600201805461137f9061258a565b80601f01602080910402602001604051908101604052809291908181526020018280546113ab9061258a565b80156113f85780601f106113cd576101008083540402835291602001916113f8565b820191906000526020600020905b8154815290600101906020018083116113db57829003601f168201915b5050505050610e9c565b61140a610ef5565b600301819055503373ffffffffffffffffffffffffffffffffffffffff167f897a395aeb2699d9730b6377870654a5c371d6bb6dc4486cfc5c80eeafd095b0868686868660405161145f9594939291906122e3565b60405180910390a25050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000090506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160601b60148201527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006028820152836037826000f5925050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611563576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155a906121ed565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff376596be5039d6b2fb36fead4c8a370eae426e790a869be8db074ab608cc24860405160405180910390a450919050565b600081511161160c5761160b61261e565b5b80611615610ef5565b600101908051906020019061162b9291906119e2565b506000611636610ef5565b600401905060028160000160006101000a81548160ff021916908360ff16021790555060338160000160016101000a81548160ff021916908360ff160217905550633b9aca008160000160026101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506207a12081600001600a6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506203d0908160000160126101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506117798160000160009054906101000a900460ff168260000160019054906101000a900460ff168360000160029054906101000a900467ffffffffffffffff1684600001600a9054906101000a900467ffffffffffffffff168560000160129054906101000a900467ffffffffffffffff16611186565b5050565b606060008290506000600290505b607f8267ffffffffffffffff1611156117c35760078267ffffffffffffffff16901c91506001816117bc91906123d9565b905061178b565b60008167ffffffffffffffff1667ffffffffffffffff8111156117e9576117e86126da565b5b6040519080825280601f01601f19166020018201604052801561181b5781602001600182028036833780820191505090505b5090508492508581600081518110611836576118356126ab565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600190505b8267ffffffffffffffff168167ffffffffffffffff16101561190257607f841660801760f81b828267ffffffffffffffff16815181106118af576118ae6126ab565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060078467ffffffffffffffff16901c935080806118fa906125ed565b91505061186c565b50607f60f81b816001846119169190612459565b67ffffffffffffffff1681518110611931576119306126ab565b5b6020010181815160f81c60f81b169150907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080935050505092915050565b6060611987838360ff1661177d565b905092915050565b6040518060a00160405280600060ff168152602001600060ff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff1681525090565b8280546119ee9061258a565b90600052602060002090601f016020900481019282611a105760008555611a57565b82601f10611a2957805160ff1916838001178555611a57565b82800160010185558215611a57579182015b82811115611a56578251825591602001919060010190611a3b565b5b509050611a649190611a68565b5090565b5b80821115611a81576000816000905550600101611a69565b5090565b6000611a98611a938461235b565b612336565b905082815260208101848484011115611ab457611ab361270e565b5b611abf848285612548565b509392505050565b600081359050611ad681612983565b92915050565b600081359050611aeb8161299a565b92915050565b600081519050611b008161299a565b92915050565b600082601f830112611b1b57611b1a612709565b5b8135611b2b848260208601611a85565b91505092915050565b600081359050611b43816129b1565b92915050565b600081359050611b58816129c8565b92915050565b600060208284031215611b7457611b73612718565b5b6000611b8284828501611ac7565b91505092915050565b600060208284031215611ba157611ba0612718565b5b6000611baf84828501611adc565b91505092915050565b600060208284031215611bce57611bcd612718565b5b6000611bdc84828501611af1565b91505092915050565b600060208284031215611bfb57611bfa612718565b5b600082013567ffffffffffffffff811115611c1957611c18612713565b5b611c2584828501611b06565b91505092915050565b600060208284031215611c4457611c43612718565b5b6000611c5284828501611b34565b91505092915050565b60008060408385031215611c7257611c71612718565b5b6000611c8085828601611b34565b9250506020611c9185828601611b34565b9150509250929050565b60008060408385031215611cb257611cb1612718565b5b6000611cc085828601611b49565b9250506020611cd185828601611b49565b9150509250929050565b611ce48161248d565b82525050565b611cf38161249f565b82525050565b611d02816124ab565b82525050565b6000611d13826123a1565b611d1d81856123ac565b9350611d2d818560208601612557565b611d368161271d565b840191505092915050565b6000611d4c826123a1565b611d5681856123bd565b9350611d66818560208601612557565b80840191505092915050565b60008154611d7f8161258a565b611d8981866123ac565b94506001821660008114611da45760018114611db657611de9565b60ff1983168652602086019350611de9565b611dbf8561238c565b60005b83811015611de157815481890152600182019150602081019050611dc2565b808801955050505b50505092915050565b60008154611dff8161258a565b611e0981866123bd565b94506001821660008114611e245760018114611e3557611e68565b60ff19831686528186019350611e68565b611e3e8561238c565b60005b83811015611e6057815481890152600182019150602081019050611e41565b838801955050505b50505092915050565b611e7a81612512565b82525050565b6000611e8d6026836123c8565b9150611e988261272e565b604082019050919050565b6000611eb0603d836123c8565b9150611ebb8261277d565b604082019050919050565b6000611ed36025836123c8565b9150611ede826127cc565b604082019050919050565b6000611ef66018836123c8565b9150611f018261281b565b602082019050919050565b6000611f19602f836123c8565b9150611f2482612844565b604082019050919050565b6000611f3c603c836123c8565b9150611f4782612893565b604082019050919050565b6000611f5f6020836123c8565b9150611f6a826128e2565b602082019050919050565b6000611f82603d836123c8565b9150611f8d8261290b565b604082019050919050565b6000611fa56017836123c8565b9150611fb08261295a565b602082019050919050565b60a082016000820151611fd16000850182612050565b506020820151611fe46020850182612050565b506040820151611ff76040850182612032565b50606082015161200a6060850182612032565b50608082015161201d6080850182612032565b50505050565b61202c816124b5565b82525050565b61203b816124f1565b82525050565b61204a816124f1565b82525050565b61205981612505565b82525050565b61206881612505565b82525050565b600061207a8284611d41565b915081905092915050565b60006120918289611df2565b915061209d8288611d41565b91506120a98287611d41565b91506120b58286611d41565b91506120c18285611d41565b91506120cd8284611d41565b9150819050979650505050505050565b60006020820190506120f26000830184611cdb565b92915050565b600060208201905061210d6000830184611cea565b92915050565b60006020820190506121286000830184611cf9565b92915050565b600060208201905081810360008301526121488184611d08565b905092915050565b6000602082019050818103600083015261216a8184611d72565b905092915050565b60006020820190506121876000830184611e71565b92915050565b600060208201905081810360008301526121a681611e80565b9050919050565b600060208201905081810360008301526121c681611ea3565b9050919050565b600060208201905081810360008301526121e681611ec6565b9050919050565b6000602082019050818103600083015261220681611ee9565b9050919050565b6000602082019050818103600083015261222681611f0c565b9050919050565b6000602082019050818103600083015261224681611f2f565b9050919050565b6000602082019050818103600083015261226681611f52565b9050919050565b6000602082019050818103600083015261228681611f75565b9050919050565b600060208201905081810360008301526122a681611f98565b9050919050565b600060a0820190506122c26000830184611fbb565b92915050565b60006020820190506122dd6000830184612023565b92915050565b600060a0820190506122f8600083018861205f565b612305602083018761205f565b6123126040830186612041565b61231f6060830185612041565b61232c6080830184612041565b9695505050505050565b6000612340612351565b905061234c82826125bc565b919050565b6000604051905090565b600067ffffffffffffffff821115612376576123756126da565b5b61237f8261271d565b9050602081019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006123e4826124f1565b91506123ef836124f1565b92508267ffffffffffffffff0382111561240c5761240b61264d565b5b828201905092915050565b6000612422826124f1565b915061242d836124f1565b92508167ffffffffffffffff048311821515161561244e5761244d61264d565b5b828202905092915050565b6000612464826124f1565b915061246f836124f1565b9250828210156124825761248161264d565b5b828203905092915050565b6000612498826124d1565b9050919050565b60008115159050919050565b6000819050919050565b60006fffffffffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b600061251d82612524565b9050919050565b600061252f82612536565b9050919050565b6000612541826124d1565b9050919050565b82818337600083830152505050565b60005b8381101561257557808201518184015260208101905061255a565b83811115612584576000848401525b50505050565b600060028204905060018216806125a257607f821691505b602082108114156125b6576125b561267c565b5b50919050565b6125c58261271d565b810181811067ffffffffffffffff821117156125e4576125e36126da565b5b80604052505050565b60006125f8826124f1565b915067ffffffffffffffff8214156126135761261261264d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a207769746e60008201527f657373696e6720636f6e73656e737573206f7574206f662072616e6765000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a206e6f207260008201527f6577617264000000000000000000000000000000000000000000000000000000602082015250565b7f436c6f6e61626c653a2043524541544532206661696c65640000000000000000600082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a20616c726560008201527f61647920696e697469616c697a65640000000000000000000000000000000000602082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a206e756d6260008201527f6572206f66207769746e6573736573206f7574206f662072616e676500000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5769746e6574526571756573744d616c6c6561626c65426173653a207769746e60008201527f657373696e6720636f6c6c61746572616c2062656c6f77203120574954000000602082015250565b7f436c6f6e61626c653a20435245415445206661696c6564000000000000000000600082015250565b61298c8161248d565b811461299757600080fd5b50565b6129a3816124ab565b81146129ae57600080fd5b50565b6129ba816124f1565b81146129c557600080fd5b50565b6129d181612505565b81146129dc57600080fd5b5056fea264697066735822122018d3be95fdcbd8bc6f0654dc2eb3dcdc04b923b60a7642bd2f454937f279d0f064736f6c63430008070033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x116 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0xA2 JUMPI DUP1 PUSH4 0xDAAA360C GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xDAAA360C EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0xEF53D97A EQ PUSH2 0x2B7 JUMPI DUP1 PUSH4 0xF0940002 EQ PUSH2 0x2D5 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x2F3 JUMPI DUP1 PUSH4 0xFF21C3BA EQ PUSH2 0x30F JUMPI PUSH2 0x116 JUMP JUMPDEST DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x213 JUMPI DUP1 PUSH4 0xA04DAEF0 EQ PUSH2 0x231 JUMPI DUP1 PUSH4 0xD196C2E3 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0xD9B9A961 EQ PUSH2 0x26B JUMPI PUSH2 0x116 JUMP JUMPDEST DUP1 PUSH4 0x52D1902D GT PUSH2 0xE9 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x191 JUMPI DUP1 PUSH4 0x6F2DDD93 EQ PUSH2 0x1AF JUMPI DUP1 PUSH4 0x7104DDB2 EQ PUSH2 0x1CD JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1EB JUMPI DUP1 PUSH4 0x8A481DAD EQ PUSH2 0x1F5 JUMPI PUSH2 0x116 JUMP JUMPDEST DUP1 PUSH4 0x9BD5A60 EQ PUSH2 0x11B JUMPI DUP1 PUSH4 0x9ED4607 EQ PUSH2 0x139 JUMPI DUP1 PUSH4 0x439FAB91 EQ PUSH2 0x157 JUMPI DUP1 PUSH4 0x48F9B831 EQ PUSH2 0x173 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x123 PUSH2 0x32B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x130 SWAP2 SWAP1 PUSH2 0x2113 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x141 PUSH2 0x33E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14E SWAP2 SWAP1 PUSH2 0x2172 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x171 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16C SWAP2 SWAP1 PUSH2 0x1BE5 JUMP JUMPDEST PUSH2 0x42D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x17B PUSH2 0x46E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x188 SWAP2 SWAP1 PUSH2 0x22AD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x199 PUSH2 0x561 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A6 SWAP2 SWAP1 PUSH2 0x2113 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B7 PUSH2 0x58C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C4 SWAP2 SWAP1 PUSH2 0x212E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1D5 PUSH2 0x627 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E2 SWAP2 SWAP1 PUSH2 0x20DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F3 PUSH2 0x64B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1FD PUSH2 0x6D3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x20A SWAP2 SWAP1 PUSH2 0x22C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x21B PUSH2 0x75A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x228 SWAP2 SWAP1 PUSH2 0x20DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x239 PUSH2 0x78D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x246 SWAP2 SWAP1 PUSH2 0x20F8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x269 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x264 SWAP2 SWAP1 PUSH2 0x1C9B JUMP JUMPDEST PUSH2 0x7E4 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x285 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x280 SWAP2 SWAP1 PUSH2 0x1C2E JUMP JUMPDEST PUSH2 0x903 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2A1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x29C SWAP2 SWAP1 PUSH2 0x1B8B JUMP JUMPDEST PUSH2 0xA1C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2AE SWAP2 SWAP1 PUSH2 0x2172 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2BF PUSH2 0xB0E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2CC SWAP2 SWAP1 PUSH2 0x22C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2DD PUSH2 0xB66 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2EA SWAP2 SWAP1 PUSH2 0x212E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x30D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x308 SWAP2 SWAP1 PUSH2 0x1B5E JUMP JUMPDEST PUSH2 0xC01 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x329 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x324 SWAP2 SWAP1 PUSH2 0x1C5B JUMP JUMPDEST PUSH2 0xCF9 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH2 0x335 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x348 PUSH2 0xF1D JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x439FAB91 PUSH2 0x36E PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x38D SWAP2 SWAP1 PUSH2 0x2150 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3BB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF2FDE38B CALLER PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3F8 SWAP2 SWAP1 PUSH2 0x20DD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x412 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x426 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP SWAP1 JUMP JUMPDEST PUSH2 0x46B PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x11 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0xA0F120508021A01801A0210022202100B000000000000000000000000000000 DUP2 MSTORE POP PUSH2 0xE26 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x476 PUSH2 0x198F JUMP JUMPDEST PUSH2 0x47E PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x12 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x851D0A92A3AD30295BEF33AFC69D6874779826B7789386B336E22621365ED2C2 PUSH1 0x0 SHL SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x596 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x5A4 SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x5D0 SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 ISZERO PUSH2 0x61D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5F2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x61D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x600 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH2 0x653 PUSH2 0x10A6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x671 PUSH2 0x75A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x6C7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6BE SWAP1 PUSH2 0x224D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x6D1 PUSH1 0x0 PUSH2 0x10AE JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6DE PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH1 0x0 ADD PUSH1 0x12 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x2 PUSH2 0x721 SWAP2 SWAP1 PUSH2 0x2417 JUMP JUMPDEST PUSH2 0x72B SWAP2 SWAP1 PUSH2 0x23D9 JUMP JUMPDEST DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH2 0x74A SWAP2 SWAP1 PUSH2 0x2417 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x764 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x7EC PUSH2 0x10A6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x80A PUSH2 0x75A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x860 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x857 SWAP1 PUSH2 0x224D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x86A PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP DUP3 DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x0 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x8FE DUP4 DUP4 DUP4 PUSH1 0x0 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0x0 ADD PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP6 PUSH1 0x0 ADD PUSH1 0x12 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x1186 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x90B PUSH2 0x10A6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x929 PUSH2 0x75A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x97F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x976 SWAP1 PUSH2 0x224D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x989 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP DUP2 DUP2 PUSH1 0x0 ADD PUSH1 0x2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0xA18 DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP3 PUSH1 0x0 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP5 DUP5 PUSH1 0x0 ADD PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP6 PUSH1 0x0 ADD PUSH1 0x12 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x1186 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA27 DUP3 PUSH2 0x146E JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x439FAB91 PUSH2 0xA4D PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA6C SWAP2 SWAP1 PUSH2 0x2150 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xA9A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF2FDE38B CALLER PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAD7 SWAP2 SWAP1 PUSH2 0x20DD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xAF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xB05 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB19 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH2 0xB56 SWAP2 SWAP1 PUSH2 0x2417 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0xB70 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0xB7E SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xBAA SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 ISZERO PUSH2 0xBF7 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xBCC JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xBF7 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xBDA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xC09 PUSH2 0x10A6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xC27 PUSH2 0x75A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xC7D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC74 SWAP1 PUSH2 0x224D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xCED JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCE4 SWAP1 PUSH2 0x218D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xCF6 DUP2 PUSH2 0x10AE JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0xD01 PUSH2 0x10A6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xD1F PUSH2 0x75A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xD75 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD6C SWAP1 PUSH2 0x224D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xD7F PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP DUP3 DUP2 PUSH1 0x0 ADD PUSH1 0xA PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x0 ADD PUSH1 0x12 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0xE21 DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP3 PUSH1 0x0 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP4 PUSH1 0x0 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP7 DUP7 PUSH2 0x1186 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE30 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0xE3E SWAP1 PUSH2 0x258A JUMP JUMPDEST SWAP1 POP EQ PUSH2 0xE80 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE77 SWAP1 PUSH2 0x220D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xE89 DUP2 PUSH2 0x15FA JUMP JUMPDEST PUSH2 0xE99 PUSH2 0xE94 PUSH2 0x10A6 JUMP JUMPDEST PUSH2 0x10AE JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 PUSH1 0x40 MLOAD PUSH2 0xEAE SWAP2 SWAP1 PUSH2 0x206E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xECB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST 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 0xEEE SWAP2 SWAP1 PUSH2 0x1BB8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x375930152E1D0D102998BE6E496B0CEE86C9ECD0EFEF01014ECFF169B17DFBA7 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 SWAP1 POP PUSH1 0x40 MLOAD PUSH32 0x3D602D80600A3D3981F3363D3D373D3D3D363D73000000000000000000000000 DUP2 MSTORE DUP2 PUSH1 0x60 SHL PUSH1 0x14 DUP3 ADD MSTORE PUSH32 0x5AF43D82803E903D91602B57FD5BF30000000000000000000000000000000000 PUSH1 0x28 DUP3 ADD MSTORE PUSH1 0x37 DUP2 PUSH1 0x0 CREATE SWAP3 POP POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1011 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1008 SWAP1 PUSH2 0x228D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF376596BE5039D6B2FB36FEAD4C8A370EAE426E790A869BE8DB074AB608CC248 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10B8 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH2 0x10E7 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND GT PUSH2 0x11D3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11CA SWAP1 PUSH2 0x21CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP6 PUSH1 0xFF AND LT ISZERO DUP1 ISZERO PUSH2 0x11EB JUMPI POP PUSH1 0x7F DUP6 PUSH1 0xFF AND GT ISZERO JUMPDEST PUSH2 0x122A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1221 SWAP1 PUSH2 0x222D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x33 DUP5 PUSH1 0xFF AND LT ISZERO DUP1 ISZERO PUSH2 0x1242 JUMPI POP PUSH1 0x63 DUP5 PUSH1 0xFF AND GT ISZERO JUMPDEST PUSH2 0x1281 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1278 SWAP1 PUSH2 0x21AD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH4 0x3B9ACA00 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x12D2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12C9 SWAP1 PUSH2 0x226D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x12DA PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD PUSH2 0x12EB PUSH1 0x10 PUSH1 0xF8 SHL DUP5 PUSH2 0x177D JUMP JUMPDEST PUSH2 0x12F9 PUSH1 0x18 PUSH1 0xF8 SHL DUP9 PUSH2 0x1978 JUMP JUMPDEST PUSH2 0x1307 PUSH1 0x20 PUSH1 0xF8 SHL DUP6 PUSH2 0x177D JUMP JUMPDEST PUSH2 0x1315 PUSH1 0x28 PUSH1 0xF8 SHL DUP10 PUSH2 0x1978 JUMP JUMPDEST PUSH2 0x1323 PUSH1 0x30 PUSH1 0xF8 SHL DUP10 PUSH2 0x177D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1338 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2085 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH2 0x134F PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x1365 SWAP3 SWAP2 SWAP1 PUSH2 0x19E2 JUMP JUMPDEST POP PUSH2 0x1402 PUSH2 0x1371 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x137F SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x13AB SWAP1 PUSH2 0x258A JUMP JUMPDEST DUP1 ISZERO PUSH2 0x13F8 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x13CD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x13F8 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x13DB JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP PUSH2 0xE9C JUMP JUMPDEST PUSH2 0x140A PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x897A395AEB2699D9730B6377870654A5C371D6BB6DC4486CFC5C80EEAFD095B0 DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x145F SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x22E3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 SWAP1 POP PUSH1 0x40 MLOAD PUSH32 0x3D602D80600A3D3981F3363D3D373D3D3D363D73000000000000000000000000 DUP2 MSTORE DUP2 PUSH1 0x60 SHL PUSH1 0x14 DUP3 ADD MSTORE PUSH32 0x5AF43D82803E903D91602B57FD5BF30000000000000000000000000000000000 PUSH1 0x28 DUP3 ADD MSTORE DUP4 PUSH1 0x37 DUP3 PUSH1 0x0 CREATE2 SWAP3 POP POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1563 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x155A SWAP1 PUSH2 0x21ED JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF376596BE5039D6B2FB36FEAD4C8A370EAE426E790A869BE8DB074AB608CC248 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x160C JUMPI PUSH2 0x160B PUSH2 0x261E JUMP JUMPDEST JUMPDEST DUP1 PUSH2 0x1615 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x162B SWAP3 SWAP2 SWAP1 PUSH2 0x19E2 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x1636 PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x4 ADD SWAP1 POP PUSH1 0x2 DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x33 DUP2 PUSH1 0x0 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH4 0x3B9ACA00 DUP2 PUSH1 0x0 ADD PUSH1 0x2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x7A120 DUP2 PUSH1 0x0 ADD PUSH1 0xA PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x3D090 DUP2 PUSH1 0x0 ADD PUSH1 0x12 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x1779 DUP2 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP3 PUSH1 0x0 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP4 PUSH1 0x0 ADD PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0x0 ADD PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP6 PUSH1 0x0 ADD PUSH1 0x12 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x1186 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP3 SWAP1 POP PUSH1 0x0 PUSH1 0x2 SWAP1 POP JUMPDEST PUSH1 0x7F DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND GT ISZERO PUSH2 0x17C3 JUMPI PUSH1 0x7 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 SHR SWAP2 POP PUSH1 0x1 DUP2 PUSH2 0x17BC SWAP2 SWAP1 PUSH2 0x23D9 JUMP JUMPDEST SWAP1 POP PUSH2 0x178B JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x17E9 JUMPI PUSH2 0x17E8 PUSH2 0x26DA JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x181B JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP DUP5 SWAP3 POP DUP6 DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1836 JUMPI PUSH2 0x1835 PUSH2 0x26AB JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x0 PUSH1 0x1 SWAP1 POP JUMPDEST DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x1902 JUMPI PUSH1 0x7F DUP5 AND PUSH1 0x80 OR PUSH1 0xF8 SHL DUP3 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MLOAD DUP2 LT PUSH2 0x18AF JUMPI PUSH2 0x18AE PUSH2 0x26AB JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x7 DUP5 PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 SHR SWAP4 POP DUP1 DUP1 PUSH2 0x18FA SWAP1 PUSH2 0x25ED JUMP JUMPDEST SWAP2 POP POP PUSH2 0x186C JUMP JUMPDEST POP PUSH1 0x7F PUSH1 0xF8 SHL DUP2 PUSH1 0x1 DUP5 PUSH2 0x1916 SWAP2 SWAP1 PUSH2 0x2459 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MLOAD DUP2 LT PUSH2 0x1931 JUMPI PUSH2 0x1930 PUSH2 0x26AB JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD DUP2 DUP2 MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL AND SWAP2 POP SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP1 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1987 DUP4 DUP4 PUSH1 0xFF AND PUSH2 0x177D JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x19EE SWAP1 PUSH2 0x258A JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x1A10 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x1A57 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x1A29 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x1A57 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x1A57 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x1A56 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1A3B JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x1A64 SWAP2 SWAP1 PUSH2 0x1A68 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x1A81 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x1A69 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A98 PUSH2 0x1A93 DUP5 PUSH2 0x235B JUMP JUMPDEST PUSH2 0x2336 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1AB4 JUMPI PUSH2 0x1AB3 PUSH2 0x270E JUMP JUMPDEST JUMPDEST PUSH2 0x1ABF DUP5 DUP3 DUP6 PUSH2 0x2548 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1AD6 DUP2 PUSH2 0x2983 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1AEB DUP2 PUSH2 0x299A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1B00 DUP2 PUSH2 0x299A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1B1B JUMPI PUSH2 0x1B1A PUSH2 0x2709 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1B2B DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1A85 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1B43 DUP2 PUSH2 0x29B1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1B58 DUP2 PUSH2 0x29C8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1B74 JUMPI PUSH2 0x1B73 PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1B82 DUP5 DUP3 DUP6 ADD PUSH2 0x1AC7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1BA1 JUMPI PUSH2 0x1BA0 PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1BAF DUP5 DUP3 DUP6 ADD PUSH2 0x1ADC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1BCE JUMPI PUSH2 0x1BCD PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1BDC DUP5 DUP3 DUP6 ADD PUSH2 0x1AF1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1BFB JUMPI PUSH2 0x1BFA PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1C19 JUMPI PUSH2 0x1C18 PUSH2 0x2713 JUMP JUMPDEST JUMPDEST PUSH2 0x1C25 DUP5 DUP3 DUP6 ADD PUSH2 0x1B06 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1C44 JUMPI PUSH2 0x1C43 PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1C52 DUP5 DUP3 DUP6 ADD PUSH2 0x1B34 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1C72 JUMPI PUSH2 0x1C71 PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1C80 DUP6 DUP3 DUP7 ADD PUSH2 0x1B34 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1C91 DUP6 DUP3 DUP7 ADD PUSH2 0x1B34 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CB2 JUMPI PUSH2 0x1CB1 PUSH2 0x2718 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1CC0 DUP6 DUP3 DUP7 ADD PUSH2 0x1B49 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1CD1 DUP6 DUP3 DUP7 ADD PUSH2 0x1B49 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x1CE4 DUP2 PUSH2 0x248D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1CF3 DUP2 PUSH2 0x249F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1D02 DUP2 PUSH2 0x24AB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D13 DUP3 PUSH2 0x23A1 JUMP JUMPDEST PUSH2 0x1D1D DUP2 DUP6 PUSH2 0x23AC JUMP JUMPDEST SWAP4 POP PUSH2 0x1D2D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2557 JUMP JUMPDEST PUSH2 0x1D36 DUP2 PUSH2 0x271D JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D4C DUP3 PUSH2 0x23A1 JUMP JUMPDEST PUSH2 0x1D56 DUP2 DUP6 PUSH2 0x23BD JUMP JUMPDEST SWAP4 POP PUSH2 0x1D66 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2557 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SLOAD PUSH2 0x1D7F DUP2 PUSH2 0x258A JUMP JUMPDEST PUSH2 0x1D89 DUP2 DUP7 PUSH2 0x23AC JUMP JUMPDEST SWAP5 POP PUSH1 0x1 DUP3 AND PUSH1 0x0 DUP2 EQ PUSH2 0x1DA4 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x1DB6 JUMPI PUSH2 0x1DE9 JUMP JUMPDEST PUSH1 0xFF NOT DUP4 AND DUP7 MSTORE PUSH1 0x20 DUP7 ADD SWAP4 POP PUSH2 0x1DE9 JUMP JUMPDEST PUSH2 0x1DBF DUP6 PUSH2 0x238C JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1DE1 JUMPI DUP2 SLOAD DUP2 DUP10 ADD MSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1DC2 JUMP JUMPDEST DUP1 DUP9 ADD SWAP6 POP POP POP JUMPDEST POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SLOAD PUSH2 0x1DFF DUP2 PUSH2 0x258A JUMP JUMPDEST PUSH2 0x1E09 DUP2 DUP7 PUSH2 0x23BD JUMP JUMPDEST SWAP5 POP PUSH1 0x1 DUP3 AND PUSH1 0x0 DUP2 EQ PUSH2 0x1E24 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x1E35 JUMPI PUSH2 0x1E68 JUMP JUMPDEST PUSH1 0xFF NOT DUP4 AND DUP7 MSTORE DUP2 DUP7 ADD SWAP4 POP PUSH2 0x1E68 JUMP JUMPDEST PUSH2 0x1E3E DUP6 PUSH2 0x238C JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1E60 JUMPI DUP2 SLOAD DUP2 DUP10 ADD MSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1E41 JUMP JUMPDEST DUP4 DUP9 ADD SWAP6 POP POP POP JUMPDEST POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1E7A DUP2 PUSH2 0x2512 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E8D PUSH1 0x26 DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1E98 DUP3 PUSH2 0x272E JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EB0 PUSH1 0x3D DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1EBB DUP3 PUSH2 0x277D JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1ED3 PUSH1 0x25 DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1EDE DUP3 PUSH2 0x27CC JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EF6 PUSH1 0x18 DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F01 DUP3 PUSH2 0x281B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F19 PUSH1 0x2F DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F24 DUP3 PUSH2 0x2844 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F3C PUSH1 0x3C DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F47 DUP3 PUSH2 0x2893 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F5F PUSH1 0x20 DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F6A DUP3 PUSH2 0x28E2 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F82 PUSH1 0x3D DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F8D DUP3 PUSH2 0x290B JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FA5 PUSH1 0x17 DUP4 PUSH2 0x23C8 JUMP JUMPDEST SWAP2 POP PUSH2 0x1FB0 DUP3 PUSH2 0x295A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0x1FD1 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x2050 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0x1FE4 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x2050 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0x1FF7 PUSH1 0x40 DUP6 ADD DUP3 PUSH2 0x2032 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD PUSH2 0x200A PUSH1 0x60 DUP6 ADD DUP3 PUSH2 0x2032 JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD PUSH2 0x201D PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x2032 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x202C DUP2 PUSH2 0x24B5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x203B DUP2 PUSH2 0x24F1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x204A DUP2 PUSH2 0x24F1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2059 DUP2 PUSH2 0x2505 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2068 DUP2 PUSH2 0x2505 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x207A DUP3 DUP5 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2091 DUP3 DUP10 PUSH2 0x1DF2 JUMP JUMPDEST SWAP2 POP PUSH2 0x209D DUP3 DUP9 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP PUSH2 0x20A9 DUP3 DUP8 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP PUSH2 0x20B5 DUP3 DUP7 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP PUSH2 0x20C1 DUP3 DUP6 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP PUSH2 0x20CD DUP3 DUP5 PUSH2 0x1D41 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x20F2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1CDB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x210D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1CEA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2128 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1CF9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2148 DUP2 DUP5 PUSH2 0x1D08 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x216A DUP2 DUP5 PUSH2 0x1D72 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2187 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1E71 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x21A6 DUP2 PUSH2 0x1E80 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x21C6 DUP2 PUSH2 0x1EA3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x21E6 DUP2 PUSH2 0x1EC6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2206 DUP2 PUSH2 0x1EE9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2226 DUP2 PUSH2 0x1F0C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2246 DUP2 PUSH2 0x1F2F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2266 DUP2 PUSH2 0x1F52 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2286 DUP2 PUSH2 0x1F75 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x22A6 DUP2 PUSH2 0x1F98 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x22C2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1FBB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x22DD PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2023 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x22F8 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x205F JUMP JUMPDEST PUSH2 0x2305 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x205F JUMP JUMPDEST PUSH2 0x2312 PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x2041 JUMP JUMPDEST PUSH2 0x231F PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x2041 JUMP JUMPDEST PUSH2 0x232C PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x2041 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2340 PUSH2 0x2351 JUMP JUMPDEST SWAP1 POP PUSH2 0x234C DUP3 DUP3 PUSH2 0x25BC JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x2376 JUMPI PUSH2 0x2375 PUSH2 0x26DA JUMP JUMPDEST JUMPDEST PUSH2 0x237F DUP3 PUSH2 0x271D JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23E4 DUP3 PUSH2 0x24F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x23EF DUP4 PUSH2 0x24F1 JUMP JUMPDEST SWAP3 POP DUP3 PUSH8 0xFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x240C JUMPI PUSH2 0x240B PUSH2 0x264D JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2422 DUP3 PUSH2 0x24F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x242D DUP4 PUSH2 0x24F1 JUMP JUMPDEST SWAP3 POP DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x244E JUMPI PUSH2 0x244D PUSH2 0x264D JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2464 DUP3 PUSH2 0x24F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x246F DUP4 PUSH2 0x24F1 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x2482 JUMPI PUSH2 0x2481 PUSH2 0x264D JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2498 DUP3 PUSH2 0x24D1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH16 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x251D DUP3 PUSH2 0x2524 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x252F DUP3 PUSH2 0x2536 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2541 DUP3 PUSH2 0x24D1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2575 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x255A JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x2584 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x25A2 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x25B6 JUMPI PUSH2 0x25B5 PUSH2 0x267C JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x25C5 DUP3 PUSH2 0x271D JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x25E4 JUMPI PUSH2 0x25E3 PUSH2 0x26DA JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x25F8 DUP3 PUSH2 0x24F1 JUMP JUMPDEST SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x2613 JUMPI PUSH2 0x2612 PUSH2 0x264D JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A207769746E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x657373696E6720636F6E73656E737573206F7574206F662072616E6765000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A206E6F2072 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6577617264000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436C6F6E61626C653A2043524541544532206661696C65640000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A20616C7265 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x61647920696E697469616C697A65640000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A206E756D62 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6572206F66207769746E6573736573206F7574206F662072616E676500000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5769746E6574526571756573744D616C6C6561626C65426173653A207769746E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x657373696E6720636F6C6C61746572616C2062656C6F77203120574954000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436C6F6E61626C653A20435245415445206661696C6564000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x298C DUP2 PUSH2 0x248D JUMP JUMPDEST DUP2 EQ PUSH2 0x2997 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x29A3 DUP2 PUSH2 0x24AB JUMP JUMPDEST DUP2 EQ PUSH2 0x29AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x29BA DUP2 PUSH2 0x24F1 JUMP JUMPDEST DUP2 EQ PUSH2 0x29C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x29D1 DUP2 PUSH2 0x2505 JUMP JUMPDEST DUP2 EQ PUSH2 0x29DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 XOR 0xD3 0xBE SWAP6 REVERT 0xCB 0xD8 0xBC PUSH16 0x654DC2EB3DCDC04B923B60A7642BD2F GASLIMIT 0x49 CALLDATACOPY CALLCODE PUSH26 0xD0F064736F6C6343000807003300000000000000000000000000 ","sourceMap":"110:387:66:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2076:96:65;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6419:258;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;346:149:66;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5730:150:65;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9085:276;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4807:120;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;310:45:55;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1600:101:59;;;:::i;:::-;;5389:265:65;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8245:132;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;522:134:55;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4091:551:65;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2310:490;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7075:302;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5037:239;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1892:109;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1836:198:59;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3172:557:65;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2076:96;2124:7;2150:10;:8;:10::i;:::-;:15;;;2143:22;;2076:96;:::o;6419:258::-;6493:18;6539:13;:11;:13::i;:::-;6527:25;;6562:9;:20;;;6583:10;:8;:10::i;:::-;:19;;6562:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6629:9;6613:45;;;6659:10;6613:57;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6419:258;:::o;346:149:66:-;434:54;451:36;;;;;;;;;;;;;;;;;434:16;:54::i;:::-;346:149;:::o;5730:150:65:-;5797:36;;:::i;:::-;5856:10;:8;:10::i;:::-;:17;;5849:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5730:150;:::o;9085:276::-;9174:7;9278:66;9197:157;;;;9085:276;:::o;4807:120::-;4866:12;4901:10;:8;:10::i;:::-;:19;;4894:26;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4807:120;:::o;310:45:55:-;;;:::o;1600:101:59:-;1210:12;:10;:12::i;:::-;1199:23;;:7;:5;:7::i;:::-;:23;;;1191:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1664:30:::1;1691:1;1664:18;:30::i;:::-;1600:101::o:0;5389:265:65:-;5458:7;5481:45;5529:10;:8;:10::i;:::-;:17;;5481:65;;5622:7;:24;;;;;;;;;;;;5591:7;:28;;;;;;;;;;;;5587:1;:32;;;;:::i;:::-;:59;;;;:::i;:::-;5563:7;:20;;;;;;;;;;;;:84;;;;;;:::i;:::-;5556:91;;;;;5389:265;:::o;8245:132::-;8324:7;8354:10;:8;:10::i;:::-;:16;;;;;;;;;;;;8347:23;;8245:132;:::o;522:134:55:-;577:4;635;618:21;;626:4;618:21;;;;597:52;;522:134;:::o;4091:551:65:-;1210:12:59;:10;:12::i;:::-;1199:23;;:7;:5;:7::i;:::-;:23;;;1191:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4235:45:65::1;4283:10;:8;:10::i;:::-;:17;;4235:65;;4333:13;4310:7;:20;;;:36;;;;;;;;;;;;;;;;;;4389:23;4356:7;:30;;;:56;;;;;;;;;;;;;;;;;;4422:213;4453:13;4480:23;4517:7;:28;;;;;;;;;;;;4559:7;:24;;;;;;;;;;;;4597:7;:28;;;;;;;;;;;;4422:17;:213::i;:::-;4225:417;4091:551:::0;;:::o;2310:490::-;1210:12:59;:10;:12::i;:::-;1199:23;;:7;:5;:7::i;:::-;:23;;;1191:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2436:45:65::1;2484:10;:8;:10::i;:::-;:17;;2436:65;;2542:21;2511:7;:28;;;:52;;;;;;;;;;;;;;;;;;2573:220;2604:7;:20;;;;;;;;;;;;2638:7;:30;;;;;;;;;;;;2682:21;2717:7;:24;;;;;;;;;;;;2755:7;:28;;;;;;;;;;;;2573:17;:220::i;:::-;2426:374;2310:490:::0;:::o;7075:302::-;7175:18;7221:31;7246:5;7221:24;:31::i;:::-;7209:43;;7262:9;:20;;;7283:10;:8;:10::i;:::-;:19;;7262:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7329:9;7313:45;;;7359:10;7313:57;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7075:302;;;:::o;5037:239::-;5113:7;5136:45;5184:10;:8;:10::i;:::-;:17;;5136:65;;5241:7;:28;;;;;;;;;;;;5218:7;:20;;;;;;;;;;;;:51;;;;;;:::i;:::-;5211:58;;;;;5037:239;:::o;1892:109::-;1944:12;1975:10;:8;:10::i;:::-;:19;;1968:26;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1892:109;:::o;1836:198:59:-;1210:12;:10;:12::i;:::-;1199:23;;:7;:5;:7::i;:::-;:23;;;1191:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1944:1:::1;1924:22;;:8;:22;;;;1916:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;1999:28;2018:8;1999:18;:28::i;:::-;1836:198:::0;:::o;3172:557:65:-;1210:12:59;:10;:12::i;:::-;1199:23;;:7;:5;:7::i;:::-;:23;;;1191:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3318:45:65::1;3366:10;:8;:10::i;:::-;:17;;3318:65;;3420:17;3393:7;:24;;;:44;;;;;;;;;;;;;;;;;;3478:21;3447:7;:28;;;:52;;;;;;;;;;;;;;;;;;3509:213;3540:7;:20;;;;;;;;;;;;3574:7;:30;;;;;;;;;;;;3618:7;:28;;;;;;;;;;;;3660:17;3691:21;3509:17;:213::i;:::-;3308:421;3172:557:::0;;:::o;7678:270::-;7814:1;7784:10;:8;:10::i;:::-;:19;;:26;;;;;:::i;:::-;;;:31;7776:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;7877:22;7889:9;7877:11;:22::i;:::-;7909:32;7928:12;:10;:12::i;:::-;7909:18;:32::i;:::-;7678:270;:::o;298:111:50:-;359:7;385:17;392:9;385:17;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;378:24;;298:111;;;:::o;12167:343:65:-;12242:46;12428:66;12327:167;;12167:343;:::o;1102:870:55:-;1159:18;1193:13;1209:4;1193:20;;1295:4;1289:11;1383:66;1378:3;1371:79;1562:5;1556:4;1552:16;1545:4;1540:3;1536:14;1529:40;1661:66;1654:4;1649:3;1645:14;1638:90;1805:4;1800:3;1797:1;1790:20;1777:33;;1232:588;1875:1;1845:32;;1853:9;1845:32;;;;1837:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1955:9;1920:45;;1948:4;1920:45;;1927:10;1920:45;;;;;;;;;;;;1183:789;1102:870;:::o;506:96:56:-;559:7;585:10;578:17;;506:96;:::o;8463:236:65:-;8565:16;8584:10;:8;:10::i;:::-;:16;;;;;;;;;;;;8565:35;;8629:8;8610:10;:8;:10::i;:::-;:16;;;:27;;;;;;;;;;;;;;;;;;8683:8;8652:40;;8673:8;8652:40;;;;;;;;;;;;8555:144;8463:236;:::o;10535:1550::-;10858:1;10838:17;:21;;;10817:105;;;;;;;;;;;;:::i;:::-;;;;;;;;;10970:1;10953:13;:18;;;;:42;;;;;10992:3;10975:13;:20;;;;10953:42;10932:149;;;;;;;;;;;;:::i;:::-;;;;;;;;;11139:2;11112:23;:29;;;;:62;;;;;11172:2;11145:23;:29;;;;11112:62;11091:170;;;;;;;;;;;;:::i;:::-;;;;;;;;;11317:7;11292:21;:32;;;;11271:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;11474:10;:8;:10::i;:::-;:19;;11507:46;11528:4;11521:12;;11535:17;11507:13;:46::i;:::-;11567:41;11587:4;11580:12;;11594:13;11567:12;:41::i;:::-;11622:42;11636:4;11622:42;;11642:21;11622:13;:42::i;:::-;11678:43;11691:4;11678:43;;11697:23;11678:12;:43::i;:::-;11735:42;11749:4;11735:42;;11755:21;11735:13;:42::i;:::-;11444:343;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;11422:10;:8;:10::i;:::-;:19;;:365;;;;;;;;;;;;:::i;:::-;;11815:26;:10;:8;:10::i;:::-;:19;;:24;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:26::i;:::-;11797:10;:8;:10::i;:::-;:15;;:44;;;;11893:10;11856:222;;;11917:13;11944:23;11981:21;12016:17;12047:21;11856:222;;;;;;;;;;:::i;:::-;;;;;;;;10535:1550;;;;;:::o;2520:840:55:-;2603:18;2637:13;2653:4;2637:20;;2739:4;2733:11;2769:66;2764:3;2757:79;2948:5;2942:4;2938:16;2931:4;2926:3;2922:14;2915:40;3047:66;3040:4;3035:3;3031:14;3024:90;3199:5;3193:4;3188:3;3185:1;3177:28;3164:41;;2676:539;3262:1;3232:32;;3240:9;3232:32;;;;3224:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;3343:9;3308:45;;3336:4;3308:45;;3315:10;3308:45;;;;;;;;;;;;2627:733;2520:840;;;:::o;9679:756:65:-;9781:1;9762:9;:16;:20;9755:28;;;;:::i;:::-;;9815:9;9793:10;:8;:10::i;:::-;:19;;:31;;;;;;;;;;;;:::i;:::-;;9835:45;9883:10;:8;:10::i;:::-;:17;;9835:65;;9933:1;9910:7;:20;;;:24;;;;;;;;;;;;;;;;;;9977:2;9944:7;:30;;;:35;;;;;;;;;;;;;;;;;;10020:7;9989;:28;;;:38;;;;;;;;;;;;;;;;;;10078:11;10051:7;:24;;;:38;;;;;;;;;;;;;;;;;;10152:12;10121:7;:28;;;:43;;;;;;;;;;;;;;;;;;10201:227;10232:7;:20;;;;;;;;;;;;10266:7;:30;;;;;;;;;;;;10310:7;:28;;;;;;;;;;;;10352:7;:24;;;;;;;;;;;;10390:7;:28;;;;;;;;;;;;10201:17;:227::i;:::-;9745:690;9679:756;:::o;12727:798::-;12809:12;12982:10;12995:1;12982:14;;13006:15;13024:1;13006:19;;13035:85;13048:4;13042:3;:10;;;13035:85;;;13081:1;13074:3;:8;;;;13068:14;;13108:1;13096:13;;;;;:::i;:::-;;;13035:85;;;13129:16;13158:8;13148:19;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13129:38;;13183:1;13177:7;;13203:1;13194:3;13198:1;13194:6;;;;;;;;:::i;:::-;;;;;:10;;;;;;;;;;;13219:8;13230:1;13219:12;;13214:202;13237:8;13233:12;;:1;:12;;;13214:202;;;13371:4;13365:3;:10;13352:4;:24;13345:32;;13336:3;13340:1;13336:6;;;;;;;;;;:::i;:::-;;;;;:41;;;;;;;;;;;13404:1;13397:3;:8;;;;13391:14;;13247:3;;;;;:::i;:::-;;;;13214:202;;;;13494:4;13473:25;;:3;13488:1;13477:8;:12;;;;:::i;:::-;13473:17;;;;;;;;;;:::i;:::-;;;;;:25;;;;;;;;;;;;;;;;;;;;;13515:3;13508:10;;;;;12727:798;;;;:::o;13654:149::-;13734:12;13769:27;13783:1;13793;13786:9;;13769:13;:27::i;:::-;13762:34;;13654:149;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:410:67:-;84:5;109:65;125:48;166:6;125:48;:::i;:::-;109:65;:::i;:::-;100:74;;197:6;190:5;183:21;235:4;228:5;224:16;273:3;264:6;259:3;255:16;252:25;249:112;;;280:79;;:::i;:::-;249:112;370:41;404:6;399:3;394;370:41;:::i;:::-;90:327;7:410;;;;;:::o;423:139::-;469:5;507:6;494:20;485:29;;523:33;550:5;523:33;:::i;:::-;423:139;;;;:::o;568:::-;614:5;652:6;639:20;630:29;;668:33;695:5;668:33;:::i;:::-;568:139;;;;:::o;713:143::-;770:5;801:6;795:13;786:22;;817:33;844:5;817:33;:::i;:::-;713:143;;;;:::o;875:338::-;930:5;979:3;972:4;964:6;960:17;956:27;946:122;;987:79;;:::i;:::-;946:122;1104:6;1091:20;1129:78;1203:3;1195:6;1188:4;1180:6;1176:17;1129:78;:::i;:::-;1120:87;;936:277;875:338;;;;:::o;1219:137::-;1264:5;1302:6;1289:20;1280:29;;1318:32;1344:5;1318:32;:::i;:::-;1219:137;;;;:::o;1362:135::-;1406:5;1444:6;1431:20;1422:29;;1460:31;1485:5;1460:31;:::i;:::-;1362:135;;;;:::o;1503:329::-;1562:6;1611:2;1599:9;1590:7;1586:23;1582:32;1579:119;;;1617:79;;:::i;:::-;1579:119;1737:1;1762:53;1807:7;1798:6;1787:9;1783:22;1762:53;:::i;:::-;1752:63;;1708:117;1503:329;;;;:::o;1838:::-;1897:6;1946:2;1934:9;1925:7;1921:23;1917:32;1914:119;;;1952:79;;:::i;:::-;1914:119;2072:1;2097:53;2142:7;2133:6;2122:9;2118:22;2097:53;:::i;:::-;2087:63;;2043:117;1838:329;;;;:::o;2173:351::-;2243:6;2292:2;2280:9;2271:7;2267:23;2263:32;2260:119;;;2298:79;;:::i;:::-;2260:119;2418:1;2443:64;2499:7;2490:6;2479:9;2475:22;2443:64;:::i;:::-;2433:74;;2389:128;2173:351;;;;:::o;2530:507::-;2598:6;2647:2;2635:9;2626:7;2622:23;2618:32;2615:119;;;2653:79;;:::i;:::-;2615:119;2801:1;2790:9;2786:17;2773:31;2831:18;2823:6;2820:30;2817:117;;;2853:79;;:::i;:::-;2817:117;2958:62;3012:7;3003:6;2992:9;2988:22;2958:62;:::i;:::-;2948:72;;2744:286;2530:507;;;;:::o;3043:327::-;3101:6;3150:2;3138:9;3129:7;3125:23;3121:32;3118:119;;;3156:79;;:::i;:::-;3118:119;3276:1;3301:52;3345:7;3336:6;3325:9;3321:22;3301:52;:::i;:::-;3291:62;;3247:116;3043:327;;;;:::o;3376:470::-;3442:6;3450;3499:2;3487:9;3478:7;3474:23;3470:32;3467:119;;;3505:79;;:::i;:::-;3467:119;3625:1;3650:52;3694:7;3685:6;3674:9;3670:22;3650:52;:::i;:::-;3640:62;;3596:116;3751:2;3777:52;3821:7;3812:6;3801:9;3797:22;3777:52;:::i;:::-;3767:62;;3722:117;3376:470;;;;;:::o;3852:466::-;3916:6;3924;3973:2;3961:9;3952:7;3948:23;3944:32;3941:119;;;3979:79;;:::i;:::-;3941:119;4099:1;4124:51;4167:7;4158:6;4147:9;4143:22;4124:51;:::i;:::-;4114:61;;4070:115;4224:2;4250:51;4293:7;4284:6;4273:9;4269:22;4250:51;:::i;:::-;4240:61;;4195:116;3852:466;;;;;:::o;4324:118::-;4411:24;4429:5;4411:24;:::i;:::-;4406:3;4399:37;4324:118;;:::o;4448:109::-;4529:21;4544:5;4529:21;:::i;:::-;4524:3;4517:34;4448:109;;:::o;4563:118::-;4650:24;4668:5;4650:24;:::i;:::-;4645:3;4638:37;4563:118;;:::o;4687:360::-;4773:3;4801:38;4833:5;4801:38;:::i;:::-;4855:70;4918:6;4913:3;4855:70;:::i;:::-;4848:77;;4934:52;4979:6;4974:3;4967:4;4960:5;4956:16;4934:52;:::i;:::-;5011:29;5033:6;5011:29;:::i;:::-;5006:3;5002:39;4995:46;;4777:270;4687:360;;;;:::o;5053:373::-;5157:3;5185:38;5217:5;5185:38;:::i;:::-;5239:88;5320:6;5315:3;5239:88;:::i;:::-;5232:95;;5336:52;5381:6;5376:3;5369:4;5362:5;5358:16;5336:52;:::i;:::-;5413:6;5408:3;5404:16;5397:23;;5161:265;5053:373;;;;:::o;5454:798::-;5537:3;5574:5;5568:12;5603:36;5629:9;5603:36;:::i;:::-;5655:70;5718:6;5713:3;5655:70;:::i;:::-;5648:77;;5756:1;5745:9;5741:17;5772:1;5767:135;;;;5916:1;5911:335;;;;5734:512;;5767:135;5851:4;5847:9;5836;5832:25;5827:3;5820:38;5887:4;5882:3;5878:14;5871:21;;5767:135;;5911:335;5978:37;6009:5;5978:37;:::i;:::-;6037:1;6051:154;6065:6;6062:1;6059:13;6051:154;;;6139:7;6133:14;6129:1;6124:3;6120:11;6113:35;6189:1;6180:7;6176:15;6165:26;;6087:4;6084:1;6080:12;6075:17;;6051:154;;;6234:1;6229:3;6225:11;6218:18;;5918:328;;5734:512;;5541:711;;5454:798;;;;:::o;6280:841::-;6381:3;6418:5;6412:12;6447:36;6473:9;6447:36;:::i;:::-;6499:88;6580:6;6575:3;6499:88;:::i;:::-;6492:95;;6618:1;6607:9;6603:17;6634:1;6629:137;;;;6780:1;6775:340;;;;6596:519;;6629:137;6713:4;6709:9;6698;6694:25;6689:3;6682:38;6749:6;6744:3;6740:16;6733:23;;6629:137;;6775:340;6842:37;6873:5;6842:37;:::i;:::-;6901:1;6915:154;6929:6;6926:1;6923:13;6915:154;;;7003:7;6997:14;6993:1;6988:3;6984:11;6977:35;7053:1;7044:7;7040:15;7029:26;;6951:4;6948:1;6944:12;6939:17;;6915:154;;;7098:6;7093:3;7089:16;7082:23;;6782:333;;6596:519;;6385:736;;6280:841;;;;:::o;7127:167::-;7232:55;7281:5;7232:55;:::i;:::-;7227:3;7220:68;7127:167;;:::o;7300:366::-;7442:3;7463:67;7527:2;7522:3;7463:67;:::i;:::-;7456:74;;7539:93;7628:3;7539:93;:::i;:::-;7657:2;7652:3;7648:12;7641:19;;7300:366;;;:::o;7672:::-;7814:3;7835:67;7899:2;7894:3;7835:67;:::i;:::-;7828:74;;7911:93;8000:3;7911:93;:::i;:::-;8029:2;8024:3;8020:12;8013:19;;7672:366;;;:::o;8044:::-;8186:3;8207:67;8271:2;8266:3;8207:67;:::i;:::-;8200:74;;8283:93;8372:3;8283:93;:::i;:::-;8401:2;8396:3;8392:12;8385:19;;8044:366;;;:::o;8416:::-;8558:3;8579:67;8643:2;8638:3;8579:67;:::i;:::-;8572:74;;8655:93;8744:3;8655:93;:::i;:::-;8773:2;8768:3;8764:12;8757:19;;8416:366;;;:::o;8788:::-;8930:3;8951:67;9015:2;9010:3;8951:67;:::i;:::-;8944:74;;9027:93;9116:3;9027:93;:::i;:::-;9145:2;9140:3;9136:12;9129:19;;8788:366;;;:::o;9160:::-;9302:3;9323:67;9387:2;9382:3;9323:67;:::i;:::-;9316:74;;9399:93;9488:3;9399:93;:::i;:::-;9517:2;9512:3;9508:12;9501:19;;9160:366;;;:::o;9532:::-;9674:3;9695:67;9759:2;9754:3;9695:67;:::i;:::-;9688:74;;9771:93;9860:3;9771:93;:::i;:::-;9889:2;9884:3;9880:12;9873:19;;9532:366;;;:::o;9904:::-;10046:3;10067:67;10131:2;10126:3;10067:67;:::i;:::-;10060:74;;10143:93;10232:3;10143:93;:::i;:::-;10261:2;10256:3;10252:12;10245:19;;9904:366;;;:::o;10276:::-;10418:3;10439:67;10503:2;10498:3;10439:67;:::i;:::-;10432:74;;10515:93;10604:3;10515:93;:::i;:::-;10633:2;10628:3;10624:12;10617:19;;10276:366;;;:::o;10786:1131::-;10979:4;10974:3;10970:14;11074:4;11067:5;11063:16;11057:23;11093:59;11146:4;11141:3;11137:14;11123:12;11093:59;:::i;:::-;10994:168;11262:4;11255:5;11251:16;11245:23;11281:59;11334:4;11329:3;11325:14;11311:12;11281:59;:::i;:::-;11172:178;11448:4;11441:5;11437:16;11431:23;11467:61;11522:4;11517:3;11513:14;11499:12;11467:61;:::i;:::-;11360:178;11632:4;11625:5;11621:16;11615:23;11651:61;11706:4;11701:3;11697:14;11683:12;11651:61;:::i;:::-;11548:174;11820:4;11813:5;11809:16;11803:23;11839:61;11894:4;11889:3;11885:14;11871:12;11839:61;:::i;:::-;11732:178;10948:969;10786:1131;;:::o;11923:118::-;12010:24;12028:5;12010:24;:::i;:::-;12005:3;11998:37;11923:118;;:::o;12047:105::-;12122:23;12139:5;12122:23;:::i;:::-;12117:3;12110:36;12047:105;;:::o;12158:115::-;12243:23;12260:5;12243:23;:::i;:::-;12238:3;12231:36;12158:115;;:::o;12279:102::-;12352:22;12368:5;12352:22;:::i;:::-;12347:3;12340:35;12279:102;;:::o;12387:112::-;12470:22;12486:5;12470:22;:::i;:::-;12465:3;12458:35;12387:112;;:::o;12505:271::-;12635:3;12657:93;12746:3;12737:6;12657:93;:::i;:::-;12650:100;;12767:3;12760:10;;12505:271;;;;:::o;12782:1045::-;13139:3;13161:90;13247:3;13238:6;13161:90;:::i;:::-;13154:97;;13268:93;13357:3;13348:6;13268:93;:::i;:::-;13261:100;;13378:93;13467:3;13458:6;13378:93;:::i;:::-;13371:100;;13488:93;13577:3;13568:6;13488:93;:::i;:::-;13481:100;;13598:93;13687:3;13678:6;13598:93;:::i;:::-;13591:100;;13708:93;13797:3;13788:6;13708:93;:::i;:::-;13701:100;;13818:3;13811:10;;12782:1045;;;;;;;;;:::o;13833:222::-;13926:4;13964:2;13953:9;13949:18;13941:26;;13977:71;14045:1;14034:9;14030:17;14021:6;13977:71;:::i;:::-;13833:222;;;;:::o;14061:210::-;14148:4;14186:2;14175:9;14171:18;14163:26;;14199:65;14261:1;14250:9;14246:17;14237:6;14199:65;:::i;:::-;14061:210;;;;:::o;14277:222::-;14370:4;14408:2;14397:9;14393:18;14385:26;;14421:71;14489:1;14478:9;14474:17;14465:6;14421:71;:::i;:::-;14277:222;;;;:::o;14505:309::-;14616:4;14654:2;14643:9;14639:18;14631:26;;14703:9;14697:4;14693:20;14689:1;14678:9;14674:17;14667:47;14731:76;14802:4;14793:6;14731:76;:::i;:::-;14723:84;;14505:309;;;;:::o;14820:303::-;14928:4;14966:2;14955:9;14951:18;14943:26;;15015:9;15009:4;15005:20;15001:1;14990:9;14986:17;14979:47;15043:73;15111:4;15102:6;15043:73;:::i;:::-;15035:81;;14820:303;;;;:::o;15129:258::-;15240:4;15278:2;15267:9;15263:18;15255:26;;15291:89;15377:1;15366:9;15362:17;15353:6;15291:89;:::i;:::-;15129:258;;;;:::o;15393:419::-;15559:4;15597:2;15586:9;15582:18;15574:26;;15646:9;15640:4;15636:20;15632:1;15621:9;15617:17;15610:47;15674:131;15800:4;15674:131;:::i;:::-;15666:139;;15393:419;;;:::o;15818:::-;15984:4;16022:2;16011:9;16007:18;15999:26;;16071:9;16065:4;16061:20;16057:1;16046:9;16042:17;16035:47;16099:131;16225:4;16099:131;:::i;:::-;16091:139;;15818:419;;;:::o;16243:::-;16409:4;16447:2;16436:9;16432:18;16424:26;;16496:9;16490:4;16486:20;16482:1;16471:9;16467:17;16460:47;16524:131;16650:4;16524:131;:::i;:::-;16516:139;;16243:419;;;:::o;16668:::-;16834:4;16872:2;16861:9;16857:18;16849:26;;16921:9;16915:4;16911:20;16907:1;16896:9;16892:17;16885:47;16949:131;17075:4;16949:131;:::i;:::-;16941:139;;16668:419;;;:::o;17093:::-;17259:4;17297:2;17286:9;17282:18;17274:26;;17346:9;17340:4;17336:20;17332:1;17321:9;17317:17;17310:47;17374:131;17500:4;17374:131;:::i;:::-;17366:139;;17093:419;;;:::o;17518:::-;17684:4;17722:2;17711:9;17707:18;17699:26;;17771:9;17765:4;17761:20;17757:1;17746:9;17742:17;17735:47;17799:131;17925:4;17799:131;:::i;:::-;17791:139;;17518:419;;;:::o;17943:::-;18109:4;18147:2;18136:9;18132:18;18124:26;;18196:9;18190:4;18186:20;18182:1;18171:9;18167:17;18160:47;18224:131;18350:4;18224:131;:::i;:::-;18216:139;;17943:419;;;:::o;18368:::-;18534:4;18572:2;18561:9;18557:18;18549:26;;18621:9;18615:4;18611:20;18607:1;18596:9;18592:17;18585:47;18649:131;18775:4;18649:131;:::i;:::-;18641:139;;18368:419;;;:::o;18793:::-;18959:4;18997:2;18986:9;18982:18;18974:26;;19046:9;19040:4;19036:20;19032:1;19021:9;19017:17;19010:47;19074:131;19200:4;19074:131;:::i;:::-;19066:139;;18793:419;;;:::o;19218:415::-;19407:4;19445:3;19434:9;19430:19;19422:27;;19459:167;19623:1;19612:9;19608:17;19599:6;19459:167;:::i;:::-;19218:415;;;;:::o;19639:222::-;19732:4;19770:2;19759:9;19755:18;19747:26;;19783:71;19851:1;19840:9;19836:17;19827:6;19783:71;:::i;:::-;19639:222;;;;:::o;19867:636::-;20058:4;20096:3;20085:9;20081:19;20073:27;;20110:67;20174:1;20163:9;20159:17;20150:6;20110:67;:::i;:::-;20187:68;20251:2;20240:9;20236:18;20227:6;20187:68;:::i;:::-;20265:70;20331:2;20320:9;20316:18;20307:6;20265:70;:::i;:::-;20345;20411:2;20400:9;20396:18;20387:6;20345:70;:::i;:::-;20425:71;20491:3;20480:9;20476:19;20467:6;20425:71;:::i;:::-;19867:636;;;;;;;;:::o;20509:129::-;20543:6;20570:20;;:::i;:::-;20560:30;;20599:33;20627:4;20619:6;20599:33;:::i;:::-;20509:129;;;:::o;20644:75::-;20677:6;20710:2;20704:9;20694:19;;20644:75;:::o;20725:307::-;20786:4;20876:18;20868:6;20865:30;20862:56;;;20898:18;;:::i;:::-;20862:56;20936:29;20958:6;20936:29;:::i;:::-;20928:37;;21020:4;21014;21010:15;21002:23;;20725:307;;;:::o;21038:140::-;21086:4;21109:3;21101:11;;21132:3;21129:1;21122:14;21166:4;21163:1;21153:18;21145:26;;21038:140;;;:::o;21184:98::-;21235:6;21269:5;21263:12;21253:22;;21184:98;;;:::o;21288:168::-;21371:11;21405:6;21400:3;21393:19;21445:4;21440:3;21436:14;21421:29;;21288:168;;;;:::o;21462:147::-;21563:11;21600:3;21585:18;;21462:147;;;;:::o;21615:169::-;21699:11;21733:6;21728:3;21721:19;21773:4;21768:3;21764:14;21749:29;;21615:169;;;;:::o;21790:254::-;21829:3;21848:19;21865:1;21848:19;:::i;:::-;21843:24;;21881:19;21898:1;21881:19;:::i;:::-;21876:24;;21986:1;21966:18;21962:26;21959:1;21956:33;21953:59;;;21992:18;;:::i;:::-;21953:59;22036:1;22033;22029:9;22022:16;;21790:254;;;;:::o;22050:297::-;22089:7;22112:19;22129:1;22112:19;:::i;:::-;22107:24;;22145:19;22162:1;22145:19;:::i;:::-;22140:24;;22284:1;22264:18;22260:26;22257:1;22254:33;22249:1;22242:9;22235:17;22231:57;22228:83;;;22291:18;;:::i;:::-;22228:83;22339:1;22336;22332:9;22321:20;;22050:297;;;;:::o;22353:188::-;22392:4;22412:19;22429:1;22412:19;:::i;:::-;22407:24;;22445:19;22462:1;22445:19;:::i;:::-;22440:24;;22483:1;22480;22477:8;22474:34;;;22488:18;;:::i;:::-;22474:34;22533:1;22530;22526:9;22518:17;;22353:188;;;;:::o;22547:96::-;22584:7;22613:24;22631:5;22613:24;:::i;:::-;22602:35;;22547:96;;;:::o;22649:90::-;22683:7;22726:5;22719:13;22712:21;22701:32;;22649:90;;;:::o;22745:77::-;22782:7;22811:5;22800:16;;22745:77;;;:::o;22828:118::-;22865:7;22905:34;22898:5;22894:46;22883:57;;22828:118;;;:::o;22952:126::-;22989:7;23029:42;23022:5;23018:54;23007:65;;22952:126;;;:::o;23084:101::-;23120:7;23160:18;23153:5;23149:30;23138:41;;23084:101;;;:::o;23191:86::-;23226:7;23266:4;23259:5;23255:16;23244:27;;23191:86;;;:::o;23283:144::-;23351:9;23384:37;23415:5;23384:37;:::i;:::-;23371:50;;23283:144;;;:::o;23433:126::-;23483:9;23516:37;23547:5;23516:37;:::i;:::-;23503:50;;23433:126;;;:::o;23565:113::-;23615:9;23648:24;23666:5;23648:24;:::i;:::-;23635:37;;23565:113;;;:::o;23684:154::-;23768:6;23763:3;23758;23745:30;23830:1;23821:6;23816:3;23812:16;23805:27;23684:154;;;:::o;23844:307::-;23912:1;23922:113;23936:6;23933:1;23930:13;23922:113;;;24021:1;24016:3;24012:11;24006:18;24002:1;23997:3;23993:11;23986:39;23958:2;23955:1;23951:10;23946:15;;23922:113;;;24053:6;24050:1;24047:13;24044:101;;;24133:1;24124:6;24119:3;24115:16;24108:27;24044:101;23893:258;23844:307;;;:::o;24157:320::-;24201:6;24238:1;24232:4;24228:12;24218:22;;24285:1;24279:4;24275:12;24306:18;24296:81;;24362:4;24354:6;24350:17;24340:27;;24296:81;24424:2;24416:6;24413:14;24393:18;24390:38;24387:84;;;24443:18;;:::i;:::-;24387:84;24208:269;24157:320;;;:::o;24483:281::-;24566:27;24588:4;24566:27;:::i;:::-;24558:6;24554:40;24696:6;24684:10;24681:22;24660:18;24648:10;24645:34;24642:62;24639:88;;;24707:18;;:::i;:::-;24639:88;24747:10;24743:2;24736:22;24526:238;24483:281;;:::o;24770:183::-;24808:3;24831:23;24848:5;24831:23;:::i;:::-;24822:32;;24876:18;24869:5;24866:29;24863:55;;;24898:18;;:::i;:::-;24863:55;24945:1;24938:5;24934:13;24927:20;;24770:183;;;:::o;24959:180::-;25007:77;25004:1;24997:88;25104:4;25101:1;25094:15;25128:4;25125:1;25118:15;25145:180;25193:77;25190:1;25183:88;25290:4;25287:1;25280:15;25314:4;25311:1;25304:15;25331:180;25379:77;25376:1;25369:88;25476:4;25473:1;25466:15;25500:4;25497:1;25490:15;25517:180;25565:77;25562:1;25555:88;25662:4;25659:1;25652:15;25686:4;25683:1;25676:15;25703:180;25751:77;25748:1;25741:88;25848:4;25845:1;25838:15;25872:4;25869:1;25862:15;25889:117;25998:1;25995;25988:12;26012:117;26121:1;26118;26111:12;26135:117;26244:1;26241;26234:12;26258:117;26367:1;26364;26357:12;26381:102;26422:6;26473:2;26469:7;26464:2;26457:5;26453:14;26449:28;26439:38;;26381:102;;;:::o;26489:225::-;26629:34;26625:1;26617:6;26613:14;26606:58;26698:8;26693:2;26685:6;26681:15;26674:33;26489:225;:::o;26720:248::-;26860:34;26856:1;26848:6;26844:14;26837:58;26929:31;26924:2;26916:6;26912:15;26905:56;26720:248;:::o;26974:224::-;27114:34;27110:1;27102:6;27098:14;27091:58;27183:7;27178:2;27170:6;27166:15;27159:32;26974:224;:::o;27204:174::-;27344:26;27340:1;27332:6;27328:14;27321:50;27204:174;:::o;27384:234::-;27524:34;27520:1;27512:6;27508:14;27501:58;27593:17;27588:2;27580:6;27576:15;27569:42;27384:234;:::o;27624:247::-;27764:34;27760:1;27752:6;27748:14;27741:58;27833:30;27828:2;27820:6;27816:15;27809:55;27624:247;:::o;27877:182::-;28017:34;28013:1;28005:6;28001:14;27994:58;27877:182;:::o;28065:248::-;28205:34;28201:1;28193:6;28189:14;28182:58;28274:31;28269:2;28261:6;28257:15;28250:56;28065:248;:::o;28319:173::-;28459:25;28455:1;28447:6;28443:14;28436:49;28319:173;:::o;28498:122::-;28571:24;28589:5;28571:24;:::i;:::-;28564:5;28561:35;28551:63;;28610:1;28607;28600:12;28551:63;28498:122;:::o;28626:::-;28699:24;28717:5;28699:24;:::i;:::-;28692:5;28689:35;28679:63;;28738:1;28735;28728:12;28679:63;28626:122;:::o;28754:120::-;28826:23;28843:5;28826:23;:::i;:::-;28819:5;28816:34;28806:62;;28864:1;28861;28854:12;28806:62;28754:120;:::o;28880:118::-;28951:22;28967:5;28951:22;:::i;:::-;28944:5;28941:33;28931:61;;28988:1;28985;28978:12;28931:61;28880:118;:::o"},"gasEstimates":{"creation":{"codeDepositCost":"2154600","executionCost":"infinite","totalCost":"infinite"},"external":{"bytecode()":"infinite","clone()":"infinite","cloneDeterministic(bytes32)":"infinite","cloned()":"infinite","hash()":"2502","initialize(bytes)":"infinite","owner()":"2586","proxiableUUID()":"366","renounceOwnership()":"infinite","self()":"infinite","setWitnessingCollateral(uint64)":"infinite","setWitnessingFees(uint64,uint64)":"infinite","setWitnessingQuorum(uint8,uint8)":"infinite","template()":"infinite","totalWitnessingCollateral()":"infinite","totalWitnessingFee()":"infinite","transferOwnership(address)":"infinite","witnessingParams()":"infinite"}},"methodIdentifiers":{"bytecode()":"f0940002","clone()":"09ed4607","cloneDeterministic(bytes32)":"daaa360c","cloned()":"a04daef0","hash()":"09bd5a60","initialize(bytes)":"439fab91","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","renounceOwnership()":"715018a6","self()":"7104ddb2","setWitnessingCollateral(uint64)":"d9b9a961","setWitnessingFees(uint64,uint64)":"ff21c3ba","setWitnessingQuorum(uint8,uint8)":"d196c2e3","template()":"6f2ddd93","totalWitnessingCollateral()":"ef53d97a","totalWitnessingFee()":"8a481dad","transferOwnership(address)":"f2fde38b","witnessingParams()":"48f9b831"}},"metadata":"{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"by\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract Clonable\",\"name\":\"self\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract Clonable\",\"name\":\"clone\",\"type\":\"address\"}],\"name\":\"Cloned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"by\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"numWitnesses\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"minWitnessingConsensus\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"witnssingCollateral\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"witnessingReward\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"witnessingUnitaryFee\",\"type\":\"uint64\"}],\"name\":\"WitnessingParamsChanged\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"bytecode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clone\",\"outputs\":[{\"internalType\":\"contract Clonable\",\"name\":\"_instance\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_salt\",\"type\":\"bytes32\"}],\"name\":\"cloneDeterministic\",\"outputs\":[{\"internalType\":\"contract Clonable\",\"name\":\"_instance\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloned\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"self\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_witnessingCollateral\",\"type\":\"uint64\"}],\"name\":\"setWitnessingCollateral\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_witnessingReward\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"_witnessingUnitaryFee\",\"type\":\"uint64\"}],\"name\":\"setWitnessingFees\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_numWitnesses\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"_minWitnessingConsensus\",\"type\":\"uint8\"}],\"name\":\"setWitnessingQuorum\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"template\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalWitnessingCollateral\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalWitnessingFee\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"witnessingParams\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"numWitnesses\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"minWitnessingConsensus\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingCollateral\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"witnessingReward\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"witnessingUnitaryFee\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetRequestMalleableBase.WitnetRequestWitnessingParams\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"clone()\":{\"details\":\"This function should always provide a new address, no matter how many times is actually called from the same `msg.sender`.\"},\"cloneDeterministic(bytes32)\":{\"details\":\"This function uses the CREATE2 opcode and a `_salt` to deterministically deploythe clone. Using the same `_salt` multiple time will revert, sinceno contract can be deployed more than once at the same address.\"},\"proxiableUUID()\":{\"details\":\"Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)See https://eips.ethereum.org/EIPS/eip-1822.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"setWitnessingFees(uint64,uint64)\":{\"params\":{\"_witnessingReward\":\"Amount of nanowits that every request-solving witness will be rewarded with.\",\"_witnessingUnitaryFee\":\"Amount of nanowits that will be earned by Witnet miners for each each valid  commit/reveal transaction they include in a block.\"}},\"setWitnessingQuorum(uint8,uint8)\":{\"params\":{\"_minWitnessingConsensus\":\"Threshold percentage for aborting resolution of a request if the witnessing  nodes did not arrive to a broad consensus.\",\"_numWitnesses\":\"Number of witnesses required to be involved for solving this Witnet Data Request.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"bytecode()\":{\"notice\":\"Returns current Witnet Data Request bytecode, encoded using Protocol Buffers.\"},\"clone()\":{\"notice\":\"Deploys and returns the address of a minimal proxy clone that replicates contract behaviour while using its own EVM storage.\"},\"cloneDeterministic(bytes32)\":{\"notice\":\"Deploys and returns the address of a minimal proxy clone that replicates contract  behaviour while using its own EVM storage.\"},\"cloned()\":{\"notice\":\"Tells whether this contract is a clone of another (i.e. `self()`)\"},\"hash()\":{\"notice\":\"Returns SHA256 hash of current Witnet Data Request bytecode.\"},\"owner()\":{\"notice\":\"Returns the address of the current owner.\"},\"self()\":{\"notice\":\"Immutable contract address that actually attends all calls to this contract.\"},\"setWitnessingCollateral(uint64)\":{\"notice\":\"Sets amount of nanowits that a witness solving the request will be required to collateralize in the commitment transaction.\"},\"setWitnessingFees(uint64,uint64)\":{\"notice\":\"Specifies how much you want to pay for rewarding each of the Witnet nodes.\"},\"setWitnessingQuorum(uint8,uint8)\":{\"notice\":\"Sets how many Witnet nodes will be \\\"hired\\\" for resolving the request.\"},\"template()\":{\"notice\":\"Returns immutable template bytecode: actual CBOR-encoded data request at the Witnet protocol level, including no witnessing parameters at all.\"},\"totalWitnessingCollateral()\":{\"notice\":\"Returns total amount of nanowits that witnessing nodes will need to collateralize all together.\"},\"totalWitnessingFee()\":{\"notice\":\"Returns total amount of nanowits that will have to be paid in total for this request to be solved.\"},\"witnessingParams()\":{\"notice\":\"Returns witnessing parameters of current Witnet Data Request.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"witnet-solidity-bridge/contracts/requests/WitnetRequestRandomness.sol\":\"WitnetRequestRandomness\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"witnet-solidity-bridge/contracts/interfaces/IWitnetRequest.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\n/// @title The Witnet Data Request basic interface.\\n/// @author The Witnet Foundation.\\ninterface IWitnetRequest {\\n    /// A `IWitnetRequest` is constructed around a `bytes` value containing \\n    /// a well-formed Witnet Data Request using Protocol Buffers.\\n    function bytecode() external view returns (bytes memory);\\n\\n    /// Returns SHA256 hash of Witnet Data Request as CBOR-encoded bytes.\\n    function hash() external view returns (bytes32);\\n}\\n\",\"keccak256\":\"0xb455f625c6db8ce0525cb6ba8b2df2d85b37cfac6e2c5b64876b6f0e5bd22269\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/libs/Witnet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\npragma experimental ABIEncoderV2;\\n\\nimport \\\"../interfaces/IWitnetRequest.sol\\\";\\n\\nlibrary Witnet {\\n\\n    /// @notice Witnet function that computes the hash of a CBOR-encoded Data Request.\\n    /// @param _bytecode CBOR-encoded RADON.\\n    function hash(bytes memory _bytecode) internal pure returns (bytes32) {\\n        return sha256(_bytecode);\\n    }\\n\\n    /// Struct containing both request and response data related to every query posted to the Witnet Request Board\\n    struct Query {\\n        Request request;\\n        Response response;\\n        address from;      // Address from which the request was posted.\\n    }\\n\\n    /// Possible status of a Witnet query.\\n    enum QueryStatus {\\n        Unknown,\\n        Posted,\\n        Reported,\\n        Deleted\\n    }\\n\\n    /// Data kept in EVM-storage for every Request posted to the Witnet Request Board.\\n    struct Request {\\n        IWitnetRequest addr;    // The contract containing the Data Request which execution has been requested.\\n        address requester;      // Address from which the request was posted.\\n        bytes32 hash;           // Hash of the Data Request whose execution has been requested.\\n        uint256 gasprice;       // Minimum gas price the DR resolver should pay on the solving tx.\\n        uint256 reward;         // Escrowed reward to be paid to the DR resolver.\\n    }\\n\\n    /// Data kept in EVM-storage containing Witnet-provided response metadata and result.\\n    struct Response {\\n        address reporter;       // Address from which the result was reported.\\n        uint256 timestamp;      // Timestamp of the Witnet-provided result.\\n        bytes32 drTxHash;       // Hash of the Witnet transaction that solved the queried Data Request.\\n        bytes   cborBytes;      // Witnet-provided result CBOR-bytes to the queried Data Request.\\n    }\\n\\n    /// Data struct containing the Witnet-provided result to a Data Request.\\n    struct Result {\\n        bool success;           // Flag stating whether the request could get solved successfully, or not.\\n        CBOR value;             // Resulting value, in CBOR-serialized bytes.\\n    }\\n\\n    /// Data struct following the RFC-7049 standard: Concise Binary Object Representation.\\n    struct CBOR {\\n        Buffer buffer;\\n        uint8 initialByte;\\n        uint8 majorType;\\n        uint8 additionalInformation;\\n        uint64 len;\\n        uint64 tag;\\n    }\\n\\n    /// Iterable bytes buffer.\\n    struct Buffer {\\n        bytes data;\\n        uint32 cursor;\\n    }\\n\\n    /// Witnet error codes table.\\n    enum ErrorCodes {\\n        // 0x00: Unknown error. Something went really bad!\\n        Unknown,\\n        // Script format errors\\n        /// 0x01: At least one of the source scripts is not a valid CBOR-encoded value.\\n        SourceScriptNotCBOR,\\n        /// 0x02: The CBOR value decoded from a source script is not an Array.\\n        SourceScriptNotArray,\\n        /// 0x03: The Array value decoded form a source script is not a valid Data Request.\\n        SourceScriptNotRADON,\\n        /// Unallocated\\n        ScriptFormat0x04,\\n        ScriptFormat0x05,\\n        ScriptFormat0x06,\\n        ScriptFormat0x07,\\n        ScriptFormat0x08,\\n        ScriptFormat0x09,\\n        ScriptFormat0x0A,\\n        ScriptFormat0x0B,\\n        ScriptFormat0x0C,\\n        ScriptFormat0x0D,\\n        ScriptFormat0x0E,\\n        ScriptFormat0x0F,\\n        // Complexity errors\\n        /// 0x10: The request contains too many sources.\\n        RequestTooManySources,\\n        /// 0x11: The script contains too many calls.\\n        ScriptTooManyCalls,\\n        /// Unallocated\\n        Complexity0x12,\\n        Complexity0x13,\\n        Complexity0x14,\\n        Complexity0x15,\\n        Complexity0x16,\\n        Complexity0x17,\\n        Complexity0x18,\\n        Complexity0x19,\\n        Complexity0x1A,\\n        Complexity0x1B,\\n        Complexity0x1C,\\n        Complexity0x1D,\\n        Complexity0x1E,\\n        Complexity0x1F,\\n        // Operator errors\\n        /// 0x20: The operator does not exist.\\n        UnsupportedOperator,\\n        /// Unallocated\\n        Operator0x21,\\n        Operator0x22,\\n        Operator0x23,\\n        Operator0x24,\\n        Operator0x25,\\n        Operator0x26,\\n        Operator0x27,\\n        Operator0x28,\\n        Operator0x29,\\n        Operator0x2A,\\n        Operator0x2B,\\n        Operator0x2C,\\n        Operator0x2D,\\n        Operator0x2E,\\n        Operator0x2F,\\n        // Retrieval-specific errors\\n        /// 0x30: At least one of the sources could not be retrieved, but returned HTTP error.\\n        HTTP,\\n        /// 0x31: Retrieval of at least one of the sources timed out.\\n        RetrievalTimeout,\\n        /// Unallocated\\n        Retrieval0x32,\\n        Retrieval0x33,\\n        Retrieval0x34,\\n        Retrieval0x35,\\n        Retrieval0x36,\\n        Retrieval0x37,\\n        Retrieval0x38,\\n        Retrieval0x39,\\n        Retrieval0x3A,\\n        Retrieval0x3B,\\n        Retrieval0x3C,\\n        Retrieval0x3D,\\n        Retrieval0x3E,\\n        Retrieval0x3F,\\n        // Math errors\\n        /// 0x40: Math operator caused an underflow.\\n        Underflow,\\n        /// 0x41: Math operator caused an overflow.\\n        Overflow,\\n        /// 0x42: Tried to divide by zero.\\n        DivisionByZero,\\n        /// Unallocated\\n        Math0x43,\\n        Math0x44,\\n        Math0x45,\\n        Math0x46,\\n        Math0x47,\\n        Math0x48,\\n        Math0x49,\\n        Math0x4A,\\n        Math0x4B,\\n        Math0x4C,\\n        Math0x4D,\\n        Math0x4E,\\n        Math0x4F,\\n        // Other errors\\n        /// 0x50: Received zero reveals\\n        NoReveals,\\n        /// 0x51: Insufficient consensus in tally precondition clause\\n        InsufficientConsensus,\\n        /// 0x52: Received zero commits\\n        InsufficientCommits,\\n        /// 0x53: Generic error during tally execution\\n        TallyExecution,\\n        /// Unallocated\\n        OtherError0x54,\\n        OtherError0x55,\\n        OtherError0x56,\\n        OtherError0x57,\\n        OtherError0x58,\\n        OtherError0x59,\\n        OtherError0x5A,\\n        OtherError0x5B,\\n        OtherError0x5C,\\n        OtherError0x5D,\\n        OtherError0x5E,\\n        OtherError0x5F,\\n        /// 0x60: Invalid reveal serialization (malformed reveals are converted to this value)\\n        MalformedReveal,\\n        /// Unallocated\\n        OtherError0x61,\\n        OtherError0x62,\\n        OtherError0x63,\\n        OtherError0x64,\\n        OtherError0x65,\\n        OtherError0x66,\\n        OtherError0x67,\\n        OtherError0x68,\\n        OtherError0x69,\\n        OtherError0x6A,\\n        OtherError0x6B,\\n        OtherError0x6C,\\n        OtherError0x6D,\\n        OtherError0x6E,\\n        OtherError0x6F,\\n        // Access errors\\n        /// 0x70: Tried to access a value from an index using an index that is out of bounds\\n        ArrayIndexOutOfBounds,\\n        /// 0x71: Tried to access a value from a map using a key that does not exist\\n        MapKeyNotFound,\\n        /// Unallocated\\n        OtherError0x72,\\n        OtherError0x73,\\n        OtherError0x74,\\n        OtherError0x75,\\n        OtherError0x76,\\n        OtherError0x77,\\n        OtherError0x78,\\n        OtherError0x79,\\n        OtherError0x7A,\\n        OtherError0x7B,\\n        OtherError0x7C,\\n        OtherError0x7D,\\n        OtherError0x7E,\\n        OtherError0x7F,\\n        OtherError0x80,\\n        OtherError0x81,\\n        OtherError0x82,\\n        OtherError0x83,\\n        OtherError0x84,\\n        OtherError0x85,\\n        OtherError0x86,\\n        OtherError0x87,\\n        OtherError0x88,\\n        OtherError0x89,\\n        OtherError0x8A,\\n        OtherError0x8B,\\n        OtherError0x8C,\\n        OtherError0x8D,\\n        OtherError0x8E,\\n        OtherError0x8F,\\n        OtherError0x90,\\n        OtherError0x91,\\n        OtherError0x92,\\n        OtherError0x93,\\n        OtherError0x94,\\n        OtherError0x95,\\n        OtherError0x96,\\n        OtherError0x97,\\n        OtherError0x98,\\n        OtherError0x99,\\n        OtherError0x9A,\\n        OtherError0x9B,\\n        OtherError0x9C,\\n        OtherError0x9D,\\n        OtherError0x9E,\\n        OtherError0x9F,\\n        OtherError0xA0,\\n        OtherError0xA1,\\n        OtherError0xA2,\\n        OtherError0xA3,\\n        OtherError0xA4,\\n        OtherError0xA5,\\n        OtherError0xA6,\\n        OtherError0xA7,\\n        OtherError0xA8,\\n        OtherError0xA9,\\n        OtherError0xAA,\\n        OtherError0xAB,\\n        OtherError0xAC,\\n        OtherError0xAD,\\n        OtherError0xAE,\\n        OtherError0xAF,\\n        OtherError0xB0,\\n        OtherError0xB1,\\n        OtherError0xB2,\\n        OtherError0xB3,\\n        OtherError0xB4,\\n        OtherError0xB5,\\n        OtherError0xB6,\\n        OtherError0xB7,\\n        OtherError0xB8,\\n        OtherError0xB9,\\n        OtherError0xBA,\\n        OtherError0xBB,\\n        OtherError0xBC,\\n        OtherError0xBD,\\n        OtherError0xBE,\\n        OtherError0xBF,\\n        OtherError0xC0,\\n        OtherError0xC1,\\n        OtherError0xC2,\\n        OtherError0xC3,\\n        OtherError0xC4,\\n        OtherError0xC5,\\n        OtherError0xC6,\\n        OtherError0xC7,\\n        OtherError0xC8,\\n        OtherError0xC9,\\n        OtherError0xCA,\\n        OtherError0xCB,\\n        OtherError0xCC,\\n        OtherError0xCD,\\n        OtherError0xCE,\\n        OtherError0xCF,\\n        OtherError0xD0,\\n        OtherError0xD1,\\n        OtherError0xD2,\\n        OtherError0xD3,\\n        OtherError0xD4,\\n        OtherError0xD5,\\n        OtherError0xD6,\\n        OtherError0xD7,\\n        OtherError0xD8,\\n        OtherError0xD9,\\n        OtherError0xDA,\\n        OtherError0xDB,\\n        OtherError0xDC,\\n        OtherError0xDD,\\n        OtherError0xDE,\\n        OtherError0xDF,\\n        // Bridge errors: errors that only belong in inter-client communication\\n        /// 0xE0: Requests that cannot be parsed must always get this error as their result.\\n        /// However, this is not a valid result in a Tally transaction, because invalid requests\\n        /// are never included into blocks and therefore never get a Tally in response.\\n        BridgeMalformedRequest,\\n        /// 0xE1: Witnesses exceeds 100\\n        BridgePoorIncentives,\\n        /// 0xE2: The request is rejected on the grounds that it may cause the submitter to spend or stake an\\n        /// amount of value that is unjustifiably high when compared with the reward they will be getting\\n        BridgeOversizedResult,\\n        /// Unallocated\\n        OtherError0xE3,\\n        OtherError0xE4,\\n        OtherError0xE5,\\n        OtherError0xE6,\\n        OtherError0xE7,\\n        OtherError0xE8,\\n        OtherError0xE9,\\n        OtherError0xEA,\\n        OtherError0xEB,\\n        OtherError0xEC,\\n        OtherError0xED,\\n        OtherError0xEE,\\n        OtherError0xEF,\\n        OtherError0xF0,\\n        OtherError0xF1,\\n        OtherError0xF2,\\n        OtherError0xF3,\\n        OtherError0xF4,\\n        OtherError0xF5,\\n        OtherError0xF6,\\n        OtherError0xF7,\\n        OtherError0xF8,\\n        OtherError0xF9,\\n        OtherError0xFA,\\n        OtherError0xFB,\\n        OtherError0xFC,\\n        OtherError0xFD,\\n        OtherError0xFE,\\n        // This should not exist:\\n        /// 0xFF: Some tally error is not intercepted but should\\n        UnhandledIntercept\\n    }\\n}\\n\",\"keccak256\":\"0x7875cbaff083818824bcec302443788fb5723b161952fdf28a0ddd7c4b3a9b3e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Clonable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\nimport \\\"./Initializable.sol\\\";\\n\\nabstract contract Clonable is Initializable {\\n    /// Immutable contract address that actually attends all calls to this contract.\\n    /// @dev Differs from `address(this)` when reached within a DELEGATECALL.\\n    address immutable public self = address(this);\\n\\n    event Cloned(address indexed by, Clonable indexed self, Clonable indexed clone);\\n\\n    /// Tells whether this contract is a clone of another (i.e. `self()`)\\n    function cloned()\\n        public view\\n        returns (bool)\\n    {\\n        return (\\n            address(this) != self\\n        );\\n    }\\n\\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract\\n    /// behaviour while using its own EVM storage.\\n    /// @dev This function should always provide a new address, no matter how many times \\n    /// @dev is actually called from the same `msg.sender`.\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1167.\\n    /// @dev See https://blog.openzeppelin.com/deep-dive-into-the-minimal-proxy-contract/.\\n    function clone()\\n        public virtual\\n        returns (Clonable _instance)\\n    {\\n        address _self = self;\\n        assembly {\\n            // ptr to free mem:\\n            let ptr := mload(0x40)\\n            // begin minimal proxy construction bytecode:\\n            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)\\n            // make minimal proxy delegate all calls to `self()`:\\n            mstore(add(ptr, 0x14), shl(0x60, _self))\\n            // end minimal proxy construction bytecode:\\n            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)\\n            // CREATE new instance:\\n            _instance := create(0, ptr, 0x37)\\n        }        \\n        require(address(_instance) != address(0), \\\"Clonable: CREATE failed\\\");\\n        emit Cloned(msg.sender, Clonable(self), _instance);\\n    }\\n\\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract \\n    /// behaviour while using its own EVM storage.\\n    /// @dev This function uses the CREATE2 opcode and a `_salt` to deterministically deploy\\n    /// @dev the clone. Using the same `_salt` multiple times will revert, since\\n    /// @dev no contract can be deployed more than once at the same address.\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1167.\\n    /// @dev See https://blog.openzeppelin.com/deep-dive-into-the-minimal-proxy-contract/.\\n    function cloneDeterministic(bytes32 _salt)\\n        public virtual\\n        returns (Clonable _instance)\\n    {\\n        address _self = self;\\n        assembly {\\n            // ptr to free mem:\\n            let ptr := mload(0x40)\\n            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)\\n            // make minimal proxy delegate all calls to `self()`:\\n            mstore(add(ptr, 0x14), shl(0x60, _self))\\n            // end minimal proxy construction bytecode:\\n            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)\\n            // CREATE2 new instance:\\n            _instance := create2(0, ptr, 0x37, _salt)\\n        }\\n        require(address(_instance) != address(0), \\\"Clonable: CREATE2 failed\\\");\\n        emit Cloned(msg.sender, Clonable(self), _instance);\\n    }\\n}\\n\",\"keccak256\":\"0xbb8cfcfc7f44e289bd3dff357e1bb3da5809b2a39b58b7805aa3bfc1ec47ff2d\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Context.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity ^0.8.0;\\n\\n/// @dev Provides information about the current execution context, including the\\n/// sender of the transaction and its data. While these are generally available\\n/// via msg.sender and msg.data, they should not be accessed in such a direct\\n/// manner, since when dealing with meta-transactions the account sending and\\n/// paying for execution may not be the actual sender (as far as an application\\n/// is concerned).\\nabstract contract Context {\\n    function _msgSender() internal view virtual returns (address) {\\n        return msg.sender;\\n    }\\n\\n    function _msgData() internal view virtual returns (bytes calldata) {\\n        return msg.data;\\n    }\\n\\n    function _msgValue() internal view virtual returns (uint256) {\\n        return msg.value;\\n    }\\n}\\n\",\"keccak256\":\"0x1a17c0fd9fcd98aa49c5c428a415634b9db839e560f20da81f7c223a18ad12fc\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Initializable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Initializable {\\n    /// @dev Initialize contract's storage context.\\n    function initialize(bytes calldata) external;\\n}\\n\",\"keccak256\":\"0x17c2e66648596deb4f71dbaaa4b95293c99536431e7697f3b69d205a09796f0e\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Ownable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.3.2 (access/Ownable.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"./Context.sol\\\";\\n\\n/// @dev Contract module which provides a basic access control mechanism, where\\n/// there is an account (an owner) that can be granted exclusive access to\\n/// specific functions.\\n///\\n/// By default, the owner account will be the one that deploys the contract. This\\n/// can later be changed with {transferOwnership}.\\n///\\n/// This module is used through inheritance. It will make available the modifier\\n/// `onlyOwner`, which can be applied to your functions to restrict their use to\\n/// the owner.\\n\\nabstract contract Ownable is Context {\\n    address private _owner;\\n\\n    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\\n\\n    /// @dev Initializes the contract setting the deployer as the initial owner.\\n    constructor() {\\n        _transferOwnership(_msgSender());\\n    }\\n\\n    /// @dev Returns the address of the current owner.\\n    function owner() public view virtual returns (address) {\\n        return _owner;\\n    }\\n\\n    /// @dev Throws if called by any account other than the owner.\\n    modifier onlyOwner() {\\n        require(owner() == _msgSender(), \\\"Ownable: caller is not the owner\\\");\\n        _;\\n    }\\n\\n    /// @dev Leaves the contract without owner. It will not be possible to call\\n    /// `onlyOwner` functions anymore. Can only be called by the current owner.\\n    /// NOTE: Renouncing ownership will leave the contract without an owner,\\n    /// thereby removing any functionality that is only available to the owner.\\n    function renounceOwnership() public virtual onlyOwner {\\n        _transferOwnership(address(0));\\n    }\\n\\n    /// @dev Transfers ownership of the contract to a new account (`newOwner`).\\n    /// Can only be called by the current owner.\\n    function transferOwnership(address newOwner) public virtual onlyOwner {\\n        require(newOwner != address(0), \\\"Ownable: new owner is the zero address\\\");\\n        _transferOwnership(newOwner);\\n    }\\n\\n    /// @dev Transfers ownership of the contract to a new account (`newOwner`).\\n    /// Internal function without access restriction.\\n    function _transferOwnership(address newOwner) internal virtual {\\n        address oldOwner = _owner;\\n        _owner = newOwner;\\n        emit OwnershipTransferred(oldOwner, newOwner);\\n    }\\n}\",\"keccak256\":\"0xb8ce9f1e03440d40dbb9898c5ec2cfad520ccd3a5c76176058c44f5033c656a2\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/patterns/Proxiable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.6.0 <0.9.0;\\n\\ninterface Proxiable {\\n    /// @dev Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1822.\\n    function proxiableUUID() external pure returns (bytes32);\\n}\\n\",\"keccak256\":\"0x3ed71dc147c30cd8aa1ca248a045217b6ea513bae96c4c76d66496af4b8d6ff1\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/requests/WitnetRequestMalleableBase.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"../libs/Witnet.sol\\\";\\nimport \\\"../patterns/Clonable.sol\\\";\\nimport \\\"../patterns/Ownable.sol\\\";\\nimport \\\"../patterns/Proxiable.sol\\\";\\n\\nabstract contract WitnetRequestMalleableBase\\n    is\\n        IWitnetRequest,\\n        Clonable,\\n        Ownable,\\n        Proxiable\\n{   \\n    using Witnet for *;\\n\\n    event WitnessingParamsChanged(\\n        address indexed by,\\n        uint8 numWitnesses,\\n        uint8 minWitnessingConsensus,\\n        uint64 witnssingCollateral,\\n        uint64 witnessingReward,\\n        uint64 witnessingUnitaryFee\\n    );\\n\\n    struct WitnetRequestMalleableBaseContext {\\n        /// Contract owner address.\\n        address owner;\\n        /// Immutable bytecode template.\\n        bytes template;\\n        /// Current request bytecode.\\n        bytes bytecode;\\n        /// Current request hash.\\n        bytes32 hash;\\n        /// Current request witnessing params.\\n        WitnetRequestWitnessingParams params;\\n    }\\n\\n    struct WitnetRequestWitnessingParams {\\n        /// Number of witnesses required to be involved for solving this Witnet Data Request.\\n        uint8 numWitnesses;\\n\\n        /// Threshold percentage for aborting resolution of a request if the witnessing nodes did not arrive to a broad consensus.\\n        uint8 minWitnessingConsensus;\\n\\n        /// Amount of nanowits that a witness solving the request will be required to collateralize in the commitment transaction.\\n        uint64 witnessingCollateral;\\n\\n        /// Amount of nanowits that every request-solving witness will be rewarded with.\\n        uint64 witnessingReward;\\n\\n        /// Amount of nanowits that will be earned by Witnet miners for each each valid commit/reveal transaction they include in a block.\\n        uint64 witnessingUnitaryFee;\\n    }\\n\\n    /// Returns current Witnet Data Request bytecode, encoded using Protocol Buffers.\\n    function bytecode() external view override returns (bytes memory) {\\n        return _request().bytecode;\\n    }\\n\\n    /// Returns SHA256 hash of current Witnet Data Request bytecode.\\n    function hash() external view override returns (bytes32) {\\n        return _request().hash;\\n    }\\n\\n    /// Sets amount of nanowits that a witness solving the request will be required to collateralize in the commitment transaction.\\n    function setWitnessingCollateral(uint64 _witnessingCollateral)\\n        public\\n        virtual\\n        onlyOwner\\n    {\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        _params.witnessingCollateral = _witnessingCollateral;\\n        _malleateBytecode(\\n            _params.numWitnesses,\\n            _params.minWitnessingConsensus,\\n            _witnessingCollateral,\\n            _params.witnessingReward,\\n            _params.witnessingUnitaryFee\\n        );\\n    }\\n\\n    /// Specifies how much you want to pay for rewarding each of the Witnet nodes.\\n    /// @param _witnessingReward Amount of nanowits that every request-solving witness will be rewarded with.\\n    /// @param _witnessingUnitaryFee Amount of nanowits that will be earned by Witnet miners for each each valid \\n    /// commit/reveal transaction they include in a block.\\n    function setWitnessingFees(uint64 _witnessingReward, uint64 _witnessingUnitaryFee)\\n        public\\n        virtual\\n        onlyOwner\\n    {\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        _params.witnessingReward = _witnessingReward;\\n        _params.witnessingUnitaryFee = _witnessingUnitaryFee;\\n        _malleateBytecode(\\n            _params.numWitnesses,\\n            _params.minWitnessingConsensus,\\n            _params.witnessingCollateral,\\n            _witnessingReward,\\n            _witnessingUnitaryFee\\n        );\\n    }\\n\\n    /// Sets how many Witnet nodes will be \\\"hired\\\" for resolving the request.\\n    /// @param _numWitnesses Number of witnesses required to be involved for solving this Witnet Data Request.\\n    /// @param _minWitnessingConsensus Threshold percentage for aborting resolution of a request if the witnessing \\n    /// nodes did not arrive to a broad consensus.\\n    function setWitnessingQuorum(uint8 _numWitnesses, uint8 _minWitnessingConsensus)\\n        public\\n        virtual\\n        onlyOwner\\n    {\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        _params.numWitnesses = _numWitnesses;\\n        _params.minWitnessingConsensus = _minWitnessingConsensus;\\n        _malleateBytecode(\\n            _numWitnesses,\\n            _minWitnessingConsensus,\\n            _params.witnessingCollateral,\\n            _params.witnessingReward,\\n            _params.witnessingUnitaryFee\\n        );\\n    }\\n\\n    /// Returns immutable template bytecode: actual CBOR-encoded data request at the Witnet protocol\\n    /// level, including no witnessing parameters at all.\\n    function template()\\n        external view\\n        returns (bytes memory)\\n    {\\n        return _request().template;\\n    }\\n\\n    /// Returns total amount of nanowits that witnessing nodes will need to collateralize all together.\\n    function totalWitnessingCollateral()\\n        external view\\n        returns (uint128)\\n    {\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        return _params.numWitnesses * _params.witnessingCollateral;\\n    }\\n\\n    /// Returns total amount of nanowits that will have to be paid in total for this request to be solved.\\n    function totalWitnessingFee()\\n        external view\\n        returns (uint128)\\n    {\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        return _params.numWitnesses * (2 * _params.witnessingUnitaryFee + _params.witnessingReward);\\n    }\\n\\n    /// Returns witnessing parameters of current Witnet Data Request.\\n    function witnessingParams()\\n        external view\\n        returns (WitnetRequestWitnessingParams memory)\\n    {\\n        return _request().params;\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- 'Clonable' overriden functions -----------------------------------------------------------------------------\\n\\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract\\n    /// behaviour while using its own EVM storage.\\n    /// @dev This function should always provide a new address, no matter how many times \\n    /// @dev is actually called from the same `msg.sender`.\\n    function clone()\\n        public\\n        virtual override\\n        returns (Clonable _instance)\\n    {\\n        _instance = super.clone();\\n        _instance.initialize(_request().template);\\n        Ownable(address(_instance)).transferOwnership(msg.sender);\\n    }\\n\\n    /// Deploys and returns the address of a minimal proxy clone that replicates contract \\n    /// behaviour while using its own EVM storage.\\n    /// @dev This function uses the CREATE2 opcode and a `_salt` to deterministically deploy\\n    /// @dev the clone. Using the same `_salt` multiple time will revert, since\\n    /// @dev no contract can be deployed more than once at the same address.\\n    function cloneDeterministic(bytes32 _salt)\\n        public\\n        virtual override\\n        returns (Clonable _instance)\\n    {\\n        _instance = super.cloneDeterministic(_salt);\\n        _instance.initialize(_request().template);\\n        Ownable(address(_instance)).transferOwnership(msg.sender);\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- 'Initializable' overriden functions ------------------------------------------------------------------------\\n\\n    /// @dev Initializes contract's storage context.\\n    function initialize(bytes memory _template)\\n        public\\n        virtual override\\n    {\\n        require(_request().template.length == 0, \\\"WitnetRequestMalleableBase: already initialized\\\");\\n        _initialize(_template);\\n        _transferOwnership(_msgSender());\\n    }\\n\\n    // ================================================================================================================\\n    // --- 'Ownable' overriden functions ------------------------------------------------------------------------------\\n\\n    /// Returns the address of the current owner.\\n    function owner()\\n        public view\\n        virtual override\\n        returns (address)\\n    {\\n        return _request().owner;\\n    }\\n\\n    /// @dev Transfers ownership of the contract to a new account (`newOwner`).\\n    function _transferOwnership(address newOwner)\\n        internal\\n        virtual override\\n    {\\n        address oldOwner = _request().owner;\\n        _request().owner = newOwner;\\n        emit OwnershipTransferred(oldOwner, newOwner);\\n    }\\n\\n    // ================================================================================================================\\n    // --- 'Proxiable 'overriden functions ----------------------------------------------------------------------------\\n\\n    /// @dev Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)\\n    /// @dev See https://eips.ethereum.org/EIPS/eip-1822.\\n    function proxiableUUID()\\n        external pure\\n        virtual override\\n        returns (bytes32)\\n    {\\n        return (\\n            /* keccak256(\\\"io.witnet.requests.malleable\\\") */\\n            0x851d0a92a3ad30295bef33afc69d6874779826b7789386b336e22621365ed2c2\\n        );\\n    }\\n\\n\\n    // ================================================================================================================\\n    // --- INTERNAL FUNCTIONS -----------------------------------------------------------------------------------------    \\n\\n    /// @dev Initializes witnessing params and template bytecode.\\n    function _initialize(bytes memory _template)\\n        internal\\n    {\\n        assert(_template.length > 0);\\n        _request().template = _template;\\n\\n        WitnetRequestWitnessingParams storage _params = _request().params;\\n        _params.numWitnesses = 2;\\n        _params.minWitnessingConsensus = 51;\\n        _params.witnessingCollateral = 10 ** 9;      // 1 WIT\\n        _params.witnessingReward = 5 * 10 ** 5;      // 0.5 milliWITs\\n        _params.witnessingUnitaryFee = 25 * 10 ** 4; // 0.25 milliWITs\\n        \\n        _malleateBytecode(\\n            _params.numWitnesses,\\n            _params.minWitnessingConsensus,\\n            _params.witnessingCollateral,\\n            _params.witnessingReward,\\n            _params.witnessingUnitaryFee\\n        );\\n    }\\n\\n    /// @dev Serializes new `bytecode` by combining immutable template with given parameters.\\n    function _malleateBytecode(\\n            uint8 _numWitnesses,\\n            uint8 _minWitnessingConsensus,\\n            uint64 _witnessingCollateral,\\n            uint64 _witnessingReward,\\n            uint64 _witnessingUnitaryFee\\n        )\\n        internal\\n        virtual\\n    {\\n        require(\\n            _witnessingReward > 0,\\n            \\\"WitnetRequestMalleableBase: no reward\\\"\\n        );\\n        require(\\n            _numWitnesses >= 1 && _numWitnesses <= 127,\\n            \\\"WitnetRequestMalleableBase: number of witnesses out of range\\\"\\n        );\\n        require(\\n            _minWitnessingConsensus >= 51 && _minWitnessingConsensus <= 99,\\n            \\\"WitnetRequestMalleableBase: witnessing consensus out of range\\\"\\n        );\\n        require(\\n            _witnessingCollateral >= 10 ** 9,\\n            \\\"WitnetRequestMalleableBase: witnessing collateral below 1 WIT\\\"\\n        );\\n\\n        _request().bytecode = abi.encodePacked(\\n            _request().template,\\n            _uint64varint(bytes1(0x10), _witnessingReward),\\n            _uint8varint(bytes1(0x18), _numWitnesses),\\n            _uint64varint(0x20, _witnessingUnitaryFee),\\n            _uint8varint(0x28, _minWitnessingConsensus),\\n            _uint64varint(0x30, _witnessingCollateral)\\n        );\\n        _request().hash = _request().bytecode.hash();\\n        emit WitnessingParamsChanged(\\n            msg.sender,\\n            _numWitnesses,\\n            _minWitnessingConsensus,\\n            _witnessingCollateral,\\n            _witnessingReward,\\n            _witnessingUnitaryFee\\n        );\\n    }\\n\\n    /// @dev Returns pointer to storage slot where State struct is located.\\n    function _request()\\n        internal pure\\n        virtual\\n        returns (WitnetRequestMalleableBaseContext storage _ptr)\\n    {\\n        assembly {\\n            _ptr.slot :=\\n                /* keccak256(\\\"io.witnet.requests.malleable.context\\\") */\\n                0x375930152e1d0d102998be6e496b0cee86c9ecd0efef01014ecff169b17dfba7\\n        }\\n    }\\n\\n    /// @dev Encode uint64 into tagged varint.\\n    /// @dev See https://developers.google.com/protocol-buffers/docs/encoding#varints.\\n    /// @param t Tag\\n    /// @param n Number\\n    /// @return Marshaled bytes\\n    function _uint64varint(bytes1 t, uint64 n)\\n        internal pure\\n        returns (bytes memory)\\n    {\\n        // Count the number of groups of 7 bits\\n        // We need this pre-processing step since Solidity doesn't allow dynamic memory resizing\\n        uint64 tmp = n;\\n        uint64 numBytes = 2;\\n        while (tmp > 0x7F) {\\n            tmp = tmp >> 7;\\n            numBytes += 1;\\n        }\\n        bytes memory buf = new bytes(numBytes);\\n        tmp = n;\\n        buf[0] = t;\\n        for (uint64 i = 1; i < numBytes; i++) {\\n            // Set the first bit in the byte for each group of 7 bits\\n            buf[i] = bytes1(0x80 | uint8(tmp & 0x7F));\\n            tmp = tmp >> 7;\\n        }\\n        // Unset the first bit of the last byte\\n        buf[numBytes - 1] &= 0x7F;\\n        return buf;\\n    }\\n\\n    /// @dev Encode uint8 into tagged varint.\\n    /// @param t Tag\\n    /// @param n Number\\n    /// @return Marshaled bytes\\n    function _uint8varint(bytes1 t, uint8 n)\\n        internal pure\\n        returns (bytes memory)\\n    {\\n        return _uint64varint(t, uint64(n));\\n    }\\n}\\n\",\"keccak256\":\"0x53d0d402776e310c678643ed6b07d4f73511de9d1fa73732abf4251d69755b22\",\"license\":\"MIT\"},\"witnet-solidity-bridge/contracts/requests/WitnetRequestRandomness.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity >=0.7.0 <0.9.0;\\n\\nimport \\\"./WitnetRequestMalleableBase.sol\\\";\\n\\ncontract WitnetRequestRandomness is WitnetRequestMalleableBase {\\n    bytes internal constant _WITNET_RANDOMNESS_BYTECODE_TEMPLATE = hex\\\"0a0f120508021a01801a0210022202100b\\\";\\n\\n    constructor() {\\n        initialize(bytes(\\\"\\\"));\\n    }\\n\\n    function initialize(bytes memory)\\n        public\\n        virtual override\\n    {\\n        super.initialize(_WITNET_RANDOMNESS_BYTECODE_TEMPLATE);\\n    }\\n}\\n\",\"keccak256\":\"0xc3b4a7d0dc396fb83b71beeae2a6d7de86b300919f894fcae73b7680829d716f\",\"license\":\"MIT\"}},\"version\":1}","storageLayout":{"storage":[{"astId":11684,"contract":"witnet-solidity-bridge/contracts/requests/WitnetRequestRandomness.sol:WitnetRequestRandomness","label":"_owner","offset":0,"slot":"0","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"}}},"userdoc":{"kind":"user","methods":{"bytecode()":{"notice":"Returns current Witnet Data Request bytecode, encoded using Protocol Buffers."},"clone()":{"notice":"Deploys and returns the address of a minimal proxy clone that replicates contract behaviour while using its own EVM storage."},"cloneDeterministic(bytes32)":{"notice":"Deploys and returns the address of a minimal proxy clone that replicates contract  behaviour while using its own EVM storage."},"cloned()":{"notice":"Tells whether this contract is a clone of another (i.e. `self()`)"},"hash()":{"notice":"Returns SHA256 hash of current Witnet Data Request bytecode."},"owner()":{"notice":"Returns the address of the current owner."},"self()":{"notice":"Immutable contract address that actually attends all calls to this contract."},"setWitnessingCollateral(uint64)":{"notice":"Sets amount of nanowits that a witness solving the request will be required to collateralize in the commitment transaction."},"setWitnessingFees(uint64,uint64)":{"notice":"Specifies how much you want to pay for rewarding each of the Witnet nodes."},"setWitnessingQuorum(uint8,uint8)":{"notice":"Sets how many Witnet nodes will be \"hired\" for resolving the request."},"template()":{"notice":"Returns immutable template bytecode: actual CBOR-encoded data request at the Witnet protocol level, including no witnessing parameters at all."},"totalWitnessingCollateral()":{"notice":"Returns total amount of nanowits that witnessing nodes will need to collateralize all together."},"totalWitnessingFee()":{"notice":"Returns total amount of nanowits that will have to be paid in total for this request to be solved."},"witnessingParams()":{"notice":"Returns witnessing parameters of current Witnet Data Request."}},"version":1}}}}}}